/* main.css が本体。ここは main.css に無い部分だけ */
body{background:#0D0D0D}
.pagetop{padding:140px 20px 64px;background:#0D0D0D}
@media(min-width:768px){.pagetop{padding:160px 80px 80px}}
.embed{display:block;width:100%;border:0;min-height:70vh;background:#fff;border-radius:16px}
.detail{background:#0D0D0D;padding:0 20px 96px;color:rgba(255,255,255,.6);font-weight:300;font-size:14px;line-height:1.9}
@media(min-width:768px){.detail{padding:0 80px 120px}}
.detail h2{font-family:"Noto Serif JP",serif;color:#fff;font-size:22px;margin:56px 0 12px}
.detail h3{color:#fff;font-size:15px;font-weight:500;margin:24px 0 6px}
.detail p{margin:0 0 12px}.detail ul{padding-left:1.2em;margin:0 0 12px;list-style:disc}
.dd-menu{position:absolute;right:0;top:calc(100% + 8px);min-width:150px;background:rgba(13,13,13,.97);border:1px solid rgba(255,255,255,.15);border-radius:12px;padding:6px;display:flex;flex-direction:column;z-index:60}
.dd-menu[hidden]{display:none}
.dd-menu a{padding:8px 12px;border-radius:8px;color:rgba(255,255,255,.75);font-size:14px;text-decoration:none}
.dd-menu a:hover,.dd-menu a.on{color:#B8956A;background:rgba(255,255,255,.05)}
.m-panel{position:fixed;inset:0;z-index:70;background:rgba(13,13,13,.97);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px}
.m-panel a{color:#fff;font-size:20px;text-decoration:none;letter-spacing:.1em}
.m-panel button{position:absolute;top:24px;right:20px;color:#fff;font-size:28px}
.faq-open{max-height:2400px!important;opacity:1!important}
.notice-bar{position:fixed;top:0;left:0;right:0;z-index:80;height:56px;display:flex;align-items:center;justify-content:center;gap:10px;padding:0 44px;background:#F3E7D3;color:#1B130B;font-size:15px;font-weight:700;letter-spacing:.03em;text-align:center;box-shadow:0 2px 10px rgba(0,0,0,.35)}
.notice-bar button{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:#1B130B;font-size:20px;line-height:1;cursor:pointer}
body.has-notice nav.fixed{top:56px}
@media(max-width:640px){.notice-bar{font-size:13px;padding:0 40px;line-height:1.35}}

/* 動き：スクロールでふわっと表示（JSが .rv を付ける）／トップの文字は読み込み時に順に出る。動きを減らす設定では動かさない */
.rv{opacity:0;transform:translateY(28px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1);transition-delay:var(--d,0s)}
.rv.in{opacity:1;transform:none}
@keyframes sk-up{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
section.h-screen .relative.h-full.flex>div:nth-child(1){animation:sk-up 1.2s cubic-bezier(.2,.7,.2,1) .15s both}
section.h-screen .relative.h-full.flex>div:nth-child(2){animation:sk-up 1.2s cubic-bezier(.2,.7,.2,1) .65s both}
@media(prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}section.h-screen .relative.h-full.flex>div{animation:none!important}}

/* トップの背景写真：ゆっくり拡大（ケン・バーンズ効果）。動きを減らす設定では止める */
@keyframes sk-kb{from{transform:scale(1)}to{transform:scale(1.09) translate(-1%,-1%)}}
section.h-screen span.block img{animation:sk-kb 26s ease-in-out infinite alternate;will-change:transform}
@media(prefers-reduced-motion:reduce){section.h-screen span.block img{animation:none}}

/* パララックス：背景を少しゆっくり動かす（transformだけ。iPhoneでもカクつきにくい） */
section .px.absolute{top:-15%;bottom:-15%;will-change:transform}
@media(prefers-reduced-motion:reduce){section .px.absolute{top:0;bottom:0;transform:none!important}}
