@charset "UTF-8";
/* =========================================================================
   更紗灯台荘｜トップページ専用
   Figma 1440px 基準。FVとS2はコラージュのため比率固定のステージで配置する
   ========================================================================= */

/* ---------- 比率固定ステージ ---------- */
.stage{position:relative;width:100%;max-width:1440px;margin-inline:auto;}
.stage>.a{position:absolute;}
.stage img{width:100%;height:100%;object-fit:cover;}

/* 切り紙（写真のちぎり縁） */
.cut1{clip-path:polygon(2% 6%,26% 0,58% 4%,88% 0,100% 14%,96% 47%,100% 78%,72% 96%,38% 100%,9% 94%,0 62%,3% 30%);}
.cut2{clip-path:polygon(0 10%,22% 2%,53% 7%,84% 0,100% 21%,95% 55%,100% 86%,66% 100%,31% 95%,5% 100%,2% 61%,0 33%);}
.cut3{clip-path:polygon(6% 0,40% 5%,71% 0,100% 9%,97% 40%,100% 71%,88% 100%,55% 94%,22% 100%,0 88%,4% 52%,0 21%);}
.cut4{clip-path:polygon(0 4%,30% 0,64% 6%,100% 2%,97% 33%,100% 66%,90% 97%,58% 100%,26% 96%,2% 100%,5% 66%,0 35%);}

/* =========================================================================
   FV
   ========================================================================= */
