:root{
	--orange:#FF9633;
	--orange-deep:#F28C28;
	--ink:#2B2927;
	--ink-soft:#736B65;
	--cream:#FFF8EE;
	--cream-2:#FFF0DF;
	--line:#E8DED3;
	--green:#6FAF8F;
	--blue:#76B9D6;
	--yellow:#FFD36A;
	--r-card:16px;
	--r-pill:999px;
}
*,*::before,*::after{box-sizing:border-box;}
body,html{margin:0;font-family:"Noto Sans JP",-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN",Meiryo,sans-serif;font-weight:400;color:var(--ink);line-height:2;background:var(--cream);-webkit-text-size-adjust:100%;font-size:18px;}
h1,h2,h3,.font-round{font-family:"Zen Maru Gothic","Noto Sans JP",sans-serif;font-weight:700;}
img{max-width:100%;height:auto;}
a{color:var(--orange-deep);}
.container{max-width:1000px;margin:0 auto;padding:0 24px;}
.site-header{background:#fff;padding:20px 0;border-bottom:1px solid var(--line);}
.site-header a{font-family:"Zen Maru Gothic","Noto Sans JP",sans-serif;font-weight:700;font-size:19px;color:var(--ink);text-decoration:none;}
.page-header{background:var(--cream-2);padding:64px 0 56px;}
.page-header .eyebrow{color:var(--orange-deep);font-size:14px;letter-spacing:.14em;margin:0 0 12px;font-weight:500;}
.page-header h1{font-size:clamp(28px,5vw,40px);margin:0;line-height:1.5;}
.breadcrumb{background:#fff;font-size:13px;padding:14px 0;color:var(--ink-soft);}
.breadcrumb a{color:var(--ink-soft);}
section{padding:64px 0;}
section.on-cream{background:var(--cream);}
section.on-white{background:#fff;}
h2{font-size:clamp(24px,3.4vw,30px);margin:0 0 8px;line-height:1.6;}
h2 .dot{color:var(--orange);margin-right:.35em;}
h3{font-size:21px;margin:0 0 12px;}
.lead{color:var(--ink-soft);font-size:15px;margin:0 0 32px;line-height:1.9;}
p{margin:0 0 16px;}
table{width:100%;border-collapse:separate;border-spacing:0;background:#fff;font-size:16px;border:1px solid var(--line);border-radius:var(--r-card);overflow:hidden;}
th,td{padding:18px 22px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;line-height:1.8;}
th{background:var(--cream);width:46%;font-weight:500;}
tr:last-child th,tr:last-child td{border-bottom:0;}
.stations{display:flex;flex-wrap:wrap;gap:10px;padding:0;margin:0;list-style:none;}
.stations li{background:#fff;border:1px solid var(--line);border-radius:var(--r-pill);padding:8px 20px;font-size:15px;}
.card{background:#fff;padding:32px;border:1px solid var(--line);border-radius:var(--r-card);}
.note{font-size:14px;color:var(--ink-soft);margin-top:16px;line-height:1.9;}
.alert{background:#fff;border:1px solid var(--line);border-radius:var(--r-card);padding:24px;font-size:15px;line-height:1.9;margin-top:24px;}
.alert strong{color:var(--orange-deep);}
.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;}
.stat{background:#fff;padding:28px 16px;text-align:center;border:1px solid var(--line);border-radius:var(--r-card);}
.stat b{display:block;font-family:"Zen Maru Gothic","Noto Sans JP",sans-serif;font-size:34px;color:var(--orange);line-height:1.3;}
.stat span{font-size:14px;color:var(--ink-soft);line-height:1.7;display:block;margin-top:4px;}
.cta{text-align:center;}
.btn{display:inline-block;background:var(--orange);color:#fff;text-decoration:none;font-family:"Zen Maru Gothic","Noto Sans JP",sans-serif;font-weight:700;padding:18px 40px;border-radius:var(--r-pill);margin:8px;font-size:17px;transition:all .2s;}
.btn:hover{background:var(--orange-deep);color:#fff;}
.btn.line{background:#06c755;}
.btn.line:hover{background:#05a948;}
.btn.ghost{background:#fff;color:var(--orange-deep);border:2px solid var(--orange);}
.btn.ghost:hover{background:var(--cream-2);color:var(--orange-deep);}
.coupon{border:2px solid var(--orange);border-radius:24px;padding:40px 32px;text-align:center;background:#fff;max-width:700px;margin:0 auto;}
.coupon .price{font-family:"Zen Maru Gothic","Noto Sans JP",sans-serif;font-size:clamp(32px,6vw,44px);color:var(--orange);line-height:1.3;margin:0 0 24px;}
.coupon .code{background:var(--cream);border-radius:12px;padding:16px;margin:0 0 24px;}
footer{background:#fff;border-top:1px solid var(--line);padding:40px 0;font-size:14px;text-align:center;color:var(--ink-soft);}
footer a{color:var(--ink);}
.is-hidden{display:none !important;}
@media(max-width:600px){
	body,html{font-size:17px;}
	.container{padding:0 20px;}
	section{padding:48px 0;}
	th,td{display:block;width:100%;padding:14px 18px;}
	th{border-bottom:0;padding-bottom:0;}
}

/* --- スマホ最適化（2026-08-06）: 日本語を文節で折り返し、泣き別れを防ぐ --- */
h1,h2,h3,.lead,.stat span,.page-header .eyebrow{word-break:auto-phrase;overflow-wrap:anywhere;}
@media(max-width:600px){
	.page-header{padding:40px 0 32px;}
	.page-header h1{font-size:23px;line-height:1.6;}
	h2{font-size:20px;line-height:1.6;}
	h3{font-size:17px;}
	.lead{font-size:14.5px;}
	.stat-grid{grid-template-columns:repeat(2,1fr);gap:12px;}
	.stat{padding:20px 10px;}
	.stat b{font-size:28px;}
	.stat span{font-size:12.5px;}
	.card{padding:24px 18px;}
	.coupon{padding:28px 20px;}
	.btn{display:block;margin:10px 0;padding:16px 20px;}
	.stations li{font-size:14px;padding:7px 16px;}
	footer a{display:inline-block;padding:8px 4px;}
}
