@charset "utf-8";

/* detailページ固有CSS */

:root{
      --coral:#ff5a70;--coral-soft:#fff1f3;--green:#17a77a;--green-soft:#eaf8f3;
      --navy:#22313f;--text:#333;--muted:#777;--line:#eadfda;--bg:#fcfbfa;--card:#fff;
    }
    *{box-sizing:border-box} body{margin:0;font-family:var(--sgn-font-body);background:var(--bg);color:var(--text);line-height:1.7}.page{max-width:1220px;margin:auto;padding-bottom:88px}.logo{display:flex;gap:12px;align-items:center}.logo-mark{width:44px;height:44px;border:2px solid var(--green);border-radius:50%;display:grid;place-items:center;color:var(--coral);font-size:24px}.logo-title{font-weight:800;font-size:24px}.logo-sub{font-size:12px;color:#555}.breadcrumb{padding:18px 28px;color:var(--text-light);font-size:13px}.layout{display:grid;grid-template-columns:1fr;gap:24px;padding:0 28px}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:22px;margin-bottom:20px;box-shadow:0 8px 24px rgba(80,45,25,.04)}.hero img,.gallery img,.map img{width:100%;display:block;border-radius:12px;object-fit:cover}.hero{position:relative}.hero img{height:285px}.chips{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.chip{font-size:12px;background:var(--green-soft);color:var(--green);border-radius:999px;padding:4px 10px;font-weight:700}.chip.coral{background:var(--coral-soft);color:var(--coral)}.chips>.chip:nth-child(1){background:#fff4f7;color:#e9547b;border:1px solid #f2b8c7}.chips>.chip:nth-child(2){background:#fff8ef;color:#ed922b;border:1px solid #f2c98f}.chips>.chip:nth-child(3){background:#f7fbf2;color:#79a94e;border:1px solid #bcd89f}.chips>.chip:nth-child(4){background:#f1fbfa;color:#42a29f;border:1px solid #9fd2cf}.info-tag{display:inline-block;margin-left:6px;padding:3px 9px;border-radius:999px;background:var(--coral-soft);color:var(--coral);border:1px solid #ffcfd6;font-size:12px;font-weight:800;line-height:1.4;vertical-align:middle}h1{font-size:38px;margin:8px 0 2px}.rating{display:flex;align-items:center;gap:14px;font-weight:700;margin:10px 0}.stars{color:var(--coral);letter-spacing:3px}.lead{font-weight:600;margin:12px 0 22px}.subsidy{border:1px solid #cfe4d5;background:linear-gradient(135deg,#fffef9,#fff);border-radius:18px;padding:20px;box-shadow:0 6px 18px rgba(72,120,85,.08)}.subsidy-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.subsidy-head-icon{width:52px;height:52px;border:1px dashed #91c7a1;border-radius:50%;display:grid;place-items:center;background:#f5fbf6;font-size:27px;line-height:1}.subsidy-title{color:#44301b;font-weight:800;font-size:24px;letter-spacing:.03em}.subsidy-title em{color:#ef7f86;font-style:normal;font-size:1.2em}.subsidy .municipality-chip{display:inline-flex;align-items:center;gap:6px;margin:12px 0 0 64px;padding:6px 13px;border-radius:10px;background:#edf7ef;color:#44935f;font-weight:800;font-size:13px}.subsidy-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:16px;border:1px solid #eee8df;border-radius:15px;overflow:hidden;background:#fff;box-shadow:0 4px 14px rgba(0,0,0,.05)}.subsidy-grid>div{position:relative;background:#fff;padding:18px 14px;text-align:center}.subsidy-grid>div+div{border-left:1px dashed #c9dfcf}.subsidy-item-icon{width:58px;height:58px;margin:0 auto 9px;border-radius:50%;display:grid;place-items:center;background:#eff8f1;font-size:29px;line-height:1}.subsidy-grid strong{display:block;color:#4b351f;font-size:14px;margin-bottom:7px}.amount{font-size:23px;font-weight:800;color:#ef7f86}.period{font-size:21px;font-weight:800;color:#43945d}.subsidy-grid small{display:block;margin-top:6px;color:#6f6a64}.subsidy-footer{display:flex;align-items:center;gap:12px;margin-top:14px;padding:10px 12px;border-radius:12px;background:#fff7df;color:#5f4930;font-size:12px;line-height:1.6}.subsidy-footer-icon{flex:0 0 34px;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#ffe5a2;font-size:18px}.subsidy-detail-link{display:inline-flex;align-items:center;gap:4px;margin-left:auto;flex:0 0 auto;border:1px solid #e8e2d9;border-radius:10px;padding:9px 13px;background:#fff;color:#398d55;font-weight:800;text-decoration:none;box-shadow:0 2px 6px rgba(0,0,0,.07)}@media(max-width:600px){.subsidy{padding:16px}.subsidy-head{gap:9px}.subsidy-head-icon{width:44px;height:44px;font-size:23px}.subsidy-title{font-size:19px}.subsidy .municipality-chip{margin-left:53px}.subsidy-grid{grid-template-columns:1fr}.subsidy-grid>div{padding:15px 12px}.subsidy-grid>div+div{border-left:0;border-top:1px dashed #c9dfcf}.subsidy-item-icon{width:50px;height:50px;font-size:25px}.amount,.period{font-size:19px}.subsidy-footer{align-items:flex-start;flex-wrap:wrap}.subsidy-detail-link{width:100%;margin-left:0;justify-content:center}}.actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}.btn{border:1px solid var(--coral);border-radius:8px;padding:13px 16px;background:#fff;color:var(--coral);font-weight:800;text-align:center;text-decoration:none;display:block}.btn.primary{background:var(--coral);color:#fff;grid-column:1/-1}.section-title{font-size:20px;font-weight:800;margin:0 0 14px}.info-list{display:grid;gap:11px}.info-row{display:grid;grid-template-columns:110px 1fr;gap:12px;align-items:start}.info-label{color:var(--green);font-weight:800;font-size:14px}.info-value{font-size:14px;font-weight:600}.usage-condition-note{margin:14px 0 0;padding:11px 12px;border-radius:10px;background:#fff4e8;border:1px solid #f4d6b3;color:#77583a;font-size:12px;line-height:1.7}.usage-condition-note-link{display:block;width:100%;text-align:left;font-family:inherit;cursor:pointer}.usage-condition-note-link:hover{background:transparent}.usage-condition-note-link:focus-visible{outline:3px solid rgba(239,102,124,.28);outline-offset:2px}.usage-condition-note-link strong{color:var(--coral);text-decoration:underline;text-underline-offset:2px}.usage-condition-note-link .note-arrow{float:right;color:var(--coral);font-weight:900;font-size:15px}.more{display:flex;align-items:center;justify-content:center;gap:4px;border:1px solid var(--line);border-radius:8px;padding:10px;color:var(--green);font-weight:800;margin-top:16px}.note{font-size:12px;color:#777;margin-top:10px}.gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.gallery-item{position:relative;overflow:hidden;border-radius:12px;background:#f4efec;min-width:0}
.gallery-item.main{grid-column:1/-1;height:250px}
.gallery-item.small{height:132px}
.gallery-item img{width:100%;height:100%;object-fit:cover;display:block;border-radius:0;transition:transform .25s ease}
.gallery-item:hover img{transform:scale(1.025)}
.gallery-label{position:absolute;left:9px;bottom:9px;max-width:calc(100% - 18px);padding:5px 9px;border-radius:999px;background:rgba(34,49,63,.72);color:#fff;font-size:12px;font-weight:800;line-height:1.3;backdrop-filter:blur(3px)}
.gallery-section-cardless{
  margin:0 0 20px;
  padding:22px 0 24px;
  border-top:0;
  border-bottom:1px solid var(--line);
  background:linear-gradient(180deg,#fffaf7 0%,#fff 100%);
}
.gallery-section-cardless .title-row{padding:0 2px 14px}
.gallery-section-cardless .section-title{margin:0}
.gallery-section-cardless .gallery{padding:0}
@media(max-width:700px){
  .gallery{gap:7px}.gallery-item.main{height:210px}.gallery-item.small{height:112px}.gallery-label{font-size:11px;left:7px;bottom:7px;padding:4px 8px}
  .gallery-section-cardless{margin-left:-4px;margin-right:-4px;padding:18px 4px 20px}
  .gallery-section-cardless .title-row{padding-bottom:12px}
}.title-row{display:flex;justify-content:space-between;align-items:center}.score{font-size:48px;color:var(--coral);font-weight:900}.review{border-top:1px solid var(--line);padding-top:16px;margin-top:16px}.review:first-of-type{border-top:0;margin-top:0;padding-top:0}
.staff-section-cardless{
margin:0 0 20px;
padding:22px 0 24px;
border-top:0;
border-bottom:1px solid var(--line);
background:linear-gradient(180deg,#fff 0%,#fffaf7 100%);
}
.staff-section-cardless .title-row{padding-bottom:14px}
.staff-feature{margin-top:12px;padding:18px;border:1px solid #eadfd9;background:linear-gradient(145deg,#fffaf7,#fff)}
.staff-head{display:grid;grid-template-columns:92px 1fr;gap:15px;align-items:center}
.staff-photo{width:92px;height:92px;border-radius:50%;overflow:hidden;background:#ffe8e3;display:grid;place-items:center;font-size:42px;border:4px solid #fff;box-shadow:0 5px 15px rgba(91,63,48,.12)}
.staff-photo img{width:100%;height:100%;object-fit:cover}
.staff-name{font-size:19px;font-weight:900;line-height:1.35;color:var(--sgn-ink-head)}
.staff-role{margin-top:3px;font-size:13px;color:var(--green);font-weight:900}
.staff-career{margin-top:5px;font-size:12px;color:#766b66}
.staff-badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.staff-badge{padding:4px 11px;border:1px solid transparent;border-radius:999px;background:#eef8f3;color:var(--green);font-size:12px;line-height:1.75;font-weight:900}
.staff-message{position:relative;margin:16px 0 14px;padding:14px 15px 14px 38px;border-radius:12px;background:#fff2ef;color:var(--sgn-ink-body);font-size:14px;line-height:1.8;font-weight:700}
.staff-message:before{content:'“';position:absolute;left:13px;top:5px;color:var(--coral);font-size:32px;font-family:serif;line-height:1}
.staff-others{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}
.map img{height:150px}.bottom-cta{position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--line);padding:12px;display:flex;gap:12px;justify-content:center;z-index:20}.bottom-cta .btn{width:180px}.page-tabs{display:grid;grid-template-columns:repeat(5,1fr);background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:none;overflow:hidden;margin:18px 0 20px;position:sticky;top:82px;z-index:9}.page-tab{padding:9px 2px;text-align:center;font-size:12px;color:#555;text-decoration:none;font-weight:800}.page-tab .ico{display:block;font-size:20px;line-height:1.1;margin-bottom:2px}.page-tab.active{color:var(--coral);background:#fff7f9}.page-tab:not(:last-child){border-right:1px solid var(--line)}
@media(max-width:900px){.page-tabs{top:73px}.layout{grid-template-columns:1fr;padding:0 16px}.breadcrumb{padding:14px 16px}.hero img{height:230px}h1{font-size:32px}.staff-head{grid-template-columns:78px 1fr;gap:12px}.staff-photo{width:78px;height:78px}.staff-others{grid-template-columns:1fr}.bottom-cta .btn{width:auto;flex:1}.info-row{grid-template-columns:92px 1fr}}

    @media(max-width:520px){.price-cards{grid-template-columns:1fr}.section-head{align-items:flex-start;gap:8px;flex-direction:column}.guide-item{grid-template-columns:64px 1fr 16px}.guide-illust{height:54px;font-size:28px}}

    .tab-panel.is-hidden{display:none}
    @media(max-width:900px){}

    @media(max-width:900px){.price-detail-panel .page-title{font-size:26px}.price-detail-panel .service-grid{gap:8px}.price-detail-panel .service{font-size:12px}.price-detail-panel .service img{width:58px;height:58px}.price-detail-panel .plan-amount{font-size:25px}.price-detail-panel .price-title-row{gap:14px}.price-detail-panel{padding:16px}}

    .embedded-tab-frame{width:100%;height:1px;min-height:0;border:0;border-radius:14px;background:#fff;display:block;overflow:hidden}

    /* 料金・口コミ・設備・助成金の各タブは、もとは iframe で埋め込んでいた（2026-08-06にDOM展開へ変更）。
       旧 iframe の枠にあたる .tabdoc の見た目は、detail.html 側の #〇〇-doc で指定している
       （ここに書くと詳細度で負けるため）。中身のCSSは #〇〇-doc に閉じ込めてあるので外へは漏れない。
       高さはブラウザ任せになり、JSでの高さ合わせが不要になった＝タブ下の空白が出なくなる */


#coupon-section{margin-top:0!important;padding-top:0!important}.included+#coupon-section{margin-top:16px!important}

    /* 基本情報：施設のこだわり（左画像・右テキスト） */
    .preference-card{background:transparent;border:0;border-radius:0;box-shadow:none;padding:22px 0 24px;overflow:visible;border-top:1px solid var(--line)}
    .preference-lead{margin:0 0 16px;color:#746760;font-size:13px}
    .preference-list{display:grid;gap:12px}
    .preference-row{display:grid;grid-template-columns:180px 1fr;min-height:132px;border:1px solid #eee2dc;border-radius:13px;background:#fff;overflow:hidden;box-shadow:0 4px 14px rgba(80,45,25,.04)}
    .preference-image{width:100%;height:100%;min-height:132px;object-fit:cover;display:block}
    .preference-copy{padding:16px 18px;display:flex;flex-direction:column;justify-content:center}
    .preference-copy h3{margin:0 0 6px;font-size:17px;line-height:1.45;color:var(--navy);font-weight:900}
    .preference-copy p{margin:0;color:#625953;font-size:13px;line-height:1.75}
    .preference-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
    .preference-tag{display:inline-block;padding:3px 9px;border-radius:999px;background:var(--green-soft);color:var(--green);font-size:11px;font-weight:800}
    .preference-tag.coral{background:var(--coral-soft);color:var(--coral)}
    @media(max-width:600px){
      .preference-row{grid-template-columns:116px 1fr;min-height:128px}
      .preference-image{min-height:128px}
      .preference-copy{padding:12px 13px}
      .preference-copy h3{font-size:15px;margin-bottom:4px}
      .preference-copy p{font-size:12px;line-height:1.6}
      .preference-tags{margin-top:7px;gap:4px}
      .preference-tag{font-size:10px;padding:2px 7px}
    }

    /* 画面幅からのはみ出し防止 */
    html,body{width:100%;max-width:100%} html{overflow-x:clip} body{overflow-x:clip}
    .page,.layout,main,.tab-panel,.card,.subsidy,.nearby-facilities{min-width:0;max-width:100%}
    img,video,svg,canvas,iframe{max-width:100%}
    .embedded-tab-frame{width:100%!important;max-width:100%!important;overflow:hidden}
    .logo,.logo>div,.info-value,.title-row>*,.nearby-facilities-head>div{min-width:0}
    h1,h2,h3,p,.info-value,.nearby-card-name,.nearby-card-area{overflow-wrap:anywhere;word-break:break-word}
    @media(max-width:700px){.logo{gap:8px}.logo-mark{width:38px;height:38px;flex:0 0 38px}.logo-title{font-size:19px}.logo-sub{font-size:10px;line-height:1.35}
      .breadcrumb{white-space:nowrap;overflow-x:auto;scrollbar-width:none}.breadcrumb::-webkit-scrollbar{display:none}
      .layout{width:100%;padding-left:12px;padding-right:12px}.card{padding:16px}
      .subsidy{padding:14px}.subsidy-grid{grid-template-columns:1fr}.subsidy-grid div{padding:12px}.amount,.period{font-size:17px}
      .actions{grid-template-columns:1fr}.btn.primary{grid-column:auto}
      .page-tabs{width:100%;grid-template-columns:repeat(5,minmax(0,1fr));top:67px}.page-tab{font-size:10px;padding:6px 1px;line-height:1.3;overflow-wrap:anywhere}.page-tab .ico{font-size:18px}
      .nearby-facilities-head{align-items:flex-start}.nearby-card{flex-basis:calc(100vw - 64px);max-width:310px}
      .gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery img{height:92px}
      .bottom-cta{padding:10px 8px;gap:8px}.bottom-cta .btn{min-width:0;padding:11px 6px;font-size:12px}
    }

    /* タブのスクロール追従を無効化 */
    /* main はページ直下の1つだけを対象にする。素の main だと、タブ内へ展開した
       玉井さんデザインの <main> にも背景が当たってしまう（2026-08-06） */
    .layout,.layout>main,.page{overflow:visible!important;background:#fcfbfa!important}
    .tab-panel{overflow:visible!important;background:transparent!important} /* 2026-09-30 白→透明。ページの地色 #fcfbfa に揃える */
    .page-tabs{
      position:static!important;
      top:auto!important;
      z-index:30!important;
      align-self:start;
      isolation:isolate;
    }
    @media(max-width:380px){
      .layout{padding-left:8px;padding-right:8px}.card{padding:14px}.page-tab{font-size:9px}.page-tab .ico{font-size:17px}
      .info-row{grid-template-columns:78px minmax(0,1fr);gap:8px}.info-tag{display:block;width:max-content;max-width:100%;margin:4px 0 0}
    }

    /* ── タブ・各セクションのスクロール位置（2026-08-06） ─────────────────
       共通ヘッダーは position:sticky で常に画面上部に残る。
       タブの href="#..." も JS の scrollIntoView も対象の上端を画面上端に合わせるため、
       そのままではタブやセクション見出しがヘッダーの下へ潜り込む。
       scroll-margin-top で上に余白を確保して回避する（アンカー・scrollIntoView の両方に効く）。
       --header-h には detail.html のスクリプトがヘッダーの実測高さを入れている。 */
    .page-tabs,
    #basic-info,#access,
    #basic-panel,#pricing-panel,#reviews-panel,#features-panel,#access-panel{
      scroll-margin-top:calc(var(--header-h,107px) + 14px);
    }
    @media(max-width:700px){
      /* スマホはタブ自体がヘッダー直下へ追従するため、タブの高さぶんも空ける */
      #basic-info,#access,
      #basic-panel,#pricing-panel,#reviews-panel,#features-panel,#access-panel{
        /* 261005b #3 でタブの高さを変えたので変数から計算する（52px固定だった頃の 62px の置き換え）。
           固定時の .page-tabs は タブ46px ＋ 上padding 8px ＝ 54px になるので、
           その 8px も足す（Codexレビュー指摘2）。
           なお 2026-10-05 時点ではこの値を使う経路が無い：ハッシュで開く場合はスクロールが起きず（y=0）、
           タブのクリックは .page-tabs 側の scroll-margin-top（header+10px）で動く。将来の保険 */
        scroll-margin-top:calc(var(--header-h,60px) + var(--sgn-tab-h,46px) + 8px + 10px);
      }
      .page-tabs{scroll-margin-top:calc(var(--header-h,60px) + 10px)}
    }

    /* 近くの施設までスクロールしたら追従タブを非表示 */
    .page-tabs{transition:opacity .2s ease,visibility .2s ease,transform .2s ease}
    .page-tabs.is-nearby-hidden{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-8px)}
    .page-tabs.is-sticky-fixed{position:fixed!important;margin:0!important;z-index:30!important}
    .page-tabs-sticky-placeholder{display:none}
    .page-tabs-sticky-placeholder.is-active{display:block}
    @media(max-width:700px){
      .page-tabs.is-sticky-fixed{
        /* 共通ヘッダー（sticky）の下にぴったり付ける。高さはJSが実測して代入する */
        top:var(--header-h,58px)!important;
        left:0!important;
        width:100vw!important;
        max-width:none!important;
        box-sizing:border-box!important;
        padding:8px 16px 0!important;
        background:#FCFBFA!important;
      }
      .page-tabs.is-sticky-fixed::after{
        left:0!important;
        right:0!important;
      }
    }

/* 料金・クーポン／口コミタブの不要な空白を除去 */
#pricing-panel,#reviews-panel{margin:0!important;padding:0!important;}
#pricing-panel .embedded-tab-frame,#reviews-panel .embedded-tab-frame{
  display:block!important;
  width:100%!important;
  height:1px;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  vertical-align:top!important;
}
    /* 基本情報：SNSアイコン */
    .sns-info-row{align-items:center}
    .sns-icons{display:flex;align-items:center;gap:10px;flex-wrap:nowrap;overflow-x:auto;padding:2px 2px 5px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
    .sns-icons::-webkit-scrollbar{display:none}
    .sns-icon{width:42px;height:42px;flex:0 0 42px;border-radius:12px;display:grid;place-items:center;color:#fff;text-decoration:none;box-shadow:0 4px 10px rgba(34,49,63,.13);transition:transform .18s ease,box-shadow .18s ease}
    .sns-icon:hover{transform:translateY(-2px);box-shadow:0 7px 14px rgba(34,49,63,.18)}
    .sns-icon:focus-visible{outline:3px solid rgba(255,90,112,.3);outline-offset:3px}
    .sns-line{background:#06c755}.sns-line span{font-size:9px;font-weight:900;letter-spacing:-.4px}
    .sns-instagram{background:linear-gradient(135deg,#833ab4,#fd1d1d 58%,#fcb045)}
    .instagram-camera{width:21px;height:21px;border:2px solid #fff;border-radius:6px;position:relative}
    .instagram-camera:before{content:"";position:absolute;width:7px;height:7px;border:2px solid #fff;border-radius:50%;left:5px;top:5px}
    .instagram-camera:after{content:"";position:absolute;width:3px;height:3px;background:#fff;border-radius:50%;right:3px;top:3px}
    .sns-x{background:#111}.sns-x span{font-size:23px;font-weight:700;line-height:1}
    .sns-facebook{background:#1877f2}.sns-facebook span{font:900 27px/1 Arial,sans-serif;margin-top:5px}
    .sns-youtube{background:#ff0000}.youtube-play{font-size:18px;margin-left:2px}
    @media(max-width:380px){.sns-icons{gap:7px}.sns-icon{width:38px;height:38px;flex-basis:38px;border-radius:10px}}

    /* 基本情報・利用条件：参考画像に合わせた2列テーブル */
    #basic-info .info-list,.usage-condition-list{
      display:block;
      overflow:hidden;
      border:1px solid #eadfda;
      border-radius:12px;
      background:#fff;
    }
    #basic-info .info-list > .section-title{
      margin:0;
      padding:14px 18px;
      border-bottom:1px solid #eadfda;
    }
    #basic-info .info-row,.usage-condition-row{
      display:grid;
      grid-template-columns:160px minmax(0,1fr);
      gap:0;
      align-items:stretch;
      padding:0;
      border:0;
      border-bottom:1px solid #eadfda;
    }
    #basic-info .info-row:last-child,.usage-condition-row:last-child{border-bottom:0}
    #basic-info .info-label,.usage-condition-label{
      display:flex;
      align-items:center;
      gap:9px;
      min-height:54px;
      padding:13px 16px;
      border-right:1px solid #eadfda;
      background:#fffaf8;
      color:#5f514b;
      font-size:13px;
      font-weight:900;
      line-height:1.6;
    }
    /* 261021 玉井さん 13:02 ⑷：値の太さ 600→400（この下の注意の行2つも）。Noto Sans JP は 600 を読み込んでいないので、600 は 700 の字で描かれ太く見えていた。自己負担額の金額（.usage-copay-amount 800）はそのまま */
    #basic-info .info-value,.usage-condition-value{
      min-width:0;
      display:flex;
      align-items:center;
      min-height:54px;
      padding:13px 18px;
      color:var(--text);
      font-size:14px;
      font-weight:400;
      line-height:1.75;
      background:#fff;
    }
    #basic-info .sns-info-row{align-items:stretch;border-bottom:0!important}
    #basic-info .sns-info-row .info-value{align-items:center}

    .usage-conditions-card{
      position:relative;
      overflow:visible;
      border-color:#eadfda;
      background:#fff;
    }
    .usage-conditions-card:before{display:none}
    #basic-info > .section-title,.usage-conditions-card > .section-title{
      padding-left:18px;
      padding-right:18px;
    }
    .usage-badges{display:flex;flex-wrap:wrap;gap:7px}
    .usage-badge{
      display:inline-flex;
      align-items:center;
      min-height:29px;
      padding:4px 11px;
      border-radius:999px;
      background:var(--green-soft);
      border:1px solid #c9e9df;
      color:#168260;
      font-size:12px;
      font-weight:900;
    }
    .usage-condition-row.is-warning .usage-condition-icon{background:#fff0f3;color:var(--coral)}
    .usage-condition-row.is-warning .usage-condition-label{color:#5f514b}
    .usage-condition-row.is-warning .usage-condition-value{color:var(--text)!important;font-weight:400}
    .usage-warning{display:inline;padding:0;border:0;border-radius:0;background:transparent;color:var(--text)!important;font-weight:400}
    .usage-conditions-card .usage-condition-note{margin-top:16px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;color:#555}

    @media(max-width:700px){
      #basic-info .info-row,.usage-condition-row{grid-template-columns:112px minmax(0,1fr)}
      #basic-info .info-label,.usage-condition-label{min-height:50px;padding:11px 10px;font-size:12px;gap:6px}
      #basic-info .info-value,.usage-condition-value{min-height:50px;padding:11px 12px;font-size:13px}
      .usage-badge{font-size:11px;min-height:27px;padding:3px 9px}
      .staff-badge{font-size:11px;min-height:27px;padding:3px 9px}
    }
    @media(max-width:380px){
      #basic-info .info-row,
      .usage-condition-row{grid-template-columns:96px minmax(0,1fr)}
      #basic-info .info-label,
      .usage-condition-label{padding:10px 8px}
      #basic-info .info-value,
      .usage-condition-value{padding:10px}
    }

    /* 基本情報・利用条件：最外周カードのみ削除 */
    #basic-info,.usage-conditions-card{
      padding:0;
      border:0;
      border-radius:0;
      background:transparent;
      box-shadow:none;
      overflow:visible;
    }

    /* こだわり：1つのブランドストーリー型セクション */
    .preference-story{
      margin:0 0 20px;
      padding:24px 0 28px;
      border-top:1px solid var(--line);
      border-bottom:1px solid var(--line);
      background:linear-gradient(180deg,#fffaf7 0%,#fff 100%);
    }
    .preference-story-heading{margin-bottom:16px}
    .preference-story-heading .section-title{margin-bottom:5px}
    .preference-story-visual{position:relative;overflow:hidden;border-radius:18px;min-height:360px;background:#f4eee9}
    .preference-story-visual img{width:100%;height:360px;display:block;object-fit:cover}
    .preference-story-copy{
      position:relative;
      margin:0;padding:24px 0 8px;
      max-width:760px;
      padding:20px 22px;

      background:transparent;
      box-shadow:none;

    }
    .preference-story-copy h4{margin:0 0 8px;color:var(--navy);font-size:24px;line-height:1.45;font-weight:900}
    .preference-story-copy p{margin:0;color:var(--sgn-ink-body);font-size:13px;line-height:1.85}
    @media(max-width:700px){
      .preference-story{padding:20px 0 23px}
      .preference-story-visual{min-height:auto;border-radius:15px}
      .preference-story-visual img{height:230px}
      .preference-story-copy{position:relative;max-width:none;margin:0;padding:18px 0 0}
      .preference-story-copy h4{font-size:19px}
      .preference-story-copy p{font-size:12px;line-height:1.75}
    }
@media(max-width:480px){
  .coupon-embedded > .content{padding:20px 16px;}
  .coupon-embedded .heading h1{font-size:22px;}
}
/* 料金iframe直後に余白を作らない */
#pricing-panel .embedded-tab-frame{margin:0;padding:0;vertical-align:bottom;}
#pricing-panel #pricing-frame{min-height:0!important;}
#pricing-panel .coupon-embedded{margin-top:0!important;}
#pricing-panel .coupon-embedded > .content{padding-top:0!important;}

.nearby-facilities{margin:0 0 20px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px;box-shadow:0 8px 24px rgba(80,45,25,.04)}
  .nearby-facilities-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
  .nearby-facilities-title{margin:0;font-size:20px;font-weight:900;color:var(--navy)}
  .nearby-facilities-sub{margin:2px 0 0;color:var(--muted);font-size:12px}
  .nearby-slider-controls{display:flex;gap:8px;flex:0 0 auto}
  .nearby-slider-btn{width:36px;height:36px;border:1px solid #ffd3dc;border-radius:50%;background:#fff;color:var(--coral);font-size:22px;line-height:1;cursor:pointer;display:grid;place-items:center;transition:.2s}
  .nearby-slider-btn:hover{background:var(--coral-soft)}
  .nearby-slider-btn:disabled{opacity:.35;cursor:default}
  /* 2026-09-05 c2_4: .facility-card の hover は translateY(-6px) なので上に 8px の余白を取る（overflow-x:auto のため上端が切れる）。margin-top:-6px で見た目の位置は従来の padding-top:2px と同じ */
  .nearby-slider{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;margin-top:-6px;padding:8px 2px 10px;overscroll-behavior-inline:contain;scrollbar-width:none}
  .nearby-slider::-webkit-scrollbar{display:none}
  /* 2026-09-05 c2_4: カードの中身はトップ「注目の施設」と同じ .facility-card（common.css）に置き換えた。
     ここに残すのはスライダー（scroll-snap）用の .nearby-card と距離バッジだけ。
     PC は幅を 260px に揃える（flex-basis を指定しないと .nearby-card の min(310px,82vw) が勝つ）。SP（≤700px）は従来の 84%／calc(100vw - 64px) のまま */
  .nearby-card{flex:0 0 min(310px,82vw);scroll-snap-align:start}
  .nearby-distance{position:absolute;right:9px;bottom:9px;background:rgba(34,49,63,.82);color:#fff;border-radius:999px;padding:4px 9px;font-size:11px;font-weight:800}
  @media(min-width:701px){.nearby-slider .facility-card{width:260px;flex-basis:260px}}
  .nearby-slider-hint{text-align:center;color:#68737d;font-size:11px;margin-top:2px;display:none}
  @media(max-width:700px){
    .nearby-facilities{padding:16px 14px}
    .nearby-slider-controls{display:none}
    .nearby-card{flex-basis:84%}
    .nearby-slider-hint{display:block}
  }

/* スマホでローカルHTMLを直接開く場合の表示安定化 */
/* hidden だと body がスクロールコンテナになりヘッダーの sticky が死ぬため clip を使う */
html,body{width:100%;max-width:100%;margin:0;overflow-x:clip;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{min-width:0}
.page,.layout,main,.tab-panel,.card,.subsidy,.actions{width:100%;max-width:100%;min-width:0}
img,svg,video,canvas,iframe{max-width:100%;height:auto}
.embedded-tab-frame{display:block;width:100%!important;max-width:100%!important;min-width:0!important;border:0!important;overflow:hidden!important;background:#fff}
.page-tabs{max-width:100%;min-width:0;transform:translateZ(0);-webkit-transform:translateZ(0)}
.page-tab{min-width:0;overflow:hidden;text-overflow:ellipsis}
.info-value,.preference-text,.nearby-card{overflow-wrap:anywhere;word-break:break-word}
@media(max-width:600px){
  .page{padding-bottom:92px}
  .layout{padding-left:12px!important;padding-right:12px!important}
  .breadcrumb{padding-left:16px!important;padding-right:16px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .logo-title{font-size:19px!important}.logo-sub{font-size:10px!important}.logo-mark{width:38px!important;height:38px!important}
  .facility-headline h1,#pricing-coupon-content h1{font-size:27px!important;line-height:1.35}
  .card{padding:16px!important;border-radius:12px}
  .subsidy{padding:14px!important}.subsidy-grid{grid-template-columns:1fr!important;gap:12px!important;border:0!important;border-radius:0!important;overflow:visible!important;background:transparent!important;box-shadow:none!important}.subsidy-grid>div{border:1px solid #eee8df!important;border-radius:12px!important;box-shadow:0 3px 10px rgba(0,0,0,.04)!important}.subsidy-grid>div+div{border-left:1px solid #eee8df!important;border-top:1px solid #eee8df!important}
  .actions{grid-template-columns:1fr!important}.actions .btn{grid-column:auto!important}
  .page-tabs{top:calc(var(--header-h,61px) + 8px)!important;margin:14px 0 16px!important;border-radius:8px}
  .page-tab{font-size:10px!important;padding:8px 1px!important;line-height:1.25}.page-tab .ico{font-size:17px!important}
  .bottom-cta{padding:8px!important;gap:6px!important}.bottom-cta .btn{font-size:12px!important;padding:10px 5px!important;min-width:0!important}
  .embedded-tab-frame{min-height:1px!important}
}
@media(max-width:360px){
  .layout{padding-left:8px!important;padding-right:8px!important}
  .page-tab{font-size:9px!important}.page-tab .ico{font-size:16px!important}
}

/* 表示中の各タブ本文とタブメニューを一体化 */
.page-tabs:has(~ .tab-panel:not(.is-hidden)){margin-bottom:0!important;border-radius:10px 10px 0 0!important;border-bottom-color:var(--line)!important}
.tab-panel:not(.is-hidden){margin-top:0!important}
.tab-panel:not(.is-hidden) > .embedded-tab-frame{margin-top:0!important;border-top:0!important;border-radius:0 0 14px 14px!important}
@media(max-width:600px){
  .page-tabs:has(~ .tab-panel:not(.is-hidden)){border-radius:8px 8px 0 0!important}
  .tab-panel:not(.is-hidden) > .embedded-tab-frame{border-radius:0 0 12px 12px!important}
}

/* 施設詳細：お知らせ以降のサイドバー（本文＝近くの施設の下に縦積み）。
   2026-09-05 c2_1: SP でも「おすすめのプラン」3枚と「無料掲載バナー」を近くの施設の直下に出す。
   子要素の見た目は媒体クエリの外へ移した（値は変えていない）。
   261021 玉井さん 21:44：PC だけに出していたアクセスのカード #sidebar-access を消したので、そのカードの CSS も外した */
.facility-detail-sidebar{display:block;margin-top:32px}
.facility-detail-lower-layout{display:block}
@media(min-width:901px){
  .page{max-width:1140px}
  .layout{display:block;padding:0 24px 60px}
  .layout>main{min-width:0}
  .facility-detail-lower-layout{display:block;margin-top:0}
  .facility-detail-main-content{min-width:0}
  .facility-detail-sidebar{display:block;position:static;margin-top:32px}
  /* 予約するは追従CTAで常時表示する（PCでも隠さない） */
  .bottom-cta{display:flex}
}
@media(max-width:900px){
  .facility-detail-lower-layout{display:block}
}
@media(max-width:700px){
  .facility-detail-sidebar{margin-top:20px}
}

:root{--coral:#e85f73!important;--coral-soft:#fff1f3!important;--green:#2d9b7f!important;--green-soft:#edf8f4!important;--navy:var(--sgn-ink-head)!important;--text:var(--sgn-ink-body)!important;--muted:#68737d!important;--line:#e9e2dc!important;--bg:#fcfbfa!important;--card:#fff!important}
body{background:var(--bg)!important;color:var(--text)!important;-webkit-font-smoothing:antialiased}
a,button{min-height:44px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid rgba(22,104,199,.32)!important;outline-offset:3px}
.card{border-color:var(--line)!important;box-shadow:none!important;border-radius:12px!important}
.hero img{border-radius:14px!important}.chips{margin:16px 0 10px!important}.chip{border-radius:7px!important;padding:5px 10px!important}.chip.coral{background:var(--green-soft)!important;color:var(--green)!important}
/* h1 は「施設名」と「クーポン一覧」の2箇所だけ。素の h1 だと、タブ内へ展開した
   玉井さんデザインの見出しにも当たってしまうため、対象を明示する（2026-08-06） */
.facility-headline h1,#pricing-coupon-content h1{color:var(--navy)!important;letter-spacing:-.025em}.rating{gap:10px!important}.stars{color:#e39a16!important}.lead{color:var(--sgn-ink-body)!important}
.subsidy{border-color:#bfdfd4!important;background:linear-gradient(135deg,var(--green-soft),#fff)!important}.subsidy-title{color:var(--green)!important}.amount{color:var(--coral)!important}
.actions{gap:10px!important}.btn{border-radius:10px!important;min-height:50px!important}.btn.primary{background:var(--coral)!important;border-color:var(--coral)!important}.btn:not(.primary){background:#fff!important}
.page-tabs{border-radius:10px!important;box-shadow:none!important;border:0!important;background:transparent!important;overflow-x:auto!important;grid-template-columns:repeat(5,minmax(112px,1fr))!important;scrollbar-width:none}.page-tabs::-webkit-scrollbar{display:none}.page-tab{min-height:52px!important;display:flex!important;flex-direction:column!important;justify-content:center!important;border:1px solid var(--line)!important;border-bottom:1px solid var(--line)!important;border-radius:10px 10px 0 0!important;background:#F7F7F7!important;color:#D86874!important}.page-tab.active{background:#D86874!important;color:#fff!important;border-bottom-color:var(--line)!important}
.page-tabs.is-sticky-fixed{background:#FCFBFA!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.section-title{color:var(--navy)!important;font-size:22px!important;line-height:1.4}.section-title:before{display:none!important}
#basic-info .info-list,.usage-condition-list{border-color:var(--line)!important;border-radius:12px!important}.info-label,.usage-condition-label{background:#fcf5f5!important;color:var(--sgn-ink-body)!important;border-color:var(--line)!important}.info-value,.usage-condition-value{border-color:var(--line)!important;color:var(--text)!important}
.usage-conditions-card{margin-top:40px!important}.usage-badge{border-radius:7px!important}.usage-badge:nth-child(1){background:#fff4f7!important;color:#e9547b!important;border-color:#f2b8c7!important}.usage-badge:nth-child(2){background:#fff8ef!important;color:#ed922b!important;border-color:#f2c98f!important}.usage-badge:nth-child(3){background:#f7fbf2!important;color:#79a94e!important;border-color:#bcd89f!important}
.preference-story,.gallery-section-cardless,.staff-section-cardless{margin-top:44px!important;padding-top:28px!important;border-color:var(--line)!important;background:transparent!important}.preference-story-visual{border-radius:14px!important}.preference-story-copy{padding:20px 0 0!important}.preference-story-copy h4:not(.tabdoc h4){color:var(--navy)!important}
.gallery-item{border-radius:12px!important}.gallery-label{border-radius:7px!important}.staff-feature{border-radius:12px!important;box-shadow:none!important}.staff-photo{border-radius:50%!important}.staff-badge,.preference-tag{border-radius:7px!important}
.map{margin-top:44px!important}.more{border-radius:10px!important}
.bottom-cta{box-shadow:0 -4px 18px rgba(48,38,32,.08)!important}
@media(min-width:901px){.facility-detail-lower-layout{display:block!important}.facility-detail-main-content{max-width:none!important}.facility-detail-sidebar{position:static!important;margin-top:32px!important}}
@media(max-width:700px){.layout{padding-left:16px!important;padding-right:16px!important}.hero img{height:230px!important}.page-tabs{margin-left:-16px!important;margin-right:-16px!important;width:calc(100% + 32px)!important;border-left:0!important;border-right:0!important;border-radius:0!important}.page-tab{font-size:11px!important;padding:5px 8px!important}.actions{grid-template-columns:1fr!important}.btn.primary{grid-column:auto!important}.section-title{font-size:20px!important}.card{padding:16px!important}.subsidy-grid{grid-template-columns:1fr!important}.subsidy-grid div{text-align:left!important}.info-row,.usage-condition-row{grid-template-columns:108px minmax(0,1fr)!important}.info-label,.usage-condition-label{padding:12px 10px!important}.info-value,.usage-condition-value{padding:12px!important}.bottom-cta{padding-bottom:calc(10px + env(safe-area-inset-bottom))!important}}

/* 基本情報見出し罫線・基本情報タブ内見出し位置の調整 */
#basic-info .info-list > .section-title{
  position:relative;
  z-index:1;
  margin-left:-1px;
  margin-right:-1px;
  background:#fff;
}
.preference-story-heading{
  padding-left:18px;
}
.preference-story-copy{
  padding-left:18px!important;
}
.gallery-section-cardless .title-row .section-title,.staff-section-cardless .title-row .section-title{
  padding-left:18px;
}
#access > .section-title{
  margin-left:-4px;
}
@media(max-width:700px){
  #access > .section-title{
    margin-left:2px;
  }
}

/* 基本情報タブ：小見出し左側のピンク線 */
#basic-panel .section-title{
  display:flex!important;
  align-items:center!important;
  gap:10px;
}
#basic-panel .section-title:before{
  content:"";
  display:block!important;
  width:4px;
  height:22px;
  flex:0 0 4px;
  background:var(--coral);
  border-radius:2px;
}

/* 5つのタブと表示中タブ本文の左右位置を統一 */
.page-tabs,.tab-panel:not(.is-hidden){
  width:100%!important;
  max-width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
}
.page-tabs{
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  overflow:hidden!important;
}
@media(max-width:700px){
  .page-tabs{
    width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
  }
  .page-tab{
    min-width:0!important;
    padding-left:2px!important;
    padding-right:2px!important;
  }
}

/* スマホ画面：タブの位置を維持したまま、表示中のタブ本文のみ画面幅いっぱいに広げる */
@media(max-width:700px){
  .tab-panel:not(.is-hidden){
    width:calc(100% + 32px)!important;
    max-width:none!important;
    margin-left:-16px!important;
    margin-right:-16px!important;
  }
}

/* スマホ画面：タブ位置は維持し、下線のみ枠線と同じ1pxで画面幅いっぱいに表示 */
@media(max-width:700px){
  .page-tabs{
    overflow:visible!important;
    border-bottom:0!important;
  }
  .page-tabs::after{
    content:"";
    position:absolute;
    left:-16px;
    right:-16px;
    bottom:0;
    height:1px;
    background:var(--line);
    pointer-events:none;
  }
}

/* スマホ画面：こだわり・写真ギャラリー・スタッフ紹介・口コミ・アクセスを基本情報テーブルと同じ左右幅に統一 */
@media(max-width:700px){
  .preference-story,
  .gallery-section-cardless,
  .staff-section-cardless,
  #basic-reviews,
  #access,
  #facility-posts{
    width:auto!important;
    margin-left:16px!important;
    margin-right:16px!important;
    box-sizing:border-box!important;
  }
}

/* スマホ画面のみ：5つの施設詳細タブを固定ヘッダー直下に追従 */
@media(max-width:700px){
  .page-tabs{
    position:-webkit-sticky!important;
    position:sticky!important;
    top:calc(var(--header-h,61px) + 8px)!important;
    z-index:30!important;
  }
}

/* スマホ画面：「料金・クーポン」タブの画面外へのはみ出しを防止 */
@media(max-width:700px){
  .page-tabs .page-tab{
    box-sizing:border-box!important;
    min-width:0!important;
    max-width:100%!important;
  }
  .page-tabs .page-tab:nth-child(2){
    padding-left:0!important;
    padding-right:0!important;
    font-size:9px!important;
    letter-spacing:-0.03em!important;
    white-space:nowrap!important;
  }
}

#access .access-address-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 0 6px}
#access .access-address-text{min-width:0;font-weight:700;color:var(--ink)}
#access .access-address-text{font-size:14px}
@media(max-width:700px){
  #access .access-address-text{font-size:13px}
}
/* 261021 玉井さん 13:02 ⑴：最寄り駅・駐車場の行を、下のアクセスのカード（.detail-sidebar-route）と同じ 12px・灰色・太字なしに。住所の行はそのまま */
#access > p{font-size:12px;line-height:1.6;color:var(--muted)}
#access > p strong{font-weight:400}
#access .access-copy-button{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--green);width:32px;height:32px;padding:0;cursor:pointer}
#access .access-copy-button svg{width:16px;height:16px;display:block}
#access .access-copy-button:focus-visible{outline:2px solid var(--green);outline-offset:2px}
/* 261021 玉井さん 21:44：「Googleマップで見る」を、消した下のアクセスのカードのボタンと同じ緑の地・白い文字に（PC・スマホとも。大きさはそのまま） */
#access .more{background:var(--green);border-color:var(--green);color:#fff}

#pricing-panel{
  --pricing-accent:#df6174;--pricing-accent-hover:#cc5065;--pricing-accent-soft:#fff3f5;
  --pricing-mint:#2f927c;--pricing-mint-soft:#eef8f4;--pricing-ink:#283744;
  --pricing-muted:#6c747b;--pricing-border:#e7e0da;--pricing-note:#f6f3ef;
  background-color:#fff;
}
#pricing-panel .embedded-tab-frame{background-color:#fff}
#pricing-panel .coupon-embedded{margin:0;padding:24px 0 0;border-top:1px solid var(--pricing-border);background:transparent}
#pricing-panel .coupon-embedded > .content{padding:0!important;max-width:none}
#pricing-panel .coupon-embedded .heading{display:flex;align-items:center;gap:10px;margin:0 0 4px}
#pricing-panel .coupon-embedded .heading .ico{display:none}
#pricing-panel .coupon-embedded .heading h1{margin:0;color:var(--pricing-ink);font-size:22px;letter-spacing:-.02em}
#pricing-panel .coupon-embedded .intro{margin:0 0 20px;color:var(--pricing-muted);font-size:13px;line-height:1.8}
#pricing-panel .coupon-embedded .card{box-shadow:none}
#pricing-panel .coupon-embedded .coupon{position:relative;margin:0 0 14px;padding:20px;border:1px solid var(--pricing-border);border-radius:12px;background:#fff;box-shadow:none;overflow:hidden}
#pricing-panel .coupon-embedded .coupon:before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--pricing-accent)}
#pricing-panel .coupon-embedded .coupon.orange{background:#fff;border-color:var(--pricing-border)}
#pricing-panel .coupon-embedded .coupon .badge{display:inline-flex;margin:0 0 10px;padding:3px 9px;border-radius:999px;background:var(--pricing-accent-soft);color:var(--pricing-accent);font-size:11px;font-weight:900}
#pricing-panel .coupon-embedded .coupon h2{margin:0 0 6px;color:var(--pricing-ink);font-size:19px!important;line-height:1.4}
#pricing-panel .coupon-embedded .coupon h2 + h2{color:var(--pricing-accent);font-size:26px!important;letter-spacing:-.02em}
#pricing-panel .coupon-embedded .coupon p{margin:0 0 14px;color:var(--pricing-muted);font-size:13px;line-height:1.75}
#pricing-panel .coupon-embedded .expire{margin:0 0 16px;padding:10px 0;border-top:1px solid var(--pricing-border);border-bottom:1px solid var(--pricing-border);color:var(--pricing-muted);font-size:11px;line-height:1.55}
#pricing-panel .coupon-embedded .expire b{color:var(--pricing-ink);font-size:13px}
#pricing-panel .coupon-embedded .coupon .btn{display:flex;align-items:center;justify-content:center;min-height:46px;border:1px solid #e6a7b2;border-radius:9px;background:#fff!important;color:var(--pricing-accent)!important;font-weight:900;text-decoration:none}
#pricing-panel .coupon-embedded .coupon .btn:hover{border-color:var(--pricing-accent);background:var(--pricing-accent-soft)!important}
/* ── A-4 クーポンをチケット型の1行リストへ（2026-08-06／玉井さん案） ───────────── */
#pricing-panel .coupon-embedded .coupon-list{display:flex;flex-direction:column;gap:10px;margin:0}
#pricing-panel .coupon-embedded .coupon-row{
  display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:14px;align-items:center;
  padding:14px 16px;border:1px solid var(--pricing-border);border-radius:12px;background:#fff;
  color:inherit;text-decoration:none;transition:border-color .15s ease,background .15s ease;
}
#pricing-panel .coupon-embedded .coupon-row:hover{border-color:var(--pricing-accent);background:var(--pricing-accent-soft)}
#pricing-panel .coupon-embedded .coupon-row:focus-visible{outline:2px solid var(--pricing-accent);outline-offset:2px}
/* 左のチケットアイコン。種別（type-first/weekday/repeat）にかかわらず配色は共通 */
#pricing-panel .coupon-embedded .coupon-ico{
  display:grid;place-items:center;width:54px;height:54px;border-radius:12px;font-size:25px;line-height:1;
  background:var(--pricing-accent-soft);
}
#pricing-panel .coupon-embedded .coupon-main{display:flex;flex-direction:column;min-width:0;gap:3px}
#pricing-panel .coupon-embedded .coupon-head{display:flex;flex-wrap:wrap;align-items:center;gap:7px}
#pricing-panel .coupon-embedded .coupon-label{
  padding:2px 7px;border-radius:4px;background:var(--pricing-accent);color:#fff;
  font-size:9.5px;font-weight:900;letter-spacing:.1em;line-height:1.6;
}
#pricing-panel .coupon-embedded .coupon-cond{color:var(--pricing-muted);font-size:12px;font-weight:700;line-height:1.6}
#pricing-panel .coupon-embedded .coupon-amount{color:var(--pricing-accent);font-size:21px;font-weight:900;letter-spacing:-.02em;line-height:1.3}
#pricing-panel .coupon-embedded .coupon-desc{color:var(--pricing-muted);font-size:12px;line-height:1.7}
#pricing-panel .coupon-embedded .coupon-side{display:flex;align-items:center;gap:11px;flex:0 0 auto}
#pricing-panel .coupon-embedded .coupon-expire{display:flex;align-items:center;gap:8px;margin-top:2px;color:var(--pricing-muted);font-size:12px;line-height:1.6}
#pricing-panel .coupon-embedded .coupon-tag{flex:0 0 auto;padding:2px 7px;border:1px solid #f0cbd2;border-radius:5px;background:var(--pricing-accent-soft);color:var(--pricing-accent);font-size:10px;font-weight:700;line-height:1.6}
/* 丸い矢印ボタン。> の文字だと縦位置がずれるため border で描く */
#pricing-panel .coupon-embedded .coupon-go{
  position:relative;flex:0 0 auto;width:30px;height:30px;border-radius:50%;
  border:1px solid var(--pricing-accent);background:#fff;
}
#pricing-panel .coupon-embedded .coupon-go:before{
  content:'';position:absolute;left:calc(50% - 3px);top:50%;width:7px;height:7px;
  border:solid var(--pricing-accent);border-width:1.5px 1.5px 0 0;
  transform:translateY(-50%) rotate(45deg);
}
@media(max-width:600px){
  #pricing-panel .coupon-embedded .coupon-row{grid-template-columns:44px minmax(0,1fr) 30px;gap:11px;padding:13px 14px}
  #pricing-panel .coupon-embedded .coupon-ico{width:44px;height:44px;font-size:21px}
  #pricing-panel .coupon-embedded .coupon-amount{font-size:19px}
}

#pricing-panel .coupon-embedded .steps,#pricing-panel .coupon-embedded .notice{margin:34px 0 0;padding:24px 0 0;border:0;border-top:1px solid var(--pricing-border);border-radius:0;background:transparent;box-shadow:none}
#pricing-panel .coupon-embedded .notice{padding:24px 0 0;border:0;border-top:1px solid var(--pricing-border);border-radius:0;background:transparent}
@media(min-width:760px){
  #pricing-panel .coupon-embedded > .content{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}
  /* A-4で1行リストにしたため、クーポン一覧と併用注記も全幅で並べる（2026-08-06） */
  #pricing-panel .coupon-embedded .heading,#pricing-panel .coupon-embedded .intro,#pricing-panel .coupon-embedded .coupon-list,#pricing-panel .coupon-embedded .steps,#pricing-panel .coupon-embedded .notice{grid-column:1/-1}
  #pricing-panel .coupon-embedded .coupon{margin:0}
}
@media(max-width:600px){
  #pricing-panel .coupon-embedded{padding-top:20px}
  #pricing-panel .coupon-embedded .coupon{padding:18px 17px}
}

/* 料金・クーポンタブ内の切り替えタブ */
#pricing-panel .pricing-subtabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:16px 0 24px;border:1px solid #ddd;border-radius:0;overflow:hidden;background:#fff}
#pricing-panel .pricing-subtab{min-height:48px;padding:10px 12px;border:0;border-right:1px solid #ddd;background:#fff;color:#323232;box-shadow:inset 0 -1px #ddd;font:inherit;font-weight:800;cursor:pointer}
#pricing-panel .pricing-subtab:last-child{border-right:0}
#pricing-panel .pricing-subtab.is-active{background:#fff;color:var(--primary);box-shadow:inset 0 -3px var(--primary)}
#pricing-panel .pricing-subtab:hover{color:var(--primary)}
#pricing-panel .pricing-subtab:focus-visible{outline:3px solid rgba(223,97,116,.25);outline-offset:-3px}
#pricing-panel .pricing-subtab-panel.is-hidden{display:none!important}

/* ===== 詳細ページの左右端をヘッダー(.container:max-width 1140px / padding 24px)と揃える ===== */
@media(min-width:901px){
  .page{max-width:1140px!important;margin-left:auto!important;margin-right:auto!important}
  .layout{padding-left:24px!important;padding-right:24px!important}
  .breadcrumb{max-width:1140px;margin:0 auto;padding-left:24px!important;padding-right:24px!important}
}

/* ===== 総合評価の満足度ゲージ（検索一覧と統一。SVG・左から右へ・両端丸） ===== */
.rating-gauge-inline{display:flex;align-items:center;gap:16px;margin:10px 0 4px;flex-wrap:wrap}
.rating-gauge-inline .gauge{width:150px;height:88px;position:relative;flex:0 0 auto}
.rating-gauge-inline .gauge svg{width:100%;height:auto;display:block;overflow:visible}
.rating-gauge-inline .gauge-bg{fill:none;stroke:#f7e3e6;stroke-width:16;stroke-linecap:round}
.rating-gauge-inline .gauge-fg{fill:none;stroke:var(--coral);stroke-width:16;stroke-linecap:round;stroke-dasharray:251.33;stroke-dashoffset:calc(251.33 * (1 - var(--gauge-pct,0) / 100));transition:stroke-dashoffset .8s ease}
.rating-gauge-inline .gauge .score{position:absolute;left:0;right:0;bottom:0;text-align:center;color:var(--coral);font-size:31px;font-weight:800;line-height:1}
.rating-gauge-inline .gauge .score span{font-size:17px}
.rating-gauge-inline .gauge-meta .gauge-label{display:block;font-weight:800;font-size:14px;color:var(--navy)}
.rating-gauge-inline .gauge-meta .gauge-reviews{display:block;font-size:13px;color:var(--muted);margin-top:3px}
@media(max-width:600px){
  .rating-gauge-inline{gap:12px}
  .rating-gauge-inline .gauge{width:126px;height:74px}
  .rating-gauge-inline .gauge .score{font-size:26px}
  .rating-gauge-inline .gauge .score span{font-size:14px}
}

/* ===== 施設名の右側に満足度ゲージを配置 ===== */
.facility-head-row{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;flex-wrap:wrap}
.facility-headline{flex:1 1 auto;min-width:0}
.facility-headline .chips{margin-top:14px}
.facility-headline h1{margin:8px 0 2px}
.facility-head-row .rating-gauge-inline{flex:0 0 auto;margin:8px 0 0;align-items:center}
@media(max-width:900px){
  /* 狭い画面は従来どおり縦積み */
  .facility-head-row{display:block}
  .facility-head-row .rating-gauge-inline{margin:10px 0 4px}
}

/* ===== 「近くの施設」の送りボタンを正円に（従来は @media(max-width:480px) 内にのみ定義があり、PCで効いていなかった） =====
   PC限定で囲う。囲わないと 389行目の @media(max-width:700px){.nearby-slider-controls{display:none}} より
   後ろに来るため SP でも送りボタンが出て、スワイプ案内文と二重になる（2026-09-05 第2弾 F4） */
@media(min-width:701px){
  .nearby-slider-controls{display:flex;gap:8px;flex:0 0 auto}
  .nearby-slider-btn{box-sizing:border-box;width:38px;height:38px;min-width:38px;min-height:38px;padding:0;flex:0 0 auto;border:1px solid #ffd3dc;border-radius:50%;background:#fff;color:var(--coral);font-size:20px;line-height:1;display:grid;place-items:center;cursor:pointer;transition:background .2s,border-color .2s}
  .nearby-slider-btn:hover{background:var(--coral-soft);border-color:var(--coral)}
  .nearby-slider-btn:disabled{opacity:.35;cursor:default}
}

/* 下向き三角: ⌄ 文字だと縦位置がズレるため border で描画し中央に揃える */
.has-caret{position:relative}
.has-caret::after{content:"";display:inline-block;width:0;height:0;margin-left:7px;vertical-align:middle;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid currentColor;opacity:.75}

/* ===== タブの表示切替をPCでも効かせる =====
   .tab-panel.is-hidden{display:none} が @media(max-width:520px) 内にしか無く、
   PCでは全パネルが同時表示されタブが切り替わらなかった */
.tab-panel.is-hidden{display:none!important}

/* ===== タブ・パネルの幅を本文と揃える =====
   @media(min-width:901px) で .page-tabs が margin:-16px / width:calc(100% + 32px) と
   親より広げられており、上部のCTAやカードより横にはみ出していた */
@media(min-width:901px){
  .page-tabs{margin-left:0!important;margin-right:0!important;width:100%!important;max-width:100%!important}
  .facility-detail-main-content{max-width:100%!important}
  .tab-panel,.tab-content{margin-left:0!important;margin-right:0!important;width:100%!important;max-width:100%!important}
}

/* ›/‹ は字面が下寄りで縦位置が揃わない上、コーナー切り出し(border+回転)方式も
   視覚上の重心とボックス中心がズレるため、上下対称な三角形(border trick)で描く。
   上下のborderが同じ太さなので、box自体が常にちょうど中央になる */
.arw{display:inline-block;width:0;height:0;vertical-align:middle;border-top:.24em solid transparent;border-bottom:.24em solid transparent;border-left:.32em solid currentColor;flex:0 0 auto}
.arw-l{transform:rotate(180deg)}
.page-btn .arw,.nearby-slider-btn .arw{border-top-width:5px;border-bottom-width:5px;border-left-width:6px}

/* ===== 施設情報タブ「口コミ」（2026-09-05 c2_2）=====
   口コミタブ（detail.html の #reviews-doc-style）のカードと同じ値を #basic-reviews スコープで写している。
   reviews-doc-style 側は触らない。値を変えるときは両方を揃える。
   .basic-reviews-list の color / font-family は、施設情報タブの他の本文と書体・色が食い違うので指定しない
   （2026-09-05 第2弾 F2。line-height:normal だけカードの行間を口コミタブと揃えるために残す）。
   本文 p の色だけは、継承だと body の #34404a になって同タブの本文より黒くなるため、
   同タブの本文と同じ #766b66 を明示する。見出し h4 / .meta は本文より濃いままで良い。
   margin-top:44px は直前のスタッフ紹介との間隔を、後続のアクセス（.map{margin-top:44px}）と揃えるため */
#basic-reviews{margin-top:44px}
#basic-reviews .basic-reviews-list{line-height:normal}
#basic-reviews .basic-reviews-list *{box-sizing:border-box}
/* detail.css 30行目の旧 .review（border-top / padding-top / margin-top）は id 付きセレクタの方が強いので当たらない */
#basic-reviews .review{position:relative;border:1px solid #e7e7e7;border-radius:10px;margin:10px 0;padding:16px 14px 14px 62px;background:#fff}
#basic-reviews .avatar{position:absolute;left:14px;top:16px;width:38px;height:38px;border-radius:50%;background:#f1f1f1;display:grid;place-items:center;font-size:26px}
#basic-reviews .meta{font-size:13px;font-weight:400;margin-bottom:6px}
#basic-reviews .date{position:absolute;right:14px;top:18px;color:#666;font-size:12px}
#basic-reviews .sgn-reviews-rating{color:#ff9d00;font-size:18px;font-weight:800}
#basic-reviews .sgn-reviews-rating b{color:#ef5b7a;font-size:14px;margin-left:8px}
#basic-reviews .plan-tag{position:absolute;right:14px;top:48px;border-radius:8px;padding:4px 8px;font-size:11px;font-weight:700}
#basic-reviews .stay{background:#ffeef3;color:#ef5b7a}
#basic-reviews .day{background:#fff3df;color:#ee8a1a}
#basic-reviews .visit{background:#e7f7f4;color:#55b7a5}
#basic-reviews .review h4{font-size:16px;margin:10px 0 8px;color:var(--sgn-ink-head)}
#basic-reviews .review p{font-size:13px;line-height:1.75;margin:0 0 10px;color:var(--sgn-ink-body)}
#basic-reviews .review-facts{display:flex;flex-direction:column;align-items:flex-start;gap:7px;margin:0 0 10px}
#basic-reviews .fact{display:inline-flex;align-items:center;gap:6px;border-radius:7px;padding:5px 10px;font-size:11.5px;font-weight:700;line-height:1.5;background:#ffeef3;color:#ef5b7a}
#basic-reviews .fact i{font-style:normal;font-size:12px;line-height:1}
#basic-reviews .fact--no{background:#f1f1f1;color:#777}
#basic-reviews .fact--best{background:#e6f7f4;color:#159b89}
#basic-reviews .fact--best b{font-weight:800;margin-left:2px}
#basic-reviews .basic-reviews-more{margin-top:16px}
@media(max-width:520px){
  #basic-reviews .review{padding-left:14px;padding-top:62px}
  #basic-reviews .avatar{top:14px}
  #basic-reviews .date{top:22px}
  #basic-reviews .plan-tag{top:48px}
}

/* ===== 2026-09-05 表示崩れの修正（第1弾）===== */

/* スマホで料金・クーポン／口コミタブだけ右へ16pxはみ出していた。
   .tab-panel:not(.is-hidden) の width:calc(100% + 32px) は
   margin-left:-16px とセットで全幅にする指定だが、この2枚は
   #pricing-panel,#reviews-panel{margin:0!important} で相殺が消え幅だけ残るため。
   この2枚は親の幅に戻す（左右の余白が基本情報タブと同じ16pxになる） */
@media(max-width:700px){
  #pricing-panel,
  #reviews-panel{
    width:100%!important;
    max-width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
  }
}

/* クーポンの「ご利用方法」「ご注意事項」を料金タブ本文と同じ
   「区切り線＋◾見出し＋リスト（箱なし）」に揃える。
   スマホは .card{padding:16px!important} が当たるので !important で上書きする */
#pricing-panel .coupon-embedded .steps,
#pricing-panel .coupon-embedded .notice{
  padding-left:0!important;
  padding-right:0!important;
  padding-bottom:0!important;
  /* 486行の .card{border-radius:12px!important} が当たると区切り線の両端が丸まる */
  border-radius:0!important;
}
/* 区切り線→◾見出しの間は料金タブのジャンル境界（.plan-category-card の
   padding-top 36px / SP 30px）に合わせる。「ご利用方法」と「ご注意事項」で
   値が違うと、同じ見た目の見出しが2つ並んだときに片方だけ線に近く見える */
#pricing-panel .coupon-embedded .steps,
#pricing-panel .coupon-embedded .notice{padding-top:36px!important}
#pricing-panel .coupon-embedded .steps .sgn-h4,
#pricing-panel .coupon-embedded .notice .sgn-h4{margin-top:0}
@media(max-width:600px){
  #pricing-panel .coupon-embedded .steps,
  #pricing-panel .coupon-embedded .notice{padding-top:30px!important}
}

/* ===== 2026-09-07 スマホの左右の余白（第2弾）===== */

/* スマホは表示中のタブ本文だけ画面幅いっぱいに広げているため、
   見出し・リード文・本文が画面の左端にくっついていた（実測: 施設情報の見出し 0px、
   助成金申請 2px、設備・持ち物 0px）。料金・クーポンと口コミは第1弾で親の幅へ
   戻し済みなので、残る3枚をそろえて左右16pxの余白を作る。
   ・施設情報タブ: 基本情報・利用条件のカードは端まで伸ばしたままにしたいので
     （カード内側に16pxの余白があり文字は端に付かない）、見出しのかたまり
     （.sgn-tab-head）にだけ左右16pxを入れる
   ・助成金申請／設備・持ち物タブ: 中身がまるごと端に寄っているので、
     料金・口コミと同じく本文全体を親の幅（左右16px内側）へ戻す */
@media(max-width:700px){
  #basic-panel .sgn-tab-head{padding-left:16px;padding-right:16px}
  #access-panel,
  #features-panel{
    width:100%!important;
    max-width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
  }
}

/* 助成金申請タブの3列の料金表だけは、本文が32px狭くなると横スクロールが出る
   （390px で 表380px > 枠354px）。見出しセルを1px小さく・左右の余白を詰めて
   354px に収める。折り返しは word-break:keep-all で「通常料金／（税込）」のように
   語のまとまりで切る（既定のままだと「（税／込）」と括弧の中で切れる）。
   390px では1行のまま収まり、360px 以下でのみ2行になる */
@media(max-width:700px){
  #subsidy-doc .sgn-table--cols thead th{
    white-space:normal!important;
    word-break:keep-all!important;
    font-size:11px!important;
    padding-left:8px!important;
    padding-right:8px!important;
  }
  #subsidy-doc .sgn-table--cols td{padding-left:10px!important;padding-right:10px!important}
}

/* ===== 2026-09-07 画面下の追従CTA ===== */

/* スクロール中、タブが追従CTAの帯へ重なって手前に描かれていた。
   スマホのタブは position:sticky / z-index:30、CTA は z-index:20 のため。
   実測（390x844）ではスクロール 950〜1050px でタブがCTAの上に乗り、
   CTAの帯の最前面が .page-tab（＝ボタンが押せない）になっていた。
   画面に固定するCTAは常に手前に置く（back-to-top は 150 なのでその下） */
.bottom-cta{z-index:40!important}

/* 追従CTAのボタンだけ文字が上に寄っていた（実測: 高さ50pxに対し文字の中心が4px上）。
   .btn は display:block で min-height:50px だけを持つため、1行の文字が上端に付く。
   .actions のボタンは中身が高さいっぱいなのでズレていない */
.bottom-cta .btn{display:flex;align-items:center;justify-content:center}

/* ===== 2026-09-28 施設詳細の上部（9/18MTG・9/23受領HTML） ===== */

/* おすすめ（PR設定）。色は検索結果の .badge-recommend（--gold）に合わせた仮の色。No.28の色調整で確定させる */
.chip.recommend{background:#f2b322!important;color:#fff!important}

/* 3ボタン：PCはキャッチコピーの右に小さく、スマホはタブの下（.actions-sp） */
.facility-lead-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px 20px;margin:12px 0 22px}
.facility-lead-row .lead{flex:1 1 360px;min-width:0;margin:0}
/* 398行の .actions{width:100%} が効くと改行してキャッチの下へ落ちるので auto に戻す */
.actions.actions-pc{display:flex!important;flex:0 0 auto;width:auto;gap:8px!important;margin:0 0 0 auto}
.actions.actions-pc .btn{display:flex;align-items:center;justify-content:center;min-height:38px!important;padding:7px 14px!important;font-size:13px;white-space:nowrap}
.actions.actions-sp{display:none!important}
@media(max-width:700px){
  .facility-lead-row{display:block}
  .actions.actions-pc{display:none!important}
  .actions.actions-sp{display:grid!important;margin:0 0 14px}
}

/* タブの下に移したお知らせ・スマホの3ボタン。タブ本文（.tab-panel）と同じ白地にして、
   タブ → この枠 → 本文 が途切れずにつながって見えるようにする */
.detail-under-tabs{padding:16px 0 0;background:transparent} /* 2026-09-30 白→透明。タブの箱と同じくページの地色に揃える */
@media(max-width:700px){
  .detail-under-tabs{margin:0 -16px;padding:16px 16px 0}
}

/* 委託施設カード（「助成金でお得に利用できます」の置き換え）。値は受領HTMLのまま。
   変数は :root に置かずカードに閉じる（稼働CSSの :root が既に7箇所あるため） */
.subsidy-card{
  --subsidy-pink:#f23868;
  --subsidy-pink-dark:#ec285b;
  --subsidy-pink-line:#f6a9bd;
  --subsidy-pink-pale:#fff7f9;
  --subsidy-text:var(--sgn-ink-body);
  --subsidy-muted:#4d5c67;
  margin:0 0 24px;
  padding:28px 24px 26px;
  color:var(--subsidy-text);
  background:linear-gradient(135deg,#fff9fb 0%,var(--subsidy-pink-pale) 100%);
  border:1px solid #f9c5d2;
  border-radius:20px;
}
.subsidy-card__header{display:flex;align-items:center;gap:12px}
.subsidy-card__info-icon{
  display:grid;
  flex:0 0 42px;
  width:42px;
  height:42px;
  place-items:center;
  color:#fff;
  background:linear-gradient(145deg,#f63b70,var(--subsidy-pink-dark));
  border-radius:50%;
}
.subsidy-card__info-icon svg{width:24px;height:24px}
.subsidy-card__title{
  margin:0;
  color:var(--subsidy-pink-dark);
  font-size:clamp(20px,5.3vw,28px);
  font-weight:700;
  line-height:1.45;
  letter-spacing:.01em;
}
.subsidy-card__description{margin:24px 0 0;color:var(--subsidy-text);font-size:16px;line-height:1.9}
.subsidy-card__body{margin-top:24px;padding-top:24px;border-top:1px solid #f7d6df}
.subsidy-card__heading{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0;
  color:var(--sgn-ink-head);
  font-size:20px;
  font-weight:700;
  line-height:1.5;
}
.subsidy-card__heading::before{flex:0 0 5px;width:5px;height:28px;content:"";background:var(--subsidy-pink);border-radius:999px}
.subsidy-card__municipalities{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0 0;padding:0;list-style:none}
.subsidy-card__municipality{
  min-width:96px;
  padding:10px 17px;
  color:var(--subsidy-pink-dark);
  background:#fff;
  border:1px solid var(--subsidy-pink-line);
  border-radius:999px;
  font-size:16px;
  font-weight:700;
  line-height:1.35;
  text-align:center;
}
/* 自治体は2段まで。3段目以降は JS が is-over を付けて隠し、「全自治体を見る」で開く（開いたら閉じない） */
.subsidy-card__municipality.is-over{display:none}
.subsidy-card__more{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin:2px 0 0;
  padding:4px 2px;
  color:var(--subsidy-pink-dark);
  background:none;
  border:0;
  font:inherit;
  font-size:15px;
  font-weight:700;
  line-height:1.5;
  cursor:pointer;
}
.subsidy-card__more[hidden]{display:none}
.subsidy-card__more svg{width:13px;height:8px}
.subsidy-card__more:hover,.subsidy-card__more:focus-visible{text-decoration:underline;text-underline-offset:3px}
/* ボタンは a,button{min-height:44px}（485行）で箱が高く、文字の上下が空くため、外側の余白で詰める */
.subsidy-card__more + .subsidy-card__note{margin-top:6px}
.subsidy-card__municipalities:focus{outline:none}
.subsidy-card__note{margin:20px 0 0;color:var(--subsidy-muted);font-size:13px;line-height:1.7}
.subsidy-card__link{
  display:flex;
  position:relative;
  align-items:center;
  justify-content:center;
  gap:10px;
  width:100%;
  min-height:58px;
  margin-top:22px;
  padding:13px 46px 13px 18px;
  color:var(--subsidy-pink-dark);
  background:#fff;
  border:1.5px solid var(--subsidy-pink);
  border-radius:14px;
  font-size:16px;
  font-weight:700;
  line-height:1.5;
  text-align:center;
  text-decoration:none;
  transition:background-color .2s ease,color .2s ease;
}
.subsidy-card__link:hover,.subsidy-card__link:focus-visible{color:#fff;background:var(--subsidy-pink);outline:none}
.subsidy-card__arrow{position:absolute;top:50%;right:20px;width:10px;height:18px;transform:translateY(-50%)}
@media(max-width:480px){
  .subsidy-card{padding:22px 18px 20px;border-radius:16px}
  .subsidy-card__header{align-items:flex-start;gap:10px}
  .subsidy-card__info-icon{flex-basis:34px;width:34px;height:34px;margin-top:1px}
  .subsidy-card__info-icon svg{width:20px;height:20px}
  .subsidy-card__title{font-size:20px;line-height:1.5}
  .subsidy-card__description{margin-top:18px;font-size:14px;line-height:1.8}
  .subsidy-card__body{margin-top:20px;padding-top:20px}
  .subsidy-card__heading{font-size:17px}
  .subsidy-card__heading::before{height:24px}
  .subsidy-card__municipalities{gap:8px;margin-top:16px}
  .subsidy-card__municipality{min-width:0;padding:8px 14px;font-size:14px}
  .subsidy-card__more{margin-top:0;font-size:14px}
  .subsidy-card__more + .subsidy-card__note{margin-top:4px}
  .subsidy-card__note{margin-top:16px;font-size:12px}
  .subsidy-card__link{min-height:54px;margin-top:18px;padding-right:40px;font-size:14px}
  .subsidy-card__arrow{right:17px}
}

/* 利用条件へ移した自己負担額の目安。ピンクのままか黒に揃えるかは No.29 で決める。
   値の欄は既定が display:flex で、金額・自治体・注記が横3列に割れるため block に戻す。
   ラベルはスマホの108px列で「安」1文字だけ折り返すので、<wbr> の位置（自己負担額／の目安）でだけ折る */
.usage-condition-value.usage-copay{display:block}
.usage-copay-label{word-break:keep-all}
.usage-copay-amount{color:var(--coral);font-weight:800}
.usage-copay-note{display:block;margin-top:2px;color:var(--muted);font-size:12px}

/* 施設名の上のタグは .chips>.chip:nth-child(1〜4) で色と枠線を番号で当てている（9行）。
   「おすすめ」を4番目に入れたため、番号に頼らず2つのタグの枠線をクラスで当て直す */
.chips>.chip.recommend{border:1px solid #f2b322}
.chips>.chip.coral{border:1px solid #9fd2cf}
/* 5個になり、スマホで「助成金対象」だけ2段目に落ちていた（390pxで 合計338+間隔32=370 > 358）。
   左右の余白と間隔を詰めて1段に収める */
@media(max-width:420px){
  .facility-headline .chips{gap:6px!important}
  .facility-headline .chips>.chip{padding:5px 7px!important}
}
@media(max-width:370px){
  .facility-headline .chips{gap:5px!important}
  .facility-headline .chips>.chip{padding:5px 6px!important}
}

/* 委託施設カードの見出し：受領HTMLは481px以上で最大28px。h1 が600px以下で27pxに下がるため、
   481〜600pxで見出しが施設名より大きくなる。600px以下は受領HTMLのスマホ値（20px）に揃える */
@media(max-width:600px){
  .subsidy-card__title{font-size:20px;line-height:1.5}
  /* 見出しと同じ20pxにならないよう、小見出しも受領HTMLのスマホ値に揃える */
  .subsidy-card__heading{font-size:17px}
  .subsidy-card__heading::before{height:24px}
}
/* 見出し・キャッチの最終行が「す」「す。」の1〜2文字だけになるのを避ける（文章は施設ごとに変わるため改行位置の指定では防げない）。
   pretty では2〜3文字残ったため balance で行の長さを揃え、auto-phrase で文節の切れ目で折る（未対応ブラウザは従来どおり） */
.subsidy-card__title,.facility-lead-row .lead{text-wrap:balance;word-break:auto-phrase}

/* PCの3ボタン：701〜808pxでキャッチの下へ落ちていたため、キャッチの基準幅を詰める。
   701〜900px はタッチ端末の幅なので、サイト共通の押せる高さ44pxに揃える */
.facility-lead-row .lead{flex-basis:240px}
@media(min-width:701px) and (max-width:900px){
  .actions.actions-pc .btn{min-height:44px!important}
}

/* スマホの「料金」タブだけ9px・字間詰めになっていた（「料金・クーポン」を収めるための 632行の指定）。
   名前が短くなったので他のタブと同じ大きさに戻す */
@media(max-width:700px){
  .page-tabs .page-tab:nth-child(2){
    padding-left:2px!important;
    padding-right:2px!important;
    font-size:11px!important;
    letter-spacing:normal!important;
  }
}

/* 2026-09-30 玉井さん指示（8/30 PDF「施設情報タブ」）と、その後の調整
   ・基本情報を口コミの後ろへ移したので、タブ直下の利用条件は上余白を詰め、基本情報には他のセクションと同じ44pxを付ける
   ・こだわりは写真だけを左上と右下で大きく丸め、本文はベージュの箱から出してページの地色の上に置く（見本どおり）
   ・スタッフ紹介・口コミ・アクセス・近くの施設の外枠を外す（中の口コミ1件ずつの枠は残す）
   ・セクションの区切りは罫線を使わず44pxの空白だけにそろえ、見出しの左端もそろえる（見本どおり） */
#basic-panel .sgn-tab-head + .usage-conditions-card{margin-top:0!important}
#basic-info{margin-top:44px!important}
.preference-story,.gallery-section-cardless,.staff-section-cardless{padding-top:0!important;padding-bottom:0!important;border-top:0!important;border-bottom:0!important}
.preference-story-heading{padding-left:0!important}
.gallery-section-cardless,.gallery-section-cardless .title-row{padding-left:0!important;padding-right:0!important}
.preference-story-visual{border-radius:0!important;background:transparent!important;overflow:visible!important;min-height:0!important}
.preference-story-visual img{border-radius:96px 0!important}
.preference-story-copy{padding:20px 0 0!important}
.staff-feature{border:0!important;padding:0!important;background:transparent!important}
#basic-reviews,#access,#facility-posts{border:0!important;border-radius:0!important;padding:0!important;background:transparent!important}
.nearby-facilities{margin-top:44px!important;border:0!important;border-radius:0!important;padding:0!important;background:transparent!important;box-shadow:none!important}
/* 利用条件の注記：行全体のボタンをやめ、「詳しくは各プラン詳細をご覧ください。」の文字だけをリンクにした（右端の矢印も削除）。見た目は旧 .usage-condition-note-link strong と同じ。
   スマホで語の途中（「各プ／ラン」など）で折れないよう、リンクはひとまとまりで折り返す */
@media(max-width:700px){
  .preference-story-visual img{border-radius:56px 0!important}
  #basic-info{padding-top:0!important;padding-bottom:0!important}
  .usage-conditions-card{padding-bottom:0!important}
}

/* 2026-09-30 玉井さん指示（9/30）：委託施設の枠を助成金タブの先頭へ移し、キャッチコピーを消した。
   空いた分、施設名の右の満足度ゲージを大きくする。数字は施設名（38／32／27px）より大きくしない */
@media(min-width:901px){
  .facility-head-row .rating-gauge-inline .gauge{width:180px;height:106px}
  .facility-head-row .rating-gauge-inline .gauge .score{font-size:34px}
  .facility-head-row .rating-gauge-inline .gauge .score span{font-size:19px}
}
@media(min-width:601px) and (max-width:900px){
  .facility-head-row .rating-gauge-inline .gauge{width:165px;height:97px}
}
@media(max-width:600px){
  .facility-head-row .rating-gauge-inline .gauge{width:138px;height:81px}
}
/* 助成金タブの先頭の委託施設枠。上のお知らせ枠と間を空け、タイトルはタブの見出し「助成金申請」（24／21px）より小さくする */
#access-panel > .subsidy-card{margin-top:22px}
#access-panel .subsidy-card__title{font-size:20px}

/* 2026-10-01 玉井さん指示（9/30。8/20 PDF「料金・プランタブ」右側の画像）：プランカードを作り直し（.pr-card）。
   左＝名前・説明・「項目名｜テキスト」の行、右＝価格の箱＋ボタン。
   助成金対象は種別の3色・アイコン・通常料金・詳細を見る（種別ページ）。
   文字色は項目名チップの地（--pr-soft）の上で4.5:1以上になる濃さ（宿泊4.64／通所4.73／訪問5.09／ピンク4.91）。
   コースメニュー／教室・交流会は写真を左に置き、色はピンク・価格の箱は白（PDFの「ピンク色はなしで白に統一」）。
   価格の箱はカードの中に浮いた角丸の箱（PDFの画像）。
   旧 .plan-card のCSSは detail.html 内の #pricing-doc の <style> に残っているが使っていない（使用中の .badge・.price 等と同じ行に混ざっているため残置） */
#pricing-panel #pricing-doc .pr-card{--pr-ink:#c42a53;--pr-soft:#fdeef2;--pr-box:#fff;--pr-line:#f1dfe4;display:grid;grid-template-columns:minmax(0,1fr) 252px;margin:0;border:1px solid #ebe3e5;border-radius:14px;background:#fff;color:var(--sgn-ink-body);overflow:hidden}
#pricing-panel #pricing-doc .pr-card.has-photo{grid-template-columns:136px minmax(0,1fr) 252px}
#pricing-panel #pricing-doc .pr-card--stay{--pr-ink:#3f7096;--pr-soft:#eaf1f7;--pr-box:#f4f8fb;--pr-line:#dae6f0}
#pricing-panel #pricing-doc .pr-card--day{--pr-ink:#2a756e;--pr-soft:#e5f2f0;--pr-box:#f2f9f8;--pr-line:#d3e8e4}
#pricing-panel #pricing-doc .pr-card--visit{--pr-ink:#806015;--pr-soft:#f7efdb;--pr-box:#fbf7ec;--pr-line:#ece0c2}
#pricing-panel #pricing-doc .pr-card-photo{display:block;width:100%;height:100%;min-height:150px;object-fit:cover}
#pricing-panel #pricing-doc .pr-card-main{min-width:0;padding:18px 20px}
#pricing-panel #pricing-doc .pr-card-name{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin:0 0 6px;font-size:18px;font-weight:800;line-height:1.45;color:var(--pr-ink)}
#pricing-panel #pricing-doc .pr-card-icon{font-size:20px;line-height:1}
#pricing-panel #pricing-doc .pr-card-name .badge{padding:2px 9px;border:0;border-radius:999px;background:var(--pr-ink);color:#fff;font-size:11px;font-weight:700;line-height:1.6}
#pricing-panel #pricing-doc .pr-card-desc{margin:0 0 12px;font-size:13px;line-height:1.7;color:var(--sgn-ink-body)}
#pricing-panel #pricing-doc .pr-card-rows{display:grid;gap:7px;margin:0}
#pricing-panel #pricing-doc .pr-card-rows > div{display:grid;grid-template-columns:5.6em minmax(0,1fr);align-items:center;gap:10px}
#pricing-panel #pricing-doc .pr-card-rows dt{padding:2px 6px;border-radius:4px;background:var(--pr-soft);color:var(--pr-ink);font-size:11.5px;font-weight:700;line-height:1.6;text-align:center}
#pricing-panel #pricing-doc .pr-card-rows dd{margin:0;font-size:13.5px;line-height:1.6;color:var(--sgn-ink-body)}
#pricing-panel #pricing-doc .pr-card-price{display:flex;flex-direction:column;justify-content:center;gap:2px;margin:12px 12px 12px 0;padding:16px;border:1px solid var(--pr-line);border-radius:10px;background:var(--pr-box)}
#pricing-panel #pricing-doc .pr-price-head{font-size:12px;line-height:1.6;color:var(--sgn-ink-body)}
#pricing-panel #pricing-doc .pr-price{font-size:28px;font-weight:800;line-height:1.25;letter-spacing:-.01em;white-space:nowrap;color:var(--pr-ink)}
#pricing-panel #pricing-doc .pr-price small{margin-left:2px;font-size:15px;font-weight:700}
#pricing-panel #pricing-doc .pr-price-sub{font-size:12px;line-height:1.6;color:#555}
#pricing-panel #pricing-doc .pr-btn{position:relative;display:flex;align-items:center;justify-content:center;min-height:40px;margin-top:10px;padding:8px 30px;border:1px solid var(--pr-ink);border-radius:8px;font-size:13px;font-weight:700;line-height:1.4;text-align:center;text-decoration:none}
#pricing-panel #pricing-doc .pr-btn + .pr-btn{margin-top:8px}
#pricing-panel #pricing-doc .pr-btn .arw{position:absolute;right:14px;top:50%;margin-top:-.24em}
#pricing-panel #pricing-doc .pr-btn--outline{background:#fff;color:var(--pr-ink)}
#pricing-panel #pricing-doc .pr-btn--primary{background:var(--pr-ink);color:#fff}
@media(max-width:700px){
  #pricing-panel #pricing-doc .pr-card{grid-template-columns:minmax(0,1fr)}
  #pricing-panel #pricing-doc .pr-card.has-photo{grid-template-columns:96px minmax(0,1fr)}
  #pricing-panel #pricing-doc .pr-card-photo{align-self:start;height:auto;min-height:0;aspect-ratio:1/1}
  #pricing-panel #pricing-doc .pr-card-main{padding:14px}
  #pricing-panel #pricing-doc .pr-card-name{font-size:17px}
  #pricing-panel #pricing-doc .pr-card-price{grid-column:1/-1;margin:0 14px 14px;padding:14px}
  #pricing-panel #pricing-doc .pr-btn{min-height:44px}
}

/* 2026-10-01 玉井さん指示（9/30。8/20 PDF「施設情報タブ」のPC画像）：お知らせを施設名の下の1行（📢 日付｜タイトル）に。
   PCは3ボタンの行の左に置き、長いタイトルは1行で切る。スマホは3ボタンが無い行なのでゲージの下に1行で出る。
   flex-basis を 0 にしているのは、タイトルの長さで3ボタンが次の行へ押し出されないようにするため（auto だと701〜754pxで落ちた）。
   アイコンはPDFのグレーの線画に合わせて Material Icons（header.tpl で読込済み）。絵文字だと環境ごとにカラーで出る */
.facility-lead-row .notice-line{display:flex;align-items:center;gap:8px;flex:1 1 0;min-width:0;margin:0;font-size:13px;line-height:1.5;color:#5f6b76}
.notice-line-icon{flex:0 0 auto;font-size:18px;line-height:1;color:#7a8590}
.notice-line-date{flex:0 0 auto;white-space:nowrap;font-variant-numeric:tabular-nums}
.notice-line-divider{flex:0 0 1px;width:1px;height:12px;background:#c9cfd4}
.notice-line-title{min-width:0;min-height:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--navy);font-weight:700;text-decoration:underline;text-underline-offset:2px}

/* 2026-10-01 玉井さん指示（9/30。8/20 PDF「設備・持ち物タブ」の画像）
   ・設備・サービス一覧：カテゴリ名をサイト共通の小見出し（◾）にし、項目は枠線の表（スマホ2列・PC3列・白地）。アイコンは出さない
   ・持ち物の注記：ピンクの線で囲む（「安心してご利用いただくために」はHTMLから削除）
   detail.html 内の #features-doc の <style> が後から読まれて勝つため、#features-panel を足して詳細度で上回る */
#features-panel #features-doc .feature-categories{display:block;margin-top:0}
#features-panel #features-doc .feature-category{display:block;border:0;border-radius:0;background:transparent;overflow:visible}
#features-panel #features-doc .feature-category-title{display:block;padding:0;background:transparent;text-align:left}
#features-panel #features-doc .feature-category-title .sgn-h4{margin:26px 0 10px;font-size:17px;font-weight:700;line-height:1.5;color:var(--sgn-ink-head)}
#features-panel #features-doc .feature-category-icon,
#features-panel #features-doc .feature-category .service-icon{display:none}
/* 表の外枠は outline（内側1px）で描く。件数が列数で割り切れないとき、空いたマスも枠で閉じて表の形を保つため
   （border-top/left だと最後の行の空きマスに右と下の線が無く、階段状に開いていた） */
#features-panel #features-doc .feature-category-items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding:0;border:0;outline:1px solid #e3e3e3;outline-offset:-1px;background:#fff}
#features-panel #features-doc .feature-category .feature{display:block;min-height:0;padding:10px 14px;text-align:left;border:0!important;border-right:1px solid #e3e3e3!important;border-bottom:1px solid #e3e3e3!important;background:#fff}
#features-panel #features-doc .feature-category .feature b{display:block;font-size:14px;font-weight:400;line-height:1.6;color:var(--sgn-ink-body)}
/* 261024 玉井さん：名前は全角スペースの位置で .ft-line に分かれている（pubFeatureLines）。PC・スマホとも行ごとに折る
   PC だけ1行につなぐ形も試したが、長い名前が 1280 でも語の途中で折れた（ミテクレ 10/24。768 では11件）ので PC も折る */
#features-panel #features-doc .feature-category .feature .ft-line{display:block}
#features-panel #features-doc .belongings-note{margin-top:16px;padding:0;border:0;border-radius:0;background:transparent;color:#555}
/* 助成金タブ：自治体ごとの助成金情報（md記事）へのリンク。「助成の利用条件」の表と「予約するまでの流れ」の下に置く。
   色は白地で 4.67:1（サイトのピンク #e45276 は 3.64:1 で 14px の文字には足りない） */
/* 261009 L17〜L22：どのタブでも同じ形にする。#subsidy-doc の中は all:revert（1,0,0）に負けるので、元のセレクタも並べる */
.sgn-md-link,#access-panel #subsidy-doc .sgn-md-link{display:flex;min-height:0;width:fit-content;align-items:center;gap:8px;margin-top:6px;color:var(--primary-ink);font-size:12px;font-weight:700;text-decoration:underline;text-underline-offset:3px}
@media(max-width:768px){
  #features-panel #features-doc .feature-category-title .sgn-h4{font-size:16px}
}
/* 261021 玉井さん 13:02 ⑸：スマホは2列→1列（2列だと名前が1行11字前後で語の途中から折れていた）。⑶ の空のマス（.feature--empty）はスマホでは出さない
   261024 玉井さん：名前を全角スペースの位置で改行するようにしたので、スマホは2列に戻す。2列の空きは1マスまでで、左のマスの線と外枠で閉じる */
@media(max-width:700px){
  #features-panel #features-doc .feature-category-items{grid-template-columns:repeat(2,minmax(0,1fr))}
  #features-panel #features-doc .feature-category .feature.feature--empty{display:none}
  #features-panel #features-doc .feature-category .feature{padding:9px 12px}
  #features-panel #features-doc .feature-category .feature b{font-size:13px}
}
/* 近くの施設はおすすめタグの有る・無しが混ざり、カードの高さが揃わなくなる（440px／418px）。
   common.css の height:100% があると横並びの高さ揃え（stretch）が効かないので auto に戻す */
.nearby-slider .facility-card{height:auto}

/* 2026-10-01 玉井さん指示（10/1）：セクション間を広げる（見出しのピンクの横棒の上）。PC 60px／768px以下 48px にそろえる。
   助成金・設備タブの見出しは common.css の .sgn-h3（40→60／32→48）、ここは施設情報タブ・近くの施設・料金タブの分。
   料金タブの2つは枠の上の線（1px）と枠の内側の余白（20／18px）を含めて 60／48px になるよう margin-top を引き算している */
.preference-story,.gallery-section-cardless,.staff-section-cardless,.map,#basic-reviews,#basic-info,#facility-posts,.nearby-facilities{margin-top:60px!important}
#pricing-panel #pricing-doc .notice{margin-top:39px}
#pricing-panel #pricing-doc .cancel-policy{margin-top:41px}
@media(max-width:768px){
  .preference-story,.gallery-section-cardless,.staff-section-cardless,.map,#basic-reviews,#basic-info,#facility-posts,.nearby-facilities{margin-top:48px!important}
  #pricing-panel #pricing-doc .notice{margin-top:27px}
  #pricing-panel #pricing-doc .cancel-policy{margin-top:29px}
}

/* 2026-10-01 玉井さん指摘（10/1）：スマホで5つのタブの背景が透ける。
   固定（.is-sticky-fixed）に切り替わる手前は CSS の sticky でヘッダー下に貼り付いており、その間は背景が無かった。
   切り替えの計算違いは detail.html のスクリプトで直したうえで、手前の状態にも固定時と同じ背景を敷く。
   ページの地色と同じ色なので、スクロールしていないときの見た目は変わらない */
@media(max-width:700px){
  .page-tabs{background:#FCFBFA!important}
}

/* 2026-10-01 玉井さん指示（10/1）で、タブの下のボタンは「お気に入りに追加」1つになった。
   全幅（55px・16px）のままだと、画面下の主ボタン（予約する 50px・12px）より目立つため、
   PCのボタン（13px・高さ44px）と同じ大きさにして右へ寄せる */
@media(max-width:700px){
  .actions.actions-sp{display:flex!important;justify-content:flex-end;margin:0 0 12px}
  .actions.actions-sp .btn{min-height:44px!important;padding:8px 14px!important;font-size:13px;display:flex;align-items:center}
}

/* 2026-10-02 玉井さん指示（10/2・添付画像）：施設名の横（スマホは下）のゲージをやめ、
   「96% 安心満足度」と「1位 （最多の項目）」を大きく左右に並べる。間は点線。数字の下半分に薄いピンクの帯を敷く。
   数字の色は口コミタブの最多項目の塗りと同じ #d6335e（地の上で4.5:1・帯の上で4.0:1。太字の大きい文字の基準3:1を満たす）。
   サイトのピンク #e85f73 だと帯の上で3:1に届かない。
   PCは施設名の右（旧ゲージの位置）、900px以下は施設名の下に並べる。
   .rating-gauge-inline を当てているCSS（739〜753・760・764・1165〜1175行）は使っていない（.facility-head-row 自体の指定は使用中）。
   大きさ・帯・間隔は見本（848px幅＝424px相当）の画素の実測に合わせた：
     数字の高さ＝施設名の字の約1.4倍／帯は数字の下41%に重なり下へ約9pxはみ出す・幅は左右とも約110px／
     数字→ラベル14px・施設名→数字30px・注記→お知らせ27px */
.detail-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;margin:0}
.detail-stat{min-width:0;padding:2px 6px;text-align:center}
.detail-stat + .detail-stat{border-left:2px dotted #cfd4d8}
.detail-stats p{margin:0}
/* 数字（% と 位 を含む）は見本の丸文字に合わせ Zen Maru Gothic（header.tpl で 400/500/700/900 を読込済み）。
   太さは見本の「1」の縦線÷字の高さ 0.178 に 900（0.179）が一致（700 は 0.164、旧 Noto Sans JP 800 は 0.299）。800 は読み込んでいないので書かない。
   この字体（900）の数字は枠の上から 0.22〜0.93em に描かれる（字の高さ 0.71em）。帯の位置はこれを基準に em で決めている。
   inline-block だと行の高さの分だけ下に余白ができ、ラベルとの間が開くので block にする */
.detail-stat-value{position:relative;z-index:0;display:block;font-family:var(--sgn-font-head);font-size:50px;font-weight:900;line-height:1;letter-spacing:-.01em;color:#d6335e;font-variant-numeric:tabular-nums}
.detail-stat-value span{margin-left:.04em;font-size:.5em;letter-spacing:0}
.detail-stat-value::before{content:"";position:absolute;z-index:-1;left:50%;top:.64em;width:2.2em;height:.5em;border-radius:.14em;background:#fde9ee;transform:translateX(-50%)}
/* ラベルは「説明のわかりやすさ」（最長9文字）でも点線に近づかないよう、画面幅に合わせて15〜12pxで縮める */
.detail-stat-label{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:8px!important;font-size:clamp(12px,calc((100vw - 32px) / 24),15px);font-weight:800;line-height:1.4;color:var(--sgn-ink-body);white-space:nowrap}
.detail-stat-icon{flex:0 0 auto;color:#d6335e;font-size:18px;line-height:1}
/* ♥ は文字だと端末のフォントで形と大きさが変わり、吹き出しの6割ほどになっていた。見本どおり吹き出しより少し大きい塗りのハートを図形で描く */
.detail-stat-heart{width:20px;height:20px;fill:currentColor}
.detail-stat-note{margin-top:4px!important;font-size:12px;line-height:1.5;color:var(--muted)}
/* 施設名が長く2枠が下へ回ったときの間を、900px以下（10px＋見出しの余白）と同じ程度にする（gap 24px が縦にも効いていた） */
.facility-head-row{row-gap:0}
.facility-head-row .detail-stats{flex:0 0 auto;width:360px;margin-top:22px}
@media(max-width:900px){
  /* 下の余白はお知らせの行の上（.facility-lead-row の margin-top:12px）と重なって大きい方だけが効く。18px で注記→お知らせが見本の27px */
  .facility-head-row .detail-stats{width:auto;max-width:520px;margin:10px 0 18px}
}
@media(max-width:374px){
  .detail-stat-value{font-size:44px}
  .detail-stat-icon{font-size:16px}
  .detail-stat-heart{width:18px;height:18px}
}
@media(max-width:340px){
  .detail-stat-label{gap:4px}
}

/* 2026-10-02 玉井さん指示（10/2・添付画像）：スマホのお気に入りは写真の右上のハート（白い丸・ピンクの枠）。
   タブの下の「お気に入りに追加」（.actions-sp）はHTMLから外した。PCは .actions-pc のまま */
.hero-fav{display:none}
@media(max-width:700px){
  .hero-fav{position:absolute;top:10px;right:10px;display:grid;place-items:center;width:44px;height:44px;min-height:44px!important;
    border:1.5px solid #d6335e;border-radius:50%;background:rgba(255,255,255,.96);color:#d6335e;
    box-shadow:0 2px 6px rgba(0,0,0,.14);text-decoration:none}
  .hero-fav .material-icons-outlined{font-size:24px;line-height:1}
}

/* 2026-10-02 花弥さん指摘：700px以下で写真ギャラリーの写真が枠（210／112px）より低く、下に地色が出ていた（元から）。
   113行の古い指定 .gallery img{height:92px}（枠 .gallery-item を作る前のもの）が、
   13行の .gallery-item img{height:100%} と詳細度が同じで後ろにあるため勝っていた */
.gallery .gallery-item img{height:100%}

/* ===================================================================
   2026-10-05b 玉井さん 10/2 20:52 指示（小・中）
   #3 5タブを少し低く（長方形に）／#4 料金内2タブを見出しの下へ／
   #8 委託施設カードを「助成金申請」見出しの下へ／A PCの2枠を施設名の下・タブの上へ
   =================================================================== */

/* --- #3 5つのタブの高さ -----------------------------------------------
   52px（PCは padding 9px＋アイコン20pxで実測 約58px）→ 46px に統一する。
   「少し低く・長方形に」の具体値の指定が無いため 46px は仮決め。
   アイコン＋文字の中身はPCで約40pxなので、上下paddingを3pxに詰めて
   どの画面幅でも 46px に収まるようにしている（SPは中身35pxで min-height が効く）。
   1（planの3タブ）・5（料金内2タブ）でも同じ値を使えるよう変数にした。
   角丸は指示が無いので変えない */
:root{--sgn-tab-h:46px}
.page-tabs .page-tab{
  min-height:var(--sgn-tab-h)!important;
  padding-top:3px!important;
  padding-bottom:3px!important;
}

/* --- #4 料金タブ：見出しと「種別のご案内」を2タブの上へ ------------------
   もとは #pricing-doc（all:initial で親のCSSを断っている）の中にあった。
   2タブ側を #pricing-doc へ入れるとクーポン表示中に一緒に隠れてしまうので、
   見出し側を外へ出した。そのため見た目はここで作り直している。
   左右の余白は **0**。本文（プランカード）は #pricing-panel の左端ぴったりから始まる。
   detail.html:420 の `#pricing-doc main{padding:18px 14px}` と :396 の `#pricing-doc{margin:8px}` は
   どちらも後ろで上書きされていて（:403 で margin:0、:506/:524 で padding の左右 0!important）、
   実測値は margin 0・main padding PC「14px 0 4px」/ SP「10px 0 4px」。
   前の行だけ読んで 22px/14px を入れると見出しだけ内側へずれる（261005b で一度やった）。
   色は #pricing-doc 側と同じ値を直書きする（9の色統一は未確定のため今は変えない） */
#pricing-panel .pricing-panel-head{padding:18px 0 0}
#pricing-panel .pricing-panel-head .page-title{display:flex;gap:12px;align-items:center;margin:0 0 12px}
#pricing-panel .pricing-panel-head .title-icon{
  flex:0 0 auto;width:36px;height:36px;border-radius:10px;background:#fff4f7;
  display:flex;align-items:center;justify-content:center;color:#ef5b7a;font-size:22px;
}
#pricing-panel .pricing-panel-head .sgn-h2{margin:0}
/* 下線はもともと .plans-head（種別案内の囲み）に付いていたので、そのまま持ってくる */
#pricing-panel > .pricing-panel-head .plan-type-guides{
  display:flex;align-items:center;flex-wrap:wrap;gap:8px;
  margin:0;padding:0 0 10px;border-bottom:0;
}
#pricing-panel > .pricing-panel-head .plan-type-guides-label{font-size:12px;font-weight:700;color:#68737d}
#pricing-panel > .pricing-panel-head .plan-type-guides-links{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
#pricing-panel > .pricing-panel-head .plan-type-guides a{
  display:inline-block;font-size:13px;font-weight:700;color:#ef5b7a;text-decoration:none;
  background:#fff;border:1px solid #ef5b7a;border-radius:999px;padding:5px 13px;
  transition:background .15s ease,color .15s ease;
}
#pricing-panel > .pricing-panel-head .plan-type-guides a:hover{background:#ef5b7a;color:#fff}
/* 2タブの上余白は見出しの囲みが持つので詰める */
#pricing-panel .pricing-subtabs{margin-top:14px}
@media(max-width:700px){
  /* 本文の左端は #pricing-panel の左端なので、こちらも左右0のまま。
     上余白だけ本文（main padding-top 10px）に寄せて詰める */
  #pricing-panel .pricing-panel-head{padding:12px 0 0}
}
@media(max-width:600px){
  /* 261001 と同じ：ラベルを1行目、その下にボタン3つを1行で並べる */
  #pricing-panel > .pricing-panel-head .plan-type-guides{flex-wrap:nowrap;flex-direction:column;align-items:flex-start;gap:6px}
  #pricing-panel > .pricing-panel-head .plan-type-guides-links{flex-wrap:nowrap}
  #pricing-panel > .pricing-panel-head .plan-type-guides a{white-space:nowrap;font-size:12.5px;padding:4px 11px}
}
@media(max-width:374px){
  #pricing-panel > .pricing-panel-head .plan-type-guides-links{gap:6px}
  #pricing-panel > .pricing-panel-head .plan-type-guides a{font-size:12px;padding:4px 8px}
}

/* --- #8 助成金タブ：「助成金申請」の見出しを委託施設カードの上へ ----------
   カードは #subsidy-doc（all:initial）の外にあり、ページのCSSで描いている。
   カードを本文側へ動かすと all:revert でカードのCSSが負けるため、
   カードは動かさず、見出しを #subsidy-doc から出してカードの上へ置いた。
   カードとの間隔は既存の #access-panel > .subsidy-card{margin-top:22px} が持つ */
#access-panel .subsidy-panel-head{padding-top:12px}
#access-panel .subsidy-panel-head .sgn-h2{margin:0}

/* --- A PCの2枠を施設名の下・5タブの上へ ---------------------------------
   もとはPC（901px以上）だけ施設名の右（width:360px）。スマホと同じ位置へ移し、
   「大きめ」の指定どおりPCは数字を 50px → 62px にする。
   位置の見本画像が無いため、スマホと同じ「施設名の下・お知らせの上」を仮決めとした。
   帯（::before）とラベルの隙間は em 指定なので数字に追従する */
@media(min-width:901px){
  .facility-head-row{display:block}
  .facility-head-row .detail-stats{width:auto;max-width:640px;margin:18px 0 0}
  .facility-head-row .detail-stat-value{font-size:62px}
  .facility-head-row .detail-stat-label{font-size:16px}
  .facility-head-row .detail-stat-icon{font-size:20px}
  .facility-head-row .detail-stat-heart{width:23px;height:23px}
  .facility-head-row .detail-stat-note{font-size:13px}
}

/* --- 261005b 検品差し戻しの修正（ウゴキ・ミテクレ指摘） --------------------
   #6 で説明文を消した結果、設備タブだけ見出しの下が70px（SP58px）空いた。
   他タブは 施設情報22／助成金22／口コミ24／料金13.2px。
   原因は .sgn-h3 の margin-top:60px。消した説明文がそこを埋めていた。
   .sgn-h3:first-child{margin-top:0}（common.css:153）は、設備タブでは
   .page-title が h3 の前にあるため効かない。見出しの直後だけ他タブにそろえる */
#features-doc .page-title + .sgn-h3{margin-top:0}

/* ===================================================================
   2026-10-06 玉井さん 10/5 23:24 の指摘・新規分
   =================================================================== */

/* --- F1 2枠（96%・1位）をPCでも中央に ---------------------------------
   901px以上は 2026-10-05b で「施設名の下」へ移したが左寄せのままだった。
   768〜900px（iPad）も max-width:520px の左寄せなので、同じく中央へ寄せる。
   390px以下は全幅なので見た目はもともと中央。
   上下の余白は各 @media の margin ショートハンドのまま（左右だけ後ろで上書き） */
.facility-head-row .detail-stats{margin-left:auto;margin-right:auto}

/* --- F2 料金タブ「種別のご案内」のボタンの文字が上へずれる ------------------
   detail.css:473 の a,button{min-height:44px} が効いていた。
   移す前は #pricing-doc の中（all:revert）で打ち消されていたが、
   261005b で見出しを外へ出したため 34px のボタンが 44px になり、文字が上へ寄った */
#pricing-panel > .pricing-panel-head .plan-type-guides a{min-height:0;line-height:1.5}

/* --- F3 料金タブ見出しの⚕を削除したので、アイコン分の隙間も不要 -------------- */
#pricing-panel .pricing-panel-head .page-title{gap:0}

/* --- N3〜N5 施設情報タブの口コミ（口コミタブ #reviews-doc と同じ値にそろえる） ----
   星と右側の種別タグは HTML から外した。「過ごせなかった」の灰色は #777 だと
   背景 #f1f1f1 に対して 4.5:1 に届かないので、口コミタブと同じく濃くする */
#basic-reviews .fact--no{color:#5c5c5c}

/* --- P2 料金・プランの見出し（助成金対象・コースメニュー・教室・交流会）を横棒の .sgn-h3 に --
   .sgn-h3 の下余白 14px は単独の見出し用。ここは直下に説明文があるので、
   もとの .sgn-h4（margin:0 0 4px）と同じ程度に詰める */
#pricing-doc .plan-genre-head .sgn-h3{margin:0 0 6px}

/* --- N2 追従ボタンのアイコン（絵文字 → Material Icons Outlined） --------------
   .bottom-cta .btn は display:flex（detail.css:935）なので gap で文字との間を取る */
.bottom-cta .btn{gap:5px}
.bottom-cta .cta-ico{font-size:19px;line-height:1;flex:0 0 auto}
/* 340〜355px でアイコン（17px＋間5px）の分だけ「問い合わせる」が2行になり、バーが 50→62.8px に伸びた（ミテクレ実測） */
@media(max-width:374px){.bottom-cta .btn{gap:3px}.bottom-cta .cta-ico{font-size:15px}}
/* 320〜330px は3等分（約97px）だと「問い合わせる」が収まらない（元の絵文字のときから2行）。幅を文字の長さに合わせて配る */
@media(max-width:340px){.bottom-cta .btn{flex:1 1 auto}}

/* --- A3 種別の色・ピンクの統一（色は common.css の --sgn-* に集約） --------------
   施設詳細のピンクは #ff5a70／#e85f73／#ef5b7a／#ee5b7a／#e75f7d／#d6335e の6種類が混在していた。
   線・塗りは --sgn-stay、文字は --sgn-stay-ink（4.5:1）へ寄せる。
   タブ内（#pricing-doc 等）は all:revert の隔離領域でも変数は継承されるので、各タブの色変数を差し替える。
   隔離領域の <style> は detail.html の本文中（このCSSより後）にあるため、body を足して詳細度で上回る
   261007 玉井さん 10/7 指示：統一したピンクは --primary（予約するボタンの色 #e85f73）。種別の色（--sgn-xxx-ink）とは分けて当てる。
   「96%・1位」の2枠だけは除外（#ca3660 のまま） */
:root{--coral:var(--primary)!important;--coral-soft:var(--sgn-stay-soft)!important}
#pricing-panel{--pricing-accent:var(--primary);--pricing-accent-hover:var(--primary-dark);--pricing-accent-soft:var(--sgn-stay-soft)}
body #pricing-doc{--sgn-pricing-pink:var(--primary);--sgn-pricing-pink2:var(--sgn-stay-soft)}
body #reviews-doc{--sgn-reviews-pink:var(--primary);--sgn-reviews-pink2:var(--sgn-stay-soft)}
body #features-doc{--sgn-features-pink:var(--primary);--sgn-features-pink2:var(--sgn-stay-soft)}
body #subsidy-doc{--sgn-subsidy-pink:var(--primary);--sgn-subsidy-pink-soft:var(--sgn-stay-soft)}
/* 施設名の上のタグ（玉井さん指定のベース色）。並び順ではなくクラスで当てる */
.chips>.chip.chip--stay{background:var(--sgn-stay-soft);color:var(--sgn-stay-ink);border:1px solid var(--sgn-stay-line)}
.chips>.chip.chip--day{background:var(--sgn-day-soft);color:var(--sgn-day-ink);border:1px solid var(--sgn-day-line)}
.chips>.chip.chip--visit{background:var(--sgn-visit-soft);color:var(--sgn-visit-ink);border:1px solid var(--sgn-visit-line)}
/* 種別の無いカード（コースメニュー・教室）の既定色（もとは #c42a53）。種別カードの指定より前に置く（同じ詳細度なので後勝ち） */
#pricing-panel #pricing-doc .pr-card{--pr-ink:var(--primary);--pr-soft:var(--sgn-stay-soft)}
/* 料金カードの種別色：青・青緑・金 → ピンク・黄・みどり */
#pricing-panel #pricing-doc .pr-card--stay{--pr-ink:var(--sgn-stay-ink);--pr-soft:var(--sgn-stay-soft);--pr-box:#fffafb;--pr-line:var(--sgn-stay-line)}
#pricing-panel #pricing-doc .pr-card--day{--pr-ink:var(--sgn-day-ink);--pr-soft:var(--sgn-day-soft);--pr-box:#fffcf6;--pr-line:var(--sgn-day-line)}
#pricing-panel #pricing-doc .pr-card--visit{--pr-ink:var(--sgn-visit-ink);--pr-soft:var(--sgn-visit-soft);--pr-box:#fbfdf8;--pr-line:var(--sgn-visit-line)}
/* 日帰りの「予約する」ボタンは、文字用の濃い色（#9a5a0c）を塗ると茶色に見えて「黄」にならない。塗りはタグの黄（#ed922b）。
   261008 玉井さん（16:39）：文字は宿泊型・訪問型と同じ白に（濃い茶 #3b2606 5.97:1 → 白 2.40:1。玉井さんの指定） */
#pricing-panel #pricing-doc .pr-card--day .pr-btn--primary{background:var(--sgn-day);border-color:var(--sgn-day);color:#fff}
/* 2枠の数字・アイコン、スマホのお気に入りボタン（#d6335e）
   261007 2枠は玉井さんの指示で統一ピンクの変更から除外。10/6 の色（#ca3660）のまま固定する
   261009 玉井さん 19:10：2枠もほかと同じ統一ピンク（--primary＝予約するボタンの色）にそろえる（添付の見本どおり。下の薄いピンクの帯はそのまま） */
.detail-stat-value,.detail-stat-icon{color:var(--primary)}
@media(max-width:700px){.hero-fav{border-color:var(--primary);color:var(--primary)}}
/* 料金タブ「種別のご案内」のボタン（もとは #ef5b7a 直書き） */
#pricing-panel > .pricing-panel-head .plan-type-guides a{color:var(--primary);border-color:var(--primary)}
#pricing-panel > .pricing-panel-head .plan-type-guides a:hover{background:var(--primary);color:#fff}
/* 施設情報タブの口コミ（もとは #ef5b7a 直書き） */
#basic-reviews .fact{background:var(--sgn-stay-soft);color:var(--primary)}
#basic-reviews .fact--best{background:var(--sgn-best-soft);color:var(--sgn-best-ink)}
/* 261006 フェーズ6：上の .fact が後勝ちで「過ごせなかった」までピンクにしていたので、灰色（N5 と同じ値）を後ろで当て直す */
#basic-reviews .fact--no{background:#f1f1f1;color:#5c5c5c}
/* 口コミタブ：集計の数字・ゲージ・最多項目（#d6335e）、1番良かったところの文字 */
body #reviews-doc .rs-gauge .gauge-fg{stroke:var(--primary)}
body #reviews-doc .rs-score{color:var(--primary)}
body #reviews-doc .rs-items li.is-top{background:var(--primary)}
body #reviews-doc .fact--best{background:var(--sgn-best-soft);color:var(--sgn-best-ink)}
body #reviews-doc .page-btn.active{background:var(--primary);border-color:var(--primary)}
/* 助成金タブの目安表：数字のピンク（--sgn-head-accent は線用のベース色になったので、文字は濃い方） */
body #subsidy-doc .sgn-table--cols td.is-em{color:var(--primary)}
/* 5タブ：未選択の文字・選択中の塗り（もとは #D86874。選択中の白文字が 3.41:1、未選択が 3.19:1）
   261007 玉井さんの指示で予約するボタンの色（--primary）へ */
.page-tabs .page-tab{color:var(--primary)!important}
.page-tabs .page-tab.active{background:var(--primary)!important;color:#fff!important}
/* 施設情報タブ「利用区分」：もとは並び順（nth-child）で元の色（2.28〜3.25:1）。施設名の上のタグと同じ色を種別のクラスで当てる */
.usage-badge.usage-badge--stay{background:var(--sgn-stay-soft)!important;color:var(--sgn-stay-ink)!important;border-color:var(--sgn-stay-line)!important}
.usage-badge.usage-badge--day{background:var(--sgn-day-soft)!important;color:var(--sgn-day-ink)!important;border-color:var(--sgn-day-line)!important}
.usage-badge.usage-badge--visit{background:var(--sgn-visit-soft)!important;color:var(--sgn-visit-ink)!important;border-color:var(--sgn-visit-line)!important}
/* 委託施設カード（受領HTMLの #f23868／#ec285b／#f63b70）。--subsidy-pink は白文字の塗り（hover）にも使うので濃い方 */
.subsidy-card{--subsidy-pink:var(--primary);--subsidy-pink-dark:var(--primary-dark);--subsidy-pink-line:var(--sgn-stay-line);--subsidy-pink-pale:var(--sgn-stay-soft);border-color:var(--sgn-stay-line)}
.subsidy-card__info-icon{background:linear-gradient(145deg,var(--sgn-stay),var(--primary))}

/* --- A2 料金タブ内の2タブ（料金・プラン／クーポン） ---------------------------
   高さは5タブと同じ --sgn-tab-h（46px）。スマホは追従し、5タブの直下にくっつける（上の角丸なし）。
   固定・解除は detail.html 末尾のスクリプト（.is-sub-fixed と top/left/width を入れる）。
   z-index は5タブ（30）より下。261009 玉井さん 13:47 L7：固定中の5タブの影は消した（2タブの影は残す） */
#pricing-panel .pricing-subtab{min-height:var(--sgn-tab-h,46px);padding-top:6px;padding-bottom:6px}
.pricing-subtabs-placeholder{display:none}
.pricing-subtabs-placeholder.is-active{display:block}
@media(max-width:700px){
  #pricing-panel .pricing-subtabs.is-sub-fixed{
    position:fixed;z-index:29;margin:0!important;
    border-radius:0;
    /* 261009 L7 ミテクレ：5タブの影を消したら、5タブの下の線（全幅）と2タブの上の線（左右16pxを除く）が重なり、端で線の太さが変わって見えた。固定中は5タブの線1本にする */
    /* 261009 玉井さん 17:36 L1：線を消すと高さが 48→47 に変わり、置き場の高さが入れ替わって本文が 1px 動いた。線は残して色だけ消す（固定中も 48px） */
    border-top-color:transparent;
    box-shadow:0 5px 12px rgba(48,38,32,.08);
    /* 261009 玉井さん 20:00 L2：iPhone でスクロール中に固定の2タブがちらつかないよう、独立した層で描く */
    -webkit-transform:translateZ(0);transform:translateZ(0);will-change:transform;
    -webkit-backface-visibility:hidden;backface-visibility:hidden
  }
}

/* 261007 写真ギャラリー：1枚目が大、2枚目からは2列。小さい写真が奇数枚（無料2枚・プロ10枚）だと最後の行の右が空くので、最後の1枚を2列分にする。
   1枚目が大なので「全体の枚数が偶数」＝「小さい写真が奇数」。
   PC は小さい写真の高さ（132px）のままだと約8:1の帯になり写真がほとんど見えないので、1枚目と同じ 250px。スマホは小さい写真と同じ 112px */
.gallery .gallery-item.small:last-child:nth-child(even){grid-column:1/-1;height:250px}
@media(max-width:700px){.gallery .gallery-item.small:last-child:nth-child(even){height:112px}}

/* 261007 口コミタブを出さない施設（無料プラン）はタブが4つ。タブの列（57・111・481・543行）は5列固定で右に1列分空くので、4列にする */
.page-tabs.page-tabs--4{grid-template-columns:repeat(4,minmax(0,1fr))!important}
/* ===== 261008 玉井さん 10/8 指示 ===== */
/* L17 料金・プランのカードのタイトルは全部のメニューで同じ濃い色。タイトル横のバッジは種別の色のまま。
   261008 16:39 N6：#222（10/7 の「黒」）から、施設名・見出しの色（--sgn-ink-head #323232）へ */
#pricing-panel #pricing-doc .pr-card-name{color:var(--sgn-ink-head)}
/* L3 クーポンタブの小見出し：黒い◾を消し、文字をピンク（統一ピンク）に。利用プランの見出しと同じ扱い */
#pricing-panel .coupon-embedded .sgn-h4{color:var(--primary)}
#pricing-panel .coupon-embedded .sgn-h4::before{display:none}
/* ===== 261008 玉井さん 10/8 15:52 ===== */
/* L10 写真ギャラリー：6枚目からは隠す。ボタンは口コミの「もっと口コミを見る」と同じ形。
   19:36 L1 でボタンは設備タブの「お部屋の様子」へ移る a に替えたので、三角は右向き（下向きの回転は外した） */
.gallery.is-collapsed .gallery-item.is-more{display:none}
.gallery-section-cardless .gallery-more{width:100%;margin-top:16px;font-family:inherit;font-size:inherit;line-height:inherit;cursor:pointer}
/* L25 施設詳細の一番上の写真（スマホ）の変更は、19:36 玉井さん「全体のバランスを見てみて違和感を感じたので元に戻したい」で取り消した（475行の 14px のまま） */
/* ===== 261008 玉井さん 10/8 16:39 ===== */
/* N8・N13 基本情報の値の中のリンク（SNS のアイコン・iPhone が自動でリンクにする電話番号・公式サイト）は、
   473行の a{min-height:44px} で SNS が縦長（42×44）になり、電話番号の文字が箱の上に寄る。F2（1463行）と同じく 44px を外す */
#basic-info .info-value a{min-height:0}
/* 261021 玉井さん 13:02 ⑵：公式サイトのURLをリンクと分かるピンク（.detail-stat-value と同じ #ca3660・白地で 4.99:1）＋下線に。
   目印のクラス（detail.html）にだけ当てる。.info-value a 全体だと SNS のアイコンと iPhone が自動で付ける電話番号のリンクにも当たる */
#basic-info .info-website-link{color:#ca3660;text-decoration:underline;text-underline-offset:3px}
/* N12 380px 以下で業態の札が文字にくっつく（131行の display:block は flex の中では次の行へ落ちない）。
   入るときは 6px あけて横に並べ、入らないときだけ次の行へ落とす */
@media(max-width:380px){
  #basic-info .info-value{flex-wrap:wrap;column-gap:6px;row-gap:4px}
  #basic-info .info-value .info-tag{margin:0}
}
/* N9・N10 委託施設カードの見出し「産後ケアの助成対象施設です」をスマホでも1行に。
   使える幅は「画面の幅−114px」。118px（左右の余白・カードの内側・枠・アイコン・間・字間）と13文字から字の大きさを決めている。
   文言の文字数・カードの余白・アイコンの大きさを変えたら、この式も直す。1行になるので、480px 以下の上ぞろえ（1073行）は中央に戻す */
@media(max-width:600px){
  #access-panel .subsidy-card__title{font-size:min(20px,calc((100vw - 118px) / 13));white-space:nowrap}
}
@media(max-width:480px){
  #access-panel .subsidy-card__header{align-items:center}
}
/* N11 PC だけ、タブの見出しとすぐ下のピンクの線つき見出しの間を 20〜22px → 32px に（施設情報・設備の2タブ）
   設備タブは .page-title の下の余白（10px）と h3 の上の余白が相殺されて大きい方だけになるので、h3 の上を 22px にして 32px にする
   N15 PC だけ、設備タブのピンクの◾見出しの上を 26px → 32px に（1244行・common.css の .sgn-h4 より後に置く） */
@media(min-width:701px){
  #basic-panel .sgn-tab-head{margin-bottom:32px}
  #features-doc .page-title + .sgn-h3{margin-top:22px}
  #features-panel #features-doc .feature-category-title .sgn-h4,
  #features-panel #features-doc .sgn-h4{margin-top:32px}
}
/* N14 近くの施設のカードのアイコン（場所・月齢・料金・口コミ）だけ、検索結果のカードと同じピンクに。
   トップの注目の施設は同じ .facility-card だが、detail.css はトップでは読まれないので変わらない */
.nearby-facilities .facility-card .fc-area .material-icons-outlined,
.nearby-facilities .facility-card .fc-meta dt .material-icons-outlined{color:var(--primary)}
/* ===== 261008 玉井さん 10/8 19:36 ===== */
/* L1 写真ギャラリーの「もっと写真を見る」で移る先（設備タブの「お部屋の様子」）。ヘッダー（スマホは追従タブも）の下に潜らないよう、
   140行のタブの面と同じ余白を空ける。#features-doc の中は all:initial／all:revert（1205・1209行）なので、詳細度の高いセレクタで書く */
#features-panel #features-rooms{scroll-margin-top:calc(var(--header-h,107px) + 14px)}
@media(max-width:700px){
  #features-panel #features-rooms{scroll-margin-top:calc(var(--header-h,60px) + var(--sgn-tab-h,46px) + 8px + 10px)}
}
/* L4 クーポンを見本（261008/1936/ff956b27）の縦に積むカードへ。色は料金タブ・切り替えと同じ統一ピンク（--primary）。
   クーポンには種別の列が無いので、料金カードのような種別ごとの色は付けない。PC も同じ1列 */
#pricing-panel .coupon-embedded .coupon-list{gap:14px}
#pricing-panel .coupon-embedded .coupon-card{padding:18px 18px 16px;border:1px solid #eae3e4;border-radius:12px;background:#fff}
#pricing-panel .coupon-embedded .coupon-card-title{margin:0 0 6px;padding:0;color:var(--sgn-ink-head);font-size:19px;font-weight:800;line-height:1.45}
#pricing-panel .coupon-embedded .coupon-card-desc{margin:0 0 10px;color:var(--pricing-muted);font-size:13px;line-height:1.7}
#pricing-panel .coupon-embedded .coupon-card-rows{display:grid;gap:6px;margin:0 0 14px}
#pricing-panel .coupon-embedded .coupon-card-rows > div{display:grid;grid-template-columns:5.6em minmax(0,1fr);align-items:center;gap:12px}
#pricing-panel .coupon-embedded .coupon-card-rows dt{padding:2px 6px;border-radius:4px;background:#fdeff3;color:var(--primary);font-size:11.5px;font-weight:700;line-height:1.6;text-align:center}
#pricing-panel .coupon-embedded .coupon-card-rows dd{margin:0;color:var(--sgn-ink-body);font-size:13.5px;line-height:1.6}
#pricing-panel .coupon-embedded .coupon-card-btn{position:relative;display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px 36px;border-radius:8px;background:var(--primary);color:#fff;font-size:14px;font-weight:700;line-height:1.4;text-decoration:none}
#pricing-panel .coupon-embedded .coupon-card-btn:hover{background:var(--primary-dark)}
#pricing-panel .coupon-embedded .coupon-card-btn .arw{position:absolute;right:16px;top:50%;margin-top:-.24em}
/* スマホは見本どおり利用条件の値を1行に（375 で 12.5px だと「…7,000円以」で折れて「上」だけが次の行に残った。ミテクレ実測）。
   説明は値と同じ大きさ、題は見本に合わせて少し大きく。
   360 ではそれでも「上」だけ折れるので、折れるときは「15,000円以上」ごと次の行へ（auto-phrase。ご利用の流れと同じ指定） */
@media(max-width:600px){
  #pricing-panel .coupon-embedded .coupon-card{padding:16px 14px 14px}
  #pricing-panel .coupon-embedded .coupon-card-title{font-size:18px}
  #pricing-panel .coupon-embedded .coupon-card-desc{font-size:12px}
  #pricing-panel .coupon-embedded .coupon-card-rows > div{grid-template-columns:4.8em minmax(0,1fr);gap:8px}
  #pricing-panel .coupon-embedded .coupon-card-rows dd{font-size:12px;word-break:auto-phrase}
}
/* L6 近くの施設の下：おすすめのプラン・無料掲載のバナーを、トップと同じ3つのバナーへ。
   並びはトップ（top.css 288-292・357・407・473-475）と同じ。施設詳細は top.css を読まないので、ここへ写す */
.facility-detail-sidebar .banner-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:start}
.facility-detail-sidebar .banner-item{position:relative;overflow:hidden;border-radius:var(--radius-lg);cursor:pointer;transition:all .3s}
.facility-detail-sidebar .banner-item:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover)}
.facility-detail-sidebar .banner-item img{display:block;width:100%;height:auto}
@media(max-width:1024px){
  .facility-detail-sidebar .banner-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:768px){
  .facility-detail-sidebar .banner-grid{grid-template-columns:1fr}
}
/* 261010 花弥さん「変わってないように見える」：トップの 261009・261010 の直し（top.css 472-479）がここに入っていなかった。
   高さが 199／194.3／199.8（1280幅）でずれていたので、トップと同じく箱を 900:500 にして画像は cover、枠線と影で輪郭を出す */
.facility-detail-sidebar .banner-item{aspect-ratio:900/500;background:var(--white);border:1px solid var(--border);box-shadow:var(--shadow)}
.facility-detail-sidebar .banner-item img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
/* 261010 花弥さん「不具合は常時修正」：トップ（top.css 末尾）と同じく、ホバーで枠線をコラムカードと同じ色に、769〜1024px の 2 列で 3 枚目を同じ大きさのまま中央へ */
.facility-detail-sidebar .banner-item:hover{border-color:var(--primary-light)}
@media(min-width:769px) and (max-width:1024px){
  .facility-detail-sidebar .banner-grid>.banner-item:last-child:nth-child(odd){grid-column:1/-1;justify-self:center;width:calc((100% - 16px)/2)}
}
/* L8 スタッフ紹介の1人目の一言：ピンクの地を薄いグレー（設備タブの地と同じ #f7f7f7）に、左の「“」を消す（48・49行を上書き） */
.staff-message{padding-left:15px;background:#f7f7f7}
.staff-message:before{content:none}

/* ===== 261008 玉井さん 21:41 便 ===== */
/* L12 スタッフ紹介を見本（261008/2141/f0cd5596）の形へ。写真の白い縁と影を外し、職種と経験を1行に、札の上を詰める。
   2人目から（.staff-head--sub）は同じ並びの小さい版。写真の地は L13 のシルエットの円と同じ色（読み込み中にピンクの丸が出ないように） */
.staff-photo{border:0;box-shadow:none;background:#c2e9d7}
.staff-role{margin-top:4px;color:var(--sgn-ink-body);font-size:14px;font-weight:500;line-height:1.5}
.staff-role .staff-career{display:inline;margin:0 0 0 .6em;color:inherit;font-size:inherit}
.staff-badges{margin-top:8px}
.staff-others{gap:12px 16px}
.staff-sub{min-width:0}
.staff-head--sub{grid-template-columns:60px minmax(0,1fr);gap:12px}
.staff-head--sub .staff-photo{width:60px;height:60px}
.staff-head--sub .staff-name{font-size:14px;font-weight:700}
.staff-head--sub .staff-role{margin-top:2px;font-size:14px}
.staff-sub .staff-badges{margin-top:6px}
/* 261009 玉井さん 13:47 L1：2人目以降のタグだけ1段小さくする */
.staff-sub .staff-badge{font-size:11px;min-height:27px;padding:3px 9px}
@media(max-width:700px){.staff-sub .staff-badge{font-size:10px;min-height:24px;padding:2px 8px}}
/* 261009 玉井さん 13:47 L10 ミテクレ：クーポンのご利用方法の文が 320〜340px で末尾の2文字だけ次の行に落ちた。detail.html の <wbr> の所でだけ折る */
.card.steps .sgn-flow-text{word-break:keep-all;overflow-wrap:anywhere}
/* L3 スマホの設備タブのタイトルの上下の間を施設情報タブ（上 28px・下 38px）にそろえる。
   上は detail.html の .page-title にインラインの padding-top:12px があるので !important。PC は 16:39 便でそろえたまま */
@media(max-width:700px){
  #features-panel #features-doc .page-title{margin-top:0;padding-top:4px!important}
  #features-panel #features-doc .page-title + .sgn-h3{margin-top:28px}
}
/* L14 施設詳細のタブの、選ばれていない方の地を白に（料金の2つのタブ・利用プランの3つのタブと同じ） */
.page-tabs .page-tab:not(.active){background:#fff!important}
/* 261009 玉井さん 01:09 L2〜L5 スタッフ紹介：1人目のほかは2人まで。4人目からは「もっと見る」を押すまで隠す（写真ギャラリーの 16:26 版と同じ形・三角は下向き）。
   PC も2列（3列のままだと2人で3列目が空く）。2人目からのコメントは出さないので .staff-sub .staff-message は消した */
.staff-others.is-collapsed .staff-sub.is-more{display:none}
.staff-section-cardless .staff-more{width:100%;margin-top:16px;font-family:inherit;font-size:inherit;line-height:inherit;cursor:pointer}
.staff-more .arw{transform:rotate(90deg)}
@media(min-width:901px){.staff-others{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* 261009 玉井さん 17:36 L7：スマホの「もっと写真を見る」「もっと見る」「もっと口コミを見る」を、下の固定バーの「予約する」（50px）と同じ高さにし、字を 16→14px に。PC はもう同じ高さ（55.2px）なので触らない */
@media(max-width:700px){
  .gallery-section-cardless .btn.primary.gallery-more,
  .staff-section-cardless .btn.primary.staff-more,
  #basic-reviews .btn.primary.basic-reviews-more{
    display:flex;
    align-items:center;
    justify-content:center;
    padding-top:10px;
    padding-bottom:10px;
    font-size:14px;
    line-height:1.7;
    /* 261009 ミテクレ：flex の直下で文字の末尾の全角スペースが詰まり、矢印との間が半分になって右へ寄った。スペースを残す（中身は1行） */
    white-space:pre;
  }
}

/* 261028 V31 施設情報タブの末尾のお知らせ・ブログ（新しい3件）。運営のお知らせ一覧（column.css .nw-*）の値を写した。施設詳細は detail.css だけを読むので、ここに持つ */
#facility-posts .nw-list{margin:0}
#facility-posts .nw-item{display:flex;gap:20px;padding:18px 0;border-bottom:1px solid var(--line);align-items:baseline;text-decoration:none;color:inherit}
#facility-posts .nw-item:first-child{padding-top:6px}
#facility-posts .nw-date{font-size:.78rem;color:var(--text-muted);flex-shrink:0;min-width:100px}
#facility-posts .nw-tag{font-size:.7rem;padding:3px 10px;border-radius:50px;font-weight:700;flex-shrink:0;background:var(--primary-light);color:var(--primary)}
#facility-posts .nw-text{min-width:0;font-size:.85rem;color:var(--text);overflow-wrap:anywhere}
#facility-posts .nw-item:hover .nw-text{color:var(--primary)}
#facility-posts .sgn-md-link{margin-top:16px}
@media(max-width:768px){
  #facility-posts .nw-item{flex-wrap:wrap;gap:8px}
  #facility-posts .nw-text{flex-basis:100%}
}

/* 261028 V7 こだわりの小見出し（題名の下・本文の上） */
.preference-story-copy .preference-story-subtitle{margin:0 0 8px;color:var(--sgn-ink-head);font-size:15px;font-weight:700;line-height:1.6}
@media(max-width:700px){
  .preference-story-copy .preference-story-subtitle{font-size:14px}
}
/* 261028 V7 基本情報の在籍の資格。札はスタッフ紹介の資格と同じ部品で、表の欄の中では上の余白を付けない */
#basic-info .info-quals{margin-top:0}
/* 261028 V7 委託施設カードの担当保健相談所・助成の備考（利用条件の表と同じ部品） */
.subsidy-card__body > .subsidy-card__info:not(:first-child){margin-top:20px}
/* 261028 V30 「施設でご提示ください」はリンクから文字の部品にした。見た目はそのまま、押せるように見せない */
#pricing-panel .coupon-embedded p.coupon-card-btn{margin:0;cursor:default}
#pricing-panel .coupon-embedded p.coupon-card-btn:hover{background:var(--primary)}
