:root{
  /* 地域ページ common.css と同一 */
  --primary:#94214d;--primary-dark:#7a1b40;--accent:#92b269;--accent-dark:#6f9148;
  --bg-cream:#fcf8ec;--bg-page:#f0ebe0;--bg-white:#fff;--border:#e0d8c8;
  --text-dark:#333;--text-mid:#5d5d5d;--gold:#d4a017;
  --font-body:'Noto Sans JP',sans-serif;--font-heading:'Noto Serif JP',serif;--font-mono:'Inter',sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box;}
body{font-family:var(--font-body);background:var(--bg-page);color:var(--text-dark);line-height:1.6;-webkit-font-smoothing:antialiased;}
.lp{max-width:1080px;margin:0 auto;background:var(--bg-cream);}
html{scroll-behavior:smooth;}
img{max-width:100%;display:block;}
a{color:inherit;}
.num{font-family:var(--font-mono);}
[data-lucide]{width:1em;height:1em;stroke-width:2;vertical-align:-.12em;}

.review-note{background:#222;color:#fff;font-size:12px;padding:8px 16px;text-align:center;}
.review-note b{color:#ffd166;}

/* ヘッダー */
.header{background:var(--primary);padding:10px 22px;display:flex;align-items:center;gap:20px;position:sticky;top:0;z-index:100;}
.header .logo img{height:34px;}
.gnav{display:flex;gap:20px;margin-left:6px;}
.gnav a{color:rgba(255,255,255,.92);text-decoration:none;font-size:13.5px;}
.gnav a:hover{text-decoration:underline;}
.header-right{margin-left:auto;display:flex;align-items:center;gap:14px;}
.htel{color:#fff;text-decoration:none;text-align:right;line-height:1.2;}
.htel .lbl{font-size:10px;color:rgba(255,255,255,.7);display:block;}
.htel .n{font-size:21px;font-weight:700;font-family:var(--font-mono);}
.hbtn{background:#fff;color:var(--primary);padding:9px 16px;border-radius:8px;text-decoration:none;font-size:13px;font-weight:700;white-space:nowrap;display:inline-flex;align-items:center;gap:6px;}

/* ヒーロー（食欲先行＋H1＋二段CTA） */
.hero{position:relative;color:#fff;}
.hero .bg{position:absolute;inset:0;background:url('../images/hp_bg_bright.jpg') center/cover;}
.hero .bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(74,12,32,.86),rgba(74,12,32,.5) 60%,rgba(74,12,32,.25));}
.hero .inner{position:relative;padding:38px 24px;max-width:680px;}
.hero .eyebrow{display:inline-block;background:var(--accent);color:#fff;font-size:12.5px;font-weight:700;border-radius:4px;padding:4px 12px;margin-bottom:14px;}
.hero h1{font-family:var(--font-heading);font-size:clamp(26px,4.6vw,42px);font-weight:700;line-height:1.3;text-shadow:0 2px 8px rgba(0,0,0,.3);}
.hero .sub{font-size:clamp(14px,2vw,16px);margin-top:10px;text-shadow:0 1px 4px rgba(0,0,0,.4);}
.hero .ctas{display:flex;gap:14px;margin-top:18px;flex-wrap:wrap;}
.hero .cta{display:inline-flex;align-items:center;gap:8px;text-decoration:none;font-weight:700;border-radius:10px;padding:15px 24px;font-size:16px;}
.hero .cta.area{background:var(--accent);color:#fff;box-shadow:0 4px 0 var(--accent-dark);}
.hero .cta.tel{background:#fff;color:var(--primary);box-shadow:0 4px 0 rgba(0,0,0,.25);}
.hero .cta .n{font-family:var(--font-mono);font-size:19px;}
.hero .cta:hover{transform:translateY(1px);}
.hero .cta.ghost{margin-top:14px;background:rgba(255,255,255,.12);color:#fff;border:1.5px solid rgba(255,255,255,.8);box-shadow:none;font-size:14px;font-weight:500;padding:12px 20px;}
.hero .cta.ghost:hover{background:rgba(255,255,255,.22);transform:none;}
.notice-bar{background:#fff;border-bottom:3px solid var(--accent);padding:10px 20px;text-align:center;font-size:13px;color:#8a6d00;}
.notice-bar b{color:var(--primary);}
/* PDF調トップバナー（詳細ページ） */
.banner{position:relative;background:linear-gradient(180deg,#fdf0a6,#f3df7e);display:grid;grid-template-columns:240px 1fr 240px;align-items:center;overflow:hidden;}
.banner .ph{height:150px;overflow:hidden;}
.banner .ph img{width:100%;height:100%;object-fit:cover;}
.banner .ttl{text-align:center;padding:16px;}
.banner .ttl h1{font-family:var(--font-heading);font-size:clamp(21px,3.4vw,32px);color:var(--primary);line-height:1.4;text-shadow:0 1px 0 #fff;}
.banner .ttl .en{display:block;font-size:12px;color:var(--accent-dark);margin-top:8px;}
.backbar{max-width:1080px;margin:0 auto;background:var(--bg-cream);border-bottom:1px solid var(--border);}
.backbar a{display:inline-flex;align-items:center;gap:6px;padding:11px 22px;color:var(--primary);text-decoration:none;font-size:13px;font-weight:700;}

/* ご利用目的｜チャネル振り分け（PDFのボタン調） */
.channels{background:var(--bg-cream);}
.ch-wrap{max-width:880px;margin:0 auto;}
.chbtn{display:flex;align-items:center;gap:14px;background:var(--accent);color:#fff;text-decoration:none;border-radius:12px;padding:16px 20px;transition:.15s;box-shadow:0 3px 0 rgba(0,0,0,.12);}
.chbtn:hover{transform:translateY(1px);box-shadow:0 2px 0 rgba(0,0,0,.12);}
.chbtn [data-lucide]{font-size:26px;flex:0 0 auto;}
.chbtn .t{display:flex;flex-direction:column;line-height:1.3;}
.chbtn .t b{font-size:16px;}
.chbtn .t em{font-style:normal;font-size:12.5px;opacity:.92;}
.chbtn.primary{background:var(--primary);margin-bottom:12px;padding:20px 24px;justify-content:center;}
.chbtn.primary [data-lucide]{font-size:30px;}
.chbtn.primary .t{align-items:center;text-align:center;}
.chbtn.primary .t b{font-size:18px;}
.ch-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}
.ch-row .chbtn{flex-direction:column;text-align:center;gap:8px;padding:16px 12px;}
.ch-row .chbtn .t{align-items:center;}
.ch-note{text-align:center;font-size:11.5px;color:#999;margin-top:12px;}

/* セクション共通 */
section{padding:30px 22px;}
section[id]{scroll-margin-top:72px;}/* 固定ヘッダー分のオフセット（アンカー移動時のズレ防止）*/
.sec-head{text-align:center;margin-bottom:16px;}
.sec-head h2{font-family:var(--font-heading);font-size:clamp(21px,3.1vw,28px);color:var(--primary);font-weight:700;}
.sec-head .en{display:block;font-size:11px;letter-spacing:.22em;color:var(--accent-dark);margin-top:6px;text-transform:uppercase;}

/* 選ばれる理由 */
.reasons{background:var(--bg-white);}
.reason-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;max-width:940px;margin:0 auto;}
.reason{text-align:center;padding:8px 12px;}
.reason .ic{width:48px;height:48px;border-radius:50%;background:var(--bg-cream);border:2px solid var(--accent);display:flex;align-items:center;justify-content:center;margin:0 auto 8px;color:var(--primary);font-size:22px;}
.reason b{display:block;color:var(--primary);font-size:15px;margin-bottom:6px;}
.reason p{font-size:13px;color:var(--text-mid);}

/* 注文・配達 */
.order-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:820px;margin:0 auto;}
.order-card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:16px 18px;}
.order-card h3{font-family:var(--font-heading);font-size:19px;color:var(--primary);text-align:center;border-bottom:2px solid var(--border);padding-bottom:12px;margin-bottom:16px;}
.btn-row{display:flex;flex-direction:column;gap:10px;}
.lk{display:flex;align-items:center;gap:10px;text-decoration:none;font-size:14px;font-weight:500;padding:12px 14px;border-radius:8px;border:1px solid var(--border);background:var(--bg-cream);}
.lk:hover{border-color:var(--primary);}
.lk .pdf{font-size:11px;font-weight:700;background:#c0392b;color:#fff;border-radius:4px;padding:2px 7px;}
.net-order{max-width:560px;margin:16px auto 0;}
.net-order a{display:flex;align-items:center;justify-content:center;gap:10px;background:var(--primary);color:#fff;text-decoration:none;font-weight:700;font-size:17px;padding:18px;border-radius:12px;box-shadow:0 4px 0 var(--primary-dark);}
.net-order a:hover{transform:translateY(1px);box-shadow:0 3px 0 var(--primary-dark);}
.note-mini{text-align:center;font-size:12px;color:var(--text-mid);margin-top:12px;}

/* 看板商品 */
.signature{background:var(--bg-cream);}
.sig-flex{display:flex;align-items:center;gap:24px;max-width:920px;margin:0 auto;}
.sig-flex .pic{flex:0 0 46%;}
.sig-flex .pic img{border-radius:12px;}
.sig-flex .txt .tag{color:var(--accent-dark);font-weight:700;font-size:13px;letter-spacing:.1em;}
.sig-flex .txt h3{font-family:var(--font-heading);font-size:24px;color:var(--primary);margin:6px 0 12px;}
.sig-flex .txt p{font-size:14.5px;color:var(--text-mid);}

/* 利用シーン */
.scenes{background:var(--bg-white);}
.scene-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;max-width:960px;margin:0 auto;}
.scene{background:var(--bg-cream);border:1px solid var(--border);border-radius:12px;overflow:hidden;}
.scene img{height:150px;width:100%;object-fit:cover;}
.scene .c{padding:14px;}
.scene .c b{display:block;color:var(--primary);font-size:15px;margin-bottom:4px;}
.scene .c p{font-size:12.5px;color:var(--text-mid);}

/* こだわり */
.craft{background:var(--bg-cream);}
.craft-flex{display:flex;align-items:center;gap:24px;max-width:920px;margin:0 auto;flex-direction:row-reverse;}
.craft-flex .pic{flex:0 0 42%;}
.craft-flex .pic img{border-radius:12px;}
.craft-flex .txt h3{font-family:var(--font-heading);font-size:21px;color:var(--primary);margin-bottom:12px;line-height:1.5;}
.craft-flex .txt p{font-size:14px;color:var(--text-mid);}

/* 配達エリア */
.area{background:var(--bg-white);}
.cond-icons{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;max-width:780px;margin:0 auto 16px;}
.cond-icon{flex:1;min-width:190px;text-align:center;background:var(--bg-cream);border:2px solid var(--accent);border-radius:14px;padding:12px 14px;}
.cond-icon .ic{font-size:28px;color:var(--primary);}
.cond-icon b{display:block;color:var(--primary);font-size:14px;margin-top:8px;}
.cond-icon span{font-size:11px;color:var(--text-mid);}
.area-pick{max-width:980px;margin:0 auto;}
.area-pick .sub{text-align:center;font-size:14px;color:var(--text-mid);margin-bottom:12px;}
.maps{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}
.map-card{background:var(--bg-cream);border:1px solid var(--border);border-radius:12px;overflow:hidden;}
.map-card .mtop{background:var(--primary);color:#fff;text-align:center;font-weight:700;font-size:14px;padding:8px;}
.map-card.seibu .mtop{background:var(--accent-dark);}
.map-card .mimg{padding:10px 10px 0;background:#fff;}
.map-card .mimg img{height:92px;width:auto;margin:0 auto;}
.map-card .links{display:flex;flex-wrap:wrap;gap:6px;padding:12px;background:#fff;}
.map-card .links a{font-size:12.5px;text-decoration:none;background:var(--bg-cream);border:1px solid var(--border);border-radius:16px;padding:4px 11px;}
.map-card .links a:hover{background:var(--primary);color:#fff;border-color:var(--primary);}
.cond-list{max-width:780px;margin:16px auto 0;font-size:14px;background:var(--bg-cream);border:1px solid var(--border);border-radius:10px;padding:14px 22px;}
.cond-list li{list-style:none;padding:5px 0 5px 22px;position:relative;}
.cond-list li::before{content:"●";color:var(--accent-dark);position:absolute;left:0;font-size:10px;top:12px;}
.callout{max-width:780px;margin:14px auto 0;background:var(--bg-cream);border:1px dashed var(--primary);border-radius:10px;padding:16px 20px;text-align:center;font-size:14px;}
.callout .lead{display:block;margin-bottom:8px;}
.callout .nums{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 26px;}
.callout .t{white-space:nowrap;font-weight:700;color:var(--primary);}
.callout .t .lbl{font-size:13px;margin-right:4px;}
.callout .n{font-size:21px;font-weight:700;color:var(--primary);font-family:var(--font-mono);vertical-align:-.06em;}

/* お客様の声 */
.voice{background:var(--bg-cream);}
.voice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:940px;margin:0 auto;}
.voice-card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:16px 18px;}
.voice-card .stars{color:var(--gold);font-size:15px;letter-spacing:2px;margin-bottom:10px;}
.voice-card p{font-size:14px;color:var(--text-dark);margin-bottom:12px;}
.voice-card .who{font-size:12.5px;color:var(--text-mid);text-align:right;}

/* ②EC帯 */
.ec{background:linear-gradient(180deg,#f3f7ec,#e7efd9);}
.ec-flex{display:flex;align-items:center;gap:22px;max-width:900px;margin:0 auto;}
.ec-flex .pic{flex:0 0 46%;}
.ec-flex .pic img{border-radius:12px;border:1px solid var(--border);}
.ec-flex .txt h3{font-family:var(--font-heading);font-size:21px;color:var(--accent-dark);margin-bottom:8px;}
.ec-flex .txt p{font-size:14px;color:var(--text-mid);margin-bottom:16px;}
.ec-flex .txt .ecbtn{display:inline-flex;align-items:center;gap:8px;background:var(--accent-dark);color:#fff;text-decoration:none;font-weight:700;padding:13px 28px;border-radius:10px;font-size:15px;}

/* 流れ */
.flow{background:var(--bg-white);}
.flow-intro{text-align:center;font-size:14.5px;color:var(--text-mid);max-width:740px;margin:0 auto 16px;}
.flow-steps{display:flex;align-items:stretch;justify-content:center;max-width:980px;margin:0 auto;}
.flow-steps .step{flex:1;background:var(--bg-cream);border:1px solid var(--border);border-radius:14px;padding:16px 14px;text-align:center;}
.flow-steps .step .no{display:block;font-family:var(--font-mono);font-weight:700;font-size:12px;letter-spacing:.12em;color:var(--accent-dark);margin-bottom:10px;}
.flow-steps .step .ic{width:46px;height:46px;border-radius:50%;background:#fff;border:2px solid var(--accent);display:flex;align-items:center;justify-content:center;color:var(--primary);font-size:22px;margin:0 auto 8px;}
.flow-steps .step h4{font-size:15.5px;color:var(--primary);margin-bottom:6px;}
.flow-steps .step p{font-size:12.5px;color:var(--text-mid);}
.flow-steps .arrow{display:flex;align-items:center;justify-content:center;color:var(--accent);font-size:28px;flex:0 0 auto;padding:0 4px;}
.method-head{text-align:center;margin:24px auto 14px;}
.method-head b{display:inline-block;background:var(--primary);color:#fff;font-size:14px;font-weight:700;border-radius:22px;padding:8px 22px;}
.methods{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;max-width:920px;margin:0 auto;}
.method{border:1px solid var(--border);border-radius:10px;padding:12px 14px;text-align:center;background:var(--bg-cream);}
.method .ic{width:46px;height:46px;border-radius:50%;background:#fff;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:20px;color:var(--primary);margin:0 auto 8px;}
.method b{display:block;color:var(--primary);font-size:14.5px;margin-bottom:4px;}
.method .sub{font-size:11px;color:var(--accent-dark);font-weight:700;margin-bottom:4px;}
.method span{font-size:12px;color:var(--text-mid);display:block;}

/* 注意・問い合わせ・FAQ */
.info{background:var(--bg-cream);}
.info-box{max-width:820px;margin:0 auto;}
.info-box h3{font-family:var(--font-heading);font-size:17px;color:var(--primary);border-left:5px solid var(--accent);padding-left:10px;margin:6px 0 10px;}
.info-box ul{font-size:13.5px;color:var(--text-mid);padding-left:20px;}
.info-box ul li{margin-bottom:6px;}
.contact{max-width:820px;margin:14px auto 0;background:#fff;border:1px solid var(--border);border-radius:10px;padding:16px 20px;font-size:14px;}
.contact b{color:var(--primary);}
.faq{max-width:820px;margin:0 auto;}
.faq details{background:#fff;border:1px solid var(--border);border-radius:8px;margin-bottom:10px;padding:0 18px;}
.faq summary{font-weight:700;font-size:14.5px;padding:14px 0;cursor:pointer;}
.faq details p{font-size:13.5px;color:var(--text-mid);padding:0 0 14px;}

.footer{background:var(--primary-dark);color:rgba(255,255,255,.85);text-align:center;padding:30px 20px 90px;font-size:12px;line-height:2;}
.footer a{color:#fff;}

/* モバイル固定CTAバー */
.sticky-cta{display:none;position:fixed;bottom:0;left:0;right:0;z-index:200;background:#fff;border-top:1px solid var(--border);box-shadow:0 -2px 10px rgba(0,0,0,.12);}
.sticky-cta a{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:14px 8px;text-decoration:none;font-weight:700;font-size:15px;}
.sticky-cta .tel{color:#fff;background:var(--primary);}
.sticky-cta .net{color:#fff;background:var(--accent-dark);}
.sticky-cta .num{font-family:var(--font-mono);}

@media(max-width:760px){
  .gnav{display:none;}
  .header{gap:10px;padding:10px 14px;}
  .htel .lbl{display:none;}
  .htel .n{font-size:18px;}
  .reason-grid,.scene-grid,.voice-grid,.ch-row{grid-template-columns:1fr 1fr;}
  .banner{grid-template-columns:1fr;}
  .banner .ph{display:none;}
  .order-grid{grid-template-columns:1fr;}
  .maps,.methods{grid-template-columns:1fr 1fr;}
  .flow-steps{flex-direction:column;}
  .flow-steps .arrow{transform:rotate(90deg);padding:8px 0;}
  .sig-flex,.craft-flex,.ec-flex{flex-direction:column;}
  .craft-flex{flex-direction:column;}
  .sig-flex .pic,.craft-flex .pic,.ec-flex .pic{flex:none;width:100%;}
  section{padding:24px 16px;}
  .hero .inner{padding:28px 16px;}
  .sticky-cta{display:flex;}
}


/* ===== ハブ：1画面・スクロール不可 ===== */
body.hub-page{height:100vh;overflow:hidden;}
.hub-page .lp{height:100vh;display:flex;flex-direction:column;overflow:hidden;}
.hub-page .header{flex:0 0 auto;position:static;}
.hub-page .hero{flex:0 0 auto;}
.hub-page .hero .inner{padding:20px 24px;}
.hub-page .hero h1{font-size:clamp(22px,3.4vw,32px);}
.hub-page .hero .sub{margin-top:8px;}
.hub-page .channels{flex:1 1 auto;display:flex;flex-direction:column;justify-content:center;padding:18px 22px;overflow:hidden;}
.hub-page .sec-head{margin-bottom:14px;}
.hub-page .ch-note{margin-top:10px;}
.chbtn .logo-icon{width:34px;height:34px;border-radius:8px;flex:0 0 auto;object-fit:cover;}
@media(max-width:760px){
  .hub-page .hero .inner{padding:14px 16px;}
  .hub-page .hero h1{font-size:21px;}
  .hub-page .channels{padding:12px 14px;}
  .chbtn .logo-icon{width:30px;height:30px;}
}

/* チャネルボタン：アイコン/ロゴのサイズと文字位置を4つで統一 */
.ch-row .chbtn{justify-content:flex-start;}
.ch-row .chbtn [data-lucide]{font-size:34px;width:34px;height:34px;}
.ch-row .chbtn .logo-icon{width:34px;height:34px;}
.ch-row .chbtn .t{min-height:38px;justify-content:flex-start;}


/* 大画面の間延び対策：バナーが余白を埋め、ボタンは下部に詰める */
.hub-page .hero{flex:1 1 auto;display:flex;align-items:center;min-height:180px;}
.hub-page .channels{flex:0 0 auto;justify-content:center;}


/* バランス調整：バナーは控えめな高さに固定し、バナー＋ボタンを画面中央へ（上下余白は均等） */
.hub-page .hero{flex:0 0 auto;min-height:200px;max-height:300px;margin-top:auto;}
.hub-page .channels{flex:0 0 auto;margin-bottom:auto;}


/* ハブ最終：ヘッダー下の余白を消し、ご利用目的のボタンを伸ばして画面を埋める */
.hub-page .hero{flex:0 0 auto;min-height:170px;max-height:280px;margin-top:0;}
.hub-page .channels{flex:1 1 auto;display:flex;flex-direction:column;justify-content:flex-start;margin-bottom:0;}
.hub-page .ch-wrap{flex:1 1 auto;display:flex;flex-direction:column;gap:12px;}
.hub-page .ch-row{flex:1 1 auto;align-items:stretch;}
.hub-page .ch-row .chbtn{height:100%;}
.hub-page .ch-note{flex:0 0 auto;}


/* アイコン縦伸び修正：SVG/ロゴを固定サイズ・中央に */
.hub-page .ch-row .chbtn{align-items:center;justify-content:center;}
.hub-page .ch-row .chbtn svg,
.hub-page .ch-row .chbtn [data-lucide]{width:34px;height:34px;flex:0 0 auto;}
.hub-page .ch-row .chbtn .logo-icon{flex:0 0 auto;}
.hub-page .ch-row .chbtn .t{flex:0 0 auto;}


/* 枠が長い対策：ボタンは適度な高さに固定、ヘッダー下からバナー→ボタンを自然に配置 */
.hub-page .hero{height:clamp(170px,26vh,250px);min-height:0;max-height:none;margin-top:0;}
.hub-page .channels{flex:0 0 auto;justify-content:flex-start;margin-bottom:0;}
.hub-page .ch-wrap{flex:0 0 auto;display:flex;flex-direction:column;gap:12px;}
.hub-page .ch-row{flex:0 0 auto;align-items:stretch;}
.hub-page .ch-row .chbtn{height:auto;min-height:0;}


/* PCの余白を活かす：ボタンを大きく＋間隔を持たせる（上限ありで伸びすぎ防止） */
.hub-page .channels{flex:1 1 auto;display:flex;flex-direction:column;justify-content:center;padding:24px 22px;}
.hub-page .ch-wrap{flex:1 1 auto;display:flex;flex-direction:column;gap:16px;max-height:640px;max-width:900px;margin:0 auto;width:100%;}
.hub-page .chbtn{padding:18px 22px;}
.hub-page .chbtn.primary{flex:0 0 auto;min-height:92px;}
.hub-page .ch-row{flex:1 1 auto;gap:16px;align-items:stretch;}
.hub-page .ch-row .chbtn{height:100%;min-height:130px;justify-content:center;}
.hub-page .ch-row .chbtn .t b{font-size:17px;}
.hub-page .ch-row .chbtn .t em{font-size:13px;}
.hub-page .ch-row .chbtn svg,.hub-page .ch-row .chbtn [data-lucide],.hub-page .ch-row .chbtn .logo-icon{width:42px;height:42px;}


/* ===== ハブ：全面背景＋中央カード（splash） ===== */
body.hub-splash{height:100vh;overflow:hidden;margin:0;display:flex;align-items:center;justify-content:center;padding:18px;}
.hub-splash .sp-bg{position:fixed;inset:0;background:url('../images/hp_bg_bright.jpg') center/cover;z-index:-2;}
.hub-splash .sp-bg::after{content:"";position:fixed;inset:0;background:linear-gradient(rgba(74,12,32,.40),rgba(74,12,32,.55));z-index:-1;}
.sp-card{width:100%;max-width:720px;max-height:calc(100vh - 36px);background:var(--bg-cream);border-radius:18px;box-shadow:0 24px 70px rgba(0,0,0,.4);overflow:hidden;display:flex;flex-direction:column;}
.sp-head{background:var(--primary);color:#fff;text-align:center;padding:16px;}
.sp-head img{height:30px;width:auto;margin:0 auto;display:block;}
.sp-head p{font-size:13px;margin-top:8px;color:rgba(255,255,255,.92);font-family:var(--font-heading);}
.sp-body{padding:24px 28px 28px;text-align:center;overflow:auto;}
/* テーマ（H1）は上の赤帯に集約・小さめ。行動指示「ご利用目的を…」を主役に大きく */
.sp-head .sp-h1{font-family:var(--font-heading);color:#fff;font-size:clamp(23px,3.4vw,30px);font-weight:700;line-height:1.45;margin:0;}
.sp-lead{font-family:var(--font-heading);color:var(--primary);font-size:clamp(18px,2.3vw,22px);font-weight:700;margin:0 0 18px;}
.sp-primary{display:flex;align-items:center;justify-content:center;gap:16px;background:var(--primary);color:#fff;text-decoration:none;border-radius:14px;padding:24px 22px;margin-bottom:16px;box-shadow:0 5px 0 var(--primary-dark);transition:.15s;}
.sp-primary:hover{transform:translateY(1px);box-shadow:0 4px 0 var(--primary-dark);}
.sp-primary [data-lucide]{width:44px;height:44px;flex:0 0 auto;}
.sp-primary span{text-align:left;}
.sp-primary b{font-family:var(--font-heading);font-size:22px;display:block;line-height:1.2;}
.sp-primary em{font-style:normal;font-size:13px;opacity:.92;display:block;margin-top:4px;}
.sp-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;}
.sp-btn{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--border);border-radius:12px;padding:16px;text-decoration:none;color:var(--text-dark);transition:.15s;}
.sp-btn:hover{border-color:var(--primary);transform:translateY(-1px);}
.sp-btn img,.sp-btn [data-lucide]{width:36px;height:36px;flex:0 0 auto;}
.sp-btn img{border-radius:7px;}
.sp-btn [data-lucide]{color:var(--primary);}
.sp-btn span{text-align:left;font-weight:700;font-size:15px;line-height:1.25;}
.sp-btn em{display:block;font-style:normal;font-weight:400;font-size:12px;color:var(--text-mid);margin-top:2px;}
@media(max-width:560px){
  .sp-grid{grid-template-columns:1fr;}
  .sp-primary{padding:18px;}
  .sp-primary b{font-size:19px;}
  .sp-body{padding:18px 16px 20px;}
}


/* 主役ボタンの色を他の4つに合わせる（白地・枠線・濃い文字／サイズは維持） */
.sp-primary{background:#fff;color:var(--text-dark);border:1px solid var(--border);box-shadow:none;}
.sp-primary:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(0,0,0,.08);}
.sp-primary [data-lucide]{color:var(--primary);}
.sp-primary b{color:var(--text-dark);}
.sp-primary em{color:var(--text-mid);opacity:1;}


/* 主役ボタン：中央寄せをやめ、アイコン左＋テキストを横いっぱいに（左右余白を詰める） */
.sp-primary{justify-content:flex-start;}
.sp-primary span{flex:1;}


/* 主役ボタン：中央寄せに戻す */
.sp-primary{justify-content:center;}
.sp-primary span{flex:0 1 auto;}


/* ===== ハブ：ボタンはそのまま、スクロールで各項目の詳細を表示 ===== */
/* 1画面固定（splash）を1画面目にとどめ、その下に詳細セクションを続ける */
body.hub-splash{height:auto;min-height:100vh;overflow-x:hidden;overflow-y:auto;display:block;padding:0;}
.hub-splash .sp-bg{position:fixed;}
.hub-splash .sp-bg::after{position:fixed;}
.hub-splash .header{position:sticky;top:0;}
/* 1画面目は少し低めにして、下の詳細セクションの頭をチラ見せ＝スクロール誘導 */
.hub-splash .sp-stage{min-height:calc(100vh - 150px);display:flex;align-items:center;justify-content:center;padding:14px 18px;}
.hub-splash .sp-card{max-height:calc(100vh - 178px);}
.hub-splash .footer{padding-bottom:30px;}
@media(max-width:760px){
  .hub-splash .sp-stage{min-height:calc(100vh - 130px);}
  .hub-splash .sp-card{max-height:none;}
}

/* 1画面目の最下部「詳しい説明をみる」リンク（スクロール誘導） */
.sp-more{display:inline-flex;flex-direction:column;align-items:center;gap:2px;margin-top:14px;font-size:13px;font-weight:700;color:var(--primary);text-decoration:none;}
.sp-more [data-lucide]{width:22px;height:22px;animation:sp-bounce 1.4s ease-in-out infinite;}
.sp-more:hover{opacity:.8;}
@keyframes sp-bounce{0%,100%{transform:translateY(0);}50%{transform:translateY(5px);}}

/* 2画面目以降：各サービスの詳細（地域ページ「4大理由」と同じカード型） */
.hub-details{position:relative;z-index:1;background:var(--bg-page);}
.hd-wrap{max-width:960px;margin:0 auto;padding:48px 22px 60px;}
.hub-details .sec-head{margin-bottom:16px;}
.hd-lead{font-size:14.5px;color:var(--text-mid);line-height:1.9;text-align:center;max-width:740px;margin:0 auto 30px;}

.reasons-section{display:flex;flex-direction:column;gap:24px;}
.reason-card{background:var(--bg-cream);border:1px solid var(--border);border-radius:14px;overflow:hidden;}
.reason-card-img{position:relative;aspect-ratio:3/2;overflow:hidden;}
.reason-card-img img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;}
.reason-card-img.is-logo{background:#fff;}
.reason-card-img.is-logo img{object-fit:contain;padding:32px;}
.reason-card-content{padding:24px;display:flex;flex-direction:column;gap:10px;}
.reason-num{font-family:var(--font-heading);font-size:36px;font-weight:bold;color:var(--primary);opacity:.3;line-height:1;}
.reason-title{font-family:var(--font-heading);font-size:22px;font-weight:bold;color:var(--text-dark);line-height:1.5;}
.reason-desc{font-size:14.5px;color:var(--text-mid);line-height:1.85;}
.reason-card .hd-go{display:inline-flex;align-items:center;gap:4px;font-size:14px;font-weight:700;color:var(--primary);text-decoration:none;margin-top:4px;}
.reason-card .hd-go:hover{text-decoration:underline;}
.reason-card .hd-go [data-lucide]{width:16px;height:16px;}

@media(min-width:761px){
  .reason-card{display:flex;flex-direction:row;}
  .reason-card:nth-child(even){flex-direction:row-reverse;}
  .reason-card-img{width:45%;aspect-ratio:auto;min-height:300px;}
  .reason-card-content{flex:1;padding:32px;justify-content:center;gap:14px;}
  .reason-num{font-size:40px;}
  .reason-title{font-size:25px;}
  .reason-desc{font-size:16px;}
}
@media(max-width:560px){
  .hd-wrap{padding:36px 16px 48px;}
}

/* 天神屋ブランドアイコン（PNG）：白/淡背景の箇所のみ。矢印類(chevron/external-link)はlucide据え置き */
.bicon{display:inline-block;object-fit:contain;vertical-align:-.16em;flex:0 0 auto;}
.hbtn .bicon{width:16px;height:16px;}
.sp-primary .bicon{width:44px;height:44px;}
.sp-btn .bicon{width:36px;height:36px;border-radius:0;}
