
:root{--ink:#193d35;--muted:#657c75;--leaf:#128571;--leaf2:#e2f3eb;--mint:#f3faf6;--line:#dbe8e0;--sand:#fff8eb;--sun:#edac6e;--white:#fff;--shadow:0 14px 40px #1649360d;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;color:var(--ink);background:var(--mint)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}button,input{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--sun);outline-offset:3px}a{color:var(--leaf);text-decoration:none}a:hover{text-decoration:underline}.container{max-width:1110px;margin:0 auto;padding:0 22px}
header{background:#ffffffed;backdrop-filter:blur(12px);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.header-inner{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:16px}.logo{display:flex;align-items:center;gap:10px;color:var(--ink);font-weight:850;letter-spacing:-.035em;font-size:21px}.logo-mark{background:#daf2e6;border-radius:14px;padding:9px;font-size:23px}.topnav{display:flex;gap:17px;align-items:center;color:var(--muted);font-size:13px}.topnav a{color:var(--muted)}.topnav a:hover{color:var(--leaf)}.trial{font-weight:700;color:var(--leaf);background:var(--leaf2);border-radius:50px;padding:7px 12px;font-size:11px}
h1,h2,h3,p{margin-top:0}h1{font-size:clamp(33px,5.2vw,60px);letter-spacing:-.065em;line-height:1.3;margin:12px 0 18px}h2{font-size:clamp(23px,3.4vw,32px);letter-spacing:-.045em}h3{font-size:19px;letter-spacing:-.03em}.kicker{color:var(--leaf);font-size:12px;font-weight:800;letter-spacing:.07em}.muted{color:var(--muted)}.hero{padding:64px 0 38px;background:linear-gradient(160deg,#f4fcf8 10%,#fcfbf2 95%)}.hero-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:25px;align-items:center}.hero-text{font-size:15px;line-height:1.95;color:var(--muted);max-width:580px}.hero em{font-style:normal;color:var(--leaf)}.hero-visual{position:relative;min-height:280px;display:grid;place-items:center}.visual-main{border-radius:36px 36px 100px 36px;background:linear-gradient(145deg,#c4efe0,#e4f6e7 60%,#f9e8c7);width:min(100%,350px);height:260px;box-shadow:var(--shadow);display:flex;align-items:center;justify-content:center;flex-direction:column;border:10px solid #ffffff99;transform:rotate(3deg)}.visual-main .giant{font-size:78px}.visual-main strong{font-size:18px;margin-top:12px}.visual-chip{position:absolute;left:4%;bottom:20px;background:white;border:1px solid var(--line);box-shadow:var(--shadow);padding:14px 18px;border-radius:16px;font-weight:800;font-size:14px;transform:rotate(-5deg)}.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}.btn{border:1px solid var(--line);background:white;border-radius:13px;padding:11px 18px;color:var(--ink);font-weight:800;font-size:14px}.btn.primary{background:var(--leaf);border-color:var(--leaf);color:white}.btn.secondary{background:var(--white)}.btn:hover{filter:brightness(.98);text-decoration:none}.stats{display:flex;gap:22px;align-items:center;flex-wrap:wrap;font-size:13px;color:var(--muted);margin-top:22px}.stats b{color:var(--ink);font-size:19px}
.section{padding:48px 0}.section.top{padding-top:20px}.section-head{display:flex;justify-content:space-between;gap:15px;align-items:end;margin-bottom:19px}.section-head p{margin:0;color:var(--muted);font-size:13px}.search-panel{background:white;border:1px solid var(--line);padding:22px;border-radius:22px;box-shadow:var(--shadow)}.finder-tabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:15px}.finder-tabs button{border:none;border-radius:10px;padding:10px 15px;font-weight:800;color:var(--muted);background:var(--mint)}.finder-tabs button.active{background:var(--leaf);color:white}.finder-body{margin-bottom:15px}.finder-title{color:var(--muted);font-size:12px;font-weight:700;margin-bottom:9px}.choice-wrap{display:flex;flex-wrap:wrap;gap:9px}.choice{background:white;border:1px solid var(--line);border-radius:15px;padding:10px 13px;color:var(--ink);font-size:13px;font-weight:800}.choice.active{background:var(--leaf2);border-color:#90d1ba;color:#076a57}.choice small{color:var(--muted);font-weight:600;margin-left:4px}.input-wrap{display:flex;align-items:center;gap:9px;background:var(--mint);border:1px solid var(--line);border-radius:12px;padding:3px 13px}.input-wrap input{border:0;outline:0;background:transparent;flex:1;padding:11px 0;min-width:0;font-size:15px}.finder-note{font-size:12px;color:var(--muted);line-height:1.8;margin:10px 0 0}.controls{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0 0;align-items:center}.switch{font-size:12px;color:var(--muted);font-weight:700}.small-button{border:1px solid var(--line);background:white;color:var(--ink);padding:7px 11px;border-radius:12px;font-size:12px}.small-button.selected{background:var(--leaf2);color:var(--leaf);border-color:#99d2be}
.result-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:30px 0 14px}.result-header h2{margin:0}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.hotel-card{background:white;border:1px solid var(--line);border-radius:19px;overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow);transition:transform .16s,box-shadow .16s}.hotel-card:hover{transform:translateY(-3px);box-shadow:0 16px 35px #16493616}.card-cover{height:136px;display:flex;align-items:center;justify-content:center;background:linear-gradient(130deg,#d9f5e8,#f7f2dc);position:relative}.card-cover[data-region="沖縄県"]{background:linear-gradient(145deg,#b8ece9,#e7f7ea)}.card-cover[data-region="北海道"]{background:linear-gradient(145deg,#dcecf8,#eff6fa)}.card-cover[data-region="長野県"]{background:linear-gradient(145deg,#e2f1db,#fcf5de)}.card-cover[data-region="静岡県"]{background:linear-gradient(145deg,#ccece3,#faf0de)}.card-cover[data-region="千葉県"]{background:linear-gradient(145deg,#def0fd,#faf0e2)}.card-cover>span{font-size:62px}.photo-note{position:absolute;bottom:9px;right:9px;background:#ffffffdb;color:var(--muted);font-size:10px;border-radius:20px;padding:5px 10px}.card-content{padding:17px 18px;display:flex;flex-direction:column;gap:10px;flex:1}.eyebrow{font-size:11px;color:var(--leaf);font-weight:800}.hotel-name{font-size:17px;line-height:1.5;margin:0;min-height:51px}.facilities{display:flex;flex-wrap:wrap;gap:6px;min-height:28px}.pill{border:1px solid #cfe5da;border-radius:9px;color:#237d65;background:#f2faf6;padding:5px 7px;font-size:11px;font-weight:700}.pill.neutral{color:#667973;border-color:var(--line);background:#f8faf8}.hotel-footer{display:flex;justify-content:space-between;gap:8px;align-items:center;border-top:1px solid var(--line);padding-top:11px;margin-top:auto}.hotel-footer span{font-size:11px;color:var(--muted)}.detail-link{font-weight:850;font-size:13px}.empty{text-align:center;background:white;border:1px dashed var(--line);border-radius:20px;padding:40px;color:var(--muted)}.notice{background:var(--sand);border:1px solid #f2e2c4;border-radius:16px;padding:16px 18px;color:#64583e;font-size:13px;line-height:1.8}.notice b{color:var(--ink)}.foot{border-top:1px solid var(--line);background:#edf6f0;padding:30px 0;color:var(--muted);font-size:12px;line-height:1.8}.foot-grid{display:flex;justify-content:space-between;gap:18px;align-items:center;flex-wrap:wrap}
.back{display:inline-flex;align-items:center;gap:7px;margin:28px 0 15px;font-size:13px;font-weight:800}.detail-head{background:white;border-radius:24px;border:1px solid var(--line);overflow:hidden;margin-bottom:22px}.detail-hero{background:linear-gradient(130deg,#d2f4e7,#edf3da);height:210px;display:grid;place-items:center;position:relative}.detail-hero .emoji{font-size:85px}.detail-hero .caption{position:absolute;bottom:12px;right:15px;font-size:11px;color:var(--muted);background:#ffffffdd;border-radius:40px;padding:6px 13px}.detail-heading{padding:24px 28px}.detail-heading h1{font-size:clamp(26px,4vw,40px);margin:8px 0 12px}.detail-heading p{font-size:13px;line-height:1.9;color:var(--muted);margin-bottom:15px}.detail-layout{display:grid;grid-template-columns:1.5fr 1fr;gap:19px;align-items:start;margin-bottom:55px}.block{background:white;border-radius:19px;border:1px solid var(--line);padding:22px;margin-bottom:18px;box-shadow:var(--shadow)}.block h2{font-size:23px;margin:0 0 8px}.block p{color:var(--muted);font-size:13px;line-height:1.9}.block-sub{color:var(--muted);font-size:12px;line-height:1.8;margin:0 0 16px}.facility-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.facility-row{border:1px solid var(--line);border-radius:13px;padding:12px;background:#fff;display:flex;flex-direction:column;gap:6px}.facility-row.priority{border-color:#a5d6c1;background:#f7fcf9}.facility-row>div:first-child{display:flex;justify-content:space-between;gap:6px}.facility-row b{font-size:12px}.facility-row span{font-size:11px}.status-yes{color:#087c58;font-weight:800}.status-unknown{color:#7e8e88}.facility-row small{color:var(--muted);font-size:11px;line-height:1.6}.facility-row a{font-size:11px;font-weight:700}.source-line{border-top:1px solid var(--line);padding:12px 0;font-size:13px;line-height:1.7}.source-line:last-child{border-bottom:1px solid var(--line)}.source-line b{display:block;font-size:11px;color:var(--muted);margin-bottom:4px}.source-line a{word-break:break-word}.reviews-pending{padding:17px;border-radius:14px;background:var(--mint);border:1px solid var(--line)}.reviews-pending strong{font-size:15px}.reviews-pending p{margin:7px 0 0}.helper{color:var(--muted);font-size:12px;line-height:1.8}.chip-age{background:var(--leaf2);color:var(--leaf);display:inline-flex;align-items:center;border-radius:10px;padding:5px 9px;font-weight:800;font-size:11px}
@media(max-width:850px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-grid{grid-template-columns:1fr 220px}.detail-layout{grid-template-columns:1fr}.hero-visual{min-height:210px}.visual-main{height:210px}.visual-main .giant{font-size:54px}.visual-chip{font-size:12px}}
@media(max-width:620px){.container{padding:0 16px}.header-inner{min-height:64px}.logo{font-size:18px}.logo-mark{font-size:19px;padding:7px}.topnav a{display:none}.hero{padding:38px 0 30px}.hero-grid{grid-template-columns:1fr}.hero-visual{display:none}h1{font-size:38px}.section{padding:30px 0}.search-panel{padding:16px;border-radius:17px}.cards{grid-template-columns:1fr;gap:13px}.hotel-card{flex-direction:row;min-height:138px}.card-cover{width:114px;flex:0 0 114px;height:auto;min-height:158px}.card-cover>span{font-size:43px}.photo-note{bottom:7px;right:3px;left:3px;text-align:center;font-size:9px;padding:4px}.card-content{padding:11px 12px;gap:6px;min-width:0}.hotel-name{font-size:15px;min-height:0}.facilities{min-height:0}.hotel-footer{padding-top:6px}.hotel-footer span{font-size:10px}.detail-hero{height:155px}.detail-heading{padding:20px}.facility-grid{grid-template-columns:1fr 1fr}.facility-row{padding:9px}.block{padding:17px}.section-head{align-items:start;flex-direction:column}.result-header h2{font-size:22px}}
@media(max-width:375px){.hotel-card{flex-direction:column}.card-cover{width:100%;min-height:95px;height:95px}.photo-note{left:auto;right:10px}.facility-grid{grid-template-columns:1fr}}
