/* ==========================================================================
   RIK未来塾 共通スタイル
   - index.html / succession.html / partner.html で共用
   - 旧 Claude Design 版（インラインスタイル）を静的HTML用に整理したもの
   ========================================================================== */

@font-face{font-family:'Noto Sans JP';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/noto-sans-jp-400.woff2') format('woff2');}
@font-face{font-family:'Noto Sans JP';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/noto-sans-jp-500.woff2') format('woff2');}
@font-face{font-family:'Noto Sans JP';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/noto-sans-jp-700.woff2') format('woff2');}
@font-face{font-family:'Zen Old Mincho';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/zen-old-mincho-400.woff2') format('woff2');}
@font-face{font-family:'Zen Old Mincho';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/zen-old-mincho-700.woff2') format('woff2');}

:root{
  --ink:#0B1B26;
  --ink-2:#2E3E49;
  --ink-soft:#4A5964;
  --ink-muted:#78868F;
  --navy:#0B3A54;
  --navy-dark:#062A3E;
  --navy-deep:#0B1F2C;
  --accent:#0082B4;
  --accent-hover:#006B94;
  --sky:#8FC8E4;
  --sky-2:#7FC8F0;
  --bg:#FFFFFF;
  --bg-alt:#F2F5F7;
  --line:#DDE4E9;
  --red:#C0392B;
  --gold:#C9A961;
  --font-sans:'Noto Sans JP',sans-serif;
  --font-serif:'Zen Old Mincho',serif;
  --ease:cubic-bezier(0.16,1,0.3,1);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;line-height:1.7;}
a{color:var(--navy);text-decoration:none;transition:color .18s var(--ease),background .18s var(--ease),border-color .18s var(--ease);}
a:hover{color:var(--navy-dark);}
h1,h2,h3,h4,p,ul,li,figure{margin:0;padding:0;}
ul{list-style:none;}
img{max-width:100%;}
strong{font-weight:700;}

.page{min-height:100vh;display:flex;flex-direction:column;}
.container{width:100%;max-width:1440px;margin:0 auto;padding:0 2rem;}
.container--narrow{max-width:1200px;}
.section{padding:clamp(5rem,9vw,8rem) 0;scroll-margin-top:5rem;}
.section--compact{padding:clamp(4.5rem,8vw,7rem) 0;}
.section--alt{background:var(--bg-alt);}
.section--dark{background:var(--navy-deep);color:#fff;}
.section-head{text-align:center;margin-bottom:4rem;}
.section-head--tight{margin-bottom:3rem;}
.eyebrow{display:inline-block;font-size:0.75rem;font-weight:700;letter-spacing:0.26em;color:var(--accent);margin-bottom:1.75rem;}
.section--dark .eyebrow{color:var(--sky-2);}
.h2{font-family:var(--font-serif);font-weight:700;font-size:clamp(2rem,4.2vw,3.25rem);line-height:1.45;color:var(--ink);letter-spacing:0.02em;text-wrap:pretty;}
.h2--md{font-size:clamp(1.875rem,3.8vw,2.875rem);}
.h2--sm{font-size:clamp(1.625rem,3.4vw,2.5rem);}
.section--dark .h2{color:#fff;}
.lead{font-size:1.125rem;color:var(--ink-soft);line-height:2;}
.sub-title{font-size:clamp(1.0625rem,1.6vw,1.25rem);font-weight:600;color:var(--navy);}
.note{font-size:0.875rem;color:var(--ink-muted);line-height:1.9;}
.note--indent{text-indent:-1em;padding-left:1em;}
.center{text-align:center;}
.mw-48{max-width:48rem;margin-left:auto;margin-right:auto;}
.mw-56{max-width:56rem;margin-left:auto;margin-right:auto;}
.mw-64{max-width:64rem;margin-left:auto;margin-right:auto;}
.mw-72{max-width:72rem;margin-left:auto;margin-right:auto;}
.mw-78{max-width:78rem;margin-left:auto;margin-right:auto;}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}

/* --------------------------------------------------------------------------
   Buttons
   -------------------------------------------------------------------------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:0.5rem;border-radius:9999px;font-weight:700;color:#fff;transition:background .18s var(--ease),transform .18s var(--ease),color .18s var(--ease);white-space:nowrap;}
.btn:active{transform:scale(0.98);}
.btn--navy{background:var(--navy);box-shadow:0 12px 30px rgba(11,58,84,0.3);}
.btn--navy:hover{background:var(--navy-dark);color:#fff;}
.btn--accent{background:var(--accent);box-shadow:0 16px 36px rgba(0,0,0,0.35);}
.btn--accent:hover{background:var(--accent-hover);color:#fff;}
.btn--lg{padding:1.2rem 2.75rem;font-size:clamp(1rem,1.5vw,1.1875rem);}
.btn--md{padding:1.1rem 2.5rem;font-size:clamp(0.95rem,1.4vw,1.125rem);}
.btn--sm{padding:0.7rem 1.4rem;font-size:0.875rem;box-shadow:0 6px 16px rgba(11,58,84,0.25);}
.btn--ghost{background:transparent;border:1px solid rgba(255,255,255,0.55);color:#fff;box-shadow:none;}
.btn--ghost:hover{background:rgba(255,255,255,0.12);color:#fff;}
.btn--outline{background:#fff;border:1px solid var(--navy);color:var(--navy);box-shadow:none;}
.btn--outline:hover{background:var(--navy);color:#fff;}
.btn svg{flex-shrink:0;}

/* --------------------------------------------------------------------------
   Header
   -------------------------------------------------------------------------- */
.site-header{position:sticky;top:0;z-index:50;box-shadow:0 1px 0 rgba(11,58,84,0.07);background:rgba(255,255,255,0.97);border-bottom:1px solid rgba(226,232,240,0.7);}
.site-header__inner{width:100%;max-width:1440px;margin:0 auto;padding:0.5rem 2rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;}
.site-header__logo img{height:76px;width:auto;display:block;}
.site-header__logo-sub{font-size:0.8125rem;color:var(--ink-muted);letter-spacing:0.06em;margin-left:1rem;}
.site-nav{display:flex;align-items:center;gap:0.25rem;flex-wrap:wrap;justify-content:flex-end;}
.site-nav a{padding:0.5rem 0.9rem;font-size:0.875rem;font-weight:500;color:var(--ink-soft);}
.site-nav a:hover{color:var(--navy);}
.site-nav a.is-emph{color:var(--navy);font-weight:700;}
.site-nav .btn{margin-left:0.5rem;padding:0.7rem 1.4rem;font-size:0.875rem;color:#fff;}
.nav-toggle{display:none;width:44px;height:44px;border:1px solid var(--line);border-radius:0.5rem;background:#fff;cursor:pointer;padding:0;align-items:center;justify-content:center;flex-shrink:0;}
.nav-toggle span{display:block;width:20px;height:2px;background:var(--navy);position:relative;transition:background .2s;}
.nav-toggle span::before,.nav-toggle span::after{content:'';position:absolute;left:0;width:20px;height:2px;background:var(--navy);transition:transform .2s;}
.nav-toggle span::before{top:-6px;}
.nav-toggle span::after{top:6px;}
.nav-toggle[aria-expanded="true"] span{background:transparent;}
.nav-toggle[aria-expanded="true"] span::before{transform:translateY(6px) rotate(45deg);}
.nav-toggle[aria-expanded="true"] span::after{transform:translateY(-6px) rotate(-45deg);}

/* --------------------------------------------------------------------------
   Hero (index)
   -------------------------------------------------------------------------- */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:5.5rem 0 7rem;}
.hero__bg{position:absolute;inset:0;z-index:0;}
.hero__bg img{width:100%;height:100%;object-fit:cover;display:block;}
.hero__bg::before{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,rgba(6,20,29,0.86),rgba(6,20,29,0.74),rgba(6,20,29,0.9));}
.hero__bg::after{content:'';position:absolute;inset:0;background:radial-gradient(120% 80% at 50% 45%,transparent 0%,rgba(6,20,29,0.55) 100%);}
.hero__inner{position:relative;z-index:1;width:100%;max-width:1100px;margin:0 auto;padding:0 2rem;text-align:center;}
.hero__kicker{font-size:clamp(0.9375rem,1.5vw,1.1875rem);font-weight:700;letter-spacing:0.18em;color:var(--sky);margin-bottom:1.25rem;}
.pill{display:inline-flex;align-items:center;gap:0.625rem;padding:0.625rem 1.25rem;background:rgba(255,255,255,0.12);border:1px solid rgba(255,255,255,0.28);color:#fff;font-size:1rem;font-weight:700;border-radius:9999px;}
.pill--sm{font-size:0.9375rem;font-weight:600;gap:0.5rem;}
.hero__badge{margin-bottom:2rem;}
.hero__title{font-family:var(--font-serif);font-weight:700;font-size:clamp(2.25rem,5.2vw,4.5rem);line-height:1.32;letter-spacing:0.04em;color:#fff;margin-bottom:1.75rem;text-wrap:pretty;text-shadow:0 2px 24px rgba(0,0,0,0.45);}
.hero__title em{font-style:normal;color:var(--sky);}
.hero__copy{font-family:var(--font-serif);font-size:clamp(1.125rem,2vw,1.625rem);font-weight:500;color:rgba(255,255,255,0.92);line-height:2;letter-spacing:0.06em;max-width:48rem;margin:0 auto 2.5rem;text-shadow:0 1px 14px rgba(0,0,0,0.4);}
.hero__brand{font-family:var(--font-serif);font-weight:700;font-size:clamp(1.75rem,3vw,2.75rem);letter-spacing:0.06em;color:#fff;margin-bottom:2rem;}
.hero__chips{display:flex;flex-wrap:wrap;gap:0.75rem;justify-content:center;margin-bottom:3rem;}
.hero__cta{display:flex;flex-direction:column;align-items:center;gap:0.75rem;}
.hero__cta-label{font-size:clamp(1.0625rem,1.6vw,1.25rem);font-weight:700;color:#fff;}
.hero__deadline{font-size:0.9375rem;font-weight:700;color:#FFB4B4;letter-spacing:0.04em;}
.hero__scroll{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);z-index:1;display:flex;flex-direction:column;align-items:center;gap:0.5rem;color:rgba(255,255,255,0.6);}
.hero__scroll span{font-size:0.75rem;font-weight:500;letter-spacing:0.1em;text-transform:uppercase;}

/* --------------------------------------------------------------------------
   Status / stats
   -------------------------------------------------------------------------- */
.stats{display:flex;flex-wrap:wrap;justify-content:center;align-items:stretch;gap:0;margin:0 auto 3.5rem;border:1px solid #C8CFD6;border-radius:0.75rem;overflow:hidden;background:#fff;max-width:48rem;}
.stat{flex:1 1 240px;padding:1.75rem 2rem;text-align:center;background:linear-gradient(180deg,#ECEFF2,#E3E7EB);}
.stat + .stat{border-left:1px solid #C8CFD6;}
.stat__label{font-size:0.8125rem;font-weight:700;letter-spacing:0.12em;color:var(--ink-muted);margin-bottom:0.5rem;}
.stat__value{font-family:var(--font-serif);font-size:clamp(1.75rem,3vw,2.5rem);font-weight:700;color:var(--navy);line-height:1.2;letter-spacing:0.02em;}
.stat__value small{font-size:0.55em;font-family:var(--font-sans);font-weight:700;margin-left:0.15em;}
.stat__note{font-size:0.75rem;color:var(--ink-muted);margin-top:0.35rem;}
.photo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;}
.photo-grid figure{margin:0;}
.photo-grid .frame{aspect-ratio:4/3;border-radius:0.5rem;overflow:hidden;border:1px solid var(--line);background:var(--bg-alt);}
.photo-grid img{width:100%;height:100%;object-fit:cover;display:block;}
.photo-grid figcaption{margin-top:0.75rem;font-size:0.875rem;color:var(--ink-muted);text-align:center;}
.voices-title{text-align:center;font-size:clamp(1.0625rem,1.7vw,1.25rem);font-weight:700;color:var(--ink);margin-bottom:2.5rem;}
.bubble-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.25rem;}
.bubble{position:relative;background:#ECEFF2;border:1px solid #C8CFD6;border-radius:0.75rem;padding:1.75rem;margin-bottom:0.75rem;box-shadow:0 6px 20px rgba(11,31,44,0.12),0 1px 3px rgba(11,31,44,0.08);}
.bubble::after{content:'';position:absolute;left:2.5rem;bottom:-10px;width:18px;height:18px;background:#ECEFF2;border-right:1px solid #C8CFD6;border-bottom:1px solid #C8CFD6;transform:rotate(45deg);box-shadow:3px 3px 8px rgba(11,31,44,0.08);}
.bubble p{font-size:0.9375rem;color:var(--ink-2);line-height:1.95;}
.bubble--persona{padding:1.75rem 1.5rem;display:flex;flex-direction:column;gap:1.25rem;}
.bubble__who{display:flex;align-items:center;gap:0.875rem;}
.bubble__avatar{width:2.75rem;height:2.75rem;border-radius:9999px;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.bubble__who p{font-size:0.8125rem;color:var(--ink-muted);line-height:1.7;white-space:pre-line;}
.bubble__quote{white-space:pre-line;}

/* --------------------------------------------------------------------------
   Cards / grids
   -------------------------------------------------------------------------- */
.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.25rem;}
.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;}
.card{display:flex;flex-direction:column;border-radius:0.5rem;overflow:hidden;background:#fff;border:1px solid var(--line);transition:border-color .22s var(--ease),box-shadow .22s var(--ease);}
.card:hover{border-color:var(--navy);}
.card__img{aspect-ratio:4/3;overflow:hidden;background:var(--bg-alt);}
.card__img img{width:100%;height:100%;object-fit:cover;display:block;}
.card__body{padding:1.5rem;}
.icon-box{width:3.5rem;height:3.5rem;background:linear-gradient(135deg,var(--navy),var(--accent));border-radius:0.5rem;display:flex;align-items:center;justify-content:center;margin-bottom:1rem;box-shadow:0 10px 20px rgba(11,58,84,0.2);color:#fff;flex-shrink:0;}
.icon-box svg{display:block;}
.card__title{font-size:1.25rem;font-weight:700;color:var(--ink);margin-bottom:0.25rem;}
.card__sub{font-size:0.875rem;font-weight:600;color:var(--navy);margin-bottom:0.5rem;}
.card__text{font-size:0.875rem;color:var(--ink-soft);line-height:1.85;white-space:pre-line;}

.check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:1rem;}
.check-item{display:flex;align-items:center;gap:1rem;background:linear-gradient(135deg,#ECEFF2,#E3E7EB);border:1px solid #C8CFD6;border-radius:0.5rem;padding:1.25rem 1.5rem;}
.check-item__box{width:1.375rem;height:1.375rem;background:#fff;border:1px solid rgba(11,58,84,0.45);border-radius:0.2rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.check-item__icon{color:var(--navy);flex-shrink:0;display:flex;align-items:center;}
.check-item__icon svg{display:block;}
.check-item p{font-size:1rem;color:var(--ink-2);line-height:1.8;}
.callout{background:linear-gradient(135deg,#ECEFF2,#E3E7EB);border:1px solid #C8CFD6;border-radius:0.5rem;padding:clamp(2rem,4vw,2.75rem);text-align:center;}
.callout__pre{font-size:1rem;color:var(--ink-muted);margin-bottom:0.9rem;}
.callout__main{font-family:var(--font-serif);font-size:clamp(1.375rem,2.6vw,2rem);font-weight:700;color:var(--ink);letter-spacing:0.02em;}

.list-check{display:flex;flex-direction:column;gap:1rem;}
.list-check__item{display:flex;align-items:flex-start;gap:1rem;padding:1.25rem;background:linear-gradient(135deg,#ECEFF2,#E3E7EB);border-radius:0.5rem;border:1px solid #C8CFD6;}
.list-check__item--center{align-items:center;gap:1.25rem;}
.list-check__mark{width:2rem;height:2rem;background:#fff;border:1px solid rgba(11,58,84,0.25);border-radius:9999px;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:0.15rem;}
.list-check__item--center .list-check__mark{width:2.5rem;height:2.5rem;margin-top:0;}
.list-check__item p{font-size:clamp(1rem,1.4vw,1.125rem);font-weight:500;color:var(--ink-2);line-height:1.8;}
.closing{text-align:center;font-size:clamp(1.0625rem,1.6vw,1.25rem);font-weight:700;color:var(--navy);margin-top:3rem;line-height:1.8;}

/* --------------------------------------------------------------------------
   Assets（会社に残す、4つの経営資産）
   -------------------------------------------------------------------------- */
.assets{position:relative;background:var(--navy-deep);color:#fff;overflow:hidden;}
.assets::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(143,200,228,0.06) 1px,transparent 1px),linear-gradient(90deg,rgba(143,200,228,0.06) 1px,transparent 1px);background-size:48px 48px;pointer-events:none;}
.assets::after{content:'';position:absolute;inset:0;background:radial-gradient(80% 60% at 50% 0%,rgba(0,130,180,0.22),transparent 70%);pointer-events:none;}
.assets .container{position:relative;z-index:1;}
.assets__title{font-family:var(--font-serif);font-weight:700;font-size:clamp(2rem,4.2vw,3.25rem);line-height:1.45;letter-spacing:0.04em;color:#fff;}
.assets__title em{font-style:normal;color:var(--sky);}
.assets__rule{display:flex;align-items:center;justify-content:center;gap:0.75rem;margin:1.5rem auto 0;max-width:22rem;}
.assets__rule::before,.assets__rule::after{content:'';flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--gold));}
.assets__rule::after{background:linear-gradient(90deg,var(--gold),transparent);}
.assets__rule i{width:8px;height:8px;border:1px solid var(--gold);transform:rotate(45deg);display:block;}
.assets__lead{font-size:clamp(1rem,1.5vw,1.125rem);color:rgba(255,255,255,0.78);line-height:2;margin-top:1.75rem;}
.asset-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem;max-width:78rem;margin:3.5rem auto 0;}
.asset{position:relative;border:1px solid rgba(143,200,228,0.32);border-radius:0.5rem;background:linear-gradient(180deg,rgba(255,255,255,0.05),rgba(255,255,255,0.02));padding:2.25rem 1.5rem 2rem;text-align:center;transition:border-color .22s var(--ease),transform .22s var(--ease);}
.asset:hover{border-color:var(--sky);transform:translateY(-3px);}
.asset::before{content:'';position:absolute;top:-1px;left:50%;transform:translateX(-50%) rotate(45deg);width:9px;height:9px;background:var(--navy-deep);border:1px solid var(--gold);}
.asset__icon{width:6.5rem;height:6.5rem;margin:0 auto 1.75rem;border-radius:9999px;border:1px solid rgba(143,200,228,0.35);display:flex;align-items:center;justify-content:center;color:var(--sky);background:radial-gradient(circle at 50% 50%,rgba(0,130,180,0.25),transparent 70%);}
.asset__icon svg{display:block;}
.asset__divider{height:1px;background:linear-gradient(90deg,transparent,rgba(201,169,97,0.7),transparent);margin:0 auto 1.25rem;}
.asset__name{font-family:var(--font-serif);font-size:clamp(1.5rem,2.2vw,1.875rem);font-weight:700;letter-spacing:0.12em;color:#fff;display:flex;align-items:baseline;justify-content:center;gap:0.75rem;}
.asset__name .num{font-size:0.8em;color:var(--sky);letter-spacing:0.04em;font-weight:400;}
.asset__name .num::after{content:'';display:inline-block;width:1px;height:0.9em;background:rgba(143,200,228,0.5);margin-left:0.75rem;vertical-align:-0.1em;}
.asset__desc{font-size:0.9375rem;color:rgba(255,255,255,0.8);margin-top:0.75rem;line-height:1.8;}

/* --------------------------------------------------------------------------
   Program
   -------------------------------------------------------------------------- */
.intro-box{background:#fff;border-radius:0.625rem;padding:2rem;box-shadow:0 10px 25px rgba(15,23,42,0.06);border:1px solid var(--line);}
.intro-box p{font-size:1.125rem;color:var(--ink-2);line-height:2;}
.tag-dark{display:inline-block;padding:0.5rem 1.25rem;background:var(--navy-deep);color:#fff;font-size:0.875rem;font-weight:700;border-radius:9999px;}
.program-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;}
.program{position:relative;padding:1.5rem;border-radius:0.5rem;border:1px solid var(--line);display:flex;flex-direction:column;transition:border-color .22s var(--ease);}
.program:hover{border-color:var(--navy);}
.program--real{background:linear-gradient(135deg,#DDE2E7,#D2D8DE);border-color:#B5BEC6;}
.program--online{background:linear-gradient(135deg,#ECEFF2,#E3E7EB);border-color:#C8CFD6;}
.program__n{position:absolute;top:1rem;right:1rem;width:2rem;height:2rem;border-radius:9999px;display:flex;align-items:center;justify-content:center;font-size:0.875rem;font-weight:700;background:rgba(11,58,84,0.1);color:var(--navy);}
.program__title{font-size:1.125rem;font-weight:700;color:var(--ink);margin-bottom:0.25rem;padding-right:2.5rem;}
.program__sub{font-size:0.875rem;color:var(--ink-soft);margin-bottom:0.75rem;}
.program__meta{border-top:1px solid var(--line);padding-top:0.75rem;margin-top:auto;}
.program__date{font-size:0.8125rem;font-weight:700;color:var(--ink);background:#EEF4F8;border:1px solid #CFDFE9;border-radius:0.375rem;padding:0.25rem 0.5rem;display:inline-flex;align-items:center;gap:0.35rem;}
.program__mode{display:inline-block;margin-top:0.35rem;padding:0.15rem 0.5rem;font-size:0.75rem;font-weight:700;border-radius:0.25rem;}
.program--real .program__mode{background:var(--navy);color:#fff;}
.program--online .program__mode{background:#e2e8f0;color:#334155;}
.program__lecturer{margin-top:0.6rem;font-size:0.75rem;color:var(--ink-muted);line-height:1.7;min-height:1.2em;}
.program-notes{max-width:56rem;margin:2rem auto 0;}
.program-notes p{font-size:0.9375rem;color:var(--ink-2);line-height:1.9;margin-bottom:0.6rem;}
.program-notes p.note{font-size:0.875rem;color:var(--ink-muted);margin-bottom:0.4rem;}
.schedule-notice{display:flex;align-items:center;justify-content:center;gap:0.75rem;max-width:56rem;margin:2rem auto 0;padding:1.1rem 1.5rem;background:#FFF7E6;border:2px solid #E0A93A;border-radius:0.5rem;color:#8A5A00;}
.schedule-notice svg{flex-shrink:0;color:#D9930F;}
.schedule-notice p{font-size:clamp(1.0625rem,1.6vw,1.25rem);font-weight:700;letter-spacing:0.04em;line-height:1.6;}
@media (max-width:640px){.schedule-notice{padding:0.9rem 1rem;text-align:left;}}
.goal-box{background:var(--navy-deep);color:#fff;border-radius:0.625rem;padding:clamp(2rem,4vw,2.5rem);text-align:center;}
.goal-box p{font-size:clamp(1.0625rem,1.7vw,1.25rem);line-height:2;}
.goal-box strong{color:var(--sky-2);}

/* --------------------------------------------------------------------------
   Overview
   -------------------------------------------------------------------------- */
.spec-list{background:linear-gradient(160deg,#ECEFF2,#E3E7EB);border-radius:0.625rem;border:1px solid #C8CFD6;overflow:hidden;}
.spec{padding:1.5rem;border-bottom:1px solid #C8CFD6;}
.spec:last-child{border-bottom:none;}
.spec__head{display:flex;align-items:center;gap:1rem;margin-bottom:0.5rem;}
.spec__icon{width:3rem;height:3rem;background:#fff;border:1px solid rgba(11,58,84,0.2);border-radius:0.5rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--navy);}
.spec__icon svg{display:block;}
.spec__label{font-size:0.875rem;font-weight:500;color:var(--ink-muted);}
.spec__value{font-size:1.125rem;font-weight:600;color:var(--ink);}
.spec__text{font-size:0.875rem;color:var(--ink-soft);line-height:1.9;margin-left:4rem;}

/* --------------------------------------------------------------------------
   Community (dark)
   -------------------------------------------------------------------------- */
.community-text p{font-size:1.0625rem;color:rgba(255,255,255,0.75);line-height:1.9;margin-bottom:1rem;}
.community-text p.big{font-size:clamp(1.0625rem,1.6vw,1.25rem);color:rgba(255,255,255,0.85);}
.community-list{text-align:left;max-width:28rem;margin:0 auto 1.5rem;}
.community-list p{font-size:1rem;color:rgba(255,255,255,0.7);line-height:2;}
.dark-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;text-align:left;margin-top:2rem;}
.dark-card{background:rgba(255,255,255,0.1);border-radius:0.5rem;padding:1.25rem;}
.dark-card h3{font-size:1.125rem;font-weight:700;margin-bottom:0.5rem;color:#fff;}
.dark-card p{font-size:0.875rem;color:rgba(255,255,255,0.7);line-height:1.9;}

/* --------------------------------------------------------------------------
   Lecturers
   -------------------------------------------------------------------------- */
.lecturer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;align-items:start;}
.lecturer-grid--wide{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));}
.lecturer-role{font-size:clamp(1rem,1.5vw,1.25rem);font-weight:700;color:var(--ink);margin-bottom:1.25rem;text-align:center;}
.lecturer{display:flex;flex-direction:column;border-radius:0.5rem;overflow:hidden;background:#fff;border:1px solid var(--line);}
.lecturer__img{aspect-ratio:4/3;overflow:hidden;background:var(--bg-alt);}
.lecturer__img img{width:100%;height:100%;object-fit:cover;display:block;}
.lecturer__img--top img{object-position:center 15%;}
.lecturer__body{padding:1.5rem;}
.lecturer__name{font-size:1.25rem;font-weight:700;color:var(--ink);margin-bottom:0.25rem;}
.lecturer__org{font-size:0.875rem;color:var(--ink-muted);margin-bottom:0.25rem;}
.lecturer__post{font-size:0.875rem;color:var(--navy);font-weight:600;margin-bottom:1rem;min-height:1.2em;}
.lecturer__bio{font-size:0.875rem;color:var(--ink-soft);line-height:1.95;}
.lecturers-lead{font-size:1rem;color:var(--ink-muted);max-width:42rem;margin:0 auto;line-height:1.9;}

/* --------------------------------------------------------------------------
   FAQ
   -------------------------------------------------------------------------- */
summary::-webkit-details-marker{display:none;}
summary::marker{content:'';}
details.faq-item{border-bottom:1px solid var(--line);}
details.faq-item>summary{cursor:pointer;padding:1.15rem 0;font-weight:700;color:var(--ink);display:flex;justify-content:space-between;align-items:center;gap:1rem;list-style:none;font-size:1.0625rem;}
details.faq-item>summary::after{content:'+';font-size:1.35rem;color:var(--navy);transition:transform .2s;flex-shrink:0;}
details.faq-item[open]>summary::after{content:'−';}
details.faq-item .faq-a{padding:0 0 1.25rem;}
details.faq-item .faq-a p{font-size:1rem;color:var(--ink-soft);line-height:1.95;}

/* --------------------------------------------------------------------------
   Closing / Final CTA
   -------------------------------------------------------------------------- */
.hesitate__rule{max-width:40rem;margin:2.5rem auto 0;padding:1.25rem 0;border-top:2px solid var(--navy);border-bottom:1px solid var(--line);color:var(--ink);font-size:clamp(1rem,1.6vw,1.1875rem);font-weight:700;letter-spacing:0.06em;line-height:1.9;}
.final{position:relative;overflow:hidden;padding:clamp(6rem,11vw,9.5rem) 0;color:#fff;}
.final__bg{position:absolute;inset:0;z-index:0;}
.final__bg img{width:100%;height:100%;object-fit:cover;display:block;object-position:center 40%;filter:blur(4px);transform:scale(1.05);}
.final__bg::before{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(to bottom,rgba(6,20,29,0.9),rgba(6,20,29,0.82),rgba(6,20,29,0.93));}
.final__bg::after{content:'';position:absolute;inset:0;z-index:1;background-image:linear-gradient(rgba(143,200,228,0.07) 1px,transparent 1px),linear-gradient(90deg,rgba(143,200,228,0.07) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:radial-gradient(70% 70% at 50% 50%,#000 30%,transparent 100%);mask-image:radial-gradient(70% 70% at 50% 50%,#000 30%,transparent 100%);}
.final__inner{position:relative;z-index:1;max-width:60rem;margin:0 auto;padding:0 2rem;text-align:center;}
.final__title{font-family:var(--font-serif);font-weight:700;font-size:clamp(1.75rem,4vw,3.25rem);line-height:1.5;letter-spacing:0.06em;color:#fff;text-wrap:pretty;text-shadow:0 2px 24px rgba(0,0,0,0.45);}
.final__rule{display:flex;align-items:center;justify-content:center;gap:0.75rem;margin:1.75rem auto;max-width:18rem;}
.final__rule::before,.final__rule::after{content:'';flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--gold));}
.final__rule::after{background:linear-gradient(90deg,var(--gold),transparent);}
.final__rule i{width:7px;height:7px;border:1px solid var(--gold);transform:rotate(45deg);display:block;}
.final__lead{font-size:clamp(1rem,1.5vw,1.1875rem);color:rgba(255,255,255,0.85);line-height:2;letter-spacing:0.04em;}
.final__tagline{font-family:var(--font-serif);font-size:clamp(1.5rem,3vw,2.375rem);font-weight:500;letter-spacing:0.08em;color:#fff;margin:2rem 0 2.5rem;}
.final__tagline em{font-style:normal;color:var(--sky);font-weight:700;}
.final__cta-label{font-size:clamp(1.0625rem,1.6vw,1.25rem);font-weight:700;color:#fff;margin-bottom:1rem;}
.final__deadline{font-size:0.9375rem;font-weight:700;color:#FFB4B4;letter-spacing:0.04em;margin-top:0.75rem;}

/* --------------------------------------------------------------------------
   Footer
   -------------------------------------------------------------------------- */
.site-footer{background:var(--navy-deep);color:#fff;padding:clamp(3.5rem,7vw,5rem) 0;}
.site-footer__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:3rem;margin-bottom:3rem;}
.site-footer__logo{height:40px;width:auto;display:block;margin-bottom:1.25rem;}
.site-footer p{color:#94a3b8;font-size:0.875rem;line-height:1.9;}
.site-footer h4{font-weight:600;margin-bottom:1.25rem;color:#fff;}
.site-footer ul{display:flex;flex-direction:column;gap:0.75rem;font-size:0.875rem;}
.site-footer a{color:#94a3b8;}
.site-footer a:hover{color:#fff;}
.site-footer__ext{font-size:0.875rem;display:inline-flex;align-items:center;gap:0.5rem;}
.site-footer__bottom{border-top:1px solid #1e293b;padding-top:2rem;text-align:center;font-size:0.875rem;color:var(--ink-muted);}
.site-footer__bottom p{color:var(--ink-muted);}

/* --------------------------------------------------------------------------
   Succession page（事業承継支援）
   -------------------------------------------------------------------------- */
.s-hero{position:relative;overflow:hidden;padding:clamp(5rem,9vw,7.5rem) 0 clamp(4rem,7vw,6rem);color:#fff;background:var(--navy-deep);}
.s-hero__bg{position:absolute;inset:0;z-index:0;}
.s-hero__bg img{width:100%;height:100%;object-fit:cover;display:block;object-position:center 35%;}
.s-hero__bg::before{content:'';position:absolute;inset:0;background:linear-gradient(100deg,rgba(6,20,29,0.94) 0%,rgba(6,20,29,0.86) 55%,rgba(6,20,29,0.7) 100%);}
.s-hero .container{position:relative;z-index:1;}
.s-hero__badge{display:inline-flex;align-items:center;gap:0.625rem;padding:0.5rem 1.1rem;border-radius:9999px;background:rgba(255,255,255,0.12);border:1px solid rgba(255,255,255,0.28);color:#fff;font-size:0.875rem;font-weight:700;letter-spacing:0.06em;margin-bottom:1.75rem;}
.s-hero__title{font-family:var(--font-serif);font-weight:700;font-size:clamp(1.625rem,4.4vw,3.5rem);line-height:1.45;letter-spacing:0.03em;max-width:46rem;margin-bottom:1.5rem;text-wrap:pretty;text-shadow:0 2px 24px rgba(0,0,0,0.45);}
.s-hero__title em{font-style:normal;color:var(--sky);}
.s-hero__lead{font-size:clamp(1rem,1.4vw,1.125rem);color:rgba(255,255,255,0.86);line-height:2;max-width:42rem;margin-bottom:2.25rem;}
.s-hero__ctas{display:flex;gap:0.875rem;flex-wrap:wrap;margin-bottom:3.5rem;}
.value-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,0.18);border:1px solid rgba(255,255,255,0.18);border-radius:0.5rem;overflow:hidden;max-width:64rem;}
.value-item{background:rgba(11,31,44,0.85);padding:1.5rem 1.5rem;}
.value-item .k{display:block;font-size:0.6875rem;font-weight:700;letter-spacing:0.18em;color:var(--sky);margin-bottom:0.5rem;}
.value-item p{font-size:1rem;font-weight:700;color:#fff;}

.pain-card{background:var(--navy-deep);color:#fff;border-radius:0.625rem;padding:clamp(2.25rem,4.5vw,3.5rem) clamp(1.5rem,4vw,3rem);}
.pain-card .eyebrow{color:var(--sky-2);}
.pain-card h2{font-family:var(--font-serif);font-weight:700;font-size:clamp(1.5rem,3.2vw,2.375rem);line-height:1.5;color:#fff;margin-bottom:1.25rem;letter-spacing:0.02em;}
.pain-card p{font-size:1rem;color:rgba(255,255,255,0.78);line-height:2;max-width:44rem;}
.num-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;margin-top:1.5rem;}
.num-card{background:#fff;border:1px solid var(--line);border-radius:0.5rem;padding:1.75rem 1.5rem;}
.num-card__n{width:2.5rem;height:2.5rem;border-radius:9999px;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;font-size:0.875rem;font-weight:700;margin-bottom:1.25rem;}
.num-card h3{font-size:1.0625rem;font-weight:700;color:var(--ink);margin-bottom:0.5rem;}
.num-card p{font-size:0.9rem;color:var(--ink-soft);line-height:1.9;}

.case-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;}
.case-grid--2{grid-template-columns:repeat(2,minmax(0,1fr));}
.case{background:#fff;border:1px solid var(--line);border-radius:0.5rem;padding:2rem 1.5rem;display:flex;flex-direction:column;transition:border-color .22s var(--ease);}
.case:hover{border-color:var(--navy);}
.case__tag{display:inline-block;align-self:flex-start;font-size:0.75rem;font-weight:700;letter-spacing:0.08em;color:#fff;background:var(--navy);padding:0.3rem 0.75rem;border-radius:0.25rem;margin-bottom:1rem;}
.case h3{font-size:1.25rem;font-weight:700;color:var(--ink);line-height:1.5;margin-bottom:1rem;}
.case ul{font-size:0.9rem;color:var(--ink-soft);}
.case li{padding:0.6rem 0 0.6rem 1.25rem;border-bottom:1px dashed var(--line);position:relative;line-height:1.8;}
.case li:last-child{border-bottom:none;}
.case li::before{content:'';position:absolute;left:0;top:1.25rem;width:0.6rem;height:1px;background:var(--accent);}
.note-block{background:var(--navy-deep);color:rgba(255,255,255,0.8);border-radius:0.625rem;padding:clamp(1.75rem,3vw,2.25rem) clamp(1.5rem,3vw,2.25rem);border-left:4px solid var(--accent);font-size:0.9375rem;line-height:2;margin-top:2.5rem;}
.note-block strong{display:block;font-family:var(--font-serif);font-size:clamp(1.125rem,1.8vw,1.375rem);color:#fff;margin-bottom:0.5rem;letter-spacing:0.02em;}

.chart-root{background:var(--navy-deep);color:#fff;font-family:var(--font-serif);font-size:1.125rem;letter-spacing:0.06em;text-align:center;padding:1rem 1.5rem;max-width:22rem;margin:0 auto;border-radius:0.375rem;}
.chart-conn{position:relative;height:40px;max-width:78rem;margin:0 auto;}
.chart-conn .vl{position:absolute;width:1px;background:var(--line);}
.chart-conn .hl{position:absolute;height:1px;background:var(--line);top:50%;}
.chart-conn .ar{position:absolute;width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:6px solid var(--accent);bottom:-1px;transform:translateX(-3.5px);}
.pillar-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;align-items:start;}
.pillar{background:#fff;border:1px solid var(--line);border-top:3px solid var(--navy);border-radius:0.5rem;padding:1.75rem 1.5rem;height:100%;}
.pillar__n{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:9999px;background:var(--navy);color:#fff;font-size:0.8125rem;font-weight:700;margin-bottom:0.9rem;}
.pillar h3{font-size:1.125rem;font-weight:700;color:var(--ink);line-height:1.5;margin-bottom:0.35rem;}
.pillar__desc{font-size:0.8125rem;color:var(--ink-muted);margin-bottom:1.1rem;}
.steps li{background:var(--bg-alt);border:1px solid var(--line);font-size:0.875rem;padding:0.6rem 0.75rem;text-align:center;position:relative;margin-bottom:1.25rem;border-radius:0.25rem;color:var(--ink-2);}
.steps li:last-child{margin-bottom:0;}
.steps li:not(:last-child)::after{content:'';position:absolute;left:50%;bottom:-0.95rem;width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:7px solid var(--accent);transform:translateX(-4px);}
.items li{padding:0.6rem 0 0.6rem 1.25rem;border-bottom:1px dashed var(--line);position:relative;font-size:0.875rem;color:var(--ink-soft);line-height:1.8;}
.items li:last-child{border-bottom:none;padding-bottom:0;}
.items li::before{content:'';position:absolute;left:0;top:1.25rem;width:0.6rem;height:1px;background:var(--accent);}
.band{margin-top:1.5rem;background:#fff;border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:0.375rem;padding:1.25rem 1.5rem;font-size:0.9rem;color:var(--ink-soft);line-height:1.9;}
.band strong{color:var(--navy);}
.chart-note{margin-top:1.25rem;font-size:0.8125rem;color:var(--ink-muted);text-align:right;}

.reason-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;}
.reason{background:#fff;border:1px solid var(--line);border-radius:0.5rem;padding:2rem 1.5rem;}
.reason__no{font-size:0.75rem;font-weight:700;letter-spacing:0.1em;color:var(--ink-muted);margin-bottom:0.5rem;display:block;}
.reason h3{font-size:1.125rem;font-weight:700;color:var(--ink);line-height:1.6;margin-bottom:0.75rem;}
.reason p{font-size:0.9rem;color:var(--ink-soft);line-height:1.9;}

.flow-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.25rem;}
.flow{background:#fff;border:1px solid var(--line);border-top:3px solid var(--navy);border-radius:0.5rem;padding:1.75rem 1.5rem;}
.flow__st{font-size:0.75rem;font-weight:700;letter-spacing:0.12em;color:var(--accent);margin-bottom:0.75rem;display:block;}
.flow h3{font-size:1.0625rem;font-weight:700;color:var(--ink);margin-bottom:0.6rem;}
.flow p{font-size:0.875rem;color:var(--ink-soft);line-height:1.9;}

.about-panel{display:grid;grid-template-columns:minmax(240px,1fr) 2.2fr;border:1px solid #C8CFD6;border-radius:0.5rem;overflow:hidden;}
.about-panel__left{background:var(--navy);color:#fff;padding:clamp(2rem,4vw,3rem);}
.about-panel__mark{font-family:var(--font-serif);font-size:clamp(1.375rem,2.2vw,1.75rem);font-weight:700;line-height:1.5;margin-bottom:1.5rem;}
.about-panel__left p{font-size:0.875rem;color:rgba(255,255,255,0.75);line-height:1.9;}
.about-panel__right{background:linear-gradient(135deg,#ECEFF2,#E3E7EB);padding:clamp(2rem,4vw,3rem);display:flex;flex-direction:column;gap:1.5rem;}
.about-panel__right p{font-size:0.9375rem;color:var(--ink-2);line-height:2.1;}
.about-panel__right a{font-weight:700;border-bottom:1px solid currentColor;}

.privacy-strip{display:flex;gap:1.25rem 1.75rem;flex-wrap:wrap;justify-content:center;margin-top:2rem;font-size:0.8125rem;color:rgba(255,255,255,0.7);}
.privacy-strip span{display:inline-flex;align-items:center;gap:0.5rem;}
.privacy-strip span::before{content:'';width:6px;height:6px;background:var(--sky);transform:rotate(45deg);display:inline-block;}
.disclaimer{margin-top:1.25rem;font-size:0.875rem;color:rgba(255,255,255,0.65);text-align:center;}

/* --------------------------------------------------------------------------
   Partner page
   -------------------------------------------------------------------------- */
.p-hero{background:var(--navy-deep);color:#fff;padding:clamp(4rem,8vw,7rem) 0;}
.p-eyebrow{display:flex;align-items:center;gap:0.75rem;font-size:0.8125rem;font-weight:700;letter-spacing:0.22em;color:var(--navy);margin-bottom:1.5rem;}
.p-eyebrow::before{content:'';width:24px;height:1px;background:currentColor;display:block;}
.p-eyebrow--light{color:var(--sky-2);}
.p-eyebrow--center{justify-content:center;}
.p-hero h1{font-family:var(--font-serif);font-weight:700;font-size:clamp(1.75rem,4vw,3.25rem);line-height:1.45;margin-bottom:2rem;text-wrap:pretty;}
.p-hero__lead{font-size:clamp(0.9375rem,1.3vw,1.0625rem);color:rgba(255,255,255,0.72);line-height:2;max-width:44rem;margin-bottom:2.5rem;}
.p-hero__tag{display:inline-block;padding:0.7rem 1.4rem;background:var(--accent);color:#fff;font-size:0.9375rem;font-weight:700;border-radius:0.25rem;margin-bottom:1.5rem;}
.p-hero h2{font-family:var(--font-serif);font-weight:700;font-size:clamp(1.5rem,2.8vw,2.25rem);margin-bottom:1rem;}
.p-hero__sub{font-size:0.9375rem;color:rgba(255,255,255,0.62);line-height:1.9;}
.p-section{padding:clamp(3.5rem,7vw,5.5rem) 0;}
.p-section--line{border-top:1px solid var(--line);}
.p-section--lines{border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.p-h2{font-family:var(--font-serif);font-weight:700;font-size:clamp(1.625rem,3.2vw,2.375rem);color:var(--ink);letter-spacing:0.02em;margin-bottom:2.5rem;}
.p-h2--tight{margin-bottom:1rem;}
.p-h2--lg{font-size:clamp(1.625rem,3.6vw,2.75rem);line-height:1.5;margin-bottom:2rem;text-wrap:pretty;}
.blocker-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;}
.blocker{background:linear-gradient(135deg,#ECEFF2,#E3E7EB);border:1px solid #C8CFD6;border-radius:0.5rem;padding:2rem;}
.blocker__n{width:2.75rem;height:2.75rem;border-radius:9999px;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;font-size:0.9375rem;font-weight:700;margin-bottom:1.5rem;}
.blocker h3{font-size:1.125rem;font-weight:700;color:var(--ink);margin-bottom:0.75rem;}
.blocker p{font-size:0.9375rem;color:var(--ink-soft);line-height:1.95;}
.pain-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:0 3rem;}
.pain-item{display:flex;align-items:center;gap:0.875rem;padding:1.1rem 0;border-bottom:1px dashed #C8CFD6;}
.pain-item__box{width:1.25rem;height:1.25rem;background:#fff;border:1px solid rgba(11,58,84,0.5);border-radius:0.2rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.pain-item p{font-size:0.9375rem;color:var(--ink-2);line-height:1.8;}
.content-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;}
.content-card{border:1px solid #C8CFD6;border-radius:0.5rem;padding:2rem 1.5rem;background:linear-gradient(135deg,#ECEFF2,#E3E7EB);}
.content-card__icon{color:var(--navy);margin-bottom:1.75rem;}
.content-card__icon svg{display:block;}
.content-card__n{font-size:0.8125rem;color:#94a3b8;letter-spacing:0.1em;margin-bottom:0.5rem;}
.content-card h3{font-size:1.0625rem;font-weight:700;color:var(--ink);margin-bottom:0.75rem;}
.content-card p{font-size:0.875rem;color:var(--ink-soft);line-height:1.95;}
.takeaway-box{background:linear-gradient(135deg,#ECEFF2,#E3E7EB);border:1px solid #C8CFD6;border-top:3px solid #14532d;border-radius:0.5rem;padding:clamp(1.75rem,3vw,2.5rem);margin-bottom:3rem;}
.takeaway-box h3{font-size:1.0625rem;font-weight:700;color:var(--navy);margin-bottom:1.5rem;}
.dark-box{background:var(--navy-deep);color:#fff;border-radius:0.5rem;padding:clamp(1.75rem,3vw,2.5rem);}
.dark-box h3{font-size:clamp(1.0625rem,1.8vw,1.25rem);font-weight:700;margin-bottom:1rem;}
.dark-box p{font-size:0.9375rem;color:rgba(255,255,255,0.72);line-height:2;}
.p-lecturer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:2rem;}
.p-lecturer{display:grid;grid-template-columns:170px 1fr;border:1px solid #C8CFD6;border-radius:0.375rem;overflow:hidden;background:linear-gradient(135deg,#ECEFF2,#E3E7EB);}
.p-lecturer__img{background:var(--bg-alt);min-height:210px;}
.p-lecturer__img img{width:100%;height:100%;min-height:210px;object-fit:cover;display:block;}
.p-lecturer__body{padding:1.75rem;}
.p-lecturer__role{font-size:0.8125rem;color:var(--ink-muted);letter-spacing:0.08em;margin-bottom:0.75rem;}
.p-lecturer h3{font-size:1.25rem;font-weight:700;color:var(--ink);margin-bottom:1rem;}
.p-lecturer p{font-size:0.9375rem;color:var(--ink-soft);line-height:1.95;}
.format-row{display:grid;grid-template-columns:minmax(120px,180px) 1fr;gap:1.5rem;padding:1.4rem 0;border-top:1px solid var(--line);align-items:baseline;}
.format-row dt{font-size:0.875rem;color:var(--ink-muted);}
.format-row dd{margin:0;font-size:1rem;color:var(--ink);line-height:1.8;}
.p-cta{padding:clamp(4rem,8vw,6.5rem) 0;background:var(--navy-deep);color:#fff;}
.p-cta h2{font-family:var(--font-serif);font-weight:700;font-size:clamp(1.625rem,3.4vw,2.75rem);line-height:1.5;margin-bottom:2rem;text-wrap:pretty;}
.p-cta__lead{font-size:0.9375rem;color:rgba(255,255,255,0.72);line-height:2.1;max-width:44rem;margin-bottom:1.5rem;}
.p-cta__copy{font-family:var(--font-serif);font-size:clamp(1.0625rem,1.8vw,1.375rem);line-height:1.9;margin-bottom:2.5rem;}

/* --------------------------------------------------------------------------
   Responsive
   -------------------------------------------------------------------------- */
@media (max-width:1100px){
  .grid-4,.bubble-grid,.asset-grid,.flow-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .site-header__logo img{height:60px;}
}
@media (max-width:900px){
  .nav-toggle{display:flex;}
  .site-header__inner{padding:0.5rem 1.25rem;}
  .site-nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 12px 30px rgba(11,31,44,0.12);flex-direction:column;align-items:stretch;gap:0;padding:0.5rem 1.25rem 1.25rem;}
  .site-nav.is-open{display:flex;}
  .site-nav a{padding:0.85rem 0.25rem;border-bottom:1px solid var(--line);font-size:0.9375rem;}
  .site-nav .btn{margin:1rem 0 0;justify-content:center;border-bottom:none;}
  .site-header__logo-sub{display:none;}
  .grid-3,.num-grid,.case-grid,.pillar-grid,.reason-grid,.value-strip{grid-template-columns:1fr;}
  .chart-conn{display:none;}
  .chart-root{max-width:none;margin-bottom:1.25rem;}
  .about-panel{grid-template-columns:1fr;}
  .p-lecturer{grid-template-columns:1fr;}
  .p-lecturer__img img{max-height:260px;}
  .format-row{grid-template-columns:1fr;gap:0.35rem;}
  .spec__text{margin-left:0;margin-top:0.5rem;}
}
@media (max-width:640px){
  .container{padding:0 1.25rem;}
  .grid-4,.bubble-grid,.asset-grid,.flow-grid,.check-grid{grid-template-columns:1fr;}
  .check-grid{grid-template-columns:1fr;}
  .hero{min-height:auto;padding:5rem 0 4.5rem;}
  .hero__inner{padding:0 1.25rem;}
  .hero__scroll{display:none;}
  .stat + .stat{border-left:none;border-top:1px solid var(--line);}
  .s-hero__ctas .btn{width:100%;}
  .final__inner{padding:0 1.25rem;}
  .btn--lg,.btn--md{white-space:normal;text-align:center;}
  .br-pc{display:none;}
  .hero__copy{font-size:1.0625rem;letter-spacing:0.02em;line-height:1.9;}
  .hero__title{letter-spacing:0.02em;}
  .final__title{letter-spacing:0.03em;}
  .final__tagline{letter-spacing:0.04em;}
}

/* --------------------------------------------------------------------------
   Scroll reveal（js/main.js が .reveal を付与し、表示時に .is-visible を付ける）
   -------------------------------------------------------------------------- */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s var(--ease),transform .7s var(--ease);will-change:opacity,transform;}
.reveal.is-visible{opacity:1;transform:none;}
.hero__inner.reveal{transform:translateY(14px);transition-duration:1s;}
.no-reveal .reveal{opacity:1;transform:none;transition:none;}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none;}}
