/* ==== 課題別ページ 共通スタイル（本体サイトのブランドを継承） ==== */
:root{
  --navy:#0F172A;--navy-mid:#1E293B;--navy-sub:#334155;
  --gold:#C9A227;--gold-lt:#D4AF37;
  --surface:#FCFBF8;--surface2:rgba(237,232,222,.82);
  --text:#0F172A;--text-mid:#475569;--text-lt:#94A3B8;
  --border:rgba(60,48,26,.12);
  --serif:'Cormorant Garamond','Noto Serif JP',serif;
  --sans:'Noto Sans JP',sans-serif;
  --ease:cubic-bezier(.25,.46,.45,.94);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:var(--sans);background:#F4F1EA;color:var(--text);-webkit-font-smoothing:antialiased;overflow-x:hidden;}
#iz-bg{position:fixed;inset:-14vh 0;z-index:-2;pointer-events:none;background:#F8F6F2 url(/images/bg-luxe.webp) top center/cover no-repeat;}
a{color:inherit;}
.wrap{max-width:900px;margin:0 auto;padding:0 28px;}

/* nav */
.iz-nav{position:sticky;top:0;z-index:50;background:rgba(15,23,42,.96);backdrop-filter:blur(18px);border-bottom:1px solid rgba(201,162,39,.18);}
.iz-nav-in{max-width:1100px;margin:0 auto;padding:0 28px;height:62px;display:flex;align-items:center;justify-content:space-between;gap:16px;}
.iz-logo{display:flex;align-items:baseline;text-decoration:none;}
.iz-logo b{font-family:var(--serif);font-size:1.3rem;font-weight:700;color:#fff;}
.iz-logo i{font-family:var(--serif);font-size:.92rem;font-style:italic;color:var(--gold-lt);margin-left:5px;}
.iz-nav-links{display:flex;gap:20px;align-items:center;list-style:none;}
.iz-nav-links a{font-size:.74rem;letter-spacing:.08em;color:rgba(255,255,255,.6);text-decoration:none;font-weight:300;transition:color .2s;}
.iz-nav-links a:hover{color:var(--gold-lt);}
.iz-nav-cta{background:var(--gold-lt);color:var(--navy)!important;padding:8px 18px;border-radius:5px;font-size:.75rem!important;font-weight:600!important;}
@media(max-width:720px){.iz-nav-links li:not(:last-child){display:none;}}

/* hero */
.iz-hero{background:var(--navy);color:#fff;padding:clamp(64px,10vw,104px) 0 clamp(56px,8vw,88px);position:relative;overflow:hidden;}
.iz-hero::after{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 78% 24%,rgba(212,175,55,.13),transparent 46%);}
.iz-hero .wrap{position:relative;z-index:1;}
.iz-crumb{font-size:.72rem;color:rgba(255,255,255,.42);margin-bottom:26px;letter-spacing:.03em;}
.iz-crumb a{color:rgba(255,255,255,.6);text-decoration:none;}
.iz-crumb a:hover{color:var(--gold-lt);}
.iz-eyebrow{font-size:.64rem;letter-spacing:.3em;color:var(--gold-lt);display:flex;align-items:center;gap:11px;margin-bottom:18px;}
.iz-eyebrow::before{content:'';width:22px;height:1px;background:var(--gold-lt);}
.iz-hero h1{font-family:var(--serif);font-size:clamp(1.75rem,4.2vw,2.9rem);font-weight:700;line-height:1.4;letter-spacing:.01em;}
.iz-hero h1 .g{color:var(--gold-lt);}
.iz-lead{margin-top:24px;font-size:clamp(.92rem,1.4vw,1.02rem);line-height:2.1;color:rgba(255,255,255,.66);font-weight:300;max-width:38em;}

/* sections */
.iz-sec{padding:clamp(60px,9vw,96px) 0;}
.iz-sec.alt{background:rgba(255,255,255,.55);border-top:1px solid var(--border);border-bottom:1px solid var(--border);}
.iz-h2{font-family:var(--serif);font-size:clamp(1.35rem,2.7vw,1.95rem);font-weight:700;color:var(--navy);line-height:1.45;margin-bottom:26px;}
.iz-h3{font-family:var(--serif);font-size:clamp(1.05rem,1.9vw,1.25rem);font-weight:700;color:var(--navy);margin:34px 0 10px;padding-left:14px;border-left:3px solid var(--gold);}
.iz-p{font-size:.94rem;line-height:2.1;color:var(--text-mid);margin-bottom:16px;}
.iz-p strong{color:var(--navy);font-weight:500;}
.iz-quote{margin:30px 0;padding:22px 26px;background:rgba(201,162,39,.07);border-left:3px solid var(--gold);border-radius:0 8px 8px 0;font-family:var(--serif);font-size:1.02rem;line-height:1.95;color:var(--navy);}

/* before / after */
.ba{display:grid;grid-template-columns:1fr auto 1fr;gap:20px;align-items:stretch;margin:32px 0;}
.ba-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:26px 24px;}
.ba-card.after{border-color:rgba(201,162,39,.45);box-shadow:0 22px 50px -34px rgba(52,40,16,.55);}
.ba-lbl{font-size:.6rem;letter-spacing:.22em;color:var(--text-lt);margin-bottom:12px;}
.ba-card.after .ba-lbl{color:var(--gold);}
.ba-card ul{list-style:none;}
.ba-card li{font-size:.86rem;line-height:1.9;color:var(--text-mid);padding-left:17px;position:relative;margin-bottom:6px;}
.ba-card li::before{content:'';position:absolute;left:0;top:.85em;width:9px;height:1px;background:var(--text-lt);}
.ba-card.after li::before{background:var(--gold);}
.ba-arrow{display:flex;align-items:center;color:var(--gold);font-size:1.3rem;}
@media(max-width:700px){.ba{grid-template-columns:1fr;}.ba-arrow{justify-content:center;transform:rotate(90deg);}}

/* steps */
.iz-steps{counter-reset:s;display:grid;gap:1px;background:var(--border);border:1px solid var(--border);border-radius:12px;overflow:hidden;margin-top:28px;}
.iz-step{background:var(--surface);padding:24px 26px;display:flex;gap:18px;}
.iz-step-n{font-family:var(--serif);font-size:1.5rem;font-weight:700;color:rgba(201,162,39,.35);line-height:1;flex:none;width:34px;}
.iz-step h4{font-family:var(--serif);font-size:1.02rem;font-weight:700;color:var(--navy);margin-bottom:7px;}
.iz-step p{font-size:.85rem;line-height:1.9;color:var(--text-mid);}

/* 図解 共通 */
.viz{background:var(--navy);border-radius:14px;padding:clamp(24px,4vw,40px);margin:34px 0;color:#fff;position:relative;overflow:hidden;}
.viz-cap{font-size:.68rem;letter-spacing:.18em;color:var(--gold-lt);margin-bottom:22px;}
.viz-note{margin-top:20px;font-size:.74rem;color:rgba(255,255,255,.4);line-height:1.8;font-weight:300;}

/* 他ページ案内 */
.iz-others{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:12px;overflow:hidden;margin-top:26px;}
.iz-other{background:var(--surface);padding:22px 24px;text-decoration:none;display:block;transition:background .25s var(--ease),transform .25s var(--ease);}
.iz-other:hover{background:#fff;transform:translateY(-2px);}
.iz-other .t{font-family:var(--serif);font-size:1rem;font-weight:700;color:var(--navy);margin-bottom:6px;}
.iz-other .d{font-size:.78rem;color:var(--text-mid);line-height:1.8;}
.iz-other .m{margin-top:10px;font-size:.74rem;color:var(--gold);}
@media(max-width:640px){.iz-others{grid-template-columns:1fr;}}

/* CTA */
.iz-cta{background:linear-gradient(135deg,var(--navy) 0%,var(--navy-sub) 100%);color:#fff;padding:clamp(52px,8vw,80px) 0;border-top:1px solid rgba(201,162,39,.18);}
.iz-cta h2{font-family:var(--serif);font-size:clamp(1.4rem,3vw,2rem);font-weight:700;margin-bottom:12px;}
.iz-cta p{font-size:.9rem;color:rgba(255,255,255,.55);line-height:2;font-weight:300;margin-bottom:28px;}
.btn-gold{display:inline-block;background:var(--gold-lt);color:var(--navy);padding:15px 34px;font-size:.87rem;font-weight:600;letter-spacing:.04em;text-decoration:none;border-radius:5px;box-shadow:0 4px 20px rgba(212,175,55,.32);transition:background .2s,transform .2s;}
.btn-gold:hover{background:#e8c84a;transform:translateY(-2px);}
.btn-ghost{display:inline-block;border:1px solid rgba(255,255,255,.28);color:rgba(255,255,255,.82);padding:15px 34px;font-size:.87rem;text-decoration:none;border-radius:5px;margin-left:12px;transition:border-color .2s,color .2s;}
.btn-ghost:hover{border-color:var(--gold-lt);color:var(--gold-lt);}
@media(max-width:600px){.btn-gold,.btn-ghost{display:block;text-align:center;margin:0 0 10px;}}

/* footer */
.iz-foot{background:#06090f;color:rgba(255,255,255,.3);padding:34px 28px;font-size:.72rem;text-align:center;line-height:2;}
.iz-foot a{color:rgba(255,255,255,.45);text-decoration:none;margin:0 9px;}
.iz-foot a:hover{color:var(--gold-lt);}

/* reveal */
.rv{opacity:0;transform:translateY(20px);transition:opacity .8s var(--ease),transform .8s var(--ease);}
.rv.on{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){
  .rv{opacity:1!important;transform:none!important;transition:none!important;}
  .viz *{animation:none!important;transition:none!important;}
}
