.logo{display:block;flex:0 0 auto;width:150px;height:54px;overflow:hidden}
.logo img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
footer .logo{width:220px;height:92px;background:#fff;padding:8px}
h1,h2,h3,.cta{word-break:keep-all;overflow-wrap:normal;line-break:strict}
summary{word-break:normal;overflow-wrap:break-word;line-break:strict}
.hero h1 em{white-space:nowrap}
.hero .veil{background:linear-gradient(90deg,rgba(244,248,251,.98) 0%,rgba(244,248,251,.91) 40%,rgba(244,248,251,.46) 61%,rgba(244,248,251,.04) 78%)}
.hero-copy{padding:28px 32px;background:rgba(255,255,255,.72);border-left:3px solid #2F5A85;box-shadow:0 18px 50px rgba(27,58,92,.08);backdrop-filter:blur(2px)}
.hero-copy,.hero-copy h1,.hero-copy .kicker{color:#1B3A5C}
.hero-copy.reveal,.hero-copy.reveal.visible{opacity:1;transform:translateY(-50%);transition:none}
.hero h1 em{color:#2F5A85;font-weight:500}
.hero .kicker{font-weight:600;text-shadow:0 1px 0 rgba(255,255,255,.8)}
.hero .badges span{background:rgba(255,255,255,.86);border-width:1.5px;font-weight:500;color:#1B3A5C}
.section-head h2,.method-grid h2,.reason-copy h2,.message-copy h2{max-width:100%}
.credential-diploma{font-size:10px!important;word-break:keep-all;overflow-wrap:normal}
.credential-diploma small{display:block;margin-top:6px}
.heading-line{display:block;white-space:nowrap}
.reason-mobile-head{display:none}
.method-step-visual{position:relative;margin:18px 0 15px;overflow:hidden;background:#E9F1F7}
.method-step-visual img{width:100%;height:170px;object-fit:cover;object-position:center 34%;filter:saturate(.82)}
.method-step-visual figcaption{position:absolute;left:0;bottom:0;margin:0;padding:7px 10px;background:rgba(27,58,92,.88);color:#fff;font:500 8px "Cormorant Garamond",serif;letter-spacing:.13em}
@media(max-width:800px){.logo{width:118px;height:43px}.hero h1 em{white-space:normal}.hero h1{max-width:330px}.reason-copy h2{font-size:23px}.message-copy h2{font-size:22px}.heading-line{white-space:nowrap}.cta{font-size:13px;gap:8px}footer .logo{width:180px;height:75px}}
@media(max-width:800px){.hero-copy{left:5vw;width:90vw;padding:22px 18px;background:rgba(255,255,255,.76)}.hero .veil{background:linear-gradient(90deg,rgba(244,248,251,.96),rgba(244,248,251,.68) 72%,rgba(244,248,251,.15))}}
@media(min-width:801px) and (max-height:760px){.hero{height:calc(100vh - 82px);min-height:500px}.hero-copy{top:38%;padding:18px 26px;width:min(620px,56vw);background:rgba(255,255,255,.84)}.hero .kicker{font-size:10px}.hero h1{font-size:24px;line-height:1.4;margin:10px 0}.hero h1 small{margin-bottom:8px}.hero h1 em{font-size:1.55em;line-height:1.25}.hero .badges{margin:12px 0}.hero .badges span{width:72px;height:72px;font-size:8px}.hero .cta{padding:10px 16px;font-size:12px}}
.visual-break{display:grid;grid-template-columns:1fr 1fr;background:#fff;padding:0}
.visual-break figure{position:relative;margin:0;min-height:480px;overflow:hidden}
.visual-break img{width:100%;height:100%;object-fit:cover}
.visual-break figcaption{position:absolute;left:28px;bottom:25px;background:rgba(255,255,255,.9);padding:12px 18px;font:400 12px "Shippori Mincho",serif;word-break:keep-all}
.studio-interior{position:relative;height:430px;margin:0;overflow:hidden;background:#E9F1F7}
.studio-interior img{width:100%;height:100%;object-fit:cover;object-position:center 53%}
.studio-interior figcaption{position:absolute;left:18px;bottom:16px;margin:0;padding:8px 12px;background:rgba(255,255,255,.88);font:500 10px "Cormorant Garamond",serif;letter-spacing:.12em}
.chosen-reasons{padding:120px 9vw;background:#FFFFFF}
.chosen-list{max-width:1080px;margin:0 auto}
.chosen-list article{position:relative;display:grid;grid-template-columns:minmax(280px,.8fr) 1.2fr;gap:45px;align-items:center;padding:34px 0;border-top:1px solid var(--line)}
.chosen-list article:last-child{border-bottom:1px solid var(--line)}
.chosen-list article:nth-child(even) img{grid-column:2}.chosen-list article:nth-child(even) div{grid-column:1;grid-row:1}.chosen-list img{width:100%;height:300px;object-fit:cover;object-position:center 34%}
.chosen-process{width:100%;height:300px;display:flex;align-items:center;justify-content:center;gap:14px;padding:28px;background:linear-gradient(145deg,#E9F1F7,#F4F8FB);color:#1B3A5C}
.chosen-process span{display:grid;place-items:center;width:92px;aspect-ratio:1;border:1px solid #556878;border-radius:50%;background:rgba(255,255,255,.68);font:500 13px/1.6 "Shippori Mincho",serif;text-align:center}
.chosen-process i{font:400 20px "Cormorant Garamond",serif;color:#7FA6C8}
.reason-photo img{object-position:center 56%}
.chosen-list h3{font:400 22px/1.7 "Shippori Mincho",serif;color:#1B3A5C;word-break:keep-all}
.chosen-list article div>p:last-child{font-size:12px;line-height:2}
.chosen-number{position:absolute;z-index:2;top:34px;left:0;width:48px;height:48px;display:grid;place-items:center;background:#2F5A85;color:#fff;font:italic 20px "Cormorant Garamond",serif}
.campaign,.campaign p,.campaign span,.campaign del,.campaign strong,.campaign small{font-family:"Shippori Mincho",serif}
.campaign-grid del,.campaign-grid strong{font-style:normal}
.campaign-deadline{display:block;color:#2F5A85;font:500 15px "Shippori Mincho",serif;letter-spacing:.08em;margin-bottom:5px}
.monthly,.monthly p,.monthly strong,.monthly small{font-family:"Shippori Mincho",serif}
.monthly strong{font-style:normal}
.cta{position:relative;min-height:68px;padding:14px 58px 14px 78px;background:linear-gradient(135deg,#2F5A85,#12283F);color:#fff;border:1px solid rgba(255,255,255,.24);box-shadow:0 12px 28px rgba(24,59,46,.2);font-family:"Shippori Mincho",serif;letter-spacing:.05em;transition:transform .25s ease,box-shadow .25s ease,background .25s ease}
.cta::before{content:"LINE";position:absolute;left:18px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#06c755;color:#fff;font:600 9px "Zen Kaku Gothic New","Zen Kaku Gothic New","Noto Sans JP",sans-serif;letter-spacing:.04em;box-shadow:0 0 0 4px rgba(255,255,255,.09)}
.cta b{position:absolute;right:16px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:30px;height:30px;border:1px solid rgba(255,255,255,.45);border-radius:50%;font-size:14px}
.cta small{color:rgba(255,255,255,.72);letter-spacing:.06em}
.cta:hover{background:linear-gradient(135deg,#3E6E9E,#1B3A5C);transform:translateY(-2px);box-shadow:0 16px 34px rgba(24,59,46,.27)}

.mini-cta{background:#1B3A5C;border:0;color:#fff;font-family:"Shippori Mincho",serif;transition:.25s}
.mini-cta:hover{background:linear-gradient(135deg,#C97C89 0%,#A85469 52%,#8E4055 100%)}
.sticky-cta{background:linear-gradient(135deg,#D28793 0%,#B85F72 52%,#9E4A60 100%)!important;color:#fff!important;border:1px solid rgba(255,255,255,.25);font-family:"Shippori Mincho",serif;box-shadow:0 12px 30px rgba(24,59,46,.3)!important}
.chosen-list article:nth-child(even) .chosen-number{left:auto;right:0}
@media(max-width:800px){.visual-break{grid-template-columns:1fr}.visual-break figure{min-height:310px}.visual-break figcaption{left:15px;bottom:15px;right:15px}}
@media(max-width:800px){.studio-interior{height:330px}.studio-interior img{object-position:center 48%}}
@media(max-width:800px){.chosen-reasons{padding:85px 7vw}.chosen-list article{display:flex;flex-direction:column;align-items:stretch;gap:18px;padding:28px 0}.chosen-list article:nth-child(even) img,.chosen-list article:nth-child(even) div{grid-column:auto;grid-row:auto}.chosen-list img,.chosen-process{height:250px}.chosen-process{gap:7px;padding:18px}.chosen-process span{width:76px;font-size:11px}.chosen-process i{font-size:16px}.chosen-list h3{font-size:19px}.chosen-number,.chosen-list article:nth-child(even) .chosen-number{top:28px;left:0;right:auto}}
@media(max-width:340px){.cta{display:grid;grid-template-columns:minmax(0,1fr) auto;padding:13px 48px 13px 65px;font-size:11px}.cta::before{left:12px;width:38px;height:38px}.cta small{grid-column:1/-1}.cta b{grid-column:2;grid-row:2}.hero-copy .cta{width:100%}}
.hero{background:#FFFFFF}
.hero>img{position:absolute;inset:0 0 0 auto;width:56%;height:100%;object-fit:cover;object-position:center 42%}
.hero .veil{display:none}
.hero-copy,.hero-copy.reveal,.hero-copy.reveal.visible{left:5vw;top:50%;width:44%;max-width:590px;padding:24px 28px;background:transparent;border-left:2px solid #2F5A85;box-shadow:none;backdrop-filter:none;transform:translateY(-50%)}
.hero .kicker{display:inline-block;margin:0 0 12px;padding:8px 13px;background:#2F5A85;color:#fff;font:500 13px "Shippori Mincho",serif;letter-spacing:.08em;text-shadow:none}
.hero h1{margin-top:8px}
@media(min-width:801px) and (min-height:761px){
  .hero-copy,.hero-copy.reveal,.hero-copy.reveal.visible{width:45%;max-width:680px;padding:30px 34px}
  .hero .kicker{font-size:15px;padding:10px 16px;margin-bottom:16px}
  .hero h1{font-size:clamp(30px,2.15vw,41px);line-height:1.55;margin:12px 0 28px}
  .hero h1 small{font-size:.52em;margin-bottom:20px}
  .hero h1 em{font-size:1.82em;line-height:1.36}
  .hero .badges{gap:14px;margin-top:28px}
  .hero .badges span{width:112px;height:112px;font-size:12px;line-height:1.75}
}
@media(min-width:801px) and (max-height:760px){.hero-copy,.hero-copy.reveal,.hero-copy.reveal.visible{top:50%;padding:14px 22px;width:44%}.hero .kicker{font-size:11px;margin-bottom:5px}.hero h1{font-size:22px;margin:5px 0}.hero .badges{margin:8px 0}.hero .cta{margin-top:6px}}
@media(max-width:800px){.hero{height:auto;min-height:0;padding-top:330px;background:#FFFFFF}.hero>img{inset:0 0 auto;width:100%;height:330px;object-position:center 40%}.hero-copy,.hero-copy.reveal,.hero-copy.reveal.visible{position:relative;left:auto;top:auto;width:100%;max-width:none;padding:30px 7vw 88px;background:#FFFFFF;border-left:0;transform:none}.hero .kicker{font-size:12px}.hero .badges{justify-content:center}}
@media(max-width:800px){.hero-copy,.hero-copy.reveal,.hero-copy.reveal.visible{padding-left:3vw;padding-right:3vw;padding-bottom:18px}.hero .badges{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;width:100%;margin-bottom:0}.hero .badges span{width:100%;height:auto;aspect-ratio:1;border-radius:50%;font-size:10px}.method-intro{padding-top:42px}}
@media(max-width:800px){.method-grid{gap:0}.wide-copy{margin-top:24px}}
@media(max-width:800px){.method-step{position:relative}.method-step-visual{margin:18px 0 18px}.method-step-visual img{height:230px}.method-grid .method-step:nth-child(2){margin-bottom:38px}.method-grid .method-step:nth-child(2)::after{content:"↓  NEXT";position:absolute;left:50%;bottom:-29px;transform:translateX(-50%);color:#2F5A85;font:500 9px "Cormorant Garamond",serif;letter-spacing:.16em;background:#F4F8FB;padding:0 12px}}
@media(max-width:800px){.reason{padding-top:58px}.reason-mobile-head{display:block}.reason-mobile-head h2{font:400 23px/1.65 "Shippori Mincho",serif;margin:12px 0 22px}.reason-copy>.en,.reason-copy>h2{display:none}.reason-photo{margin-top:0}}

/* 料金プラン：3プラン表示 */
.monthly{grid-template-columns:repeat(3,1fr)}
.monthly article{display:flex;flex-direction:column;justify-content:center;gap:3px}
.monthly .per{font-family:"Zen Kaku Gothic New","Zen Kaku Gothic New","Noto Sans JP",sans-serif;font-size:11px;letter-spacing:.04em;opacity:.82}
@media(max-width:800px){.monthly{grid-template-columns:1fr}}

/* FV：SP/PCで画像を出し分ける（picture は .hero>img と同じ配置を引き継ぐ） */
.hero>picture{position:absolute;inset:0 0 0 auto;width:56%;height:100%;display:block}
.hero>picture>img{width:100%;height:100%;object-fit:cover;object-position:center 42%}
@media(max-width:800px){
  .hero>picture{inset:0 0 auto;width:100%;height:330px}
  .hero>picture>img{object-position:center 40%}
}

/* ============================================================
   LP(ver01) デザイントーン＆マナー
   ブルー基調＋くすみローズのアクセント／明朝見出し
   ============================================================ */

/* セクション見出し：EN ラベル → 明朝の見出し → 40pxの細いライン */
.section-head .en{font-family:"Cormorant Garamond",serif;font-size:14px;letter-spacing:.4em;text-indent:.4em;text-transform:uppercase;color:#2F5A85}
.section-head h2{font-family:"Shippori Mincho",serif;font-weight:600;color:#1B3A5C;letter-spacing:.08em}
.section-head::after{content:"";display:block;width:40px;height:1px;margin:20px auto 0;background:#7FA6C8}
.feature .section-head h2{color:#fff}
.feature .section-head .en{color:#C6D9E8}
.feature .section-head::after{background:rgba(255,255,255,.45)}

/* 見出しまわりの色味を統一 */
.method-grid h2,.reason h2,.message h2,.access-grid h3,summary,.concerns h3{color:#1B3A5C}
.method-step>b,.flow li>b{color:#7FA6C8}
.kicker,.en,.section-no{letter-spacing:.22em}

/* CTA：ローズのピル（LPの campaign-btn に合わせる） */
.cta{background:linear-gradient(135deg,#D28793 0%,#B85F72 52%,#9E4A60 100%);color:#fff;border:1px solid rgba(255,255,255,.32);border-radius:999px;box-shadow:0 6px 20px rgba(158,74,96,.4);font-family:"Shippori Mincho",serif;font-weight:700;letter-spacing:.06em}
.cta small{font-weight:400;letter-spacing:.08em;opacity:.92}

.mini-cta{border-radius:999px;background:linear-gradient(135deg,#D28793,#9E4A60);color:#fff;letter-spacing:.08em}

/* 面：角丸とやわらかい青い影 */
.campaign{border-radius:16px;border-color:#C48D95;box-shadow:0 8px 36px rgba(27,58,92,.10)}
.campaign-grid article{border-radius:4px;border-color:#DCE6EE}
.monthly article{border-radius:16px;box-shadow:0 2px 20px rgba(27,58,92,.07)}
.concerns,.belongings{border-radius:16px}
.concerns span,.belongings span{border-radius:999px}
.credentials span,.badges span{border-color:#C6D9E8}
.feature-grid{border-color:rgba(255,255,255,.22)}
.feature-grid article{border-right-color:rgba(255,255,255,.22)}
th,td{border-color:#DCE6EE}
tbody th{background:#F4F8FB}
.faq details{border-color:#DCE6EE}
.access-grid dl,.access-grid dt,.access-grid dd,.name{border-color:#DCE6EE}

/* SPでは .cta.dark を2行に（小見出し／本文＋矢印） */
@media(max-width:800px){
  .cta.dark{
    flex-wrap:wrap;justify-content:center;align-items:center;
    gap:0 10px;text-align:center;line-height:1.55;padding:14px 18px;
  }
  .cta.dark small{width:100%;margin-bottom:3px}
}

/* SPのハンバーガーメニュー：画面全体を覆うオーバーレイ */
@media(max-width:800px){
  header nav.open{
    position:fixed;inset:0;height:100vh;height:100dvh;
    display:flex;flex-direction:column;justify-content:center;align-items:center;
    gap:26px;padding:88px 8vw 40px;
    background:#F4F8FB;overflow-y:auto;
    font-family:"Shippori Mincho",serif;font-size:19px;letter-spacing:.12em;color:#1B3A5C;
  }
  header nav.open a{padding:6px 0;position:relative}
  header nav.open a::after{
    content:"";position:absolute;left:50%;bottom:0;transform:translateX(-50%);
    width:22px;height:1px;background:#7FA6C8;
  }
  /* オーバーレイの上にロゴと閉じるボタンを残す */
  header .logo,header .menu{position:relative;z-index:2}
  header .menu.open span{background:#1B3A5C}
}

/* ============================================================
   FV → METHOD の切り替わりを明確にする
   ・FVは白地、METHODは淡青地で面を切り替え
   ・境界にヘアライン
   ・PCはFV下部に SCROLL インジケーター（線が伸縮）
   ============================================================ */
.method-intro{border-top:1px solid #DCE6EE;position:relative}
.method-intro::before{
  content:"";position:absolute;left:50%;top:-1px;transform:translateX(-50%);
  width:72px;height:3px;background:#7FA6C8;
}

@media(min-width:801px){
  .hero::after{
    content:"SCROLL";
    position:absolute;right:5%;bottom:0;
    padding-bottom:56px;z-index:3;
    font:500 9px/1 "Cormorant Garamond",serif;letter-spacing:.34em;text-indent:.34em;
    color:#fff;text-shadow:0 1px 6px rgba(18,40,63,.55);pointer-events:none;
  }
  .hero::before{
    content:"";position:absolute;right:calc(5% + 21px);bottom:0;z-index:3;
    width:1px;height:42px;background:rgba(255,255,255,.9);
    box-shadow:0 0 6px rgba(18,40,63,.4);pointer-events:none;
    animation:everScrollLine 2.4s cubic-bezier(.65,0,.35,1) infinite;
  }
}
@keyframes everScrollLine{
  0%   {transform:scaleY(0);transform-origin:top}
  45%  {transform:scaleY(1);transform-origin:top}
  55%  {transform:scaleY(1);transform-origin:bottom}
  100% {transform:scaleY(0);transform-origin:bottom}
}
@media(prefers-reduced-motion:reduce){.hero::before{animation:none}}

/* ============================================================
   白基調＋余白（お客様の声ページのトーンをTOPへ）
   ・面の色数を減らし、地はほぼ白。淡青はパネルにだけ使う
   ・セクションの上下余白と見出し下の余白を広げる
   ============================================================ */
.method-intro,.reason,.message,.comparison,.price,.access,.faq,.voice-sec{background:#fff}

/* 濃紺のベタ面をやめて白地に（区切りはヘアラインで） */
.feature{background:#fff;color:#253544;border-block:1px solid #DCE6EE}
.feature .section-head h2{color:#1B3A5C}
.feature .section-head .en{color:#2F5A85}
.feature .section-head::after{background:#7FA6C8}
.feature-grid{border-block-color:#DCE6EE}
.feature-grid article{border-right-color:#DCE6EE}
.feature-grid b{color:#2F5A85}
.feature-grid h3{color:#1B3A5C}
.feature-grid p{color:#556878}

/* 余白 */
.method-intro,.feature,.comparison,.price,.flow,.access,.faq,.voice-sec{padding-top:148px;padding-bottom:148px}
.reason,.message{padding-top:148px;padding-bottom:148px}
.section-head{margin-bottom:74px}
.wide-copy{margin-top:80px}
.method-grid{margin-top:70px}

/* 写真＋小さなキャプション */
figure.shot{margin:68px 0 0}
figure.shot figcaption{
  margin-top:11px;font-size:11px;letter-spacing:.06em;color:#556878;
}
figure.shot .wide-photo{margin-top:0}

/* お客様の声セクション */
.voice-sec .voice-card{
  display:grid;grid-template-columns:340px 1fr;gap:42px;align-items:stretch;
  max-width:1000px;margin:0 auto;padding:0;
  border:1px solid #DCE6EE;border-radius:16px;background:#fff;overflow:hidden;
  transition:box-shadow .35s ease,transform .35s ease;
}
.voice-sec .voice-card:hover{box-shadow:0 16px 40px -26px rgba(27,58,92,.55);transform:translateY(-2px)}
.voice-sec .voice-card img{width:100%;height:100%;min-height:290px;object-fit:cover}
.voice-sec .voice-card>div{padding:38px 44px 38px 0;align-self:center}
.voice-sec .voice-card .en{font:500 11px "Cormorant Garamond",serif;letter-spacing:.28em;color:#C48D95;margin:0}
.voice-sec .voice-card h3{font:400 22px/1.7 "Shippori Mincho",serif;color:#1B3A5C;margin:10px 0 14px}
.voice-sec .voice-card p{font-size:12.5px;color:#556878;margin:0 0 18px}
.voice-sec .voice-card .more{font-size:11px;letter-spacing:.12em;color:#2F5A85}
.voice-more{
  display:block;width:max-content;margin:44px auto 0;
  font-size:11px;letter-spacing:.16em;color:#2F5A85;
  border-bottom:1px solid #C6D9E8;padding-bottom:6px;
}

@media(max-width:800px){
  .method-intro,.feature,.comparison,.price,.flow,.access,.faq,.voice-sec,
  .reason,.message{padding-top:96px;padding-bottom:96px}
  .section-head{margin-bottom:46px}
  .voice-sec .voice-card{grid-template-columns:1fr;gap:0}
  .voice-sec .voice-card img{height:220px;min-height:0}
  .voice-sec .voice-card>div{padding:26px 22px 30px}
  figure.shot{margin-top:44px}
}

/* ============================================================
   CTA・強調はローズ（ピンク）で統一 ＋ キラッと光沢を走らせる
   ============================================================ */
.cta,.cta.dark,.mini-cta{
  position:relative;overflow:hidden;
  background:linear-gradient(135deg,#D28793 0%,#B85F72 52%,#9E4A60 100%);
  color:#fff;border:1px solid rgba(255,255,255,.32);
  box-shadow:0 6px 20px rgba(158,74,96,.4);
}
.sticky-cta{
  overflow:hidden;
  background:linear-gradient(135deg,#D28793 0%,#B85F72 52%,#9E4A60 100%)!important;
  color:#fff;border:1px solid rgba(255,255,255,.32);
}

/* 光沢（LPの campaign-btn と同じ動き） */
.cta::after,.mini-cta::after,.sticky-cta::after{
  content:"";position:absolute;top:-60%;left:-70%;
  width:36%;height:220%;
  background:linear-gradient(100deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.55) 50%,rgba(255,255,255,0) 100%);
  transform:rotate(16deg);pointer-events:none;
  animation:everCtaShine 4.2s ease-in-out infinite;
}
@keyframes everCtaShine{
  0%,68%{left:-70%}
  100%{left:135%}
}
@media(prefers-reduced-motion:reduce){
  .cta::after,.mini-cta::after,.sticky-cta::after{animation:none;opacity:0}
}
.cta:hover,.mini-cta:hover,.sticky-cta:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 28px rgba(174,117,127,.45);
}
.cta>*,.mini-cta>*{position:relative;z-index:1}

/* 目立たせたい要素もローズへ */
.hero .kicker{background:linear-gradient(135deg,#B85F72,#9E4A60)}
.chosen-number{background:linear-gradient(135deg,#B85F72,#9E4A60)}
.ever{background:#F6EDEE!important}
.comparison tbody th{background:#fff}
.campaign>p b{color:#9E4A60}
.campaign-deadline{color:#9E4A60}
.method-step>b{color:#C48D95}
.voice-sec .voice-card .more{color:#9E4A60}
.voice-more{color:#9E4A60;border-bottom-color:#E3C6CB}

/* 濃い面のセクション見出しは白抜きにする（白基調化の際の抜け漏れ修正） */
.flow .section-head h2{color:#fff}
.flow .section-head .en{color:#C6D9E8}
.flow .section-head::after{background:rgba(255,255,255,.45)}
.flow .section-head h2,.flow li h3{color:#fff}
/* 「体験時に必要なもの」は白いパネルなので文字は濃紺のまま */
.belongings,.belongings h3,.belongings p,.belongings span{color:#1B3A5C}

/* ---------- フッター：メニューと規約系を分ける ---------- */
footer .fnav-main{display:flex;flex-wrap:wrap;gap:10px 20px;align-content:start}
footer .fnav-legal{
  grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px 18px;
  margin-top:16px;padding-top:18px;
  border-top:1px solid rgba(255,255,255,.16);
  font-size:9.5px;opacity:.66;
}
footer>small{border-top:0;padding-top:10px}

/* SPの追従CTA：しっかり浮かせる */
@media(max-width:800px){
  .sticky-cta{
    position:fixed;z-index:40;
    left:4vw;width:92vw;
    bottom:calc(14px + env(safe-area-inset-bottom,0px));
    padding:15px 18px;border-radius:999px;
    font-family:"Shippori Mincho",serif;font-weight:700;letter-spacing:.06em;
    box-shadow:0 12px 30px rgba(120,40,60,.34),0 2px 8px rgba(0,0,0,.12);
  }
  /* 追従CTAに隠れないよう、ページ末尾に余白を確保 */
  footer{padding-bottom:112px}
}

/* ヘッダーの文字サイズを実用サイズに */
header nav{font-size:13px;gap:26px;letter-spacing:.05em}
header nav a{white-space:nowrap}
.mini-cta{font-size:12.5px;padding:14px 24px}
@media(max-width:1100px){header nav{font-size:12px;gap:18px}.mini-cta{font-size:11.5px;padding:12px 18px}}

/* ヘッダーのロゴを下層ページと同じサイズ感に */
header .logo{width:auto;height:34px}
header .logo img{width:auto;height:34px}
@media(max-width:800px){header .logo,header .logo img{width:auto;height:30px}}

/* 体験時に必要なもの：中央揃え */
.belongings{text-align:center;border-radius:16px}
.belongings h3{margin-bottom:18px}
.belongings>div{justify-content:center}
.belongings span{text-align:center}
.belongings p{margin-top:16px}

/* SPでの横はみ出し対策（お客様の声セクション） */
.voice-sec{padding-left:9vw;padding-right:9vw}
/* グリッド項目が min-content 幅で押し広げるのを防ぐ */
.voice-sec .voice-card>*{min-width:0}
.voice-sec .voice-card h3,.voice-sec .voice-card p{overflow-wrap:anywhere}
@media(max-width:800px){
  .voice-sec{padding-left:7vw;padding-right:7vw}
  .voice-sec .voice-card h3{font-size:18px;line-height:1.7}
  .voice-sec .voice-card h3 br{display:none}
}
/* 念のためページ全体の横スクロールを止める */
html,body{max-width:100%;overflow-x:hidden}

/* ============================================================
   狭い画面での文字切れ対策
   word-break:keep-all / white-space:nowrap は文節や行が折り返せず、
   画面幅を超えて右端で切れる。狭い幅では折り返しを許可する。
   （禁則処理は line-break:strict で維持）
   ============================================================ */
@media(max-width:430px){
  h1,h2,h3,h4,summary,p,li,dt,dd,span,td,th,figcaption{
    word-break:normal;
    line-break:strict;
    overflow-wrap:anywhere;
  }
  /* 見出しの強制 nowrap を解除 */
  .heading-line,
  .chosen-list h3,
  .message-copy h2,
  .reason-copy h2,
  .reason-mobile-head h2,
  h1 span,h2 span{white-space:normal}
  .hero h1 em{white-space:normal}
}
