/* 断捨離工房 共通デザインシステム（index.html から抽出） */
/* ===== 断捨離工房 デザインシステム（A型・親しみ／テラコッタ×クリーム） ===== */
:root{
  --terra:#c98b86; --terra-d:#b5726b; --terra-dd:#8f544f;
  --cream:#f8f2ec; --cream-d:#efe4d8; --white:#ffffff;
  --ink:#3a2f2b; --ink-soft:#6b5d55; --note:#9a8b80;
  --leaf:#5f8a6a; --leaf-d:#4d7357; --line-green:#06C755;
  --line:#e7dccf; --shadow:0 18px 40px rgba(120,80,60,.10);
  --wrap:1120px;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:'Zen Kaku Gothic New',sans-serif; color:var(--ink);
  background:var(--cream); line-height:1.85; overflow-x:hidden;
  font-size:16px; -webkit-font-smoothing:antialiased;
}
img{max-width:100%; display:block;}
a{color:inherit;}
h1,h2,h3,.c-hero__copy,.btn,summary{word-break:auto-phrase; text-wrap:balance;}
.mincho{font-family:'Zen Maru Gothic',sans-serif;}
.eyebrow{font-family:'Space Grotesk',sans-serif; font-weight:600; letter-spacing:.18em; font-size:13px; color:var(--terra-d); text-transform:uppercase;}
.l-wrap{width:min(var(--wrap),100%); margin:0 auto; padding-left:22px; padding-right:22px;}
.l-sec{padding:clamp(64px,9vw,116px) 0;}
h2.h-sec{font-family:'Zen Maru Gothic',sans-serif; font-weight:900; font-size:clamp(26px,4.4vw,42px); line-height:1.4; color:var(--ink); margin:10px 0 0;}
.lead{font-size:clamp(15px,1.9vw,17px); line-height:2; color:var(--ink-soft); font-weight:500;}
/* buttons */
.btn{display:inline-flex; align-items:center; gap:9px; font-family:'Zen Maru Gothic',sans-serif; font-weight:700; text-decoration:none; border-radius:44px; padding:16px 28px; font-size:clamp(15px,1.9vw,17px); transition:transform .18s ease, box-shadow .18s ease; border:0; cursor:pointer;}
.btn:hover{transform:translateY(-2px);}
.btn--line{background:var(--line-green); color:#fff; box-shadow:0 14px 28px rgba(6,199,85,.28);}
.btn--form{background:var(--white); color:var(--terra-dd); border:2px solid var(--terra); }
.btn--terra{background:linear-gradient(120deg,var(--terra),var(--terra-d)); color:#fff; box-shadow:0 14px 28px rgba(180,114,107,.30);}
.btn--ghost{background:transparent; color:#fff; border:2px solid rgba(255,255,255,.7);}
/* accessibility */
.skip-link{position:absolute; left:-9999px; top:0; background:var(--terra-d); color:#fff; padding:10px 16px; z-index:999; border-radius:0 0 8px 0;}
.skip-link:focus{left:0; top:0;}
a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--leaf); outline-offset:2px; border-radius:4px;}
@media (hover:none){ .btn,.c-nav a,.c-hd__cta{min-height:44px;} }
/* reveal fallback */
.reveal{opacity:0; transform:translateY(26px);}
.is-in{opacity:1; transform:none; transition:opacity .8s ease, transform .8s ease;}
html:not(.j) .reveal{opacity:1; transform:none;}
@media (prefers-reduced-motion:reduce){ *{animation-duration:.01ms!important; transition-duration:.01ms!important;} .reveal{opacity:1!important; transform:none!important;} }

/* ===== HEADER (header-04系 ローカル店舗・電話/CTA＋ピルナビ) ===== */
.c-hd{position:sticky; top:0; z-index:60; background:rgba(248,242,236,.9); backdrop-filter:blur(10px); border-bottom:1px solid var(--line);}
.c-hd__in{display:flex; align-items:center; justify-content:space-between; gap:16px; padding:10px 22px; width:min(1280px,100%); margin:0 auto;}
.c-hd__logo{display:flex; align-items:center; gap:11px; text-decoration:none;}
.c-hd__logo img{height:46px; width:auto;}
.c-hd__logo b{font-family:'Zen Maru Gothic',sans-serif; font-weight:900; font-size:20px; color:var(--ink); letter-spacing:.02em;}
.c-nav{display:flex; align-items:center; gap:6px;}
.c-nav a{font-family:'Zen Maru Gothic',sans-serif; font-weight:700; font-size:14.5px; color:var(--ink); text-decoration:none; padding:9px 14px; border-radius:30px;}
.c-nav a:hover{background:var(--cream-d); color:var(--terra-dd);}
.c-hd__right{display:flex; align-items:center; gap:12px;}
.c-hd__tel{font-family:'Space Grotesk','Zen Maru Gothic',sans-serif; font-weight:700; color:var(--terra-dd); text-decoration:none; font-size:16px; white-space:nowrap;}
.c-hd__tel small{display:block; font-size:10.5px; color:var(--note); letter-spacing:.08em; font-family:'Zen Kaku Gothic New',sans-serif;}
.c-hd__cta{background:var(--line-green); color:#fff!important; font-family:'Zen Maru Gothic',sans-serif; font-weight:800; font-size:14.5px; text-decoration:none; padding:11px 18px; border-radius:30px; box-shadow:0 8px 18px rgba(6,199,85,.28); white-space:nowrap;}
.c-hd__burger{display:none; background:none; border:0; font-size:28px; color:var(--ink); cursor:pointer; line-height:1; padding:4px 8px;}
.c-hd__mobile{display:none; flex-direction:column; padding:8px 22px 18px; background:var(--white); border-top:1px solid var(--line);}
.c-hd__mobile a{font-family:'Zen Maru Gothic',sans-serif; font-weight:700; color:var(--ink); text-decoration:none; padding:13px 4px; border-bottom:1px solid var(--line);}
.c-hd__mobile.is-open{display:flex;}
@media(max-width:980px){ .c-nav,.c-hd__tel{display:none;} .c-hd__burger{display:block;} }

/* ===== HERO (fv-54 MaskJourney 再実装：モノクロ→カラー円マスク) ===== */
.hero,.c-hero{width:100%;}
.c-hero{position:relative; width:100%; min-height:min(88vh,760px); display:flex; align-items:center; overflow:hidden; background:var(--cream);}
/* signature decoration（葉モチーフ・白地に馴染ませる mix-blend-mode） */
.deco-leaf{position:absolute; z-index:0; opacity:.5; mix-blend-mode:multiply; pointer-events:none;}
.c-emp,.c-price,.c-flow{position:relative; overflow:hidden;}
.c-emp>.l-wrap,.c-price>.l-wrap,.c-flow>.l-wrap{position:relative; z-index:1;}
@media (max-width:768px){ .l-wrap{padding-left:18px; padding-right:18px;} .c-hero h1{font-size:clamp(30px,8vw,42px);} .deco-leaf{width:120px!important;} }
.c-hero__photo{position:absolute; inset:0; z-index:0;}
.c-hero__photo img{width:100%; height:100%; object-fit:cover;}
.c-hero__photo--mono img{filter:grayscale(1) brightness(.86) contrast(1.02);}
.c-hero__photo--color{clip-path:circle(150% at 62% 55%);}
html.j .c-hero__photo--color.is-armed{clip-path:circle(9% at 62% 55%);}
.c-hero__scrim{position:absolute; inset:0; z-index:1; background:linear-gradient(100deg, rgba(58,47,43,.72) 0%, rgba(58,47,43,.42) 42%, rgba(58,47,43,.06) 72%);}
.c-hero__in{position:relative; z-index:2; width:min(1300px,100%); margin:0 auto; padding:clamp(40px,7vw,88px) 22px;}
.c-hero__box{max-width:640px;}
.c-hero__pill{display:inline-flex; align-items:center; gap:8px; background:rgba(255,255,255,.92); color:var(--terra-dd); font-family:'Zen Maru Gothic',sans-serif; font-weight:700; font-size:13.5px; padding:8px 16px; border-radius:30px;}
.c-hero__pill span{width:8px; height:8px; border-radius:50%; background:var(--leaf);}
.c-hero h1{font-family:'Zen Maru Gothic',sans-serif; font-weight:900; color:#fff; font-size:clamp(34px,6vw,60px); line-height:1.24; margin:20px 0 0; text-shadow:0 4px 24px rgba(40,26,20,.4);}
.c-hero__sub{color:#fff; font-size:clamp(15px,2vw,19px); line-height:1.9; font-weight:500; margin:20px 0 0; text-shadow:0 2px 14px rgba(40,26,20,.5); max-width:30em;}
.c-hero__cta{display:flex; flex-wrap:wrap; gap:14px; margin-top:30px;}
.c-hero__note{margin-top:16px; color:rgba(255,255,255,.92); font-size:13px; font-weight:500; text-shadow:0 2px 10px rgba(40,26,20,.5);}
.c-hero__mascot{position:absolute; right:clamp(-10px,2vw,40px); bottom:0; z-index:2; width:clamp(120px,20vw,240px); filter:drop-shadow(0 16px 26px rgba(40,26,20,.28)); pointer-events:none;}
@media(max-width:760px){ .c-hero__scrim{background:linear-gradient(180deg, rgba(58,47,43,.5) 0%, rgba(58,47,43,.68) 100%);} .c-hero__mascot{width:120px; opacity:.9;} }

/* ===== 共感（あるあるチェックリスト） ===== */
.c-emp{background:var(--white);}
.c-emp__grid{display:grid; grid-template-columns:1fr 1fr; gap:clamp(28px,4vw,56px); align-items:center; margin-top:14px;}
.c-emp__list{display:flex; flex-direction:column; gap:12px;}
.c-emp__item{display:flex; gap:14px; align-items:flex-start; background:var(--cream); border:1px solid var(--line); border-radius:16px; padding:18px 20px;}
.c-emp__check{flex:0 0 auto; width:26px; height:26px; border-radius:50%; background:var(--terra); color:#fff; display:flex; align-items:center; justify-content:center; font-size:15px; margin-top:2px;}
.c-emp__item p{margin:0; font-weight:500; color:var(--ink); font-size:15.5px; line-height:1.7;}
.c-emp__pull{align-self:stretch; display:flex; flex-direction:column; justify-content:center;}
.c-emp__pull .mk{background:linear-gradient(transparent 62%, #f6dfae 62%);}
@media(max-width:820px){ .c-emp__grid{grid-template-columns:1fr;} }

/* ===== サービス（ベントーグリッド） ===== */
.c-svc{background:var(--cream);}
.c-svc__grid{display:grid; grid-template-columns:repeat(6,1fr); grid-auto-rows:190px; gap:16px; margin-top:44px;}
.c-svc__card{position:relative; border-radius:22px; overflow:hidden; text-decoration:none; color:#fff; box-shadow:var(--shadow); display:flex; align-items:flex-end;}
.c-svc__card img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0; transition:transform .5s ease;}
.c-svc__card:hover img{transform:scale(1.05);}
.c-svc__card::after{content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(180deg, rgba(58,47,43,0) 30%, rgba(58,47,43,.82) 100%);}
.c-svc__t{position:relative; z-index:2; padding:20px 22px;}
.c-svc__t b{font-family:'Zen Maru Gothic',sans-serif; font-weight:900; font-size:clamp(17px,2.1vw,21px); display:block;}
.c-svc__t span{font-size:13px; font-weight:500; opacity:.94; display:block; margin-top:5px; line-height:1.6;}
.c-svc__card--a{grid-column:span 3; grid-row:span 2;}
.c-svc__card--b{grid-column:span 3;}
.c-svc__card--c{grid-column:span 3;}
.c-svc__card--d{grid-column:span 2;}
.c-svc__card--e{grid-column:span 2;}
.c-svc__card--f{grid-column:span 2; background:linear-gradient(135deg,var(--leaf),var(--leaf-d)); align-items:center; justify-content:center; text-align:center;}
.c-svc__card--f::after{display:none;}
.c-svc__card--f .c-svc__t{padding:18px;}
@media(max-width:820px){ .c-svc__grid{grid-template-columns:1fr 1fr; grid-auto-rows:160px;} .c-svc__card--a,.c-svc__card--b,.c-svc__card--c,.c-svc__card--d,.c-svc__card--e,.c-svc__card--f{grid-column:span 1; grid-row:span 1;} .c-svc__card--a{grid-column:span 2; grid-row:span 1;} }

/* ===== ビフォーアフター（vs-02 ドラッグスライダー） ===== */
.c-ba{background:var(--white);}
.c-ba__stage{position:relative; max-width:900px; margin:40px auto 0; border-radius:24px; overflow:hidden; box-shadow:var(--shadow); aspect-ratio:16/10; touch-action:none; user-select:none;}
.c-ba__img{position:absolute; inset:0;}
.c-ba__img img{width:100%; height:100%; object-fit:cover;}
.c-ba__after{clip-path:inset(0 0 0 50%);}
.c-ba__tag{position:absolute; top:14px; z-index:3; font-family:'Zen Maru Gothic',sans-serif; font-weight:800; font-size:13px; color:#fff; padding:5px 14px; border-radius:20px;}
.c-ba__tag--b{left:14px; background:rgba(58,47,43,.72);}
.c-ba__tag--a{right:14px; background:var(--leaf);}
.c-ba__handle{position:absolute; top:0; bottom:0; left:50%; width:3px; background:#fff; z-index:4; transform:translateX(-1.5px);}
.c-ba__knob{position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:48px; height:48px; border-radius:50%; background:#fff; box-shadow:0 6px 18px rgba(0,0,0,.28); display:flex; align-items:center; justify-content:center; color:var(--terra-d); font-size:20px; font-weight:900; cursor:ew-resize;}
.c-ba__note{text-align:center; color:var(--note); font-size:12.5px; margin-top:14px;}

/* ===== 選ばれる理由（左sticky＋特大番号） ===== */
.c-why{background:linear-gradient(180deg,var(--cream),var(--cream-d));}
.c-why__grid{display:grid; grid-template-columns:0.85fr 1.15fr; gap:clamp(28px,5vw,64px); margin-top:20px;}
.c-why__side{position:sticky; top:96px; align-self:start;}
.c-why__side .big{font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:clamp(64px,12vw,140px); line-height:.9; color:var(--terra); opacity:.9;}
.c-why__list{display:flex; flex-direction:column;}
.c-why__row{display:flex; gap:22px; padding:26px 0; border-top:1px solid var(--line);}
.c-why__row:last-child{border-bottom:1px solid var(--line);}
.c-why__no{font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:26px; color:var(--terra-d); flex:0 0 auto; width:44px;}
.c-why__row h3{font-family:'Zen Maru Gothic',sans-serif; font-weight:900; font-size:clamp(18px,2.3vw,22px); color:var(--ink); margin:0 0 8px;}
.c-why__row p{margin:0; color:var(--ink-soft); font-size:15px; line-height:1.85; font-weight:500;}
@media(max-width:820px){ .c-why__grid{grid-template-columns:1fr;} .c-why__side{position:static;} .c-why__side .big{font-size:72px;} }

/* ===== 代表の想い（手紙） ===== */
.c-msg{background:var(--terra); position:relative; overflow:hidden;}
.c-msg::before{content:""; position:absolute; inset:0; background:radial-gradient(120% 90% at 85% 10%, rgba(255,255,255,.16), transparent 60%); z-index:0;}
.c-msg__paper{position:relative; z-index:1; max-width:760px; margin:0 auto; background:var(--cream); border-radius:22px; box-shadow:0 24px 60px rgba(90,50,40,.24); padding:clamp(30px,5vw,56px);}
.c-msg__paper .eyebrow{color:var(--terra-d);}
.c-msg__paper h2{font-family:'Zen Maru Gothic',sans-serif; font-weight:900; font-size:clamp(22px,3.2vw,30px); color:var(--ink); line-height:1.5; margin:10px 0 22px;}
.c-msg__body p{font-size:clamp(15px,1.9vw,16.5px); line-height:2.05; color:var(--ink); font-weight:500; margin:0 0 14px;}
.c-msg__sign{margin-top:26px; display:flex; align-items:center; gap:14px;}
.c-msg__sign img{width:56px; height:56px;}
.c-msg__sign b{font-family:'Zen Maru Gothic',sans-serif; font-weight:900; font-size:18px; color:var(--ink);}
.c-msg__sign small{display:block; color:var(--ink-soft); font-weight:500; font-size:12.5px;}

/* ===== 料金の目安（罫線索引） ===== */
.c-price{background:var(--white);}
.c-price__list{max-width:820px; margin:38px auto 0;}
.c-price__row{display:flex; align-items:baseline; justify-content:space-between; gap:16px; padding:20px 6px; border-bottom:1px dashed var(--line);}
.c-price__row:first-child{border-top:2px solid var(--terra);}
.c-price__name{font-family:'Zen Maru Gothic',sans-serif; font-weight:700; font-size:clamp(16px,2.2vw,19px); color:var(--ink);}
.c-price__name small{display:block; font-family:'Zen Kaku Gothic New',sans-serif; font-weight:500; font-size:12.5px; color:var(--note); margin-top:3px;}
.c-price__val{font-family:'Zen Maru Gothic',sans-serif; font-weight:900; font-size:clamp(18px,2.6vw,24px); color:var(--terra-dd); white-space:nowrap;}
.c-price__val small{font-size:13px; color:var(--ink-soft); font-weight:700;}
.c-price__note{max-width:820px; margin:20px auto 0; color:var(--note); font-size:13px; line-height:1.9;}
.c-price__cta{text-align:center; margin-top:30px;}

/* ===== 依頼の流れ（トラッキング・安心） ===== */
.c-flow{background:var(--cream);}
.c-flow__track{display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:44px; position:relative;}
.c-flow__step{background:var(--white); border:1px solid var(--line); border-radius:20px; padding:26px 22px; position:relative;}
.c-flow__no{width:40px; height:40px; border-radius:12px; background:var(--terra); color:#fff; font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:18px; display:flex; align-items:center; justify-content:center;}
.c-flow__step h3{font-family:'Zen Maru Gothic',sans-serif; font-weight:900; font-size:17px; color:var(--ink); margin:14px 0 6px;}
.c-flow__step p{margin:0; color:var(--ink-soft); font-size:14px; line-height:1.75; font-weight:500;}
.c-flow__step::after{content:"→"; position:absolute; right:-13px; top:44px; color:var(--terra); font-weight:900; z-index:2;}
.c-flow__step:last-child::after{display:none;}
@media(max-width:820px){ .c-flow__track{grid-template-columns:1fr 1fr;} .c-flow__step::after{display:none;} }

/* ===== お客様の声（引用大＋ポートレート） ===== */
.c-voice{background:linear-gradient(180deg,var(--white),var(--cream));}
.c-voice__grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:44px;}
.c-voice__card{background:var(--white); border:1px solid var(--line); border-radius:22px; padding:28px 26px; box-shadow:var(--shadow); display:flex; flex-direction:column; gap:14px;}
.c-voice__tag{align-self:flex-start; background:var(--cream-d); color:var(--terra-dd); font-weight:700; font-size:12px; padding:5px 13px; border-radius:20px;}
.c-voice__q{font-size:15.5px; line-height:1.85; color:var(--ink); font-weight:500;}
.c-voice__who{margin-top:auto; display:flex; align-items:center; gap:12px; border-top:1px dashed var(--line); padding-top:16px;}
.c-voice__who img{width:46px; height:46px; border-radius:50%; object-fit:cover;}
.c-voice__who b{font-size:13.5px; color:var(--ink-soft); font-weight:700;}
@media(max-width:820px){ .c-voice__grid{grid-template-columns:1fr;} }

/* ===== 会社情報・対応エリア（罫線索引） ===== */
.c-about{background:var(--white);}
.c-about__grid{display:grid; grid-template-columns:1fr 1fr; gap:clamp(28px,5vw,56px); margin-top:20px; align-items:start;}
.c-about__tbl{width:100%; border-collapse:collapse;}
.c-about__tbl th,.c-about__tbl td{text-align:left; padding:15px 6px; border-bottom:1px solid var(--line); font-size:14.5px; vertical-align:top;}
.c-about__tbl th{width:110px; color:var(--note); font-weight:700; font-family:'Zen Maru Gothic',sans-serif;}
.c-about__tbl td{color:var(--ink); font-weight:500;}
.c-about__area{background:var(--cream); border-radius:20px; padding:28px 26px;}
.c-about__area h3{font-family:'Zen Maru Gothic',sans-serif; font-weight:900; font-size:18px; color:var(--ink); margin:0 0 10px;}
.c-about__area p{margin:0 0 8px; color:var(--ink-soft); font-weight:500; font-size:14.5px; line-height:1.85;}
@media(max-width:820px){ .c-about__grid{grid-template-columns:1fr;} }

/* ===== FAQ（アコーディオン） ===== */
.c-faq{background:var(--cream);}
.c-faq__list{max-width:820px; margin:40px auto 0; display:flex; flex-direction:column; gap:12px;}
.c-faq__item{background:var(--white); border:1px solid var(--line); border-radius:16px; overflow:hidden;}
.c-faq__q{width:100%; text-align:left; background:none; border:0; cursor:pointer; padding:20px 22px; display:flex; align-items:center; gap:14px; font-family:'Zen Maru Gothic',sans-serif; font-weight:700; font-size:15.5px; color:var(--ink);}
.c-faq__q .qmark{flex:0 0 auto; width:28px; height:28px; border-radius:8px; background:var(--cream-d); color:var(--terra-dd); font-family:'Space Grotesk',sans-serif; font-weight:600; display:flex; align-items:center; justify-content:center; font-size:14px;}
.c-faq__q .plus{margin-left:auto; color:var(--note); font-size:20px; transition:transform .25s ease;}
.c-faq__item.is-open .plus{transform:rotate(45deg);}
.c-faq__a{max-height:0; overflow:hidden; transition:max-height .3s ease;}
.c-faq__a p{margin:0; padding:0 22px 22px 64px; color:var(--ink-soft); font-size:14.5px; line-height:1.85; font-weight:500;}

/* ===== 最終CTA（全幅バンド） ===== */
.c-cta{position:relative; background:linear-gradient(135deg,var(--terra-d),var(--terra)); overflow:hidden;}
.c-cta::before{content:""; position:absolute; width:420px; height:420px; right:-120px; top:-120px; background:rgba(255,255,255,.12); border-radius:50%;}
.c-cta::after{content:""; position:absolute; width:300px; height:300px; left:-100px; bottom:-120px; background:rgba(255,255,255,.1); border-radius:50%;}
.c-cta__in{position:relative; z-index:1; text-align:center; padding:clamp(58px,8vw,96px) 22px;}
.c-cta h2{font-family:'Zen Maru Gothic',sans-serif; font-weight:900; color:#fff; font-size:clamp(25px,4.4vw,42px); line-height:1.45; margin:0;}
.c-cta p{color:rgba(255,255,255,.94); font-size:clamp(15px,2vw,18px); font-weight:500; line-height:1.9; margin:18px 0 0;}
.c-cta__row{display:flex; flex-wrap:wrap; gap:14px; justify-content:center; margin-top:30px;}
.c-cta small{display:block; margin-top:16px; color:rgba(255,255,255,.85); font-size:13px;}

/* ===== FOOTER (footer-03 CTA一体＋NAP) ===== */
.c-ft{background:#2e2622; color:#d9cdc4;}
.c-ft__in{width:min(var(--wrap),100%); margin:0 auto; padding:clamp(44px,6vw,64px) 22px 30px; display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:32px;}
.c-ft__logo{display:flex; align-items:center; gap:10px; margin-bottom:14px;}
.c-ft__logo img{height:44px; background:#fff; border-radius:10px; padding:6px;}
.c-ft__logo b{font-family:'Zen Maru Gothic',sans-serif; font-weight:900; font-size:19px; color:#fff;}
.c-ft p{font-size:13px; line-height:1.9; margin:0 0 4px;}
.c-ft a{color:#e6b7a8; text-decoration:none;}
.c-ft h4{font-family:'Zen Maru Gothic',sans-serif; font-weight:700; font-size:14px; color:#fff; margin:0 0 12px;}
.c-ft__col a{display:block; color:#d9cdc4; text-decoration:none; padding:6px 0; font-size:13.5px;}
.c-ft__copy{border-top:1px solid #463a34; text-align:center; padding:20px; font-size:12px; color:#9a8b80;}
@media(max-width:760px){ .c-ft__in{grid-template-columns:1fr;} }

/* ===== 固定ページ共通（page-hero / prose / detail） ===== */
.c-phero{position:relative; background:linear-gradient(135deg,var(--terra-d),var(--terra)); color:#fff; overflow:hidden;}
.c-phero::before{content:""; position:absolute; width:360px; height:360px; right:-110px; top:-120px; background:rgba(255,255,255,.12); border-radius:50%;}
.c-phero__in{position:relative; z-index:1; width:min(var(--wrap),100%); margin:0 auto; padding:clamp(52px,8vw,92px) 22px;}
.c-phero .eyebrow{color:rgba(255,255,255,.85);}
.c-phero h1{font-family:'Zen Maru Gothic',sans-serif; font-weight:900; font-size:clamp(28px,5vw,46px); line-height:1.3; margin:10px 0 0;}
.c-phero p{margin:14px 0 0; color:rgba(255,255,255,.94); font-weight:500; font-size:clamp(15px,1.9vw,17px); line-height:1.9;}
.c-crumb{width:min(var(--wrap),100%); margin:0 auto; padding:14px 22px; font-size:12.5px; color:var(--note);}
.c-crumb a{color:var(--terra-dd); text-decoration:none;}
.c-prose{max-width:820px; margin:0 auto;}
.c-prose h2{font-family:'Zen Maru Gothic',sans-serif; font-weight:900; font-size:clamp(20px,3vw,27px); color:var(--ink); margin:38px 0 12px;}
.c-prose h3{font-family:'Zen Maru Gothic',sans-serif; font-weight:700; font-size:17px; color:var(--ink); margin:24px 0 8px;}
.c-prose p{font-size:15.5px; line-height:1.95; color:var(--ink-soft); font-weight:500; margin:0 0 12px;}
.c-prose ul{padding-left:1.2em; color:var(--ink-soft); font-weight:500; line-height:1.9;}
.c-sd{display:flex; flex-direction:column; gap:22px; margin-top:40px;}
.c-sd__item{display:grid; grid-template-columns:0.9fr 1.1fr; gap:clamp(20px,4vw,44px); align-items:center; background:var(--white); border:1px solid var(--line); border-radius:22px; overflow:hidden; box-shadow:var(--shadow);}
.c-sd__item:nth-child(even){grid-template-columns:1.1fr 0.9fr;}
.c-sd__item:nth-child(even) .c-sd__media{order:2;}
.c-sd__media{position:relative; min-height:240px; height:100%;}
.c-sd__media img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
.c-sd__body{padding:clamp(22px,3vw,34px);}
.c-sd__body h3{font-family:'Zen Maru Gothic',sans-serif; font-weight:900; font-size:clamp(19px,2.6vw,24px); color:var(--ink); margin:0 0 6px;}
.c-sd__price{display:inline-block; background:var(--cream-d); color:var(--terra-dd); font-family:'Zen Maru Gothic',sans-serif; font-weight:900; font-size:15px; padding:6px 14px; border-radius:20px; margin:6px 0 12px;}
.c-sd__body p{margin:0 0 8px; color:var(--ink-soft); font-size:14.5px; line-height:1.85; font-weight:500;}
@media(max-width:760px){ .c-sd__item,.c-sd__item:nth-child(even){grid-template-columns:1fr;} .c-sd__item:nth-child(even) .c-sd__media{order:0;} .c-sd__media{min-height:200px;} }
.c-ct{display:grid; grid-template-columns:1fr 1fr; gap:20px; max-width:900px; margin:40px auto 0;}
.c-ct__card{background:var(--white); border:1px solid var(--line); border-radius:22px; padding:32px 28px; text-align:center; box-shadow:var(--shadow);}
.c-ct__card h3{font-family:'Zen Maru Gothic',sans-serif; font-weight:900; font-size:20px; color:var(--ink); margin:0 0 6px;}
.c-ct__card p{color:var(--ink-soft); font-size:14px; line-height:1.8; margin:0 0 18px; font-weight:500;}
.c-ct__big{font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:26px; color:var(--terra-dd); text-decoration:none; display:block; margin-bottom:8px;}
@media(max-width:680px){ .c-ct{grid-template-columns:1fr;} }
