*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#101010;color:#f7f5f0;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;line-height:1.9}a{color:inherit;text-underline-offset:5px}header{position:sticky;top:0;background:#101010f5;z-index:5;padding:24px 12px}nav{display:flex;justify-content:center;gap:55px;max-width:1000px;margin:auto;background:linear-gradient(110deg,#272727,#111,#303030);padding:2px 20px}nav a{text-decoration:none}nav a:hover{color:#c9ac54}.hero{min-height:850px;background:linear-gradient(#0002,#0003),url('assets/S__28663857_0.jpg') center/cover;display:flex;flex-direction:column;align-items:center;justify-content:space-evenly;text-align:center;padding:30px 20px}.mark{width:260px;height:245px;object-fit:cover;object-position:center}.hero .mark{object-fit:contain}.wordmark{width:min(90%,800px);height:220px;object-fit:cover}.hero h1{font-size:30px;font-weight:400;line-height:1.6;text-shadow:0 2px 8px #000;margin:30px 0 0}.hero p{font-size:22px;margin:0}.wrap{max-width:1050px;margin:auto;padding:75px 30px}.intro{text-align:center;max-width:820px;margin:auto}.intro p{margin:30px 0}.intro img{width:280px;max-width:80%}h2{font-size:30px;font-weight:400;text-align:center;margin:0 0 35px}h3{font-weight:400;color:#c9ac54}h2:after{content:'';display:block;width:50px;height:1px;background:#c9ac54;margin:20px auto}.event{display:grid;grid-template-columns:1fr 1fr;align-items:center;background:#181716}.event img{width:100%;height:430px;object-fit:cover}.event div{text-align:center;padding:40px 25px}.gold{color:#c9ac54}.button{display:inline-block;border:1px solid #b6984d;text-decoration:none;padding:10px 35px;margin-top:20px}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.gallery button{border:0;padding:0;cursor:pointer;background:none}.gallery img{width:100%;height:245px;object-fit:cover;display:block}.gallery button:hover{opacity:.85}.price{border-top:1px solid #716342;padding:22px 0;margin:25px 0}.price strong{font-size:32px;color:#d1b963;font-weight:400}.menu{display:grid;grid-template-columns:1fr 1fr;gap:55px}.row{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #343434;padding:10px 0}.row span:last-child{white-space:nowrap}footer{border-top:1px solid #5a513d;display:grid;grid-template-columns:140px 1fr 1fr;gap:40px;padding:55px max(25px,calc((100% - 1050px)/2));padding-bottom:105px}footer img{width:130px}footer small{grid-column:1/-1;text-align:center;color:#aaa}.phone{font-size:25px}.call{position:fixed;bottom:0;left:0;right:0;text-align:center;background:#b48b3c;color:white;padding:12px;text-decoration:none;z-index:7;letter-spacing:2px}.contact{text-align:center;min-height:400px}dialog{background:#111;color:white;border:1px solid #9f864c;width:min(95vw,1100px);padding:15px}dialog::backdrop{background:#000c}dialog img{width:100%;max-height:80vh;object-fit:contain}dialog button{float:right;padding:8px 20px;margin-bottom:10px;background:#eee;border:0;cursor:pointer}@media(max-width:650px){header{padding:12px 5px}nav{gap:0;justify-content:space-around;padding:8px 2px;font-size:12px}.hero{min-height:650px;background-position:55% center}.hero h1{font-size:23px}.hero p{font-size:16px}.mark{width:190px;height:185px}.wordmark{height:145px;width:100%}.wrap{padding:50px 20px}.event,.menu{grid-template-columns:1fr}.event img{height:300px}.gallery{grid-template-columns:1fr 1fr;gap:8px}.gallery img{height:160px}footer{grid-template-columns:1fr;gap:15px;padding:35px 25px 95px}footer img{width:90px}h2{font-size:25px}.row{font-size:14px}}.hero{background-position:center 62%}.hero .mark{width:min(650px,95vw);height:245px;object-fit:cover;flex-shrink:0}@media(max-width:650px){.hero .mark{height:200px}}
/* 全体の配色：こげ茶・ゴールド、文字は白 */
body{background:#24150f;color:#fff}
header{background:#24150ff5}
nav{background:linear-gradient(110deg,#493020,#2b1911,#493020);border-bottom:1px solid #b99850}
nav a:hover{color:#fff;text-decoration:underline;text-decoration-color:#c9ac54}
a,h3,.gold,.price strong,footer small{color:#fff}
.event{background:#301e15}
.button{border-color:#c9ac54;background:#493020;color:#fff}
.button:hover{background:#63462a}
.price,footer{border-color:#b99850}
.row{border-bottom-color:#765332}
.call{background:#8b682c;color:#fff;border-top:1px solid #d1b66a}
dialog{background:#24150f;color:#fff;border-color:#c9ac54}
dialog button{background:#61452c;color:#fff;border:1px solid #c9ac54}
footer{grid-template-columns:130px auto;justify-content:center;align-items:center;column-gap:45px;text-align:left}
footer h3{margin:0 0 8px}footer p{margin:10px 0}footer .phone{font-size:32px;letter-spacing:2px}footer small{margin-top:15px}
@media(max-width:650px){footer{grid-template-columns:1fr;text-align:center;justify-items:center;gap:15px}footer .phone{font-size:27px}}
header{padding:12px 20px 10px}
.header-brand{max-width:1000px;margin:0 auto 12px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.header-home{display:flex;align-items:center;gap:16px;text-decoration:none}
.header-home img{width:68px;height:68px;object-fit:contain}
.header-home small{display:block;font-size:12px;letter-spacing:4px;line-height:1.5}
.header-home strong{display:block;font-size:29px;font-weight:400;letter-spacing:3px;line-height:1.5}
.header-phone{text-decoration:none;text-align:right}
.header-phone small{display:block;font-size:12px;line-height:1.5}
.header-phone span{display:block;font-size:25px;letter-spacing:1px;line-height:1.6}
.header-phone:hover span{text-decoration:underline;text-decoration-color:#c9ac54}
@media(max-width:650px){header{padding:10px 10px 8px}.header-brand{gap:8px;margin-bottom:10px}.header-home{gap:8px}.header-home img{width:44px;height:44px}.header-home small{font-size:9px;letter-spacing:2px}.header-home strong{font-size:18px;letter-spacing:1px}.header-phone small{font-size:9px}.header-phone span{font-size:16px;letter-spacing:0}nav{font-size:11px}}
/* 全ページの字間を統一して詰める */
body{letter-spacing:-0.035em}
.header-home small,.header-home strong,.header-phone span,.call,footer .phone{letter-spacing:-0.035em}
/* 茶色を感じられる暖かい背景 */
body{background:#3b2418}
header{background:#3b2418f5}
nav{background:linear-gradient(110deg,#62412a,#472c1c,#62412a)}
.event{background:#482e1f}
.button{background:#62412a}
.button:hover{background:#795333}
dialog{background:#3b2418}
.past-result{margin:40px auto;padding:25px;max-width:600px;border-top:1px solid #c9ac54;border-bottom:1px solid #c9ac54}
button.button{font:inherit;letter-spacing:inherit;cursor:pointer}
#event-result{max-width:760px;padding:25px 30px 45px;text-align:center}
#event-result h2{clear:both;padding-top:20px}
.instagram-link{grid-column:1/-1;justify-self:center;border:1px solid #c9ac54;padding:9px 24px;text-decoration:none;color:#fff}
.instagram-link:hover{background:#62412a}
.event-feature{display:block;text-align:center}
.event-feature>div{padding:65px 25px 70px}
.event-feature .gold{font-size:22px}
.event-feature h2{font-size:46px;margin-bottom:30px}
.event-feature p:not(.gold){font-size:38px!important;line-height:1.7}
.event-feature .button{font-size:20px;padding:12px 45px}
@media(max-width:650px){.event-feature>div{padding:45px 18px}.event-feature h2{font-size:30px}.event-feature p:not(.gold){font-size:28px!important}.event-feature .gold{font-size:18px}}
.event-feature{scroll-margin-top:145px}
#gallery{scroll-margin-top:145px}
#intro{scroll-margin-top:145px}
.slideshow{max-width:900px;margin:auto}
.slideshow .gallery{display:block;position:relative;aspect-ratio:4/3;overflow:hidden;background:#301d14}
.slideshow .gallery>button{position:absolute;inset:0;width:100%;height:100%;opacity:0;pointer-events:none;transition:opacity 1.2s ease;visibility:hidden}
.slideshow .gallery>button.active{opacity:1;pointer-events:auto;visibility:visible;z-index:1}
.slideshow .gallery img{width:100%;height:100%;object-fit:contain}
.slideshow .gallery button:hover{opacity:1}
.slide-controls{display:flex;align-items:center;justify-content:center;gap:24px;padding:18px 0}
.slide-controls button{background:#62412a;border:1px solid #c9ac54;color:white;font:inherit;cursor:pointer;min-width:44px;min-height:44px;padding:5px 14px}
#slide-prev,#slide-next{font-size:28px;line-height:1}
.slide-controls button:hover{background:#795333}
@media(max-width:650px){.slide-controls{gap:12px}.slideshow .gallery img{height:100%}}
@media(prefers-reduced-motion:reduce){.slideshow .gallery>button{transition:none}}
.slideshow .gallery>button{visibility:visible}
.slideshow .gallery{aspect-ratio:auto;height: min(60vh,600px)}
.gold-flares{position:fixed;inset:0;pointer-events:none;z-index:6;overflow:hidden;--flare-top:135px}
.gold-flares i{position:absolute;top:var(--flare-top);left:var(--x);width:var(--size);height:var(--size);border-radius:50%;background:#fff6c9;box-shadow:0 0 7px 2px #e3b95099,0 0 20px 5px #d5a64433;opacity:0;animation:gold-fall var(--duration) linear var(--delay) infinite}
.gold-flares i::before,.gold-flares i::after{content:'';position:absolute;left:50%;top:50%;background:linear-gradient(transparent,#fff8da,transparent);transform:translate(-50%,-50%);width:1px;height:calc(var(--size)*3)}
.gold-flares i::after{transform:translate(-50%,-50%) rotate(90deg)}
@keyframes gold-fall{0%{opacity:0;transform:translate(0,-10px) scale(.35)}12%{opacity:.7}35%{opacity:.25}47%{opacity:.8}70%{opacity:.35}100%{opacity:0;transform:translate(var(--drift),70vh) scale(.4)}}
@media(max-width:650px){.gold-flares{--flare-top:105px}.gold-flares i:nth-child(n+11){display:none}}
@media(prefers-reduced-motion:reduce){.gold-flares{display:none}}
.gold-flares i.large-flare{box-shadow:0 0 14px 4px #e3b95099,0 0 35px 9px #d5a64444}
@media(max-width:650px){.gold-flares i.large-flare{display:block}.gold-flares i.large-flare:nth-child(n+22){display:none}}
/* トップのロゴが奥から手前へ飛び出す導入 */
.hero{perspective:1000px;overflow:hidden}
.hero .mark{animation:logo-pop 1.9s cubic-bezier(.18,.7,.25,1) both;transform-origin:center}
.hero .wordmark{animation:wordmark-pop 1.6s cubic-bezier(.18,.7,.25,1) .6s both;transform-origin:center}
@keyframes logo-pop{0%{opacity:0;transform:translateZ(-550px) scale(.2) rotate(-8deg);filter:blur(8px)}55%{opacity:1;transform:translateZ(75px) scale(1.12) rotate(2deg);filter:blur(0)}78%{transform:translateZ(-12px) scale(.97) rotate(-1deg)}100%{opacity:1;transform:translateZ(0) scale(1) rotate(0);filter:blur(0)}}
@keyframes wordmark-pop{0%{opacity:0;transform:translateY(35px) translateZ(-300px) scale(.5);filter:blur(5px)}65%{opacity:1;transform:translateY(0) translateZ(40px) scale(1.05);filter:blur(0)}100%{opacity:1;transform:translateY(0) translateZ(0) scale(1);filter:blur(0)}}
@media(prefers-reduced-motion:reduce){.hero .mark,.hero .wordmark{animation:none}}
/* 紹介欄をコンパクトにまとめ、写真との間を詰める */
#intro{max-width:1050px;padding:32px 30px 12px}
#intro>img{width:220px;height:120px;object-fit:cover;display:block;margin:0 auto 12px}
#intro h2{font-size:29px;line-height:1.5;margin:0 0 16px}
#intro h2:after{margin:14px auto 0}
#intro p{margin:16px 0 0;line-height:1.8}
#gallery{padding-top:25px;padding-bottom:35px}
@media(max-width:650px){#intro{padding:25px 20px 8px}#intro h2{font-size:24px}#intro>img{width:190px;height:105px;margin-bottom:10px}#gallery{padding-top:20px}}
/* メイン写真はエアコンより下のステージを中心に見せる */
.hero{background-position:center bottom;background-size:auto 135%}
@media(max-width:650px){.hero{background-size:auto 125%;background-position:58% bottom}}
.hero{background-size:auto 155%}
@media(max-width:650px){.hero{background-size:auto 155%}}
/* 周年イベントを照らすゴールドのスポットライト */
.event-feature{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 50% 25%,#a77a354d 0%,#77502b22 40%,transparent 72%),#482e1f}
.event-feature::before{content:'';position:absolute;inset:-35% -20%;z-index:-1;pointer-events:none;background:conic-gradient(from 155deg at 50% 0%,transparent 0deg,#ffe6a51c 13deg,#fff0bc33 24deg,transparent 38deg);filter:blur(12px);transform-origin:50% 0%;animation:event-spotlight 12s ease-in-out infinite alternate}
.event-feature h2{position:relative;text-shadow:0 0 12px #ffe4a87a,0 0 35px #e6b84b66,0 3px 6px #24150f}
.event-feature h2::before{content:'';position:absolute;pointer-events:none;width:min(650px,90%);height:110px;left:50%;top:50%;transform:translate(-50%,-50%);z-index:-1;background:radial-gradient(ellipse,#ffdf9440,transparent 68%);filter:blur(10px)}
.event-feature h2:after{width:140px;background:linear-gradient(90deg,transparent,#ffe9ab,transparent);box-shadow:0 0 12px #f2cb78}
@keyframes event-spotlight{from{transform:rotate(-12deg);opacity:.6}to{transform:rotate(12deg);opacity:1}}
@media(prefers-reduced-motion:reduce){.event-feature::before{animation:none}}
.event-guests{margin:45px 0 40px;text-align:center}
.event-guests>h2{font-size:28px}
.guest-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;text-align:center}
.guest-grid article{padding:0 0 20px;border-bottom:1px solid #b99850}
.guest-grid img{display:block;width:100%;height:270px;object-fit:cover;object-position:center top}
.guest-grid h3{font-size:20px;margin:22px 0 8px;line-height:1.6}
.guest-grid h4{font-size:24px;font-weight:400;margin:8px 0 16px}
.guest-grid p{font-size:15px;line-height:1.9}
@media(max-width:750px){.guest-grid{grid-template-columns:1fr;max-width:420px;margin:auto;gap:35px}.guest-grid img{height:320px}}
#guests{scroll-margin-top:150px}
.archive{max-width:1000px}.archive-lead{text-align:center}.archive-filters{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin:30px 0 40px}.archive-filters button{font:inherit;color:#fff;background:transparent;border:1px solid #b99850;padding:8px 20px;cursor:pointer}.archive-filters button[aria-pressed=true]{background:#795333}.archive-year{font-size:30px;border-bottom:1px solid #b99850;padding:20px 0 10px;margin:25px 0 0}.archive-card{padding:25px 0;border-bottom:1px solid #765332}.archive-date{font-size:14px;margin:0 0 5px}.archive-card h3{font-size:24px;margin:5px 0 10px}.archive-card p{margin:8px 0}.archive-card .button{margin-top:10px}#event-result{max-height:85vh;overflow-y:auto}#result-content{text-align:left;overflow-wrap:anywhere}#result-content p{margin:6px 0;line-height:1.8}#result-content small{display:block;border-top:1px solid #765332;padding-top:15px;margin-top:20px;font-size:12px}
.result-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin:15px 0 30px}
.result-photos figure{margin:0;text-align:center}.result-photos img{width:100%;height:230px;object-fit:contain;display:block;background:#301e15}.result-photos figcaption{font-size:12px;margin-top:7px}
@media(max-width:650px){.result-photos{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.result-photos img{height:190px}}
/* シャンパンで乾杯する周年イベント背景 */
.event-feature{background:linear-gradient(90deg,rgba(43,25,14,.5),rgba(43,25,14,.72) 48%,rgba(43,25,14,.5)),url('assets/champagne-celebration.png') center center/cover no-repeat}
.event-feature h2,.event-feature p{text-shadow:0 2px 8px #201108,0 0 22px #e6b84b55}
@media(max-width:650px){.event-feature{background-position:center;background-image:linear-gradient(rgba(43,25,14,.65),rgba(43,25,14,.72)),url('assets/champagne-celebration.png')}}
/* 紹介文の背景に大きな透かしロゴ */
#intro{position:relative;isolation:isolate}
#intro::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:url('assets/doramu.png') center 48%/min(1100px,135%) auto no-repeat;opacity:.085}
@media(max-width:650px){#intro::before{background-size:180% auto;opacity:.075}}
#intro{padding-top:45px;padding-bottom:25px}
#intro::before{opacity:.17;background-size:min(1000px,130%) auto;background-position:center 48%}
@media(max-width:650px){#intro{padding-top:35px;padding-bottom:20px}#intro::before{opacity:.15;background-size:170% auto}}
/* 透かしロゴ全体を紹介欄の中に収める */
#intro::before{background-size:auto 100%;background-position:center}
@media(max-width:650px){#intro::before{background-size:100% auto;background-position:center}}
/* 背景ロゴを柔らかな光で浮き立たせる */
#intro::before{opacity:.29;filter:drop-shadow(0 0 8px #e5bd6770)}
@media(max-width:650px){#intro::before{opacity:.26}}
