@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+JP:wght@400;500;600;700&display=swap');
:root{font-family:'Noto Sans JP',sans-serif;background:#f6f7f2;color:#21332d;scroll-behavior:smooth}*{box-sizing:border-box}body{margin:0;min-width:320px}img{display:block;max-width:100%}a{color:inherit}.skip{position:absolute;top:-60px;left:12px;z-index:20;background:#fff;padding:10px}.skip:focus{top:10px}.fiction{margin:0;background:#dce8df;padding:8px 4vw;font-size:10px;line-height:1.7;text-align:center}header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:15px 4vw;border-bottom:1px solid #d4ddd5}.brand{display:flex;align-items:center;gap:11px;font-size:19px;font-weight:700;text-decoration:none}.brand-sign{display:grid;place-items:center;background:#668b78;color:#fff;width:42px;height:42px;font-family:serif;font-weight:400;font-size:23px}.brand small{display:block;font-size:9px;font-weight:400;letter-spacing:.1em}nav{display:flex;gap:25px;font-size:11px}nav a{text-decoration:none}.hero{padding:24px 6vw 56px}.hero-meta{display:flex;justify-content:space-between;gap:10px;padding-bottom:20px;border-bottom:1px solid #adc1b4;color:#628772;font:700 10px 'DM Sans',sans-serif;letter-spacing:.17em}.hero-heading{display:grid;grid-template-columns:1.1fr .8fr;gap:5vw;align-items:end;padding:50px 1vw 38px}.category{color:#4f7863;font-size:13px;font-weight:700;letter-spacing:.12em;margin:0 0 16px}.hero h1{font-size:clamp(48px,5.4vw,84px);line-height:1.22;letter-spacing:-.07em;margin:0}.hero-heading>p{font-size:13px;line-height:2.1;max-width:470px;margin:0 0 4px}.hero-link{display:inline-flex;justify-content:space-between;gap:50px;border-bottom:1px solid #6a947b;text-decoration:none;padding:10px 0;font-size:12px;font-weight:700}.hero-link span{font-size:19px}.waiting{background:#dfe8df;padding:0 6vw 90px}.waiting figure{position:relative;margin:0}.waiting img{width:100%;height:clamp(500px,48vw,680px);object-fit:cover;object-position:center}.waiting figcaption,.room figcaption{position:absolute;left:16px;bottom:16px;background:#f7faf2ea;padding:9px 13px;color:#42634e;font:700 10px 'DM Sans',sans-serif;letter-spacing:.1em}.waiting-caption{display:grid;grid-template-columns:.5fr 1.3fr auto;align-items:center;gap:25px;padding:34px 0}.waiting-caption>span,.room-header>span,.about>span{font:700 10px 'DM Sans',sans-serif;letter-spacing:.16em;color:#557b64}.waiting-caption p{font-size:clamp(20px,2.2vw,34px);font-weight:700;letter-spacing:-.04em;margin:0}.waiting-caption a,.back-link{font-size:12px;font-weight:700;text-decoration:none;border-bottom:1px solid #71947d;padding:9px 0}.room{padding:110px 10vw;background:#f6f7f2}.room-header{display:grid;grid-template-columns:.55fr 1fr 1fr;align-items:start;gap:3vw;margin-bottom:40px}.room h2,.about h2{font-size:clamp(37px,4vw,62px);line-height:1.35;letter-spacing:-.06em;margin:-10px 0 0}.room-header p{font-size:13px;line-height:2.2;margin:0}.room figure{position:relative;margin:0}.room figure img{width:100%;height:clamp(480px,52vw,680px);object-fit:cover;object-position:center}.back-link{display:inline-block;margin-top:25px}.about{background:#567662;color:#fff;padding:90px 10vw}.about>span{color:#cce2d3}.about h2{margin:18px 0 23px}.about p{font-size:13px;line-height:2.2;max-width:680px}.about a{display:inline-block;margin-top:18px;border-bottom:1px solid #e5f1e5;padding:8px 0;text-decoration:none;font-size:12px;font-weight:700}footer{display:flex;justify-content:space-between;gap:20px;padding:24px 4vw;font-size:10px}footer a{text-decoration:none}a:focus-visible{outline:3px solid #ba8552;outline-offset:4px}
@media(max-width:900px){.hero-heading{grid-template-columns:1fr 1fr}.hero h1{font-size:clamp(47px,5.7vw,70px)}.room-header{grid-template-columns:1fr 1fr}.room-header p{grid-column:2}.waiting-caption{grid-template-columns:1fr 2fr}.waiting-caption a{grid-column:2;justify-self:start}}
@media(max-width:700px){header{display:block;padding:13px 5vw}nav{justify-content:space-between;gap:10px;margin-top:13px;font-size:10px}.hero{padding:18px 5vw 38px}.hero-heading{display:block;padding:30px 0 23px}.hero h1{font-size:clamp(43px,8vw,60px)}.hero-heading>p{margin-top:22px}.waiting{padding:0 5vw 60px}.waiting img{height:390px;object-position:42% center}.waiting-caption{display:block;padding:25px 0 0}.waiting-caption p{margin:14px 0}.waiting-caption a{display:inline-block}.room{padding:75px 5vw}.room-header{display:block}.room h2{margin:17px 0}.room-header p{max-width:550px}.room figure img{height:440px}.about{padding:75px 5vw}}
@media(max-width:480px){.fiction{font-size:9px}.brand{font-size:17px}.hero-meta{font-size:8px}.hero h1{font-size:43px}.hero-heading>p{font-size:12px}.waiting img{height:300px;object-position:45% center}.waiting figcaption,.room figcaption{font-size:8px;left:8px;bottom:8px}.waiting-caption p{font-size:22px}.room h2,.about h2{font-size:39px}.room figure img{height:330px}.room-header p{font-size:12px}footer{flex-direction:column}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
