@charset "UTF-8";
/* ============================================================
   GOKURAKU GYM — トップページ本文
   Author: SOEL design
   ------------------------------------------------------------
   ・全セレクタが .home 配下にスコープされています
   ・ヘッダー／フッター／SP固定バーは common.css が担当します
   ・CSS変数は --gk- 接頭辞で common.css と分離しています
============================================================ */

.home{
  --gk-bk:#08080a;
  --gk-gold-hi:#f2dfa8;
  --gk-gold:#c9a45f;
  --gk-gold-deep:#8f6f2e;
  --gold-bright:#d4af37;
  --gk-red:#c8102e;
  --gk-red-deep:#9e0b23;
  --gk-ink:#1a1a1a;
  --gk-ink-sub:#555;
  --gk-line:#e8e6e1;
  --gk-serif:"Noto Serif JP",serif;
  --gk-sans:"Noto Sans JP",sans-serif;
  --gk-font-display:"Bebas Neue",sans-serif;
  --gk-font-heading:"Oswald",sans-serif;
  --gk-font-body:"Noto Sans JP",sans-serif;
  --gk-wrap:min(75rem,90%);
  --gk-maxw:87.5rem;
  --gk-dark-card:#141414;
  --gk-dark-border:#2a2a2a;
  --gk-w-sub:rgba(255,255,255,.8);
  --bk:#08080a;
  --gold-hi:#f2dfa8;
  --gold-deep:#8f6f2e;
  --gold-1:#f2dfa8;
  --gold-2:#d4af37;
  --gold-3:#8f6f2e;
  --gold-4:#e8d296;
  --dark-card:#141414;
  --w-sub:rgba(255,255,255,.8);
  --serif:"Noto Serif JP",serif;
  --sans:"Noto Sans JP",sans-serif;
  --maxw:87.5rem;
  --gk-gold-1:#f2dfa8;
  --gk-gold-2:#d4af37;
  --gk-gold-3:#8f6f2e;
  --gk-gold-4:#e8d296;
}
.home section *, .home .trainers *{box-sizing:border-box;}
.home section img{max-width:100%;display:block;}
.home section p, .home section h2, .home section h3, .home section dl, .home section dd{margin:0;}
.home section a{text-decoration:none;color:inherit;}
.home section ul, .home section ol{list-style:none;margin:0;padding:0;}
.home .burger{display:none;flex-direction:column;gap:.25rem;}
.home .burger span{width:1.375rem;height:2px;background:#fff;display:block;}
.home .fv{position:relative;overflow:hidden;background:var(--bk);min-height:min(82vh,46rem);display:flex;flex-direction:column;}
.home .fv__media{position:absolute;inset:0;z-index:0;}
.home .fv__media img{width:100%;height:100%;object-fit:cover;object-position:center;}
.home .fv__scrim{position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,rgba(8,8,10,.55) 0%,rgba(8,8,10,0) 20%,rgba(8,8,10,0) 60%,rgba(8,8,10,.9) 100%);}
.home .fv__inner{position:relative;z-index:10;flex:1;display:flex;flex-direction:column;justify-content:center;
  width:100%;max-width:var(--maxw);margin:0 auto;padding:2rem clamp(1.25rem,3.5vw,3rem) 3.5rem;}
.home .fv__text{width:min(62%,48rem);}
.home .fv__tag{display:inline-flex;align-items:center;gap:.75rem;font-size:clamp(.6875rem,1.05vw,.9375rem);
  font-weight:500;letter-spacing:.12em;color:rgba(255,255,255,.92);margin-bottom:1.375rem;}
