:root{--rl-navy:#0b2942;--rl-blue:#2c6185;--rl-teal:#2d7568;--rl-gold:#9b6a28;--rl-gold-text:#76501c;--rl-paper:#f5f2eb;--rl-white:#fff;--rl-ink:#16344b;--rl-muted:#526977;--rl-line:#cfdae1;--rl-soft-blue:#e8f0f4;--rl-soft-teal:#e5f0ec}
*{box-sizing:border-box}.reservation-lock-page{color:var(--rl-ink)}.reservation-shell{width:min(1120px,calc(100% - 48px));margin:auto}.reservation-article-width{width:min(800px,calc(100% - 48px));margin:auto}.reservation-lock-page .content-context{margin-top:71px;border-bottom:1px solid var(--rl-line);background:#fff}.reservation-lock-page .content-context-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;width:min(1120px,calc(100% - 48px));min-height:54px;margin:auto}.reservation-lock-page .content-context ol{display:flex;min-width:0;gap:8px;align-items:center;list-style:none;margin:0;padding:0;color:#647888;font-size:.76rem}.reservation-lock-page .content-context li{display:flex;min-width:0;align-items:center;gap:8px}.reservation-lock-page .content-context li:not(:last-child)::after{content:"/";color:#a6b3bc}.reservation-lock-page .content-context a{color:#40596d;text-decoration:none}.reservation-lock-page .content-context-all{flex:0 0 auto;font-weight:700}
.reservation-hero{padding:5.2rem 0 4.8rem;border-bottom:1px solid var(--rl-line);background:radial-gradient(circle at 90% 8%,rgba(45,117,104,.15),transparent 30%),linear-gradient(135deg,#fbf9f4 0,#e8f1f3 100%)}.reservation-hero h1{max-width:900px;margin:0;color:var(--rl-navy);font:600 clamp(2.15rem,4.2vw,3.35rem)/1.45 'Noto Serif JP',serif;letter-spacing:-.045em;text-wrap:pretty}.reservation-lead{max-width:850px;margin:1.7rem 0 0;color:var(--rl-muted);font-size:1rem;line-height:2}.reservation-catch{display:block;width:100%;height:auto;margin-top:2.8rem;border:1px solid var(--rl-line);background:#fff;box-shadow:0 16px 36px rgba(11,41,66,.08)}
.reservation-section{padding:5.2rem 0;scroll-margin-top:110px;background:#fff}.reservation-section:nth-of-type(even){background:var(--rl-paper)}.reservation-section h2{margin:0;color:var(--rl-navy);font:600 clamp(1.8rem,3.6vw,2.5rem)/1.55 'Noto Serif JP',serif;letter-spacing:-.025em;text-wrap:balance;word-break:auto-phrase}.reservation-section p{margin:1.2rem 0 0;color:var(--rl-muted);line-height:2}.reservation-section-heading{max-width:800px;margin:0 auto 2.2rem}.reservation-table-section{border-top:1px solid var(--rl-line);border-bottom:1px solid var(--rl-line)}.reservation-table-wrap{overflow-x:auto;border:1px solid var(--rl-line);background:#fff}.reservation-table{width:100%;border-collapse:collapse;table-layout:fixed}.reservation-table th,.reservation-table td{padding:1rem 1.1rem;border-right:1px solid var(--rl-line);border-bottom:1px solid var(--rl-line);text-align:left;vertical-align:top;font-size:.84rem;line-height:1.8}.reservation-table th:last-child,.reservation-table td:last-child{border-right:0}.reservation-table tbody tr:last-child>*{border-bottom:0}.reservation-table thead th{color:#fff;background:var(--rl-navy);font-size:.78rem;font-weight:700}.reservation-table thead th:first-child{width:23%}.reservation-table thead th:nth-child(2){width:36%}.reservation-table tbody th{color:var(--rl-navy);background:var(--rl-soft-blue);font-weight:700}.reservation-table tbody td:last-child{background:#fbfaf7}.reservation-table-notes{margin-top:2rem}.reservation-reflection-section{border-top:1px solid var(--rl-line);border-bottom:1px solid var(--rl-line);background:var(--rl-soft-teal)!important}.reservation-related{margin-top:2.2rem!important;padding:1.1rem 1.2rem;border-left:4px solid var(--rl-gold);background:var(--rl-paper);font-size:.88rem}.reservation-related a{color:var(--rl-navy);font-weight:700;text-underline-offset:.2em}
.reservation-lock-page .content-taxonomy-primary>p,.reservation-lock-page .content-related>h2{color:var(--rl-gold-text)}.reservation-lock-page .content-back{border-top:1px solid var(--rl-line);background:var(--rl-navy)}.reservation-lock-page .content-back a{display:grid;grid-template-columns:auto 1fr;gap:.15rem .8rem;width:min(1120px,calc(100% - 48px));margin:0 auto;padding:1.8rem 0;color:#fff;text-decoration:none}.reservation-lock-page .content-back a>span{grid-row:1/2;align-self:center;color:#ead9b7;font-size:1.2rem}.reservation-lock-page .content-back a>strong{display:block;font-size:1rem}.reservation-lock-page .site-footer{margin-top:0}
@media(max-width:640px){.reservation-lock-page .nav-main{padding-block:0;border-bottom:0}.reservation-lock-page .nav-main.active{padding-block:1rem;border-bottom:.5px solid var(--color-border-light)}.reservation-lock-page .content-context{margin-top:90px}.reservation-shell,.reservation-article-width,.reservation-lock-page .content-context-inner,.reservation-lock-page .content-back a{width:calc(100% - 28px)}.reservation-lock-page .content-context-inner{min-height:48px}.reservation-lock-page .content-context ol{overflow:hidden;font-size:.68rem;white-space:nowrap}.reservation-lock-page .content-context li:last-child{overflow:hidden;text-overflow:ellipsis}.reservation-lock-page .content-context-all{display:none}.reservation-hero{padding:4rem 0 3.5rem}.reservation-hero h1{font-size:1.86rem;line-height:1.55}.reservation-lead{font-size:.91rem;line-height:1.9}.reservation-catch{margin-top:2.2rem}.reservation-section{padding:4rem 0}.reservation-section h2{font-size:1.58rem;line-height:1.55}.reservation-table-wrap{overflow:visible;border:0;background:transparent}.reservation-table,.reservation-table tbody,.reservation-table tr,.reservation-table th,.reservation-table td{display:block;width:100%}.reservation-table{border:0}.reservation-table thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.reservation-table tbody{display:grid;gap:1rem}.reservation-table tbody tr{overflow:hidden;border:1px solid var(--rl-line);background:#fff}.reservation-table th,.reservation-table td{padding:.85rem 1rem;border:0;border-bottom:1px solid var(--rl-line);font-size:.82rem}.reservation-table tbody tr>*:last-child{border-bottom:0}.reservation-table th::before,.reservation-table td::before{content:attr(data-label);display:block;margin-bottom:.28rem;color:var(--rl-gold-text);font-size:.68rem;font-weight:700;line-height:1.5}.reservation-table tbody th{background:var(--rl-soft-blue)}.reservation-table tbody td:last-child{background:#fbfaf7}.reservation-lock-page .content-back a{padding:1.45rem 0}.reservation-lock-page .content-back a>strong{font-size:.92rem}}
.reservation-title-group{display:block;text-wrap:balance}.reservation-title-unit{display:inline-block;white-space:nowrap}
@media print{.site-header,.reservation-lock-page .content-context,.content-back,.site-footer{display:none!important}.reservation-hero{padding:2rem 0;background:#fff}.reservation-section{padding:2rem 0}.reservation-table-wrap{overflow:visible}.reservation-related{border:1px solid #ccc}}
