:root{--bg:#FFFBF3;--ink:#3B3226;--sub:#6E6252;--orange:#E8822A;--green:#5E8C4A;--plum:#B0485A;--card:#fff;--line:#EADFCB}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:"Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo",sans-serif;line-height:1.9;font-size:16px}
h1,h2,h3{font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-weight:500;line-height:1.5;margin:0 0 .6em}
a{color:inherit}
img{max-width:100%;display:block}
.notice{background:#3B3226;color:#fff;text-align:center;font-size:13px;padding:6px 16px;margin:0}
.head{position:sticky;top:0;z-index:5;background:rgba(255,251,243,.95);border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding:10px 16px}
.logo{text-decoration:none;font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-size:20px}
.logo small{display:block;font-size:11px;color:var(--sub);font-family:inherit}
.head nav{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:14px}
.head nav a{text-decoration:none;padding:4px 0;border-bottom:2px solid transparent}
.head nav a[aria-current]{border-color:var(--orange)}
main{max-width:1040px;margin:0 auto;padding:0 16px 64px}
.photo{background:linear-gradient(135deg,#FCE3C2,#F7C98E 55%,#D9E7C6);border-radius:14px;display:flex;align-items:center;justify-content:center;color:var(--sub);font-size:13px;text-align:center;padding:12px;min-height:220px}
.hero{display:grid;grid-template-columns:1.2fr 1fr;gap:32px;align-items:center;padding:40px 0}
.hero .photo{min-height:420px}
.tag{display:inline-block;background:var(--green);color:#fff;font-size:13px;padding:2px 12px;border-radius:99px;margin:0 0 12px}
h1{font-size:clamp(30px,5vw,46px)}
h2{font-size:clamp(24px,3.6vw,32px)}
.btn{display:inline-block;background:var(--orange);color:#fff;text-decoration:none;padding:12px 28px;border-radius:99px;font-weight:bold;border:0;font-size:16px;cursor:pointer}
.btn:hover{opacity:.9}
.sec{padding:48px 0;border-top:1px solid var(--line)}
.lead{color:var(--sub)}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;list-style:none;padding:0;margin:24px 0 0}
.card{background:var(--card);border-radius:14px;padding:14px;box-shadow:0 2px 10px rgba(59,50,38,.06)}
.card h3{font-size:19px;margin-top:10px}
.price{color:var(--plum);font-weight:bold}
.season{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;list-style:none;padding:0}
.season li{background:#fff;border-left:5px solid var(--orange);border-radius:8px;padding:12px}
.season b{display:block}
table{width:100%;border-collapse:collapse;background:#fff;border-radius:12px;overflow:hidden}
th,td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
th{width:30%;background:#FBF1DF;font-weight:normal}
form{display:grid;gap:14px;max-width:560px}
label{display:grid;gap:4px;font-size:14px}
input,textarea,select{font:inherit;padding:10px;border:1px solid var(--line);border-radius:8px;background:#fff}
.small{font-size:13px;color:var(--sub)}
.foot{background:#3B3226;color:#F3E9D8;text-align:center;padding:28px 16px;font-size:13px}
.foot a{color:#F3E9D8}
@media (max-width:760px){
 .hero{grid-template-columns:1fr;padding:24px 0}
 .hero .photo{min-height:260px}
 .grid3{grid-template-columns:1fr}
 .season{grid-template-columns:1fr 1fr}
 th{width:36%}
}
.comp{position:relative;max-width:560px;margin:24px auto 0}
.comp img{width:100%;height:auto;border-radius:6px}
.hot{position:absolute;display:block;border-radius:99px}
.hot:focus-visible{outline:3px solid #3B3226}
.points{padding-left:1.2em}.points b{display:block}
