/* ==========================================================
   Sango Care theme — モック（写真主体・旅行サイト風）の移植
   ========================================================== */
:root{
  --sc-bg:#FBF8F3; --sc-bg2:#F4EEE4; --sc-surface:#FFFFFF;
  --sc-text:#3B332B; --sc-text2:#5C5147; --sc-muted:#8A7E70; --sc-faint:#A79C8F;
  --sc-line:#EFE8DC; --sc-line2:#E3DBCE;
  --sc-gold:#A8894F; --sc-gold-dark:#8F7340;
  --sc-ok:#2F7A4E; --sc-ok-dot:#3E8E5E; --sc-fee:#8A5A00; --sc-no:#9C3B2E; --sc-opening:#4E7CC0; --sc-paused:#C9962B; --sc-closed:#9A948C;
  --sc-serif:'Shippori Mincho','Noto Serif JP','Hiragino Mincho ProN',serif;
  --sc-sans:'Noto Sans JP','Hiragino Sans',system-ui,sans-serif;
  --sc-wrap:1440px; --sc-radius:10px; --sc-shadow:0 2px 14px rgba(59,51,43,.07);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--sc-sans);background:var(--sc-bg);color:var(--sc-text);line-height:1.8;font-size:17px}
a{color:inherit;text-decoration:none}a:hover{color:var(--sc-gold)}
img{max-width:100%;height:auto;display:block}
h1,h2,h3,h4{margin:0;font-weight:600}
p{margin:0}
.sc-wrap{width:min(var(--sc-wrap),calc(100% - 80px));margin-inline:auto}
.sc-serif{font-family:var(--sc-serif)}
.sc-eyebrow{font-size:13px;letter-spacing:.22em;color:var(--sc-gold);text-transform:uppercase}
.sc-note{font-size:14px;color:var(--sc-muted);line-height:1.7}
.sc-center{text-align:center}
.sc-between{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}
.sc-h2{font-family:var(--sc-serif);font-size:32px;font-weight:500;letter-spacing:.06em;line-height:1.5}
.sc-h3{font-family:var(--sc-serif);font-size:21px;font-weight:600;letter-spacing:.04em}
.sc-section{padding-top:56px}
.sc-section-head{display:flex;flex-direction:column;gap:8px;margin-bottom:24px}
.sc-section-head.sc-center{align-items:center}
.sc-section-head.sc-between{flex-direction:row}
.sc-more{font-size:14px;letter-spacing:.08em;border-bottom:1px solid var(--sc-text);padding-bottom:2px;white-space:nowrap}
.sc-band{background:var(--sc-bg2);padding:56px 0;margin-top:72px}

