/* 完成記念説明会：白・深緑・金を基調に、誕生を祝う明るさを加える。 */
:root{--opening-gold:#9a7133;--opening-light:#f4e7c6;--opening-pink:#f5e9df}
.site-header{height:88px;background:#fffefa;border-top:4px solid #b39755}.brand{gap:13px}.brand img{width:40px;height:40px;max-height:none}.brand .brand-name{font-family:var(--serif);font-size:24px;letter-spacing:.1em;border:0;padding:0;color:#283e32}.brand .brand-location{font-size:10px;padding-left:17px;margin-left:6px}.header-cta{border-color:#b39755;color:#294c38}
.opening-announcement{display:flex;justify-content:center;align-items:center;gap:26px;background:#214b3d;color:#fff6dc;padding:13px 24px;font-size:11px;letter-spacing:.12em;border-bottom:3px solid #c5a45f}.opening-announcement strong{font-family:var(--serif);font-size:15px;font-weight:500;letter-spacing:.2em}.opening-announcement>span+strong{border-left:1px solid #e4c99477;border-right:1px solid #e4c99477;padding:0 26px}
.opening-hero{max-width:none;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);padding:44px max(35px,calc((100vw - 1320px)/2)) 48px;gap:32px;overflow:hidden;background:radial-gradient(ellipse at 95% 5%,#efdcc28a,transparent 35%),radial-gradient(ellipse at 5% 90%,#e1eddb99,transparent 38%),linear-gradient(115deg,#fcfaf1 25%,#f8f0de 75%,#f8f3e6)}
.opening-hero:before,.opening-hero:after{content:"";position:absolute;pointer-events:none;aspect-ratio:1;border:1px solid #c4a46755;border-radius:50%;width:450px;right:-245px;top:-270px}.opening-hero:after{width:410px;right:-225px;top:-250px;border-width:8px;border-color:#e6d5ac44}
.opening-hero .hero-copy{padding:4px 0 4px 16px;z-index:2;align-self:center}.opening-label{display:flex;gap:12px;align-items:center;color:#8b6834;font-size:11px;letter-spacing:.12em;margin:0 0 19px}.celebration-seal{font-family:var(--serif);font-size:20px;color:#954c37;border:1px solid #b47560;border-radius:50%;width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;line-height:1;flex:none}.opening-hero h1{font-family:var(--serif);font-size:clamp(38px,4.2vw,61px);line-height:1.5;letter-spacing:.065em;font-weight:500;white-space:normal}.opening-hero h1>span{font-size:.8em;letter-spacing:.11em}.opening-hero h1>strong{font-weight:500;color:#285540;display:inline-block;white-space:nowrap;background:linear-gradient(transparent 89%,#d9b5645c 89%,#d9b5645c 96%,transparent 96%)}
.opening-event{display:flex;align-items:center;gap:14px;font-family:var(--serif);font-size:14px;letter-spacing:.12em;color:#9a7133;margin:19px 0 13px}.opening-event:before{content:"";width:25px;height:1px;background:#b99b5f}.opening-event>span{font-size:23px;letter-spacing:.15em;color:#334b3a}.opening-date{display:flex;gap:12px;align-items:baseline;color:#3c503d;line-height:1.4}.opening-date>span{font-size:12px}.opening-date>strong{font-family:var(--serif);font-weight:500;font-size:34px;letter-spacing:.04em}.opening-date small{font-family:var(--sans);font-size:13px;margin-inline:4px 8px}.opening-date em{font-style:normal;font-size:10px;border:1px solid #bba16b;padding:2px 9px;align-self:center;line-height:1.8;letter-spacing:.1em;background:#fffdf2}
.opening-hero .hero-speaker{gap:13px;margin-top:18px}.opening-hero .hero-speaker img{width:53px;height:53px;border:2px solid #fff;outline:1px solid #c0a571}.opening-hero .hero-speaker strong{font-size:17px;letter-spacing:.08em}.opening-hero .hero-description{margin:18px 0 22px;font-size:12px;line-height:2.05;letter-spacing:.025em}.opening-button{padding:18px 24px;background:#27523f;border:1px solid #486244;border-bottom:3px solid #b69b54;font-size:13px;min-height:59px;gap:27px}.opening-button:hover:not(:disabled){background:#376b50}.opening-benefits{display:flex;gap:8px;margin-top:14px}.opening-benefits span{font-size:10px;border:1px solid #c9b480;color:#6e582f;padding:2px 11px;line-height:1.8;background:#fffdf3}.opening-benefits span:first-child{color:#294b35;background:#eaf0db;border-color:#b0bf83}
.opening-hero .hero-visual{background:none;overflow:visible;padding:0;align-self:center;z-index:1;position:relative;display:block}.visual-heading{display:flex;gap:14px;align-items:center;justify-content:center;margin:4px 0 19px}.visual-heading p{font-family:var(--serif);font-size:15px;letter-spacing:.18em;white-space:nowrap;color:#79623c}.visual-heading>span{height:1px;width:38px;background:#b9a16e}.opening-hero .hero-visual .image-button{height:auto;border:7px solid #fffdf6;outline:1px solid #c5aa73;box-shadow:12px 14px 0 #e0cb9b55;overflow:hidden}.opening-hero .hero-visual img{height:auto;width:100%;min-height:0;object-fit:contain}.opening-hero .hero-visual .image-expand{right:10px;bottom:46px;font-size:10px;background:#244b3ad9}.opening-hero .hero-visual figcaption{position:static;font-size:9px;padding:17px 0 0;background:none;color:#82735c;line-height:1.8}.visual-message{font-family:var(--serif);font-size:23px;line-height:1.9;letter-spacing:.17em;color:#556a50;text-align:center;padding:27px 0 0;margin:0}.visual-message>span{font-size:30px;color:#31533f}
.celebration-sparks{position:absolute;inset:0;pointer-events:none;color:#c9a65c;z-index:1}.celebration-sparks i{position:absolute;font-style:normal;font-size:24px;opacity:.65;line-height:1}.celebration-sparks i:nth-child(1){top:6%;left:3%;font-size:16px}.celebration-sparks i:nth-child(2){top:9%;right:4%;font-size:31px}.celebration-sparks i:nth-child(3){bottom:6%;right:8%;font-size:18px}.celebration-sparks i:nth-child(4){bottom:11%;left:2%;font-size:28px}.celebration-sparks i:nth-child(5){top:45%;left:48%;font-size:20px}.celebration-sparks i:nth-child(6){bottom:4%;left:46%;font-size:11px}
.opening-invitation{display:flex;gap:28px;align-items:center;justify-content:center;padding:21px;background:#eaf0e1;border-top:1px solid #d4dfc5;border-bottom:1px solid #d4dfc5}.opening-invitation p{font-family:var(--serif);font-size:15px;letter-spacing:.08em;text-align:center;color:#53684a;line-height:1.9}.opening-invitation>span{color:#a68a46;font-size:23px}.event-summary{border-bottom-color:#cebd96}.gallery-section{background:linear-gradient(135deg,#f7f2e5,#f8f8ec)}.gallery-section:before{height:4px;background:linear-gradient(90deg,#d6b06d,#abcd03,#d6b06d)}.application-section{background:linear-gradient(130deg,#214b3d,#183c32)}.application-heading .eyebrow{color:#e1ca8c}.application-heading h2{color:#fff8e5}.form-card{border-top:4px solid #c4a267}.application-heading:before{content:"✧";display:block;color:#e3cc91;font-size:32px;margin-bottom:15px;line-height:1}
@media(min-width:1600px){.opening-hero{gap:60px;padding-top:60px;padding-bottom:60px}.opening-hero .hero-copy{padding-left:0}}
@media(max-width:1100px){.opening-hero{padding:35px 30px;gap:25px}.opening-hero .hero-copy{padding-left:0}.opening-hero h1{font-size:43px}.opening-label{font-size:9px;letter-spacing:.07em;gap:9px}.opening-hero .hero-description{font-size:11px}.visual-heading p{font-size:12px}.visual-heading>span{width:18px}.visual-message{font-size:18px}.visual-message>span{font-size:26px}}
@media(max-width:800px) and (min-width:601px){.opening-hero{grid-template-columns:1fr 1fr;padding:30px 25px;gap:20px}.opening-hero h1{font-size:36px}.opening-event{font-size:12px;gap:10px}.opening-event>span{font-size:19px}.opening-event:before{width:14px}.opening-date{gap:8px}.opening-date>strong{font-size:29px}.opening-date>span{font-size:10px}.opening-date small{font-size:11px;margin-inline:2px 4px}.opening-date em{padding:1px 5px;font-size:9px}.opening-button{font-size:11px;padding:16px;gap:16px}.opening-benefits{gap:5px}.opening-benefits span{font-size:9px;padding:2px 7px}.opening-hero .hero-visual .image-button{border-width:5px;box-shadow:7px 9px 0 #e0cb9b55}.visual-message{font-size:16px}.visual-message>span{font-size:23px}.brand .brand-location{display:none}.opening-announcement{gap:14px;font-size:10px}.opening-announcement strong{font-size:13px}.opening-announcement>span+strong{padding-inline:14px}}
@media(max-width:600px){.site-header{height:72px;padding:0 20px;border-top-width:3px}.brand{gap:9px}.brand img{width:31px;height:31px}.brand .brand-name{display:block;font-size:19px;letter-spacing:.08em}.brand .brand-location{display:none}.header-cta{font-size:10px;padding:7px 0}.header-cta span{margin-left:10px}.opening-announcement{padding:11px 15px;gap:0;flex-wrap:wrap;text-align:center;line-height:1.9;font-size:9px}.opening-announcement>span:first-child{display:none}.opening-announcement strong{font-size:13px;letter-spacing:.17em;width:100%;font-family:var(--serif)}.opening-announcement>span+strong{border:0;padding:0}.opening-announcement>span:last-child{font-size:9px;letter-spacing:.13em}
.opening-hero{display:flex;flex-direction:column;padding:29px 25px 32px;gap:31px;background:radial-gradient(ellipse at 100% 0%,#efdcc26b,transparent 32%),linear-gradient(145deg,#fdfbf2,#f4ecd8 65%,#eef2e5)}.opening-hero .hero-copy{order:0;width:100%;padding:0}.opening-label{font-size:9px;letter-spacing:.06em;margin-bottom:15px;gap:10px}.celebration-seal{width:31px;height:31px;font-size:18px}.opening-hero h1{font-size:41px;line-height:1.5;letter-spacing:.04em}.opening-hero h1>span{font-size:.8em;letter-spacing:.1em}.opening-event{margin:17px 0 10px;gap:13px;font-size:13px}.opening-event:before{width:18px}.opening-event>span{font-size:22px;letter-spacing:.13em}.opening-date{gap:10px}.opening-date>span{font-size:11px}.opening-date>strong{font-size:31px}.opening-date small{font-size:12px;margin-inline:3px 5px}.opening-date em{font-size:9px;padding:1px 7px}.opening-hero .hero-speaker{margin-top:17px;gap:12px}.opening-hero .hero-speaker img{width:49px;height:49px}.opening-hero .hero-speaker .hero-subtitle{font-size:10px}.opening-hero .hero-speaker strong{font-size:15px}.opening-hero .hero-description{font-size:11px;line-height:1.95;margin:16px 0 19px}.opening-hero .opening-button{width:100%;min-width:0;font-size:12px;min-height:56px;padding:17px 19px;gap:12px}.opening-benefits{justify-content:center;margin-top:12px;gap:8px}.opening-benefits span{font-size:9px;padding:2px 10px}.opening-hero .hero-visual{order:1;width:100%;margin:0;padding:0}.visual-heading{margin:0 0 13px;gap:10px}.visual-heading p{font-size:11px;letter-spacing:.12em}.visual-heading>span{width:24px}.opening-hero .hero-visual .image-button{border-width:5px;box-shadow:7px 9px 0 #ddc89966}.opening-hero .hero-visual .image-expand{font-size:8px;right:6px;bottom:28px;padding:4px 7px}.opening-hero .hero-visual figcaption{font-size:9px;padding-top:16px;line-height:1.8}.visual-message{font-size:16px;padding-top:20px;letter-spacing:.1em}.visual-message>span{font-size:22px}.celebration-sparks i:nth-child(1){top:2%;left:auto;right:11%;font-size:12px}.celebration-sparks i:nth-child(2){top:13%;right:3%;font-size:26px;opacity:.45}.celebration-sparks i:nth-child(3){bottom:3%;right:8%}.celebration-sparks i:nth-child(4){bottom:42%;left:1%;font-size:18px;opacity:.3}.celebration-sparks i:nth-child(5){display:none}.opening-invitation{gap:14px;padding:18px 14px}.opening-invitation p{font-size:11px;letter-spacing:.03em}.opening-invitation>span{font-size:19px}.application-heading:before{font-size:29px;margin-bottom:14px}.application-heading .eyebrow{font-size:9px}
}
@media(max-width:360px){.opening-hero{padding-inline:20px}.opening-hero h1{font-size:36px}.opening-date{gap:8px}.opening-date>strong{font-size:28px}.opening-date small{margin-inline:2px 3px}.opening-benefits{gap:5px}.opening-benefits span{padding-inline:9px}}
@media print{.opening-announcement,.opening-invitation{display:none!important}.form-card{border-top:0}}
/* スマートフォンは、誕生の見出し・開催日・パースを一続きに見せる。 */
@media(max-width:600px){
 .opening-hero{gap:0}
 .opening-hero .hero-copy{display:contents}
 .opening-label{order:1;width:100%}
 .opening-hero h1{order:2;width:100%}
 .opening-event{order:3;width:100%}
 .opening-date{order:4;width:100%;margin-bottom:22px}
 .opening-hero .hero-visual{order:5;margin:0 0 24px}
 .opening-hero .visual-heading,.opening-hero .visual-message{display:none}
 .opening-hero .hero-speaker{order:6;width:100%;margin-top:0}
 .opening-hero .hero-description{order:7;width:100%}
 .opening-hero .opening-button{order:8}
 .opening-benefits{order:9;width:100%}
}
