/*
Theme Name: SORAYADO FINAL 2026 R19
Theme URI: https://sorayado.com/
Author: 空宿.COM 運営事務局
Description: 空宿.COM クリーン再構築版。リンク処理、旅館一覧、地域絞り込み、トップ写真、温泉地4カード、フッターを一本化。
Version: 5.9.2
Requires at least: 6.5
Requires PHP: 8.0
Text Domain: sorayado-final-2026-r17
*/

:root{
  --ink:#171717; --green:#062119; --cream:#f6f0e5;
  --gold:#aa7d24; --gold2:#c6a255; --line:#d8d0c1;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Yu Gothic","Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
.wrap{width:min(1120px,calc(100% - 64px));margin:0 auto}

/* Header */
.site-header{background:#fff;position:relative;z-index:20}
.header-inner{height:82px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.site-logo{display:flex;align-items:center}
.site-logo img{width:178px;height:68px;object-fit:contain;object-position:left center}
.main-nav{display:flex;align-items:center;gap:36px;font-family:"Yu Mincho","Hiragino Mincho ProN",serif}
.main-nav a{font-size:15px;white-space:nowrap}
.nav-cta,.gold-btn{background:var(--gold);color:#fff;border:1px solid #c8a65f}
.nav-cta{padding:15px 22px}
.mobile-menu{display:none}

/* Hero - approved wide visual rhythm */
.hero{
  height:370px;min-height:370px;color:#fff;
  background:
    linear-gradient(90deg,rgba(2,10,17,.54) 0%,rgba(2,10,17,.18) 48%,rgba(0,0,0,.02) 100%),
    url("assets/images/hero.png") center 60%/cover no-repeat;
}
.hero-inner{height:370px;min-height:370px;display:flex;align-items:center}
.hero-copy{max-width:585px}
.hero h1{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:42px;line-height:1.30;font-weight:500;margin:0 0 12px}
.hero-sub{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:19px;margin:0 0 15px}
.hero-note{font-size:13px;font-weight:700;line-height:1.75;margin:0 0 20px}
.gold-btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 24px}

/* Concept */
.concept{background:var(--cream);padding:40px 0 38px}
.concept-grid{display:grid;grid-template-columns:.90fr 1.10fr;gap:44px;align-items:center}
.concept h2,.areas h2{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-weight:500}
.concept h2{font-size:30px;line-height:1.45;margin:0}
.title-rule{display:block;width:38px;height:1px;background:var(--gold);margin:17px 0 23px}
.concept p{font-size:13px;line-height:1.9;font-weight:600;margin:0 0 14px}
.collage{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:210px 172px;gap:5px}
.collage .food{grid-column:1/-1;width:100%;height:210px;object-fit:cover;object-position:center 50%}
.collage img:not(.food){width:100%;height:172px;object-fit:cover;object-position:center center}

/* Benefits */
.benefits{background:var(--green);padding:25px 0 30px}
.benefit-heading{display:grid;grid-template-columns:74px auto 74px;gap:18px;align-items:center;justify-content:center;margin-bottom:20px}
.benefit-heading span{height:1px;background:#fff}
.benefit-heading h2{margin:0;color:#fff;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:25px;font-weight:600;white-space:nowrap}
.benefit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.benefit-card{background:#fffaf2;padding:12px;border-radius:3px}
.benefit-title{display:flex;align-items:center;gap:10px;min-height:36px;margin-bottom:10px}
.diamond{width:34px;height:34px;background:var(--gold2);transform:rotate(45deg);display:grid;place-items:center;flex:0 0 34px}
.diamond span{transform:rotate(-45deg);color:#fff;font-family:serif;font-size:18px}
.benefit-title h3{font-size:15px;margin:0}
.benefit-card img{width:100%;height:145px;object-fit:cover}
.benefit-card p{font-size:12px;line-height:1.7;margin:9px 0 0}

/* Areas - exactly four equal cards on desktop */
.areas{background:var(--cream);padding:24px 0 28px}
.area-heading{display:grid;grid-template-columns:72px auto 72px;gap:18px;align-items:center;justify-content:center;margin-bottom:18px}
.area-heading span{height:1px;background:var(--gold)}
.area-heading h2{font-size:27px;margin:0;white-space:nowrap}
.area-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;width:100%}
.area-card{position:relative;display:block;height:145px;overflow:hidden;border-radius:3px;color:#fff;background:#111}
.area-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.area-card:nth-child(1) img{object-position:center 56%}
.area-card:nth-child(2) img{object-position:center 46%}
.area-card:nth-child(3) img{object-position:center 54%}
.area-card:nth-child(4) img{object-position:center 50%}
.area-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 26%,rgba(0,0,0,.82) 100%);z-index:1}
.area-text{position:absolute;z-index:2;left:14px;right:12px;bottom:10px;display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end}
.area-text strong{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:18px;font-weight:500;line-height:1.25}
.area-text small{display:block;margin-top:5px;font-size:11px;font-weight:700;line-height:1.3}
.area-arrow{font-size:26px;line-height:1}
.area-card:hover img{transform:scale(1.02);transition:.25s ease}

/* Footer */
.site-footer{background:#061f18;color:#fff;padding-top:28px}
.footer-grid{display:grid;grid-template-columns:1.08fr 1.08fr .82fr .92fr 1.18fr;gap:24px;align-items:start}
.footer-logo{width:165px;max-height:70px;object-fit:contain}
.footer-brand p,.contact-block p,.footer-col a,.owner-box p{font-size:12px;line-height:1.8}
.footer-col h3{color:var(--gold2);font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:15px;margin:0 0 10px}
.footer-col a{display:block}
.contact-block p{margin:0 0 8px}
.socials{display:flex;gap:12px;margin-top:14px}
.social-icon{width:36px;height:36px;border:1px solid rgba(255,255,255,.85);border-radius:50%;display:grid;place-items:center}
.social-icon svg{width:18px;height:18px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.social-icon.fb svg,.social-icon.line svg{fill:#fff;stroke:none}
.owner-box{border:1px solid var(--gold);padding:15px;text-align:center}
.owner-box b{color:#dfc06c}
.owner-box .gold-btn{width:100%;margin-top:6px}
.footer-bottom{border-top:1px solid rgba(255,255,255,.15);margin-top:24px;padding:12px 0;text-align:center;font-size:11px}

/* Internal/list pages */
.crumbbar{background:#ece7dc;border-bottom:1px solid var(--line)}
.crumbs{max-width:1120px;margin:auto;padding:10px 22px;font-size:13px;color:#5d5a53}
.page-hero{min-height:245px;color:#fff;display:grid;place-items:center;text-align:center;padding:48px 20px;background-size:cover;background-position:center}
.page-hero h1{margin:0;font-size:clamp(28px,4vw,44px);letter-spacing:.08em;font-family:"Yu Mincho","Hiragino Mincho ProN",serif}
.page-hero p{margin:12px 0 0;font-size:15px}
.container{max-width:1120px;margin:auto;padding:46px 22px}
.section-title{font-size:28px;margin:0 0 22px;font-family:"Yu Mincho","Hiragino Mincho ProN",serif}
.filter{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:28px}
.filter a{border:1px solid var(--line);background:#fff;padding:9px 15px;border-radius:999px;font-size:14px}
.filter a.active{background:#1d3228;color:#fff;border-color:#1d3228}
.inn-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.inn-card{position:relative;background:#fff;border:1px solid var(--line);box-shadow:0 8px 28px rgba(31,45,37,.07);overflow:hidden}
.inn-card>img{width:100%;aspect-ratio:4/3;object-fit:cover}
.inn-card .body{padding:18px}
.eyebrow{color:#7d704f;font-size:12px}
.inn-card h2{font-size:21px;margin:4px 0 8px;font-family:"Yu Mincho","Hiragino Mincho ProN",serif}
.inn-card p{font-size:14px;color:#625e56;margin:0 0 14px;line-height:1.7}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}
.chip{font-size:11px;padding:4px 8px;background:#f2eee6}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;border:1px solid #1d3228;background:#1d3228;color:#fff;font-size:14px}
.btn.secondary{background:#fff;color:#1d3228}
.btn.gold{background:var(--gold);border-color:var(--gold)}
.demo-heading{display:flex;justify-content:space-between;gap:25px;align-items:end;margin:48px 0 18px;padding-top:30px;border-top:1px solid var(--line)}
.demo-heading span,.demo-badge{background:var(--gold);color:#fff;font-size:11px;padding:4px 8px}
.demo-heading h3{margin:6px 0 0;font-size:25px}
.demo-heading p{max-width:520px;font-size:13px;color:#666}
.demo-badge{position:absolute;top:10px;left:10px;z-index:2}
.detail{display:grid;grid-template-columns:1.2fr .8fr;gap:38px;align-items:start}
.gallery-main{width:100%;aspect-ratio:4/3;object-fit:cover}
.detail h1{font-size:36px;line-height:1.4;margin:0 0 8px}
.lead{font-size:16px;color:#555146}
.facts{margin:24px 0;border-top:1px solid var(--line)}
.fact{display:grid;grid-template-columns:130px 1fr;padding:12px 0;border-bottom:1px solid var(--line);font-size:14px}
.fact dd{margin:0}
.action-box{background:#202a23;color:#fff;padding:24px;position:sticky;top:98px}
.action-box .btn{width:100%;margin-top:9px}
.return-link{display:inline-block;margin-top:14px;color:#fff}
.external-note,.demo-note{font-size:12px;color:#777;margin-top:10px}

/* Theme-owned info / registration pages */
.simple-page{background:var(--cream);min-height:60vh}
.simple-card{max-width:820px;margin:0 auto;padding:50px 22px}
.simple-card h1{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:34px}
.simple-card p,.simple-card li{line-height:1.85}
.reg-form{display:grid;gap:14px;margin-top:25px}
.reg-form label{font-weight:700;font-size:13px}
.reg-form input,.reg-form textarea{width:100%;padding:12px;border:1px solid #cfc6b7;background:#fff;font:inherit}
.reg-form textarea{min-height:130px}
.reg-form button{border:0;cursor:pointer}

/* Responsive */
@media(max-width:980px){.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:900px){
  .wrap{width:min(100% - 34px,1120px)}
  .main-nav{display:none}.mobile-menu{display:block}
  .mobile-menu summary{font-size:26px;cursor:pointer;list-style:none}
  .mobile-menu nav{position:absolute;right:18px;top:65px;background:#fff;box-shadow:0 10px 30px rgba(0,0,0,.18);padding:14px;min-width:210px}
  .mobile-menu a{display:block;padding:10px}
  .hero{height:auto;min-height:455px;background-position:58% center}
  .hero-inner{height:auto;min-height:455px}
  .concept-grid{grid-template-columns:1fr}
  .benefit-grid{grid-template-columns:1fr}
  .area-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .area-card{height:158px}
  .inn-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  .wrap{width:min(100% - 28px,1120px)}
  .header-inner{height:68px}.site-logo img{width:150px;height:56px}
  .hero{min-height:505px;background-position:60% center}.hero-inner{min-height:505px}
  .hero h1{font-size:32px}.hero-sub{font-size:16px}
  .concept{padding:32px 0}.concept h2{font-size:25px}
  .collage{grid-template-rows:205px 138px}.collage .food{height:205px}.collage img:not(.food){height:138px}
  .benefit-heading,.area-heading{grid-template-columns:28px 1fr 28px;gap:8px}
  .benefit-heading h2,.area-heading h2{font-size:21px;white-space:normal;text-align:center}
  .area-grid,.inn-grid,.footer-grid{grid-template-columns:1fr}
  .area-card{height:158px}
  .detail{grid-template-columns:1fr}.action-box{position:static}
}


/* R13: approved PNG hero */
body .hero{
  height:353px !important;
  min-height:353px !important;
  background:
    linear-gradient(90deg,rgba(2,10,17,.52) 0%,rgba(2,10,17,.16) 49%,rgba(0,0,0,.02) 100%),
    url("assets/images/hero.png") center center/cover no-repeat !important;
}
body .hero-inner{
  height:353px !important;
  min-height:353px !important;
}
body .hero-copy{max-width:570px !important}
@media(max-width:900px){
  body .hero{height:auto !important;min-height:455px !important;background-position:58% center !important}
  body .hero-inner{height:auto !important;min-height:455px !important}
}
@media(max-width:600px){
  body .hero{min-height:505px !important;background-position:60% center !important}
  body .hero-inner{min-height:505px !important}
}


/* =========================================================
   R14 targeted fixes
   1) 九州の美しい温泉地から探す：4枚を見本比率で均等配置
   2) フッターのサイトメニュー：全ページからトップ各セクションへ
   3) SNS：正しいロゴ形状＋リンク
   ========================================================= */

/* Area cards */
body .areas{
  padding:24px 0 28px !important;
}
body .areas .wrap{
  width:min(1160px,calc(100% - 56px)) !important;
}
body .area-heading{
  margin-bottom:18px !important;
}
body .area-grid{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:10px !important;
  width:100% !important;
  align-items:stretch !important;
}
body .area-card{
  width:100% !important;
  height:138px !important;
  min-width:0 !important;
  overflow:hidden !important;
  border-radius:3px !important;
}
body .area-card img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  transform:none !important;
}
body .area-card:nth-child(1) img{object-position:center 54% !important}
body .area-card:nth-child(2) img{object-position:center 44% !important}
body .area-card:nth-child(3) img{object-position:center 54% !important}
body .area-card:nth-child(4) img{object-position:center 50% !important}
body .area-text{
  left:14px !important;
  right:12px !important;
  bottom:10px !important;
}
body .area-text strong{
  font-size:18px !important;
  line-height:1.2 !important;
}
body .area-text small{
  margin-top:4px !important;
  font-size:11px !important;
  line-height:1.25 !important;
}
body .area-arrow{
  font-size:26px !important;
  padding-bottom:1px !important;
}

/* Footer */
body .footer-grid{
  grid-template-columns:1.10fr 1.10fr .80fr .90fr 1.18fr !important;
  gap:24px !important;
  align-items:start !important;
}
body .footer-col a{
  text-decoration:none !important;
}
body .footer-col a:hover{
  text-decoration:underline !important;
}
body .socials{
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  margin-top:14px !important;
}
body .social-icon{
  width:36px !important;
  height:36px !important;
  display:grid !important;
  place-items:center !important;
  border:1px solid rgba(255,255,255,.85) !important;
  border-radius:50% !important;
  transition:.2s ease !important;
}
body .social-icon:hover{
  transform:translateY(-1px);
  background:rgba(255,255,255,.08);
}
body .social-icon svg{
  width:18px !important;
  height:18px !important;
}

@media(max-width:900px){
  body .areas .wrap{width:min(100% - 34px,1160px) !important}
  body .area-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
  body .area-card{height:155px !important}
}
@media(max-width:600px){
  body .areas .wrap{width:min(100% - 28px,1160px) !important}
  body .area-grid{grid-template-columns:1fr !important}
  body .area-card{height:155px !important}
}


/* =========================================================
   R15 final targeted fixes
   - area cards use the exact approved visual crops
   - footer logo uses the same logo artwork as the header
   ========================================================= */

body .areas .wrap{
  width:min(1000px,calc(100% - 48px)) !important;
}
body .area-grid{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:8px !important;
}
body .area-card{
  height:auto !important;
  aspect-ratio:237 / 124 !important;
  border-radius:3px !important;
  overflow:hidden !important;
  background:#111 !important;
}
body .area-card img{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:fill !important;
}
body .area-card::after{
  display:none !important;
}
body .area-card .area-text{
  display:none !important;
}

/* Header logo and footer logo are now the same artwork */
body .footer-brand .footer-logo{
  width:178px !important;
  height:auto !important;
  max-height:none !important;
  object-fit:contain !important;
  padding:5px 8px !important;
  background:#fff !important;
  border-radius:2px !important;
}

@media(max-width:900px){
  body .areas .wrap{width:min(100% - 34px,1000px) !important}
  body .area-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
}
@media(max-width:600px){
  body .areas .wrap{width:min(100% - 28px,1000px) !important}
  body .area-grid{grid-template-columns:1fr !important}
}


/* =========================================================
   R16 MOBILE-ONLY FIXES
   PC版R15は変更しない。
   ========================================================= */
@media(max-width:600px){

  body .hero h1{
    font-size:30px !important;
    line-height:1.32 !important;
    letter-spacing:0 !important;
  }
  body .hero-sub{
    font-size:15px !important;
    line-height:1.55 !important;
  }
  body .hero-note{
    font-size:12px !important;
    line-height:1.7 !important;
  }
  body .hero-copy{
    max-width:100% !important;
  }

  body .site-footer{
    padding-top:24px !important;
  }
  body .site-footer .wrap{
    width:min(100% - 28px,560px) !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  body .footer-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:24px !important;
    width:100% !important;
  }

  body .footer-brand,
  body .contact-block,
  body .footer-col,
  body .owner-box{
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    writing-mode:horizontal-tb !important;
    text-orientation:mixed !important;
  }

  body .footer-brand .footer-logo{
    width:170px !important;
    height:auto !important;
    margin:0 0 12px !important;
  }

  body .footer-brand p,
  body .contact-block p,
  body .footer-col a,
  body .owner-box p,
  body .footer-col h3,
  body .owner-box h3{
    writing-mode:horizontal-tb !important;
    text-orientation:mixed !important;
    white-space:normal !important;
    word-break:normal !important;
    overflow-wrap:anywhere !important;
  }

  body .footer-col h3,
  body .owner-box h3{
    font-size:16px !important;
    margin:0 0 10px !important;
  }

  body .footer-col a{
    display:block !important;
    width:100% !important;
    padding:4px 0 !important;
    font-size:13px !important;
    line-height:1.7 !important;
  }

  body .contact-block p{
    font-size:13px !important;
    line-height:1.7 !important;
  }

  body .socials{
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:nowrap !important;
    gap:12px !important;
    margin-top:14px !important;
  }

  body .owner-box{
    padding:18px !important;
    text-align:center !important;
    border:1px solid var(--gold) !important;
  }

  body .owner-box .gold-btn{
    display:flex !important;
    width:100% !important;
    min-height:48px !important;
    padding:12px 16px !important;
    align-items:center !important;
    justify-content:center !important;
    white-space:normal !important;
    writing-mode:horizontal-tb !important;
    text-orientation:mixed !important;
    font-size:14px !important;
    line-height:1.4 !important;
  }

  body .footer-bottom{
    margin-top:22px !important;
    padding:12px 0 16px !important;
    font-size:10px !important;
    line-height:1.5 !important;
  }
}


/* =========================================================
   R17 MOBILE RYOKAN LIST FIX
   PC版は変更せず、スマホの旅館一覧だけ修正。
   ========================================================= */
@media(max-width:600px){

  /* 全要素を横書きに固定 */
  body .crumbbar,
  body .crumbbar *,
  body .page-hero,
  body .page-hero *,
  body .container,
  body .container *,
  body .section-title,
  body .filter,
  body .filter *,
  body .demo-heading,
  body .demo-heading *,
  body .inn-grid,
  body .inn-grid *,
  body .inn-card,
  body .inn-card *{
    writing-mode:horizontal-tb !important;
    text-orientation:mixed !important;
  }

  /* 旅館一覧の導入エリア */
  body .page-hero{
    min-height:220px !important;
    padding:34px 18px !important;
    background-position:center !important;
    overflow:hidden !important;
    min-width:0 !important;
  }

  body .page-hero > div{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    padding:0 !important;
  }

  body .page-hero h1{
    font-family:"Yu Mincho","Hiragino Mincho ProN","Hiragino Mincho Pro","Noto Serif JP",serif !important;
    font-size:clamp(25px,7.2vw,29px) !important;
    line-height:1.4 !important;
    font-weight:500 !important;
    letter-spacing:.01em !important;
    white-space:normal !important;
    word-break:normal !important;
    overflow-wrap:anywhere !important;
    line-break:strict !important;
    max-width:100% !important;
  }

  body .page-hero p{
    font-family:"Yu Mincho","Hiragino Mincho ProN","Hiragino Mincho Pro","Noto Serif JP",serif !important;
    font-size:13px !important;
    line-height:1.65 !important;
    font-weight:400 !important;
    white-space:normal !important;
    word-break:normal !important;
    overflow-wrap:anywhere !important;
    line-break:strict !important;
    max-width:100% !important;
  }

  /* 一覧本文 */
  body .container{
    padding:30px 18px !important;
  }

  body .section-title{
    font-family:"Yu Mincho","Hiragino Mincho ProN","Hiragino Mincho Pro","Noto Serif JP",serif !important;
    font-size:25px !important;
    line-height:1.4 !important;
    font-weight:500 !important;
    letter-spacing:.03em !important;
    margin-bottom:18px !important;
  }

  body .filter{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:8px !important;
    margin-bottom:22px !important;
  }

  body .filter a{
    font-family:"Yu Mincho","Hiragino Mincho ProN","Hiragino Mincho Pro","Noto Serif JP",serif !important;
    font-size:13px !important;
    line-height:1.4 !important;
    white-space:nowrap !important;
    padding:8px 12px !important;
  }

  body .inn-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:20px !important;
  }

  body .inn-card{
    width:100% !important;
  }

  body .inn-card h2{
    font-family:"Yu Mincho","Hiragino Mincho ProN","Hiragino Mincho Pro","Noto Serif JP",serif !important;
    font-size:22px !important;
    line-height:1.4 !important;
    font-weight:500 !important;
  }

  body .inn-card p,
  body .eyebrow,
  body .chip,
  body .demo-heading p,
  body .demo-note{
    font-family:"Yu Mincho","Hiragino Mincho ProN","Hiragino Mincho Pro","Noto Serif JP",serif !important;
    line-height:1.75 !important;
  }

  body .demo-heading{
    display:block !important;
    margin-top:34px !important;
  }

  body .demo-heading h3{
    font-family:"Yu Mincho","Hiragino Mincho ProN","Hiragino Mincho Pro","Noto Serif JP",serif !important;
    font-size:23px !important;
    line-height:1.4 !important;
    font-weight:500 !important;
  }
}


/* =========================================================
   R19 SMARTPHONE HERO TITLE ONE-LINE FIX
   実機で末尾「す」だけが2行目へ落ちるケースを防止。
   PC版には影響しない。
   ========================================================= */
@media(max-width:600px){
  body .page-hero{
    -webkit-text-size-adjust:100% !important;
    text-size-adjust:100% !important;
  }
  body .page-hero h1{
    font-size:clamp(21px,6.1vw,24px) !important;
    line-height:1.35 !important;
    letter-spacing:0 !important;
    white-space:nowrap !important;
    word-break:keep-all !important;
    overflow-wrap:normal !important;
    max-width:100% !important;
  }
}
