@charset "UTF-8";
*, *::before, *::after { box-sizing: border-box; }

body { color: #10100e; background: #fdffd8; font-size: 1.6vw; letter-spacing: .05em; line-height: 1.6; font-family: "Noto Sans JP", sans-serif; font-optical-sizing: auto; font-weight: 700; font-style: normal; font-feature-settings: "palt"; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
@media screen and (max-width: 599px) { body { font-size: 3.2vw; } }

_:lang(x)::-ms-backdrop, .selector { font-family: "Segoe UI", Meiryo, sans-serif; }

.fnt-bcb { display: inline-block; position: relative; transform: scaleY(1.1); font-family: "Barlow Condensed", sans-serif; font-weight: 700; font-style: normal; letter-spacing: -.03em; }

p { line-height: 1.8; }

img { border: 0; vertical-align: top; }

input, select { position: relative; top: 1px; }

table, th, td { border-collapse: collapse; border-spacing: 0; }

ul, li { list-style: none; }

a:link, a:visited { color: #10100e; text-decoration: none; transition: opacity 0.5s; }
a:hover, a:active { opacity: .6; }

#cover { width: 100%; height: 100%; position: fixed; background: #fdffd8; top: 0; left: 0; z-index: 10000; }

#loader { opacity: 0; position: absolute; top: 0; left: 0; right: 0; bottom: 0; margin: auto; width: 300px; height: 250px; }
#loader img { width: 100%; height: auto; }
@media screen and (max-width: 599px) { #loader { width: 210px; height: 175px; } }

#wrapper { overflow: hidden; position: relative; }

#page-top { opacity: 0; position: fixed; bottom: 20px; right: 20px; z-index: 9000; width: 40px; pointer-events: none; }
#page-top img { width: 100%; height: auto; }
#page-top.fade { opacity: 1; transition: opacity .5s; pointer-events: auto; }

.dd599 { display: none; }
@media screen and (max-width: 599px) { .dd599 { display: block !important; } }

@media screen and (max-width: 599px) { .nn599 { display: none !important; } }

.fadeinS, .fadein1, .fadein2, .fadein3, .fadein4, .fadein5, .fadein6, .fadeinF { opacity: 0; transform: translateY(30px); transition: opacity 1s ease-in, transform 1s ease-out; }
.fadeinS.active, .fadein1.active, .fadein2.active, .fadein3.active, .fadein4.active, .fadein5.active, .fadein6.active, .fadeinF.active { opacity: 1; transform: translateY(0); }

.poBtn { position: relative; display: inline-block; line-height: 1; padding: 1em 3em; border: 1px solid #10100e; border-radius: 2em; }

.poBox { padding: 2em; border: 1px solid #10100e; }

main { position: relative; }
main section { position: relative; }
main section .btn { position: relative; }
@media screen and (max-width: 599px) { main section .btn { text-align: center; } }
main section .btn a { position: relative; display: inline-block; background: #10100e url("../img/icn_ball.svg") no-repeat 94% center/1.2em; color: #fff; font-size: 160%; line-height: 1; padding: .4em 4em .5em 1em; border-radius: 3em; box-shadow: 1px 1px 5px 1px rgba(0, 0, 0, 0.2); }
@media screen and (max-width: 599px) { main section .btn a { font-size: 250%; white-space: nowrap; } }
main section#topMainSct { background: url("../img/top_bg.webp") no-repeat center top/100%; padding: 8.7em 0 1em; }
@media screen and (max-width: 599px) { main section#topMainSct { background-image: url("../img/top_bg-sp.webp"); padding: 13em 0 3em; } }
main section#topMainSct h1 { display: block; width: 57%; margin: 0 auto; }
@media screen and (max-width: 599px) { main section#topMainSct h1 { width: 100%; } }
main section#topMainSct h1 img { width: 100%; height: auto; }
main section#topMainSct .ttl { position: relative; top: -6.6em; right: -13%; width: 91%; }
@media screen and (max-width: 599px) { main section#topMainSct .ttl { top: -2.8em; right: 0; width: 110%; } }
main section#topMainSct .ttl img { width: 100%; height: auto; }
main section#topMainSct .phone { position: absolute; top: 56em; right: -23%; width: 70%; }
@media screen and (max-width: 599px) { main section#topMainSct .phone { top: 106em; right: -32%; width: 125%; } }
main section#topMainSct .phone img { width: 100%; height: auto; }
main section#topMainSct .whatsB { position: relative; padding: 7em 0 0 7%; }
@media screen and (max-width: 599px) { main section#topMainSct .whatsB { padding: 6.5em 0 0 4%; } }
main section#topMainSct .whatsB .enTtl { font-size: 250%; line-height: 1.4; }
@media screen and (max-width: 599px) { main section#topMainSct .whatsB .enTtl { font-size: 360%; } }
main section#topMainSct .whatsB .jeTtl { padding-left: 4em; font-size: 145%; font-weight: 900; letter-spacing: .05em; margin-bottom: 1em; }
@media screen and (max-width: 599px) { main section#topMainSct .whatsB .jeTtl { padding-left: .1em; font-size: 225%; line-height: 1.3; } }
main section#topMainSct .whatsB .txt { width: 57%; font-size: 90%; font-weight: 900; letter-spacing: 0; line-height: 1.6; margin-bottom: 2em; }
@media screen and (max-width: 599px) { main section#topMainSct .whatsB .txt { width: 96%; font-size: 145%; margin-bottom: 27em; } }
main section#topMainSct .whatsB .btn2 { position: relative; }
@media screen and (max-width: 599px) { main section#topMainSct .whatsB .btn2 { text-align: right; } }
main section#topMainSct .whatsB .btn2 .resn { position: relative; top: -.25em; display: inline-block; font-size: 90%; font-weight: 900; letter-spacing: 0; padding-right: 3em; }
@media screen and (max-width: 599px) { main section#topMainSct .whatsB .btn2 .resn { display: block; font-size: 145%; text-align: left; padding: 0 0 .3em 0; } }
main section#topMainSct .whatsB .btn2 .resn::after { content: "▲"; position: absolute; top: 0; right: 1.3em; transform: scaleX(2) rotate(90deg); }
@media screen and (max-width: 599px) { main section#topMainSct .whatsB .btn2 .resn::after { left: -23%; right: inherit; bottom: -6em; } }
main section#topMainSct .whatsB .btn2 a { position: relative; display: inline-block; background: #53bd97 url("../img/icn_ball.svg") no-repeat 94% center/1.2em; color: #fff; font-size: 160%; line-height: 1; padding: .45em 2.7em .45em 1em; border-radius: 3em; box-shadow: 1px 1px 5px 1px rgba(0, 0, 0, 0.2); }
@media screen and (max-width: 599px) { main section#topMainSct .whatsB .btn2 a { font-size: 240%; margin-right: 4%; } }
main section#topGuideSct { padding: 4em 0 5em 0; background: url("../img/about_bg.webp") no-repeat center top/100%; }
@media screen and (max-width: 599px) { main section#topGuideSct { padding: 9em 0 3em; background-image: url("../img/about_bg-sp.webp"); } }
main section#topGuideSct .ttl { width: 66%; margin-left: 5%; margin-bottom: 2.7em; }
@media screen and (max-width: 599px) { main section#topGuideSct .ttl { width: 115%; margin-left: -2%; margin-bottom: 4.4em; } }
main section#topGuideSct .ttl img { width: 100%; height: auto; }
main section#topGuideSct .enTtl { display: block; text-align: center; color: #fff; font-size: 250%; line-height: 1.4; text-shadow: 1px 1px 5px rgba(0, 0, 0, 0.7); margin-bottom: .2em; }
@media screen and (max-width: 599px) { main section#topGuideSct .enTtl { font-size: 350%; line-height: .8; margin-bottom: .3em; } }
main section#topGuideSct .jeTtl { display: block; text-align: center; color: #fff; font-size: 145%; font-weight: 900; line-height: 1.2; letter-spacing: .05em; text-shadow: 1px 1px 5px rgba(0, 0, 0, 0.7); margin-bottom: 6.5em; }
@media screen and (max-width: 599px) { main section#topGuideSct .jeTtl { line-height: 1.6; margin-bottom: 5.5em; } }
main section#topGuideSct .guideB { position: relative; overflow: hidden; width: 83%; margin: 0 auto 5.5em; padding: 2em 2em; background: url("../img/about_panel.webp") no-repeat center center/cover; border-radius: 3em; box-shadow: 1px 1px 10px 1px rgba(0, 0, 0, 0.2); text-align: right; }
@media screen and (max-width: 599px) { main section#topGuideSct .guideB { background-image: url("../img/about_panel-sp.webp"); width: 92%; margin: 0 auto 15em; padding: 5em 2em 4em; } }
main section#topGuideSct .guideB .ttlG { display: block; font-size: 180%; line-height: 1; margin-bottom: .3em; }
@media screen and (max-width: 599px) { main section#topGuideSct .guideB .ttlG { font-size: 320%; white-space: nowrap; margin-bottom: .6em; } }
main section#topGuideSct .guideB .ttlG span { display: block; font-size: 160%; }
main section#topGuideSct .guideB .txtG { display: inline-block; width: 30%; text-align: left; font-size: 85%; font-weight: 900; line-height: 1.3; letter-spacing: 0; margin-bottom: 2em; }
@media screen and (max-width: 599px) { main section#topGuideSct .guideB .txtG { width: 100%; font-size: 125%; line-height: 1.6; text-align: justify; text-justify: inter-ideograph; margin-bottom: 23em; } }
main section#topGuideSct .openD { display: block; text-align: center; font-size: 230%; margin-bottom: 1em; }
@media screen and (max-width: 599px) { main section#topGuideSct .openD { font-size: 350%; white-space: nowrap; margin-bottom: 0; } }
main section#topGuideSct .openT { display: block; text-align: center; font-weight: 900; }
@media screen and (max-width: 599px) { main section#topGuideSct .openT { font-size: 135%; } }
main section#topCpSct { z-index: 5; padding: 1em 1.5%; }
@media screen and (max-width: 599px) { main section#topCpSct { padding: 1em 4%; } }
main section#topCpSct .innerB { position: relative; overflow: hidden; padding: 2em 4em 3em; background: url("../img/ticket_bg.webp") no-repeat center center/cover; border: 1px solid #fff; border-radius: 3em; box-shadow: 1px 1px 10px 1px rgba(0, 0, 0, 0.2); }
@media screen and (max-width: 599px) { main section#topCpSct .innerB { padding: 5em 2em 4em; background-image: url("../img/ticket_bg-sp.webp"); } }
main section#topCpSct .innerB h2 { color: #fff; font-size: 380%; }
@media screen and (max-width: 599px) { main section#topCpSct .innerB h2 { display: block; font-size: 525%; line-height: .9; margin-bottom: .6em; } }
main section#topCpSct .innerB .txt1 { font-size: 110%; font-weight: 900; letter-spacing: .05em; padding-left: .3em; margin-bottom: .2em; }
@media screen and (max-width: 599px) { main section#topCpSct .innerB .txt1 { font-size: 160%; line-height: 1.5; padding-left: 0; margin-bottom: 11em; } }
main section#topCpSct .innerB .txt2 { font-size: 90%; font-weight: 900; letter-spacing: 0; line-height: 1.6; padding-left: 1em; margin-bottom: 2em; }
@media screen and (max-width: 599px) { main section#topCpSct .innerB .txt2 { font-size: 125%; text-align: justify; text-justify: inter-ideograph; padding-left: 0; } }

#footer { position: relative; top: -7em; margin-bottom: -7em; z-index: 1; background: #53bd97 url("../img/footer-bg.svg") no-repeat center top/cover; padding: 10em 7% 5em; display: flex; justify-content: space-between; }
@media screen and (max-width: 599px) { #footer { display: block; background-image: url("../img/footer-bg-sp.webp"); padding: 12em 4% 5em; } }
#footer .txtB { position: relative; }
@media screen and (max-width: 599px) { #footer .txtB { text-align: center; } }
#footer .txtB .name { display: block; font-size: 225%; line-height: 1.4; }
@media screen and (max-width: 599px) { #footer .txtB .name { font-size: 320%; margin-bottom: .1em; } }
#footer .txtB .icn { position: relative; display: flex; margin-bottom: 1em; }
@media screen and (max-width: 599px) { #footer .txtB .icn { justify-content: center; } }
#footer .txtB .icn a { width: 3em; padding-right: .5em; }
@media screen and (max-width: 599px) { #footer .txtB .icn a { width: 6em; padding: 0 .4em; } }
#footer .txtB .icn a img { width: 100%; height: auto; }
#footer .txtB .add { font-weight: 900; margin-bottom: .3em; }
@media screen and (max-width: 599px) { #footer .txtB .add { font-size: 135%; } }
#footer .txtB .corp { font-size: 80%; line-height: 1.5; margin-bottom: .5em; }
@media screen and (max-width: 599px) { #footer .txtB .corp { font-size: 135%; margin-bottom: 16em; } }
#footer .txtB .corp a { font-size: 80%; text-decoration: underline; }
#footer .txtB .cpr { font-size: 80%; letter-spacing: 0; }
#footer .logoB { width: 15em; }
@media screen and (max-width: 599px) { #footer .logoB { position: absolute; bottom: 8.5em; left: 50%; transform: translateX(-50%); width: 22em; } }
#footer .logoB img { width: 100%; height: auto; }
