
/* ============================================================
   CHEF'S LEAF — design system
   palette: green #14391F / fresh #5E9C5A / brass #B98A2F
            paper #FAFAF6 / dark #101810
   ============================================================ */
:root{
  --green:#14391F; --fresh:#5E9C5A; --brass:#B98A2F;
  --paper:#FAFAF6; --dark:#101810;
  --ink:#1A211B; --muted:#69736A; --line:#E3E5DE;
  --line-dark:rgba(250,250,246,.16); --paper-dim:rgba(250,250,246,.72);
  --serif:'Noto Serif JP',serif; --sans:'Noto Sans JP',sans-serif; --en:'Cormorant Garamond',serif;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.85;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
img{max-width:100%;display:block;}
a{color:inherit;}
h1,h2,h3,.lead,.btn,summary{word-break:auto-phrase;text-wrap:balance;}
.en{font-family:var(--en);letter-spacing:.18em;}
.serif{font-family:var(--serif);}
.l-wrap{width:min(1120px,calc(100% - 48px));margin:0 auto;}
.l-wide{width:min(1320px,calc(100% - 48px));margin:0 auto;}
/* 署名モチーフ：真鍮の細罫＋小さな葉(◆を葉に見立てたSVG)。3〜4回反復 */
.m-eyebrow{font-family:var(--en);font-size:12px;letter-spacing:.32em;text-transform:uppercase;color:var(--brass);display:inline-flex;gap:12px;align-items:center;font-weight:600;}
.m-eyebrow::before{content:"";width:34px;height:1px;background:var(--brass);}
.m-leafrule{display:flex;align-items:center;gap:10px;}
.m-leafrule::before,.m-leafrule::after{content:"";flex:1;height:1px;background:var(--brass);opacity:.55;}
.m-leaf{width:14px;height:14px;flex:0 0 auto;}
.m-leaf path{fill:none;stroke:var(--brass);stroke-width:1.4;}
.btn{display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:15px;padding:16px 32px;text-decoration:none;white-space:nowrap;transition:transform .2s,box-shadow .2s,background .2s;}
.btn--solid{background:var(--brass);color:#fff;box-shadow:0 14px 30px -14px rgba(185,138,47,.55);}
.btn--solid:hover{transform:translateY(-2px);}
.btn--ghost{border:1px solid currentColor;}
.btn--ghost:hover{background:rgba(255,255,255,.08);}
.btn--green{background:var(--green);color:#fff;box-shadow:0 14px 30px -14px rgba(20,57,31,.55);}
.btn--green:hover{transform:translateY(-2px);background:#0e2a16;}
/* 飲食店／個人の二択CTA */
.cta-duo{display:flex;gap:14px;flex-wrap:wrap;}
.cta-duo__b{flex-direction:column;align-items:center;gap:3px;text-align:center;line-height:1.35;white-space:normal;padding:13px 28px;}
.cta-duo__t{font-size:15px;}
.cta-duo__s{font-weight:500;font-size:11.5px;opacity:.9;letter-spacing:.02em;}
.cta-duo--center{justify-content:center;}
@media(max-width:560px){.cta-duo{width:100%;}.cta-duo__b{flex:1 1 100%;}}

/* ============ header（parts: header-02 上品・トップバー＋中央ロゴ） ============ */
.c-header{border-bottom:1px solid var(--line);background:var(--paper);position:relative;z-index:50;}
.c-header__topbar{background:var(--green);color:rgba(250,250,246,.88);}
.c-header__topbar-in{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;padding:7px 28px;font-size:12px;letter-spacing:.04em;}
.c-header__topbar-r{display:flex;gap:18px;align-items:center;}
.c-header__topbar a{color:#fff;text-decoration:none;}
.c-header__tel{font-family:var(--en);font-weight:700;font-size:14px;letter-spacing:.08em;color:#fff;}
.c-header__main{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:16px 28px;gap:22px;}
.c-header__nav{display:flex;gap:24px;align-items:center;}
.c-header__nav--l{justify-content:flex-end;}
.c-header__nav--r{justify-content:flex-start;}
.c-header__nav a{color:var(--ink);text-decoration:none;font-size:13.5px;font-weight:500;white-space:nowrap;}
.c-header__nav a:hover{color:var(--brass);}
.c-header__cta{background:var(--green);color:#fff !important;padding:9px 18px;font-weight:700;white-space:nowrap;}
.c-header__cta:hover{background:var(--brass);color:#fff !important;}
.c-header__brand{text-align:center;text-decoration:none;display:block;}
.c-header__nm{font-family:var(--en);font-weight:700;font-size:25px;letter-spacing:.22em;color:var(--green);line-height:1.1;}
.c-header__jp{font-size:10px;letter-spacing:.42em;color:var(--muted);margin-top:3px;}
.c-header__strip{height:4px;background:linear-gradient(90deg,var(--green),var(--fresh) 55%,var(--brass));}
@media(max-width:860px){
  .c-header__topbar-in{padding:6px 16px;}
  .c-header__topbar-l{display:none;}
  .c-header__main{grid-template-columns:1fr;justify-items:center;gap:10px;padding:14px 16px;}
  .c-header__nav{flex-wrap:wrap;justify-content:center !important;gap:14px 18px;}
}

/* ============ hero（fv-54 MaskJourney 移植：モノクロ→彩度） ============ */
.c-hero{position:relative;width:100%;height:100vh;min-height:680px;overflow:hidden;background:var(--dark);color:var(--paper);}
.c-hero__world{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;}
.c-hero__inner{width:min(1340px,100%);margin:0 auto;padding:0 7vw;}
/* 世界A：モノクロ（JSなしでも完全に読める） */
.c-hero__wa{background:var(--dark);}
.c-hero__wa-bg{position:absolute;inset:0;background:url('../images/fv.jpg') center/cover no-repeat;filter:grayscale(1) brightness(.42);}
.c-hero__wa-shade{position:absolute;inset:0;background:linear-gradient(100deg,rgba(16,24,16,.88) 0%,rgba(16,24,16,.55) 55%,rgba(16,24,16,.25) 100%);}
.c-hero__wa .c-hero__inner{position:relative;z-index:2;}
.c-hero__eyebrow{font-family:var(--en);font-size:12px;letter-spacing:.34em;color:rgba(250,250,246,.6);margin-bottom:26px;text-transform:uppercase;}
.c-hero__h1{font-family:var(--serif);font-weight:600;font-size:clamp(34px,5.8vw,76px);line-height:1.42;margin:0;color:#EDEAE0;}
.c-hero__pain{color:rgba(250,250,246,.62);margin:26px 0 0;line-height:2.05;max-width:34em;font-size:15px;}
.c-hero__btns{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px;}
.c-hero__bw{position:absolute;right:-1vw;bottom:-3vh;font-family:var(--en);font-size:clamp(110px,20vw,300px);font-weight:700;line-height:1;color:transparent;-webkit-text-stroke:1px rgba(250,250,246,.12);pointer-events:none;z-index:1;}
/* 世界B：彩度（収穫したての色） */
.c-hero__wb{clip-path:circle(0% at 64% 46%);visibility:hidden;z-index:3;}
.c-hero__wb-bg{position:absolute;inset:0;background:url('../images/fv.jpg') center/cover no-repeat;filter:saturate(1.12);}
.c-hero__wb-shade{position:absolute;inset:0;background:linear-gradient(100deg,rgba(20,57,31,.86) 0%,rgba(20,57,31,.52) 52%,rgba(16,24,16,.18) 100%);}
.c-hero__wb .c-hero__inner{position:relative;z-index:2;}
.c-hero__wb-eyebrow{font-family:var(--en);font-size:12px;letter-spacing:.34em;color:var(--brass);margin-bottom:24px;text-transform:uppercase;font-weight:700;}
.c-hero__h2{font-family:var(--serif);font-weight:700;font-size:clamp(36px,6vw,82px);line-height:1.36;margin:0;color:#FFFDF6;text-shadow:0 2px 30px rgba(8,18,10,.35);}
.c-hero__lead{color:rgba(255,253,246,.92);margin:24px 0 0;line-height:2.05;max-width:30em;}
.c-hero__ring{position:absolute;right:7vw;top:13vh;width:min(26vw,230px);aspect-ratio:1;border:1px solid rgba(255,253,246,.5);border-radius:50%;display:flex;align-items:center;justify-content:center;text-align:center;font-family:var(--en);font-size:11px;letter-spacing:.3em;color:rgba(255,253,246,.85);z-index:2;}
.c-hero__seed{position:absolute;left:64%;top:46%;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:var(--fresh);box-shadow:0 0 0 0 rgba(94,156,90,.5);animation:c-hero-pulse 2.2s ease-out infinite;z-index:4;}
@keyframes c-hero-pulse{0%{box-shadow:0 0 0 0 rgba(94,156,90,.5);}100%{box-shadow:0 0 0 46px rgba(94,156,90,0);}}
.c-hero__hint{position:absolute;left:50%;bottom:4vh;transform:translateX(-50%);font-family:var(--en);font-size:10px;letter-spacing:.4em;color:rgba(250,250,246,.55);z-index:5;text-transform:uppercase;}
/* JSなし時はseed/hintを消し、世界Aだけで完結させる */
html:not(.j) .c-hero__seed,html:not(.j) .c-hero__hint{display:none;}
@media(max-width:768px){
  .c-hero{min-height:640px;}
  .c-hero__ring{display:none;}
  .c-hero__seed{left:74%;top:36%;}
  .c-hero__pain br{display:none;}
}
@media(prefers-reduced-motion:reduce){.c-hero__seed{animation:none;}}

/* ============ ② 悩み共感（sec-intro-06 ダーク3局面 → 方眼×3カード） ============ */
.c-pain{padding:120px 0;position:relative;background-color:#F5F7F4;background-image:linear-gradient(#E2E8E0 1px,transparent 1px),linear-gradient(90deg,#E2E8E0 1px,transparent 1px);background-size:30px 30px;}
.c-pain__head{text-align:center;margin-bottom:60px;}
.c-pain__h2{font-family:var(--serif);font-weight:700;font-size:clamp(28px,4.4vw,48px);line-height:1.45;margin:16px 0 0;}
.c-pain__steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.c-pain__step{background:#fff;border:1px solid var(--line);overflow:hidden;box-shadow:0 18px 40px -30px rgba(20,57,31,.4);}
.c-pain__pic{aspect-ratio:16/10;overflow:hidden;}
.c-pain__pic img{width:100%;height:100%;object-fit:cover;}
.j .c-pain__pic img{clip-path:inset(0 0 100% 0);}
.c-pain__bd{padding:26px 26px 30px;}
.c-pain__no{font-family:var(--en);font-size:12px;letter-spacing:.2em;color:var(--brass);font-weight:600;}
.c-pain__step h3{font-family:var(--serif);font-size:21px;font-weight:700;margin:8px 0 10px;}
.c-pain__step p{color:var(--muted);font-size:14px;margin:0;}
.c-pain__close{text-align:center;margin-top:56px;font-family:var(--serif);font-size:clamp(18px,2.2vw,24px);font-weight:600;line-height:2;}
@media(max-width:768px){.c-pain{padding:84px 0;}.c-pain__steps{grid-template-columns:1fr;}}

/* ============ ③ 変化の約束（全幅カラーバンド・エンティティ定義） ============ */
.c-promise{position:relative;padding:130px 0;background:var(--green);color:var(--paper);overflow:hidden;}
.c-promise__bg{position:absolute;inset:0;background:url('../images/section-bg-1.jpg') center/cover no-repeat;opacity:.35;}
.c-promise__in{position:relative;z-index:1;display:grid;grid-template-columns:1.1fr .9fr;gap:64px;align-items:center;}
.c-promise__h2{font-family:var(--serif);font-weight:700;font-size:clamp(30px,4.6vw,54px);line-height:1.5;margin:18px 0 0;color:#FFFDF6;}
.c-promise__def{margin:28px 0 0;color:var(--paper-dim);line-height:2.1;font-size:15px;max-width:34em;}
.c-promise__def strong{color:#FFFDF6;font-weight:700;}
.c-promise__photo{position:relative;}
.c-promise__photo img{width:100%;aspect-ratio:4/5;object-fit:cover;}
.j .c-promise__photo img{clip-path:inset(0 0 100% 0);}
.c-promise__cap{margin-top:14px;font-family:var(--en);font-size:11px;letter-spacing:.26em;color:rgba(250,250,246,.55);text-transform:uppercase;}
@media(max-width:860px){.c-promise{padding:90px 0;}.c-promise__in{grid-template-columns:1fr;gap:40px;}}

/* ============ ④ 商品ライン（sec-features-04 エディトリアル索引＋ホバー画像） ============ */
.c-lines{padding:120px 0;background:var(--paper);}
.c-lines__head{display:flex;justify-content:space-between;align-items:flex-end;border-bottom:2px solid var(--ink);padding-bottom:20px;margin-bottom:8px;}
.c-lines__h2{font-family:var(--serif);font-weight:700;font-size:clamp(28px,4.4vw,50px);line-height:1.3;margin:14px 0 0;}
.c-lines__cnt{font-family:var(--en);font-size:12px;color:var(--muted);letter-spacing:.18em;}
.c-lines__idx{list-style:none;margin:0;padding:0;}
.c-lines__row{display:grid;grid-template-columns:110px 96px 1fr auto;gap:26px;align-items:center;padding:30px 8px;border-bottom:1px solid var(--line);transition:padding .3s,background .3s;}
.c-lines__row:hover{padding-left:20px;background:#fff;}
.c-lines__n{font-family:var(--en);font-weight:700;font-size:clamp(38px,4.6vw,64px);color:transparent;-webkit-text-stroke:1.3px var(--ink);line-height:.9;transition:.3s;}
.c-lines__row:hover .c-lines__n{-webkit-text-stroke:1.3px var(--brass);color:rgba(185,138,47,.08);}
.c-lines__thumb{width:96px;height:96px;object-fit:cover;border-radius:50%;}
.c-lines__row h3{font-family:var(--serif);font-weight:700;font-size:clamp(19px,2.2vw,26px);margin:0 0 4px;}
.c-lines__row h3 small{font-family:var(--en);font-size:12px;letter-spacing:.2em;color:var(--brass);margin-left:12px;}
.c-lines__row p{color:var(--muted);font-size:14px;margin:0;max-width:40em;}
.c-lines__go{font-family:var(--en);font-size:12px;color:var(--brass);opacity:0;transform:translateX(-8px);transition:.3s;letter-spacing:.12em;white-space:nowrap;}
.c-lines__row:hover .c-lines__go{opacity:1;transform:translateX(0);}
.c-lines__foot{margin-top:34px;text-align:right;}
.c-lines__foot a{font-weight:700;font-size:14px;text-decoration:none;border-bottom:1px solid var(--brass);padding-bottom:4px;}
/* ホバー追従プレビュー（PCのみ） */
.c-lines__preview{position:fixed;top:0;left:0;width:300px;height:210px;overflow:hidden;pointer-events:none;opacity:0;transform:translate(-50%,-50%) scale(.92);transition:opacity .25s,transform .25s;z-index:60;box-shadow:0 30px 60px -24px rgba(16,24,16,.55);}
.c-lines__preview.is-show{opacity:1;transform:translate(-50%,-50%) scale(1);}
.c-lines__preview img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;opacity:0;transition:opacity .2s;}
.c-lines__preview img.is-on{opacity:1;}
@media(max-width:860px){
  .c-lines{padding:84px 0;}
  .c-lines__row{grid-template-columns:56px 72px 1fr;gap:14px;}
  .c-lines__thumb{width:72px;height:72px;}
  .c-lines__go{display:none;}
  .c-lines__preview{display:none;}
  .c-lines__head{flex-direction:column;align-items:flex-start;gap:8px;}
}

/* ============ ⑤ ストーリー（sec-message-03 マガジン見開き） ============ */
.c-story{padding:130px 0 140px;background:#F2EFE6;position:relative;}
.c-story__spread{display:grid;grid-template-columns:300px 1fr;gap:0 64px;align-items:start;}
.c-story__left{position:relative;}
.c-story__vlabel{position:absolute;left:-14px;top:0;writing-mode:vertical-rl;font-family:var(--en);font-size:11px;letter-spacing:.34em;text-transform:uppercase;color:var(--brass);}
.c-story__portrait{margin-left:34px;aspect-ratio:4/5;overflow:hidden;}
.c-story__portrait img{width:100%;height:100%;object-fit:cover;}
.j .c-story__portrait{clip-path:inset(0 0 100% 0);}
.c-story__meta{margin:22px 0 0 34px;}
.c-story__role{font-family:var(--en);font-size:11px;letter-spacing:.16em;color:var(--muted);text-transform:uppercase;}
.c-story__nm{font-family:var(--serif);font-size:22px;font-weight:700;margin-top:4px;}
.c-story__sub{margin:26px 0 0 34px;}
.c-story__sub img{width:100%;aspect-ratio:16/11;object-fit:cover;}
.c-story__subcap{font-size:11px;color:var(--muted);margin-top:8px;letter-spacing:.06em;}
.c-story__kicker{font-family:var(--en);font-size:11px;letter-spacing:.3em;color:var(--brass);text-transform:uppercase;border-bottom:1px solid var(--ink);padding-bottom:14px;font-weight:600;}
.c-story__body{font-family:var(--serif);font-weight:500;font-size:clamp(16px,1.5vw,19px);line-height:2.2;margin-top:30px;max-width:31em;}
.c-story__body p{margin:0 0 1.4em;}
.c-story__drop{float:left;font-family:var(--serif);font-weight:900;font-size:clamp(80px,9vw,128px);line-height:.78;margin:8px 18px -6px 0;color:var(--green);}
.c-story__leadline{font-size:clamp(21px,2.4vw,30px);font-weight:600;line-height:1.6;}
.c-story__facts{margin-top:40px;display:flex;flex-wrap:wrap;gap:10px 26px;font-size:13px;color:var(--muted);}
.c-story__facts span{display:inline-flex;align-items:center;gap:8px;}
.c-story__facts span::before{content:"";width:8px;height:8px;border:1px solid var(--brass);transform:rotate(45deg);}
@media(max-width:860px){
  .c-story{padding:88px 0 100px;}
  .c-story__spread{grid-template-columns:1fr;gap:36px;}
  .c-story__vlabel{position:static;writing-mode:horizontal-tb;margin-bottom:10px;}
  .c-story__portrait,.c-story__meta,.c-story__sub{margin-left:0;}
  .c-story__portrait{max-width:280px;}
}

/* ============ ⑥ 数字（sec-numbers-02 ブロークングリッド特大数字） ============ */
.c-nums{padding:110px 0 120px;background:var(--dark);color:var(--paper);position:relative;overflow:hidden;}
.c-nums__bg{position:absolute;inset:0;background:url('../images/section-bg-3.jpg') center/cover no-repeat;opacity:.3;}
.c-nums__in{position:relative;z-index:1;}
.c-nums__h2{font-family:var(--serif);font-weight:700;font-size:clamp(26px,3.4vw,40px);line-height:1.4;margin:14px 0 0;color:#FFFDF6;}
.c-nums__h2 .mk{background:linear-gradient(transparent 62%,rgba(185,138,47,.45) 62%);}
.c-nums__field{position:relative;margin-top:30px;min-height:540px;}
.c-nums__stat{position:absolute;}
.c-nums__v{font-family:var(--en);font-weight:700;line-height:.84;letter-spacing:-.01em;display:flex;align-items:flex-start;color:#FFFDF6;}
.c-nums__u{font-size:.24em;color:var(--brass);font-weight:700;margin-top:.6em;margin-left:.14em;font-family:var(--sans);}
.c-nums__l{font-size:13px;color:rgba(250,250,246,.66);letter-spacing:.08em;margin-top:8px;max-width:18em;}
.c-nums__l::before{content:"— ";color:var(--brass);}
.c-nums__s1{left:-1%;top:0;}    .c-nums__s1 .c-nums__v{font-size:clamp(110px,20vw,250px);}
.c-nums__s2{right:2%;top:130px;text-align:right;} .c-nums__s2 .c-nums__v{font-size:clamp(66px,11vw,140px);justify-content:flex-end;color:var(--fresh);}
.c-nums__s3{left:16%;top:320px;} .c-nums__s3 .c-nums__v{font-size:clamp(76px,13vw,170px);}
.c-nums__s4{right:9%;top:390px;} .c-nums__s4 .c-nums__v{font-size:clamp(50px,7.6vw,96px);color:transparent;-webkit-text-stroke:1.5px rgba(250,250,246,.85);}
.c-nums__rule{position:absolute;left:0;right:0;top:290px;height:1px;background:var(--line-dark);}
.c-nums__tag{position:absolute;right:0;top:-10px;writing-mode:vertical-rl;font-family:var(--en);font-size:11px;letter-spacing:.3em;color:rgba(250,250,246,.45);text-transform:uppercase;}
.c-nums__note{position:relative;z-index:1;margin-top:40px;font-size:12px;color:rgba(250,250,246,.5);}
@media(max-width:820px){
  .c-nums{padding:84px 0 90px;}
  .c-nums__field{min-height:0;display:grid;gap:40px;}
  .c-nums__stat{position:static !important;text-align:left !important;}
  .c-nums__s2 .c-nums__v{justify-content:flex-start;}
  .c-nums__rule,.c-nums__tag{display:none;}
  .c-nums__s1 .c-nums__v{font-size:92px;}.c-nums__s2 .c-nums__v{font-size:72px;}
  .c-nums__s3 .c-nums__v{font-size:78px;}.c-nums__s4 .c-nums__v{font-size:58px;}
}

/* ============ 導入店の声（sec-voice-02 引用大＋ポートレート ×3 ジグザグ） ============ */
.c-voices{padding:120px 0;background:var(--paper);}
.c-voices__list{display:grid;gap:72px;margin-top:50px;}
.c-voices__q{display:grid;grid-template-columns:240px 1fr;gap:48px;align-items:center;}
.c-voices__q:nth-child(even){grid-template-columns:1fr 240px;}
.c-voices__q:nth-child(even) .c-voices__pt{order:2;}
.c-voices__pt{position:relative;aspect-ratio:3/4;overflow:hidden;border-radius:14px;}
.c-voices__pt img{width:100%;height:100%;object-fit:cover;}
.j .c-voices__pt{clip-path:inset(0 0 100% 0);}
.c-voices__big{font-family:var(--serif);font-size:clamp(18px,2.2vw,26px);font-weight:600;line-height:1.85;margin:0;}
.c-voices__qm{color:var(--brass);font-size:1.25em;font-family:var(--en);}
.c-voices__by{margin-top:24px;display:flex;align-items:center;gap:14px;}
.c-voices__ln{width:34px;height:1px;background:var(--brass);}
.c-voices__nm{font-weight:700;font-size:14px;}
.c-voices__rl{font-size:13px;color:var(--muted);}
@media(max-width:820px){
  .c-voices{padding:84px 0;}
  .c-voices__q,.c-voices__q:nth-child(even){grid-template-columns:1fr;gap:24px;}
  .c-voices__q:nth-child(even) .c-voices__pt{order:0;}
  .c-voices__pt{max-width:220px;}
}

/* ============ ⑦ 料金・注文条件（sec-pricing-01 エディトリアル＋罫線索引） ============ */
.c-price{padding:120px 0;background:#F4F4EF;position:relative;overflow:hidden;}
.c-price__top{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:end;border-bottom:2px solid var(--ink);padding-bottom:28px;}
.c-price__label{font-family:var(--serif);font-size:clamp(20px,2.4vw,28px);font-weight:700;margin:14px 0 0;}
.c-price__label small{display:block;font-family:var(--en);font-size:12px;color:var(--muted);letter-spacing:.14em;margin-top:8px;}
.c-price__price{text-align:right;}
.c-price__from{font-family:var(--en);font-size:13px;color:var(--brass);letter-spacing:.14em;font-weight:600;}
.c-price__v{font-family:var(--en);font-weight:700;font-size:clamp(58px,9vw,110px);line-height:.84;letter-spacing:-.01em;display:inline-flex;align-items:flex-start;}
.c-price__v .yen{font-size:.34em;margin-top:.34em;margin-right:.06em;color:var(--green);font-family:var(--sans);font-weight:700;}
.c-price__v .u{font-size:.24em;margin-top:1.7em;margin-left:.12em;color:var(--muted);font-family:var(--sans);}
.c-price__tax{font-size:12px;color:var(--muted);letter-spacing:.04em;margin-top:10px;}
.c-price__grid{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;margin-top:40px;}
.c-price__tbl{list-style:none;margin:0;padding:0;}
.c-price__tbl li{display:grid;grid-template-columns:8.5em 1fr;gap:18px;align-items:baseline;padding:17px 4px;border-bottom:1px solid var(--line);font-size:15px;}
.c-price__tbl li .k{font-weight:700;font-size:13.5px;color:var(--green);display:flex;align-items:center;gap:10px;}
.c-price__tbl li .k::before{content:"";width:7px;height:7px;border:1px solid var(--brass);transform:rotate(45deg);flex:0 0 auto;}
.c-price__note{background:#fff;border:1px solid var(--line);padding:30px;align-self:start;}
.c-price__nt{font-family:var(--en);font-size:11px;letter-spacing:.18em;color:var(--brass);text-transform:uppercase;font-weight:600;}
.c-price__note h3{font-family:var(--serif);font-size:20px;margin:8px 0 10px;}
.c-price__note p{color:var(--muted);font-size:14px;margin:0 0 22px;}
@media(max-width:820px){
  .c-price{padding:84px 0;}
  .c-price__top,.c-price__grid{grid-template-columns:1fr;gap:24px;}
  .c-price__price{text-align:left;}
  .c-price__tbl li{grid-template-columns:1fr;gap:4px;}
}

/* ============ ⑧ FAQ（sec-faq-02 2カラム＋下線ドロー） ============ */
.c-faq{padding:120px 0;background:var(--paper);border-top:1px solid var(--line);}
.c-faq__head{position:relative;display:inline-block;}
.c-faq__h2{font-family:var(--serif);font-size:clamp(28px,4.2vw,48px);font-weight:600;line-height:1.45;margin:16px 0 6px;}
.c-faq__uline{width:100%;height:8px;overflow:visible;display:block;}
.c-faq__uline path{fill:none;stroke:var(--brass);stroke-width:4;stroke-linecap:round;}
.c-faq__grid{display:grid;grid-template-columns:1fr 1fr;gap:38px 56px;margin-top:56px;}
.c-faq__q{display:flex;gap:14px;align-items:baseline;}
.c-faq__qn{font-family:var(--serif);font-size:28px;color:var(--brass);line-height:1;flex:0 0 auto;font-weight:700;}
.c-faq__qt{font-family:var(--serif);font-size:clamp(16px,1.8vw,19px);font-weight:600;margin:0;}
.c-faq__a{margin:13px 0 0 42px;font-size:14.5px;color:var(--muted);}
@media(max-width:820px){.c-faq{padding:84px 0;}.c-faq__grid{grid-template-columns:1fr;gap:30px;}}

/* ============ ⑨ ご利用の流れ（sec-process-02 横STEP×4） ============ */
.c-flow{padding:120px 0;background:#F5F7F4;}
.c-flow__head{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:end;margin-bottom:52px;}
.c-flow__h2{font-family:var(--serif);font-weight:700;font-size:clamp(24px,3vw,34px);margin:12px 0 0;}
.c-flow__steps{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.c-flow__topline{display:flex;align-items:center;gap:12px;margin-bottom:16px;}
.c-flow__lab{font-family:var(--en);font-size:11px;letter-spacing:.2em;color:var(--muted);}
.c-flow__no{font-family:var(--serif);font-weight:700;font-size:30px;color:var(--green);line-height:1;}
.c-flow__ln{flex:1;height:2px;background:var(--green);transform-origin:left;}
.j .c-flow__ln{transform:scaleX(0);}
.c-flow__ic{width:64px;height:64px;display:flex;align-items:center;justify-content:center;border:1px solid var(--brass);border-radius:50%;background:#fff;}
.c-flow__ic img{width:36px;height:36px;object-fit:contain;}
.c-flow__step h3{font-family:var(--serif);font-size:18px;font-weight:700;margin:16px 0 8px;}
.c-flow__step p{color:var(--muted);font-size:13.5px;margin:0;}
.c-flow__note{font-size:11px;color:#97A097;margin-top:8px;}
@media(max-width:980px){.c-flow__steps{grid-template-columns:1fr 1fr;gap:32px 24px;}}
@media(max-width:600px){.c-flow{padding:84px 0;}.c-flow__steps{grid-template-columns:1fr;}.c-flow__head{grid-template-columns:1fr;}}

/* ============ ⑩ ブログ・お知らせ（sec-news-03 左見出し×点線リスト） ============ */
.c-news{padding:110px 0;background:var(--paper);}
.c-news__layout{display:grid;grid-template-columns:.65fr 1.35fr;gap:50px;align-items:start;}
.c-news__h2{font-family:var(--serif);font-weight:700;font-size:clamp(26px,3.4vw,40px);margin:12px 0 22px;}
.c-news__copy{font-size:14px;color:var(--muted);max-width:22em;}
.c-news__all{display:inline-flex;align-items:center;gap:14px;margin-top:30px;color:var(--ink);font-weight:700;text-decoration:none;font-size:14px;}
.c-news__circ{width:46px;height:46px;border:1px dashed var(--brass);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--brass);}
.c-news__list{display:flex;flex-direction:column;}
.c-news__row{display:grid;grid-template-columns:128px 1fr;gap:22px;padding:22px 0;border-bottom:1px dashed var(--line);text-decoration:none;color:inherit;align-items:center;}
.c-news__row:first-child{padding-top:0;}
.c-news__row img{width:128px;height:88px;object-fit:cover;}
.c-news__meta{display:flex;gap:14px;align-items:center;margin-bottom:6px;}
.c-news__d{font-family:var(--en);font-size:12px;color:var(--green);letter-spacing:.08em;}
.c-news__cat{font-size:10px;border:1px solid var(--line);border-radius:20px;padding:3px 12px;color:var(--muted);}
.c-news__row h3{font-family:var(--serif);font-weight:700;font-size:16px;margin:0;line-height:1.55;}
@media(max-width:780px){.c-news{padding:80px 0;}.c-news__layout{grid-template-columns:1fr;gap:30px;}}

/* ============ ⑪ 最終CTA（sec-cta-01 全幅＋動く光） ============ */
.c-cta{position:relative;min-height:88vh;display:flex;align-items:center;justify-content:center;overflow:hidden;text-align:center;background:var(--dark);color:var(--paper);}
.c-cta__bg{position:absolute;inset:0;}
.c-cta__bg img{width:100%;height:100%;object-fit:cover;filter:saturate(.95);}
.c-cta__overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(16,24,16,.8),rgba(16,24,16,.62) 50%,rgba(16,24,16,.88));}
.c-cta__glow{position:absolute;width:56vw;height:56vw;border-radius:50%;filter:blur(90px);mix-blend-mode:screen;opacity:.42;background:radial-gradient(circle,var(--fresh),transparent 65%);left:8%;top:8%;}
.c-cta__glow--2{background:radial-gradient(circle,var(--brass),transparent 65%);right:6%;bottom:4%;left:auto;top:auto;}
.c-cta__inner{position:relative;z-index:3;width:min(840px,calc(100% - 48px));}
.c-cta__eyebrow{font-family:var(--en);font-size:12px;letter-spacing:.34em;text-transform:uppercase;color:var(--brass);display:inline-flex;gap:12px;align-items:center;justify-content:center;font-weight:600;}
.c-cta__eyebrow::before,.c-cta__eyebrow::after{content:"";width:30px;height:1px;background:var(--brass);}
.c-cta__h2{font-family:var(--serif);font-weight:700;font-size:clamp(30px,5.4vw,66px);line-height:1.5;margin:24px 0 0;text-shadow:0 4px 40px rgba(0,0,0,.5);color:#FFFDF6;}
.c-cta__h2 .mk{color:var(--brass);}
.c-cta__lead{color:rgba(250,250,246,.86);font-size:16px;margin:24px auto 0;max-width:32em;}
.c-cta__btns{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-top:40px;}
.c-cta__sub{margin-top:26px;font-family:var(--en);font-size:12px;letter-spacing:.14em;color:rgba(250,250,246,.55);}
@media(prefers-reduced-motion:reduce){.c-cta__glow{display:none;}}

/* ============ footer（parts: footer-03 NAP情報型・CTA帯なし） ============ */
.c-footer{background:var(--green);color:var(--paper);}
.c-footer__info{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;padding:60px 28px 50px;}
.c-footer__nm{font-family:var(--en);font-weight:700;font-size:26px;letter-spacing:.2em;}
.c-footer__jp{font-size:11px;letter-spacing:.4em;color:rgba(250,250,246,.6);margin-top:4px;}
.c-footer__nap{color:rgba(250,250,246,.75);font-size:14px;line-height:2;margin:18px 0 0;font-style:normal;}
.c-footer__tel{font-family:var(--en);color:#fff;font-weight:700;font-size:19px;letter-spacing:.06em;margin-top:8px;}
.c-footer__col h3{font-family:var(--en);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--brass);margin:0 0 14px;font-weight:600;}
.c-footer__col a{display:block;color:var(--paper);text-decoration:none;font-size:14px;padding:6px 0;opacity:.85;}
.c-footer__col a:hover{opacity:1;color:var(--brass);}
.c-footer__gpf{margin-top:22px;padding:16px 18px;border:1px solid var(--line-dark);font-size:13px;color:rgba(250,250,246,.8);}
.c-footer__gpf a{color:var(--brass);font-weight:700;text-decoration:none;}
.c-footer__cp{border-top:1px solid var(--line-dark);}
.c-footer__cp-in{max-width:1200px;margin:0 auto;padding:20px 28px;font-size:12px;color:rgba(250,250,246,.55);display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;}
.c-footer__cp-in a{color:inherit;text-decoration:none;}
@media(max-width:820px){.c-footer__info{grid-template-columns:1fr;gap:30px;}}

/* ============ 固定ページ共通：ページヒーロー ============ */
.p-hero{position:relative;background:var(--green);color:var(--paper);padding:96px 0 72px;overflow:hidden;}
.p-hero__bg{position:absolute;inset:0;background:url("../images/section-bg-1.jpg") center/cover no-repeat;opacity:.3;}
.p-hero__in{position:relative;z-index:1;}
.p-hero__title{font-family:var(--serif);font-weight:700;font-size:clamp(30px,4.6vw,52px);line-height:1.4;margin:14px 0 0;color:#FFFDF6;}
.p-hero__lead{color:var(--paper-dim);margin:18px 0 0;max-width:36em;font-size:15px;}
.p-section{padding:90px 0;}
.p-section--alt{background:#F5F7F4;}
.p-h2{font-family:var(--serif);font-weight:700;font-size:clamp(24px,3.2vw,36px);line-height:1.5;margin:12px 0 28px;}
.p-body p{margin:0 0 1.3em;max-width:40em;}
.p-note{font-size:13px;color:var(--muted);}
.p-tbl{list-style:none;margin:24px 0 0;padding:0;max-width:760px;}
.p-tbl li{display:grid;grid-template-columns:10em 1fr;gap:18px;align-items:baseline;padding:16px 4px;border-bottom:1px solid var(--line);font-size:15px;}
.p-tbl li .k{font-weight:700;font-size:13.5px;color:var(--green);display:flex;align-items:center;gap:10px;}
.p-tbl li .k::before{content:"";width:7px;height:7px;border:1px solid var(--brass);transform:rotate(45deg);flex:0 0 auto;}
@media(max-width:640px){.p-tbl li{grid-template-columns:1fr;gap:4px;}.p-hero{padding:72px 0 54px;}.p-section{padding:64px 0;}}
.p-grid2{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start;}
@media(max-width:820px){.p-grid2{grid-template-columns:1fr;gap:32px;}}
.p-figure{margin:0;}
.p-figure img{width:100%;aspect-ratio:16/11;object-fit:cover;}
.p-figure figcaption{font-size:12px;color:var(--muted);margin-top:8px;}
.p-cta{background:var(--green);color:var(--paper);padding:56px 0;text-align:center;}
.p-cta__h2{font-family:var(--serif);font-weight:700;font-size:clamp(22px,3vw,32px);margin:0 0 22px;color:#FFFDF6;}
.p-form{max-width:680px;}
.p-form label{display:block;font-weight:700;font-size:14px;margin:22px 0 8px;}
.p-form label .req{color:var(--brass);font-size:11px;margin-left:8px;}
.p-form input,.p-form select,.p-form textarea{width:100%;padding:13px 14px;border:1px solid var(--line);background:#fff;font-family:var(--sans);font-size:15px;}
.p-form textarea{min-height:160px;resize:vertical;}
.p-form .consent{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--muted);margin-top:22px;}
.p-form .consent input{width:auto;margin-top:4px;}
.p-form button{margin-top:28px;border:none;cursor:pointer;font-family:var(--sans);}

/* blog single */
.b-article{max-width:720px;}
.b-article h2{font-family:var(--serif);font-size:clamp(20px,2.6vw,28px);line-height:1.6;margin:2em 0 .8em;}
.b-article p{margin:0 0 1.4em;}
.b-article img{height:auto;}
.b-meta{font-family:var(--en);font-size:12px;letter-spacing:.14em;color:var(--brass);}
.b-thumb{margin:28px 0;}
.b-thumb img{width:100%;aspect-ratio:16/9;object-fit:cover;}
.c-news__row img{width:128px;height:88px;object-fit:cover;}

/* wp_nav_menu の li 対応 */
.c-header__nav ul,.c-header__nav li{list-style:none;margin:0;padding:0;display:contents;}
.c-footer__col ul,.c-footer__col li{list-style:none;margin:0;padding:0;}