.home .fv__tag::before{content:"";width:2px;height:1.125rem;background:linear-gradient(180deg,var(--gold-1),var(--gold-3));}
.home .fv__hl{font-family:var(--serif);font-weight:700;line-height:1.3;letter-spacing:.01em;color:#fff;text-shadow:0 .125rem 1.5rem rgba(0,0,0,.75);}
.home .fv__hl > span{display:block;}
.home .fv__hl .big{font-size:clamp(1.75rem,4.4vw,3.875rem);}
.home .fv__hl .sm{font-size:clamp(1.125rem,2.6vw,2.25rem);}
.home .fv__hl .sm, .home .fv__hl .pill{vertical-align:middle;}
.home .gk-gold{display:inline-block;
  background-image:linear-gradient(178deg,var(--gold-1) 6%,#fbf3d4 24%,var(--gold-2) 48%,var(--gold-3) 74%,var(--gold-4) 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  filter:drop-shadow(0 .0625rem .1875rem rgba(0,0,0,.85));}


@supports not ((-webkit-background-clip:text) or (background-clip:text)){
  .gk-gold{-webkit-text-fill-color:currentColor;color:var(--gold-2);background-image:none;}}.home .fv__pillars{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem clamp(.5rem,1.4vw,1.125rem);margin-bottom:.75rem;}
.home .fv__pillars .x{font-family:var(--serif);font-weight:700;font-size:clamp(1.125rem,2.4vw,2rem);color:var(--gold-2);line-height:1;}
.home .pill--med{position:relative;display:inline-block;font-size:clamp(1.625rem,4vw,3.375rem);line-height:1.24;padding:.22em .46em .28em;border-radius:.34em;}
.home .pill--med::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:2px;
  background:linear-gradient(155deg,var(--gold-1) 0%,#fdf6dd 22%,var(--gold-2) 52%,var(--gold-3) 78%,var(--gold-4) 100%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;
  mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;
  pointer-events:none;filter:drop-shadow(0 0 .375rem rgba(0,0,0,.7));}


@supports not ((-webkit-mask-composite:xor) or (mask-composite:exclude)){
  .pill--med::before{background:none;border:2px solid var(--gold-2);padding:0;}}.home .pill--med .txt{font-size:1em;}
.home .pill--kaatsu{position:relative;display:inline-block;font-size:clamp(1.375rem,3.4vw,2.875rem);line-height:1.24;padding:.34em .12em .38em;}
.home .pill--kaatsu::before, .home .pill--kaatsu::after{content:"";position:absolute;left:0;right:0;height:5px;pointer-events:none;filter:drop-shadow(0 0 .3125rem rgba(0,0,0,.7));}
.home .pill--kaatsu::before{top:0;background:linear-gradient(90deg,var(--gold-3),var(--gold-1) 38%,var(--gold-2) 72%,var(--gold-3)) top/100% 2px no-repeat,
  linear-gradient(90deg,rgba(212,175,55,.55),rgba(247,230,176,.55) 45%,rgba(212,175,55,.35)) bottom/100% 1px no-repeat;}
.home .pill--kaatsu::after{bottom:0;background:linear-gradient(90deg,var(--gold-3),var(--gold-1) 38%,var(--gold-2) 72%,var(--gold-3)) bottom/100% 2px no-repeat,
  linear-gradient(90deg,rgba(212,175,55,.55),rgba(247,230,176,.55) 45%,rgba(212,175,55,.35)) top/100% 1px no-repeat;}
.home .pill--kaatsu .txt{font-size:1em;}
.home .fv__lead{margin-top:1.625rem;font-size:clamp(.75rem,1.05vw,1rem);line-height:2;color:var(--w-sub);text-shadow:0 .0625rem .75rem rgba(0,0,0,.85);}
.home .fv__awards{display:flex;gap:clamp(.5rem,2vw,2.25rem);margin-top:1.875rem;align-items:flex-start;}
.home .slot{position:relative;width:clamp(5.25rem,10.5vw,10rem);flex:0 0 auto;}
.home .slot svg{width:100%;height:auto;}
.home .slot .in{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 13%;}
.home .slot .in .t1{font-size:clamp(.4375rem,.7vw,.6875rem);line-height:1.5;text-align:center;color:#fff;font-weight:500;}
.home .slot .in .t2{font-family:var(--serif);font-weight:700;font-size:clamp(.9375rem,1.8vw,1.625rem);line-height:1;margin-top:.2rem;}
.home .cmp__wrap{width:var(--gk-wrap);margin:0 auto;}
.home .cmp__grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;}
.home .cmp__card{background:var(--dark-card);border:1px solid var(--dark-border);position:relative;overflow:hidden;
  display:flex;flex-direction:column;transition:border-color .3s;}
.home .cmp__card::after{content:"";position:absolute;top:0;right:50%;transform:translateX(50%);
  width:30rem;height:7rem;background:url("../img/bk_logo.webp") no-repeat center/contain;opacity:.7;pointer-events:none;}
.home .cmp__ribbon{position:absolute;top:1rem;right:-2.25rem;background:var(--gk-red);color:#fff;
  font-family:var(--gk-font-heading);font-size:.875rem;letter-spacing:.15em;padding:.25rem 3rem;transform:rotate(45deg);z-index:2;}
.home .cmp__head{text-align:center;line-height:1.5;padding:3rem 2rem 0;position:relative;z-index:1;}
.home .cmp__tag{font-size:.875rem;color:#fff;text-transform:uppercase;}
.home .cmp__title{font-family:var(--gk-font-heading);font-size:2.25rem;font-weight:700;color:var(--gk-gold);
  padding-bottom:1rem;border-bottom:1px solid #fff;}
.home .cmp__body{padding:1.5rem 3rem 1rem;flex:1;}
.home .cmp__items{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;}
.home .cmp__item{text-align:center;}
.home .cmp__label{font-size:1.25rem;font-weight:600;color:#fff;}
.home .cmp__original{font-size:1rem;color:#fff;text-decoration:line-through;}
.home .cmp__price{font-family:var(--gk-font-display);font-size:6rem;font-weight:400;color:var(--gk-gold);line-height:1;}
.home .cmp__price span{font-family:var(--gk-font-body);font-size:1.25rem;color:#fff;}
.home .cmp__discount{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1rem 0 0;}
.home .cmp__num{font-family:var(--gk-font-display);font-size:6rem;color:var(--gk-red);line-height:1;}
.home .cmp__num span{font-size:2rem;}
.home .cmp__num span.cmp__all{font-family:var(--gk-font-heading);font-size:1.75rem;color:#888;margin-right:.5rem;}
.home .cmp__sub{font-size:1rem;color:#fff;}
.home .cmp__cta{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.875rem;
  background:var(--gk-red);color:#fff;font-size:1rem;font-weight:600;letter-spacing:.1em;text-decoration:none;
  transition:background .3s;margin-top:auto;}
.home .cmp__cta::after{content:"";width:.5rem;height:.5rem;border-top:1.5px solid #fff;border-right:1.5px solid #fff;transform:rotate(45deg);}



/* CAMPAIGN のレスポンシブは @container では発火しないため
   （container-type を持つ祖先がページ内に存在しない）、
   ファイル末尾の @media ブロックに移設した。 */.home .cmp{background:var(--bk);padding:4.5rem 3rem 5.5rem;}
.home .fv__scrim{background:linear-gradient(180deg,rgba(8,8,10,.55) 0%,rgba(8,8,10,0) 18%,rgba(8,8,10,0) 52%,rgba(8,8,10,.75) 82%,var(--bk) 100%);}
.home .cmp__card{
  background:#101014;
  border:1.5px solid rgba(201,164,95,.55);
  box-shadow:0 1.25rem 3rem -1.5rem rgba(0,0,0,.9);
}
.home .cmp__card::after{opacity:.55;}
.home .cmp__ribbon{
  background:linear-gradient(160deg,var(--gold-hi),#d4af37 48%,var(--gold-deep));
  color:#0a0a0c;font-weight:700;
}
.home .cmp__tag{color:rgba(255,255,255,.68);letter-spacing:.06em;}
.home .cmp__title{
  background-image:linear-gradient(178deg,var(--gold-hi) 8%,#fbf3d4 26%,#d4af37 52%,var(--gold-deep) 78%,#e8d296 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;
  border-bottom:1px solid rgba(201,164,95,.4);
}


@supports not ((-webkit-background-clip:text) or (background-clip:text)){
  .cmp__title{-webkit-text-fill-color:currentColor;color:#d4af37;background-image:none;}}.home .cmp__label{color:#fff;}
.home .cmp__original{color:rgba(255,255,255,.5);}
.home .cmp__price{color:#d4af37;}
.home .cmp__price span{color:#fff;}
.home .cmp__num{color:#d4af37;}
.home .cmp__num span.cmp__all{color:rgba(255,255,255,.42);}
.home .cmp__sub{color:rgba(255,255,255,.8);}
.home .cmp__cta{
  background:linear-gradient(180deg,#d9b968,var(--gold-deep));
  color:#0a0a0c;font-weight:700;
}
.home .cmp__cta::after{border-top-color:#0a0a0c;border-right-color:#0a0a0c;}
.home .cmp__cta:hover{background:linear-gradient(180deg,var(--gold-hi),#a8842f);}
.home .inner-rule{display:none;}
.home .cmp__card{
  background:#fff;
  border:2.5px solid rgba(201,164,95,.9);
  box-shadow:0 1.5rem 3.25rem -1.5rem rgba(0,0,0,.75);
}
.home .cmp__card::after{opacity:.85;}
.home .cmp__tag{color:#6b6b6b;}
.home .cmp__title{
  background-image:linear-gradient(178deg,#c19a44 6%,#b08d3f 26%,#9a7a30 56%,#7d5f26 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;
  border-bottom:1px solid #e6e0d4;
}


@supports not ((-webkit-background-clip:text) or (background-clip:text)){
  .cmp__title{-webkit-text-fill-color:currentColor;color:#8f6f2e;background-image:none;}}.home .cmp__label{color:#1a1a1a;}
.home .cmp__original{color:#9a9a9a;}
.home .cmp__price{color:#8f6f2e;}
.home .cmp__price span{color:#1a1a1a;}
.home .cmp__num{color:#8f6f2e;}
.home .cmp__num span.cmp__all{color:#b0aca3;}
.home .cmp__sub{color:#1a1a1a;}
.home .cmp__ribbon{background:linear-gradient(160deg,var(--gold-hi),#c9a45f 48%,var(--gold-deep));color:#0a0a0c;}
.home .cmp__cta{background:linear-gradient(180deg,#c9a45f,#8f6f2e);color:#0a0a0c;}
.home .cmp__cta:hover{background:linear-gradient(180deg,#d9b968,#7d5f26);}
.home .cmp__cta::after{border-top-color:#0a0a0c;border-right-color:#0a0a0c;}
.home .sign{background:#fff;}
.home .sign__in{max-width:68rem;margin:0 auto;padding:5.25rem clamp(1.25rem,4vw,3rem) 5.5rem;}
.home .sign__h{
  font-family:var(--sans);font-weight:900;color:#1a1a1a;text-align:center;
  font-size:clamp(1.5rem,4.6vw,3.125rem);line-height:1.35;letter-spacing:.01em;
}
.home .sign__sub{
  text-align:center;color:#555;font-weight:500;
  font-size:clamp(.8125rem,1.45vw,1.0625rem);margin-top:1rem;line-height:1.8;
}
.home .sign__grid{
  display:grid;grid-template-columns:1fr 1fr;
  gap:0 clamp(1.5rem,4vw,3.5rem);
  margin-top:2.75rem;
  border-top:1px solid #e8e6e1;
  position:relative;
}
.home .sign__grid::after{content:"";position:absolute;top:0;bottom:0;left:50%;width:1px;
  background:#e8e6e1;transform:translateX(-50%);}
.home .sc{
  display:flex;align-items:center;
  gap:clamp(1rem,2.2vw,1.625rem);
  padding:clamp(1.125rem,2.2vw,1.625rem) clamp(.25rem,1vw,.75rem);
  border-bottom:1px solid #e8e6e1;
}
.home .sc__i{
  flex:0 0 auto;
  width:clamp(3.25rem,5.6vw,4.375rem);height:clamp(3.25rem,5.6vw,4.375rem);
  display:flex;align-items:center;justify-content:center;color:#a5822f;
}
.home .sc__i svg,
.home .sc__i img{width:100%;height:100%;display:block;}
.home .sc__t{
  font-family:var(--sans);font-weight:700;color:#1a1a1a;line-height:1.6;
  font-size:clamp(.875rem,1.55vw,1.125rem);letter-spacing:.01em;
}
.home .sign__closing{margin-top:3.5rem;text-align:center;}
.home .sign__closing p{color:#555;line-height:2.1;font-weight:500;
  font-size:clamp(.8125rem,1.4vw,1.0625rem);}
.home .sign__closing p .st{color:#1a1a1a;font-weight:700;}
.home .sign__note{
  position:relative;max-width:54rem;margin:0 auto;
  padding:clamp(1rem,2vw,1.5rem) 0;
}
.home .brsp{display:none;}
.home .sign__note .l1{
  font-family:var(--serif);font-weight:700;color:#1a1a1a;
  font-size:clamp(1.125rem,2.5vw,1.875rem);line-height:1.75;letter-spacing:.02em;
}
.home .sign__note .l2{
  margin-top:.875rem;color:#555;font-weight:500;line-height:1.95;
  font-size:clamp(.8125rem,1.4vw,1.0625rem);
}
.home .sign__note{display:block;}
.home .res{background:#fff;}
.home .tl{--c:6.5rem;--g:1.5rem;display:grid;grid-template-columns:repeat(3,1fr);gap:var(--g);position:relative;}
.home .res{--acc:#a5822f;--cline:#e8e6e1;}
.home .res__ph::after{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.4) 22%,rgba(255,255,255,0) 48%),
             linear-gradient(0deg,#fff 0%,rgba(255,255,255,0) 26%);}
.home .hold{background:#fafafa;border-top:1px dashed #d8d6d0;border-bottom:1px dashed #d8d6d0;
  padding:2.25rem 1.25rem;text-align:center;}
.home .rb{background:#fff;--acc:#c8102e;--accsoft:rgba(200,16,46,.5);}
.home .rb__in{max-width:78rem;margin:0 auto;padding:5.25rem clamp(1.25rem,4vw,3rem) 5.5rem;}
.home .rb__head{display:grid;grid-template-columns:auto 1fr;gap:clamp(1.5rem,3.4vw,3rem);align-items:center;}
.home .rb__h{font-family:var(--sans);font-weight:900;color:#1a1a1a;
  font-size:clamp(1.5rem,4vw,2.75rem);line-height:1.35;letter-spacing:.01em;}
.home .rb__lead{border-left:1px solid #dcdad5;padding-left:clamp(1.25rem,3vw,2.5rem);
  font-size:clamp(.8125rem,1.35vw,1rem);line-height:2;color:#333;font-weight:500;}
.home .rb__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1rem,2.4vw,1.75rem);margin-top:2.75rem;}
.home .rb__card{border:1px solid #e6e5e2;border-radius:.625rem;
  padding:clamp(1.25rem,2.4vw,1.875rem);display:flex;flex-direction:column;}
.home .rb__case{display:inline-block;border:1.5px solid var(--acc);color:var(--acc);
  font-family:var(--sans);font-weight:700;font-size:.8125rem;letter-spacing:.1em;
  padding:.375rem .75rem;border-radius:.25rem;}
.home .rb__top{display:grid;grid-template-columns:1fr auto;gap:clamp(.875rem,2vw,1.5rem);align-items:start;margin-top:1.125rem;}
.home .rb__term{font-family:var(--sans);font-weight:900;color:#1a1a1a;line-height:1.35;
  font-size:clamp(1rem,1.9vw,1.375rem);}
.home .rb__big{display:flex;align-items:baseline;gap:.25rem;margin-top:.25rem;}
.home .rb__big .lb{font-family:var(--sans);font-weight:900;font-size:clamp(1rem,1.9vw,1.375rem);color:#1a1a1a;}
.home .rb__big .nu{font-family:var(--sans);font-weight:900;color:var(--acc);line-height:1;
  font-size:clamp(2rem,4.4vw,3.25rem);letter-spacing:-.01em;}
.home .rb__big .un{font-family:var(--sans);font-weight:900;color:var(--acc);font-size:clamp(1rem,1.7vw,1.25rem);}
.home .rb__note{display:inline-block;margin-top:.875rem;border:1px solid #ddd;border-radius:.25rem;
  padding:.5rem .75rem;font-size:clamp(.6875rem,1.15vw,.875rem);font-weight:700;color:#1a1a1a;}
.home .rb__desc{margin-top:.875rem;font-size:clamp(.6875rem,1.1vw,.8125rem);line-height:1.9;color:#555;}
.home .rb__stats{display:grid;grid-template-columns:1fr 1fr;margin-top:1rem;border-top:1px solid #e6e5e2;border-bottom:1px solid #e6e5e2;}
.home .rb__stat{padding:.75rem .5rem;text-align:center;}
.home .rb__stat + .rb__stat{border-left:1px solid #e6e5e2;}
.home .rb__stat .k{font-size:.75rem;font-weight:700;color:#333;}
.home .rb__stat .v{margin-top:.125rem;font-family:var(--sans);font-weight:900;color:var(--acc);
  font-size:clamp(1.25rem,2.4vw,1.75rem);line-height:1.2;}
.home .rb__stat .v small{font-size:.6em;}
.home .rb__ba{display:flex;align-items:center;gap:.5rem;flex:0 0 auto;}
.home .rb__shot{position:relative;width:clamp(4.5rem,9vw,7.5rem);}
.home .rb__shot img{width:100%;aspect-ratio:3/4;object-fit:cover;display:block;border-radius:.25rem;}
.home .rb__tag{position:absolute;top:.375rem;left:50%;transform:translateX(-50%);
  font-family:var(--sans);font-weight:700;font-size:.625rem;letter-spacing:.1em;
  color:#fff;background:#6b6b6b;padding:.1875rem .5rem;border-radius:.125rem;white-space:nowrap;}
.home .rb__tag--after{background:var(--acc);}
.home .rb__chartwrap{margin-top:1.5rem;}
.home .rb__chartttl{display:flex;align-items:center;gap:.375rem;font-size:.75rem;font-weight:700;color:#1a1a1a;margin-bottom:.25rem;}
.home .rb__chartttl::before{content:"";width:0;height:0;border-left:6px solid var(--acc);
  border-top:4px solid transparent;border-bottom:4px solid transparent;}
.home .cht{width:100%;height:auto;display:block;overflow:visible;}
.home .cht .ax{font-family:var(--sans);font-size:10px;fill:#8a8a8a;}
.home .cht .val{font-family:var(--sans);font-size:11px;font-weight:700;fill:#1a1a1a;}
.home .cht .val--last{font-size:14px;fill:var(--acc);}
.home .rb__badge{display:inline-block;margin-top:.5rem;background:var(--acc);color:#fff;
  font-family:var(--sans);font-weight:700;font-size:.75rem;line-height:1.4;
  padding:.375rem .75rem;border-radius:.25rem;}
.home .rb__foot{margin-top:2rem;text-align:center;font-size:.75rem;color:#8a8a8a;}
.home .mt{background:var(--bk);color:#fff;}
.home .mt__in{max-width:72rem;margin:0 auto;padding:5.5rem clamp(1.25rem,4vw,3rem) 6rem;}
.home .mt__h{font-family:var(--serif);font-weight:700;text-align:center;color:#fff;
  font-size:clamp(1.375rem,3.4vw,2.5rem);line-height:1.65;letter-spacing:.04em;}
.home .mt__h .gk-gold{filter:drop-shadow(0 .0625rem .125rem rgba(0,0,0,.6));}
.home .mt__lead{max-width:42rem;margin:1.5rem auto 0;text-align:center;font-weight:500;
  font-size:clamp(.8125rem,1.4vw,1rem);line-height:2.05;color:rgba(255,255,255,.78);}
.home .mt__grid{display:grid;grid-template-columns:repeat(3,1fr);
  gap:clamp(1rem,2.4vw,1.75rem);margin-top:3.25rem;}
.home .mt__card{position:relative;display:flex;flex-direction:column;
  border:1px solid rgba(201,164,95,.45);background:rgba(255,255,255,.02);}
.home .mt__ph{margin:0;position:relative;overflow:hidden;}
.home .mt__ph img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;}
.home .mt__ph::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(8,8,10,0) 55%,rgba(8,8,10,.55) 100%);}
.home .mt__body{padding:clamp(1.375rem,2.6vw,2rem) clamp(1.25rem,2.4vw,1.75rem) clamp(1.625rem,3vw,2.25rem);}
.home .mt__body .mt__no{font-family:"Oswald",sans-serif;font-size:.75rem;font-weight:600;letter-spacing:.2em;
  color:#d4af37;display:flex;align-items:center;gap:.625rem;}
.home .mt__body .mt__no::after{content:"";flex:1;height:1px;background:rgba(212,175,55,.35);}
.home .mt__t{margin-top:1.125rem;font-family:var(--serif);font-weight:700;color:#fff;
  font-size:clamp(1.125rem,2.2vw,1.5rem);line-height:1.5;letter-spacing:.02em;}
.home .mt__tag{display:inline-block;margin-top:.875rem;border:1px solid rgba(212,175,55,.55);
  color:#d4af37;font-size:.6875rem;font-weight:700;letter-spacing:.06em;padding:.25rem .5625rem;}
.home .mt__d{margin-top:.875rem;font-size:clamp(.75rem,1.3vw,.9375rem);line-height:1.95;
  color:rgba(255,255,255,.72);}
.home .ka{background:#fff;color:#1a1a1a;--kred:#c8102e;}
.home .ka__in{max-width:70rem;margin:0 auto;padding:5.25rem clamp(1.25rem,4vw,3rem) 5.75rem;}
.home .ka__badge{display:inline-flex;align-items:center;gap:.625rem;font-size:clamp(.6875rem,1.15vw,.875rem);
  font-weight:700;letter-spacing:.06em;color:#a5822f;border:1px solid rgba(143,111,46,.55);padding:.4375rem .875rem;}
.home .ka__h{margin-top:1.25rem;font-family:var(--serif);font-weight:700;color:#1a1a1a;
  font-size:clamp(1.375rem,3.4vw,2.375rem);line-height:1.55;letter-spacing:.03em;}
.home .ka__lead{margin-top:1.125rem;max-width:44rem;font-size:clamp(.8125rem,1.4vw,1rem);
  line-height:2.05;color:#555;font-weight:500;}
.home .ka__sv .pre{font-size:clamp(.8125rem,1.5vw,1.0625rem);font-weight:700;color:#666;}
.home .ka__sv .nu{font-family:var(--sans);font-weight:900;color:var(--kred);line-height:1;
  font-size:clamp(2.25rem,5.2vw,3.75rem);letter-spacing:-.01em;}
.home .ka__sv .un{font-family:var(--sans);font-weight:900;color:var(--kred);font-size:clamp(1rem,2vw,1.5rem);}
.home .ka__cases{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1rem,2.4vw,1.75rem);margin-top:1.5rem;}
.home .ka__case{border:1px solid rgba(143,111,46,.45);padding:clamp(1.375rem,2.6vw,1.875rem);}
.home .ka__ck{font-family:"Oswald",sans-serif;font-size:.6875rem;font-weight:600;letter-spacing:.18em;color:#a5822f;}
.home .ka__cv{margin-top:.75rem;font-family:var(--sans);font-weight:900;color:#1a1a1a;line-height:1.2;
  font-size:clamp(1.5rem,3.2vw,2.25rem);}
.home .ka__cv em{font-style:normal;color:var(--kred);}
.home .ka__ct{margin-top:.375rem;font-weight:700;font-size:clamp(.8125rem,1.4vw,1rem);color:#1a1a1a;}
.home .ka__cd{margin-top:.625rem;font-size:clamp(.6875rem,1.1vw,.8125rem);line-height:1.85;color:#555;}
.home .ka__note{margin-top:1.5rem;font-size:.6875rem;color:#8a8a8a;line-height:1.8;}
.home .ka__link{display:inline-flex;align-items:center;gap:.625rem;margin-top:1.75rem;
  color:#a5822f;text-decoration:none;font-weight:700;font-size:clamp(.8125rem,1.4vw,1rem);
  border-bottom:1px solid rgba(143,111,46,.5);padding-bottom:.375rem;}
.home .ka__nums{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1rem,2.4vw,1.75rem);margin-top:2.5rem;}
.home .ka__num{border:1px solid #e8e6e1;background:#faf9f7;
  padding:clamp(1.25rem,2.4vw,1.75rem) clamp(1rem,2vw,1.5rem);}
.home .ka__num .k{font-size:clamp(.75rem,1.25vw,.875rem);font-weight:700;color:#1a1a1a;}
.home .ka__num .v{display:flex;align-items:baseline;gap:.125rem;margin-top:.375rem;}
.home .ka__num .pre{font-size:clamp(.75rem,1.3vw,.9375rem);font-weight:700;color:#666;}
.home .ka__num .nu{font-family:var(--sans);font-weight:900;color:var(--kred);line-height:1;
  font-size:clamp(1.875rem,4.4vw,3.125rem);letter-spacing:-.01em;}
.home .ka__num .un{font-family:var(--sans);font-weight:900;color:var(--kred);font-size:clamp(.9375rem,1.8vw,1.375rem);}
.home .ka__num .n{margin-top:.625rem;font-size:clamp(.625rem,1vw,.75rem);line-height:1.75;color:#8a8a8a;}
.home .ka__cba{display:flex;align-items:stretch;gap:.375rem;padding:clamp(1rem,2vw,1.375rem)
  clamp(1rem,2vw,1.375rem) 0;}
.home .ka__shot{position:relative;flex:1;min-width:0;}
.home .ka__shot img{width:100%;aspect-ratio:5/6;object-fit:cover;display:block;}
.home .ka__tag{position:absolute;top:.375rem;left:50%;transform:translateX(-50%);
  font-family:var(--sans);font-weight:700;font-size:.625rem;letter-spacing:.1em;
  color:#fff;background:#6b6b6b;padding:.1875rem .5rem;white-space:nowrap;}
.home .ka__tag--after{background:var(--kred);}
.home .ka__ar{align-self:center;color:var(--kred);font-size:.875rem;line-height:1;flex:0 0 auto;}
.home .ka__cbody{padding:clamp(1.125rem,2.2vw,1.5rem) clamp(1.125rem,2.2vw,1.5rem) clamp(1.375rem,2.6vw,1.75rem);}
.home .ka__cbody .ka__cv{margin-top:.5rem;}
.home .ka__single{margin:0;padding:clamp(1rem,2vw,1.375rem) clamp(1rem,2vw,1.375rem) 0;}
.home .ka__single img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;}
.home .ka__top{display:grid;grid-template-columns:1fr .82fr;gap:clamp(1.75rem,4vw,3.5rem);align-items:center;}
.home .ka__lft{min-width:0;}
.home .ka__hero{margin:0;position:relative;}
.home .ka__hero img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;}
.home .ka__nums{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:3rem;
  border-top:1px solid #e8e6e1;border-bottom:1px solid #e8e6e1;}
.home .ka__num{position:relative;background:none;border:none;
  padding:clamp(1.625rem,3vw,2.25rem) clamp(1rem,2.2vw,1.75rem);}
.home .ka__num + .ka__num{border-left:1px solid #e8e6e1;}
.home .ka__num .k{position:relative;padding-left:.875rem;font-size:clamp(.75rem,1.25vw,.875rem);
  font-weight:700;color:#1a1a1a;letter-spacing:.04em;}
.home .ka__num .k::before{content:"";position:absolute;left:0;top:.35em;width:3px;height:1em;
  background:var(--kred);}
.home .ka__num .v{display:flex;align-items:baseline;gap:.125rem;margin-top:.625rem;}
.home .ka__num .pre{font-size:clamp(.75rem,1.3vw,.9375rem);font-weight:700;color:#8a8a8a;align-self:flex-end;
  margin-bottom:.35em;}
.home .ka__num .nu{font-family:var(--sans);font-weight:900;color:var(--kred);line-height:.9;
  font-size:clamp(2.25rem,5.6vw,4rem);letter-spacing:-.02em;}
.home .ka__num .un{font-family:var(--sans);font-weight:900;color:var(--kred);
  font-size:clamp(.9375rem,1.8vw,1.375rem);}
.home .ka__num .n{margin-top:.75rem;font-size:clamp(.625rem,1vw,.75rem);line-height:1.75;color:#8a8a8a;}
.home .ch{background:#fff;color:#1a1a1a;}
.home .ch__in{max-width:70rem;margin:0 auto;padding:5.5rem clamp(1.25rem,4vw,3rem) 6rem;}
.home .ch__h{font-family:var(--sans);font-weight:900;text-align:center;
  font-size:clamp(1.4375rem,3.8vw,2.625rem);line-height:1.45;letter-spacing:.01em;}
.home .ch__sub{text-align:center;margin-top:1rem;font-size:clamp(.8125rem,1.4vw,1rem);
  color:#555;line-height:1.9;font-weight:500;}
.home .ch__tl{--c:7.5rem;--g:clamp(1rem,2.4vw,1.75rem);
  display:grid;grid-template-columns:repeat(3,1fr);gap:var(--g);margin-top:3.25rem;}
.home .ch__step{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;}
.home .ch__circle{width:var(--c);height:var(--c);border-radius:50%;background:#fff;
  border:1.5px solid var(--gk-red);display:flex;align-items:center;justify-content:center;
  position:relative;z-index:2;margin-bottom:1.5rem;}
/* 円の中にイラストを入れる版。週数は円の下の .ch__wk に出す */
.home .ch__circle--ill{padding:.9rem;margin-bottom:.625rem;}
.home .ch__circle--ill img{width:100%;height:auto;display:block;}
.home .ch__wk{display:inline-flex;align-items:baseline;gap:.125rem;margin-bottom:.75rem;}
.home .ch__wk b{font-family:var(--sans);font-weight:900;color:var(--gk-red);
  font-size:clamp(1.25rem,2.6vw,1.75rem);line-height:1;}
.home .ch__wk i{font-style:normal;font-size:.75rem;font-weight:700;color:#1a1a1a;}
.home .ch__circle span{display:inline-flex;align-items:baseline;gap:.125rem;}
.home .ch__circle b{font-family:var(--sans);font-weight:900;color:var(--gk-red);
  font-size:clamp(1.5rem,3vw,2.125rem);line-height:1;}
.home .ch__circle i{font-style:normal;font-size:.8125rem;font-weight:700;color:#1a1a1a;}
.home .ch__step:not(:last-child)::after{content:"";position:absolute;top:calc(var(--c)/2);left:50%;
  width:calc(100% + var(--g));height:1.5px;background:var(--gk-red);opacity:.35;
  transform:translateY(-50%);z-index:0;}
.home .ch__t{font-family:var(--serif);font-weight:700;letter-spacing:.02em;
  font-size:clamp(.9375rem,1.9vw,1.25rem);line-height:1.6;}
.home .ch__note{margin-top:2.5rem;text-align:center;font-size:.75rem;color:#8a8a8a;}
.home .ch__three{display:block;margin-top:4rem;padding-top:3.25rem;border-top:1px solid #e8e6e1;}
.home .ch__3h{font-family:var(--serif);font-weight:700;text-align:center;
  font-size:clamp(1.1875rem,2.8vw,1.875rem);line-height:1.55;letter-spacing:.03em;}
/* ジグザグ配置。上のタイムラインが「3カラム・イラスト上・中央揃え」なので、
   同じ構成の反復を避けるため縦3行＋左右交互にしている。
   テキスト列を 1fr のまま画面幅いっぱいに広げると、短い説明文に対して
   列だけが伸びて反対側に大きな空白が残り間延びするため、
   行の幅を 48rem に制限して中央に置き、イラストを 13rem まで拡大している。 */
.home .ch__3grid{display:flex;flex-direction:column;gap:clamp(1rem,2vw,1.5rem);
  margin-top:2.75rem;}
.home .ch__3i{position:relative;display:grid;
  grid-template-columns:clamp(7rem,15vw,13rem) 1fr;
  gap:clamp(1.25rem,2.6vw,2.25rem);align-items:center;padding:0;
  width:min(48rem,100%);margin-inline:auto;}
.home .ch__3i:nth-child(even){grid-template-columns:1fr clamp(7rem,15vw,13rem);}
.home .ch__3i:nth-child(even) .ch__3ic{order:2;}
.home .ch__3i:nth-child(even) .ch__3tx{order:1;text-align:right;}
.home .ch__3t{font-family:var(--serif);font-weight:700;font-size:clamp(1rem,2vw,1.3125rem);letter-spacing:.02em;}
.home .ch__3d{margin-top:.625rem;font-size:clamp(.75rem,1.3vw,.9375rem);line-height:1.9;color:#555;}
.home .rb__em{color:#1a1a1a;font-weight:700;border-bottom:1px solid rgba(200,16,46,.45);}
.home .rb__foot{margin-top:2.25rem;text-align:center;}
.home .rb__foot p{font-size:.75rem;color:#8a8a8a;line-height:1.9;}
.home .rb__foot p + p{margin-top:.5rem;}
.home .rb__link{display:inline-flex;align-items:center;gap:.5rem;margin-top:1.25rem;
  color:#a5822f;text-decoration:none;font-weight:700;font-size:clamp(.75rem,1.3vw,.9375rem);
  border-bottom:1px solid rgba(143,111,46,.5);padding-bottom:.3125rem;}
.home .wy{background:var(--bk);color:#fff;}
.home .wy__in{max-width:70rem;margin:0 auto;padding:5.5rem clamp(1.25rem,4vw,3rem) 6rem;}
.home .wy__h{font-family:var(--sans);font-weight:900;text-align:center;color:#fff;
  font-size:clamp(1.4375rem,3.8vw,2.625rem);line-height:1.45;letter-spacing:.01em;}
.home .wy__sub{text-align:center;margin-top:1rem;font-size:clamp(.8125rem,1.4vw,1rem);
  color:rgba(255,255,255,.72);line-height:1.9;font-weight:500;}
.home .wy__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0 clamp(1.25rem,3vw,2.75rem);
  margin-top:3rem;border-top:1px solid rgba(255,255,255,.16);}
.home .wy__i{position:relative;padding:1.875rem .25rem 2rem;}
.home .wy__i + .wy__i::before{content:"";position:absolute;left:calc(-1 * clamp(.625rem,1.5vw,1.375rem));
  top:1.875rem;bottom:.5rem;width:1px;background:rgba(255,255,255,.14);}
.home .wy__t{font-family:var(--serif);font-weight:700;letter-spacing:.02em;color:#fff;
  font-size:clamp(1rem,2vw,1.3125rem);line-height:1.5;}
.home .wy__d{margin-top:.75rem;font-size:clamp(.75rem,1.3vw,.9375rem);line-height:1.9;
  color:rgba(255,255,255,.7);}
.home .wy__space{display:grid;grid-template-columns:1fr .95fr;align-items:center;
  gap:clamp(1.5rem,3.4vw,3rem);margin-top:clamp(2rem,4vw,3.25rem);}
.home .sp{background:var(--bk);color:#fff;}
.home .sp__in{max-width:72rem;margin:0 auto;padding:5.25rem clamp(1.25rem,4vw,3rem) 5.75rem;}
.home .sp__h{font-family:var(--serif);font-weight:700;text-align:center;color:#fff;
  font-size:clamp(1.375rem,3.4vw,2.375rem);line-height:1.55;letter-spacing:.03em;}
.home .sp__d{max-width:42rem;margin:1.25rem auto 0;text-align:center;
  font-size:clamp(.8125rem,1.35vw,.96875rem);line-height:2;color:rgba(255,255,255,.75);}
.home .sp__grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:clamp(.625rem,1.4vw,1rem);margin-top:2.75rem;}
.home .sp__grid img{width:100%;height:100%;object-fit:cover;display:block;}
.home .sp__g1{grid-row:span 2;}
.home .sp__grid figure{margin:0;overflow:hidden;aspect-ratio:4/3;}
.home .sp__grid .sp__g1{aspect-ratio:auto;}
.home .ch__3ic{display:block;width:100%;color:#a5822f;margin-bottom:0;}
.home .ch__3ic svg,
.home .ch__3ic img{width:100%;height:auto;display:block;}
.home .wy__iph{display:block;}
.home .wy__grid{border-top:none;gap:clamp(1rem,2.4vw,1.75rem);}
.home .wy__i{padding:0;}
.home .wy__i + .wy__i::before{display:none;}
.home .wy__iph{display:block;margin:0 0 1.25rem;}
.home .wy__iph img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;}
.home .rs{background:var(--bk);color:#fff;}
.home .rs__in{max-width:64rem;margin:0 auto;padding:5.25rem clamp(1.25rem,4vw,3rem) 5.75rem;}
.home .rs__h{font-family:var(--sans);font-weight:900;text-align:center;color:#fff;
  font-size:clamp(1.375rem,3.6vw,2.5rem);line-height:1.4;letter-spacing:.01em;}
.home .rs__sub{text-align:center;margin-top:.875rem;font-weight:700;
  font-size:clamp(.8125rem,1.4vw,1rem);color:rgba(255,255,255,.8);}
.home .rs__list{display:grid;gap:clamp(.875rem,1.8vw,1.25rem);margin-top:2.75rem;}
.home .rs__c{position:relative;display:grid;grid-template-columns:auto clamp(6rem,14vw,11rem) 1fr;
  align-items:center;gap:clamp(.875rem,2.2vw,1.75rem);
  background:#1c1c1f;border-radius:.75rem;overflow:hidden;
  padding:clamp(1.25rem,2.4vw,1.75rem) clamp(1.25rem,2.4vw,1.875rem)
          clamp(1.25rem,2.4vw,1.75rem) clamp(1.5rem,2.8vw,2.125rem);}
.home .rs__c::before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:var(--gk-red);}
.home .rs__ic{display:block;color:#c9a45f;}
.home .rs__ic svg,
.home .rs__ic img{width:100%;height:auto;display:block;}
.home .rs__t{font-family:var(--sans);font-weight:900;color:#e2c882;line-height:1.45;
  font-size:clamp(.9375rem,1.9vw,1.25rem);}
.home .rs__d{margin-top:.625rem;font-size:clamp(.75rem,1.25vw,.875rem);line-height:1.85;
  color:rgba(255,255,255,.76);}
.home .rs__foot{margin-top:2.25rem;text-align:center;font-weight:700;
  font-size:clamp(.8125rem,1.5vw,1.0625rem);color:#fff;
  padding-top:1.5rem;border-top:1px solid rgba(201,164,95,.35);}
.home .mt{background:#fff;color:#1a1a1a;}
.home .mt__h{color:#1a1a1a;}
.home .mt__h .gk-gold{
  background-image:linear-gradient(178deg,#c19a44 6%,#b08d3f 28%,#9a7a30 60%,#7d5f26 100%);
  filter:none;}
.home .mt__lead{color:#555;}
.home .mt__card{border:1px solid rgba(165,130,47,.55);background:#fff;
  box-shadow:0 .75rem 2rem -1.375rem rgba(0,0,0,.28);}
.home .mt__ph::after{background:linear-gradient(180deg,rgba(255,255,255,0) 62%,rgba(255,255,255,.5) 100%);}
.home .mt__body .mt__no{color:#a5822f;}
.home .mt__body .mt__no::after{background:rgba(165,130,47,.3);}
.home .mt__t{color:#1a1a1a;}
.home .mt__d{color:#555;}
.home .mt__tag{border-color:rgba(165,130,47,.6);color:#8f6f2e;}
.home .wy{background:#fff;color:#1a1a1a;}
.home .wy__h{color:#1a1a1a;}
.home .wy__sub{color:#555;}
.home .wy__t{color:#1a1a1a;}
.home .wy__d{color:#555;}
.home .rs{background:#f7f5f1;color:#1a1a1a;}
.home .rs__h{color:#1a1a1a;}
.home .rs__sub{color:#555;}
.home .rs__c{background:#fff;border:1px solid #e6e3dc;
  box-shadow:0 .625rem 1.75rem -1.25rem rgba(0,0,0,.25);}
.home .rs__ic{color:#a5822f;}
.home .rs__t{color:#8f6f2e;}
.home .rs__d{color:#555;}
.home .rs__foot{color:#1a1a1a;border-top-color:rgba(165,130,47,.4);}
.home .rs{background:#ededeb;}
.home .rs__c{grid-template-columns:clamp(6rem,14vw,11rem) 1fr;
  padding:clamp(1.25rem,2.4vw,1.75rem) clamp(1.5rem,2.8vw,2.125rem);}
.home .rs__c::before{display:none;}
.home .rs__t{white-space:nowrap;font-size:clamp(.9375rem,1.8vw,1.1875rem);}
.home .rs__foot{position:relative;margin-top:clamp(2.25rem,4vw,3.25rem);text-align:center;
  padding:clamp(1.75rem,3.2vw,2.5rem) clamp(1.25rem,2.6vw,2rem);border:none;
  background:#fff;border-top:2px solid;
  border-image:linear-gradient(90deg,rgba(201,164,95,0),#c9a45f 30%,#8f6f2e 70%,rgba(201,164,95,0)) 1;
  box-shadow:0 .625rem 1.75rem -1.25rem rgba(0,0,0,.25);}
.home .rs__ft{font-family:var(--serif);font-weight:700;color:#1a1a1a;letter-spacing:.03em;
  font-size:clamp(1.0625rem,2.4vw,1.6875rem);line-height:1.6;}
.home .sp__grid figure{background:#17171a;}
.home .km{background:#fff;color:#1a1a1a;}
.home .km__top{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1fr);align-items:center;}
.home .km__ph{margin:0;background:#1f1f22;}
.home .km__ph img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block;}
.home .km__body{padding:clamp(2.5rem,5vw,4.5rem) clamp(1.5rem,4vw,4rem);}
.home .km__eb{display:inline-flex;align-items:center;gap:1rem;font-family:"Oswald",sans-serif;
  font-size:clamp(.6875rem,1.15vw,.875rem);font-weight:600;letter-spacing:.2em;color:var(--gk-red);}
.home .km__eb::after{content:"";width:clamp(2rem,4vw,3.5rem);height:1px;background:var(--gk-red);}
.home .km__h{margin-top:1.25rem;font-family:var(--serif);font-weight:700;letter-spacing:.02em;
  font-size:clamp(1.375rem,3.4vw,2.5rem);line-height:1.45;}
.home .km__lead{margin-top:1.125rem;font-family:var(--serif);font-weight:700;color:var(--gk-red);
  font-size:clamp(1rem,2vw,1.375rem);line-height:1.6;letter-spacing:.02em;}
.home .km__p{margin-top:1.25rem;font-size:clamp(.8125rem,1.3vw,.9375rem);line-height:2;color:#555;}
.home .km__p + .km__p{margin-top:1rem;}
.home .km__stats{display:grid;grid-template-columns:repeat(4,1fr);margin-top:2rem;
  border-top:1px solid #e8e6e1;}
.home .km__st{position:relative;padding:1.5rem .5rem 0;text-align:center;}
.home .km__st + .km__st{border-left:1px solid #e8e6e1;}
.home .km__sic{display:block;width:clamp(1.75rem,3.2vw,2.5rem);margin:0 auto;color:var(--gk-red);}
.home .km__sic svg,
.home .km__sic img{width:100%;height:auto;display:block;}
.home .km__sk{margin-top:.75rem;font-size:clamp(.625rem,1.05vw,.8125rem);font-weight:700;color:#1a1a1a;}
.home .km__sv{margin-top:.625rem;display:flex;align-items:baseline;justify-content:center;gap:.0625rem;}
.home .km__sv .pre{font-family:var(--serif);font-weight:700;font-size:clamp(.875rem,1.5vw,1.125rem);color:var(--gk-red);}
.home .km__sv .nu{font-family:var(--serif);font-weight:700;color:var(--gk-red);line-height:1;
  font-size:clamp(1.375rem,2.8vw,2rem);}
.home .km__sv .un{font-size:clamp(.6875rem,1.1vw,.875rem);font-weight:700;color:var(--gk-red);}
.home .km__sn{margin-top:.375rem;font-size:clamp(.5625rem,.95vw,.6875rem);line-height:1.6;color:#8a8a8a;}
.home .km__cards{max-width:72rem;margin:0 auto;padding:clamp(1.5rem,3vw,2.5rem) clamp(1.25rem,4vw,3rem) clamp(3rem,5vw,4.5rem);
  display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1rem,2.4vw,1.75rem);}
.home .km__c{border:1px solid #e8e6e1;border-radius:.75rem;background:#fff;
  padding:clamp(1.375rem,2.6vw,2rem);box-shadow:0 .5rem 1.5rem -1.25rem rgba(0,0,0,.25);}
.home .km__ct{font-weight:900;font-size:clamp(.9375rem,1.8vw,1.125rem);line-height:1.5;color:#1a1a1a;}
.home .km__cb{display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:start;margin-top:1.125rem;}
.home .km__cic{width:clamp(1.75rem,3vw,2.375rem);color:var(--gk-red);}
.home .km__cic svg,
.home .km__cic img{width:100%;height:auto;display:block;}
.home .km__cd{font-size:clamp(.75rem,1.2vw,.875rem);line-height:1.9;color:#555;}
.home .ft{background:#fff;color:#1a1a1a;}
.home .ft__top{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1fr);align-items:center;}
.home .ft__ph{margin:0;position:relative;background:#1f1f22;}
.home .ft__ph img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block;}
.home .ft__ph::after{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(255,255,255,0) 55%,rgba(255,255,255,.85) 88%,#fff 100%);}
.home .ft__body{padding:clamp(2.5rem,5vw,4.5rem) clamp(1.5rem,4vw,4rem);}
.home .ft__h{margin-top:1.25rem;font-family:var(--serif);font-weight:700;letter-spacing:.02em;
  font-size:clamp(1.375rem,3.4vw,2.5rem);line-height:1.45;}
.home .ft__h em{font-style:normal;color:var(--gk-red);}
.home .ft__p{margin-top:1.5rem;font-size:clamp(.8125rem,1.3vw,.9375rem);line-height:2.05;color:#555;}
.home .ft__cards{max-width:72rem;margin:0 auto;
  padding:clamp(1.5rem,3vw,2.5rem) clamp(1.25rem,4vw,3rem) 0;
  display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1rem,2.4vw,1.75rem);}
.home .ft__c{border-radius:.75rem;overflow:hidden;background:#f6f5f3;
  box-shadow:0 .5rem 1.5rem -1.25rem rgba(0,0,0,.25);}
.home .ft__c figure{margin:0;background:#1f1f22;}
.home .ft__c img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;}
.home .ft__cb{padding:clamp(1.125rem,2.2vw,1.625rem);}
.home .ft__ct{text-align:center;font-weight:900;font-size:clamp(.875rem,1.6vw,1.0625rem);color:#1a1a1a;}
.home .ft__cd{margin-top:.875rem;padding-top:.875rem;border-top:1px solid #e2e0dc;
  font-size:clamp(.75rem,1.2vw,.875rem);line-height:1.9;color:#555;}
.home .ft__note{max-width:72rem;margin:0 auto;padding:2rem clamp(1.25rem,4vw,3rem) clamp(3rem,5vw,4.5rem);
  text-align:center;font-size:clamp(.6875rem,1.1vw,.8125rem);line-height:1.9;color:#8a8a8a;}
.home .trainers{background:#fff;padding:clamp(3.5rem,6vw,5rem) 0;}
.home .trainers .wrap{width:min(75rem,90%);margin:0 auto;}
.home .trainers-header{margin-bottom:2rem;}
.home .trainers-header h2{font-family:var(--sans);font-weight:900;color:#1a1a1a;
  font-size:clamp(1.4375rem,3.4vw,2.5rem);line-height:1.5;letter-spacing:.02em;margin-bottom:1rem;}
.home .trainers-header p{font-size:clamp(.8125rem,1.35vw,1rem);line-height:2;color:#555;}
.home .trainer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;}
.home .trainer-card{position:relative;aspect-ratio:2/3;overflow:hidden;cursor:pointer;
  background:#141414;transition:box-shadow .4s;}
.home .trainer-card:hover{box-shadow:0 0 0 1px rgba(201,169,110,.4);}
.home .trainer-card:hover .img-placeholder img{transform:scale(1.03);}
.home .trainer-card .img-placeholder{position:absolute;inset:0;}
.home .trainer-card .img-placeholder img{width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .6s ease;}
.home .trainer-card .name-bar{position:absolute;bottom:0;left:0;right:0;
  padding:1.75rem 1.5rem 1rem;
  background:linear-gradient(0deg,rgba(10,10,10,.97) 0%,rgba(10,10,10,.85) 40%,
    rgba(10,10,10,.4) 70%,rgba(10,10,10,0) 100%);}
.home .trainer-card .name-bar .role{font-family:"Oswald",sans-serif;
  font-size:clamp(.625rem,1.05vw,.875rem);letter-spacing:.2em;font-weight:500;
  text-transform:uppercase;color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.5);margin-bottom:.25rem;}
.home .trainer-card .name-bar .name{font-family:"Bebas Neue",sans-serif;
  font-size:clamp(1.75rem,3.4vw,3.2rem);font-weight:400;color:#c9a45f;line-height:1;
  letter-spacing:.08em;text-shadow:0 .125rem .75rem rgba(0,0,0,.5);}
.home .trainers__note{margin-top:1.5rem;font-size:.75rem;color:#8a8a8a;}
.home .ba{background:#fff;color:#1a1a1a;}
.home .ba--2{background:#f7f6f4;}
.home .ba__in{max-width:66rem;margin:0 auto;padding:5.25rem clamp(1.25rem,4vw,3rem) 5.75rem;}
.home .ba__h{font-family:var(--serif);font-weight:700;text-align:center;letter-spacing:.03em;
  font-size:clamp(1.3125rem,3.2vw,2.25rem);line-height:1.55;}
.home .ba__sub{text-align:center;margin-top:.875rem;font-weight:700;
  font-size:clamp(.8125rem,1.4vw,1rem);color:#a5822f;letter-spacing:.06em;}
/* BEFORE/AFTER の行を束ねる親。ここに行間を持たせる。
   （PC用の .ba__list が SPメディアクエリ内に紛れており、
     PCでは行間が効かず上下の行が密着していた） */
.home .ba__list{margin-top:2.75rem;display:grid;gap:clamp(1.75rem,3.4vw,3rem);}
.home .ba__foot{margin-top:2.5rem;text-align:center;}
.home .ba__ft{font-family:var(--serif);font-weight:700;letter-spacing:.03em;
  font-size:clamp(1.0625rem,2.2vw,1.5rem);line-height:1.65;}
.home .ba__ft em{font-style:normal;color:var(--gk-red);}
.home .ba__row{display:grid;grid-template-columns:1fr auto 1fr;align-items:stretch;
  gap:clamp(.625rem,1.8vw,1.375rem);}
.home .ba__cell{display:flex;flex-direction:column;overflow:hidden;border-radius:.5rem;}
.home .ba__cell figure{margin:0;background:#e8e6e2;}
.home .ba__cell img{width:100%;aspect-ratio:22/15;object-fit:cover;display:block;}
.home .ba__cap{flex:1;display:flex;align-items:center;
  padding:clamp(.75rem,1.6vw,1.125rem) clamp(.75rem,1.6vw,1.125rem);
  font-size:clamp(.75rem,1.25vw,.9375rem);line-height:1.6;}
.home .ba__lb{position:absolute;top:.5rem;left:.5rem;z-index:2;
  font-family:"Oswald",sans-serif;font-size:.625rem;font-weight:600;letter-spacing:.16em;
  padding:.1875rem .5rem;border-radius:.125rem;}
.home .ba__cell figure{position:relative;}
/* BEFORE側はイラストが白背景で、ページ背景に溶けて輪郭が出ないためフチを付ける。
   AFTER側は黒地で輪郭が立つので不要。 */
.home .ba__cell--b{background:#eeecea;border:1px solid #d5d2cd;}
.home .ba__cell--b figure{background:#d8d6d2;}
.home .ba__cell--b .ba__lb{background:rgba(60,60,60,.85);color:#fff;}
.home .ba__cell--b .ba__cap{color:#7a7a7a;}
.home .ba__cell--a{background:#1c1a16;}
.home .ba__cell--a figure{background:#24211a;}
.home .ba__cell--a .ba__lb{background:linear-gradient(160deg,#e2c882,#c9a45f 50%,#8f6f2e);color:#1a1a1a;}
.home .ba__cell--a .ba__cap{color:#f0e6cf;font-weight:700;}
.home .ba__ar{align-self:center;color:var(--gk-red);font-size:1.0625rem;line-height:1;flex:0 0 auto;}
.home .vc{background:#fff;color:#1a1a1a;}
.home .vc__in{max-width:70rem;margin:0 auto;padding:5.5rem clamp(1.25rem,4vw,3rem) 6rem;}
.home .vc__h{font-family:var(--sans);font-weight:900;text-align:center;
  font-size:clamp(1.4375rem,3.6vw,2.5rem);line-height:1.45;letter-spacing:.01em;}
.home .vc__sub{text-align:center;margin-top:1rem;font-size:clamp(.8125rem,1.4vw,1rem);
  color:#555;line-height:1.9;font-weight:500;}
.home .vc__list{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1rem,2.4vw,1.75rem);margin-top:3rem;}
.home .vc__c{position:relative;background:#fff;border:1px solid #e6e4e0;
  padding:clamp(1.75rem,3vw,2.25rem) clamp(1.375rem,2.4vw,1.875rem) clamp(1.5rem,2.6vw,2rem);
  display:flex;flex-direction:column;}
.home .vc__top{position:relative;z-index:1;}
.home .vc__attrs{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;
  font-size:clamp(.6875rem,1.1vw,.8125rem);color:#8a8a8a;font-weight:500;}
.home .vc__sep{width:1px;height:.75rem;background:#d8d6d2;}
.home .vc__stars{display:flex;gap:.125rem;margin-top:.625rem;}
.home .vc__star{width:clamp(.875rem,1.5vw,1.0625rem);height:auto;fill:#e2e0dc;}
.home .vc__star.is-filled{fill:var(--gk-red);}
.home .vc__b{margin-top:.875rem;font-size:clamp(.75rem,1.25vw,.875rem);line-height:1.95;color:#555;}
.home .vc__more{margin-top:2.5rem;text-align:center;}
.home .vc__btn{display:inline-flex;align-items:center;gap:.75rem;text-decoration:none;
  border:1px solid rgba(165,130,47,.6);color:#8f6f2e;font-weight:700;letter-spacing:.06em;
  font-size:clamp(.8125rem,1.35vw,.9375rem);padding:.9375rem 2rem;transition:background .2s;}
.home .vc__btn:hover{background:#faf7f0;}
.home .vc__btn::after{content:"";width:.4375rem;height:.4375rem;
  border-top:1.5px solid currentColor;border-right:1.5px solid currentColor;transform:rotate(45deg);}
.home .vc__note{margin-top:1.5rem;text-align:center;font-size:.6875rem;color:#8a8a8a;}
.home .vc__c{justify-content:flex-start;}
.home .vc__b{margin-top:1.125rem;font-size:clamp(.8125rem,1.3vw,.9375rem);line-height:2;color:#333;
  flex:1;}
.home .vc__b span{display:block;}
.home .vc__b{overflow:hidden;}
.home .vc__c:not(.is-open) .vc__b{display:-webkit-box;-webkit-box-orient:vertical;
  -webkit-line-clamp:5;line-clamp:5;}
.home .vc__more2{margin-top:.875rem;align-self:flex-start;background:none;border:none;padding:0;
  cursor:pointer;font-family:var(--sans);font-weight:700;letter-spacing:.04em;
  font-size:clamp(.6875rem,1.15vw,.8125rem);color:#8f6f2e;
  display:inline-flex;align-items:center;gap:.4375rem;}
.home .vc__more2::after{content:"";width:.375rem;height:.375rem;
  border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;
  transform:rotate(45deg);margin-top:-.1875rem;transition:transform .2s;}
.home .vc__c.is-open .vc__more2::after{transform:rotate(-135deg);margin-top:.1875rem;}
.home .vc__more2 .lbl-close{display:none;}
.home .vc__c.is-open .vc__more2 .lbl-open{display:none;}
.home .vc__c.is-open .vc__more2 .lbl-close{display:inline;}
.home .vc__more2[hidden]{display:none;}
.home .price-section{background:#f2f0ec;color:#1a1a1a;padding:clamp(3.5rem,6vw,5.5rem) 0;}
.home .price-section .wrap{width:min(75rem,90%);margin:0 auto;}
.home .price-section .sec-title{font-family:var(--sans);font-weight:900;text-align:center;
  font-size:clamp(1.4375rem,3.6vw,2.5rem);line-height:1.45;letter-spacing:.01em;}
.home .price-section .sec-desc{text-align:center;margin-top:1rem;color:#555;font-weight:500;
  font-size:clamp(.8125rem,1.4vw,1rem);}
.home .price-cards{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1rem,2.4vw,1.75rem);
  margin-top:clamp(2rem,3.4vw,2.75rem);}
.home .price-card{background:#fff;border:1px solid #e0ddd6;display:flex;flex-direction:column;
  box-shadow:0 .625rem 1.75rem -1.375rem rgba(0,0,0,.25);}
.home .price-card__header{padding:clamp(1.25rem,2.2vw,1.625rem) clamp(1.25rem,2.4vw,1.875rem);
  border-bottom:1px solid #e8e6e1;background:#faf9f7;}
.home .price-card__header h3{font-family:var(--serif);font-weight:700;letter-spacing:.02em;
  font-size:clamp(1.0625rem,2.2vw,1.375rem);line-height:1.4;color:#1a1a1a;}
.home .price-card__header span{display:block;margin-top:.375rem;font-family:"Oswald",sans-serif;
  font-size:.6875rem;font-weight:600;letter-spacing:.18em;color:#a5822f;}
.home .price-card__header--gk-red{background:#faf7f0;border-bottom-color:rgba(165,130,47,.4);}
.home .price-card__header--gk-red h3{color:#1a1a1a;}
.home .price-card__body{flex:1;padding:clamp(1rem,2vw,1.5rem) clamp(1.25rem,2.4vw,1.875rem)
  clamp(1.25rem,2.2vw,1.75rem);}
/* 「月額定額制」「チケット制」のバッジ。inline-block のままだと
   左寄せになるため、block + auto マージンで中央に置く。 */
.home .price-card__tag{display:block;width:fit-content;margin:0 auto 1rem;
  border:1px solid rgba(165,130,47,.6);color:#8f6f2e;
  font-size:.6875rem;font-weight:700;letter-spacing:.06em;padding:.25rem .625rem;}
.home .price-card__note{font-size:clamp(.75rem,1.2vw,.875rem);line-height:1.85;color:#555;
  margin-bottom:1rem;}
.home .price-card__table{width:100%;border-collapse:collapse;}
.home .price-card__table tr{border-bottom:1px solid #f0eeea;}
.home .price-card__table tr:last-child{border-bottom:none;}
.home .price-card__table th{text-align:left;vertical-align:middle;
  padding:clamp(.875rem,1.8vw,1.125rem) 0;font-weight:700;color:#1a1a1a;
  font-size:clamp(.8125rem,1.3vw,.9375rem);}
.home .price-card__table td{text-align:right;vertical-align:middle;
  padding:clamp(.875rem,1.8vw,1.125rem) 0;white-space:nowrap;}
/* style.css 側で金背景（#b08d57）のバッジになっているため、
   文字色は白のままにする。front.css でグレーに上書きすると
   金地にグレー文字となり読めなくなる。 */
.home .price-card__duration{display:inline-block;margin-top:.25rem;font-weight:400;color:#fff;
  font-size:clamp(.6875rem,1.05vw,.75rem);}
.home .price-card__original{font-size:clamp(.6875rem,1.05vw,.75rem);color:#a8a8a8;margin-bottom:.1875rem;}
.home .price-card__original s{text-decoration:line-through;}
.home .price-card__val{font-size:clamp(.6875rem,1.1vw,.8125rem);font-weight:700;color:#1a1a1a;}
.home .price-card__num{font-family:var(--sans);font-weight:900;color:#1a1a1a;line-height:1;
  font-size:clamp(1.25rem,2.4vw,1.75rem);letter-spacing:-.01em;margin-right:.0625rem;}
.home .price-card__num--campaign{color:var(--gk-red);}
.home .price-card__per{margin-top:.25rem;font-weight:400;color:#8a8a8a;
  font-size:clamp(.625rem,1vw,.75rem);}
.home .price-card__save{display:inline-block;margin-top:.375rem;background:var(--gk-red);color:#fff;
  font-size:.625rem;font-weight:700;letter-spacing:.04em;padding:.1875rem .5rem;}
.home .price-other{margin-top:clamp(1.5rem,3vw,2.25rem);background:#fff;border:1px solid #e0ddd6;
  padding:clamp(1.5rem,2.8vw,2.25rem) clamp(1.25rem,2.6vw,2rem);}
.home .price-other__title{font-family:var(--serif);font-weight:700;letter-spacing:.02em;
  font-size:clamp(.9375rem,1.8vw,1.1875rem);}
.home .price-other__list{display:grid;grid-template-columns:repeat(3,1fr);gap:0 clamp(1.25rem,3vw,2.5rem);
  margin-top:1.125rem;}
.home .price-other__item{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;
  padding:.75rem 0;border-bottom:1px solid #f0eeea;font-size:clamp(.75rem,1.2vw,.875rem);}
.home .price-other__item b{font-weight:700;color:var(--gk-red);white-space:nowrap;
  font-size:clamp(.8125rem,1.35vw,1rem);}
.home .faq,
.post-type-archive-faq .faq{background:#fff;color:#1a1a1a;padding:clamp(3.5rem,6vw,5.5rem) 0;}
.home .faq .wrap,
.post-type-archive-faq .faq .wrap{width:min(64rem,90%);margin:0 auto;}
.home .faq__header .sec-title,
.post-type-archive-faq .faq__header .sec-title{font-family:var(--sans);font-weight:900;text-align:center;
  font-size:clamp(1.4375rem,3.6vw,2.5rem);line-height:1.45;letter-spacing:.01em;}
.home .faq__cats,
.post-type-archive-faq .faq__cats{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;
  margin-top:clamp(1.75rem,3vw,2.5rem);}
.home .faq__cat-btn,
.post-type-archive-faq .faq__cat-btn{background:none;border:1px solid #e0ddd6;color:#555;cursor:pointer;
  font-family:var(--sans);font-weight:700;letter-spacing:.04em;
  font-size:clamp(.75rem,1.2vw,.875rem);padding:.5625rem 1.125rem;transition:.2s;}
.home .faq__cat-btn:hover,
.post-type-archive-faq .faq__cat-btn:hover{border-color:rgba(165,130,47,.6);color:#8f6f2e;}
.home .faq__cat-btn.is-active,
.post-type-archive-faq .faq__cat-btn.is-active{background:#1a1a1a;border-color:#1a1a1a;color:#fff;}
.home .faq__group,
.post-type-archive-faq .faq__group{margin-top:clamp(1.75rem,3vw,2.5rem);}
.home .faq__group-title,
.post-type-archive-faq .faq__group-title{font-family:"Oswald",sans-serif;font-size:.6875rem;font-weight:600;
  letter-spacing:.18em;color:#a5822f;padding-bottom:.75rem;
  border-bottom:1px solid rgba(165,130,47,.35);margin-bottom:.25rem;}
.home .faq__item,
.post-type-archive-faq .faq__item{border-bottom:1px solid #ececea;}
.home .faq__q,
.post-type-archive-faq .faq__q{display:grid;grid-template-columns:auto 1fr auto;align-items:center;
  gap:clamp(.75rem,1.6vw,1.125rem);cursor:pointer;
  padding:clamp(1.125rem,2.2vw,1.5rem) .25rem;}
.home .faq__q-badge,
.post-type-archive-faq .faq__q-badge{font-family:"Oswald",sans-serif;font-weight:600;color:#a5822f;line-height:1;
  font-size:clamp(1rem,1.9vw,1.25rem);}
.home .faq__q-text,
.post-type-archive-faq .faq__q-text{font-weight:700;color:#1a1a1a;line-height:1.6;
  font-size:clamp(.875rem,1.4vw,1rem);}
/* アコーディオンのマーク：下向きシェブロン（∨ → 開くと ∧）
   ------------------------------------------------------------
   style.css にも同名の矢印指定があり、要素自体のボーダーと
   ::before の山形が二重に描かれて記号が崩れていた。
   さらに .faq__item.is-open .faq__q-arrow::before（詳細度0,3,1）が
   front.css 側（0,2,1）に勝つため、開いた瞬間にも崩れていた。
   ここでは ::before の1本に統一し、is-open 側も同じ詳細度で
   上書きしている。::after は content:none で完全に消す。 */
.home .faq__q-arrow,
.post-type-archive-faq .faq__q-arrow{
  position:relative;width:1.25rem;height:1.25rem;flex-shrink:0;
  border:none;transform:none;margin-top:0;background:none;}
.home .faq__q-arrow::after,
.post-type-archive-faq .faq__q-arrow::after{content:none;display:none;}
.home .faq__q-arrow::before,
.post-type-archive-faq .faq__q-arrow::before{
  content:"";position:absolute;top:50%;left:50%;
  width:.5rem;height:.5rem;background:none;border-radius:0;
  border-right:1.5px solid #a5822f;border-bottom:1.5px solid #a5822f;
  transform:translate(-50%,-65%) rotate(45deg);
  transition:transform .25s ease;}
.home .faq__item.is-open .faq__q-arrow::before,
.post-type-archive-faq .faq__item.is-open .faq__q-arrow::before{
  transform:translate(-50%,-25%) rotate(-135deg);}
/* style.css の旧アコーディオン（max-height方式）を打ち消す。
   打ち消さないと .faq__answer が max-height:0 のまま潰され、
   grid-template-rows:1fr で開いても中身が見えない。 */
.home .faq__answer,
.post-type-archive-faq .faq__answer{display:grid;grid-template-rows:0fr;max-height:none;overflow:visible;
  transition:grid-template-rows .3s ease;}
.home .faq__item.is-open .faq__answer,
.post-type-archive-faq .faq__item.is-open .faq__answer{grid-template-rows:1fr;}
.home .faq__a-inner,
.post-type-archive-faq .faq__a-inner{overflow:hidden;min-height:0;padding:0;
  /* style.css が color:var(--dark-text-sub) の薄いグレーを当てているため上書き。
     nl2br の出力は素のテキストなので > * だけでは色が変わらない。 */
  color:#1a1a1a;font-size:clamp(.8125rem,1.3vw,.9375rem);line-height:2;}
.home .faq__item.is-open .faq__a-inner,
.post-type-archive-faq .faq__item.is-open .faq__a-inner{padding:0 .25rem clamp(1.125rem,2.2vw,1.5rem)
  calc(clamp(1rem,1.9vw,1.25rem) + clamp(.75rem,1.6vw,1.125rem));}
/* 回答は nl2br() の直接テキストで子要素を持たないことが多いため、
   `> *` だけだと style.css の薄いグレー（--dark-text-sub）が残る。
   .faq__a-inner 自体にも色を指定する。 */
.home .faq__a-inner,
.post-type-archive-faq .faq__a-inner,
.home .faq__a-inner > *,
.post-type-archive-faq .faq__a-inner > *{font-size:clamp(.8125rem,1.3vw,.9375rem);line-height:2;color:#1a1a1a;}
.home .faq__btn-wrap,
.post-type-archive-faq .faq__btn-wrap{margin-top:clamp(2rem,3.4vw,2.75rem);text-align:center;}
.home .faq__more-btn,
.post-type-archive-faq .faq__more-btn{display:inline-flex;align-items:center;gap:.75rem;text-decoration:none;
  border:1px solid rgba(165,130,47,.6);color:#8f6f2e;font-weight:700;letter-spacing:.06em;
  font-size:clamp(.8125rem,1.35vw,.9375rem);padding:.9375rem 2rem;transition:background .2s;}
.home .faq__more-btn:hover,
.post-type-archive-faq .faq__more-btn:hover{background:#faf7f0;}
.home .faq__more-btn::after,
.post-type-archive-faq .faq__more-btn::after{content:"";width:.4375rem;height:.4375rem;
  border-top:1.5px solid currentColor;border-right:1.5px solid currentColor;transform:rotate(45deg);}
.home .access{background:#fff;color:#1a1a1a;padding:clamp(3.5rem,6vw,5.5rem) 0;}
.home .access .wrap{width:min(75rem,90%);margin:0 auto;}
.home .access-header .sec-title{font-family:var(--sans);font-weight:900;text-align:center;
  font-size:clamp(1.4375rem,3.6vw,2.5rem);line-height:1.45;letter-spacing:.01em;}
.home .access-header p{display:none;}
.home .access-inner{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:clamp(1.5rem,3.4vw,3rem);margin-top:clamp(2rem,3.4vw,2.75rem);align-items:start;}
.home .access-info dl{display:grid;grid-template-columns:auto 1fr;
  gap:0 clamp(1rem,2.4vw,1.75rem);border-top:1px solid #e8e6e1;}
.home .access-info dt{padding:clamp(.875rem,1.8vw,1.125rem) 0;font-weight:700;color:#a5822f;
  font-size:clamp(.75rem,1.2vw,.875rem);letter-spacing:.06em;white-space:nowrap;
  border-bottom:1px solid #e8e6e1;}
.home .access-info dd{padding:clamp(.875rem,1.8vw,1.125rem) 0;margin:0;color:#333;
  font-size:clamp(.8125rem,1.3vw,.9375rem);line-height:1.85;
  border-bottom:1px solid #e8e6e1;}
.home .access-info dd a{color:var(--gk-red);text-decoration:none;font-weight:700;
  font-size:clamp(.9375rem,1.6vw,1.125rem);letter-spacing:.02em;}
.home .access-info dd a:hover{text-decoration:underline;}
.home .access-map{position:relative;}
.home .access-map iframe{width:100%;aspect-ratio:4/3;display:block;border:0;}
.home .fc{position:relative;overflow:hidden;background:var(--bk);color:#fff;}
.home .fc__bg{position:absolute;inset:0;z-index:0;}
.home .fc__bg img{width:100%;height:100%;object-fit:cover;object-position:center 40%;opacity:.32;}
.home .fc__scrim{position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,rgba(8,8,10,.85) 0%,rgba(8,8,10,.6) 50%,rgba(8,8,10,.9) 100%);}
.home .fc__in{position:relative;z-index:2;max-width:56rem;margin:0 auto;text-align:center;
  padding:clamp(4rem,7vw,6.5rem) clamp(1.25rem,4vw,3rem);}
.home .fc__h{font-family:var(--serif);font-weight:700;letter-spacing:.03em;color:#fff;
  font-size:clamp(1.375rem,3.4vw,2.375rem);line-height:1.6;}
.home .fc__d{margin-top:1.375rem;font-size:clamp(.8125rem,1.35vw,1rem);line-height:2;
  color:rgba(255,255,255,.8);}
.home .fc__d .z{color:#e8213f;font-weight:900;font-size:1.3em;padding:0 .1em;}
.home .fc__btn{display:inline-flex;align-items:center;justify-content:center;gap:.875rem;
  margin-top:2.25rem;text-decoration:none;font-weight:700;letter-spacing:.06em;
  font-size:clamp(.9375rem,1.6vw,1.125rem);padding:1.25rem 3rem;
  background:linear-gradient(180deg,var(--gold-bright),var(--gold-deep));color:#0a0a0c;
  box-shadow:0 .875rem 2.25rem -.875rem rgba(212,175,55,.5);}
.home .fc__btn::after{content:"";width:.4375rem;height:.4375rem;
  border-top:1.5px solid currentColor;border-right:1.5px solid currentColor;transform:rotate(45deg);}
.home .fc__note{margin-top:1.375rem;font-size:.75rem;color:rgba(255,255,255,.5);}



@media (max-width:768px){
    .home .burger{display:flex;}
  
     .home .fv__pillars{
  flex-wrap:nowrap !important;gap:.25rem .3rem;margin-bottom:.5rem;align-items:center;
  width:100%;
}
  .home .fv__pillars .x{font-size:1rem;flex:0 0 auto;}
  .home .pill--med{font-size:clamp(.9375rem,6.2vw,1.75rem);flex:0 0 auto;padding:.2em .4em .26em;}
  .home .pill--kaatsu{font-size:clamp(.8125rem,5.2vw,1.5rem);flex:0 0 auto;padding:.3em .08em .34em;}
  .home .pill--med .txt, .home .pill--kaatsu .txt{white-space:nowrap;}
  .home .pill--kaatsu::before, .home .pill--kaatsu::after{height:3px;}
  
 .home .sign__in{padding:3.75rem 1.25rem 3.75rem;}
  .home .sign__grid{grid-template-columns:1fr;gap:0;margin-top:2rem;}
  .home .sign__grid::after{display:none;}
  .home .sc{padding:1.0625rem .125rem;gap:1rem;}
  .home .sc__i{width:3.125rem;height:3.125rem;}
  .home .sc__t{font-size:.9375rem;}
  .home .sign__closing{margin-top:2.25rem;}
  .home .brsp{display:inline;}
  .home .sign__note{padding:1.25rem 0;}
  .home .sign__note .l1{font-size:clamp(1.0625rem,5.4vw,1.375rem);}
  .home .sign__note .l2{font-size:.875rem;margin-top:.75rem;}
  .home .res__in{padding:3.5rem 1.25rem 4rem;}
  .home .res__top{grid-template-columns:1fr;gap:1.5rem;margin-bottom:2.5rem;}
  .home .res__ph{min-height:11rem;order:-1;}
  .home .res__ph::after{background:linear-gradient(0deg,#fff 0%,rgba(255,255,255,0) 45%);}
  .home .tl{grid-template-columns:1fr;gap:1.25rem;}
  .home .tl__step:not(:last-child)::after, .home .tl__step:not(:last-child)::before{display:none;}
  .home .tl__circle{--c:5rem;margin-bottom:1rem;}
  .home .tl__card{padding:1.5rem 1.25rem;}
  .home .res__closing{margin-top:2.5rem;}
  .home .rb__in{padding:3.5rem 1.25rem 4rem;}
  .home .rb__head{grid-template-columns:1fr;gap:1rem;}
  .home .rb__lead{border-left:none;border-top:1px solid #dcdad5;padding:1rem 0 0;}
  .home .rb__grid{grid-template-columns:1fr;gap:1rem;margin-top:2rem;}
  .home .rb__top{grid-template-columns:1fr;}
  .home .rb__ba{justify-content:flex-start;}
  .home .rb__shot{width:38%;}
  .home .mt__in{padding:3.5rem 1.25rem 4rem;}
  .home .mt__h{line-height:1.8;}
  .home .mt__grid{grid-template-columns:1fr;gap:.875rem;margin-top:2.25rem;}
  .home .mt__body{padding:1.25rem 1.125rem 1.5rem;}
  .home .ka__stats, .home .ka__cases{grid-template-columns:1fr;gap:.75rem;}
  .home .ka__nums{grid-template-columns:1fr;gap:.75rem;margin-top:2rem;}
  
.home .ka__case{display:flex;flex-direction:column;padding:0;overflow:hidden;}
  .home .ka__top{grid-template-columns:1fr;gap:1.5rem;}
  .home .ka__hero{order:-1;}
  .home .ka__nums{grid-template-columns:1fr;margin-top:2rem;}
  .home .ka__num + .ka__num{border-left:none;border-top:1px solid #e8e6e1;}
  .home .ka__num{padding:1.375rem 1rem;}
  .home .ch__in{padding:3.5rem 1.25rem 4rem;}
  .home .ch__tl{grid-template-columns:1fr;gap:1.25rem;margin-top:2.5rem;--c:5.25rem;}
  .home .ch__step{flex-direction:row;align-items:center;text-align:left;gap:1rem;}
  .home .ch__circle{margin-bottom:0;flex:0 0 auto;}
  .home .ch__circle--ill{padding:.62rem;}
  .home .ch__wk{margin-bottom:0;flex:0 0 auto;flex-direction:column;align-items:center;}
  .home .ch__step:not(:last-child)::after{display:none;}
  .home .ch__three{margin-top:2.5rem;padding-top:2rem;}
  .home .ch__3grid{gap:0;margin-top:2rem;}
  .home .ch__3i + .ch__3i{border-top:1px solid #e8e6e1;}
  .home .wy__in{padding:3.5rem 1.25rem 4rem;}
  .home .wy__grid{grid-template-columns:1fr;gap:0;margin-top:2.25rem;}
  .home .wy__i{padding:1.375rem .125rem;}
  .home .wy__i + .wy__i{border-top:1px solid rgba(255,255,255,.14);}
  .home .wy__i + .wy__i::before{display:none;}
  .home .wy__space{grid-template-columns:1fr;gap:1.375rem;margin-top:1.75rem;}
  .home .wy__ph{order:-1;}
  .home .sp__grid{grid-template-columns:1fr 1fr;}
  .home .sp__g1{grid-column:span 2;grid-row:auto;aspect-ratio:4/3;}
  /* SPは交互配置が成立しないため、全て「左イラスト＋右テキスト」に統一 */
  .home .ch__3i,
  .home .ch__3i:nth-child(even){grid-template-columns:4.5rem 1fr;
  column-gap:1.125rem;align-items:center;padding:1.375rem .125rem;
  width:auto;margin-inline:0;}
  .home .ch__3i:nth-child(even) .ch__3ic{order:1;}
  .home .ch__3i:nth-child(even) .ch__3tx{order:2;text-align:left;}
  .home .ch__3d{margin-top:.375rem;}
  .home .wy__grid{gap:1.5rem;}
  .home .wy__iph{margin-bottom:.875rem;}
  .home .rs__in{padding:3.5rem 1.25rem 4rem;}
  .home .rs__c{grid-template-columns:auto 1fr;gap:.75rem 1rem;
  padding:1.125rem 1rem 1.25rem 1.25rem;}
  .home .rs__ic{grid-column:1 / -1;width:74%;margin:0 auto;}
  .home .rs__b{grid-column:1 / -1;}
  .home .rs__c{grid-template-columns:1fr;}
  .home .rs__t{white-space:normal;font-size:clamp(.875rem,4.4vw,1.0625rem);}
  .home .km__top, .home .ft__top{grid-template-columns:1fr;}
  .home .km__body, .home .ft__body{padding:2rem 1.25rem 2.5rem;}
  /* SPは4:3で切り抜くため上下40%が失われる。初期値のcenterだと
     顔（縦20%付近）が切れるので、上寄せにして顔を残す。 */
  .home .km__ph img{aspect-ratio:4/3;object-position:center 20%;}
  .home .ft__ph::after{background:linear-gradient(180deg,rgba(255,255,255,0) 60%,#fff 100%);}
  .home .km__stats{grid-template-columns:1fr 1fr;}
  .home .km__st:nth-child(3){border-left:none;}
  .home .km__st:nth-child(n+3){border-top:1px solid #e8e6e1;margin-top:1.25rem;padding-top:1.25rem;}
  .home .km__cards, .home .ft__cards{grid-template-columns:1fr;gap:.875rem;padding:1.5rem 1.25rem 2.5rem;}
  .home .ft__cards{padding-bottom:0;}
  .home .ft__note{padding:1.5rem 1.25rem 2.5rem;}
  .home .trainers .wrap{width:auto;padding:0 1.25rem;}
  .home .trainer-grid{grid-template-columns:repeat(2,1fr);gap:.5rem;}
  .home .trainer-card .name-bar{padding:1rem 1rem .875rem;}
  .home .ba__in{padding:3.5rem 1.25rem 4rem;}
  .home .ba__list{margin-top:2rem;gap:1.25rem;}
  .home .ba__row{grid-template-columns:1fr;gap:.375rem;}
  .home .ba__ar{transform:rotate(90deg);justify-self:center;margin:.125rem 0;}
  .home .ba__cap{padding:.75rem .875rem;font-size:.8125rem;}
  .home .vc__in{padding:3.5rem 1.25rem 4rem;}
  /* SPは横スクロール。カード幅82%で右端に次のカードが覗く。
     scroll-snap で1枚ずつ止まる。JSは不要。
     .vc__in の左右padding(1.25rem)を打ち消して画面端まで送り、
     カード自身の余白でインデントを作る。 */
  .home .vc__list{display:flex;grid-template-columns:none;
    gap:.75rem;margin-top:2.25rem;
    overflow-x:auto;scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;scrollbar-width:thin;
    margin-left:-1.25rem;margin-right:-1.25rem;
    padding:0 1.25rem 1rem;}
  .home .vc__list::-webkit-scrollbar{height:4px;}
  .home .vc__list::-webkit-scrollbar-thumb{background:rgba(0,0,0,.2);border-radius:2px;}
  .home .vc__c{flex:0 0 82%;scroll-snap-align:start;padding:1.5rem 1.25rem;}
  .home .vc__btn{width:100%;justify-content:center;}
  .home .vc__b{min-height:0;margin-top:.875rem;}
  .home .price-section .wrap{width:auto;padding:0 1.25rem;}
  .home .price-cards{grid-template-columns:1fr;gap:1.25rem;}
  .home .price-other__list{grid-template-columns:1fr;}
  .home .faq .wrap,
.post-type-archive-faq .faq .wrap{width:auto;padding:0 1.25rem;}
  .home .faq__more-btn,
.post-type-archive-faq .faq__more-btn{width:100%;justify-content:center;}
  .home .access .wrap{width:auto;padding:0 1.25rem;}
  .home .access-inner{grid-template-columns:1fr;gap:1.5rem;}
  .home .access-info dl{grid-template-columns:1fr;}
  .home .access-info dt{padding-bottom:.25rem;border-bottom:none;}
  .home .access-info dd{padding-top:0;}
  .home .access-map iframe{aspect-ratio:1/1;}
  .home .fc__btn{width:100%;padding:1.125rem 1rem;}
  
 .home .fv{min-height:auto;}
  .home .fv__media img{object-position:76% center;}
  /* 中間を薄くして写真を最大限見せ、下端だけ締める。
     従来は64%で完全な黒に到達し、写真の下36%が潰れて
     バッジの下に黒い余白が残っていた。 */
  .home .fv__scrim{background:linear-gradient(180deg,rgba(8,8,10,.5) 0%,rgba(8,8,10,0) 22%,rgba(8,8,10,.15) 50%,rgba(8,8,10,.7) 78%,var(--bk) 100%);}
  .home .fv__inner{padding:26vh 1.25rem 3rem;justify-content:flex-end;}
  .home .fv__text{width:100%;}
  /* 「無駄のない身体づくりを。」は12文字。7.4vwだと2行に折り返すため
     わずかに下げて1行に収める（枠幅 ÷ 12文字 ＝ 約7.2vw が上限）。 */
  .home .fv__hl .big{font-size:clamp(1.25rem,7.05vw,2.125rem);}
  .home .fv__hl .sm{font-size:clamp(1rem,5vw,1.375rem);}
  .home .slot{flex:1;width:auto;}}.home .sign__photo, .home .rb__shot, .home .mt__ph, .home .ka__hero, .home .ka__shot, .home .wy__iph, .home .sp__grid figure, .home .km__ph, .home .ft__ph, .home .ft__c figure, .home .ba__cell figure, .home .fc__bg{background:#e6e4e0;}
.home .km__ph, .home .ft__ph, .home .fc__bg, .home .sp__grid figure{background:#1f1f22;}
.home .ba__cell--a figure{background:#24211a;}
.home .ba__cell--b figure{background:#d8d6d2;}
.home .fv__awards{display:flex;gap:clamp(.5rem,2vw,2.25rem);margin-top:1rem;align-items:flex-start;}
.home .fv__awards img{width:clamp(6rem,11.5vw,11rem);min-width:0;height:auto;display:block;}
.home .fv__hl .boxed{display:inline-block;}
.home .ba--1{background:#fff;}
.home .sign__msg{display:block;}
.home .vc__bwrap{display:block;}


@media (max-width:900px){
  .home .fv__inner{padding-top:calc(var(--header-height, 5rem) + clamp(1.5rem,4vw,3rem));}
}

@media (max-width:768px){
  .home .fv__inner{padding-top:calc(var(--header-height, 5rem) + 12vh);}
}

/* ============================================================
   style.css の旧トップページ指定を打ち消す
   （.fv などクラス名が重なるため）
============================================================ */
.home .fv::before,
.home .fv::after{content:none;display:none;}

/* ------------------------------------------------------------
   FV：背景画像が箱を覆わず、下に黒い余白ができる不具合の修正
   ------------------------------------------------------------
   原因1 style.css の .fv{height:85vh} が残っており、FVの高さが
         中身と無関係に固定されていた（min-height:82vh が無効化）。
   原因2 <picture> の高さが auto のため、その中の
         img{height:100%} が解決できず object-fit:cover が無効化し、
         画像が本来の縦横比（幅×0.5625）で止まっていた。

   あわせて 56行目の min-height は 82vh → min(82vh,46rem) に変更。
   82vh だけだと縦長ディスプレイでFVが伸びすぎ、1292px高の画面で
   上下に260/284pxの余白が出ていた（ノートPCでは99/123pxで適正）。
   46rem=736px の上限で、縦長画面だけを抑えている。
------------------------------------------------------------ */
.home .fv{
  height:auto;          /* style.css .fv{height:85vh} を打ち消す */
  align-items:stretch;  /* style.css .fv{align-items:flex-end} を打ち消す */
  padding-bottom:0;     /* style.css .fv{padding-bottom:1rem} を打ち消す */
}
.home .fv__media picture{
  display:block;
  width:100%;
  height:100%;
}


/* ------------------------------------------------------------
   CAMPAIGN：レスポンシブ
   ------------------------------------------------------------
   元は @container で書かれていたが、container-type を持つ祖先が
   無いため一度も発火していなかった（全幅で2カラムのまま、
   390px幅ではカード内容が255pxはみ出していた）。
   @media に置き換え、.home スコープでファイル末尾に配置して
   .home .cmp{...} より後に効くようにしている。
------------------------------------------------------------ */
@media (max-width:1280px){
  .home .cmp{padding:3rem;}
}
@media (max-width:1024px){
  .home .cmp__grid{grid-template-columns:1fr;gap:0;}
  .home .cmp__card{margin-bottom:1rem;}
}
@media (max-width:600px){
  .home .cmp__items{grid-template-columns:1fr;gap:1.5rem;}
}
@media (max-width:480px){
  .home .cmp{padding:3rem 1.2rem;}
  .home .cmp__wrap{width:auto;}
  .home .cmp__grid{display:block;}
  .home .cmp__head{padding:2.5rem 1.5rem 0;}
  .home .cmp__body{padding:1.5rem 1.5rem 1rem;}
  .home .cmp__price,
  .home .cmp__num{font-size:4.5rem;}
  .home .cmp__title{font-size:1.75rem;}
}

/* ------------------------------------------------------------
   FV：No.1バッジ
   ------------------------------------------------------------
   ・サイズを 7.25rem → 11rem（約1.5倍）に拡大。
     元画像は600×520pxあるため解像度は十分（1430px幅で表示164px＝3.6倍の余裕）。
   ・min-width:0 は必須。img に width 指定があると flex の
     min-width:auto が効いて縮まず、320px幅の端末で36pxはみ出す。
   ・SPのgapは .fv__awards が991行目で再定義されており、
     SPメディアクエリ内(986行目)の指定が上書きされて効かなかったため、
     ファイル末尾で指定し直している。
------------------------------------------------------------ */
@media (max-width:768px){
  .home .fv__awards{gap:.875rem;}
}

/* ------------------------------------------------------------
   CAMPAIGN：カード1枚表示時
   ------------------------------------------------------------
   ダッシュボードのON/OFFで片方だけ表示になった場合、
   2カラムグリッドの左セルに寄らないよう中央に配置する。
------------------------------------------------------------ */
.home .cmp__grid:has(.cmp__card:only-child){grid-template-columns:1fr;}
.home .cmp__grid .cmp__card:only-child{max-width:40rem;margin-inline:auto;width:100%;}

/* ------------------------------------------------------------
   RESULT：BEFORE / AFTER を全幅2分割に（A案）
   ------------------------------------------------------------
   従来は .rb__top の右カラムに 120px 幅で置いていたため、
   変化が写真から伝わらず、数値ブロックと幅を取り合って
   「体重」が2行に折り返していた。
   写真をカード全幅に出し、数値は下で全幅を使う構成に変更。
------------------------------------------------------------ */
.home .rb__ba--wide{
  display:grid;grid-template-columns:1fr 1fr;gap:2px;
  position:relative;margin-top:1.125rem;
  background:#e6e5e2;border-radius:.5rem;overflow:hidden;
}
.home .rb__ba--wide .rb__shot{width:auto;}
.home .rb__ba--wide .rb__shot img{border-radius:0;}
.home .rb__ba--wide .rb__tag{top:auto;bottom:.625rem;left:.625rem;transform:none;font-size:.6875rem;}
.home .rb__ba__mid{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:2.125rem;height:2.125rem;border-radius:50%;
  background:var(--acc);color:#fff;font-size:.8125rem;line-height:1;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 .125rem .625rem rgba(0,0,0,.25);z-index:2;
}
.home .rb__ba--wide + .rb__top{grid-template-columns:1fr;margin-top:1.25rem;}

/* ------------------------------------------------------------
   選ばれる理由：PCを2カラム／画像を上に
   ------------------------------------------------------------
   イラストを主役に見せたいので、横並び（左アイコン＋右テキスト）を
   やめてSPと同じ「画像が上・テキストが下」に統一し、
   カードを2列に並べて1枚あたりの幅を確保している。
------------------------------------------------------------ */
@media (min-width:769px){
  .home .rs__list{grid-template-columns:1fr 1fr;gap:clamp(1rem,2vw,1.5rem);}
  .home .rs__c{grid-template-columns:1fr;align-items:start;
    gap:clamp(1rem,1.8vw,1.375rem);text-align:center;
    padding:clamp(1.75rem,2.8vw,2.5rem) clamp(1.5rem,2.4vw,2rem) clamp(1.75rem,2.8vw,2.25rem);}
  .home .rs__ic{width:min(72%,17rem);margin:0 auto;}
  .home .rs__t{white-space:normal;}
  .home .rs__b{text-align:left;}
}

/* ------------------------------------------------------------
   よくある質問 一覧ページ（archive-faq.php）
   ------------------------------------------------------------
   トップページと同じ白基調に揃える。
   FAQ本体の見た目は上の .home / .post-type-archive-faq 共通指定で
   効くので、ここではアーカイブ固有のラッパーだけ打ち消す。
   （style.css の .faq-archive は黒背景・白文字）
------------------------------------------------------------ */
.post-type-archive-faq .faq-archive{
  background:#fff;color:#1a1a1a;
  padding:clamp(3.5rem,6vw,5.5rem) 0;
}
.post-type-archive-faq .faq-archive__empty{color:#8a8a8a;}

/* ------------------------------------------------------------
   METHOD：「圧倒的な × 医療機関」ブロック
   ------------------------------------------------------------
   見た目は style.css の .services-hero 系をそのまま使い、
   ここでは前後の余白だけトップページの流れに合わせる。
------------------------------------------------------------ */
/* METHOD冒頭の「圧倒的な × 医療機関」ブロック。
   .services-hero はサービスページ用の余白を持っており、
   セクションの上padding（PC 88px）と重なって上が空きすぎるため、
   上マージンを詰め、見出しとの間隔も縮めている。 */
.home .mt__hero{margin:0 auto clamp(1.5rem,2.6vw,2.25rem);}
.home .mt__in{padding-top:clamp(2.5rem,4.5vw,3.5rem);}

/* ------------------------------------------------------------
   FV：SPのNo.1バッジを 2カラム＋3つ目を中央に
   ------------------------------------------------------------
   横3つ並びだと1枚96pxで文字が読みにくいため、2列に分けて拡大。
   3つ目は2カラムぶんの幅を持つので、max-width で他と大きさを揃える。
   （.fv__awards は 1067行目でも再定義されるため、末尾で上書きする）
------------------------------------------------------------ */
@media (max-width:768px){
  .home .fv__awards{
    display:grid;grid-template-columns:1fr 1fr;
    gap:.75rem;justify-items:center;align-items:start;margin-top:1rem;}
  .home .fv__awards img{width:100%;max-width:8rem;min-width:0;height:auto;display:block;}
  .home .fv__awards > *:nth-child(3){grid-column:1 / -1;}
}

/* ------------------------------------------------------------
   FV：SPの写真をより見せ、バッジ〜CAMPAIGNの間を詰める（B案）
   ------------------------------------------------------------
   写真だけの領域 181px → 304px（1.7倍）。
   FV下端48px＋CAMPAIGN上48px＝96px空いていた間隔を40pxに。
------------------------------------------------------------ */
@media (max-width:768px){
  .home .fv__inner{padding-top:36vh;padding-bottom:1.25rem;}
  .home .cmp{padding-top:1.25rem;}
}
