
body{margin:0;background:#F5F2EC}
a{color:inherit}
:focus-visible{outline:1px solid #866A3E;outline-offset:4px}
summary{list-style:none}summary::-webkit-details-marker{display:none}
details[open] .faq-mark{transform:rotate(45deg)}
.faq-mark{transition:transform .25s ease}

.wrap{max-width:1320px;margin:0 auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
@media (min-width:760px){.wrap{padding-left:56px;padding-right:56px}}
.sec{padding-top:clamp(96px,11vw,168px);padding-bottom:clamp(96px,11vw,168px)}

.lbl{margin:0;font-family:'Marcellus',serif;font-size:13px;letter-spacing:.24em;color:#866A3E;text-transform:uppercase}
.dark .lbl{color:#CDB58A}
.h2{margin:0;font-family:'Zen Old Mincho',serif;font-weight:600;font-size:clamp(28px,3.2vw,44px);line-height:1.65;letter-spacing:.08em;color:#1C1B18;text-wrap:balance}
.dark .h2{color:#F3EFE7}
.h3{margin:0;font-family:'Zen Old Mincho',serif;font-weight:600;font-size:clamp(22px,2vw,28px);line-height:1.6;letter-spacing:.08em;color:#1C1B18}
.dark .h3{color:#F3EFE7}
.lead{margin:0;max-width:34em;font-size:17px;line-height:2.1;color:#24221F;font-weight:500}
.dark .lead{color:#E7E2D8}
.sub{color:#45423C;font-weight:500}
.dark .sub{color:#CFC9BD}
.note{margin:0;font-size:13.5px;line-height:1.9;color:#4F4C45;font-weight:500}
.dark .note{color:#BDB6A8}
.rule{height:1px;background:#D9D3C8;border:0;margin:0}
.dark .rule{background:#3D403A}

.head{display:flex;flex-direction:column;gap:22px;max-width:920px}
.head > div{display:flex;flex-direction:column;gap:26px;min-width:0}
.h2 .ph{white-space:nowrap}
header a:not(.btn){text-shadow:0 1px 0 #FFFFFF,0 2px 1px rgba(28,27,24,.16),0 4px 6px rgba(28,27,24,.14),0 10px 18px rgba(28,27,24,.12);transition:transform .25s ease,text-shadow .25s ease}
header .gnav a:not(.btn):hover{transform:translateY(-2px);text-shadow:0 1px 0 #FFFFFF,0 3px 2px rgba(28,27,24,.18),0 8px 10px rgba(28,27,24,.16),0 16px 24px rgba(28,27,24,.14)}
header a[aria-label] > span:first-child{text-shadow:0 1px 0 #FFFFFF,0 2px 1px rgba(28,27,24,.22),0 5px 8px rgba(28,27,24,.18),0 14px 24px rgba(28,27,24,.16)}
header .btn{box-shadow:inset 0 0 0 4px #1C1B18,inset 0 0 0 5px rgba(255,255,255,.32),0 3px 0 #0B0B0A,0 12px 20px -8px rgba(0,0,0,.5)}
@media (prefers-reduced-motion:reduce){header a{transition:none}}
.lead{text-wrap:pretty}
@media (max-width:700px){#news li a{grid-template-columns:auto auto 1fr !important}#news li a > span:nth-child(3){grid-column:1 / -1}#news li a > span:last-child{display:none}}
p,li,dd,dt,figcaption,h2,h3,h4,summary{word-break:auto-phrase;text-wrap:pretty}

.frame{display:block;box-sizing:border-box;width:100%;max-width:100%;padding:10px;background:#FFFFFF;border:1px solid #DCD6CB;box-shadow:0 1px 2px rgba(28,27,24,.06),0 30px 50px -30px rgba(28,27,24,.55)}
.dark .frame{background:#2A2D27;border-color:#474A43;box-shadow:0 34px 56px -28px rgba(0,0,0,.85)}
.panel{box-sizing:border-box;background:#FFFFFF;border:1px solid #DCD6CB;box-shadow:inset 0 0 0 7px #FFFFFF,inset 0 0 0 8px #E7E1D6,0 1px 2px rgba(28,27,24,.06),0 30px 50px -32px rgba(28,27,24,.5)}
.dark .panel{background:#22251F;border-color:#474A43;box-shadow:inset 0 0 0 7px #22251F,inset 0 0 0 8px #3A3D36,0 34px 56px -28px rgba(0,0,0,.85)}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:54px;padding:0 34px;box-sizing:border-box;background:#1C1B18;color:#FFFFFF!important;text-decoration:none;font-size:15px;font-weight:700;letter-spacing:.14em;box-shadow:inset 0 0 0 4px #1C1B18,inset 0 0 0 5px rgba(255,255,255,.32);transition:background .25s ease,box-shadow .25s ease;border:0;cursor:pointer;font-family:inherit}
.btn:hover{background:#866A3E;box-shadow:inset 0 0 0 4px #866A3E,inset 0 0 0 5px rgba(255,255,255,.45)}
.btn-light{background:#F5F2EC;color:#1C1B18!important;box-shadow:inset 0 0 0 4px #F5F2EC,inset 0 0 0 5px rgba(28,27,24,.35)}
.btn-light:hover{background:#FFFFFF;box-shadow:inset 0 0 0 4px #FFFFFF,inset 0 0 0 5px rgba(134,106,62,.7)}
.link{color:inherit;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:3px;font-size:15px;letter-spacing:.06em}

.gnav a{position:relative;text-decoration:none;color:#1C1B18;font-weight:500;min-height:48px;display:inline-flex;align-items:center}
.gnav a:not(.btn)::after{content:"";position:absolute;left:0;right:0;bottom:10px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s ease}
.gnav a:not(.btn):hover::after{transform:scaleX(1)}

.num{font-family:'Marcellus',serif;font-variant-numeric:lining-nums tabular-nums}
.tbl{width:100%;border-collapse:collapse}
.tbl th{font-weight:500;font-size:13px;letter-spacing:.12em;color:#5A574F;padding:10px 0;border-bottom:1px solid #1C1B18}
.tbl td{padding:15px 0;border-bottom:1px solid #DCD6CB}
.dark .tbl td{border-color:#3D403A}
.lbl{display:flex;align-items:center;gap:14px}
.lbl::before{content:"";flex:none;width:36px;height:1px;background:currentColor;opacity:.8}
.sec{position:relative;overflow:hidden}
.sec > .wrap{position:relative}
.wm{position:absolute;bottom:clamp(16px,2vw,32px);right:-0.06em;opacity:.75;font-family:'Marcellus',serif;font-size:clamp(88px,15vw,250px);line-height:1;letter-spacing:.02em;color:rgba(28,27,24,.045);pointer-events:none;white-space:nowrap;user-select:none}
.band{position:relative;overflow:hidden;background:#121310;color:#F5F2EC}
.band img{display:block;width:100%;height:clamp(420px,52vw,760px);object-fit:cover;filter:brightness(.62)}
.band .in{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;text-align:center;padding:0 20px;text-shadow:0 2px 24px rgba(0,0,0,.55)}
.marq{display:flex;width:max-content;animation:marq 48s linear infinite}
.marq span{padding-right:56px;white-space:nowrap}
@keyframes marq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.zoom{overflow:hidden}
.hero-card{box-sizing:border-box;width:min(100%,500px);display:flex;flex-direction:column;gap:24px;padding:34px 38px 36px;background:linear-gradient(180deg,rgba(26,28,24,.9),rgba(14,15,13,.94));border:1px solid rgba(205,181,138,.55);box-shadow:inset 0 0 0 7px rgba(14,15,13,.0),inset 0 0 0 8px rgba(205,181,138,.28),0 40px 70px -30px rgba(0,0,0,.9);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.hero-card ol{margin:0;padding:0;list-style:none;display:flex;flex-direction:column}
.hero-card li{display:grid;grid-template-columns:44px minmax(0,1fr);align-items:baseline;gap:0 6px;padding:14px 0;border-top:1px solid rgba(205,181,138,.3)}
.hero-card li:last-child{border-bottom:1px solid rgba(205,181,138,.3)}
.hero-card .t{font-family:'Zen Old Mincho',serif;font-weight:600;font-size:clamp(17px,1.5vw,20px);line-height:1.7;letter-spacing:.06em;color:#F5F2EC}
.hero-card .t b{font-weight:700;color:#E6D3AE}
.hs{position:relative;overflow:hidden}
.hs > img,.hs > video{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;opacity:0;animation:hs 36s linear infinite;will-change:opacity,transform}
.hs > :nth-child(2){animation-delay:6s}.hs > :nth-child(3){animation-delay:12s}.hs > :nth-child(4){animation-delay:18s}.hs > :nth-child(5){animation-delay:24s}.hs > :nth-child(6){animation-delay:30s}
@keyframes hs{0%{opacity:0;transform:scale(1.1)}4%{opacity:1}17%{opacity:1}21%{opacity:0;transform:scale(1.01)}100%{opacity:0;transform:scale(1.01)}}
.hcap{display:flex;flex-direction:column;gap:14px;width:min(100%,340px);padding-bottom:6px}
.hcap-t{position:relative;height:24px}
.hcap-t span{position:absolute;left:0;top:0;white-space:nowrap;font-family:'Marcellus','Zen Old Mincho',serif;font-size:14px;letter-spacing:.16em;color:#F5F2EC;text-shadow:0 2px 14px rgba(0,0,0,.7);opacity:0;animation:hcap 36s linear infinite}
.hcap-t span:nth-child(2),.hbar i:nth-child(2){animation-delay:6s}.hcap-t span:nth-child(3),.hbar i:nth-child(3){animation-delay:12s}.hcap-t span:nth-child(4),.hbar i:nth-child(4){animation-delay:18s}.hcap-t span:nth-child(5),.hbar i:nth-child(5){animation-delay:24s}.hcap-t span:nth-child(6),.hbar i:nth-child(6){animation-delay:30s}
@keyframes hcap{0%{opacity:0;transform:translateY(8px)}4%,15%{opacity:1;transform:none}18%,100%{opacity:0;transform:none}}
.hbar{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}
.hbar i{display:block;height:2px;background:rgba(245,242,236,.28);position:relative;overflow:hidden}
.hbar i::after{content:"";position:absolute;inset:0;background:#E6D3AE;transform:scaleX(0);transform-origin:left;animation:inherit}
.hbar i{animation:none}
.hbar i::after{animation:hbar 36s linear infinite}
.hbar i:nth-child(2)::after{animation-delay:6s}.hbar i:nth-child(3)::after{animation-delay:12s}.hbar i:nth-child(4)::after{animation-delay:18s}.hbar i:nth-child(5)::after{animation-delay:24s}.hbar i:nth-child(6)::after{animation-delay:30s}
@keyframes hbar{0%{transform:scaleX(0)}16.6%{transform:scaleX(1)}16.7%,100%{transform:scaleX(0)}}
@media (prefers-reduced-motion:reduce){.hs > *,.hcap-t span,.hbar i::after{animation:none}.hs > :first-child,.hcap-t span:first-child{opacity:1}}
.btn-ghost{background:transparent;color:#F5F2EC!important;box-shadow:inset 0 0 0 1px rgba(205,181,138,.8)}
.btn-ghost:hover{background:rgba(205,181,138,.16);box-shadow:inset 0 0 0 1px #E6D3AE}
.zoom img{transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.zoom:hover img{transform:scale(1.04)}
@media (prefers-reduced-motion:reduce){.faq-mark,.btn,.gnav a::after,.zoom img{transition:none}.marq{animation:none}}
