@charset "UTF-8";
/* トップページCSS統合済み：追加ファイルの読み込みは不要です */
/* =========================================================
   Growlize トップページ / EASEL「追加CSS」用
   すべて .growlize-page または gl- 接頭辞でスコープしています。
   ========================================================= */

/* Google Fontsを使う場合は次の1行を有効化（任意） */
/* @import url('https://fonts.googleapis.com/css2?family=Inter:wght@500;600;700;800&family=Noto+Sans+JP:wght@400;500;600;700;800&display=swap'); */

:root { --gl-navy:#0c2855; --gl-dark:#071d40; --gl-green:#12b878; --gl-green-dark:#079a61; --gl-blue:#185fbd; --gl-pale:#f2f7fd; --gl-gray:#f6f8fb; --gl-white:#fff; --gl-line:#dce6f2; --gl-shadow:0 10px 30px rgba(7,29,64,.09); }

/* EASELの本文幅・余白をトップページだけ解除。body.home が異なる場合はページ固有body classへ変更 */
body.home .entry-title, body.home .page-title, body.home .breadcrumb, body.home .breadcrumbs { display:none !important; }
body.home #primary, body.home .site-main, body.home .entry-content, body.home .post-content { width:100% !important; max-width:none !important; margin:0 !important; padding:0 !important; }
body.home #secondary, body.home .sidebar { display:none !important; }
body.home .content-area { width:100% !important; max-width:none !important; margin:0 !important; }

.growlize-page, .growlize-page * { box-sizing:border-box; }
.growlize-page { width:100%; max-width:100%; overflow:hidden; color:var(--gl-dark); background:#fff; font-family:"Inter","Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif; font-size:16px; line-height:1.75; }
.growlize-page :where(h1,h2,h3,p,ul,ol) { margin-top:0; }
.growlize-page a { text-decoration:none; }
.gl-container { width:min(1180px, calc(100% - 48px)); margin-inline:auto; }
.gl-section { padding:84px 0; }
.gl-section__header { margin:0 0 38px; text-align:center; }
.gl-section__header > p { margin:0 0 5px; color:var(--gl-green-dark); font-size:12px; font-weight:800; letter-spacing:.16em; }
.gl-section__header h2 { margin:0; color:var(--gl-navy); font-size:clamp(27px,3vw,38px); line-height:1.4; font-weight:800; }
.gl-section__header h2::after { content:""; display:block; width:50px; height:3px; margin:12px auto 0; border-radius:3px; background:var(--gl-green); }

/* 共通ボタン */
.gl-actions { display:flex; gap:16px; margin-top:30px; }
.gl-button { display:inline-flex; min-height:52px; padding:12px 28px; align-items:center; justify-content:center; gap:13px; border:1px solid transparent; border-radius:10px; font-weight:700; line-height:1.2; transition:transform .2s, box-shadow .2s, background .2s; }
.gl-button:hover { transform:translateY(-2px); }
.gl-button--primary { color:#fff !important; background:linear-gradient(135deg,var(--gl-green),var(--gl-green-dark)); box-shadow:0 8px 20px rgba(18,184,120,.24); }
.gl-button--outline { color:var(--gl-navy) !important; border-color:var(--gl-navy); background:#fff; }

/* ヒーロー */
.gl-hero { position:relative; padding:70px 0 68px; background:radial-gradient(circle at 80% 30%,rgba(24,95,189,.12),transparent 37%),linear-gradient(115deg,#fff 0%,#f5f9fd 68%,#eef6fb 100%); }
.gl-hero::after { content:""; position:absolute; right:-80px; top:-120px; width:370px; height:370px; border-radius:50%; background:rgba(18,184,120,.08); filter:blur(8px); }
.gl-hero__inner { position:relative; z-index:1; display:grid; grid-template-columns:.82fr 1.18fr; gap:50px; align-items:center; }
.gl-eyebrow { display:inline-flex; margin-bottom:18px; padding:7px 13px; border-radius:999px; color:var(--gl-blue); background:#e8f1fc; font-size:13px; font-weight:700; }
.gl-hero h1 { margin:0 0 22px; color:var(--gl-navy); font-size:clamp(43px,5vw,67px); line-height:1.25; letter-spacing:.01em; font-weight:800; }
.gl-hero h1 span { color:var(--gl-green-dark); }
.gl-hero__lead { margin-bottom:18px; color:var(--gl-navy); font-size:clamp(20px,2vw,25px); line-height:1.55; font-weight:700; }
.gl-hero__text { max-width:560px; margin-bottom:0; color:#40516b; }

/* AI画面モックアップ */
.gl-app { min-width:0; overflow:hidden; border:8px solid #10233d; border-radius:18px; background:#fff; box-shadow:0 25px 55px rgba(7,29,64,.2); transform:perspective(1300px) rotateY(-3deg) rotateX(1deg); }
.gl-app__bar { display:flex; align-items:center; gap:8px; height:34px; padding:0 13px; color:#fff; background:#10233d; font-size:10px; }
.gl-app__bar small { margin-left:auto; opacity:.65; letter-spacing:.08em; }
.gl-app__dot { width:8px; height:8px; border-radius:50%; background:var(--gl-green); box-shadow:14px 0 #ffca55,28px 0 #ff7e79; margin-right:26px; }
.gl-app__body { min-height:390px; background:#f5f8fc; }
.gl-app__hero { display:flex; min-height:78px; padding:14px 20px; align-items:center; justify-content:space-between; gap:15px; color:#fff; background:linear-gradient(120deg,#0c2855,#185fbd); }
.gl-app__hero > div { min-width:0; }
.gl-app__hero > div small { display:block; margin-bottom:2px; color:#8fd8ff; font-size:7px; font-weight:800; letter-spacing:.12em; }
.gl-app__hero > div strong { display:block; font-size:18px; }
.gl-app__hero > div p { margin:2px 0 0; font-size:7px; opacity:.85; }
.gl-app__hero > span { flex:0 0 auto; min-width:82px; padding:7px 10px; border:1px solid rgba(255,255,255,.25); border-radius:9px; background:rgba(255,255,255,.12); text-align:center; }
.gl-app__hero > span small { display:block; font-size:7px; }
.gl-app__hero > span b { display:block; font:800 19px/1 Inter,sans-serif; }
.gl-app__hero > span em { margin-left:2px; font-size:8px; font-style:normal; }
.gl-app__nav { display:grid; grid-template-columns:repeat(4,1fr); gap:4px; padding:7px 12px; border-bottom:1px solid #dce5ef; background:#fff; color:#596a80; font-size:7px; font-weight:700; }
.gl-app__nav span { padding:6px 3px; border-radius:6px; text-align:center; white-space:nowrap; }
.gl-app__nav .is-active { color:#087b50; background:#ecfaf5; }
.gl-app__main { min-width:0; padding:12px; background:#f5f8fc; }
.gl-app__heading { display:flex; justify-content:space-between; align-items:end; margin-bottom:15px; }
.gl-app__heading div { display:flex; flex-direction:column; }
.gl-app__heading small { color:#718096; font-size:9px; }
.gl-app__heading strong { color:var(--gl-navy); font-size:20px; }
.gl-app__heading > span { color:var(--gl-blue); font-size:9px; font-weight:700; }
.gl-app__columns { display:grid; grid-template-columns:1.05fr .95fr; gap:12px; }
.gl-app__form, .gl-app__result { min-width:0; padding:14px; border:1px solid #d9e4f1; border-radius:10px; background:#fff; box-shadow:0 5px 15px rgba(7,29,64,.05); }
.gl-app__card-head { display:flex; margin-bottom:10px; align-items:center; justify-content:space-between; gap:6px; }
.gl-app__card-head span { display:block; }
.gl-app__card-head small { display:block; color:var(--gl-blue); font-size:6px; font-weight:800; letter-spacing:.1em; }
.gl-app__card-head strong { display:block; margin:1px 0 0; color:var(--gl-navy); font-size:10px; }
.gl-app__card-head em { color:#718096; font-size:6px; font-style:normal; }
.gl-app__form-row { display:grid; grid-template-columns:1fr 1fr; gap:6px; }
.gl-app__form label { display:block; margin-bottom:9px; color:#34445e; font-size:9px; font-weight:700; }
.gl-app__form label span { display:block; overflow:hidden; min-height:27px; margin-top:3px; padding:6px 8px; border:1px solid #dce5ef; border-radius:5px; color:#66748a; background:#f9fbfd; font-weight:500; white-space:nowrap; text-overflow:ellipsis; }
.gl-app__form label .gl-app__textarea { height:53px; white-space:normal; }
.gl-app__form b { display:flex; padding:9px; align-items:center; justify-content:center; gap:14px; border-radius:7px; color:#fff; background:linear-gradient(90deg,var(--gl-blue),#2378dc); text-align:center; font-size:9px; }
.gl-app__form b i { font-style:normal; }
.gl-app__result small { color:var(--gl-green-dark); font-size:9px; font-weight:700; }
.gl-app__result > strong { display:block; margin:7px 0 12px; color:var(--gl-navy); font-size:9px; line-height:1.4; }
.gl-app__result p { margin-bottom:10px; color:#68758a; font-size:9px; line-height:1.65; }
.gl-app__result span { display:block; margin-top:25px; padding:7px; border:1px solid #b8c9de; border-radius:5px; color:var(--gl-blue); text-align:center; font-size:9px; font-weight:700; }

/* メリット */
.gl-benefits { position:relative; z-index:2; border-top:1px solid #e6edf5; border-bottom:1px solid #e6edf5; background:#fff; }
.gl-benefits__grid { display:grid; grid-template-columns:repeat(4,1fr); }
.gl-benefits__grid > div { display:flex; min-height:112px; align-items:center; justify-content:center; gap:14px; }
.gl-benefits__grid > div + div { border-left:1px solid var(--gl-line); }
.gl-benefits i { display:grid; width:50px; height:50px; place-items:center; border:2px solid var(--gl-blue); border-radius:50%; color:var(--gl-blue); font-size:20px; font-style:normal; font-weight:800; }
.gl-benefits p { display:flex; flex-direction:column; margin:0; }
.gl-benefits strong { color:var(--gl-navy); font-size:16px; }
.gl-benefits span { color:#67748a; font-size:12px; }

/* お悩み */
.gl-problems { background:linear-gradient(180deg,var(--gl-pale),#f9fbfe); }
.gl-problems__grid { display:grid; grid-template-columns:repeat(5,1fr); gap:14px; margin:0; padding:0; list-style:none; }
.gl-problems__grid li { position:relative; display:grid; min-height:105px; padding:25px 12px 18px; place-items:center; border:1px solid var(--gl-line); border-radius:10px; color:var(--gl-navy); background:#fff; box-shadow:0 6px 20px rgba(7,29,64,.06); text-align:center; font-size:14px; font-weight:700; line-height:1.6; }
.gl-problems__grid li::before { content:"✓"; position:absolute; top:-13px; left:calc(50% - 13px); display:grid; width:26px; height:26px; place-items:center; border-radius:50%; color:#fff; background:var(--gl-blue); font-size:13px; }
.gl-problems__message { margin:30px auto 0; text-align:center; color:#455670; }
.gl-problems__message strong { color:var(--gl-navy); }

/* 機能カード */
.gl-features { display:grid; grid-template-columns:repeat(5,1fr); gap:16px; }
.gl-feature-card { display:flex; min-width:0; min-height:310px; padding:26px 20px 20px; flex-direction:column; align-items:center; border:1px solid var(--gl-line); border-radius:12px; background:#fff; box-shadow:var(--gl-shadow); text-align:center; }
.gl-feature-card i { display:grid; width:58px; height:58px; place-items:center; border-radius:50%; color:var(--gl-blue); background:#eaf2fc; font-size:26px; font-style:normal; }
.gl-feature-card h3 { margin:15px 0 10px; color:var(--gl-navy); font-size:18px; }
.gl-feature-card p { margin-bottom:18px; color:#52627a; font-size:14px; line-height:1.7; }
.gl-feature-card a { margin-top:auto; color:var(--gl-blue); font-size:13px; font-weight:700; }

/* 選ばれる理由 */
.gl-reasons { background:var(--gl-pale); }
.gl-reasons__grid { display:grid; grid-template-columns:repeat(4,1fr); gap:30px; }
.gl-reasons__grid article { text-align:center; }
.gl-reasons__grid i { display:grid; width:58px; height:58px; margin:0 auto 15px; place-items:center; color:var(--gl-blue); border:2px solid #9ebfe7; border-radius:16px; font-style:normal; font-weight:800; }
.gl-reasons__grid h3 { margin-bottom:8px; color:var(--gl-navy); font-size:17px; }
.gl-reasons__grid p { margin-bottom:0; color:#4f6078; font-size:14px; }

/* 利用フロー */
.gl-flow { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin:0; padding:0; list-style:none; counter-reset:flow; }
.gl-flow li { position:relative; min-height:180px; padding:26px 20px; border:1px solid var(--gl-line); border-radius:12px; background:#fff; box-shadow:var(--gl-shadow); text-align:center; }
.gl-flow li:not(:last-child)::after { content:"›"; position:absolute; z-index:2; top:65px; right:-17px; display:grid; width:34px; height:34px; place-items:center; border-radius:50%; color:#fff; background:var(--gl-green); font-size:26px; }
.gl-flow span { color:var(--gl-green-dark); font-size:13px; font-weight:800; letter-spacing:.12em; }
.gl-flow h3 { margin:8px 0; color:var(--gl-navy); font-size:19px; }
.gl-flow p { margin:0; color:#5f6e83; font-size:14px; }

/* 料金・ブログ */
.gl-plan-blog { background:var(--gl-gray); }
.gl-plan-blog__grid { display:grid; grid-template-columns:1fr; gap:76px; }
.gl-plan__cards { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.gl-plan__cards article { position:relative; overflow:hidden; padding:22px; border:1px solid var(--gl-line); border-radius:12px; background:#fff; box-shadow:var(--gl-shadow); }
.gl-plan__cards article > span { color:#708097; font-size:11px; }
.gl-plan__cards h3 { margin:5px 0 14px; color:var(--gl-navy); font-size:20px; }
.gl-plan__cards ul { min-height:72px; margin:0 0 18px; padding:0; color:#46576f; font-size:13px; list-style:none; }
.gl-plan__cards li::before { content:"✓ "; color:var(--gl-green-dark); font-weight:800; }
.gl-plan__cards .gl-button { width:100%; min-height:42px; padding:9px 12px; font-size:13px; }
.gl-plan__cards .is-pick { border:2px solid var(--gl-green); }
.gl-plan__price { display:flex; margin:0 0 5px; align-items:baseline; gap:4px; color:var(--gl-navy); }
.gl-plan__price b { font-family:Inter,sans-serif; font-size:25px; line-height:1.2; letter-spacing:-.03em; }
.gl-plan__price small { color:#6e7d91; font-size:10px; font-weight:600; }
.gl-plan__points { margin:0 0 15px; color:var(--gl-green-dark); font-size:13px; font-weight:800; }
.gl-plan__badge { position:absolute; top:0; right:0; padding:5px 11px; border-radius:0 10px 0 10px; color:#fff; background:var(--gl-green); font-size:10px; letter-spacing:.06em; }
.gl-plan__soon { margin:0 0 12px; color:var(--gl-green-dark); font-size:18px; font-weight:800; }
.gl-plan > small { display:block; margin-top:12px; color:#77869a; font-size:10px; }
.gl-posts { display:grid; grid-template-columns:repeat(3,1fr); gap:13px; }
.gl-posts article { overflow:hidden; border:1px solid var(--gl-line); border-radius:10px; background:#fff; box-shadow:var(--gl-shadow); }
.gl-posts a { display:block; height:100%; color:inherit; }
.gl-posts__thumb { display:grid; height:110px; place-items:center; color:#fff; font-size:42px; }
.gl-posts__thumb--mail { background:linear-gradient(135deg,#3a79c8,#b9d5f4); }
.gl-posts__thumb--note { background:linear-gradient(135deg,#bb8e65,#eee0c9); }
.gl-posts__thumb--factory { background:linear-gradient(135deg,#294765,#8ba3b7); }
.gl-posts article div { padding:12px; }
.gl-posts small { color:var(--gl-blue); font-size:10px; font-weight:700; }
.gl-posts h3 { margin:5px 0 12px; color:var(--gl-navy); font-size:13px; line-height:1.55; }
.gl-posts article div > span { color:var(--gl-blue); font-size:11px; font-weight:700; }
.gl-blog__more { display:block; margin-top:18px; color:var(--gl-blue); text-align:right; font-size:13px; font-weight:700; }

/* 最終CTA */
.gl-final-cta { color:#fff; background:linear-gradient(115deg,#0d3674,var(--gl-dark)); }
.gl-final-cta__inner { display:grid; grid-template-columns:260px 1fr; gap:45px; min-height:300px; align-items:center; }
.gl-final-cta__mascot { align-self:end; height:240px; display:grid; place-items:end center; }
.gl-final-cta__mascot span { display:grid; width:150px; height:150px; place-items:center; border:10px solid rgba(255,255,255,.25); border-radius:42% 58% 52% 48%; color:#fff; background:var(--gl-green); font-size:62px; font-weight:800; transform:rotate(-7deg); }
.gl-final-cta__inner > div:last-child { padding:48px 0; }
.gl-final-cta__inner > div > p:first-child { margin:0 0 4px; color:#77e2b6; font-size:12px; font-weight:800; letter-spacing:.16em; }
.gl-final-cta h2 { margin:0 0 5px; color:#fff; font-size:35px; }
.gl-final-cta h3 { margin:0 0 12px; color:#fff; font-size:20px; }
.gl-final-cta p { color:#d8e5f8; }

/* タブレット 768〜1199px */
@media (max-width:1199px) {
  .gl-container { width:min(100% - 40px, 980px); }
  .gl-hero__inner { grid-template-columns:.9fr 1.1fr; gap:30px; }
  .gl-app { transform:none; }
  .gl-app__body { min-height:350px; }
  .gl-app__nav { padding-inline:8px; }
  .gl-app__nav span { overflow:hidden; text-overflow:ellipsis; }
  .gl-app__columns { grid-template-columns:1fr; }
  .gl-app__result { display:none; }
  .gl-benefits__grid { grid-template-columns:repeat(2,1fr); }
  .gl-benefits__grid > div:nth-child(3) { border-left:0; border-top:1px solid var(--gl-line); }
  .gl-benefits__grid > div:nth-child(4) { border-top:1px solid var(--gl-line); }
  .gl-problems__grid { grid-template-columns:repeat(3,1fr); row-gap:28px; }
  .gl-features { grid-template-columns:repeat(3,1fr); }
  .gl-feature-card { min-height:290px; }
  .gl-plan__cards { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .gl-plan-blog__grid { grid-template-columns:1fr; gap:70px; }
  .gl-plan-blog { background:var(--gl-gray); }
}

/* ログイン後のサービス選択画面 */
.member-service-select{margin-bottom:34px}
.member-service-select article{min-height:280px}
.member-account-links{display:flex;justify-content:center;gap:12px;margin-top:24px}
.member-account-links a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 20px;border:1px solid #ccd8e6;border-radius:10px;background:#fff;color:#0c2855;font-size:13px;font-weight:700;text-decoration:none}
.member-account-links a:hover{border-color:#12b878;color:#079a61}
@media(max-width:767px){.member-account-links{flex-direction:column}.member-account-links a{width:100%}}

/* PERMA AIツール間ナビゲーション */
.ai-tool-nav{position:sticky;top:0;z-index:20;border-bottom:1px solid #dce5ef;background:rgba(255,255,255,.96);box-shadow:0 8px 24px rgba(7,29,64,.06);backdrop-filter:blur(12px)}
.ai-tool-nav__inner{display:flex;min-height:74px;align-items:center;gap:28px}.ai-tool-nav__home{flex:0 0 auto;color:var(--gl-navy);font-size:12px;font-weight:800}.ai-tool-nav__links{display:grid;width:100%;grid-template-columns:repeat(4,1fr);gap:8px}.ai-tool-nav__links a{display:flex;min-height:48px;padding:8px 12px;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:10px;color:#52627a;font-size:12px;font-weight:700}.ai-tool-nav__links i{font-size:16px;font-style:normal}.ai-tool-nav__links a:hover{color:var(--gl-blue);background:#f1f6fc}.ai-tool-nav__links a.is-current{border-color:rgba(18,184,120,.25);color:#087b50;background:#ecfaf5}
@media(max-width:767px){.ai-tool-nav{position:static}.ai-tool-nav__inner{padding-top:14px;padding-bottom:14px;align-items:stretch;flex-direction:column;gap:10px}.ai-tool-nav__links{grid-template-columns:1fr 1fr}.ai-tool-nav__links a{min-height:44px;padding:7px 5px;font-size:10px}.ai-tool-nav__home{padding-left:3px}}

/* スマートフォン 767px以下（390px前後を含む） */
@media (max-width:767px) {
  .growlize-page { font-size:15px; overflow-x:hidden; }
  .gl-container { width:calc(100% - 32px); }
  .gl-section { padding:60px 0; }
  .gl-section__header { margin-bottom:30px; }
  .gl-section__header h2 { font-size:26px; }
  .gl-hero { padding:48px 0 45px; }
  .gl-hero__inner { display:flex; flex-direction:column; gap:40px; }
  .gl-hero__copy { width:100%; }
  .gl-eyebrow { font-size:11px; }
  .gl-hero h1 { font-size:42px; }
  .gl-hero__lead { font-size:19px; }
  .gl-actions { flex-direction:column; gap:11px; }
  .gl-button { width:100%; }
  .gl-app { width:100%; border-width:5px; border-radius:13px; }
  .gl-app__bar { height:28px; }
  .gl-app__bar small { display:none; }
  .gl-app__body { min-height:335px; }
  .gl-app__hero { min-height:70px; padding:11px 12px; }
  .gl-app__hero > div p { display:none; }
  .gl-app__nav { gap:3px; padding:6px; font-size:6px; }
  .gl-app__nav span { padding:7px 2px; }
  .gl-app__main { padding:12px; }
  .gl-app__heading strong { font-size:16px; }
  .gl-app__heading > span { display:none; }
  .gl-app__form { padding:11px; }
  .gl-benefits__grid { grid-template-columns:1fr 1fr; }
  .gl-benefits__grid > div { min-height:120px; padding:13px 6px; flex-direction:column; gap:7px; text-align:center; }
  .gl-benefits__grid > div:nth-child(odd) { border-left:0; }
  .gl-benefits__grid > div:nth-child(even) { border-left:1px solid var(--gl-line); }
  .gl-benefits i { width:40px; height:40px; font-size:15px; }
  .gl-benefits strong { font-size:13px; }
  .gl-benefits span { font-size:10px; }
  .gl-problems__grid, .gl-features, .gl-reasons__grid, .gl-flow, .gl-plan__cards, .gl-posts { grid-template-columns:1fr; }
  .gl-problems__grid { gap:27px; }
  .gl-problems__grid li { min-height:82px; }
  .gl-problems__message br { display:none; }
  .gl-feature-card { min-height:auto; padding:24px 22px; }
  .gl-feature-card p { min-height:0; }
  .gl-reasons__grid { gap:34px; }
  .gl-flow { gap:16px; }
  .gl-flow li { min-height:130px; }
  .gl-flow li:not(:last-child)::after { content:"⌄"; top:auto; right:calc(50% - 15px); bottom:-15px; width:30px; height:30px; font-size:17px; }
  .gl-plan-blog__grid { gap:60px; }
  .gl-plan__cards article { padding:22px 18px; }
  .gl-posts article a { display:grid; grid-template-columns:112px 1fr; }
  .gl-posts__thumb { height:100%; min-height:140px; }
  .gl-final-cta__inner { display:flex; min-height:0; padding:58px 0; flex-direction:column-reverse; gap:25px; text-align:center; }
  .gl-final-cta__inner > div:last-child { padding:0; }
  .gl-final-cta h2 { font-size:30px; }
  .gl-final-cta__mascot { width:100%; height:105px; opacity:.7; }
  .gl-final-cta__mascot span { width:90px; height:90px; border-width:6px; font-size:38px; }
}

/* =========================================================
   Growlize トップページ v2
   営業担当者の商談後業務を中心にした親ブランド向けデザイン
   ========================================================= */
.gl-home-v2 { --gl2-ink:#0a2346; --gl2-muted:#586a82; --gl2-paper:#f4f7fa; background:#fff; }
.gl-home-v2 .gl2-kicker { margin:0 0 14px; color:var(--gl-green-dark); font:800 11px/1.4 Inter,sans-serif; letter-spacing:.18em; }
.gl-home-v2 .gl-section__header>span.gl2-section-lead { display:block; max-width:720px; margin:16px auto 0; color:var(--gl2-muted); font-size:15px; }
.gl2-hero { position:relative; overflow:hidden; padding:105px 0 90px; background:linear-gradient(125deg,#fff 0%,#f7f9fb 58%,#eef4f7 100%); }
.gl2-hero::before { content:""; position:absolute; top:-180px; right:-140px; width:560px; height:560px; border:1px solid rgba(12,40,85,.08); border-radius:50%; box-shadow:0 0 0 70px rgba(12,40,85,.025),0 0 0 140px rgba(18,184,120,.018); }
.gl2-hero__grid { position:relative; display:grid; grid-template-columns:minmax(0,.9fr) minmax(480px,1.1fr); gap:75px; align-items:center; }
.gl2-hero h1 { margin:0 0 25px; color:var(--gl2-ink); font-size:clamp(46px,5.2vw,70px); line-height:1.24; letter-spacing:-.055em; }
.gl2-hero h1 em { color:var(--gl-green-dark); font-style:normal; }
.gl2-hero__lead { margin:0 0 19px; color:var(--gl2-ink); font-size:clamp(20px,2vw,25px); font-weight:700; line-height:1.7; }
.gl2-hero__text { max-width:610px; margin:0; color:var(--gl2-muted); font-size:15px; line-height:2; }
.gl2-hero__notes { display:flex; flex-wrap:wrap; gap:10px 20px; margin:24px 0 0; padding:0; color:#68788c; list-style:none; font-size:11px; font-weight:700; }
.gl2-hero__notes li::before { content:""; display:inline-block; width:6px; height:6px; margin-right:8px; border-radius:50%; background:var(--gl-green); vertical-align:1px; }
.gl2-workboard { overflow:hidden; border:1px solid #d7e1ea; border-radius:22px; background:#fff; box-shadow:0 32px 80px rgba(7,29,64,.15); transform:rotate(1deg); }
.gl2-workboard__top { display:flex; height:54px; padding:0 20px; align-items:center; justify-content:space-between; border-bottom:1px solid #e3e9ef; background:#fbfcfd; }
.gl2-workboard__top>div { display:flex; align-items:center; gap:11px; color:var(--gl2-ink); font-size:12px; }
.gl2-workboard__top>div>span { width:9px; height:9px; border-radius:50%; background:var(--gl-green); box-shadow:15px 0 #dfe6ed,30px 0 #dfe6ed; margin-right:28px; }
.gl2-workboard__top small { color:#8290a1; font:700 8px Inter,sans-serif; letter-spacing:.14em; }
.gl2-workboard__body { padding:28px; background:#f5f7f9; }
.gl2-today { display:flex; margin-bottom:17px; align-items:end; justify-content:space-between; }
.gl2-today p { margin:0; }.gl2-today small{display:block;color:var(--gl-green-dark);font:800 8px Inter,sans-serif;letter-spacing:.15em}.gl2-today b{display:block;margin-top:2px;color:var(--gl2-ink);font-size:19px}.gl2-today>span{color:#7c8999;font-size:9px}
.gl2-task { display:grid; min-height:67px; margin-bottom:9px; padding:12px 14px; grid-template-columns:34px 1fr auto; gap:12px; align-items:center; border:1px solid #dee6ed; border-radius:11px; background:#fff; }
.gl2-task i { display:grid; width:32px; height:32px; place-items:center; border-radius:9px; color:#47617f; background:#edf2f6; font:700 9px Inter,sans-serif; font-style:normal; }
.gl2-task div { display:flex; min-width:0; flex-direction:column; }.gl2-task b{overflow:hidden;color:var(--gl2-ink);font-size:11px;white-space:nowrap;text-overflow:ellipsis}.gl2-task small{overflow:hidden;color:#8490a0;font-size:8px;white-space:nowrap;text-overflow:ellipsis}.gl2-task>span{padding:4px 8px;border-radius:20px;color:#41617f;background:#edf3f7;font-size:7px;font-weight:800}.gl2-task.is-done>span{color:#087b50;background:#e8f8f2}.gl2-task.is-done i{color:#087b50;background:#e8f8f2}
.gl2-workboard__services { display:grid; grid-template-columns:1fr 1fr; gap:9px; margin-top:17px; }
.gl2-workboard__services>div { display:flex; padding:13px; align-items:center; gap:11px; border:1px solid #dce4eb; border-radius:10px; background:#fff; }
.gl2-workboard__services>div>span { display:grid; width:30px; height:30px; place-items:center; border-radius:8px; color:#fff; background:var(--gl2-ink); font:800 13px Inter,sans-serif; }.gl2-workboard__services>div:last-child>span{background:var(--gl-green-dark)}
.gl2-workboard__services p { display:flex; margin:0; flex-direction:column; }.gl2-workboard__services b{color:var(--gl2-ink);font-size:10px}.gl2-workboard__services small{color:#8793a2;font-size:7px}
.gl2-outcomes { border-block:1px solid #e4e9ee; background:#fff; }
.gl2-outcomes>.gl-container { display:grid; grid-template-columns:repeat(4,1fr); }
.gl2-outcomes .gl-container>div { display:flex; min-height:112px; padding:18px; align-items:center; justify-content:center; flex-direction:column; text-align:center; }
.gl2-outcomes .gl-container>div+div { border-left:1px solid #e4e9ee; }.gl2-outcomes b{color:var(--gl2-ink);font-size:17px}.gl2-outcomes span{color:#788697;font-size:11px}
.gl2-empathy { background:#fff; }.gl2-empathy__grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:90px;align-items:center}.gl2-empathy h2{margin:0 0 24px;color:var(--gl2-ink);font-size:clamp(32px,3.5vw,46px);line-height:1.5;letter-spacing:-.04em}.gl2-empathy__grid>div>p:not(.gl2-kicker){margin:0 0 21px;color:var(--gl2-muted);line-height:2}.gl2-empathy__grid>div>strong{display:block;padding-left:16px;border-left:3px solid var(--gl-green);color:var(--gl2-ink);font-size:17px}.gl2-empathy ul{margin:0;padding:0;list-style:none}.gl2-empathy li{display:grid;padding:22px 0;grid-template-columns:45px 1fr;gap:18px;border-bottom:1px solid #e1e7ed}.gl2-empathy li:first-child{border-top:1px solid #e1e7ed}.gl2-empathy li>span{color:var(--gl-green-dark);font:800 11px Inter,sans-serif;letter-spacing:.08em}.gl2-empathy li p{display:flex;margin:0;flex-direction:column;gap:4px}.gl2-empathy li b{color:var(--gl2-ink);font-size:16px}.gl2-empathy li small{color:#748398;font-size:12px;line-height:1.7}
.gl2-services { background:#f3f6f8; }.gl2-service-grid{display:grid;max-width:1060px;margin:0 auto;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.gl2-service-card{display:flex;min-width:0;padding:42px;flex-direction:column;border:1px solid #dbe3ea;border-radius:22px;background:#fff;box-shadow:0 20px 55px rgba(7,29,64,.08)}.gl2-service-card--ochi{border-top:4px solid var(--gl-green)}.gl2-service-card--perma{border-top:4px solid var(--gl-navy)}.gl2-service-card__head{display:flex;margin-bottom:27px;align-items:center;gap:15px}.gl2-service-card__head>span{display:grid;width:52px;height:52px;place-items:center;border-radius:14px;color:#fff;background:var(--gl-navy);font:800 23px Inter,sans-serif}.gl2-service-card--ochi .gl2-service-card__head>span{background:var(--gl-green-dark)}.gl2-service-card__head p{display:grid;margin:0;grid-template-columns:auto auto;align-items:end;column-gap:8px}.gl2-service-card__head small{grid-column:1/-1;color:#8491a1;font:800 8px Inter,sans-serif;letter-spacing:.13em}.gl2-service-card__head b{color:var(--gl2-ink);font:800 25px Inter,sans-serif}.gl2-service-card__head em{padding-bottom:3px;color:#718096;font-size:10px;font-style:normal}.gl2-service-card h3{margin:0 0 17px;color:var(--gl2-ink);font-size:29px;line-height:1.45;letter-spacing:-.03em}.gl2-service-card>p{margin:0 0 21px;color:var(--gl2-muted);font-size:14px;line-height:1.9}.gl2-service-card ul{margin:0 0 29px;padding:0;list-style:none;color:#42536a;font-size:13px}.gl2-service-card li{padding:7px 0;border-bottom:1px solid #edf0f3}.gl2-service-card li::before{content:"";display:inline-block;width:6px;height:6px;margin-right:10px;border-radius:50%;background:var(--gl-green);vertical-align:2px}.gl2-service-card>a{display:flex;margin-top:auto;padding-top:20px;justify-content:space-between;border-top:1px solid #dfe5ea;color:var(--gl-blue);font-size:13px;font-weight:800}.gl2-account-note{display:flex;max-width:800px;margin:28px auto 0;padding:18px 24px;align-items:center;justify-content:center;gap:17px;border-radius:12px;color:#53647b;background:#fff;text-align:center;font-size:11px}.gl2-account-note b{color:var(--gl2-ink);font-size:12px}
.gl2-flow { background:#0a2346; }.gl2-flow .gl-section__header p{color:#68dcb0}.gl2-flow .gl-section__header h2{color:#fff}.gl2-flow ol{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin:0;padding:0;list-style:none}.gl2-flow li{position:relative;padding:30px 27px;border-left:1px solid rgba(255,255,255,.13)}.gl2-flow li:last-child{border-right:1px solid rgba(255,255,255,.13)}.gl2-flow li>span{display:block;margin-bottom:30px;color:#5fd6aa;font:800 11px Inter,sans-serif;letter-spacing:.14em}.gl2-flow li b{color:#fff;font-size:17px}.gl2-flow li p{margin:9px 0 0;color:#b9c8da;font-size:12px;line-height:1.9}
.gl2-values{background:#fff}.gl2-values>.gl-container>div:last-child{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.gl2-values article{padding:30px;border:1px solid #e0e6ec;border-radius:16px;background:#fff}.gl2-values article>span{color:var(--gl-green-dark);font:800 10px Inter,sans-serif}.gl2-values h3{margin:20px 0 10px;color:var(--gl2-ink);font-size:18px}.gl2-values article p{margin:0;color:var(--gl2-muted);font-size:13px;line-height:1.9}
.gl2-content{background:#f3f6f8}.gl2-content__grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.gl2-content h2{margin:0 0 15px;color:var(--gl2-ink);font-size:30px}.gl2-content__grid>div:first-child>p:not(.gl2-kicker){margin:0 0 25px;color:var(--gl2-muted);line-height:1.9}.gl2-content ul{margin:0;padding:0;list-style:none}.gl2-content li{border-top:1px solid #d9e1e8}.gl2-content li:last-child{border-bottom:1px solid #d9e1e8}.gl2-content li a{display:flex;padding:14px 2px;flex-direction:column;gap:2px;color:inherit}.gl2-content li span{color:var(--gl-green-dark);font-size:9px;font-weight:800}.gl2-content li b{color:var(--gl2-ink);font-size:13px}.gl2-text-link{display:block;margin-top:18px;color:var(--gl-blue);text-align:right;font-size:12px;font-weight:800}
.gl2-final{padding:90px 0;color:#fff;background:linear-gradient(120deg,#071d40,#0c3268);text-align:center}.gl2-final p{margin:0 0 11px;color:#65dcaf;font:800 10px Inter,sans-serif;letter-spacing:.18em}.gl2-final h2{margin:0 0 17px;color:#fff;font-size:clamp(34px,4vw,50px);line-height:1.45;letter-spacing:-.04em}.gl2-final>div>span{display:block;color:#c4d2e3;font-size:14px}.gl2-final .gl-actions{justify-content:center}.gl2-final .gl-button--outline{border-color:rgba(255,255,255,.55);color:#fff!important;background:transparent}
.gl2-orbit{position:relative;min-height:430px}.gl2-orbit__ring{position:absolute;inset:28px;border:1px dashed #afc0d0;border-radius:50%}.gl2-orbit__center{position:absolute;top:50%;left:50%;display:grid;width:160px;height:160px;padding:18px;place-items:center;border:9px solid #fff;border-radius:50%;color:#fff;background:linear-gradient(145deg,#0c2855,#185fbd);box-shadow:0 20px 48px rgba(7,29,64,.23);text-align:center;transform:translate(-50%,-50%)}.gl2-orbit__center i{font-size:36px;font-style:normal}.gl2-orbit__center b{font-size:15px}.gl2-orbit__center small{color:#c7d8ea;font-size:8px}.gl2-orbit__item{position:absolute;display:flex;min-width:160px;padding:14px;align-items:center;gap:10px;border:1px solid #d8e2eb;border-radius:13px;background:#fff;box-shadow:0 14px 36px rgba(7,29,64,.12)}.gl2-orbit__item>i{display:grid;width:39px;height:39px;place-items:center;border-radius:10px;background:#edf6f2;font-size:20px;font-style:normal}.gl2-orbit__item p{display:flex;margin:0;flex-direction:column}.gl2-orbit__item b{font-size:11px}.gl2-orbit__item small{color:#7f8d9e;font-size:8px}.gl2-orbit__item.is-mail{top:8px;left:0}.gl2-orbit__item.is-note{top:28px;right:0}.gl2-orbit__item.is-calendar{bottom:18px;left:5px}.gl2-orbit__item.is-todo{right:0;bottom:7px}.gl2-orbit__line{position:absolute;right:26%;bottom:34%;padding:7px 11px;border-radius:20px;color:#08764d;background:#e5f7f0;font-size:9px;font-weight:800}
.gl2-screens{background:#fff}.gl2-screen-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.gl2-screen{overflow:hidden;min-width:0;border:1px solid #d6e0e9;border-radius:18px;background:#fff;box-shadow:0 20px 55px rgba(7,29,64,.1)}.gl2-screen>header{display:flex;height:42px;padding:0 16px;align-items:center;justify-content:space-between;color:#fff;background:#0b2346;font-size:10px}.gl2-screen>header span{color:#a9bfd7;font-size:8px}.gl2-screen nav{display:flex;min-height:48px;padding:6px 9px;align-items:center;gap:4px;border-bottom:1px solid #dce4eb;background:#fff}.gl2-screen nav strong{margin:0 5px;font-size:10px}.gl2-screen nav i{padding:7px 6px;border-radius:6px;color:#64748a;font-size:7px;font-style:normal;font-weight:700;white-space:nowrap}.gl2-screen nav i.on{color:#08764d;background:#e8f8f2}.gl2-screen__main{padding:18px;background:#f4f7fa}.gl2-screen__title{display:flex;margin-bottom:12px;align-items:end;justify-content:space-between}.gl2-screen__title p{margin:0}.gl2-screen__title small{display:block;color:#079a61;font-size:7px;font-weight:800}.gl2-screen__title b{font-size:16px}.gl2-screen__title>span{font-size:8px}.gl2-screen__columns{display:grid;grid-template-columns:1fr 1fr;gap:9px}.gl2-screen__panel{padding:12px;border:1px solid #dce4ec;border-radius:8px;background:#fff}.gl2-screen__panel label{display:block;margin-bottom:7px;color:#43536a;font-size:7px;font-weight:800}.gl2-screen__panel label span{display:block;min-height:27px;margin-top:3px;padding:6px;border:1px solid #dce4eb;border-radius:5px;color:#708095;background:#fafbfd;font-weight:500}.gl2-screen__panel label span.tall{min-height:54px}.gl2-screen__panel button{width:100%;padding:8px;border:0;border-radius:5px;color:#fff;background:#079a61;font-size:7px;font-weight:800}.gl2-screen__panel.result>b{color:#08764d;font-size:8px}.gl2-screen__panel.result p{margin:9px 0;color:#68778b;font-size:7px;line-height:1.7}.gl2-screen__panel.result p strong{display:block;margin-bottom:5px;color:#0c2855}.gl2-screen__panel.result>span{display:block;padding:7px;border:1px solid #adc5dd;border-radius:5px;color:#185fbd;text-align:center;font-size:7px;font-weight:800}.gl2-screen__summary{display:grid;grid-template-columns:1fr 1fr;gap:7px}.gl2-screen__summary>div{display:flex;min-height:78px;padding:9px;flex-direction:column;border:1px solid #dce4eb;border-radius:7px;background:#fff;font-size:14px}.gl2-screen__summary b{margin-top:3px;font-size:8px}.gl2-screen__summary small{color:#788698;font-size:6px}
@media(max-width:1000px){.gl2-hero__grid{grid-template-columns:1fr 1fr;gap:35px}.gl2-empathy__grid{gap:45px}.gl2-service-card{padding:32px}.gl2-content__grid{gap:45px}.gl2-screen-grid{grid-template-columns:1fr}}
@media(max-width:767px){.gl2-orbit{width:100%;min-height:350px}.gl2-orbit__center{width:125px;height:125px}.gl2-orbit__item{min-width:128px;padding:10px}.gl2-orbit__item>i{width:30px;height:30px;font-size:16px}.gl2-orbit__line{right:18%;bottom:34%}.gl2-screen nav{overflow-x:auto;justify-content:flex-start}.gl2-screen nav strong{position:sticky;left:0;padding:7px;background:#fff}.gl2-screen__main{padding:12px}.gl2-screen__columns{grid-template-columns:1fr}.gl2-screen__panel.result,.gl2-screen__summary{display:none}}
@media(max-width:767px){.gl2-hero{padding:65px 0 60px}.gl2-hero::before{display:none}.gl2-hero__grid{display:flex;flex-direction:column;gap:45px}.gl2-hero h1{font-size:42px}.gl2-hero__lead br{display:none}.gl2-hero__notes{gap:8px 15px}.gl2-workboard{width:100%;transform:none}.gl2-workboard__body{padding:18px 14px}.gl2-task{grid-template-columns:30px 1fr auto;gap:8px;padding:10px}.gl2-task i{width:28px;height:28px}.gl2-workboard__services{grid-template-columns:1fr}.gl2-outcomes>.gl-container{grid-template-columns:1fr 1fr}.gl2-outcomes .gl-container>div{min-height:92px}.gl2-outcomes .gl-container>div:nth-child(3){border-left:0;border-top:1px solid #e4e9ee}.gl2-outcomes .gl-container>div:nth-child(4){border-top:1px solid #e4e9ee}.gl2-empathy__grid,.gl2-service-grid,.gl2-values>.gl-container>div:last-child,.gl2-content__grid{grid-template-columns:1fr}.gl2-empathy__grid{gap:45px}.gl2-service-card{padding:28px 23px}.gl2-service-card h3{font-size:25px}.gl2-account-note{align-items:flex-start;flex-direction:column;gap:3px;text-align:left}.gl2-flow ol{grid-template-columns:1fr}.gl2-flow li,.gl2-flow li:last-child{display:grid;padding:23px 4px;grid-template-columns:42px 1fr;border:0;border-top:1px solid rgba(255,255,255,.13)}.gl2-flow li>span{margin:3px 0 0}.gl2-values>.gl-container>div:last-child{gap:14px}.gl2-content__grid{gap:60px}.gl2-final{padding:70px 0}.gl2-final h2{font-size:32px}.gl2-final .gl-actions{width:100%}}

/* =========================================================
   PERMA 会員登録・ログイン共通UI
   ========================================================= */
.auth-page { color:#273850; background:#f4f8fc; }
.auth-section { position:relative; overflow:hidden; padding:95px 0 115px; background:radial-gradient(circle at 15% 15%,rgba(18,184,120,.13),transparent 28%),radial-gradient(circle at 90% 5%,rgba(24,95,189,.13),transparent 30%),linear-gradient(135deg,#f8fbff,#eef5fc); }
.auth-section::before { content:""; position:absolute; inset:0; opacity:.3; pointer-events:none; background-image:linear-gradient(rgba(12,40,85,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(12,40,85,.045) 1px,transparent 1px); background-size:44px 44px; mask-image:linear-gradient(90deg,#000,transparent 55%); }
.auth-section>.gl-container { position:relative; z-index:1; }
.auth-layout { position:relative; display:grid; grid-template-columns:360px minmax(0,1fr); gap:85px; align-items:center; }
.auth-intro .content-kicker { margin-bottom:13px; }
.auth-intro h1 { margin:0 0 24px; color:var(--gl-navy); font-size:clamp(38px,4.2vw,55px); line-height:1.32; letter-spacing:-.055em; }
.auth-intro>p:not(.content-kicker):not(.auth-intro__note) { margin:0 0 31px; color:#5a6b82; line-height:1.9; }
.auth-intro ul { margin:0 0 33px; padding:0; list-style:none; }
.auth-intro li { display:flex; gap:14px; padding:17px 0; border-top:1px solid rgba(12,40,85,.12); align-items:center; }
.auth-intro li>span { display:grid; width:35px; height:35px; flex:0 0 35px; place-items:center; border-radius:10px; color:#fff; background:var(--gl-green); font-size:13px; font-weight:800; }
.auth-intro li div { display:flex; min-width:0; flex-direction:column; gap:2px; }
.auth-intro li b { color:var(--gl-navy); font-size:14px; }
.auth-intro li small { color:#718096; font-size:11px; }
.auth-intro__note { margin:0; color:#65758a; font-size:13px; }
.auth-intro__note a { color:var(--gl-blue); font-weight:800; text-decoration:underline; }
.auth-card { padding:48px 52px 52px; border:1px solid #d9e4f0; border-radius:25px; background:rgba(255,255,255,.97); box-shadow:0 28px 80px rgba(7,29,64,.13); }
.auth-card--result { width:min(100%,760px); margin:0 auto; }
.auth-card--login { max-width:680px; }
.auth-card--compact { width:min(100%,680px); margin:0 auto; }
.auth-card--compact .auth-card__head h1 { margin:0; color:var(--gl-navy); font-size:clamp(25px,4vw,32px); line-height:1.45; }
.auth-card__lead { margin:-8px 0 28px; color:#617188; font-size:14px; line-height:1.85; }
.auth-section--login .auth-layout { grid-template-columns:360px minmax(0,680px); justify-content:center; }
.auth-card__head { display:flex; margin-bottom:32px; padding-bottom:25px; align-items:end; justify-content:space-between; border-bottom:1px solid #e1e8f0; }
.auth-card__head p { margin:0 0 5px; color:var(--gl-green); font-size:10px; font-weight:800; letter-spacing:.16em; }
.auth-card__head h2 { margin:0; color:var(--gl-navy); font-size:29px; }
.auth-card__head>span { color:#7b8899; font-size:11px; }
.auth-form { display:grid; grid-template-columns:1fr 1fr; gap:23px 20px; }
.auth-field { min-width:0; }
.auth-field--full,.auth-agree,.auth-button,.auth-form__foot { grid-column:1 / -1; }
.auth-field label { display:flex; margin-bottom:9px; align-items:center; gap:7px; color:var(--gl-navy); font-size:13px; font-weight:700; }
.auth-field label em { padding:3px 7px; border-radius:5px; color:#fff; background:#e34f5f; font-size:10px; font-style:normal; }
.auth-field label span { color:#8a96a6; font-size:10px; font-weight:600; }
.auth-field input { width:100%; height:53px; padding:0 16px; border:1px solid #ccd8e6; border-radius:10px; outline:0; color:#24344d; background:#fbfdff; font:inherit; font-size:14px; transition:border-color .2s,box-shadow .2s,background .2s; }
.auth-field input:focus { border-color:var(--gl-blue); background:#fff; box-shadow:0 0 0 4px rgba(24,95,189,.1); }
.auth-field input::placeholder { color:#a2adbb; }
.auth-field>small { display:block; margin-top:6px; color:#8a96a6; font-size:10px; }
.auth-agree { display:flex; margin-top:-5px; align-items:flex-start; gap:10px; color:#5d6d82; font-size:12px; cursor:pointer; }
.auth-agree+.auth-agree { margin-top:-14px; }
.auth-agree input { width:17px; height:17px; margin:1px 0 0; flex:0 0 17px; accent-color:var(--gl-green); }
.auth-agree a { color:var(--gl-blue); font-weight:700; text-decoration:underline; }
.auth-button { display:flex; width:min(100%,430px); min-height:60px; margin:8px auto 0; padding:12px 23px; align-items:center; justify-content:center; gap:24px; border:0; border-radius:12px; color:#fff; background:linear-gradient(135deg,var(--gl-green),#079a61); box-shadow:0 14px 32px rgba(18,184,120,.25); cursor:pointer; font:inherit; font-weight:700; text-decoration:none; transition:transform .2s,box-shadow .2s; }
.auth-button:hover { box-shadow:0 19px 40px rgba(18,184,120,.32); transform:translateY(-3px); }
.auth-button b { font-size:20px; }
.auth-button--outline { color:var(--gl-navy); border:1px solid var(--gl-navy); background:#fff; box-shadow:none; }
.auth-form__foot { margin:-9px 0 0; color:#8a96a6; text-align:center; font-size:10px; }
.auth-form--login { grid-template-columns:1fr; }
.auth-login-options { grid-column:1 / -1; display:flex; margin-top:-5px; align-items:center; justify-content:space-between; gap:18px; color:#68778b; font-size:12px; }
.auth-login-options label { display:flex; align-items:center; gap:8px; cursor:pointer; }
.auth-login-options input { width:16px; height:16px; accent-color:var(--gl-green); }
.auth-login-options a { color:var(--gl-blue); font-weight:700; }
.auth-notice { margin-bottom:24px; padding:15px 18px; border:1px solid #a9ddc8; border-radius:10px; color:#08754d; background:#effaf6; font-size:13px; }
.auth-register-link { display:flex; margin-top:30px; padding-top:25px; align-items:center; justify-content:space-between; gap:20px; border-top:1px solid #e2e9f1; font-size:12px; }
.auth-register-link span { color:#788598; }
.auth-register-link a { color:var(--gl-blue); font-weight:800; }
.auth-complete { display:flex; min-height:520px; padding:35px; align-items:center; justify-content:center; flex-direction:column; text-align:center; }
.auth-complete>span { display:grid; width:78px; height:78px; margin-bottom:23px; place-items:center; border-radius:22px; color:#fff; background:linear-gradient(135deg,var(--gl-blue),var(--gl-navy)); box-shadow:0 17px 38px rgba(24,95,189,.22); font-size:30px; }
.auth-complete>p:first-of-type { margin:0 0 8px; color:var(--gl-green); font-size:10px; font-weight:800; letter-spacing:.18em; }
.auth-complete h2 { margin:0 0 16px; color:var(--gl-navy); font-size:30px; }
.auth-complete h1 { margin:0 0 16px; color:var(--gl-navy); font-size:clamp(27px,4vw,38px); line-height:1.4; }
.auth-complete>p:last-of-type { max-width:520px; margin:0 0 28px; color:#617188; line-height:1.9; }

@media (max-width:950px) {
  .auth-layout { grid-template-columns:290px minmax(0,1fr); gap:42px; }
  .auth-card { padding:40px 35px 44px; }
}
@media (max-width:767px) {
  .auth-section { padding:62px 0 78px; }
  .auth-section::before { display:none; }
  .auth-layout { display:block; }
  .auth-intro { margin-bottom:38px; }
  .auth-intro h1 { font-size:38px; }
  .auth-card { padding:29px 20px 34px; border-radius:18px; }
  .auth-card__head { display:block; }
  .auth-card__head>span { display:block; margin-top:9px; }
  .auth-form { grid-template-columns:1fr; gap:21px; }
  .auth-field--full,.auth-agree,.auth-button,.auth-form__foot { grid-column:auto; }
  .auth-agree+.auth-agree { margin-top:-12px; }
  .auth-button { width:100%; }
  .auth-complete { min-height:430px; padding:20px 0; }
  .auth-complete h2 { font-size:27px; }
  .auth-login-options,.auth-register-link { align-items:flex-start; flex-direction:column; gap:10px; }
}

/* =========================================================
   PERMA 会員マイページ
   ========================================================= */
.member-page { min-height:70vh; color:#2a3b53; background:#f4f7fb; }
.member-hero { padding:68px 0; color:#fff; background:radial-gradient(circle at 83% 15%,rgba(18,184,120,.25),transparent 27%),linear-gradient(120deg,var(--gl-dark),#0d3977); }
.member-hero__inner { display:flex; align-items:center; justify-content:space-between; gap:30px; }
.member-hero p { margin:0 0 7px; color:#67dfb3; font-size:10px; font-weight:800; letter-spacing:.18em; }
.member-hero h1 { margin:0 0 9px; color:#fff; font-size:clamp(30px,4vw,44px); line-height:1.4; }
.member-hero span { color:#c8d7e9; }
.member-logout { display:inline-flex; min-height:44px; padding:10px 22px; align-items:center; justify-content:center; border:1px solid rgba(255,255,255,.45); border-radius:10px; color:#fff; font-size:12px; font-weight:700; }
.member-section { padding:70px 0 110px; }
.member-summary { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:-100px; margin-bottom:70px; position:relative; }
.member-summary article { display:flex; min-height:165px; padding:28px; flex-direction:column; border:1px solid #dce5ef; border-radius:18px; background:#fff; box-shadow:0 18px 48px rgba(7,29,64,.11); }
.member-summary span { color:#738196; font-size:11px; font-weight:700; }
.member-summary b { margin:10px 0 8px; color:var(--gl-navy); font-size:28px; }
.member-summary b em { font-size:13px; font-style:normal; }.member-summary b.is-active{color:var(--gl-green-dark)}
.member-summary small { margin-top:auto; color:#8b97a7; font-size:10px; }
.member-heading { display:flex; margin-bottom:28px; align-items:end; justify-content:space-between; gap:25px; }
.member-heading p,.member-account>div p { margin:0 0 4px; color:var(--gl-green); font-size:10px; font-weight:800; letter-spacing:.16em; }
.member-heading h2,.member-account>div h2 { margin:0; color:var(--gl-navy); font-size:30px; }
.member-heading>span { color:#718096; font-size:13px; }
.member-tools { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-bottom:75px; }
.member-tools article { display:grid; grid-template-columns:55px 1fr auto; gap:20px; padding:27px; align-items:start; border:1px solid #dce5ef; border-radius:18px; background:#fff; box-shadow:0 12px 36px rgba(7,29,64,.06); }
.member-tools i { display:grid; width:55px; height:55px; place-items:center; border-radius:15px; color:var(--gl-blue); background:#eaf2fc; font-size:22px; font-style:normal; }
.member-tools div>span { color:var(--gl-green-dark); font-size:9px; font-weight:800; letter-spacing:.12em; }
.member-tools h3 { margin:4px 0 8px; color:var(--gl-navy); font-size:18px; }
.member-tools p { margin:0; color:#65758a; font-size:12px; line-height:1.75; }
.member-tools article>b { padding:5px 9px; border-radius:6px; color:#7b8797; background:#edf1f5; font-size:9px; white-space:nowrap; }
.member-tools article>a { padding:7px 11px; border-radius:7px; color:#fff; background:var(--gl-green); font-size:10px; font-weight:800; white-space:nowrap; }
.member-account { display:grid; grid-template-columns:230px 1fr; gap:45px; margin-top:48px; padding:38px 42px; border:1px solid #dce5ef; border-radius:20px; background:#fff; }
.member-account dl { margin:0; }
.member-account dl>div { display:grid; grid-template-columns:150px 1fr; padding:15px 0; border-bottom:1px solid #e7edf3; }
.member-account dl>div:last-child { border-bottom:0; }.member-account dt{color:#7b8798;font-size:12px}.member-account dd{margin:0;color:var(--gl-navy);font-size:13px;font-weight:700}
@media (max-width:767px) {
  .member-hero { padding:48px 0 80px; }
  .member-hero__inner { align-items:flex-start; flex-direction:column; }
  .member-hero h1 { font-size:31px; }
  .member-section { padding-bottom:75px; }
  .member-summary { grid-template-columns:1fr; margin-top:-65px; margin-bottom:55px; }
  .member-summary article { min-height:145px; }
  .member-heading { align-items:flex-start; flex-direction:column; }
  .member-tools { grid-template-columns:1fr; }
  .member-tools article { grid-template-columns:48px 1fr; padding:22px 18px; gap:15px; }
  .member-tools i { width:48px; height:48px; }
  .member-tools article>b { grid-column:2; justify-self:start; }
  .member-account { grid-template-columns:1fr; margin-top:38px; padding:28px 20px; gap:25px; }
  .member-account dl>div { grid-template-columns:1fr; gap:5px; }
}

/* PERMA AIツール */
.ai-page{min-height:70vh;color:#273850;background:#f4f7fb}.ai-hero{padding:55px 0;color:#fff;background:linear-gradient(120deg,var(--gl-dark),#0d3977)}.ai-hero__inner{display:flex;align-items:center;justify-content:space-between;gap:30px}.ai-hero p{margin:0 0 5px;color:#67dfb3;font-size:10px;font-weight:800;letter-spacing:.16em}.ai-hero h1{margin:0 0 7px;color:#fff;font-size:40px}.ai-hero span{color:#c9d8eb}.ai-credit{min-width:145px;padding:16px 22px;border:1px solid rgba(255,255,255,.2);border-radius:14px;background:rgba(255,255,255,.08)}.ai-credit small{display:block;color:#cbd9e9;font-size:10px}.ai-credit b{font-size:28px}.ai-credit em{margin-left:4px;font-size:12px;font-style:normal}.ai-section{padding:65px 0 100px}.ai-workspace{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}.ai-form-card,.ai-result-card{padding:34px;border:1px solid #dce5ef;border-radius:20px;background:#fff;box-shadow:0 16px 48px rgba(7,29,64,.08)}.ai-card-head{display:flex;margin-bottom:28px;padding-bottom:20px;align-items:end;justify-content:space-between;border-bottom:1px solid #e2e9f1}.ai-card-head p{margin:0;color:var(--gl-green);font-size:9px;font-weight:800;letter-spacing:.15em}.ai-card-head h2{margin:3px 0 0;color:var(--gl-navy);font-size:23px}.ai-card-head>span{color:#7d8999;font-size:10px}.ai-form{display:grid;grid-template-columns:1fr 1fr;gap:21px 18px}.auth-field select,.auth-field textarea{width:100%;border:1px solid #ccd8e6;border-radius:10px;outline:0;color:#24344d;background:#fbfdff;font:inherit;font-size:14px}.auth-field select{height:53px;padding:0 14px}.auth-field textarea{padding:15px;resize:vertical;line-height:1.8}.auth-field select:focus,.auth-field textarea:focus{border-color:var(--gl-blue);background:#fff;box-shadow:0 0 0 4px rgba(24,95,189,.1)}.ai-result-card{position:sticky;top:95px;min-height:620px}.ai-empty{display:flex;min-height:470px;align-items:center;justify-content:center;flex-direction:column;text-align:center}.ai-empty>span{display:grid;width:68px;height:68px;margin-bottom:18px;place-items:center;border-radius:18px;color:var(--gl-blue);background:#eaf2fc;font-size:27px}.ai-empty h3{margin:0 0 8px;color:var(--gl-navy)}.ai-empty p{max-width:360px;margin:0;color:#718096;font-size:12px;line-height:1.8}.ai-result pre{margin:0;white-space:pre-wrap;word-break:break-word;color:#293b53;font:14px/1.95 "Noto Sans JP",sans-serif}.ai-copy{display:block;margin:25px 0 0 auto;padding:10px 18px;border:1px solid var(--gl-blue);border-radius:8px;color:var(--gl-blue);background:#fff;cursor:pointer;font:inherit;font-size:11px;font-weight:800}.ai-result>p{margin:18px 0 0;padding:13px 15px;border-radius:9px;color:#796521;background:#fff9e8;font-size:10px}
@media(max-width:900px){.ai-workspace{grid-template-columns:1fr}.ai-result-card{position:static;min-height:0}.ai-empty{min-height:300px}}@media(max-width:767px){.ai-hero__inner{align-items:flex-start;flex-direction:column}.ai-hero h1{font-size:32px}.ai-section{padding:45px 0 70px}.ai-form-card,.ai-result-card{padding:26px 18px}.ai-form{grid-template-columns:1fr}.ai-form .auth-field--full,.ai-form .auth-button{grid-column:auto}}

/* さらに狭い画面 */
@media (max-width:389px) {
  .gl-container { width:calc(100% - 24px); }
  .gl-hero h1 { font-size:36px; }
  .gl-app__body { min-height:0; }
  .gl-posts article a { grid-template-columns:96px 1fr; }
}

/* キーボード操作・動きを減らす設定 */
.growlize-page a:focus-visible { outline:3px solid #f0b429; outline-offset:3px; }
@media (prefers-reduced-motion:reduce) { .growlize-page * { scroll-behavior:auto !important; transition:none !important; } }

/* =========================================================
   PHP版プレミアム仕上げ
   情報設計は維持し、余白・奥行き・視線誘導を整えています。
   ========================================================= */
.growlize-page { --gl-radius:20px; --gl-shadow-lg:0 24px 70px rgba(7,29,64,.13); }
.growlize-page::selection { color:#fff; background:var(--gl-green-dark); }
.gl-section { position:relative; padding:clamp(84px,8vw,124px) 0; }
.gl-section__header { max-width:720px; margin:0 auto 54px; }
.gl-section__header > p { margin-bottom:10px; }
.gl-section__header h2 { letter-spacing:-.035em; }
.gl-section__header h2::after { width:64px; margin-top:17px; }
.gl-hero { min-height:680px; padding:clamp(82px,8vw,126px) 0 96px; isolation:isolate; background:radial-gradient(circle at 84% 22%,rgba(24,95,189,.18),transparent 29%),radial-gradient(circle at 46% 100%,rgba(18,184,120,.1),transparent 30%),linear-gradient(118deg,#fff 0%,#f8fbff 54%,#eef6fd 100%); }
.gl-hero::before { content:""; position:absolute; inset:0; z-index:-1; opacity:.32; background-image:linear-gradient(rgba(12,40,85,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(12,40,85,.045) 1px,transparent 1px); background-size:40px 40px; mask-image:linear-gradient(90deg,transparent 0,#000 55%,#000 100%); }
.gl-hero__inner { grid-template-columns:minmax(0,.88fr) minmax(540px,1.12fr); gap:clamp(48px,6vw,86px); }
.gl-eyebrow { padding:9px 16px; border:1px solid rgba(24,95,189,.13); background:rgba(232,241,252,.82); box-shadow:0 8px 25px rgba(24,95,189,.07); letter-spacing:.035em; }
.gl-hero h1 { margin-bottom:27px; font-size:clamp(48px,5.2vw,72px); line-height:1.17; letter-spacing:-.055em; }
.gl-hero__lead { margin-bottom:21px; line-height:1.6; }
.gl-hero__text { color:#52627a; line-height:1.9; }
.gl-button { min-height:56px; padding-inline:31px; border-radius:12px; box-shadow:0 10px 28px rgba(7,29,64,.08); }
.gl-button--primary:hover { box-shadow:0 16px 32px rgba(18,184,120,.3); }
.gl-button--outline:hover { color:#fff!important; background:var(--gl-navy); }
.gl-app { border-width:10px; border-color:#0a1c35; border-radius:25px; box-shadow:0 35px 90px rgba(7,29,64,.25),0 10px 25px rgba(24,95,189,.12); transform:perspective(1500px) rotateY(-4deg) rotateX(1deg); }
.gl-app__bar { height:38px; background:linear-gradient(90deg,#07182f,#102b50); }
.gl-app__body { min-height:420px; }
.gl-app__main { padding:24px; }
.gl-app__form,.gl-app__result { border-radius:13px; box-shadow:0 10px 30px rgba(7,29,64,.07); }
.gl-benefits { box-shadow:0 12px 35px rgba(7,29,64,.035); }
.gl-benefits__grid > div { min-height:128px; }
.gl-benefits i { border:0; background:#edf5ff; box-shadow:inset 0 0 0 1px rgba(24,95,189,.1); }
.gl-problems { overflow:hidden; background:linear-gradient(180deg,#f1f7fd,#f9fcff); }
.gl-problems::after { content:""; position:absolute; right:-170px; bottom:-210px; width:470px; height:470px; border-radius:50%; background:rgba(18,184,120,.06); }
.gl-problems__grid { position:relative; z-index:1; gap:18px; }
.gl-problems__grid li { min-height:130px; padding:32px 18px 22px; border-radius:16px; box-shadow:0 14px 40px rgba(7,29,64,.07); }
.gl-features { grid-template-columns:repeat(4,1fr); gap:22px; }
.gl-feature-card { grid-column:auto; min-height:330px; padding:32px 23px 25px; border-radius:18px; box-shadow:0 14px 45px rgba(7,29,64,.075); transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease; }
.gl-feature-card:hover { border-color:rgba(18,184,120,.45); box-shadow:0 24px 55px rgba(7,29,64,.12); transform:translateY(-6px); }
.gl-feature-card i { width:64px; height:64px; border-radius:18px; }
.gl-feature-card a::after { content:" →"; }
.gl-reasons { overflow:hidden; background:linear-gradient(135deg,#edf5fd,#f8fbff); }
.gl-reasons__grid { gap:22px; }
.gl-reasons__grid article { padding:30px 22px; border:1px solid rgba(24,95,189,.09); border-radius:18px; background:rgba(255,255,255,.78); box-shadow:0 12px 34px rgba(7,29,64,.055); }
.gl-flow { gap:24px; }
.gl-flow li { min-height:200px; padding:34px 24px; border-radius:18px; box-shadow:0 14px 42px rgba(7,29,64,.07); }
.gl-plan-blog { background:var(--gl-gray); }
.gl-plan__cards article,.gl-posts article { border-radius:17px; box-shadow:0 15px 42px rgba(7,29,64,.08); transition:transform .25s ease,box-shadow .25s ease; }
.gl-plan__cards article:hover,.gl-posts article:hover { box-shadow:0 23px 50px rgba(7,29,64,.13); transform:translateY(-5px); }
.gl-posts__thumb { height:145px; }
.gl-final-cta { position:relative; overflow:hidden; background:radial-gradient(circle at 15% 120%,rgba(18,184,120,.35),transparent 36%),linear-gradient(120deg,#0c3774,#061831); }
.gl-final-cta::after { content:""; position:absolute; top:-190px; right:-80px; width:440px; height:440px; border:1px solid rgba(255,255,255,.12); border-radius:50%; box-shadow:0 0 0 55px rgba(255,255,255,.025),0 0 0 110px rgba(255,255,255,.018); }
.gl-final-cta__inner { position:relative; z-index:1; min-height:390px; }

@media (max-width:1199px) {
  .gl-hero__inner { grid-template-columns:minmax(0,.9fr) minmax(440px,1.1fr); }
  .gl-features { grid-template-columns:repeat(2,1fr); }
  .gl-feature-card { grid-column:auto; }
}
@media (max-width:767px) {
  .gl-section { padding:72px 0; }
  .gl-section__header { margin-bottom:38px; }
  .gl-hero { min-height:0; padding:58px 0 66px; }
  .gl-hero::before { display:none; }
  .gl-hero__inner { display:flex; }
  .gl-hero h1 { font-size:clamp(39px,12vw,50px); }
  .gl-app { border-width:6px; border-radius:18px; transform:none; }
  .gl-problems__grid,.gl-features { display:grid; grid-template-columns:1fr; }
  .gl-feature-card,.gl-feature-card:nth-child(4) { grid-column:auto; }
  .gl-reasons__grid article { padding:27px 20px; }
  .gl-final-cta__inner { min-height:0; }
}


:root { --gl-navy:#0c2855; --gl-dark:#071d40; --gl-green:#12b878; --gl-blue:#185fbd; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; overflow-x:hidden; color:var(--gl-dark); background:#fff; font-family:"Inter","Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; }
img { max-width:100%; height:auto; }
a { text-decoration:none; }
.gl-skip { position:fixed; z-index:9999; top:8px; left:8px; padding:10px 14px; color:#fff; background:var(--gl-dark); transform:translateY(-150%); }
.gl-skip:focus { transform:none; }
.site-header { position:sticky; z-index:1000; top:0; height:82px; border-bottom:1px solid rgba(12,40,85,.08); background:rgba(255,255,255,.94); box-shadow:0 6px 26px rgba(7,29,64,.045); backdrop-filter:blur(16px); }
.site-header__inner { display:flex; height:100%; align-items:center; justify-content:space-between; }
.site-logo { display:inline-flex; flex:0 0 auto; align-items:center; color:var(--gl-navy); }
.site-logo img { display:block; width:190px; height:58px; object-fit:contain; object-position:left center; }
.global-nav { display:flex; align-items:center; gap:25px; }
.global-nav a { position:relative; color:var(--gl-navy); font-size:13px; font-weight:700; white-space:nowrap; transition:color .2s ease; }
.global-nav > a:not(.nav-login):not(.nav-trial)::after { content:""; position:absolute; right:0; bottom:-8px; left:0; height:2px; border-radius:2px; background:var(--gl-green); transform:scaleX(0); transition:transform .2s ease; }
.global-nav > a:not(.nav-login):not(.nav-trial):hover::after { transform:scaleX(1); }
.global-nav a:hover { color:var(--gl-green); }
.global-nav .nav-login, .global-nav .nav-trial { padding:11px 20px; border-radius:9px; transition:transform .2s ease,box-shadow .2s ease,background .2s ease; }
.global-nav .nav-login { border:1px solid var(--gl-navy); }
.global-nav .nav-trial { color:#fff; background:linear-gradient(135deg,var(--gl-green),#079a61); box-shadow:0 9px 22px rgba(18,184,120,.22); }
.global-nav .nav-login:hover,.global-nav .nav-trial:hover { transform:translateY(-2px); }
.nav-toggle { display:none; width:45px; height:45px; padding:9px; border:0; background:transparent; }
.nav-toggle span { display:block; width:100%; height:2px; margin:5px 0; background:var(--gl-navy); }
.nav-toggle em { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }
.site-footer { position:relative; overflow:hidden; padding:76px 0 24px; color:#cbd8eb; background:linear-gradient(135deg,#061831,#092754); }
.site-footer::before { content:""; position:absolute; top:-190px; right:-100px; width:420px; height:420px; border:1px solid rgba(18,184,120,.14); border-radius:50%; box-shadow:0 0 0 55px rgba(18,184,120,.025),0 0 0 110px rgba(18,184,120,.018); }
.site-footer__grid { display:grid; grid-template-columns:1.5fr repeat(3,1fr); gap:50px; }
.site-logo--footer { margin-bottom:22px; padding:10px 14px; border-radius:12px; background:#fff; }
.site-logo--footer img { width:180px; height:52px; }
.site-footer__grid > div { display:flex; flex-direction:column; align-items:flex-start; gap:9px; }
.site-footer__grid > div > strong { margin-bottom:8px; color:#fff; }
.site-footer__grid p { margin:0; font-size:13px; }
.site-footer__grid a:not(.site-logo) { color:#cbd8eb; font-size:13px; }
.site-footer__grid a:hover { color:#fff; }
.site-footer__copy { width:min(1180px,calc(100% - 48px)); margin:45px auto 0; padding-top:18px; border-top:1px solid rgba(255,255,255,.12); text-align:center; font-size:11px; }
.subpage__hero { padding:85px 0 70px; text-align:center; background:linear-gradient(135deg,#edf5fd,#f7fbff); }
.subpage__hero p { margin:0 0 7px; color:var(--gl-green); font-size:12px; font-weight:800; letter-spacing:.15em; }
.subpage__hero h1 { margin:0 0 12px; color:var(--gl-navy); font-size:clamp(32px,5vw,48px); }
.subpage__hero span { color:#52627a; }
.subpage__body { padding:75px 0 100px; }
.subpage__panel { max-width:850px; min-height:260px; margin:auto; padding:45px; border:1px solid #dce6f2; border-radius:16px; background:#fff; box-shadow:0 10px 30px rgba(7,29,64,.08); }
.subpage__panel h2 { color:var(--gl-navy); }
.subpage__back { display:inline-block; margin-top:25px; color:var(--gl-blue); font-weight:700; }
.gl-news-list article { display:grid; grid-template-columns:125px 1fr; gap:25px; padding:24px 0; border-bottom:1px solid #e3eaf2; }
.gl-news-list article:first-child { padding-top:0; }
.gl-news-list article:last-child { border-bottom:0; }
.gl-news-list time { color:var(--gl-blue); font-size:13px; font-weight:700; }
.gl-news-list h2 { margin:0 0 5px; font-size:17px; }
.gl-news-list p { margin:0; color:#65738a; font-size:14px; }

/* PERMA 下層ページ共通 */
.content-page,.legal-page { color:#24344d; line-height:1.85; }
.content-page :where(h1,h2,h3,p,ul,ol),.legal-page :where(h1,h2,h3,p,ul,ol) { margin-top:0; }
.content-hero { padding:92px 0 82px; background:radial-gradient(circle at 80% 20%,rgba(18,184,120,.13),transparent 28%),linear-gradient(135deg,#f4f9ff,#fff); }
.content-hero__grid { display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center; }
.content-hero--center { text-align:center; }
.content-hero--center .content-lead { margin-inline:auto; }
.content-kicker { margin-bottom:10px!important; color:var(--gl-green); font-size:12px; font-weight:800; letter-spacing:.18em; }
.content-hero h1 { margin-bottom:22px; color:var(--gl-navy); font-size:clamp(36px,5vw,58px); line-height:1.3; }
.content-hero h1 em { color:var(--gl-green); font-style:normal; }
.content-lead { max-width:650px; margin-bottom:28px; color:#52627a; font-size:18px; }
.content-button { display:inline-flex; min-height:52px; padding:13px 28px; align-items:center; justify-content:center; gap:18px; border-radius:9px; color:#fff; background:linear-gradient(135deg,var(--gl-green),#079a61); box-shadow:0 10px 24px rgba(18,184,120,.25); font-weight:700; }
.content-section { padding:88px 0; }
.content-section--pale { background:#f2f7fd; }
.content-section--dark { color:#dce8f8; background:var(--gl-dark); }
.narrow { max-width:900px; }
.content-heading { margin-bottom:42px; text-align:center; }
.content-heading>p { margin-bottom:5px; color:var(--gl-green); font-size:12px; font-weight:800; letter-spacing:.16em; }
.content-heading h2 { margin-bottom:8px; color:var(--gl-navy); font-size:clamp(28px,4vw,40px); line-height:1.4; }
.content-heading>span { color:#6b788c; }
.content-heading--light h2 { color:#fff; }
.origin-card { padding:40px; border:1px solid #dbe6f2; border-radius:18px; background:#fff; box-shadow:0 12px 35px rgba(7,29,64,.08); }
.origin-en { color:var(--gl-navy); font-size:clamp(20px,3vw,29px); font-weight:700; text-align:center; }
.origin-en b { color:var(--gl-green); font-size:1.3em; }
.perma-visual { position:relative; min-height:390px; border-radius:28px; background:radial-gradient(circle,#e9f2fc 1px,transparent 1px); background-size:18px 18px; }
.perma-core { position:absolute; top:50%; left:50%; display:grid; width:165px; height:165px; place-items:center; align-content:center; border:9px solid rgba(255,255,255,.8); border-radius:50%; color:#fff; background:linear-gradient(145deg,var(--gl-blue),var(--gl-navy)); box-shadow:0 18px 45px rgba(12,40,85,.25); transform:translate(-50%,-50%); }
.perma-core b { font-size:28px; }.perma-core small{font-size:8px;letter-spacing:.09em}
.perma-visual>span { position:absolute; min-width:112px; padding:13px 15px; border:1px solid #d5e2f1; border-radius:10px; color:var(--gl-navy); background:#fff; box-shadow:0 8px 22px rgba(7,29,64,.1); text-align:center; font-size:13px; font-weight:700; }
.pv-input{top:4%;left:35%}.pv-mail{top:27%;right:0}.pv-note{right:5%;bottom:15%}.pv-report{bottom:5%;left:18%}.pv-answer{top:29%;left:0}
.process-diagram { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin:0; padding:0; list-style:none; }
.process-diagram li { position:relative; padding:28px 20px; border:1px solid #dce6f2; border-radius:14px; background:#fff; text-align:center; }
.process-diagram li:not(:last-child)::after { content:'›'; position:absolute; top:50%; right:-16px; z-index:2; display:grid; width:30px; height:30px; place-items:center; border-radius:50%; color:#fff; background:var(--gl-green); transform:translateY(-50%); }
.process-diagram i,.process-diagram b,.process-diagram span { display:block; }.process-diagram i{color:var(--gl-green);font-style:normal;font-size:12px;font-weight:800}.process-diagram b{margin:7px 0;color:var(--gl-navy);font-size:18px}.process-diagram span{color:#5d6c82;font-size:13px}
.tool-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.tool-grid article { padding:30px 25px; border:1px solid #dce6f2; border-radius:15px; background:#fff; box-shadow:0 8px 25px rgba(7,29,64,.06); }
.tool-grid i { display:grid; width:52px; height:52px; place-items:center; border-radius:14px; color:var(--gl-blue); background:#eaf2fc; font-size:24px; font-style:normal; }
.tool-grid h3 { margin:15px 0 8px; color:var(--gl-navy); }.tool-grid p,.tool-grid li{font-size:14px}.tool-grid ul{margin-bottom:0;padding-left:19px;color:#53627a}.tool-grid__future{background:#f1faf7!important}

/* Growlizeサービス一覧：PERMAとOCHIをPCで均等な2カラムに表示 */
.tool-grid.gl-service-grid {
  grid-template-columns:repeat(2,minmax(0,1fr));
  max-width:980px;
  margin-inline:auto;
}
.tool-grid.gl-service-grid article {
  display:flex;
  min-width:0;
  flex-direction:column;
}
.tool-grid.gl-service-grid .content-button {
  width:100%;
  margin-top:auto;
}

@media (max-width:767px) {
  .tool-grid.gl-service-grid {
    grid-template-columns:1fr;
  }
}
.compare { display:grid; grid-template-columns:1fr 50px 1fr; align-items:center; }
.compare>div { padding:32px; border:1px solid rgba(255,255,255,.15); border-radius:16px; background:rgba(255,255,255,.06); }.compare>span{text-align:center;font-size:34px}.compare b{display:block;margin-bottom:14px;color:#fff;font-size:21px}.compare ul{margin:0;padding-left:20px}.compare .is-perma{border-color:var(--gl-green);background:rgba(18,184,120,.12)}
.content-cta { padding:80px 0; color:#fff; background:linear-gradient(120deg,#0b397b,var(--gl-dark)); text-align:center; }.content-cta p{margin-bottom:5px;color:#65deb0;font-size:12px;font-weight:800;letter-spacing:.17em}.content-cta h2{margin-bottom:12px;font-size:clamp(31px,4vw,46px);line-height:1.4}.content-cta>div>span{display:block;margin-bottom:25px;color:#d6e2f1}
.price-notice { max-width:850px; margin:0 auto 40px; padding:18px 23px; border-left:4px solid var(--gl-green); border-radius:8px; background:#f1faf7; }.price-notice p{margin:4px 0 0;font-size:13px}
.pricing-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; align-items:stretch; }.pricing-grid article{position:relative;display:flex;padding:34px 28px;flex-direction:column;border:1px solid #dce6f2;border-radius:16px;background:#fff;box-shadow:0 10px 30px rgba(7,29,64,.07)}.pricing-grid .is-recommended{border:2px solid var(--gl-green);transform:translateY(-10px)}.recommend-badge{position:absolute;top:-16px;left:50%;padding:5px 20px;border-radius:99px;color:#fff;background:var(--gl-green);font-size:12px;font-weight:700;transform:translateX(-50%)}.plan-label{color:var(--gl-green);font-size:11px;font-weight:800;letter-spacing:.15em}.pricing-grid h2{margin:5px 0;color:var(--gl-navy)}.plan-for{color:#748196;font-size:13px}.plan-price{min-height:83px;margin:15px 0;padding-bottom:17px;border-bottom:1px solid #e6ecf3}.plan-price b,.plan-price small{display:block}.plan-price b{color:var(--gl-navy);font-size:27px}.plan-price small{color:#7b8798;font-size:11px}.pricing-grid ul{margin:0 0 25px;padding:0;list-style:none}.pricing-grid li{margin:7px 0;font-size:14px}.pricing-grid li::before{content:'✓';margin-right:8px;color:var(--gl-green);font-weight:800}.plan-button{margin-top:auto;padding:12px;border-radius:7px;color:#fff;background:var(--gl-green);text-align:center;font-weight:700}.plan-button--outline{border:1px solid var(--gl-navy);color:var(--gl-navy);background:#fff}.plan-flow{display:grid;grid-template-columns:1fr 45px 1fr 45px 1fr;align-items:center}.plan-flow>div{padding:25px;border:1px solid #dce6f2;border-radius:13px;background:#fff;text-align:center}.plan-flow i,.plan-flow b,.plan-flow span{display:block}.plan-flow i{color:var(--gl-green);font-style:normal;font-size:12px}.plan-flow b{color:var(--gl-navy);font-size:18px}.plan-flow span{color:#617086;font-size:13px}.plan-flow em{text-align:center;color:var(--gl-green);font-size:30px;font-style:normal}.faq-list details{margin-bottom:12px;border:1px solid #dce6f2;border-radius:10px;background:#fff}.faq-list summary{padding:19px 22px;color:var(--gl-navy);font-weight:700;cursor:pointer}.faq-list details p{padding:0 22px 20px;margin:0;color:#5d6c82}
.pricing-grid--four{grid-template-columns:repeat(4,1fr)}.pricing-grid--four article{padding:34px 22px}.pricing-grid--four .plan-price b{font-size:24px}.plan-points{display:flex;margin:0 0 20px;align-items:baseline;gap:5px;color:var(--gl-blue);font-size:29px}.plan-points small{color:#68778c;font-size:10px}.price-footnote{margin:25px 0 0;color:#7b8798;text-align:center;font-size:11px}.point-guide{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.point-guide article{padding:28px 22px;border:1px solid #dce6f2;border-radius:16px;background:#fff;text-align:center;box-shadow:0 12px 35px rgba(7,29,64,.06)}.point-guide i{display:grid;width:52px;height:52px;margin:0 auto 15px;place-items:center;border-radius:50%;color:#fff;background:var(--gl-blue);font-style:normal;font-size:13px;font-weight:800}.point-guide h3{margin:0 0 7px;color:var(--gl-navy);font-size:16px}.point-guide p{margin:0;color:#6b7a8e;font-size:12px;line-height:1.7}.team-plan{padding:75px 0;color:#fff;background:radial-gradient(circle at 85% 0,rgba(18,184,120,.24),transparent 33%),linear-gradient(135deg,#071d40,#0c3771)}.team-plan__inner{display:flex;align-items:center;justify-content:space-between;gap:45px}.team-plan p{margin:0 0 7px;color:#65dfb1;font-size:10px;font-weight:800;letter-spacing:.18em}.team-plan h2{margin:0 0 10px;font-size:30px}.team-plan span{color:#c6d4e6}.team-plan .content-button{flex:0 0 auto}
.plan-checkout{display:flex;margin-top:auto}.plan-checkout .plan-button{width:100%;border:0;font:inherit;cursor:pointer}.plan-checkout .plan-button--outline{border:1px solid var(--gl-navy)}.price-message{margin:0 0 24px;padding:16px 20px;border:1px solid #b9ddcf;border-radius:10px;color:#08734c;background:#effaf6;font-weight:700}
.price-message--warning{display:flex;align-items:flex-start;flex-direction:column;border-color:#f0d49a;color:#855700;background:#fff8e8}.price-message--warning span{margin-top:3px;font-size:13px;font-weight:500}
.price-test-banner{display:flex;margin:0 0 24px;padding:14px 18px;align-items:center;gap:14px;border:1px solid #bad1ed;border-radius:10px;color:#254b78;background:#f1f6fc}.price-test-banner b{flex:0 0 auto;padding:4px 8px;border-radius:5px;color:#fff;background:var(--gl-blue);font:800 10px Inter,sans-serif;letter-spacing:.1em}.price-test-banner span{font-size:13px;font-weight:600}@media(max-width:767px){.price-test-banner{align-items:flex-start;flex-direction:column;gap:8px}}
.member-billing{display:flex;margin:0 0 42px;padding:22px 26px;align-items:center;justify-content:space-between;gap:24px;border:1px solid #c9dced;border-radius:16px;background:#fff;box-shadow:0 12px 35px rgba(7,29,64,.06)}.member-billing>div{display:flex;min-width:0;flex-direction:column}.member-billing span{color:var(--gl-green-dark);font-size:10px;font-weight:800;letter-spacing:.15em}.member-billing b{color:var(--gl-navy);font-size:18px}.member-billing small{margin-top:4px;color:#6a788c}.member-billing form{flex:0 0 auto}.member-billing button{padding:12px 20px;border:0;border-radius:10px;color:#fff;background:var(--gl-navy);font:700 13px inherit;cursor:pointer}@media(max-width:767px){.member-billing{align-items:stretch;flex-direction:column}.member-billing form,.member-billing button{width:100%}}
@media(max-width:1100px){.pricing-grid--four{grid-template-columns:repeat(2,1fr)}.pricing-grid--four .is-recommended{transform:none}.point-guide{grid-template-columns:repeat(2,1fr)}}
@media(max-width:767px){.pricing-grid--four,.point-guide{grid-template-columns:1fr}.team-plan__inner{align-items:stretch;flex-direction:column}.team-plan .content-button{justify-content:center;text-align:center}}
.blog-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }.blog-grid article{overflow:hidden;border:1px solid #dce6f2;border-radius:15px;background:#fff;box-shadow:0 9px 28px rgba(7,29,64,.08)}.blog-grid a{display:block;color:inherit}.blog-thumb{position:relative;display:grid;height:190px;place-items:center;color:#fff}.blog-thumb b{font-size:58px}.blog-thumb span{position:absolute;top:15px;left:15px;padding:5px 10px;border-radius:99px;background:rgba(7,29,64,.7);font-size:11px;font-weight:700}.blog-thumb--mail{background:linear-gradient(135deg,#246eca,#9ac5f5)}.blog-thumb--minutes{background:linear-gradient(135deg,#91683f,#e4c69f)}.blog-thumb--factory{background:linear-gradient(135deg,#193b5c,#829fb4)}.blog-card-body{padding:23px}.blog-card-body small{color:var(--gl-green);font-weight:700}.blog-card-body h2{margin:7px 0 10px;color:var(--gl-navy);font-size:19px;line-height:1.55}.blog-card-body p{color:#617086;font-size:14px}.blog-card-body time{color:#8a96a6;font-size:11px}
.legal-content { max-width:880px; }.legal-content>p{color:#46566e}.legal-content h2{margin:45px 0 12px;padding-bottom:10px;border-bottom:2px solid #e1e8f1;color:var(--gl-navy);font-size:22px}.legal-content a{color:var(--gl-blue);text-decoration:underline}.legal-date{text-align:right;font-size:13px}.legal-note{margin-top:45px;padding:22px;border:1px solid #f0d18d;border-radius:10px;background:#fff9e9}.legal-note p{margin:5px 0 0!important;font-size:13px}.mission-visual{display:flex;min-height:300px;padding:35px;align-items:center;justify-content:center;flex-wrap:wrap;gap:14px;border-radius:25px;background:#edf5fd}.mission-visual span,.mission-visual strong{padding:18px;border-radius:12px;background:#fff;box-shadow:0 8px 20px rgba(7,29,64,.08)}.mission-visual b,.mission-visual em{color:var(--gl-green);font-size:28px;font-style:normal}.mission-visual strong{color:#fff;background:var(--gl-navy)}.prose-large{font-size:17px}.value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.value-grid article{padding:30px;border-radius:14px;background:#fff}.value-grid i{color:var(--gl-green);font-style:normal;font-weight:800}.value-grid h3{color:var(--gl-navy)}.company-table{margin:0}.company-table>div{display:grid;grid-template-columns:180px 1fr;border-bottom:1px solid #dfe7f0}.company-table dt,.company-table dd{padding:18px}.company-table dt{color:var(--gl-navy);font-weight:700}.company-table dd{margin:0}

/* ブログ記事 */
.article-page{color:#34445d;line-height:2}.article-wrap{max-width:860px}.article-hero{padding:85px 0;background:linear-gradient(135deg,#eaf3fe,#f9fcff)}.article-hero--minutes{background:linear-gradient(135deg,#f5ecdf,#fff)}.article-hero--factory{color:#fff;background:linear-gradient(135deg,#123c64,#071d40)}.article-hero--factory h1,.article-hero--factory .article-intro{color:#fff}.article-category{display:inline-block;margin:0 0 12px;padding:5px 12px;border-radius:99px;color:#fff;background:var(--gl-green);font-size:12px;font-weight:700}.article-hero h1{margin:0 0 18px;color:var(--gl-navy);font-size:clamp(34px,5vw,52px);line-height:1.4}.article-intro{margin-bottom:18px;color:#53647a;font-size:18px}.article-meta{display:flex;gap:20px;color:#78869a;font-size:12px}.article-hero--factory .article-meta{color:#c9d7e7}.article-body{padding-top:70px;padding-bottom:100px}.article-body>p{margin:0 0 24px}.article-body h2{margin:62px 0 18px;padding-left:18px;border-left:5px solid var(--gl-green);color:var(--gl-navy);font-size:28px;line-height:1.5}.article-body h3{margin:35px 0 12px;color:var(--gl-navy);font-size:20px}.article-toc{margin-bottom:45px;padding:28px 32px;border:1px solid #dce6f2;border-radius:13px;background:#f6f9fd}.article-toc b{display:block;margin-bottom:10px;color:var(--gl-navy)}.article-toc ol{margin:0;padding-left:22px;columns:2}.article-toc a{color:var(--gl-blue)}.article-diagram{margin:35px 0;padding:30px;border-radius:15px;background:#eef7f4;text-align:center}.article-diagram>b{display:block;margin-bottom:17px;color:var(--gl-navy)}.article-diagram>div{display:flex;align-items:center;justify-content:center;gap:13px}.article-diagram span{padding:12px 17px;border-radius:9px;color:var(--gl-navy);background:#fff;box-shadow:0 5px 15px rgba(7,29,64,.06);font-weight:700}.article-diagram i{color:var(--gl-green);font-style:normal;font-size:22px}.article-diagram p{margin:15px 0 0;font-size:13px}.article-steps{margin:30px 0;padding:0;list-style:none}.article-steps li{display:grid;grid-template-columns:180px 1fr;gap:20px;padding:17px 0;border-bottom:1px solid #dfe7f0}.article-steps b{color:var(--gl-navy)}.example-box{margin:25px 0;padding:28px;border:1px solid #d7e2ef;border-radius:12px;background:#fbfcfe}.example-box p:last-child{margin-bottom:0}.example-box hr{border:0;border-top:1px solid #e0e7ef}.article-table{width:100%;margin:28px 0;border-collapse:collapse;font-size:14px}.article-table th,.article-table td{padding:13px;border:1px solid #dce4ed;text-align:left;vertical-align:top}.article-table th{color:var(--gl-navy);background:#eef4fb}.article-check{margin:32px 0;padding:27px;border-radius:13px;color:#fff;background:var(--gl-navy)}.article-check b{display:block;margin-bottom:8px}.article-check ul{margin:0;padding-left:21px;columns:2}.article-cta{margin-top:65px;padding:45px;border-radius:18px;color:#fff;background:linear-gradient(135deg,#0d3b78,var(--gl-dark));text-align:center}.article-cta p{margin:0}.article-cta h2{margin:5px 0 20px;padding:0;border:0;color:#fff}.article-cta a{display:inline-block;padding:12px 24px;border-radius:8px;color:#fff;background:var(--gl-green);font-weight:700}

@media (max-width:1050px) {
  .global-nav { gap:13px; }
  .global-nav a { font-size:11px; }
  .global-nav .nav-login, .global-nav .nav-trial { padding:9px 12px; }
  .tool-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:767px) {
  .site-header { height:66px; }
  .site-logo strong { font-size:20px; }
  .site-logo > span { width:32px; height:32px; }
  .nav-toggle { display:block; }
  .global-nav { position:absolute; top:66px; left:0; display:none; width:100%; padding:18px 16px 24px; align-items:stretch; flex-direction:column; gap:0; border-top:1px solid #e4ebf3; background:#fff; box-shadow:0 14px 25px rgba(7,29,64,.12); }
  .global-nav.is-open { display:flex; }
  .global-nav a { padding:12px 8px; border-bottom:1px solid #edf1f6; font-size:14px; }
  .global-nav .nav-login, .global-nav .nav-trial { margin-top:9px; padding:12px; text-align:center; }
  .site-footer__grid { grid-template-columns:1fr 1fr; gap:38px 22px; }
  .site-footer__grid > div:first-child { grid-column:1 / -1; }
  .subpage__hero { padding:58px 0 48px; }
  .subpage__body { padding:45px 0 65px; }
  .subpage__panel { min-height:220px; padding:28px 22px; }
  .gl-news-list article { grid-template-columns:1fr; gap:4px; }
  .content-hero { padding:58px 0 52px; }.content-hero__grid{grid-template-columns:1fr;gap:35px}.content-hero h1{font-size:35px}.content-lead{font-size:16px}.content-section{padding:62px 0}.content-heading{margin-bottom:30px}.origin-card{padding:25px 20px}.origin-en{text-align:left}.perma-visual{min-height:330px}.perma-core{width:130px;height:130px}.perma-visual>span{min-width:92px;padding:9px;font-size:10px}.process-diagram,.tool-grid,.pricing-grid,.blog-grid,.value-grid{grid-template-columns:1fr}.process-diagram li:not(:last-child)::after{top:auto;right:calc(50% - 15px);bottom:-15px;transform:none}.compare{grid-template-columns:1fr}.compare>span{transform:rotate(90deg)}.pricing-grid .is-recommended{margin-top:14px;transform:none}.plan-flow{grid-template-columns:1fr}.plan-flow em{transform:rotate(90deg)}.blog-thumb{height:170px}.company-table>div{grid-template-columns:1fr}.company-table dt{padding-bottom:0}.company-table dd{padding-top:7px}
  .article-hero{padding:55px 0}.article-hero h1{font-size:33px}.article-intro{font-size:16px}.article-body{padding-top:45px;padding-bottom:70px}.article-body h2{margin-top:48px;font-size:24px}.article-toc{padding:23px 20px}.article-toc ol{columns:1}.article-diagram>div{flex-direction:column}.article-diagram i{transform:rotate(90deg)}.article-steps li{grid-template-columns:1fr;gap:3px}.article-table{display:block;overflow-x:auto;white-space:nowrap}.article-check ul{columns:1}.article-cta{padding:32px 20px}
}

/* =========================================================
   全下層ページのプロフェッショナル仕上げ
   ========================================================= */
.content-page,.legal-page,.article-page { background:#fff; }
.content-hero,.article-hero,.subpage__hero { position:relative; overflow:hidden; isolation:isolate; }
.content-hero::before,.article-hero::before,.subpage__hero::before { content:""; position:absolute; inset:0; z-index:-1; opacity:.28; background-image:linear-gradient(rgba(12,40,85,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(12,40,85,.045) 1px,transparent 1px); background-size:42px 42px; mask-image:linear-gradient(90deg,transparent,#000 65%,transparent); }
.content-hero { min-height:560px; display:flex; align-items:center; padding:110px 0; }
.content-hero h1,.article-hero h1,.subpage__hero h1 { letter-spacing:-.045em; }
.content-lead { line-height:1.9; }
.content-button,.plan-button,.article-cta a { border-radius:11px; transition:transform .2s ease,box-shadow .2s ease; }
.content-button:hover,.plan-button:hover,.article-cta a:hover { box-shadow:0 16px 32px rgba(18,184,120,.3); transform:translateY(-3px); }
.content-section { padding:clamp(82px,8vw,120px) 0; }
.content-heading { max-width:720px; margin:0 auto 54px; }
.origin-card,.tool-grid article,.process-diagram li,.pricing-grid article,.blog-grid article,.value-grid article,.subpage__panel { border-radius:20px; box-shadow:0 16px 50px rgba(7,29,64,.075); }
.tool-grid article,.blog-grid article,.value-grid article { transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease; }
.tool-grid article:hover,.blog-grid article:hover,.value-grid article:hover { border-color:rgba(18,184,120,.45); box-shadow:0 25px 58px rgba(7,29,64,.12); transform:translateY(-6px); }
.perma-visual { overflow:hidden; border:1px solid rgba(24,95,189,.08); box-shadow:inset 0 0 70px rgba(24,95,189,.05); }
.pricing-grid article { padding:40px 32px; }
.pricing-grid .is-recommended { box-shadow:0 26px 65px rgba(18,184,120,.15); }
.blog-thumb { height:215px; }
.article-wrap { max-width:900px; }
.article-hero { padding:110px 0; }
.article-body { padding-top:90px; }
.article-body>p { font-size:16px; }
.article-toc,.article-diagram,.example-box,.article-check,.article-cta { border-radius:18px; }
.article-toc { box-shadow:0 12px 35px rgba(7,29,64,.055); }
.legal-content { max-width:920px; }
.company-table { overflow:hidden; border:1px solid #dfe7f0; border-radius:16px; background:#fff; box-shadow:0 14px 42px rgba(7,29,64,.06); }
.company-table>div:last-child { border-bottom:0; }

@media (max-width:767px) {
  .site-header { height:70px; }
  .site-logo img { width:155px; height:50px; }
  .global-nav { top:70px; }
  .global-nav > a:not(.nav-login):not(.nav-trial)::after { display:none; }
  .site-logo--footer img { width:170px; }
  .content-hero { min-height:0; padding:68px 0 62px; }
  .content-section { padding:72px 0; }
  .content-heading { margin-bottom:37px; }
  .content-hero::before,.article-hero::before,.subpage__hero::before { display:none; }
  .origin-card,.subpage__panel { border-radius:16px; }
  .article-hero { padding:65px 0; }
  .article-body { padding-top:55px; }
}

/* =========================================================
   お問い合わせページ
   ========================================================= */
.member-account__head { display:flex; align-items:flex-start; flex-direction:column; gap:16px; }.member-account__head>div p{margin-top:0}.member-account__head>a{display:inline-flex;padding:10px 15px;border:1px solid #cbd8e7;border-radius:9px;color:var(--gl-blue);font-size:12px;font-weight:800}
.profile-page { color:#293b54; background:#f5f8fc; }.profile-hero{padding:70px 0;color:#fff;background:radial-gradient(circle at 80% 0,rgba(18,184,120,.25),transparent 30%),linear-gradient(135deg,#071d40,#0c3771)}.profile-hero p{margin:0 0 8px;color:#65dfb1;font-size:10px;font-weight:800;letter-spacing:.2em}.profile-hero h1{margin:0 0 10px;font-size:clamp(34px,5vw,48px)}.profile-hero span{color:#c8d6e8}
.profile-section { padding:75px 0 100px; }.profile-layout{display:grid;grid-template-columns:310px minmax(0,1fr);gap:55px;align-items:start}.profile-guide>a:first-child{display:inline-block;margin-bottom:30px;color:var(--gl-blue);font-size:13px;font-weight:700}.profile-guide h2{margin:0 0 12px;color:var(--gl-navy);font-size:26px}.profile-guide>p{margin:0 0 25px;color:#66768c;font-size:13px;line-height:1.8}.profile-guide>div{display:flex;padding:18px;flex-direction:column;gap:4px;border-radius:12px;color:#fff;background:var(--gl-navy)}.profile-guide>div span{color:#9fb4ce;font-size:10px}.profile-guide>div b{overflow-wrap:anywhere;font-size:12px}.profile-guide>div small{margin-top:5px;color:#91a7c1;font-size:9px}.profile-guide .profile-password{display:block;margin-top:15px;color:#718096;font-size:11px;line-height:1.7}
.profile-card{padding:38px 42px;border:1px solid #dce6f1;border-radius:20px;background:#fff;box-shadow:0 18px 50px rgba(7,29,64,.08)}.profile-form{display:grid;grid-template-columns:1fr 1fr;gap:24px 20px}.profile-form label span{display:block;margin-bottom:7px;color:var(--gl-navy);font-size:12px;font-weight:700}.profile-form label em{color:#df4252;font-size:10px;font-style:normal}.profile-form input{width:100%;height:52px;padding:0 15px;border:1px solid #ccd8e6;border-radius:9px;outline:0;background:#fbfdff;font:inherit}.profile-form input:focus{border-color:var(--gl-blue);box-shadow:0 0 0 4px rgba(24,95,189,.1)}.profile-form button{display:flex;grid-column:1/-1;width:min(100%,380px);height:56px;margin:8px auto 0;padding:0 22px;align-items:center;justify-content:center;gap:24px;border:0;border-radius:10px;color:#fff;background:linear-gradient(135deg,var(--gl-green),#079a61);cursor:pointer;font:inherit;font-weight:800;box-shadow:0 13px 30px rgba(18,184,120,.22)}
@media(max-width:767px){.member-account__head{align-items:flex-start;flex-direction:column}.member-account__head>a{width:100%;text-align:center}.profile-hero{padding:52px 0}.profile-section{padding:50px 0 75px}.profile-layout{grid-template-columns:1fr;gap:35px}.profile-card{padding:27px 20px}.profile-form{grid-template-columns:1fr}.profile-form button{grid-column:auto;width:100%}}

.member-admin-link { display:flex; margin:32px 0; padding:24px 28px; align-items:center; justify-content:space-between; gap:20px; border-radius:16px; color:#fff; background:linear-gradient(135deg,#071d40,#124a91); box-shadow:0 16px 38px rgba(7,29,64,.16); }
.member-admin-link div { display:flex; flex-direction:column; gap:4px; }
.member-admin-link span { color:#66dfb2; font-size:10px; font-weight:800; letter-spacing:.18em; }
.member-admin-link b { font-size:17px; }
.member-admin-link a { padding:12px 18px; border-radius:9px; color:#073924; background:#fff; font-size:13px; font-weight:800; }
.admin-page { color:#293b54; background:#f5f8fc; }
.admin-hero { padding:72px 0; color:#fff; background:radial-gradient(circle at 80% 0,rgba(18,184,120,.28),transparent 30%),linear-gradient(135deg,#071d40,#0c3771); }
.admin-hero p { margin:0 0 8px; color:#65dfb1; font-size:11px; font-weight:800; letter-spacing:.2em; }
.admin-hero h1 { margin:0 0 10px; font-size:clamp(35px,5vw,50px); }
.admin-hero span { color:#c8d6e8; }
.admin-section { padding:64px 0 100px; }
.admin-toolbar { display:flex; margin-bottom:28px; align-items:center; justify-content:space-between; }
.admin-toolbar a { color:var(--gl-blue); font-weight:700; }
.admin-toolbar__links { display:flex; align-items:center; gap:22px; }
.admin-toolbar span { color:#65758b; font-size:13px; }.admin-toolbar b{color:var(--gl-navy);font-size:20px}
.admin-notice { margin-bottom:22px; padding:16px 20px; border:1px solid #a5e4cb; border-radius:12px; color:#08764d; background:#edfbf6; font-weight:700; }
.admin-users { display:grid; gap:18px; }
.admin-user-card { display:grid; grid-template-columns:minmax(220px,.9fr) minmax(340px,1.25fr); gap:24px 40px; padding:28px; border:1px solid #dce6f1; border-radius:18px; background:#fff; box-shadow:0 12px 36px rgba(7,29,64,.06); }
.admin-user-card__identity>span { display:inline-flex; margin-bottom:10px; padding:4px 9px; border-radius:20px; font-size:10px; font-weight:800; }.admin-user-card__identity>span.is-active{color:#08764d;background:#e9faf4}.admin-user-card__identity>span.is-suspended{color:#a13a45;background:#fff0f1}
.admin-user-card h2 { margin:0 0 4px; color:var(--gl-navy); font-size:20px; }.admin-user-card__identity a{color:var(--gl-blue);font-size:13px}.admin-user-card__identity p{margin:8px 0 0;color:#718096;font-size:12px}
.admin-user-form { display:grid; grid-template-columns:1fr 1fr auto; gap:12px; align-items:end; }
.admin-user-form label span { display:block; margin-bottom:6px; color:#5a6b82; font-size:11px; font-weight:700; }
.admin-user-form input,.admin-user-form select { width:100%; height:44px; padding:0 12px; border:1px solid #ccd8e6; border-radius:8px; background:#fbfdff; font:inherit; }
.admin-user-form button { height:44px; padding:0 17px; border:0; border-radius:8px; color:#fff; background:var(--gl-green); cursor:pointer; font:inherit; font-size:12px; font-weight:800; }
.admin-user-card dl { display:grid; grid-column:1/-1; grid-template-columns:repeat(3,1fr); gap:1px; margin:0; overflow:hidden; border-radius:10px; background:#e3eaf2; }.admin-user-card dl div{padding:12px 15px;background:#f5f8fc}.admin-user-card dt{color:#8793a3;font-size:10px}.admin-user-card dd{margin:3px 0 0;color:#3e4f67;font-size:12px}
.admin-history { margin-top:55px; padding:30px; border:1px solid #dce6f1; border-radius:18px; background:#fff; box-shadow:0 12px 36px rgba(7,29,64,.06); }
.admin-history__head { display:flex; align-items:end; justify-content:space-between; gap:20px; }.admin-history__head p{margin:0 0 5px;color:var(--gl-green);font-size:10px;font-weight:800;letter-spacing:.18em}.admin-history__head h2{margin:0;color:var(--gl-navy);font-size:25px}.admin-history__head>span{color:#7b8899;font-size:11px}
.admin-history__note { margin:13px 0 24px; color:#718096; font-size:12px; }
.admin-delete-form { grid-column:1 / -1; display:flex; justify-content:flex-end; padding-top:16px; border-top:1px solid #edf1f5; }
.admin-delete-form button,.admin-delete-button { padding:10px 15px; border:1px solid #e8aab0; border-radius:9px; color:#a12f3a; background:#fff5f6; font-size:11px; font-weight:800; cursor:pointer; }
.admin-delete-form button:hover,.admin-delete-button:hover { border-color:#cf5965; color:#fff; background:#cf4350; }
.admin-history__table-wrap { overflow-x:auto; border:1px solid #e1e8f0; border-radius:11px; }
.admin-history table { width:100%; min-width:720px; border-collapse:collapse; font-size:12px; }.admin-history th{padding:12px 15px;color:#63738a;background:#f1f5f9;text-align:left;font-size:10px}.admin-history td{padding:14px 15px;border-top:1px solid #e5ebf2;color:#4e5f76}.admin-history td b,.admin-history td small{display:block}.admin-history td b{color:var(--gl-navy)}.admin-history td small{margin-top:2px;color:#8995a5;font-size:9px}.admin-history td>span{display:inline-flex;padding:4px 8px;border-radius:20px;font-size:10px;font-weight:800}.admin-history .is-success{color:#08764d;background:#e9faf4}.admin-history .is-error{color:#a13a45;background:#fff0f1}
.admin-trials { display:grid; gap:18px; }.admin-empty{padding:40px;border:1px solid #dce6f1;border-radius:16px;background:#fff;text-align:center;color:#718096}
.admin-trial-card { overflow:hidden; border:1px solid #dce6f1; border-radius:18px; background:#fff; box-shadow:0 12px 36px rgba(7,29,64,.06); }
.admin-trial-card header { display:flex; padding:25px 28px; align-items:center; justify-content:space-between; gap:30px; border-bottom:1px solid #e5ebf2; }.admin-trial-card header>div>span{display:inline-flex;margin-right:10px;padding:4px 9px;border-radius:20px;font-size:10px;font-weight:800}.admin-trial-card .status-new{color:#a56700;background:#fff4d7}.admin-trial-card .status-reviewing{color:#185fbd;background:#eaf2fc}.admin-trial-card .status-contacted{color:#08764d;background:#e9faf4}.admin-trial-card .status-completed{color:#56657a;background:#edf1f5}.admin-trial-card header small{color:#8a96a6;font-size:10px}.admin-trial-card h2{margin:8px 0 2px;color:var(--gl-navy);font-size:20px}.admin-trial-card header p{margin:0;color:#718096;font-size:12px}
.admin-trial-actions{display:flex;align-items:end;gap:9px}.admin-trial-card header form { display:grid; grid-template-columns:160px auto; gap:9px; align-items:end; }.admin-trial-card header form label span{display:block;margin-bottom:5px;color:#64758b;font-size:10px;font-weight:700}.admin-trial-card header select{width:100%;height:42px;padding:0 10px;border:1px solid #ccd8e6;border-radius:8px;background:#fbfdff;font:inherit}.admin-trial-card header button{height:42px;padding:0 18px;border:0;border-radius:8px;color:#fff;background:var(--gl-green);font:inherit;font-size:12px;font-weight:800;cursor:pointer}.admin-trial-card header form:last-child{display:block}.admin-trial-card header .admin-invite-button{background:var(--gl-blue);white-space:nowrap}
.admin-trial-card__body { display:grid; grid-template-columns:.85fr 1.15fr; gap:35px; padding:25px 28px; }.admin-trial-card__body dl{display:grid;gap:13px;margin:0}.admin-trial-card__body dt{color:#8995a5;font-size:10px}.admin-trial-card__body dd{margin:3px 0 0;color:#42536b;font-size:12px}.admin-trial-card__body dd a{color:var(--gl-blue);font-weight:700}.admin-trial-card__body h3{margin:0 0 8px;color:var(--gl-navy);font-size:13px}.admin-trial-card__body>div>p{margin:0;padding:14px;border-radius:9px;color:#52637a;background:#f5f8fc;font-size:12px;line-height:1.8}
@media(max-width:767px){.member-admin-link{align-items:stretch;flex-direction:column}.member-admin-link a{text-align:center}.admin-hero{padding:52px 0}.admin-section{padding:42px 0 72px}.admin-user-card{grid-template-columns:1fr;padding:20px;gap:22px}.admin-user-form{grid-template-columns:1fr}.admin-user-card dl{grid-column:auto;grid-template-columns:1fr}.admin-toolbar{align-items:flex-start;flex-direction:column;gap:12px}.admin-toolbar__links{align-items:flex-start;flex-direction:column;gap:8px}.admin-history{margin-top:38px;padding:20px}.admin-history__head{align-items:flex-start;flex-direction:column;gap:6px}.admin-trial-card header{align-items:stretch;flex-direction:column;padding:20px}.admin-trial-actions{align-items:stretch;flex-direction:column}.admin-trial-card header form{grid-template-columns:1fr auto}.admin-trial-card header .admin-invite-button{width:100%}.admin-trial-card__body{grid-template-columns:1fr;padding:20px}}

.contact-page { color:#263750; background:#fff; }
.contact-page-hero { min-height:0; padding:92px 0 86px; background:radial-gradient(circle at 82% 15%,rgba(18,184,120,.13),transparent 25%),linear-gradient(135deg,#edf5fd,#fbfdff); }
.contact-page-hero .contact-hero__inner { max-width:820px; }
.contact-page-hero .contact-hero__inner>p:last-child { margin:0; color:#52627a; font-size:17px; line-height:1.9; }
.contact-hero { position:relative; overflow:hidden; padding:92px 0 86px; text-align:center; background:radial-gradient(circle at 82% 15%,rgba(18,184,120,.13),transparent 25%),linear-gradient(135deg,#edf5fd,#fbfdff); }
.contact-hero::before { content:""; position:absolute; inset:0; opacity:.32; background-image:linear-gradient(rgba(12,40,85,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(12,40,85,.045) 1px,transparent 1px); background-size:42px 42px; mask-image:linear-gradient(90deg,transparent,#000 50%,transparent); }
.contact-hero__inner { position:relative; }
.contact-hero h1 { margin:0 0 15px; color:var(--gl-navy); font-size:clamp(38px,5vw,56px); line-height:1.3; letter-spacing:-.045em; }
.contact-hero__inner>p:last-child { margin:0; color:#52627a; font-size:17px; line-height:1.9; }
.contact-section { padding:100px 0 120px; background:linear-gradient(180deg,#fff,#f7faff); }
.contact-layout { display:grid; grid-template-columns:340px minmax(0,1fr); gap:70px; align-items:start; }
.contact-guide { position:sticky; top:120px; padding:15px 0; }
.contact-guide__label { margin:0 0 12px; color:var(--gl-green); font-size:11px; font-weight:800; letter-spacing:.2em; }
.contact-guide h2 { margin:0 0 22px; color:var(--gl-navy); font-size:36px; line-height:1.42; letter-spacing:-.04em; }
.contact-guide>p:not(.contact-guide__label) { margin:0 0 32px; color:#5b6a80; font-size:14px; line-height:1.9; }
.contact-guide ul { margin:0; padding:0; list-style:none; }
.contact-guide li { display:flex; gap:15px; padding:18px 0; border-top:1px solid #dfe7f0; align-items:center; }
.contact-guide li>span { display:grid; width:38px; height:38px; flex:0 0 38px; place-items:center; border-radius:11px; color:var(--gl-blue); background:#e9f2fc; font-size:11px; font-weight:800; }
.contact-guide li div { display:flex; flex-direction:column; gap:3px; }
.contact-guide li b { color:var(--gl-navy); font-size:14px; }
.contact-guide li small { color:#718096; font-size:11px; }
.contact-guide__note { display:flex; margin-top:28px; padding:20px; flex-direction:column; gap:4px; border-radius:14px; color:#fff; background:linear-gradient(135deg,var(--gl-navy),#123f7c); box-shadow:0 15px 35px rgba(7,29,64,.15); }
.contact-guide__note b { font-size:14px; }
.contact-guide__note small { color:#c8d7e9; }
.contact-form-card { overflow:hidden; min-height:600px; padding:46px 50px 50px; border:1px solid #dbe5f1; border-radius:24px; background:#fff; box-shadow:0 25px 75px rgba(7,29,64,.11); }
.contact-form-card__head { display:flex; margin-bottom:34px; padding-bottom:25px; align-items:center; justify-content:space-between; border-bottom:1px solid #e2e9f1; }
.contact-form-card__head>div { display:flex; align-items:center; gap:10px; }
.contact-form-card__head span { color:#8a96a6; font-size:11px; font-weight:700; }
.contact-form-card__head span:first-child { color:var(--gl-green); }
.contact-form-card__head i { width:52px; height:2px; background:linear-gradient(90deg,var(--gl-green) 50%,#dce4ed 50%); }
.contact-form-card__head p { margin:0; color:#738095; font-size:12px; }
.contact-form-card__head b,.contact-field label em { margin-right:4px; padding:3px 7px; border-radius:5px; color:#fff; background:#e34f5f; font-size:10px; font-style:normal; }
.contact-errors { margin-bottom:28px; padding:20px 23px; border:1px solid #f1b9bf; border-radius:12px; color:#8d2832; background:#fff5f6; }
.contact-errors b { display:block; margin-bottom:6px; }
.contact-errors ul { margin:0; padding-left:20px; font-size:13px; }
.contact-form { display:grid; grid-template-columns:1fr 1fr; gap:25px 22px; }
.contact-field { min-width:0; }
.contact-field--full,.contact-agree,.contact-submit,.contact-caution { grid-column:1 / -1; }
.contact-field label { display:flex; margin-bottom:9px; align-items:center; gap:7px; color:var(--gl-navy); font-size:13px; font-weight:700; }
.contact-field label span { color:#8a96a6; font-size:10px; font-weight:600; }
.contact-field input,.contact-field select,.contact-field textarea { width:100%; border:1px solid #ccd8e6; border-radius:10px; outline:0; color:#24344d; background:#fbfdff; font:inherit; font-size:14px; transition:border-color .2s ease,box-shadow .2s ease,background .2s ease; }
.contact-field input,.contact-field select { height:54px; padding:0 16px; }
.contact-field textarea { min-height:190px; padding:16px; resize:vertical; line-height:1.8; }
.contact-field input:focus,.contact-field select:focus,.contact-field textarea:focus { border-color:var(--gl-blue); background:#fff; box-shadow:0 0 0 4px rgba(24,95,189,.1); }
.contact-field input::placeholder,.contact-field textarea::placeholder { color:#a2adbb; }
.contact-select { position:relative; }
.contact-select::after { content:"⌄"; position:absolute; top:50%; right:17px; color:var(--gl-blue); font-size:18px; pointer-events:none; transform:translateY(-58%); }
.contact-select select { appearance:none; padding-right:44px; }
.contact-field>small { display:block; margin-top:6px; color:#8a96a6; text-align:right; font-size:10px; }
.contact-agree { display:flex; margin-top:4px; padding:19px 22px; align-items:flex-start; gap:12px; border-radius:10px; background:#f4f8fc; color:#596980; font-size:12px; line-height:1.7; cursor:pointer; }
.contact-agree input { width:17px; height:17px; margin:2px 0 0; flex:0 0 17px; accent-color:var(--gl-green); }
.contact-agree a { color:var(--gl-blue); font-weight:700; text-decoration:underline; }
.contact-submit { display:flex; width:min(100%,430px); min-height:62px; margin:7px auto 0; padding:12px 22px; align-items:center; justify-content:center; gap:25px; border:0; border-radius:12px; color:#fff; background:linear-gradient(135deg,var(--gl-green),#079a61); box-shadow:0 14px 32px rgba(18,184,120,.25); cursor:pointer; font:inherit; font-weight:700; transition:transform .2s ease,box-shadow .2s ease; }
.contact-submit:hover { box-shadow:0 19px 40px rgba(18,184,120,.32); transform:translateY(-3px); }
.contact-submit b { font-size:20px; }
.contact-caution { margin:-10px 0 0; color:#8b97a7; text-align:center; font-size:10px; }
.contact-hp { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.contact-success { display:flex; min-height:540px; padding:40px; align-items:center; justify-content:center; flex-direction:column; text-align:center; }
.contact-success>span { display:grid; width:76px; height:76px; margin-bottom:22px; place-items:center; border-radius:50%; color:#fff; background:var(--gl-green); box-shadow:0 16px 35px rgba(18,184,120,.25); font-size:32px; }
.contact-success>p:first-of-type { margin:0 0 7px; color:var(--gl-green); font-size:11px; font-weight:800; letter-spacing:.2em; }
.contact-success h2 { margin:0 0 15px; color:var(--gl-navy); font-size:32px; }
.contact-success>p:last-of-type { max-width:520px; margin:0 0 28px; color:#627188; line-height:1.9; }

@media (max-width:900px) {
  .contact-layout { grid-template-columns:1fr; gap:45px; }
  .contact-guide { position:static; display:grid; grid-template-columns:1fr 1fr; gap:0 40px; padding:0; }
  .contact-guide__label,.contact-guide h2,.contact-guide>p { grid-column:1; }
  .contact-guide ul,.contact-guide__note { grid-column:2; }
  .contact-guide ul { grid-row:1 / span 3; }
  .contact-guide__note { align-self:end; }
}
@media (max-width:767px) {
  .contact-page-hero { padding:63px 0 58px; }
  .contact-page-hero .contact-hero__inner>p:last-child { font-size:14px; }
  .contact-page-hero .contact-hero__inner>p:last-child br { display:none; }
  .contact-hero { padding:63px 0 58px; }
  .contact-hero::before { display:none; }
  .contact-hero__inner>p:last-child { font-size:14px; }
  .contact-hero__inner>p:last-child br { display:none; }
  .contact-section { padding:65px 0 80px; }
  .contact-layout,.contact-guide { display:block; }
  .contact-guide { margin-bottom:38px; }
  .contact-guide h2 { font-size:30px; }
  .contact-guide__note { margin-top:22px; }
  .contact-form-card { min-height:0; padding:28px 20px 34px; border-radius:18px; }
  .contact-form-card__head { display:block; }
  .contact-form-card__head>p { margin-top:15px; }
  .contact-form { grid-template-columns:1fr; gap:21px; }
  .contact-field--full,.contact-agree,.contact-submit,.contact-caution { grid-column:auto; }
  .contact-field input,.contact-field select { height:52px; }
  .contact-agree { padding:16px; }
  .contact-submit { width:100%; }
  .contact-success { min-height:430px; padding:20px 0; }
}

/* =========================================================
   PERMA 無料体験ページ
   ========================================================= */
.member-history { margin-top:55px; padding:30px; border:1px solid #dce6f1; border-radius:18px; background:#fff; box-shadow:0 12px 36px rgba(7,29,64,.06); }
.member-history__head { display:flex; align-items:end; justify-content:space-between; gap:20px; margin-bottom:22px; }
.member-history__head p { margin:0 0 5px; color:var(--gl-green); font-size:10px; font-weight:800; letter-spacing:.18em; }
.member-history__head h2 { margin:0; color:var(--gl-navy); font-size:25px; }
.member-history__head>span { color:#7b8899; font-size:11px; }
.member-history__list { display:grid; gap:10px; }
.member-history__list article { display:flex; min-height:65px; padding:14px 17px; align-items:center; justify-content:space-between; gap:18px; border:1px solid #e1e8f0; border-radius:11px; background:#fbfdff; }
.member-history__list article div { display:flex; flex-direction:column; gap:3px; }
.member-history__list b { color:var(--gl-navy); font-size:14px; }
.member-history__list time { color:#8995a5; font-size:10px; }
.member-history__list article>span { flex:0 0 auto; padding:5px 10px; border-radius:20px; color:#08764d; background:#e9faf4; font-size:10px; font-weight:800; }
.member-history__empty { margin:0; padding:24px; border-radius:11px; color:#718096; background:#f6f8fb; text-align:center; font-size:13px; }

.trial-page { color:#273850; }
.trial-hero { position:relative; overflow:hidden; padding:100px 0 108px; background:radial-gradient(circle at 85% 20%,rgba(24,95,189,.19),transparent 31%),radial-gradient(circle at 20% 100%,rgba(18,184,120,.1),transparent 28%),linear-gradient(120deg,#fff,#eff6fd); }
.trial-hero::before { content:""; position:absolute; inset:0; opacity:.27; background-image:linear-gradient(rgba(12,40,85,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(12,40,85,.05) 1px,transparent 1px); background-size:42px 42px; mask-image:linear-gradient(90deg,transparent,#000 60%,#000); }
.trial-hero__grid { position:relative; display:grid; grid-template-columns:.9fr 1.1fr; gap:70px; align-items:center; }
.trial-hero h1 { margin:0 0 24px; color:var(--gl-navy); font-size:clamp(42px,4.6vw,62px); line-height:1.27; letter-spacing:-.055em; }
.trial-hero h1 em { color:var(--gl-green); font-style:normal; }
.trial-hero__lead { margin:0 0 23px; color:#506078; font-size:17px; line-height:1.9; }
.trial-points { display:flex; margin-bottom:30px; flex-direction:column; gap:9px; color:var(--gl-navy); font-size:13px; font-weight:700; }
.trial-points span::first-letter { color:var(--gl-green); }
.trial-hero__button { display:inline-flex; min-height:58px; padding:13px 29px; align-items:center; gap:23px; border-radius:12px; color:#fff; background:linear-gradient(135deg,var(--gl-green),#079a61); box-shadow:0 15px 34px rgba(18,184,120,.26); font-weight:700; transition:transform .2s ease,box-shadow .2s ease; }
.trial-hero__button:hover { box-shadow:0 20px 42px rgba(18,184,120,.34); transform:translateY(-3px); }
.trial-preview { overflow:hidden; border:9px solid #0b203e; border-radius:24px; background:#fff; box-shadow:0 35px 85px rgba(7,29,64,.24); transform:perspective(1400px) rotateY(-3deg); }
.trial-preview__top { display:flex; height:38px; padding:0 16px; align-items:center; gap:8px; color:#fff; background:#0b203e; }
.trial-preview__top>span { width:9px; height:9px; margin-right:25px; border-radius:50%; background:#12b878; box-shadow:15px 0 #ffc858,30px 0 #ff7272; }
.trial-preview__top b { font-size:12px; }.trial-preview__top small{margin-left:auto;color:#9eb3cd;font-size:8px;letter-spacing:.12em}
.trial-preview__body { display:grid; grid-template-columns:150px 1fr; min-height:400px; }
.trial-preview nav { display:flex; padding:24px 12px; flex-direction:column; gap:8px; color:#dce9f8; background:linear-gradient(180deg,#0b448e,#0c2855); font-size:10px; }
.trial-preview nav b { margin:0 8px 13px; color:#fff; font-size:14px; }.trial-preview nav span{padding:10px 9px;border-radius:7px}.trial-preview nav .is-current{color:#fff;background:rgba(255,255,255,.16)}
.trial-preview__main { padding:28px; background:#f5f8fc; }
.trial-preview__main>p { margin:0;color:var(--gl-green);font-size:9px;font-weight:800;letter-spacing:.12em }.trial-preview__main h2{margin:3px 0 20px;color:var(--gl-navy);font-size:21px}
.trial-preview__main label { display:block; margin-bottom:13px; color:#33455f; font-size:10px; font-weight:700; }.trial-preview__main label span{display:block;margin-top:5px;padding:11px;border:1px solid #d9e3ee;border-radius:7px;color:#65748a;background:#fff;font-weight:500}
.trial-preview__main button { width:100%; margin-top:5px; padding:13px; border:0; border-radius:8px; color:#fff; background:var(--gl-blue); font-weight:700; }
.trial-value { padding:105px 0; }
.trial-value__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.trial-value__grid article { padding:35px 30px; border:1px solid #dce6f2; border-radius:20px; background:#fff; box-shadow:0 16px 48px rgba(7,29,64,.075); transition:transform .25s ease,box-shadow .25s ease; }
.trial-value__grid article:hover { box-shadow:0 25px 60px rgba(7,29,64,.12); transform:translateY(-6px); }
.trial-value__grid i { display:grid; width:48px; height:48px; margin-bottom:20px; place-items:center; border-radius:14px; color:var(--gl-blue); background:#eaf2fc; font-size:11px; font-style:normal; font-weight:800; }
.trial-value__grid h3 { margin:0 0 9px; color:var(--gl-navy); font-size:19px; }.trial-value__grid p{margin:0;color:#596a81;font-size:14px;line-height:1.85}
.trial-steps { padding:100px 0; background:linear-gradient(135deg,#edf5fd,#f9fcff); }
.trial-steps ol { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin:0; padding:0; list-style:none; }
.trial-steps li { position:relative; min-height:190px; padding:30px 24px; border:1px solid rgba(24,95,189,.1); border-radius:18px; background:rgba(255,255,255,.9); box-shadow:0 13px 36px rgba(7,29,64,.06); }
.trial-steps li:not(:last-child)::after { content:"→"; position:absolute; top:50%; right:-17px; z-index:2; display:grid; width:34px; height:34px; place-items:center; border-radius:50%; color:#fff; background:var(--gl-green); transform:translateY(-50%); }
.trial-steps li span { color:var(--gl-green); font-size:10px; font-weight:800; letter-spacing:.12em; }.trial-steps li b{display:block;margin:9px 0;color:var(--gl-navy);font-size:17px}.trial-steps li p{margin:0;color:#617188;font-size:13px;line-height:1.8}
.trial-form-section { padding:115px 0; background:#fff; }
.trial-form-layout { display:grid; grid-template-columns:310px minmax(0,1fr); gap:70px; align-items:start; }
.trial-form-intro { position:sticky; top:120px; }
.trial-form-intro h2 { margin:0 0 18px; color:var(--gl-navy); font-size:36px; letter-spacing:-.04em; }.trial-form-intro>p:not(.content-kicker){margin:0 0 27px;color:#5a6a80;line-height:1.9}
.trial-form-intro>div { display:flex; margin-bottom:23px; padding:20px; align-items:center; justify-content:space-between; border-radius:14px; color:#fff; background:var(--gl-navy); }.trial-form-intro>div b{font-size:13px}.trial-form-intro>div span{color:#69dfb3;font-size:20px;font-weight:800}
.trial-form-intro small { color:#7d8999; line-height:1.8; }.trial-form-intro small a{color:var(--gl-blue);font-weight:700;text-decoration:underline}
.trial-form-card { padding:48px 50px 52px; border:1px solid #dbe5f1; border-radius:24px; background:#fff; box-shadow:0 25px 75px rgba(7,29,64,.11); }
.trial-form { display:grid; grid-template-columns:1fr 1fr; gap:25px 22px; }
.trial-tool-select { grid-column:1 / -1; margin:0; padding:0; border:0; }
.trial-tool-select legend { display:flex; margin-bottom:10px; align-items:center; gap:7px; color:var(--gl-navy); font-size:13px; font-weight:700; }.trial-tool-select legend em{padding:3px 7px;border-radius:5px;color:#fff;background:#e34f5f;font-size:10px;font-style:normal}.trial-tool-select legend small{color:#8a96a6;font-size:10px;font-weight:600}
.trial-tool-select>div { display:grid; grid-template-columns:repeat(3,1fr); gap:9px; }
.trial-tool-select label { cursor:pointer; }.trial-tool-select input{position:absolute;opacity:0}.trial-tool-select label span{display:flex;min-height:48px;padding:8px;align-items:center;justify-content:center;border:1px solid #ccd8e6;border-radius:9px;color:#596a80;background:#fbfdff;text-align:center;font-size:11px;font-weight:700;transition:.2s}.trial-tool-select input:checked+span{border-color:var(--gl-green);color:#087c50;background:#ecfaf5;box-shadow:0 0 0 2px rgba(18,184,120,.1)}.trial-tool-select input:focus-visible+span{outline:3px solid rgba(24,95,189,.25)}
.trial-faq { padding:100px 0 115px; background:#f3f7fc; }

@media (max-width:1000px) {
  .trial-hero__grid { grid-template-columns:.85fr 1.15fr; gap:35px; }
  .trial-preview { transform:none; }
  .trial-preview__body { grid-template-columns:105px 1fr; }
  .trial-form-layout { grid-template-columns:260px minmax(0,1fr); gap:40px; }
}
@media (max-width:767px) {
  .member-history { margin-top:38px; padding:20px; }
  .member-history__head { align-items:flex-start; flex-direction:column; gap:6px; }
  .member-history__list article { align-items:flex-start; }
  .trial-hero { padding:63px 0 70px; }
  .trial-hero::before { display:none; }
  .trial-hero__grid { display:flex; flex-direction:column; gap:45px; }
  .trial-hero h1 { font-size:39px; }
  .trial-hero__button { width:100%; justify-content:center; }
  .trial-preview { width:100%; border-width:6px; border-radius:17px; }
  .trial-preview__body { grid-template-columns:75px 1fr; min-height:360px; }
  .trial-preview nav { padding:18px 5px; font-size:0; }.trial-preview nav b{font-size:9px}.trial-preview nav span{padding:10px 3px;text-align:center}.trial-preview nav span::first-letter{font-size:13px}
  .trial-preview__main { padding:19px 14px; }.trial-preview__main h2{font-size:17px}
  .trial-value,.trial-steps,.trial-form-section,.trial-faq { padding:72px 0; }
  .trial-value__grid,.trial-steps ol,.trial-form-layout { grid-template-columns:1fr; }
  .trial-steps ol { gap:16px; }.trial-steps li{min-height:150px}.trial-steps li:not(:last-child)::after{content:"↓";top:auto;right:calc(50% - 17px);bottom:-17px;transform:none}
  .trial-form-layout { display:block; }.trial-form-intro{position:static;margin-bottom:35px}.trial-form-intro h2{font-size:30px}
  .trial-form-card { padding:30px 20px 35px; border-radius:18px; }
  .trial-form { grid-template-columns:1fr; gap:21px; }
  .trial-tool-select,.trial-form .contact-field--full,.trial-form .contact-agree,.trial-form .contact-submit,.trial-form .contact-caution { grid-column:auto; }
  .trial-tool-select>div { grid-template-columns:1fr 1fr; }
}
