:root{color-scheme:dark;color:#fffaf0;background:#1d263e;font-family:"Yu Mincho","Hiragino Mincho ProN","MS PMincho",serif}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;width:100%}body{min-height:100svh;display:flex;flex-direction:column}
header{height:106px;flex-shrink:0;display:flex;justify-content:center;align-items:center;background:#1d263e;border-bottom:1px solid #ffffff12;position:relative;z-index:2}
h1{margin:0;display:flex;align-items:baseline;gap:22px;font-weight:500;line-height:1.4}h1 span{font-size:17px;letter-spacing:.13em}h1 strong{font-size:38px;letter-spacing:.23em;font-weight:600}
main{flex:1;display:grid;grid-template-columns:minmax(0,1.65fr) minmax(360px,1fr);min-height:calc(100svh - 106px)}
.photo{position:relative;overflow:hidden;min-height:540px}.photo:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent 65%,#0b101d26)}.photo img{display:block;width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center;animation:arrive 2s ease-out both}
.notice{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:72px 32px;text-align:center;background:radial-gradient(ellipse at 50% 50%,#28324a,#1d263e 78%)}
.rule{width:1px;height:60px;background:linear-gradient(transparent,#c9ae7b);margin-bottom:36px}.rule.bottom{transform:rotate(180deg);margin:36px 0 0;height:40px}
h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(23px,2.1vw,32px);font-weight:400;letter-spacing:.19em;margin:0 0 26px;padding-left:.19em;line-height:1.5}
p{font-size:16px;letter-spacing:.09em;line-height:2.2;margin:0;color:#eee8dd}p span{display:block}
@keyframes arrive{from{opacity:.5;transform:scale(1.025)}to{opacity:1;transform:scale(1)}}
@media(max-width:900px){main{grid-template-columns:1fr;grid-template-rows:minmax(360px,52svh) auto}.photo{min-height:0}.photo img{object-position:center 55%}.notice{padding:36px 24px 42px}.rule{height:28px;margin-bottom:20px}.rule.bottom{height:20px;margin-top:22px}h2{font-size:25px;margin-bottom:16px}p span{display:inline-block}header{height:90px}main{min-height:calc(100svh - 90px)}}
@media(max-width:480px){header{height:84px}h1{gap:16px}h1 span{font-size:14px}h1 strong{font-size:32px}main{grid-template-rows:46svh auto;min-height:calc(100svh - 84px)}.photo img{object-position:50% 50%}.notice{padding:30px 18px 36px}h2{font-size:23px}p{font-size:14px;letter-spacing:.04em}p span{display:block}}
@media(prefers-reduced-motion:reduce){.photo img{animation:none}}
