/* The approved PC DOM is retained. These final overrides reproduce the SP comps without a second DOM. */
@media (max-width:768px){
  .page{width:100%;max-width:none;overflow-x:hidden;overflow-x:clip}
  /* 背景画像を外したあとに body のグレーが透けないよう、ピンクになじむ明るいアイボリーを地色にする。 */
  .page[data-page="main"]{background:#fffdf9!important}
  .page[data-page] .site-header{position:sticky;top:0;z-index:30;height:72px;background:rgba(255,255,255,.68);
      -webkit-backdrop-filter:blur(22px) saturate(1.6);backdrop-filter:blur(22px) saturate(1.6)}
  @supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){
    .page[data-page] .site-header{background:rgba(255,255,255,.95)}
  }
  /* 均等割りだと電話アイコンが中央に浮くので、ロゴだけ左に張り付かせて電話＋ハンバーガーを右へ寄せる。 */
  .page[data-page] .site-header__inner{width:100%;height:72px;padding:0 16px;gap:2px;justify-content:flex-start}
  .page[data-page] .brand{margin-right:auto}
  .page[data-page] .tel-ico{margin-right:0}
  .page[data-page] .brand{gap:0}
  .page[data-page] .brand-mark{width:44px;height:44px;transform:translateY(-2px)}
  .page[data-page] .brand-word{width:150px;height:48px;padding:0;object-fit:cover;object-position:center 54%}
  .page[data-page] .nav{display:none}
  .page[data-page] .sp-menu{display:flex;width:44px;height:44px}

  .page[data-page] :where(.container,.article-top,.article-body-wrap,.site-footer__inner){width:100%;max-width:none;padding-inline:24px}
  .page[data-page] .section{width:100%;max-width:none;margin:0;padding:64px 24px}
  .page[data-page] .section[data-tone]{padding:64px 24px}
  .page[data-page] .section[data-tone]::before{display:none}
  .page[data-page] .section[data-tone="tint"]{background:rgba(104,124,97,.07)}
  .page[data-page] .section[data-tone="tint"][data-tint="right"]{background:rgba(232,150,170,.055)}
  .page[data-page] .section[data-tone="worry"]{background:rgba(104,124,97,.07)}
  /* 「こんなお悩みの方へ」の緑を、上の写真ストリップの縦半分まで重ねる。 */
  .page[data-page="main"] .section[data-tone="worry"]{background:transparent;position:relative;z-index:0;margin-top:-118px;padding-top:calc(64px + 118px)}
  .page[data-page="main"] .section[data-tone="worry"]::before{content:"";display:block;position:absolute;z-index:-1;
      inset:0;left:0;right:0;width:auto;height:auto;border-radius:0;background:rgba(104,124,97,.07)}
  .page[data-page] .section[data-tint="full"]{background:rgba(232,150,170,.055)}
  .page[data-page] .sec-head{margin-bottom:32px;text-align:center}
  .page[data-page] .section .sec-title{font-size:30px;line-height:1;letter-spacing:.01em}
  .page[data-page] .section .sec-sub{margin-top:-2px;padding-left:0;font-size:18px;font-weight:700;letter-spacing:.04em;line-height:1.35;text-shadow:none}
  .page[data-page] .sec-sub__num{font-size:32px}

  .page[data-page] .page-hero{height:320px;min-height:0;padding:0;overflow:hidden}
  .page[data-page] .page-hero__inner{width:auto;min-height:0;margin:0;padding:36px 24px}
  .page[data-page] .page-hero__inner .sec-head{margin-bottom:0;text-align:left}
  .page[data-page] .page-hero .sec-title{font-size:46px}
  .page[data-page] .page-hero .sec-sub{display:block;margin-top:-8px;font-size:17px;font-weight:700;letter-spacing:.08em}
  .page[data-page] .page-hero__lead{max-width:none;margin-top:18px;font-size:16px;line-height:1.9}
  .page[data-page="kaiyaku"] .page-hero__lead .phrase-nowrap{white-space:nowrap}
  /* SPでは見出しに重なって読みづらいため、下層ヘッダーのパンダは出さない。 */
  .page[data-page] .page-hero__panda{display:none}
  .page:is([data-page="fudosan-soudan"],[data-page="souzoku"],[data-page="chintai-kanri"]) .page-hero__panda{width:156px}
  /* SPも同様に身長で揃える（基準 panda-phone 104px）。 */
  .page:is([data-page="company"],[data-page="column-list"],[data-page="column-article"]) .page-hero__panda{width:163px}
  .page[data-page="kaiyaku"] .page-hero__panda{width:141px}

  .page[data-page] .worry-list{padding:22px 20px;border-radius:18px;background:rgba(255,255,255,.72)}
  .page[data-page] .worry{gap:12px;padding:14px 0;border-top:0;border-bottom:1px solid var(--line-soft);align-items:flex-start;font-size:15px;line-height:1.8}
  .page[data-page] .worry:last-child,.page[data-page] .worry:last-of-type{border-bottom:0}
  .page[data-page] .worry__mark{width:26px;height:26px;margin-top:2px;border:1.6px solid var(--green);color:var(--green)}
  .page[data-page] .worry__mark svg{width:15px;height:15px;stroke-width:2.4}
  .page[data-page] .worry-note{margin-top:14px;font-size:13px;line-height:1.9}
  .page[data-page] .worry-note.worry-note--framed{--worry-note-radius:16px;--worry-note-gold-inset:5px;margin-top:20px;padding:24px 20px;font-size:16px;line-height:1.75;letter-spacing:.03em}
  .page[data-page] .worry-foot{margin-top:24px;align-items:center}
  .page[data-page="chintai-kanri"] .worry-foot--owner{width:100%;max-width:none}
  .page[data-page] .worry-foot .panda{position:relative;width:76px;margin-right:14px}
  .page[data-page] .worry-line{display:flex;width:100%;min-height:54px;margin-top:18px}
  .page[data-page] .bubble{padding:18px 20px;border-radius:8px}
  .page[data-page] .bubble::before{left:-19px;width:19px;height:13px}
  .page[data-page] .bubble p{font-size:15px;line-height:1.8;letter-spacing:0}
  .page[data-page="chintai-kanri"] .worry-foot--owner .bubble p{font-size:16px;line-height:1.75}
  .page[data-page] .intro-lead{max-width:none;margin-bottom:32px;font-size:16px;line-height:2}

  .page[data-page] :where(.service-grid,.flow-grid,.voice-grid,.column-grid,.taio-list,.footer-grid,.profile-grid,.letter,.community-item,.info-row,.contact-card,.cta-actions,.reassure){display:block;width:100%;max-width:none}
  .page[data-page] .service-grid{display:block;width:100%;max-width:none}
  .page[data-page] .service-grid[data-columns="2"]{display:block}
  .page[data-page] .service-card{display:flex;padding:26px 0;border-top:1px solid var(--line);gap:6px}
  .page[data-page] .service-card:last-of-type{border-bottom:1px solid var(--line)}
  .page[data-page] .service-card__head{display:flex;align-items:center;gap:16px}
  .page[data-page] .service-ico-wrap{width:64px;height:64px}
  .page[data-page] .service-ico{width:32px;height:32px}
  .page[data-page] .service-card__illust{width:150px;margin-bottom:0}
  /* トップの3サービスは、見出しと本文を全幅で読ませ、下部はパンダを左・詳細リンクを右へ置く。 */
  .page[data-page="main"] .service-card{display:grid;grid-template-columns:minmax(0,1fr) 160px;
      grid-template-rows:auto auto auto auto;column-gap:8px;align-items:start}
  .page[data-page="main"] .service-card__illust{grid-column:1;grid-row:4;justify-self:start;align-self:end;
      width:160px;margin:-8px 0 -18px}
  .page[data-page="main"] .service-card__en{grid-column:1 / span 2;grid-row:1;align-self:end}
  .page[data-page="main"] .service-card__title{grid-column:1 / span 2;grid-row:2;align-self:start}
  .page[data-page="main"] .service-card__text{grid-column:1 / span 2;grid-row:3;margin-top:4px}
  .page[data-page] .service-card__en{font-size:19px;line-height:1.15}
  .page[data-page] .service-card__title{margin-top:4px;font-size:21px;line-height:1.5}
  .page[data-page="main"] .service-card__en{font-size:15px;letter-spacing:.02em}
  .page[data-page="main"] .service-card__title{margin:2px 0 0;font-size:24px;line-height:1.45}
  .page[data-page] .service-card__text{font-size:16px;line-height:1.85}
  .page[data-page] .service-card__list{margin-top:14px}
  .page[data-page] .service-card__list li{padding:9px 0;font-size:15px;line-height:1.7}
  /* SPでも各サービスの専用ページへ行けるようにする。 */
  .page[data-page="main"] .service-card__more{grid-column:2;grid-row:4;align-self:end;margin:14px 0 12px;
      display:inline-flex;justify-self:end;font-size:15px}

  .page[data-page] .taio-list li{padding:13px 0;white-space:normal;font-size:15px;line-height:1.8}
  .page[data-page] .taio-close{margin-top:24px;font-size:15px;line-height:1.9}
  .page[data-page] .taio-box{padding:24px 20px}
  .page[data-page] .partner-block{margin-top:48px;padding-top:32px}
  .page[data-page] .partner-block h3{margin-bottom:12px;font-size:18px}
  .page[data-page] .partner-block p{margin-bottom:18px;font-size:15px;line-height:1.9}
  /* 「こういう専門家がいます」の一覧。縦線は全項目に付け、太さを2pxにして間隔を広げる。 */
  .page[data-page] .partner-list{display:flex;flex-direction:column;row-gap:0}
  .page[data-page] .partner-list span{padding:14px 0 14px 16px;border-left:2px solid var(--line);font-size:14px;line-height:1.7}
  .page[data-page] .partner-list span:first-child{padding-left:16px;border-left:2px solid var(--line)}
  .page[data-page] .price-block h3{margin-bottom:14px;font-size:18px}
  .page[data-page] .price-block p{font-size:15px;line-height:2}

  .page[data-page] .flow-step{padding:22px 0;border-top:1px solid var(--line)}
  .page[data-page] .flow-step:last-of-type{border-bottom:1px solid var(--line)}
  .page[data-page] .flow-ico-wrap{width:66px;height:66px}
  .page[data-page] .flow-ico{width:36px;height:36px}
  .page[data-page] .flow-num{font-size:22px}
  .page[data-page] .flow-step h3{margin:14px 0 8px;font-size:18px}
  .page[data-page] .flow-step p{font-size:16px;line-height:1.85}

  .page[data-page] .voice-card{padding:38px 24px 22px;border-radius:16px}
  .page[data-page] .voice-card + .voice-card{margin-top:18px}
  .page[data-page] .voice-card::before{left:18px;top:12px;font-size:48px}
  .page[data-page] .voice-card p{font-size:15px;line-height:2}
  .page[data-page] .voice-card footer{margin-top:10px;font-size:12px}
  .page[data-page] .faq-item{padding:20px 0}
  .page[data-page] .faq-q,.page[data-page] .faq-a{display:grid;grid-template-columns:16px minmax(0,1fr);gap:12px}
  .page[data-page] .faq-q h3{font-size:16px;line-height:1.7;letter-spacing:0}
  .page[data-page] .faq-a{margin-top:10px}
  .page[data-page] .faq-a p{font-size:15px;line-height:1.9;letter-spacing:0}
  .page[data-page] .faq-q .mark,.page[data-page] .faq-a .mark{font-size:22px}
  .page[data-page] .faq-panda-row{margin-top:24px}
  .page[data-page] .faq-panda-row .panda{position:relative;width:72px;margin-left:14px}
  .page[data-page] .faq-panda-row__msg{padding:16px 20px;border-radius:8px;font-size:15px;line-height:1.8}

  .page[data-page] .room-band,.page[data-page] .room-band{width:100%;height:250px;margin:0;border-radius:28px 28px 0 0;background-position:center 22%}
  /* 診断バナーの直後に写真が来る3ページは、バナーと写真をくっつけない。 */
  .page[data-page="souzoku"] .room-band{margin-top:64px}
  .page[data-page] .room-band + .section{width:100%;margin:0;padding:64px 24px;border-radius:0;background:transparent}
  /* 理由は真っ白、サービスは暖かなアイボリー＋淡いピンク／ベージュのぼかしにする。 */
  .page[data-page="main"] [data-section="06-section-2"]{padding-bottom:64px;background:transparent}
  .page[data-page="main"] [data-section="06-section-2"]::before{width:100vw;background:#fff}
  .page[data-page="main"] .room-band + [data-section="08-section-3"]{background-color:#fffdf9;
      background-image:
        radial-gradient(circle at 100% 14%,rgba(244,205,214,.28) 0,rgba(251,235,239,.12) 16%,rgba(255,253,249,0) 36%),
        radial-gradient(circle at 0 78%,rgba(226,218,205,.24) 0,rgba(244,239,232,.10) 18%,rgba(255,253,249,0) 40%),
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.025'/%3E%3C/svg%3E")}

  .page[data-page] .cta-section{width:100%;margin:0;padding:96px 16px 0}
  .page[data-page] .cta-panda{right:40px;top:24px;bottom:auto;width:110px;height:96px;padding-top:0}
  .page[data-page] .cta-card{--cta-radius:28px;--cta-gold-inset:6px;width:100%;max-width:none;padding:34px 24px 30px}
  .page[data-page] .cta-card__label{gap:10px;margin-bottom:18px;font-size:38px;letter-spacing:-.05em}
  .page[data-page] .cta-card__label span{font-size:12px}
  .page[data-page] .cta-card__title{font-size:21px;line-height:1.7}
  .page[data-page] .cta-card__text{max-width:none;margin-top:16px;font-size:15px;line-height:1.95}
  .page[data-page] .cta-actions{display:flex;flex-direction:column;gap:12px;margin-top:24px;padding-top:22px;text-align:center}
  .page[data-page] .cta-actions :where(a,.btn){width:100%;max-width:none}
  .page[data-page] .cta-actions .hero-btns{width:100%;max-width:none}
  .page[data-page] .cta-actions .hero-tel__label b{font-weight:inherit}
  .page[data-page] .cta-actions .hero-tel__num svg{display:none}
  .page[data-page] .hero-tel{align-items:center;text-align:center}
  .page[data-page] .hero-tel__label{font-size:12px}
  .page[data-page] .hero-tel__num{font-size:29px;line-height:1.1}
  .page[data-page] .hero-tel__num svg{width:30px;height:30px}
  .page[data-page] .hero-tel__note{font-size:12px}

  .page[data-page] .site-footer{margin-top:88px;padding:48px 24px 22px}
  .page[data-page] .site-footer__inner{padding:0}
  .page[data-page] .footer-brand__logo{gap:12px;margin-bottom:24px}
  .page[data-page] .footer-brand__logo img.mark{width:52px;height:52px}
  .page[data-page] .footer-brand__logo img.word{width:180px;height:56px}
  .page[data-page] .footer-column{margin-bottom:30px}
  .page[data-page] .footer-column__title{margin-bottom:14px;font-size:12px}
  /* 英字見出し前の余白と44pxのタップ領域は維持し、リンク間の追加余白だけを外す。 */
  .page[data-page] .footer-list{gap:0}
  .page[data-page] .footer-list li,.page[data-page] .footer-list li a{font-size:14px;line-height:1.8}
  .page[data-page] .footer-bottom{margin-top:22px;padding-top:18px;flex-direction:column;gap:8px;text-align:center;font-size:12px}
  .page[data-page] .footer-sns{width:44px;height:44px}
  .page[data-page] .float-diag-wrap{right:0;top:1180px}
  .page[data-page] .float-diag{right:auto;bottom:auto;gap:10px;padding:10px 16px}
  .page[data-page] .float-diag__peek{right:34px;width:64px;padding-top:10px}
  .page[data-page] .float-diag b{font-size:12px;line-height:1.5}
  .page[data-page] .float-diag span{gap:4px;font-size:12px;line-height:1.4}
  .page[data-page] .float-diag svg{width:11px;height:11px}

  .page[data-page] .diag-cta-wrap{width:calc(100% - 48px);margin:48px auto 0}
  .page[data-page] .diag-cta{display:flex;flex-direction:column;gap:14px;padding:24px 20px;text-align:center}
  /* 耳だけ出ていて中途半端なので、中央で・一回り大きく・上にしっかりはみ出させる。 */
  .page[data-page] .diag-cta__panda{width:132px;margin:-90px auto 0;align-self:center}
  .page[data-page] .diag-cta__desc{text-align:left}
  .page[data-page] .diag-cta__btn{width:100%;min-height:54px;justify-content:center;white-space:normal}

  .page[data-page] .column-grid{display:block}
  .page[data-page] .column-card{display:grid;grid-template-columns:110px minmax(0,1fr);gap:0 14px;padding:16px 0;border-bottom:1px solid var(--line-soft)}
  .page[data-page] .column-card__thumb{grid-row:1 / span 4;width:110px;height:auto;aspect-ratio:16/9;border-radius:8px}
  .page[data-page] .column-card__thumb img{width:100%;height:100%}
  .page[data-page] .column-card__cat{margin:0 0 6px;justify-self:start;width:fit-content;font-size:11px;padding:2px 10px 3px}
  .page[data-page] .column-card h3{font-size:15px;line-height:1.7}
  .page[data-page] .column-card time{margin-top:4px;font-size:13px}
  .page[data-page] .column-foot{margin-top:24px;padding-top:16px}
  /* 最終カードの下線と column-foot の上線が二重になるため、カード側を落とす。 */
  .page[data-page] .column-card:last-child{border-bottom:0}
  .page[data-page] .column-panda{width:96px}

  .page[data-page] .form-grid,.page[data-page] .policy{width:100%;max-width:none}
  .page[data-page] .info-row{padding:20px 0}
  .page[data-page] .info-row__key{margin-bottom:8px}
  .page[data-page] .profile-photo{height:auto;aspect-ratio:4/5;margin-bottom:28px}
  .page[data-page] .letter__photo{margin-bottom:28px}
  .page[data-page] .letter__heading{margin-top:0}
  .page[data-page] .community-item__photo{min-height:0;height:auto;aspect-ratio:4/3}
  /* 1カラムのロゴはPC左列と同じ上限で中央。2カラムではこの指定は当たらない。 */
  .page[data-page] .community-item__photo[data-logo]{aspect-ratio:auto;max-width:300px;margin-inline:auto}
  .page[data-page] .community-item__body{padding:24px 20px}
  /* SPは写真が全幅になるため、影はごく浅く出す。 */
  .page[data-page="main"] .reassure::before{left:-10px;width:calc(100% + 10px);height:100%}
  .page[data-page] .contact-card{padding:26px 22px}
  /* 電話の下にボタン・QRが縦積みになるときだけ、上余白を空ける。 */
  .page[data-page] .contact-card .hero-btns{margin-top:24px}
  .page[data-page] .contact-qr{margin-top:24px}
  .page[data-page] .article-top{margin-top:0;padding-top:112px}
  .page[data-page] .article-body-wrap{margin-top:48px;padding-bottom:80px}
  .page[data-page] .article-eyecatch img{height:100%;aspect-ratio:16/9}
  .page[data-page] .article-title{font-size:27px;line-height:1.65}
  .page[data-page] .article-body :where(img,iframe,video){max-width:100%;height:auto}
  .page[data-page] :where(table,.article-body table){display:block;max-width:100%;overflow-x:auto;white-space:normal}
  .page[data-page] :where(input,select,textarea){max-width:100%}
  .page[data-page] .u-nowrap{white-space:normal}
}

@media (max-width:768px){
  /* スマホのMVは、ざらつきのある淡いピンクを敷いて写真とキャッチを引き立てる。 */
  /* キャッチを引き立てるための背景。上はピンク、写真のパンダのあたり（約42%）で白になる。 */
  .page[data-page="main"] .hero{position:relative;z-index:0;padding:56px 20px 44px;
      background:linear-gradient(180deg,#fcf0f3 0%,#fdf4f6 18%,#fefafb 32%,#ffffff 42%,#ffffff 100%)}
  .page[data-page="main"] .hero::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.5;
      background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E");
      -webkit-mask-image:linear-gradient(180deg,#000 0%,#000 18%,transparent 42%);
      mask-image:linear-gradient(180deg,#000 0%,#000 18%,transparent 42%)}
  /* fluid-layout の .container は幅を縮めて margin:auto するため、SPのMVでは打ち消す。
     これが左に24px余分に入っていた原因。 */
  .page[data-page="main"] .hero .container{width:100%;max-width:none;margin:0;padding:0}
  .page[data-page="main"] .hero__grid{display:block}
  .page[data-page="main"] .record{justify-content:flex-start;margin:0 0 45px;gap:5px}
  .page[data-page="main"] .record__badge{padding:0}
  /* 「もっと早く話しておけばよかった」を1行に収めるため、画面幅に追従させる（最大20px）。 */
  .page[data-page="main"] .hero h1{width:auto;font-size:clamp(16px,5.25vw,24px);font-weight:600;line-height:1.62;letter-spacing:0;text-shadow:none}
  /* 「そう言わせない、…相談窓口です。」はキャッチより一回り大きくして受け止めを強くする。 */
  .page[data-page="main"] .hero-h1-sub{margin-top:6px;padding-left:0;font-size:clamp(17px,6vw,26px);line-height:1.58}
  /* キャッチは鉤括弧の代わりに白帯で強調する。折り返しても帯が続くよう clone を使う。 */
  .page[data-page="main"] .hero h1 em{background:#fff;padding:.14em .3em;margin-left:-.3em;
      border-radius:3px;-webkit-box-decoration-break:clone;box-decoration-break:clone}
  .page[data-page="main"] .hero__label{margin-top:12px;padding-left:0;font-size:14px;line-height:1.8}
  .page[data-page="main"] .hero__photo{width:min(320px,100%);margin:6px auto 0;padding:0}
  .page[data-page="main"] .hero__panda{left:-34px;bottom:-8px;width:112px}
  /* PCと同じドア型（上だけ大きな角丸）にそろえる。 */
  .page[data-page="main"] .photo-frame{left:0;top:0;width:100%;height:340px;border-radius:160px 160px 12px 12px;clip-path:none}
  .page[data-page="main"] .photo-echo{width:100%;height:100%;border-radius:160px 160px 12px 12px;clip-path:none}
  /* 影のずれは半分に（PCは110px）。 */
  .page[data-page="main"] .photo-echo{transform:translateX(28px)!important;animation:none}
  /* スマホでは背景の肉球が見切れて意味をなさないため出さない。 */
  .page[data-page] .page{background-image:none}
  .page[data-page]{background-color:#fff6f8;background-image:none!important}
  .page[data-page="main"] .hero__entry{width:auto;margin-top:30px;display:block;font-size:16px;line-height:1.9}
  .page[data-page="main"] .entry-line{display:none}
  .page[data-page="main"] .hero__actions{--cta-radius:18px;--cta-gold-inset:6px;width:auto;margin-top:18px;padding:22px 20px;display:block}
  .page[data-page="main"] .hero-btns{margin-top:16px;padding-top:16px;display:flex;flex-direction:column;gap:10px}
  .page[data-page="main"] .hero-tel{gap:5px}
  .page[data-page="main"] .hero-tel__label{font-size:12px}
  .page[data-page="main"] .hero-tel__note{font-size:12px}
  /* 4つが雑多に並んで見えるため、薄い十字の罫線で1つのまとまりに見せる。 */
  .page[data-page="main"] .trust{width:auto;margin:34px 0 0;grid-template-columns:repeat(2,minmax(0,1fr));gap:0}
  .page[data-page="main"] .trust > span{gap:10px;padding:20px 6px;font-size:13px;line-height:1.6}
  .page[data-page="main"] .trust > span + span{border-left:0}
  .page[data-page="main"] .trust > span:nth-child(2n){border-left:1px solid rgba(40,34,77,0.10)}
  .page[data-page="main"] .trust > span:nth-child(n+3){border-top:1px solid rgba(40,34,77,0.10)}
  .page[data-page="main"] .trust__ico{width:64px;height:64px}
  .page[data-page="main"] .trust svg{width:32px;height:32px}
  /* 両サイドのフェード（もや）はSPだと写真が欠けて見えるため解除する。
     背景は白→#e6e7e3（下のWorryセクションの緑と同色）へ。写真の縦半分で緑になりきる。 */
  .page[data-page="main"] .mv-strip{width:100%;height:236px;margin:0;position:relative;z-index:1;
      -webkit-mask-image:none;mask-image:none;
      background:linear-gradient(180deg,#ffffff 0%,#f6f6f4 26%,#e6e7e3 50%,#e6e7e3 100%)}
  .page[data-page="main"] .mv-strip__track{gap:12px}
  /* 全体の高さは変えずに、見出しと本文の間を広げ、本文とイラストの間を詰める。 */
  .page[data-page="main"] .reason{display:flex;flex-direction:column;align-items:stretch;gap:0;padding:26px 0}
  .page[data-page="main"] .reason__num{margin-bottom:2px;font-size:34px}
  .page[data-page="main"] .reason h3{margin:0 0 22px;font-size:19px;line-height:1.6}
  .page[data-page="main"] .reason__illust{margin-top:-8px}
  .page[data-page="main"] .reason p{font-size:16px;line-height:1.9}
  .page[data-page="main"] .reason__illust{width:160px;height:160px;align-self:flex-end}
  /* 代表メッセージはピンクのパネルの中で完結させる。写真はMVと同じドア型。 */
  .page[data-page="main"] .reassure{margin-top:32px;padding:0 0 24px;isolation:isolate}
  .page[data-page="main"] .reassure::before{left:calc(50% - 130px);top:0;width:240px;height:290px;z-index:0;border-radius:120px 120px 12px 12px;
      background:rgba(216,111,134,0.20)}
  .page[data-page="main"] .reassure__eyebrow{margin:0 0 14px;font-size:14px;letter-spacing:0.14em;text-align:center}
  .page[data-page="main"] .reassure__photo{width:min(240px,100%);height:290px;margin:0 auto;
      border-radius:120px 120px 12px 12px}
  .page[data-page="main"] .reassure__content{margin:-34px 0 0;padding:52px 20px 26px;border-radius:18px;background:#fff;box-shadow:0 14px 34px rgba(40,34,77,.10)}
  .page[data-page="main"] .reassure__label{margin:0 0 14px;font-size:17px;line-height:1.6}
  .page[data-page="main"] .reassure__label::after{display:none}
  .page[data-page="main"] .reassure p{font-size:16px;line-height:1.95}
  .page[data-page="main"] .reassure__cap{margin-top:18px;font-size:14px}
}

@media (max-width:360px){
  /* 1行に入らない幅では「購入」で改行し、2行目の先頭に中黒を残さない。 */
  .page[data-page="main"] .service-title-join{display:none}
  .page[data-page="main"] .record{gap:4.5px}
  .page[data-page="main"] .record__badge{gap:1.8px}
  .page[data-page="main"] .record__badge::before,.page[data-page="main"] .record__badge::after{width:20px;height:54px}
  .page[data-page="main"] .record__inner{width:67.5px;gap:2.25px}
  .page[data-page="main"] .record__badge:nth-child(2) .record__inner{width:93.6px}
  .page[data-page="main"] .record__text{min-height:17.1px;padding:2.7px 9.9px;font-size:7.65px}
  .page[data-page="main"] .record__num{min-height:29.25px;gap:1.35px;font-size:10.35px}
  .page[data-page="main"] .record__badge:nth-child(2) .record__num{font-size:8.55px}
  .page[data-page="main"] .record__num b{font-size:28.8px}
  .page[data-page="main"] .record__ornament{width:65.7px;gap:3.6px}
  .page[data-page="main"] .record__badge:nth-child(2) .record__ornament{width:82.8px}
  .page[data-page="main"] .record__ornament b{font-size:4.95px}
}

@media (min-width:769px) and (max-width:1100px){
  .page[data-page] .footer-grid{grid-template-columns:repeat(3,minmax(104px,max-content));gap:clamp(40px,5.5vw,56px);justify-content:start}
  .page[data-page] .footer-brand{grid-column:1/-1}
}

@media (max-width:374px){
  .page[data-page] .section{padding-inline:20px}
  .page[data-page] .page-hero__inner{padding-inline:20px}
  .page[data-page="main"] .hero{padding-inline:16px}
  /* 374px以下も同じ追従にする（27px固定だと見出しが4行に折り返していた）。 */
  .page[data-page="main"] .hero h1,.page[data-page="main"] .hero-h1-sub{font-size:clamp(16px,5.25vw,24px)}
  .page[data-page] .cta-section{padding-inline:12px}
  .page[data-page] .site-footer{padding-inline:20px}
}

@media (max-width:420px){
  /* 長い英字装飾見出しを画面内へ収め、本文は固定改行による短い語尾の孤立を避ける。 */
  .page[data-page="chintai-kanri"] .page-hero .sec-title{font-size:clamp(30px,9.5vw,38px);letter-spacing:0}
  .page[data-page="chintai-kanri"] .page-hero__lead br{display:none}
}

@media (min-width:769px){
  .page[data-page="company"] [data-section="04-section-2"]{padding-top:171px}
  .page[data-page="company"] [data-section="05-section-3"]{padding-top:162px}
  .page[data-page="kaiyaku"] [data-section="03-section"]{padding-bottom:165px}
}

@media (min-width:1181px){
  /* 内容(約179px)＋上下余白が234pxを超えるため、固定ではなく下限にする。 */
  .page[data-page="souzoku"] .diag-cta{box-sizing:border-box;min-height:234px}
  /* CF7の実出力はカンプより縦に伸びるため、カンプ高さは下限として保ち、超えた分は次セクションに重ねず伸ばす。 */
  .page[data-page="contact"] [data-section="04-section-2"]{box-sizing:border-box;min-height:1327px}
}
