@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=Noto+Sans+JP:wght@400;500;600&family=Noto+Serif+JP:wght@500;600&family=Playfair+Display:wght@500;600&display=swap');
:root{--ink:#16233a;--gold:#c9a24b;--ivory:#faf6ee;--paper:#fffdf8;--muted:#6e7580;--line:#e8dfcf;--terra:#a85743;--shadow:0 16px 44px rgba(22,35,58,.11)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--ink);font:14px/1.8 'Inter','Noto Sans JP',sans-serif;letter-spacing:.05em;font-feature-settings:'palt'}input,select,textarea{font-size:16px}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}img{display:block;width:100%;object-fit:cover}.frame{max-width:1440px;min-height:100vh;margin:auto;background:var(--paper);overflow:hidden}
.hd{height:78px;padding:0 clamp(18px,4vw,64px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:rgba(255,253,248,.94);backdrop-filter:blur(10px);position:sticky;top:0;z-index:20}.logo{font:600 31px/1 'Playfair Display','Noto Serif JP',serif;letter-spacing:.16em;color:var(--ink)}.logo small{font:500 8px 'Inter','Noto Sans JP',sans-serif;letter-spacing:.16em;display:block;margin:6px 0 0 2px;color:var(--gold)}.nav{display:flex;align-items:center;gap:12px;font-size:12px}.nav>a:not(.fav-link){min-height:44px;display:inline-flex;align-items:center}.nav a:hover{color:var(--terra)}.fav-link{position:relative;display:inline-grid;place-items:center;min-width:44px;min-height:44px;font-size:20px}.badge{position:absolute;right:1px;top:2px;border-radius:50%;background:var(--terra);color:#fff;font:10px/18px sans-serif;min-width:18px;text-align:center}.member-open,.gold-btn,.nav-search{border:0;background:var(--ink);color:#fff;padding:10px 16px;font-size:12px;min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}.hero{height:570px;position:relative;color:#fff}.hero>img{height:570px}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,23,42,.66),rgba(12,23,42,.08) 65%)}.hero-copy{position:absolute;z-index:1;top:110px;left:clamp(24px,7vw,112px);max-width:620px}.eyebrow{font-size:11px;letter-spacing:.22em;color:var(--gold);text-transform:uppercase}.hero h1,h1,h2{font-family:'Noto Serif JP',serif;font-weight:500;line-height:1.16}.hero h1{font-size:clamp(32px,4.3vw,62px);margin:15px 0}.hero p{font-size:15px}.search-box{position:absolute;z-index:2;bottom:-52px;left:50%;transform:translateX(-50%);width:min(1180px,calc(100% - 40px));padding:18px;background:#fff;box-shadow:var(--shadow);display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr 150px;gap:10px;color:var(--ink)}.search-box label{font-size:10px;color:var(--muted);display:block}.search-box input,.search-box select{width:100%;border:0;border-bottom:1px solid var(--line);padding:6px 0;background:transparent;color:var(--ink);font-size:16px}.search-box button{background:var(--gold);color:var(--ink);border:0;font-weight:600;min-height:44px}.section{padding:96px clamp(20px,6vw,92px) 30px}.section h2{font-size:clamp(25px,3vw,40px);margin:6px 0 24px}.area-grid,.hotel-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.area{height:170px;position:relative;overflow:hidden;color:#fff;background:var(--ink)}.area img{height:100%;transition:opacity .3s ease}.area:hover img{opacity:.78}.area span{position:absolute;left:18px;bottom:14px;font:600 21px 'Noto Serif JP';text-shadow:0 1px 10px #000}.deal{display:grid;grid-template-columns:1fr 1fr;background:var(--ink);color:#fff;min-height:240px}.deal>div{padding:42px}.deal h3{font:600 26px 'Noto Serif JP';margin:8px 0;line-height:1.2}.deal .gold-btn{background:var(--gold);color:var(--ink);margin-top:12px}.hotel-card{background:#fff;border:1px solid var(--line);box-shadow:0 6px 22px rgba(22,35,58,.05)}.hotel-card img{height:220px}.hotel-card-body{padding:18px}.hotel-card h3{font:600 18px 'Noto Serif JP';margin:5px 0}.meta,.small{font-size:11px;color:var(--muted)}.chips{display:flex;flex-wrap:wrap;gap:5px;margin:9px 0}.chip{font-size:10px;padding:3px 7px;background:#f5edde;color:#725b24}.score{color:var(--terra);font-family:'Playfair Display',serif;font-size:20px}.price{font:600 22px 'Playfair Display',serif;white-space:nowrap}.price small{font:11px 'Inter','Noto Sans JP',sans-serif;color:var(--muted)}.card-bottom{display:flex;justify-content:space-between;align-items:end;gap:8px}.member-band{margin:96px clamp(20px,6vw,92px);padding:96px 46px;background:#f2e9d9;text-align:center}.member-band h2{margin:0;font-size:30px}.ai-note{padding:96px 38px;background:var(--ink);color:#fff;text-align:center}.page-head{padding:44px clamp(20px,6vw,92px) 28px;background:#f2e9d9}.layout{padding:30px clamp(20px,6vw,92px) 70px;display:grid;grid-template-columns:250px minmax(0,1fr);gap:30px}.filter-panel{background:#fff;border:1px solid var(--line);padding:18px;height:max-content}.filter-panel h3{font:600 16px 'Noto Serif JP';margin:12px 0 8px}.filter-panel label{display:block;padding:4px 0;font-size:12px}.result-top{display:flex;justify-content:space-between;gap:12px;align-items:center}.result-list{display:grid;gap:18px;margin-top:20px}.result-card{display:grid;grid-template-columns:230px minmax(0,1fr) 130px;gap:20px;padding:14px;background:#fff;border:1px solid var(--line)}.result-card img{height:176px}.result-card h2{font-size:22px;margin:4px 0}.result-card .price{text-align:right}.compare-check{font-size:11px}.gallery{display:grid;grid-template-columns:minmax(0,2fr) minmax(180px,1fr);gap:10px}.gallery-main{height:500px}.gallery-thumbs{display:grid;grid-template-columns:1fr 1fr;gap:10px}.gallery-thumbs button{border:0;padding:0;background:none;min-width:44px;min-height:44px}.gallery-thumbs img{height:245px}.hotel-layout{padding:36px clamp(20px,6vw,92px) 70px;display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:38px}.hotel-info h1{font-size:34px;margin:0}.favorite-btn{border:1px solid var(--gold);background:#fff;padding:10px;color:var(--ink);min-width:44px;min-height:44px}.side-card{background:#f2e9d9;padding:22px;height:max-content}.review-row{display:grid;grid-template-columns:72px 1fr 34px;align-items:center;gap:10px;margin:8px 0;font-size:12px}.meter{height:6px;background:#e3d6c0}.meter i{display:block;height:100%;background:var(--gold)}.plans{margin-top:40px}.plan-row{display:grid;grid-template-columns:minmax(170px,1.25fr) 100px 72px minmax(130px,1fr) 110px;gap:12px;align-items:center;border-top:1px solid var(--line);padding:18px 0}.plan-row:last-child{border-bottom:1px solid var(--line)}.plan-row button{border:0;background:var(--gold);padding:11px 6px;min-height:44px;min-width:44px}.plan-note{color:var(--terra)}.date-compare-box .small{margin-left:6px}.date-compare{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin-top:12px}.date-compare-cell{display:flex;flex-direction:column;align-items:center;gap:3px;padding:9px 4px;background:#fff;border:1px solid var(--line);text-align:center;position:relative;min-height:44px}.date-compare-cell.current{border-color:var(--ink);border-width:2px}.date-compare-cell.cheapest{background:#f5edde;border-color:var(--gold)}.dc-date{font-size:10px;color:var(--muted)}.dc-price{font:600 13px 'Playfair Display',serif}.dc-tag{font-size:9px;padding:2px 5px;background:var(--terra);color:#fff}.dc-tag-current{background:var(--ink)}.form-wrap{max-width:880px;margin:38px auto;padding:0 20px 70px}.summary{background:#f2e9d9;padding:20px;margin-bottom:24px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid label{font-size:12px}.form-grid input,.form-grid select,.form-grid textarea{width:100%;padding:10px;border:1px solid var(--line);background:#fff;margin-top:4px}.wide{grid-column:1/-1}.notice{font-size:12px;background:#fff2ee;color:#74392d;padding:10px;display:none}.notice.show{display:block}.confirm{text-align:center;max-width:700px;margin:64px auto;padding:0 20px}.checkmark{width:58px;height:58px;display:grid;place-items:center;margin:auto;border-radius:50%;background:var(--gold);font-size:28px}.compare-wrap{padding:38px clamp(20px,6vw,92px) 70px;overflow:auto}.compare-table{border-collapse:collapse;min-width:800px;width:100%;background:#fff}.compare-table th,.compare-table td{border:1px solid var(--line);padding:14px;text-align:left;vertical-align:top}.compare-table th{background:#f2e9d9}.compare-table img{height:150px}.empty{text-align:center;padding:60px;color:var(--muted)}.admin{padding:40px clamp(20px,6vw,92px)}table{width:100%;border-collapse:collapse}td,th{padding:10px;border-bottom:1px solid var(--line);text-align:left;font-size:12px}.ft{padding:50px clamp(20px,6vw,92px);background:var(--ink);color:#fff;margin-top:55px}.ft-grid{display:flex;justify-content:space-between;gap:22px;flex-wrap:wrap}.ft small{color:#c7cdd5}.modal{position:fixed;z-index:100;inset:0;display:grid;place-items:center;background:rgba(9,17,30,.62);padding:18px}.modal[hidden]{display:none}.modal-box{width:min(520px,100%);max-height:92vh;overflow:auto;background:#fff;padding:28px;position:relative}.modal-close{position:absolute;top:10px;right:12px;border:0;background:none;font-size:24px;min-width:44px;min-height:44px}.modal-box label{display:block;margin:9px 0;font-size:12px}.modal-box input,.modal-box select{width:100%;padding:9px;border:1px solid var(--line)}.toast{position:fixed;z-index:110;bottom:20px;left:50%;transform:translateX(-50%);background:var(--ink);color:#fff;padding:12px 20px;display:none}.review-list{margin:14px 0 30px;display:grid;gap:12px}.review-item{border:1px solid var(--line);background:#fff;padding:16px 18px}.review-head{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:8px}.review-score{background:#f5edde;color:#725b24}.review-item p{margin:0;font-size:13px;line-height:1.9;color:var(--ink)}.cancel-details{margin-top:10px}.cancel-details summary{cursor:pointer;color:var(--terra);min-height:24px}.cancel-schedule{width:100%;border-collapse:collapse;margin-top:8px;font-size:11px}.cancel-schedule th,.cancel-schedule td{border:1px solid var(--line);padding:6px 8px;text-align:left}.cancel-schedule th{background:#f2e9d9}.payment-note{color:var(--terra);margin-top:6px}
.toast.show{display:block}@media(max-width:700px){.hd{height:66px;padding:0 12px}.logo{font-size:22px;letter-spacing:.12em}.logo small{font-size:6px;margin-top:4px}.nav{gap:2px;font-size:10px;letter-spacing:0}.nav>a:not(.fav-link){min-height:44px;padding:0 5px}.fav-link{min-width:44px}.member-open{min-width:44px;min-height:44px;width:auto;padding:0 14px;font-size:0;display:inline-flex;align-items:center;justify-content:center}.member-open::before{content:'会員';font-size:12px;white-space:nowrap}.hero,.hero>img{height:530px}.hero-copy{top:70px}.search-box{bottom:16px;transform:translateX(-50%);grid-template-columns:1fr 1fr;padding:13px;gap:9px}.search-box button{grid-column:1/-1;padding:12px}.section{padding:56px 18px 15px}.area-grid,.hotel-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:9px}.area-grid>*,.hotel-grid>*{min-width:0}.area{height:112px}.area span{font-size:16px;left:10px;bottom:8px}.hotel-card img{height:145px}.hotel-card-body{padding:11px}.hotel-card h3{font-size:15px}.deal{display:block}.deal>div{padding:28px}.member-band{margin:56px 18px;padding:56px 18px}.ai-note{padding:56px 18px}.layout,.hotel-layout{display:block;padding:22px 18px 50px}.filter-panel{margin-bottom:20px}.result-card{grid-template-columns:110px minmax(0,1fr);gap:12px}.result-card img{height:110px}.result-card .price{grid-column:2;text-align:left}.result-card h2{font-size:16px}.gallery{display:block}.gallery-main{height:280px}.gallery-thumbs{margin-top:8px}.gallery-thumbs img{height:104px}.hotel-info h1{font-size:26px}.side-card{margin-top:25px}.plan-row{grid-template-columns:minmax(0,1fr) 105px}.plan-row>div:nth-child(3),.plan-row>div:nth-child(4){grid-column:1/-1}.plan-row button{grid-column:1/-1}.date-compare{grid-template-columns:repeat(4,minmax(0,1fr))}.date-compare-cell{padding:7px 3px}.form-grid{grid-template-columns:1fr}.form-grid>*{min-width:0}.summary{overflow:hidden}.wide{grid-column:auto}.ft{margin-top:30px}.ft-grid{display:block}.ft-grid>*{margin-bottom:14px}}