.fv{position:relative;}
.fv .stage{height:830px;}
.fv .eyebrow{left:8.68%;top:249px;font-size:clamp(13px,1.1vw,16px);line-height:1.55;letter-spacing:0;color:#6B655E;}
.fv h1,.fv .h1{
  left:8.68%;top:288px;width:60%;margin:0;
  font-family:var(--pen);font-weight:400;font-size:clamp(34px,4.2vw,60px);line-height:1.6;letter-spacing:.12em;
}
/* 写真に重なる部分だけ白で抜く（デザイン通りの2トーン） */
.fv .h1-ko{
  color:#fff;z-index:2;pointer-events:none;
  clip-path:inset(0 0 calc(100% - (min(100vw,1440px) * 0.3965 - 134px)) 40.05%);
}
/* 写真スライド（Figma: 471,154,863×571／ドット 474,749） */
.fv .fv-ph{left:32.7%;top:154px;width:59.93%;aspect-ratio:863/571;z-index:1;overflow:hidden;background:var(--cream);}
.fv-dots{left:32.9%;top:749px;z-index:2;}
.fv .paw1{left:76.4583%;top:664.5px;width:158px;height:161px;transform:rotate(32deg);z-index:0;}

/* 共通スライド機構（JS無しでも1枚目が必ず見える） */
[data-slider] .slides{position:relative;width:100%;height:100%;}
[data-slider] .slides img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  opacity:0;transition:opacity .9s ease;}
[data-slider] .slides img.is-on{opacity:1;}
[data-slider] .slides img:first-child{opacity:1;}
[data-slider] .slides img.is-on~img{opacity:0;}
.dots{display:flex;gap:25.5px;}
.dots i{width:14px;height:14px;border-radius:50%;background:#CFC6BA;display:block;transition:background .3s;}
.dots i.on{background:var(--yellow);}

/* =========================================================================
   S2 いつもの毎日
   ========================================================================= */
.s2{position:relative;margin-top:-40px;}
.s2 .stage{height:959px;}                        /* 790〜1749px */
.s2 .sheet{left:17.78%;top:128px;width:64.44%;height:617px;z-index:2;}
.s2 .sheet .bg{position:absolute;inset:-16px;background:var(--paper);filter:url(#torn1) drop-shadow(4px 5px 4px rgba(66,64,63,.12));}
.s2 .sheet .in{position:relative;z-index:1;padding:102px 90px 0 121px;text-align:left;}
.s2 .sheet .ruled,.s2 .sheet .ruled2{
  position:absolute;left:11.31%;right:9.7%;height:198px;z-index:0;
  background:repeating-linear-gradient(to bottom,transparent 0 27.14px,#F0F0F0 27.14px 28.14px);
}
.s2 .sheet .ruled{top:100px;}
.s2 .sheet .ruled2{top:324px;}
.s2 h2{font-family:var(--pen);font-size:clamp(24px,2.41vw,34.7px);line-height:1.52;letter-spacing:.1em;white-space:nowrap;}
.s2 .rule{position:absolute;left:11.5%;right:11.5%;height:1px;background:#DCD5C9;}
.s2 .body{margin:57px 0 0 2px;font-size:clamp(13px,1.01vw,14.55px);line-height:34px;}
.s2 .body p+p{margin-top:19px;}
.s2 .body p:first-child{padding-left:9px;}
.s2 .btn-wrap{justify-content:flex-start;margin-top:50px;}
/* 写真5枚（Figmaの座標・傾きそのまま。紙の下／上に潜らせる） */
.s2 .ph{overflow:hidden;box-shadow:4px 6px 12px rgba(66,64,63,.14);}
.s2 .ph img{width:100%;height:100%;object-fit:cover;}
.s2 .ph1{left:2.2194%;top:19.33px;width:23.9639%;height:258.81px;transform:rotate(6.36deg);z-index:3;}
.s2 .ph2{left:-2.4625%;top:338.76px;width:21.5153%;height:232.37px;transform:rotate(-8.54deg);z-index:3;}
.s2 .ph3{left:63.1222%;top:366.33px;width:23.9639%;height:258.81px;transform:rotate(6.36deg);z-index:3;}
.s2 .ph4{left:79.8292%;top:614.76px;width:21.5153%;height:232.37px;transform:rotate(-8.54deg);z-index:3;}
.s2 .ph5{left:54.4313%;top:698.25px;width:21.5153%;height:232.37px;transform:rotate(-5.15deg);z-index:3;}
/* ベージュとミントをまたぐ肉球（Figma 1148.58,1634） */
.s2 .pawx{left:76.5278%;top:872.5px;width:158px;height:161px;transform:rotate(22deg);z-index:3;}

/* =========================================================================
   S3 家族を待つ子犬たち（ミント帯）
   ========================================================================= */
/* ミント帯の上端はデザインどおり右上がり（1749.4→1726.1） */
.edge-mint{height:24px;margin-top:-24px;background:var(--mint);position:relative;z-index:0;
  clip-path:polygon(0 100%,100% 0,100% 100%);}
.s3{position:relative;background:var(--mint);padding:100px 0 98px;overflow-x:clip;}
.s3 .paw-a{left:67px;top:38.5px;width:158px;height:161px;transform:rotate(-6deg);}
.s3 .paw-b{left:1188px;top:693.5px;width:158px;height:161px;transform:rotate(42deg);}
.s3 .top{position:relative;padding:0 20px 0 62px;z-index:2;}
.s3 h2{position:relative;top:0;font-family:var(--pen);font-size:clamp(28px,2.88vw,41.5px);letter-spacing:.11em;line-height:1.5;}
.s3 .top .btn{position:absolute;right:20px;top:64px;}
.s3 .lead{margin:22px 0 0 70px;max-width:630px;font-size:14.05px;letter-spacing:0;line-height:2.1;position:relative;z-index:2;}
.s3 .pups{display:grid;grid-template-columns:repeat(3,343.64px);gap:99.12px;justify-content:start;
  margin:59px 0 0 13px;position:relative;z-index:2;}
/* 白いカードは写真＋ひとことまで。スペックはカードの外（Figma 61:118ほか） */
.pol{position:relative;width:343.64px;}
.pol .pol-card{position:relative;background:var(--paper);padding:14px 15.5px 0;height:311.8px;box-sizing:border-box;
  box-shadow:5px 7px 13px rgba(66,64,63,.17);}
.pol:nth-child(1){transform:rotate(-1.66deg);}
.pol:nth-child(2){transform:rotate(1.93deg);margin:5.6px 0 0 .6px;}
.pol:nth-child(3){transform:rotate(-.57deg);margin:-14.7px 0 0 -20px;}
.pol .ph{aspect-ratio:4/3;overflow:hidden;background:var(--cream);}
.pol .ph img{width:100%;height:100%;object-fit:cover;}
.pol figcaption{font-family:var(--pen);font-size:18.2px;line-height:1.72;text-align:center;padding:8px 0 0;margin-inline:-14.5px;white-space:nowrap;}
.pol .corner{position:absolute;width:0;height:0;border-style:solid;}
.pol .c1{left:0;top:0;border-width:43.5px 43.5px 0 0;border-color:var(--yellow) transparent transparent transparent;}
.pol .c2{right:0;bottom:0;border-width:0 0 43.5px 43.5px;border-color:transparent transparent var(--yellow) transparent;}
.s3 dl{margin-top:32px;padding-left:2px;font-size:12px;line-height:29.6px;}
.s3 dl div{display:grid;grid-template-columns:69px 1fr;gap:0;}
.s3 dt{color:#5C5750;}
.s3 .note{margin-top:40px;position:relative;z-index:2;}

 /* =========================================================================
   写真帯（全幅）
   ========================================================================= */
.photoband{position:relative;z-index:1;line-height:0;overflow:hidden;}
.photoband img{width:100%;height:100%;object-fit:cover;display:block;}
.band1{height:506px;margin:-42px 0 -6px;
  clip-path:polygon(0 0,100% 7.51%,100% 91.30%,0 99.80%);}
.band2{height:619px;margin-left:-8px;width:calc(100% + 16.5px);
  clip-path:polygon(0 6.06%,38.9% 0,72.9% 11.47%,87.8% 6.06%,100% 11.15%,
                    100% 86.11%,86.7% 81.26%,76.9% 84.65%,55.6% 91.44%,22.2% 85.95%,0 92.25%);}

/* =========================================================================
   S4 ここで、こんなふうに暮らしています
   ========================================================================= */
.s4{position:relative;padding:69px 0 49px;overflow-x:clip;}
.s4 .head{position:relative;display:flex;align-items:flex-start;gap:0;margin-bottom:61px;}
.s4 .head .round{width:230px;height:230px;flex:none;margin:22px 0 0 26px;border-radius:50%;
  overflow:hidden;background:var(--cream);}
.s4 .head .round img{width:100%;height:100%;object-fit:cover;}
.s4 .bubble{
  position:relative;margin-left:20px;flex:1;max-width:856px;
  background:var(--paper);border-radius:52% 48% 48% 52%/62% 60% 40% 38%;
  padding:36.6px 70px 40.8px 168px;display:flex;align-items:flex-start;min-height:221px;
}
.s4 .bubble::before,.s4 .bubble::after{content:"";position:absolute;background:var(--paper);border-radius:50%;}
.s4 .bubble::before{left:-22px;bottom:52px;width:34px;height:28px;}
.s4 .bubble::after{left:-44px;bottom:30px;width:16px;height:14px;}
.s4 .bubble h2{font-family:var(--pen);font-size:clamp(24px,2.92vw,42px);line-height:1.71;letter-spacing:.1em;}
.s4 .wrap{display:grid;grid-template-columns:576px 1fr;gap:52px;align-items:start;}
.chap{position:relative;display:grid;grid-template-columns:108px 1fr;gap:0;align-items:start;
  height:167.5px;border:0;}
.chap::after{content:"";position:absolute;left:0;right:0;top:104.5px;height:2px;background:#7E7872;}
.chap:last-of-type{height:104px;}
.chap .n{font-family:var(--pen);font-size:97px;line-height:1;color:var(--ink);padding-left:11px;margin-top:-13px;}
.chap h3{font-size:18px;font-weight:700;letter-spacing:.06em;line-height:1.4;margin:0 0 0;}
.chap p{font-size:13.6px;letter-spacing:0;line-height:1.48;color:#54504B;margin-top:13px;max-width:437px;}
.s4 .chaps .btn-wrap{justify-content:flex-start;padding-left:244px;margin-top:46px;}
.s4 .pic{position:relative;margin-top:-102px;}
.s4 .pic .main{width:465.42px;aspect-ratio:465.42/582.07;margin-left:auto;margin-right:27.4px;transform:rotate(4.97deg);
  overflow:hidden;background:var(--cream);box-shadow:6px 7px 0 rgba(66,64,63,.12);border-radius:4px;}
.s4 .dots{justify-content:flex-start;padding-left:224px;margin-top:42px;}
.s4 .paw-a{left:63px;top:912.5px;width:158px;height:161px;transform:rotate(10deg);}

/* =========================================================================
   S5 知っておいてほしい3つのこと
   ========================================================================= */
.s5{position:relative;padding:44px 0 100px;overflow-x:clip;}
.s5 .inner{padding-top:119px;}
.s5 .panel{position:relative;display:flow-root;background:var(--paper);border:1px solid #000;box-sizing:border-box;
  max-width:1225px;margin:0 auto 0 1px;border-radius:26px;padding:0 0 72px;}
.s5 .panel .head{position:static;}
.s5 .panel .round{position:absolute;left:49px;top:36px;width:230px;height:230px;z-index:2;border-radius:50%;
  overflow:hidden;background:var(--cream);}
.s5 .panel .round img{width:100%;height:100%;object-fit:cover;}
.s5 .mint-bubble{
  position:relative;width:840px;min-height:230px;margin:-37px 0 0 316px;background:var(--mint);
  border-radius:50% 50% 46% 54%/60% 58% 42% 40%;padding:47px 40px 64px 160px;text-align:center;
  display:flex;align-items:flex-start;justify-content:flex-start;box-sizing:border-box;
}
.s5 .mint-bubble::before,.s5 .mint-bubble::after{content:"";position:absolute;background:var(--mint);border-radius:50%;}
.s5 .mint-bubble::before{left:-18px;bottom:34px;width:26px;height:22px;}
.s5 .mint-bubble::after{left:-38px;bottom:16px;width:13px;height:11px;}
.s5 .mint-bubble h2{font-family:var(--pen);font-size:clamp(23px,2.66vw,38.3px);line-height:1.47;letter-spacing:.1em;}
.s5 .lead{width:778px;margin:11px 0 0 417px;font-size:13.33px;line-height:2.07;position:relative;z-index:3;}
.s5 .cards{display:grid;grid-template-columns:repeat(3,369px);gap:26px;justify-content:start;margin:34px 0 0 34px;}
/* カードは大きな手書き数字（イラストは使わない） */
.care{border:1px solid #4C4A4B;border-radius:14px;padding:43px 31px 23px;text-align:center;background:var(--paper);}
.care .n{display:block;font-family:var(--pen);font-size:97px;line-height:1.1;color:var(--ink);}
.care h3{font-size:24.5px;font-weight:700;letter-spacing:.1em;line-height:1.3;margin:42px 0 18px;}
.care p{font-size:13.5px;line-height:2.02;text-align:left;color:#54504B;}
.s5 .links{display:flex;gap:38px;justify-content:center;flex-wrap:wrap;margin-top:67px;}
.s5 .links .btn{width:332px;min-width:0;padding:0 46px;}
.s5 .paw-a{left:1243px;top:311.5px;width:158px;height:161px;transform:rotate(42deg);z-index:4;}
.s5 .paw-b{left:161px;top:963.5px;width:158px;height:161px;transform:rotate(0deg);z-index:4;}

/* =========================================================================
   S6 アルバム
   ========================================================================= */
.s6{position:relative;padding:89px 0 39px;overflow-x:clip;}
.s6 .head{text-align:center;margin-bottom:48.4px;}
.s6 h2{font-family:var(--pen);font-size:clamp(26px,2.7vw,36px);letter-spacing:.12em;line-height:1.6;}
.s6 .head p{margin-top:10px;font-size:12.84px;line-height:2;}
.s6 .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px 24px;margin:0 -1px 0 1px;}
.alb{background:var(--paper);border:1px solid #787878;border-radius:14px;padding:13px 13px 0;}
.alb img{width:100%;aspect-ratio:365/274;object-fit:cover;border-radius:8px;}
.alb figcaption{font-family:var(--pen);font-size:22.5px;line-height:1.5;text-align:center;padding:6px 4px 24px;letter-spacing:.06em;}
.s6 .btn-wrap{margin-top:64px;}


/* =========================================================================
   S7 お迎えまで（クリーム帯）
   ========================================================================= */
.s7{position:relative;padding:48px 0 229px;overflow-x:clip;}
/* クリーム地は写真帯の裏まで伸ばし、下端はデザインの折れ線で切る */
.s7::before{content:"";position:absolute;left:0;right:0;top:-130px;bottom:0;background:var(--cream);z-index:-1;
  clip-path:polygon(0 0,100% 0,100% 80.02%,75% 83.57%,39.9% 81.12%,6.25% 85.49%,0 84.19%);}
.s7 .head{text-align:center;margin-bottom:54.4px;position:relative;right:21px;z-index:2;}
.s7 h2{font-family:var(--pen);font-size:clamp(26px,2.7vw,36px);line-height:1.6;letter-spacing:.12em;}
.s7 .head p{margin-top:14px;font-size:12.8px;}
.s7 .sheet{position:relative;max-width:783px;margin:0 0 0 calc(50% - 397px);z-index:2;}
.s7 .sheet .bg{position:absolute;inset:-20px;background:var(--paper);filter:url(#torn2) drop-shadow(5px 6px 5px rgba(66,64,63,.16));}
.s7 .sheet .in{position:relative;z-index:1;padding:54px 101px 69px 105px;}
.s7 .steps > li{position:relative;grid-template-columns:108px 1fr;gap:0;height:167px;padding:0;border:0;align-items:start;}
.s7 .steps > li::after{content:"";position:absolute;left:0;right:0;top:104px;height:2px;background:#8E8E8E;}
.s7 .steps > li:last-child{height:104px;}
.s7 .steps > li:last-child::after{display:none;}
.s7 .steps .n{font-size:86px;line-height:1;padding-left:6px;margin-top:-13px;}
.s7 .steps h3{font-size:18px;line-height:1.4;margin:-3px 0 0;}
.s7 .steps p{font-size:13.6px;letter-spacing:0;line-height:1.55;margin-top:13px;max-width:437px;}
.s7 .btn-wrap{justify-content:flex-start;padding-left:121px;margin-top:39px;}
.s7 .paw-a{left:78px;top:370.5px;width:158px;height:161px;transform:rotate(-10deg);}
.s7 .paw-b{left:1203px;top:517.5px;width:158px;height:161px;transform:rotate(42deg);}
.s7 .paw-c{left:101px;top:1121.5px;width:158px;height:161px;transform:rotate(16deg);}
.s7 .paw-d{left:935px;top:-171.5px;width:158px;height:161px;transform:rotate(42deg);z-index:0;}

/* =========================================================================
   S8 新着情報
   ========================================================================= */
.s8{position:relative;padding:70px 0 139px;overflow-x:clip;}
.s8 .paw-a{left:278px;top:755.5px;width:158px;height:161px;transform:rotate(2deg);}
.s8 .wrap{display:grid;grid-template-columns:467px minmax(0,706px);justify-content:space-between;
  gap:0;align-items:start;padding-right:55px;}
.s8 h2{font-family:var(--pen);font-size:clamp(24px,2.25vw,30px);line-height:2;letter-spacing:.14em;margin:-5px 0 0 82px;}
.s8 .side{position:relative;}
.s8 .side .ph{position:absolute;overflow:hidden;box-shadow:5px 7px 13px rgba(66,64,63,.16);}
.s8 .side .ph img{width:100%;height:100%;object-fit:cover;}
.s8 .side .ph1{left:-130px;top:147.3px;width:345.08px;height:258.81px;transform:rotate(6.36deg);z-index:1;}
.s8 .side .ph2{left:85.5px;top:429.8px;width:309.82px;height:232.37px;transform:rotate(-8.54deg);z-index:2;}
.s8 .blog-list a{padding:28px 0;}
.s8 .blog-list h3{max-width:378px;}
.s8 .btn-wrap{justify-content:flex-end;margin-top:49px;}

/* =========================================================================
   CTA
   ========================================================================= */
.cta .paw-a{left:1116px;top:234.5px;width:158px;height:161px;transform:rotate(42deg);z-index:5;}
.cta .paw-b{left:174px;top:800.5px;width:158px;height:161px;transform:rotate(2deg);z-index:5;}

/* S4 のコンテンツ枠は Figma で 131px から始まる（他セクションより右に寄る） */
@media (min-width:1101px){
  .s4 .inner{left:25px;}
}

/* =========================================================================
   レスポンシブ
   ========================================================================= */
@media (max-width:1100px){
  .fv .stage,.s2 .stage{height:auto;}
  .fv .stage>.a,.s2 .stage>.a{position:static;width:auto;height:auto;}
  .fv .stage{display:flex;flex-direction:column;padding:calc(var(--hd) + 24px) 28px 20px;}
  .fv h1{order:2;width:100%;letter-spacing:.08em;}
  .fv .eyebrow{order:1;margin-bottom:10px;}
  .fv .fv-ph{order:3;margin:26px auto 0;width:100%;max-width:620px;}
  .fv-dots{order:4;justify-content:center;margin:18px auto 0;}
  .fv .paw1{display:none;}
  .s2{margin-top:0;}
  .s2 .stage{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:0 28px 40px;}
  .s2 .stage>.a:not(.sheet){height:150px;transform:none;box-shadow:none;}
  .s2 .stage>.a:not(.sheet) img{width:100%;height:100%;object-fit:cover;}
  .s2 .sheet{order:-1;grid-column:1/-1;height:auto;margin:0 auto 14px;max-width:640px;}
  .s2 .sheet .in{padding:54px 30px 0;}
  .s2 .sheet .ruled,.s2 .sheet .ruled2,.s2 .rule{display:none;}
  .s2 .btn-wrap{padding-right:0;}
  .s3 .top{padding:0;display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;}
  .s3 h2{top:0;}
  .s3 .top .btn{position:static;}
  .s3 .lead{margin-left:0;}
  .s4 .head{flex-direction:column;align-items:center;text-align:center;}
  .s4 .head .round{width:170px;height:170px;margin:0 0 18px;}
  .s4 .bubble{margin-left:0;padding:38px 32px;min-height:0;max-width:none;}
  .s4 .bubble::before,.s4 .bubble::after{display:none;}
  .s4 .wrap{grid-template-columns:1fr;gap:44px;}
  .chap{height:auto;padding:6px 0 22px;}
  .chap::after{top:auto;bottom:0;}
  .chap:last-of-type{height:auto;}
  .chap .n{margin-top:0;}
  .chap h3{margin:14px 0 0;}
  .chap p{max-width:none;line-height:1.9;}
  .s4 .chaps .btn-wrap{justify-content:center;padding-left:0;margin-top:36px;}
  .s4 .pic{margin-top:0;}
  .s4 .pic .main{margin-inline:auto;}
  .s4 .dots{justify-content:center;padding-left:0;margin-top:20px;}
  .s4 .pic .main{transform:none;}
  .s5 .inner{padding-top:0;}
  .s5 .panel .head{flex-direction:column;align-items:center;padding:0;}
  .s5 .panel .round{margin:0 0 20px;}
  .s5 .panel{padding:70px 26px 58px;}
  .s5 .mint-bubble{width:auto;max-width:640px;min-height:0;margin:0 auto 28px;}
  .care .n{font-size:72px;}
  .care h3{margin:18px 0 12px;}
  .s5 .lead{width:auto;margin:0 auto;}
  .s5 .cards{grid-template-columns:1fr;margin:40px 0 0;}
  .s5 .links{margin-top:44px;}
  .s5 .links .btn{width:auto;min-width:332px;}
  .s6 .grid{grid-template-columns:1fr 1fr;}
  .s7 .sheet{max-width:none;margin:0;}
  .s7 .head{right:0;}
  .s7 .sheet .in{padding:34px 24px 40px;}
  .s7 .steps > li{height:auto;padding:26px 0;}
  .s7 .steps > li::after{top:auto;bottom:0;}
  .s7 .steps > li:last-child{height:auto;}
  .s7 .steps .n{margin-top:0;}
  .s7 .steps h3{margin-top:6px;}
  .s7 .steps p{max-width:none;line-height:1.9;}
  .s7 .btn-wrap{justify-content:center;padding-left:0;}
  .s8 .wrap{grid-template-columns:1fr;padding-right:0;}
  .s8 h2{margin:0 0 8px;}
  .s8 .side .ph{display:none;}
  .s8 .btn-wrap{justify-content:center;}
  .s3 .pups{gap:24px;}
  .paw{opacity:.7;}
}
@media (max-width:820px){
  .s3 .pups{grid-template-columns:1fr 1fr;}
  .pol:nth-child(2){margin-top:0;}
  .chap{grid-template-columns:72px 1fr;}
  .chap .n{font-size:58px;padding-left:8px;}
  .s7 .steps > li{grid-template-columns:70px 1fr;}
  .s7 .steps .n{font-size:58px;padding-left:6px;}
  .s5 .links .btn{min-width:0;width:100%;max-width:332px;}
}
@media (max-width:600px){
  .s2 .stage{grid-template-columns:1fr 1fr;}
  .s5 .mint-bubble{padding:26px 22px;border-radius:26px;}
  .s5 .mint-bubble::before,.s5 .mint-bubble::after{display:none;}
  .s5 .mint-bubble h2{font-size:21px;line-height:1.75;}
  .s5 .panel{padding:48px 20px 46px;}
  .s5 .inner{padding-top:0;}
  .s3 .pups,.s6 .grid{grid-template-columns:1fr;}
  .s3 dl{margin-top:28px;}
  .s5 .links{gap:18px;}
}

/* 写真帯：画面が狭いときは高さを抑える */
@media (max-width:1100px){
  .band1{height:300px;} .band2{height:340px;}
  .s8 .side{min-height:0;}
}
@media (max-width:600px){
  .band1{height:200px;} .band2{height:220px;}
}

/* ---- レスポンシブの崩れ止め（1fr を minmax(0,1fr) にして最小幅で押し広げない） ---- */
@media (max-width:1100px){
  /* FVの写真：.fv .stage>.a{width:auto;height:auto} に負けて 0×0 に潰れるのを防ぐ */
  .fv .stage>.fv-ph{width:100%;max-width:620px;margin:26px auto 0;}
  .s2 h2{white-space:normal;}
  .pol figcaption{white-space:normal;}
  .s2 .stage{grid-template-columns:repeat(3,minmax(0,1fr));}
  .s2 .stage>.a{min-width:0;}
  .s3 .pups{grid-template-columns:repeat(3,minmax(0,1fr));}
  .s4 .wrap{grid-template-columns:minmax(0,1fr);}
  .s4 .pic .main{width:100%;max-width:465.42px;}
  .s6 .grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .s8 .wrap{grid-template-columns:minmax(0,1fr);}
  .ft-nap,.ft-reg{margin-left:auto;margin-right:auto;}
}
@media (max-width:820px){
  .s3 .pups{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:600px){
  .s2 .stage{grid-template-columns:repeat(2,minmax(0,1fr));}
  .s3 .pups,.s6 .grid{grid-template-columns:minmax(0,1fr);}
  .pol{width:auto;max-width:343.64px;}
  .pol .pol-card{height:auto;}
  .s8 h2{margin-left:0;}
  .blog-list a{grid-template-columns:96px minmax(0,1fr);}
}