/* 写真プレースホルダー */
.sc-ph{position:relative;background:#D8CDBE;width:100%;aspect-ratio:16/10}
.sc-ph-lab{position:absolute;right:10px;top:10px;font-size:12px;letter-spacing:.06em;color:#fff;background:rgba(59,51,43,.55);padding:3px 8px;border-radius:3px}

/* ボタン・チップ・タグ */
.sc-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:50px;padding:0 28px;border-radius:999px;background:var(--sc-gold);color:#fff;font-size:16px;letter-spacing:.12em;border:0;cursor:pointer;font-family:inherit;white-space:nowrap}
.sc-btn:hover{background:var(--sc-gold-dark);color:#fff}
.sc-btn-sm{height:40px;padding:0 20px;font-size:14px}
.sc-btn-lg{height:54px;padding:0 40px}
.sc-btn-outline{background:transparent;color:var(--sc-gold-dark);border:1px solid var(--sc-gold);white-space:normal;text-align:center;height:auto;min-height:50px;padding-top:8px;padding-bottom:8px;margin-top:10px}
.sc-btn-outline:hover{background:var(--sc-gold);color:#fff}
.sc-btn-square{border-radius:6px;height:44px;padding:0 22px;letter-spacing:.1em}
.sc-chip{display:inline-flex;align-items:center;height:34px;padding:0 14px;border-radius:999px;border:1px solid var(--sc-line2);background:var(--sc-surface);font-size:14px;letter-spacing:.04em;white-space:nowrap}
.sc-chip.is-on{background:var(--sc-text);border-color:var(--sc-text);color:#fff}
.sc-tags{display:flex;gap:6px;flex-wrap:wrap}
.sc-tag{display:inline-flex;align-items:center;height:26px;padding:0 9px;border-radius:4px;background:#F3EDE2;color:var(--sc-text2);font-size:13px;font-weight:500;white-space:nowrap}

/* 営業状況 */
.sc-status{display:inline-flex;align-items:center;gap:5px;font-size:13px;font-weight:700;white-space:nowrap}
.sc-status-dot{width:7px;height:7px;border-radius:50%;background:currentColor}
.sc-status.is-open{color:var(--sc-ok-dot)}
.sc-status.is-opening{color:var(--sc-opening)}
.sc-status.is-paused{color:var(--sc-paused)}
.sc-status.is-closed{color:var(--sc-closed)}
.sc-status.is-unverified{color:var(--sc-muted)}
.sc-status-note{font-size:13px;color:var(--sc-muted);margin-left:8px}
.sc-verified{font-size:12px;color:var(--sc-faint)}
.is-ok{color:var(--sc-ok)}.is-fee{color:var(--sc-fee)}.is-no{color:var(--sc-no)}.is-unknown{color:var(--sc-muted)}

/* ヘッダー */
.sc-header{position:absolute;left:0;right:0;top:0;z-index:50;background:rgba(255,255,255,.55);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.55)}
body{position:relative}
/* HEROの無いページはヘッダー分だけ下げる */
.sc-article,.sc-main>.sc-wrap:first-child{padding-top:90px}
.sc-header-in{height:70px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.sc-brand{display:flex;align-items:center;gap:12px;color:var(--sc-text)}
.sc-brand svg{color:var(--sc-gold)}
.sc-brand-text{display:flex;flex-direction:column;gap:2px}
.sc-brand-name{font-family:var(--sc-serif);font-size:22px;font-weight:600;letter-spacing:.04em;line-height:1.2}
.sc-brand-tag{font-size:12px;letter-spacing:.1em;color:var(--sc-muted)}
.sc-nav-list{list-style:none;margin:0;padding:0;display:flex;gap:30px;font-size:15px;letter-spacing:.08em}
.sc-nav-list a{padding-bottom:4px;border-bottom:1.5px solid transparent}
.sc-nav-list .current-menu-item a,.sc-nav-list a:hover{border-bottom-color:var(--sc-gold);color:var(--sc-text)}
.sc-menu-btn{display:none;width:44px;height:44px;border:0;background:transparent;color:var(--sc-text);cursor:pointer}

/* HERO */
.sc-hero{position:relative;height:620px;background:#D8CDBE 62% center/cover no-repeat;overflow:hidden}
.sc-hero-scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(251,248,243,.92) 0%,rgba(251,248,243,.75) 40%,rgba(251,248,243,0) 70%)}
.sc-hero-in{position:relative;height:100%;display:flex;align-items:center;justify-content:space-between}
.sc-hero-copy{display:flex;flex-direction:column;gap:22px;max-width:520px}
.sc-hero-title{font-family:var(--sc-serif);font-size:50px;line-height:1.5;font-weight:500;letter-spacing:.06em}
.sc-hero-lead{font-size:17px;line-height:1.9;color:var(--sc-text2)}
.sc-hero-en{align-self:flex-start;margin-top:40px;text-align:right;color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.35);display:flex;flex-direction:column;gap:4px}
.sc-hero-en1{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:24px}
.sc-hero-en2{font-size:12px;letter-spacing:.3em}

/* 検索バー */
.sc-search-float{margin-top:-46px;position:relative;z-index:2}
.sc-filter{background:var(--sc-surface);border-radius:var(--sc-radius);box-shadow:0 6px 30px rgba(59,51,43,.10);padding:22px 28px;display:flex;align-items:flex-end;gap:20px}
.sc-filter-title{display:flex;flex-direction:column;gap:4px;width:200px;flex:0 0 200px}
.sc-filter-title .sc-serif{font-size:20px;font-weight:600}
.sc-filter-fields{display:flex;align-items:flex-end;gap:16px;flex:1}
.sc-sel{display:flex;flex-direction:column;gap:6px;flex:1}
.sc-sel-k{font-size:13px;color:var(--sc-muted);letter-spacing:.06em}
.sc-sel select{height:40px;border:1px solid var(--sc-line2);border-radius:6px;background:var(--sc-surface);padding:0 12px;font-size:16px;font-family:inherit;color:var(--sc-text);width:100%}
.sc-list .sc-filter{box-shadow:var(--sc-shadow);padding:20px 24px}

/* 過ごし方 */
.sc-ways{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:28px}
.sc-way{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}
.sc-way-img{width:190px;height:190px;border-radius:50%;overflow:hidden}
.sc-way-img img,.sc-way-img .sc-ph{width:100%;height:100%;object-fit:cover;aspect-ratio:1}
.sc-way-title{font-size:18px;font-weight:700}
.sc-way-desc{font-size:14px;line-height:1.8;color:#6B6055}

/* エリアタイル */
/* 地方は9つ。PCは5＋4で2段とも端まで埋める（4つの段は1枚ずつ広がる）。タブレット・スマホは3×3 */
.sc-tiles{display:flex;flex-wrap:wrap;gap:16px}
.sc-tiles>.sc-tile{flex:1 1 calc((100% - 64px)/5)}
.sc-tile{position:relative;height:200px;border-radius:8px;overflow:hidden;display:block;color:#fff}
.sc-tile::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(28,22,16,.72) 0%,rgba(28,22,16,.35) 38%,rgba(28,22,16,0) 65%);transition:background .3s}
.sc-tile:hover{color:#fff}
.sc-tile:hover::after{background:linear-gradient(0deg,rgba(28,22,16,.8) 0%,rgba(28,22,16,.45) 45%,rgba(28,22,16,.05) 75%)}
.sc-tile-img{width:100%;height:100%;object-fit:cover;aspect-ratio:auto;transition:transform .6s ease}
.sc-tile:hover .sc-tile-img{transform:scale(1.05)}
.sc-tile-label{position:absolute;left:18px;bottom:16px;z-index:1;display:flex;flex-direction:column;gap:2px;text-shadow:0 1px 3px rgba(0,0,0,.6),0 2px 14px rgba(0,0,0,.45)}
.sc-tile-label .sc-serif{font-size:28px;font-weight:600;letter-spacing:.08em;line-height:1.3}
.sc-tile-n{font-size:14px;letter-spacing:.06em}
.sc-tiles+.sc-note{margin-top:14px}

/* 特集 */
.sc-features{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.sc-features-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.sc-feature{background:var(--sc-surface);border-radius:var(--sc-radius);overflow:hidden;box-shadow:var(--sc-shadow);display:flex;flex-direction:column}
.sc-feature-img img,.sc-feature-img .sc-ph{aspect-ratio:16/10;object-fit:cover;width:100%}
.sc-feature-body{padding:12px 14px 14px;display:flex;flex-direction:column;gap:4px}
.sc-feature-title{font-size:16px;font-weight:700}
.sc-feature-desc{font-size:13px;color:var(--sc-muted);line-height:1.7}

/* 施設カード */
.sc-cards-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.sc-cards-row{display:flex;flex-direction:column;gap:18px}
.sc-card{background:var(--sc-surface);border-radius:var(--sc-radius);overflow:hidden;box-shadow:var(--sc-shadow);display:flex;flex-direction:column;color:var(--sc-text)}
.sc-card:hover{color:var(--sc-text);box-shadow:0 6px 24px rgba(59,51,43,.12)}
.sc-card-img img,.sc-card-img .sc-ph{width:100%;aspect-ratio:16/10;object-fit:cover}
.sc-card-body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:10px;flex:1}
.sc-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
.sc-card-title{font-family:var(--sc-serif);font-size:18px;font-weight:600;line-height:1.4}
.sc-card-sub{font-size:13px;color:var(--sc-muted);margin-top:3px}
.sc-card-price{text-align:right}
.sc-price-k,.sc-price-s{font-size:13px;color:var(--sc-muted)}
.sc-price-v{font-family:var(--sc-serif);font-size:22px;font-weight:600}
.sc-card-price-lg .sc-price-v{font-size:34px}
.sc-card-foot{display:flex;align-items:center;justify-content:space-between;margin-top:auto}
.sc-card-row{flex-direction:row}
.sc-card-row .sc-card-img{flex:0 0 300px}
.sc-card-row .sc-card-img img,.sc-card-row .sc-card-img .sc-ph{height:100%;aspect-ratio:auto;min-height:210px}
.sc-card-row .sc-card-body{padding:20px 24px}
.sc-card-row .sc-card-title{font-size:22px}
.sc-card-row .sc-card-price{text-align:left}
.sc-empty{padding:40px;text-align:center;color:var(--sc-muted)}

/* コラム */
.sc-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.sc-column{display:flex;gap:14px;align-items:center}
.sc-column-img{flex:0 0 120px;width:120px;border-radius:6px;overflow:hidden}
.sc-column-img img,.sc-column-img .sc-ph{aspect-ratio:10/7;object-fit:cover}
.sc-column-title{display:block;font-size:16px;font-weight:700;line-height:1.5}
.sc-column-desc{display:block;font-size:13px;color:var(--sc-muted);margin-top:4px}
.sc-post-list{display:flex;flex-direction:column}
.sc-post-item{display:flex;gap:22px;align-items:center;padding:20px 0;border-bottom:1px solid var(--sc-line)}
.sc-post-img{flex:0 0 200px;width:200px;border-radius:8px;overflow:hidden}
.sc-post-img img,.sc-post-img .sc-ph{aspect-ratio:20/13;object-fit:cover}
.sc-post-body{display:flex;flex-direction:column;gap:8px}
.sc-post-title{font-size:18px;font-weight:700;line-height:1.6}
.sc-post-desc{font-size:14px;line-height:1.7;color:#6B6055}
.sc-post-meta{font-size:13px;color:var(--sc-muted);display:flex;align-items:center;gap:10px}
.sc-cat{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:4px;background:#F3EDE2;color:var(--sc-text2);font-size:12px}
.sc-cat-pr{background:#FBEFD2;color:var(--sc-fee)}

/* 締め */
.sc-closing{margin-top:64px;padding:50px 0;background:#D9C7B2 center/cover no-repeat;color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.35)}
.sc-closing .sc-serif{font-size:20px;letter-spacing:.1em;line-height:2}
.sc-closing-card{border-radius:var(--sc-radius);padding:40px;display:flex;flex-direction:column;gap:14px;align-items:flex-start;margin-top:40px}

/* フッター */
.sc-footer{margin-top:64px;background:var(--sc-surface);border-top:1px solid var(--sc-line)}
.sc-footer-in{padding:22px 0;display:flex;justify-content:space-between;gap:40px;font-size:13px;line-height:1.8;color:var(--sc-muted)}
.sc-footer-note a{text-decoration:underline}
.sc-footer-links{display:flex;flex-direction:column;align-items:flex-end;gap:8px;white-space:nowrap}
.sc-footer-list{list-style:none;margin:0;padding:0;display:flex;gap:18px}

/* 下層ページ */
.sc-page-hero{position:relative;height:340px;background:#CFDCE0 center/cover no-repeat;overflow:hidden}
.sc-page-hero .sc-hero-scrim{background:linear-gradient(90deg,rgba(251,248,243,.94) 0%,rgba(251,248,243,.7) 45%,rgba(251,248,243,0) 70%)}
.sc-page-hero-in{position:relative;height:100%;display:flex;flex-direction:column;justify-content:center;gap:14px;padding-top:50px}
.sc-page-title{font-family:var(--sc-serif);font-size:40px;font-weight:500;letter-spacing:.08em}
.sc-page-lead{font-size:16px;line-height:1.9;color:var(--sc-text2)}
.sc-crumb{font-size:13px;color:var(--sc-muted);letter-spacing:.04em;margin:18px 0 22px}
.sc-list{display:flex;flex-direction:column;gap:22px}
.sc-list .sc-crumb{margin-bottom:0}
.sc-list-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.sc-list-count{display:flex;align-items:center;gap:16px;font-size:20px}
.sc-list-count strong{font-size:27px;font-weight:600}
.sc-sort{display:flex;gap:8px;flex-wrap:wrap}
.sc-pager{display:flex;justify-content:center}
.sc-pager .nav-links{display:flex;gap:8px}
.sc-pager .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:0 10px;border-radius:4px;border:1px solid var(--sc-line2);background:var(--sc-surface);font-size:15px}
.sc-pager .page-numbers.current{background:var(--sc-text);border-color:var(--sc-text);color:#fff}
.sc-area-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.sc-area-card{background:var(--sc-surface);border-radius:var(--sc-radius);overflow:hidden;box-shadow:var(--sc-shadow);display:flex;flex-direction:column}
.sc-area-img img,.sc-area-img .sc-ph{aspect-ratio:16/9;object-fit:cover}
.sc-area-body{padding:14px 18px 8px;display:flex;align-items:center;justify-content:space-between}
.sc-area-name{font-size:21px;font-weight:600;letter-spacing:.06em}
.sc-area-n{font-size:14px;color:var(--sc-muted)}
.sc-area-prefs{font-size:13px;color:var(--sc-muted);padding:0 18px 14px;line-height:1.7}

/* 施設ページ */
.sc-facility-hero img,.sc-facility-hero .sc-ph{width:100%;height:560px;object-fit:cover;aspect-ratio:auto}
.sc-facility-head{display:flex;justify-content:space-between;align-items:flex-start;gap:40px;margin-bottom:28px}
.sc-facility-id{display:flex;flex-direction:column;gap:10px}
.sc-facility-title{font-family:var(--sc-serif);font-size:40px;font-weight:600;letter-spacing:.04em;line-height:1.4}
.sc-facility-sub{font-size:15px;color:var(--sc-muted)}
.sc-facility-status{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.sc-facility-cta{display:flex;flex-direction:column;align-items:flex-end;gap:12px;flex:0 0 auto}
.sc-gallery{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:28px}
.sc-gallery-item{border-radius:6px;overflow:hidden}
.sc-gallery-item img{aspect-ratio:3/2;object-fit:cover;width:100%}
.sc-alert{padding:16px 20px;border-radius:8px;background:#FBEFD2;color:#5C4A1E;font-size:15px;line-height:1.7;margin-bottom:24px}
.sc-facility-intro{max-width:760px;font-size:17px;line-height:2;color:var(--sc-text2);margin-bottom:28px}
.sc-facility-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}
.sc-box{background:var(--sc-surface);border-radius:var(--sc-radius);padding:22px;box-shadow:var(--sc-shadow);display:flex;flex-direction:column;gap:14px;margin-bottom:20px}
.sc-facility-grid .sc-box{margin-bottom:0}
.sc-box-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.sc-box-dashed{background:#FBF7EF;border:1px dashed #D9CDB6;box-shadow:none}
.sc-price-text{font-size:15px;line-height:1.9;color:var(--sc-text2)}
.sc-estimates{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.sc-est{padding:10px 12px;background:var(--sc-bg2);border-radius:8px;display:flex;flex-direction:column}
.sc-est-k{font-size:12px;color:var(--sc-muted)}
.sc-est-v{font-family:var(--sc-serif);font-size:20px;font-weight:600}
.sc-rows{margin:0;display:flex;flex-direction:column}
.sc-row{display:flex;gap:12px;padding:10px 0;border-top:1px solid var(--sc-line);font-size:15px;line-height:1.55}
.sc-row:first-child{border-top:0;padding-top:0}
.sc-row dt{color:var(--sc-muted);flex:0 0 110px}
.sc-row dd{margin:0;flex:1;font-weight:500;display:flex;flex-direction:column;gap:2px}
.sc-row-note{font-size:13px;color:var(--sc-muted);font-weight:400}
.sc-news{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;font-size:15px}
.sc-news li{display:flex;gap:12px}
.sc-news-date{flex:0 0 90px;color:var(--sc-muted)}
.sc-cta-bottom{padding:10px 0 20px}

/* 記事 */
.sc-article{max-width:880px;padding-top:10px}
.sc-article-head{display:flex;flex-direction:column;gap:12px;margin:10px 0 24px}
.sc-article-title{font-family:var(--sc-serif);font-size:34px;font-weight:600;line-height:1.5;letter-spacing:.03em}
.sc-article-meta{font-size:14px;color:var(--sc-muted)}
.sc-article-hero{border-radius:var(--sc-radius);overflow:hidden;margin-bottom:28px}
.sc-prose{font-size:18px;line-height:2}
.sc-prose h2{font-family:var(--sc-serif);font-size:27px;margin:2.2em 0 .8em;padding-bottom:.4em;border-bottom:1px solid var(--sc-line2);letter-spacing:.04em}
.sc-prose h3{font-size:20px;margin:1.8em 0 .6em}
.sc-prose p{margin:0 0 1.2em}
.sc-prose ul,.sc-prose ol{margin:0 0 1.2em;padding-left:1.4em}
.sc-prose table{width:100%;border-collapse:collapse;font-size:16px;margin:0 0 1.5em;background:var(--sc-surface)}
.sc-prose th,.sc-prose td{padding:10px 12px;border-bottom:1px solid var(--sc-line);text-align:left;vertical-align:top}
.sc-prose th{background:#FBF9F5;font-weight:500;color:var(--sc-muted);font-size:14px}
.sc-prose strong{font-weight:700}
.sc-prose a{color:var(--sc-gold);text-decoration:underline}
.sc-prose .hikaku-disclosure{font-size:14px;color:var(--sc-muted);background:var(--sc-bg2);padding:10px 14px;border-radius:6px}

/* ==========================================================
   レスポンシブ
   ========================================================== */
@media (max-width:1024px){
  .sc-ways{grid-template-columns:repeat(3,minmax(0,1fr))}
  .sc-tiles>.sc-tile{flex-basis:calc((100% - 32px)/3)}
  .sc-features{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sc-cards-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sc-columns{grid-template-columns:1fr}
  .sc-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}
  .sc-filter{flex-wrap:wrap}
  .sc-filter-fields{flex-wrap:wrap}
  .sc-sel{flex:1 1 40%}
}
@media (max-width:767px){
  body{font-size:16px}
  .sc-wrap{width:calc(100% - 32px)}
  .sc-h2{font-size:24px}
  .sc-section{padding-top:40px}
  .sc-band{padding:36px 0;margin-top:44px}
  .sc-section-head.sc-between{align-items:flex-end}
  /* ヘッダー */
  .sc-header-in{height:60px}
  .sc-brand-name{font-size:19px}
  .sc-brand-tag{font-size:11px}
  .sc-menu-btn{display:inline-flex;align-items:center;justify-content:center}
  .sc-nav{display:none;position:absolute;left:0;right:0;top:60px;background:rgba(255,255,255,.96);border-bottom:1px solid var(--sc-line);padding:10px 18px 16px}
  .sc-nav.is-open{display:block}
  .sc-nav-list{flex-direction:column;gap:0}
  .sc-nav-list a{display:block;padding:14px 0;border-bottom:1px solid var(--sc-line);font-size:17px}
  /* HERO: 最初の1画面を写真とコピーで埋める */
  .sc-hero{height:min(700px,100vh)}
  .sc-hero-scrim{background:linear-gradient(180deg,rgba(251,248,243,0) 0%,rgba(251,248,243,0) 40%,rgba(251,248,243,.86) 70%,var(--sc-bg) 100%)}
  .sc-hero-in{flex-direction:column-reverse;align-items:stretch;justify-content:flex-start;padding-bottom:56px}  /* column-reverse では flex-start が下端。コピーを写真の下側に置く */
  .sc-hero-copy{gap:16px;max-width:none}
  .sc-hero-title{font-size:40px;line-height:1.45}
  .sc-hero-lead{font-size:16px}
  .sc-hero-en{position:absolute;right:0;top:76px;margin:0}
  .sc-hero-en1{font-size:18px}
  .sc-hero-en2{font-size:10px;letter-spacing:.28em}
  .sc-search-float{margin-top:-8px}
  .sc-filter{padding:18px;flex-direction:column;align-items:stretch;gap:12px}
  .sc-filter-title{width:auto;flex:none}
  .sc-filter-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .sc-filter-fields .sc-btn-square{grid-column:1/-1;height:48px}
  .sc-sel select{height:42px}
  /* 過ごし方・エリア・特集 */
  .sc-ways{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 10px}
  .sc-way-img{width:96px;height:96px}
  .sc-way-title{font-size:15px}
  .sc-way-desc{display:none}
  .sc-tiles{gap:10px}
  .sc-tiles>.sc-tile{flex-basis:calc((100% - 20px)/3)}
  .sc-tile{height:110px}
  .sc-tile-label{left:10px;bottom:8px}
  .sc-tile-label .sc-serif{font-size:19px}
  .sc-features,.sc-features-3{grid-template-columns:1fr;gap:10px}
  .sc-feature{flex-direction:row;align-items:center}
  .sc-feature-img{flex:0 0 120px;width:120px}
  .sc-feature-img img,.sc-feature-img .sc-ph{aspect-ratio:10/7;height:100%}
  .sc-feature-body{padding:10px 14px}
  /* カード */
  .sc-cards-grid{grid-template-columns:1fr}
  .sc-card-row{flex-direction:column}
  .sc-card-row .sc-card-img{flex:none}
  .sc-card-row .sc-card-img img,.sc-card-row .sc-card-img .sc-ph{aspect-ratio:16/10;min-height:0}
  .sc-card-row .sc-card-body{padding:14px 16px 16px}
  .sc-card-row .sc-card-title{font-size:19px}
  .sc-card-row .sc-card-price{text-align:right}
  .sc-column-img{flex:0 0 100px;width:100px}
  .sc-post-item{gap:12px;align-items:flex-start}
  .sc-post-img{flex:0 0 110px;width:110px}
  .sc-post-title{font-size:16px}
  .sc-post-desc{display:none}
  /* 下層 */
  .sc-page-hero{height:260px}
  .sc-page-title{font-size:32px}
  .sc-list-count{font-size:17px}
  .sc-area-grid{grid-template-columns:1fr 1fr;gap:10px}
  .sc-area-name{font-size:18px}
  .sc-area-prefs{display:none}
  /* 施設ページ */
  .sc-facility-hero img,.sc-facility-hero .sc-ph{height:300px}
  .sc-facility-head{flex-direction:column;gap:18px}
  .sc-facility-title{font-size:27px}
  .sc-facility-cta{align-items:stretch;width:100%}
  .sc-facility-cta .sc-btn{width:100%}
  .sc-card-price-lg{text-align:left}
  .sc-card-price-lg .sc-price-v{font-size:27px}
  .sc-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .sc-facility-grid{grid-template-columns:1fr}
  .sc-box{padding:18px}
  .sc-row dt{flex:0 0 84px}
  .sc-closing{padding:40px 0}
  .sc-closing .sc-serif{font-size:16px}
  .sc-footer-in{flex-direction:column;gap:12px}
  .sc-footer-links{align-items:flex-start;white-space:normal}
  .sc-article-title{font-size:24px}
  .sc-article,.sc-main>.sc-wrap:first-child{padding-top:76px}
  .sc-prose{font-size:17px}
  .sc-prose h2{font-size:22px}
}

/* ==========================================================
   記事内のショートコード（[sc_table] / [sc_cards] / [sc_closed]）
   ========================================================== */
.sc-sc-table-wrap{margin:0 0 1.6em;overflow-x:auto;-webkit-overflow-scrolling:touch}
.sc-sc-table{width:100%;border-collapse:collapse;font-size:15px;background:var(--sc-surface);min-width:640px}
.sc-sc-table th{background:#FBF9F5;color:var(--sc-muted);font-size:13px;font-weight:500;text-align:left;padding:10px 12px;border-bottom:1.5px solid var(--sc-line2);white-space:nowrap}
.sc-sc-table td{padding:12px;border-bottom:1px solid var(--sc-line);vertical-align:top;line-height:1.6}
.sc-sc-table tr:last-child td{border-bottom:0}
.sc-sc-name{min-width:200px}
.sc-sc-name a{font-family:var(--sc-serif);font-size:17px;font-weight:600;text-decoration:none}
.sc-sc-sub{display:block;font-size:13px;color:var(--sc-muted);margin-top:3px;font-weight:400}
.sc-sc-price{font-family:var(--sc-serif);font-size:16px;font-weight:600;white-space:nowrap}
.sc-sc-note{font-size:13px;color:var(--sc-muted);margin-top:8px;line-height:1.7}
.sc-sc-closed{margin:2em 0}
.sc-sc-closed .sc-sc-table{background:#FBF9F5}
.sc-sc-closed .sc-h3{margin-bottom:.6em}
.sc-prose .sc-sc-table-wrap{margin-inline:0}
@media (max-width:767px){
  .sc-sc-table-wrap{margin-inline:-18px;padding-inline:18px}
  .sc-sc-table{min-width:560px}
  .sc-sc-name a{font-size:16px}
}

/* 写真の注記（同梱のイメージ写真・施設スクショの出典） */
.sc-img-note{position:absolute;right:14px;bottom:12px;z-index:2;font-size:12px;letter-spacing:.06em;color:#fff;background:rgba(59,51,43,.45);padding:2px 8px;border-radius:3px}
.sc-facility-hero{position:relative}
.sc-facility-hero img{object-position:center top}
.sc-facility-hero.is-photo img{object-position:center 45%} /* 施設提供の写真は人物が中ほどにあるので、上寄せにしない */
@media (min-width:768px){.sc-facility-hero.is-photo img{height:min(40vw,820px)}} /* 横長の画面でも顔から赤ちゃんまで入るよう高さを画面幅に合わせる */
.sc-img-source{position:absolute;right:14px;bottom:12px;font-size:13px;color:#fff;background:rgba(59,51,43,.6);padding:3px 9px;border-radius:3px;max-width:calc(100% - 28px)}
.sc-card-img img{object-position:center top}

/* お問い合わせフォーム [sc_contact] */
.sc-contact{max-width:640px}
.sc-contact label{display:block;font-size:16px;margin-bottom:6px}
.sc-contact input[type=text],.sc-contact input[type=email],.sc-contact select,.sc-contact textarea{width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid #D8CDBE;border-radius:6px;font:inherit;background:#fff}
.sc-contact .sc-req{font-size:13px;color:#fff;background:var(--sc-gold);padding:1px 6px;border-radius:3px;margin-left:4px}
.sc-contact-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.sc-contact-error{color:#9B2C2C;background:#FBEAEA;padding:10px 12px;border-radius:6px}
.sc-contact-done{background:#F1F6EE;padding:16px 18px;border-radius:8px}
.sc-footer-list{list-style:none;margin:0 0 10px;padding:0;display:flex;flex-wrap:wrap;gap:6px 18px;font-size:15px}

/* 文字入りのヒーロー画像（front-page.php の $baked）
   PC: 画像を切らずに全体を見せる（縦横比を画像に合わせる）。画像の文字と重なるので、HTMLの見出しとリード文は見た目だけ隠す。
       「ホテルを探す」ボタンは、画像のリード文の下（左14.6%・上68%）に置く
   スマホ: 文字のない右側の切り出し（hero-sp）に、従来どおりHTMLの見出しを重ねる */
.sc-hero--baked{background:none}
/* 写真はゆっくり寄ったり引いたりする（ケン・バーンズ）。文字が写真に焼き込まれているので、
   拡大の中心を画像の文字の位置（左寄り）に置いて、文字はほとんど動かず右の写真側が動くようにする */
.sc-hero--baked::before{content:"";position:absolute;inset:0;background:var(--sc-hero-sp) center/cover no-repeat;transform-origin:50% 40%;animation:sc-hero-drift 22s ease-in-out infinite alternate;will-change:transform}
@keyframes sc-hero-drift{from{transform:scale(1)}to{transform:scale(1.07)}}
/* ボタンとコピーはふわっと出す */
.sc-hero-copy{animation:sc-hero-in 1.2s .3s ease-out both}
@keyframes sc-hero-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.sc-hero--baked::before,.sc-hero-copy{animation:none}}
@media (min-width:768px){
  .sc-hero--baked{height:auto;aspect-ratio:1806/871}
  .sc-hero--baked::before{background-image:var(--sc-hero-pc);transform-origin:20% 55%}
  .sc-hero--baked .sc-hero-scrim,.sc-hero--baked .sc-hero-en{display:none}
  .sc-hero--baked .sc-hero-in{position:static}
  .sc-hero--baked .sc-hero-title,.sc-hero--baked .sc-hero-lead{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
  .sc-hero--baked .sc-hero-copy{position:absolute;left:14.6%;top:68%}
}

/* 吹き出し [sc_voice]（inc/voice.php）
   運営者のワンポイント: 左に顔、金色の枠。読者の疑問: 右に顔、生成りの吹き出し */
.sc-voice{display:flex;gap:18px;align-items:flex-start;margin:2em 0}
.sc-voice--reader{flex-direction:row-reverse}
.sc-voice-face{flex:0 0 80px;display:flex;flex-direction:column;align-items:center;gap:4px}
.sc-voice-face img{width:80px;height:80px;border-radius:50%;object-fit:cover;box-shadow:0 2px 10px rgba(59,51,43,.12);background:#fff}
.sc-voice-who{font-size:13px;color:var(--sc-muted);letter-spacing:.08em}
.sc-voice-body{position:relative;flex:1;min-width:0;border-radius:14px;padding:18px 22px;font-size:17px;line-height:1.9}
.sc-voice-body::before{content:"";position:absolute;top:26px;width:14px;height:14px;transform:rotate(45deg)}
.sc-voice-body p{margin:0 0 .7em}
.sc-voice-body p:last-child{margin-bottom:0}
.sc-voice--advice .sc-voice-body{background:#FBF6EC;border:1.5px solid #E3CFA4}
.sc-voice--advice .sc-voice-body::before{left:-8px;background:#FBF6EC;border-left:1.5px solid #E3CFA4;border-bottom:1.5px solid #E3CFA4}
.sc-voice--reader .sc-voice-body{background:var(--sc-surface);border:1.5px solid var(--sc-line2)}
.sc-voice--reader .sc-voice-body::before{right:-8px;background:var(--sc-surface);border-right:1.5px solid var(--sc-line2);border-top:1.5px solid var(--sc-line2)}
.sc-voice-name{font-size:15px;font-weight:700;color:var(--sc-gold-dark);letter-spacing:.06em;margin:0 0 6px!important}
.sc-voice-name::before{content:"";display:inline-block;width:18px;height:2px;background:var(--sc-gold);vertical-align:middle;margin-right:8px}
.sc-prose .sc-voice a{color:var(--sc-gold-dark)}
@media (max-width:767px){
  .sc-voice{gap:12px}
  .sc-voice-face{flex-basis:60px}
  .sc-voice-face img{width:60px;height:60px}
  .sc-voice-body{padding:14px 16px;font-size:16px}
  .sc-voice-body::before{top:20px}
}

/* 地域ガイド（/area/ の記事一覧、エリアのページ・施設ページの関連記事） */
.sc-guide{margin-top:48px}
.sc-guide-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 24px}
.sc-guide-list a{display:block;padding:12px 16px;background:var(--sc-surface);border:1px solid var(--sc-line);border-radius:8px;font-size:16px;font-weight:600;line-height:1.5}
.sc-guide-list a:hover{border-color:var(--sc-gold)}
@media (max-width:1024px){.sc-guide-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:767px){.sc-guide-list{grid-template-columns:1fr}.sc-guide{margin-top:32px}}
