@charset "UTF-8";
*, *::before, *::after{box-sizing: border-box}
body, h1, h2, h3, h4, h5, h6, p, figure, blockquote, dl, dd, ul{margin: 0}
ul, ol{list-style: none; margin: 0; padding: 0}
html{font-size: 62.5%; color: #000; scroll-behavior: smooth; overflow-x: hidden;}
body{min-height: 100vh; text-rendering: optimizeSpeed;	line-height: 1.5; background: #000; color: #fff; font-family: "Shippori Mincho", sans-serif; font-weight: 400;}
a:not([class]){-webkit-text-decoration-skip: ink; text-decoration-skip-ink: auto}
img, picture{max-width: 100%; display: block}
input, button, textarea, select{font: inherit}
main section{position: relative; /*user-select: none;*/}
main small{font-size:75%;}
main sup{font-size:50%;}
@media (prefers-reduced-motion:reduce){
	html{scroll-behavior: auto}
}

header{position: absolute; /*position: fixed;*/ top:0; left: 0; width: 100%; z-index: 20;}
header .inner,main .inner,footer .inner{width: 100%; position: relative;}
header .inner{background: #fff;}
header a{color:#000; text-decoration: none; line-height: 1; font-weight: 600;}
header .language-wrapper{display: flex;}
header .lang-switcher{position: relative; display: inline-block; font-size:1.3rem; /*font-family: sans-serif*/}
header #current-lang{background: #fff; color: #707070; border: 1px solid #707070; border-radius: 5px; padding: 5px 12px; cursor: pointer; min-width: 100px; display: flex; align-items: center; gap: 8px; line-height: 1.2;}
header #current-lang::before{content: ""; width: 18px; height: 18px; background: url(../img/earth.svg) center/contain no-repeat; flex-shrink: 0;}
header .lang-menu{display: none; position: absolute; top: 100%; left: 0; right: initial; list-style: none; margin: 0!important; padding: 0 4px; background: #fff; box-shadow: 0 3px 6px rgba(0, 0, 0, .2)}
header .lang-switcher.drop-up .lang-menu{top: auto; bottom: 100%; box-shadow: 0 -3px 6px rgba(0, 0, 0, .2);}
header .lang-menu.open{display: block; width: 100%;}
header .lang-menu li {border-bottom: 1px solid #eee!important; margin: 0!important; padding: 0!important;}
header .lang-menu li:last-child {border-bottom: none}
header .lang-menu a {display: block;  font-size:1.4rem; padding: 5px 10px; color: #707070!important; text-decoration: none;}
header .lang-menu a:hover{background: #f5f5f5!important;}
header .buy{position: absolute;}
header .buy a{color:#fff; background: #8c1616; text-align: center; display: block;}

footer .inner{background: #241a6c; display: flex; align-items: center; height: 0;}
footer .bnr{display: flex; gap:16px; z-index: +1;}
footer .bnr img{width: auto; height: 48px;}
footer .credit img{width: auto; height: 12px;}

.bottom{background: #110b38; text-align: center; position: fixed; bottom:0; left: 0; right: 0; max-width: 1440px; width: 100%; margin: 0 auto; padding: 16px 0; z-index: 20;}
.bottom .buy a{color:#fff; background: #8c1616; text-align: center; display: block; text-decoration: none;}
.popup-bnr{position: fixed; max-width: 1440px; width: 100%; left: 0; right: 0; margin: 0 auto; pointer-events: none; z-index: 15;}
.popup-bnr p{max-width:375px; display: inline-block; position: relative; z-index: 10; pointer-events: auto;}
.popup-bnr p span{width: 24px; height: 24px; position: absolute; right: 27px; top: 27px; display: block; z-index: +1; cursor: pointer; padding: 5px;}
html:lang(en) .popup-bnr{display: none;}

.open-button{cursor: pointer; background: none; display: block; border: none; margin: 0; padding: 0; user-select: all; z-index: +1; position: relative;}
.open-button img{aspect-ratio:536/569; display: block; object-fit: contain;}
.popup-container{display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.5); z-index: 9999; justify-content: center; align-items: center;}
.popup-container:not([hidden]){display: flex;}
.popup-content{position: relative; /*background: #fff;*/ width: 90%; max-width: 980px; aspect-ratio:983/836; display: flex; flex-direction: column;}
.popup-content .popup-inner{/*overflow-y: auto;*/ aspect-ratio:983/836; display: block; overflow: hidden;}
.popup-content .popup-inner img{aspect-ratio:983/836; max-height: 100%; margin: 0 auto;}
.close-button{/*position: absolute;*/ position: fixed; cursor: pointer; display: block; top: 20px; right: 20px; }

.snow{height: 100%; display: block; width: 100%; position: fixed; top :0; left:0; /*user-select: none;*/ pointer-events: none;}

main #kv .news{margin: 0 auto; position: absolute; width: 100%; display: block; z-index: +1; /*user-select: none;*/}
main #kv ul{background: #fff; color:#333; margin: 0 auto; user-select: text!important;}

main #about .inner{display:flex; align-items: center; justify-content: center; position: absolute; flex-wrap: wrap; left:0; top:0; width: 100%; height: 100%; /*padding-top: 100px;*/}
main #about .box h2 img,main #about .box .lead img{margin: 0 auto;}
main #about .box{width:100%; text-align: center; overflow: hidden;}

main #story .inner{display:flex; align-items: center; justify-content: center; position: absolute; flex-wrap: wrap; left:0; top:0; width: 100%; height: 100%; /*padding-top: 100px;*/}
main #story .box h2 img,main #story .box .lead img{margin: 0 auto;}
main #story .box{width:100%; text-align: center; overflow: hidden;}

main #highlights{margin: 0; padding: 0;}
main #highlights-content{width: 100%; position: relative; color:#000;}
main #highlights-content section{margin: 0; padding: 0; box-shadow:none!important;}
main #highlights #nav{list-style: none; margin: 0;}
main #highlights #nav a{transition: background 0.3s; display: block;}
main #highlights #nav a .on,
main #highlights #nav a.active .off{display: none;}
main #highlights #nav a.active .on{display: block;}
main #highlights1, main #highlights2, main #highlights3{position: relative; width: 100%;}
main #highlights .icon.highlights1{color:#0B5b7f;}
main #highlights .icon.highlights2{color:#7b0811;}
main #highlights .icon.highlights3{color:#888109;}
main #highlights #highlights-content section .wrapper{display:flex; align-items: center; flex-direction: column; justify-content: center; position: absolute; flex-wrap: wrap; left:0; top:0; width: 100%; height: 100%;}
main #highlights #highlights1 p.cast,
main #highlights #highlights2 p,
main #highlights #highlights-content .pic{margin-bottom: 0;}
main #highlights #highlights-content .lead{font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif; font-weight: 300; /*font-family: "Inter", sans-serif; font-weight: 100;*/}

main .event{user-select: text!important;}
main .event .box{z-index: +1;}
main .event .icon_b{color:#0B5b7f;}
main .event .icon_r{color:#7b0811;}
main .event .icon_y{color:#888109;}
main .event .color_y{color:#d1d529;}
main .event .map{pointer-events: none; display: block;}
main .event .map img{pointer-events: all;}

main .event .link li ul li a{color: #fff; background: #8c1616; text-align: center; display: block; text-decoration: none;}

main #direction .inner{display:flex; align-items: center; justify-content: center; position: absolute; flex-wrap: wrap; left:0; top:0; width: 100%; height: 100%; padding-top: 100px;}
/*main #direction .box h2 img,main #derection .box .lead img{margin: 0 auto;}*/

main #a3{user-select: text!important; z-index: -1;}
main #a3 .box{z-index: +1;}

@media screen and (min-width:768px){
	._sp{display: none;}
	a{transition: 0.3s; will-change: opacity;}
	a:hover{opacity: .7;}
	/*main section{margin-top: -100px; padding-top:100px;}
	main #cast-pc{margin-top: -50px; padding-top:50px;}*/
	main #ticket{margin-top: -100px; padding-top:100px;}
	main #highlights1-link{margin-top: -150px; padding-top:150px;}

	.wrapper{max-width:1440px; box-shadow: 7px 0px 7px -2px rgba(255, 255, 255, .2), -7px 0px 7px -2px rgba(255, 255, 255, .2); margin: 0 auto;}

	header{height:122px; padding: 0 20px;}
	header .inner{height:80px; max-width: 1328px; margin: 42px auto 0 auto;}
	header .logo{position: absolute; left:20px; top: 17px;}
	header .logo img{width: auto; height: 46px;}
	header .buy{right:25px; top: 11px; width:265px;}
	header .buy a{font-size: 2.0rem; letter-spacing: .1em; line-height: 58px; border-radius: 29px;}
	header ul{display: flex; position: absolute; right:315px; top: 28px;}
	header ul li{margin-left: 25px; font-size: 1.6rem; letter-spacing: .2em;}
	header .language-wrapper{position: absolute; right:0; top : -36px;}

	footer .inner{justify-content:space-between; padding: 60px 56px 260px 56px;}

	.bottom{display: flex; justify-content: center; align-items: center; position: fixed;}
	.bottom .date{width:60.138%;/*width:46.527%;*/ margin-right: 2.5%; display: block;}
	.bottom .buy{width:18.402%; display: block;}
	.bottom .buy a{font-size: clamp(1.2rem, 1.389vw, 2.0rem); letter-spacing: .1em; line-height: 58px; border-radius: 29px;}
	.popup-bnr{bottom: 100px; text-align: right;}

	.open-button{}
	.close-button{/*top: -57px; right: 0;*/ width:42px; height:42px; background: url(../img/icon_closs_w.webp) 50% 50%/42px 42px no-repeat;}
	.popup-content{height: 90%; max-height: 750px;}
	.popup-content .popup-inner{/*padding: 5rem 7%;*/ max-height: 750px;}
	.popup-content .popup-inner img{width:auto; height: 90vh;}

	main #kv .news{top:96.5%; /*bottom: clamp(-80px, -9.286rem + 4.018vw, -35px);*/}
	main #kv ul{padding: clamp(16px, 0.429rem + 1.190vw, 24px);width: 61.111%;}
	main #kv ul li{position: relative; display: flex; align-items: flex-start; justify-content: flex-start; font-size: clamp(12px, 1.075rem + 0.391vw, 14px); line-height: 1.6;}
	main #kv ul li .date{display: block; width: 8em; margin-right: 1em;}
	main #kv ul li .title{display: block; width: calc(100% - 9em);}

	/*main #about .box{width:41.458%;/ *width:597px;* /}*/
	main #about h2{background: url(../img/message_icon.webp) 50% 0/4.3% auto no-repeat; padding: calc(4.3% + 3.88%) 0 2.77% 0; font-size: clamp(20px, calc(18px + 1.25vw), 36px); letter-spacing: .3em; position: relative; left: .15em; font-weight: 500;}
	main #about p{font-size: clamp(12px, calc(5.16px + 0.89vw), 18px); letter-spacing: .3em; line-height: 2.5; position: relative; left: .15em;}

	/* main #story .box{width:44.652%;/ *width:643px;* /} */
	main #story h2{background: url(../img/story_icon.webp) 50% 0/4.3% auto no-repeat; padding: calc(4.3% + 3.88%) 0 2.77% 0; font-size: clamp(20px, calc(18px + 1.25vw), 36px); letter-spacing: .3em; position: relative; left: .15em; font-weight: 500;}
	main #story p{font-size: clamp(12px, calc(5.16px + 0.89vw), 18px); letter-spacing: .3em; line-height: 2.5; position: relative; left: .15em;}

	main #highlights{display: flex; align-items: flex-start; position: relative; background: url(../img/highlights_pc_nav_bg.webp) 0 100px / 100% 100vh no-repeat fixed;}
	main #highlights .title{font-size: clamp(24px, 0.88rem + 1.66vw, 36px); display: block; text-align: center; margin: clamp(20px, 0.22rem + 16.5vw, 53px) 0 clamp(10px, 0.11rem + 8.25vw, 27px) 0; letter-spacing: .3em; position: relative; left: .15em;}
	main #highlights .icon{font-size: clamp(12px, 0.44rem + 0.83vw, 18px); display: block; text-align: center; margin-bottom: clamp(20px, 0.22rem + 16.5vw, 53px);}
	main #highlights nav{position: sticky; width: 26.35%; min-width: 240px; top: 0; overflow-y: auto; overflow-x: hidden;}
	main #highlights #nav{padding: 0 0 100px 0;}
	main #highlights #nav li a{color:#fff; text-decoration: none; opacity: .4; position: relative;}
	main #highlights #nav li a.active{opacity: 1;}
	main #highlights #nav li a.active:before{content: ''; width:31px; height:2px; display: block; position: absolute; top: 25%; right:0; background: #fff;}
	main #highlights #nav li a .box{text-align: center; aspect-ratio: 300/100; display: flex; align-items: center; flex-direction: column; justify-content: center;}
	main #highlights #nav li a .subtitle,
	main #highlights #nav li a .point{font-size: clamp(12px, calc(0.53rem + 0.595vw), 16px); display: block; letter-spacing: .3em;}
	main #highlights #nav li a .point span{font-size: clamp(16px, calc(11.08px + 3.27vw), 38px); margin-left: .3em;}
	main #highlights #highlights-content{text-align: center; overflow: hidden;}
	main #highlights #highlights-content h2{padding: calc(-17.06px + 4.30vw + 3.88%) 0 clamp(16px, calc(-17.06px + 4.30vw), 32px) 0; font-size: clamp(20px, calc(-4.75px + 3.23vw), 32px); line-height: 1.2; letter-spacing: .3em; position: relative; left: .15em; font-weight: 500; color:#fff; display: block; width: 100%; text-align: center;}
	main #highlights #highlights-content p{font-size: clamp(14px, calc(9.42px + 0.595vw), 18px); letter-spacing: .3em; line-height: 2; position: relative; left: .15em; color:#fff; margin-bottom: clamp(40px, calc(-42.49px + 10.75vw), 80px);}
	main #highlights #highlights1 h2{background: url(../img/highlights_point1_icon.webp) 50% 0/5.96% auto no-repeat;}
	main #highlights #highlights2 h2{background: url(../img/highlights_point2_icon.webp) 50% 0/5.96% auto no-repeat;}
	main #highlights #highlights3 h2{background: url(../img/highlights_point3_icon.webp) 50% 0/5.96% auto no-repeat;}
	main #highlights #highlights1 picture img{aspect-ratio: 1140/2200; min-height: 2100px;}
	main #highlights-content #highlights1 ul{padding: 0 clamp(32px, calc(-18.42px + 7.23vw), 64px); margin: 0 0 clamp(40px, calc(-42.49px + 10.75vw), 80px) 0; width: 100%; display: flex; flex-wrap: wrap; /*gap: clamp(24px, calc(-10.09px + 5.62vw), 48px);*/}
	main #highlights-content #highlights1 ul li{margin-right: 40px; width: calc(50% - 20px);}
	main #highlights-content #highlights1 ul li:nth-child(2n){margin-right: 0;}
	main #highlights-content #highlights1 ul li:last-child{width: 100%;}
	main #highlights-content #highlights1 ul li .box{color:#fff; display: flex; align-items: flex-start; position: relative; text-align: left; padding: clamp(0px, calc(-27.42px + 3.57vw), 24px) 0;}
	main #highlights-content #highlights1 ul li .box .pic{width: 35%; display: block; flex-shrink: 0; margin-right: 7%;}
	main #highlights-content #highlights1 ul li .box .txt{width: 58%; display: block; flex-shrink: 0;}
	main #highlights-content #highlights1 ul li:last-child{border-top: 1px solid #303035; border-bottom: 1px solid #303035; padding: 40px 0; margin-top: 20px;}
	main #highlights-content #highlights1 ul li:last-child .box .pic{width: calc(17.5% - 0px); margin-right: calc(3.5% - 0px);}
	main #highlights-content #highlights1 ul li:last-child .box .txt{width:calc(79% + 0px)}
	main #highlights-content #highlights1 ul li .box .txt .name{display: block; font-size: clamp(16px, calc(3.61px + 1.61vw), 22px); line-height: 1.2; letter-spacing: .3em; margin-bottom: clamp(0px, calc(-18.29px + 2.38vw), 16px);}
	main #highlights-content #highlights1 ul li .box .txt .lead{display: block; flex-grow: 1; font-size: clamp(10px, calc(5.87px + 0.54vw), 12px); line-height: 2; letter-spacing: .05em;}

	main #highlights-content #highlights1 ul.cast-list{display: flex; flex-wrap: wrap; justify-content: center; padding: 0 clamp(32px, calc(-18.42px + 7.23vw), 64px); margin: 0 auto; width: 100%; gap:10px;}
	main #highlights-content #highlights1 ul.cast-list li{width: calc(100% / 8 - 10px); text-align: center; margin: 0; padding: 0; color:#fff; font-size: clamp(10px, calc(5.87px + 0.54vw), 12px); font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif; font-weight: 300; border: none!important;}

	main .event{background: url(../img/event_pc_bg.webp)0 0/cover no-repeat; padding: clamp(51.2px, 6.6667vw, 96px) 0;}
	/*main .event h2{width:12.291%; margin: 0 auto;}*/
	main .event h2{background: url(../img/event_icon.webp) 50% 0/4.3% auto no-repeat; padding: calc(4.3% + 3.88%) 0 2.77% 0; font-size: clamp(20px, calc(18px + 1.25vw), 36px); letter-spacing: .3em; position: relative; left: .15em; font-weight: 500; text-align: center;}
	main .event #ticket h2{background:none; padding: calc(4.3% + 0%) 0 2.77% 0;}
	main .event article{padding-bottom: clamp(21.39px, 2.7778vw, 40px);}
	main .event .box{width:62.5%; margin: 0 auto; background: rgba(0,0,0,.8); padding: clamp(21.39px, 2.7778vw, 40px) clamp(21.39px, 2.7778vw, 40px) 0 clamp(21.39px, 2.7778vw, 40px);}
	main .event .box h3{font-size: clamp(13px, -0.346rem + 2.143vw, 22px); line-height: 1.2; letter-spacing: .2em; font-weight: 500; padding-bottom: clamp(13px, -0.711rem + 2.619vw, 24px);}
	/*main .event .box h3 + p{padding: clamp(5px, 0.694vw, 10px) 0 clamp(21.39px, 2.7778vw, 40px) 0;}*/
	main .event .box p{font-size: clamp(13px, 0.935rem + 0.476vw, 15px); line-height: 2; letter-spacing: .1em; font-weight: 500;}
	main .event .box p.note{font-size: clamp(10px, 0.452rem + 0.714vw, 13px);}
	main .event .box ul.note{font-size: clamp(10px, 0.452rem + 0.714vw, 13px); padding-top: clamp(13px, -0.711rem + 2.619vw, 24px);}
	main .event .box ul.note li{padding-bottom: clamp(13px, 0.752rem + 0.714vw, 16px); text-indent: -1em; padding-left: 1em;}
	main .event .box ul.note li:nth-last-child(1){padding-bottom: 0;}
	/*main .event .date img{width: 56.219%;}*/
	main .event .date{font-size: clamp(24px, calc(8.00px + 2.08vw), 38px)!important; line-height: 1!important;}
	main .event .date em{font-style: normal; font-size:50%;}
	main .event .scr img{width: 80.243%;}
	main .event .map{padding: clamp(13px, 0.752rem + 0.714vw, 16px) 0 clamp(13px, -0.711rem + 2.619vw, 24px) 0;}
	main .event .map img{width: 34.117%;/*width: 21.219%;*/}
	main .event .access{display: flex; gap:clamp(13px, -1.809rem + 4.048vw, 30px);}
	main .event .img{width:47%;}
	main .event .line{font-size: clamp(13px, 0.386rem + 1.190vw, 18px)!important; text-decoration: underline;}
	main .event .line + p.note{padding-bottom: clamp(13px, -0.711rem + 2.619vw, 24px) ;}
	main .event p.note + ul.note{padding-top: 0;}
	main .event .color_y{font-size: clamp(13px, 0.935rem + 0.476vw, 15px)!important; line-height: 2;}
	main .event .tiget{display: flex; gap:clamp(13px, 0.752rem + 0.714vw, 16px); justify-content: center; align-items: center; white-space: nowrap; padding: clamp(13px, 0.752rem + 0.714vw, 16px) 0 clamp(13px, -0.711rem + 2.619vw, 24px) 0;}
	main .event .tiget img{width: 28.414%;}
	/*main .event .link{display: flex; gap:clamp(13px, 0.752rem + 0.714vw, 16px); align-items: center; white-space: nowrap; padding: clamp(13px, 0.752rem + 0.714vw, 16px) 0 clamp(13px, -0.711rem + 2.619vw, 24px) 0;}
	main .event .link li:nth-child(1){width: 23.414%;}
	main .event .link li:nth-child(2){width: 23.414%;}
	main .event .link li:nth-child(3){width: 29.777%;}*/
	main .event .link{display: flex; background: #fff; margin-top: clamp(13px, -0.711rem + 2.619vw, 24px); padding: calc( clamp(13px, -0.711rem + 2.619vw, 24px) / 2); gap: calc( clamp(13px, -0.711rem + 2.619vw, 24px) / 1);}
	main .event .link li{text-align: center; margin-bottom: calc(clamp(13px, -0.711rem + 2.619vw, 24px) / 2); flex: 1;}
	main .event .link li:nth-child(1) img{width: calc(23.414% * 3); margin: 0 auto;}
	main .event .link li:nth-child(2) img{width: calc(23.414% * 3); margin: 0 auto;}
	main .event .link li:nth-child(3) img{width: calc(27.777% * 3); margin: 0 auto;}
	main .event .link li ul{display: flex; justify-content: center; gap: calc( clamp(13px, -0.711rem + 2.619vw, 24px) / 2); flex-wrap: wrap;}
	main .event .link li ul li{margin: 0; flex: auto;}
	main .event .link li ul li a{font-size: calc(clamp(1.2rem, 1.389vw, 2.0rem) * .8); letter-spacing: .1em; line-height: calc(58px * .8) ; border-radius: 29px; padding: 0 calc(clamp(13px, -0.711rem + 2.619vw, 24px) *.8) ;}
	main .event .link li:nth-child(3) a{max-width: 200px; margin: 0 auto;}


	/*main #direction .box{width:58.194%;/ *width:838px;* /}*/
	main #direction .inner{padding-top: 0;}
	main #direction h2{font-size: clamp(16px, 0.572rem + 0.893vw, 22px); line-height: 1.2; letter-spacing: .2em; text-align: center; font-weight: 500; margin-bottom: clamp(20px, calc(-2.86px + 2.98vw), 40px);}
	main #direction p{font-size: clamp(12px, calc(8.57px + 0.45vw), 15px); line-height: 2; letter-spacing: .07em; text-align: center;}
	main #direction ul{/*margin: 0 0 clamp(40px, calc(-42.49px + 10.75vw), 80px) 0;*/ width: 100%; padding: 0 18.75%; display: flex; flex-wrap: wrap; margin-bottom: clamp(20px, calc(-2.86px + 2.98vw), 40px);}
	main #direction ul li{width:100%;}
	main #direction ul li .box{color:#fff; display: flex; align-items: flex-start; position: relative; text-align: left; /*padding: clamp(0px, calc(-27.42px + 3.57vw), 24px) 0;*/}
	main #direction ul li .box .pic{width: calc(17.5% - 0px); margin-right: calc(3.5% - 0px); display: block; flex-shrink: 0;}
	main #direction ul li .box .txt{width:calc(79% + 0px); display: block; flex-shrink: 0;}
	main #direction ul li .box .txt .name{display: block; font-size: clamp(16px, calc(3.61px + 1.61vw), 22px); line-height: 1.2; letter-spacing: .3em; margin-bottom: clamp(0px, calc(-18.29px + 2.38vw), 16px);}
	main #direction ul li .box .txt .lead{display: block; flex-grow: 1; font-size: clamp(10px, calc(5.87px + 0.54vw), 12px); line-height: 2; letter-spacing: .05em; font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif; font-weight: 300; /*font-family: "Inter", sans-serif; font-weight: 100;*/}
	main #direction picture img{aspect-ratio: 1440/900; min-height: 700px;}

	main #a3 {background: url(../img/a3_pc_bg.webp)0 0/cover no-repeat; padding-bottom: clamp(51.2px, 6.6667vw, 96px);}
	main #a3 h2{width:30.416%; margin: 0 auto clamp(21.39px, 2.7778vw, 40px) auto; padding-top: clamp(51.2px, 6.6667vw, 96px);}
	/*main #a3 .lead{width:52.361%; margin: 0 auto clamp(21.39px, 2.7778vw, 40px) auto;}*/
	main #a3 .lead{font-size: clamp(12px, calc(5.16px + 0.89vw), 18px); letter-spacing: .3em; line-height: 2.5; position: relative; left: .15em;  margin: 0 auto clamp(21.39px, 2.7778vw, 40px) auto; text-align: center;}
	main #a3 .box{width:62.5%; margin: 0 auto; background: rgba(0,0,0,.8); padding: clamp(21.39px, 2.7778vw, 40px) clamp(21.39px, 2.7778vw, 40px) 0 clamp(21.39px, 2.7778vw, 40px);}
	main #a3 .box h3,
	main #a3 .box h3 + p{font-size: clamp(16px, 0.572rem + 0.893vw, 22px); line-height: 1.2; letter-spacing: .2em; text-align: center; font-weight: 500;}
	main #a3 .box h3 + p{padding: clamp(5px, 0.694vw, 10px) 0 clamp(21.39px, 2.7778vw, 40px) 0;}
	main #a3 .box ul{padding-top: clamp(16px, 0.429rem + 1.190vw, 24px); display: grid; grid-template-columns: repeat(5, 1fr); gap: clamp(8px, -0.071rem + 1.190vw, 16px); margin-bottom:  clamp(21.39px, 2.7778vw, 40px);}
	main #a3 .box ul li:last-child:nth-child(odd){grid-column: 1 / -1; display: flex; justify-content: center;}
	main #a3 .box ul li:last-child:nth-child(odd) img{width: 20%; margin:0 auto}
	main #a3 .box h4 span{padding:1em 2em; border:1px #808080 solid; display: inline-block; margin: 0 auto; margin-bottom:  clamp(21.39px, 2.7778vw, 40px);}
	main #a3 .box h4,
	main #a3 .box h4 + p{font-size: clamp(9px, 0.7rem + 0.3vw, 15px); line-height: 1.6; letter-spacing: .2em; text-align: center; font-weight: 500;}
	main #a3 .box h4 + p{padding: clamp(5px, 0.694vw, 10px) 0 clamp(21.39px, 2.7778vw, 40px) 0;}

}

@media screen and (max-width:1180px){
	header .logo{top: 25px;}
	header .logo img{width: auto; height: 30px;}
	header ul{right:225px;}
	header ul li{letter-spacing: 0;}
	header .buy{right:20px; width:180px;}
	header .buy a{font-size: 1.6rem; letter-spacing: 0;}
}

@media screen and (max-width:980px){
	header .logo{top: 25px;}
	header .logo img{width: auto; height: 30px;}
	header ul{right:185px;}
	header ul li{margin-left: 10px; font-size: 1.4rem;}
	header .buy{width:150px;}
	header .buy a{font-size: 1.4rem; letter-spacing: 0;}

	main #about p{line-height: 2;}
	main #story p{line-height: 2;}

	main #highlights-content #highlights1 ul.cast-list li{width: calc(100% / 6 - 10px);}

}

@media screen and (max-width:767px){
	html,body,main{overflow-x: hidden;}
	body.no-scroll{overflow: hidden;}
	._pc{display: none;}
	/*main section{margin-top: -63px; padding-top:63px;}
	main #cast-sp{margin-top: -63px; padding-top:63px;}*/
	main #ticket{margin-top: -120px; padding-top:120px;}

	header{height:63px;}
	header .inner{width: 100%; height:63px; margin: 0 auto 0 auto; overflow: hidden;}
	header .logo{position: absolute; left: 4%; top: 16.5px;}
	header .logo img{width: auto; height: 30px;}
	header .menu{position: fixed; top: 0; right: -100%; width: 300px; height: 100%; background-color: #fff; transition: right 0.3s ease; padding: 20px; box-sizing: border-box; z-index: 10; /*user-select: none;*/}
	header .menu.open{right: 0;}
	header .menuicon{position: absolute; /*position: fixed; right: 4%; */ top: 20px; right: 20px; width: 32px; cursor: pointer; z-index: 20;}
	header .menu.open .menuicon{right :4%;}
	header .menuicon span{display: block; height: 2px; width: 100%; background-color: #232323; margin: 6px 0; transition: 0.4s;}
	header .menuicon span:nth-child(2){width: 75%; position: relative; left: 25%;}
	header .menuicon.active span:nth-child(1) {transform: rotate(45deg) translate(3px, 3px);}
	header .menuicon.active span:nth-child(2) {transform: rotate(-45deg) translate(3px, -3px); width: 100%; left: 0;}
	header .menu ul{padding: 0;margin-top: 80px;}
	header .menu li{padding: 10px 0; font-size: 1.5rem; text-align: center;}
	header .buy{right:70px; top: 12px; width:160px;}
	header .buy a{font-size: 1.3rem; letter-spacing: .1em; line-height: 39px; border-radius: 20px;}
	header .language-wrapper{position: relative; right: -80px; top : 30px;}

	footer .inner{padding: 32px 0 233px 0; /*padding: 32px 0 332px 0;*/ justify-content:center; flex-wrap: wrap;}
	footer .bnr{padding-bottom: 16px; width: 100%; justify-content:center;}

	main{padding-top: 63px;}

	.bottom{display: flex; padding: 14px 16px; gap:10px; align-items: center; justify-content: center;}
	.bottom .date{display: block; width: 55%;/*width: 81.627%; width: 87%; margin: 0 auto 16px auto; text-align: center;*/}
	.bottom .date img{max-width: 350px; width: 100%; /*margin: 0 auto;*/}
	.bottom .buy{width:30%; min-width: 135px;/*width:200px; width:265px;*/ margin: 0 auto;}
	.bottom .buy a{font-size: 1.4rem;/*font-size: 1.5rem;font-size: 2.0rem;*/ letter-spacing: .1em; line-height: 43px; border-radius: 22px; /*line-height: 58px; border-radius: 29px;*/}
	.popup-bnr{bottom: 70px;/*bottom: 137px;*/ text-align: center; padding-left: 50%;}
	.popup-bnr p span{width: 20px; height: 20px; right: 12px; top: 18px;}

	.open-button{}
	.close-button{/*top: -36px; right: 0;*/ width:26px; height:26px; background: url(../img/icon_closs_w.webp) 50% 50%/26px 26px no-repeat;}
	.popup-content{/*padding: 2rem 5%; height: 86vh;*/ height: 80vh;}
	.popup-content .popup-inner{padding: 2rem 5%;}

	main #kv .news{top:96.5%; /*bottom: clamp(-50px, -7.143rem + 6.696vw, -20px)!important;*/}
	main #kv ul{padding: clamp(10px, -0.746rem + 5.455vw, 16px); width: 86.279%;}
	main #kv ul li{position: relative; flex-direction: column; font-size: clamp(10px, 0.127rem + 2.727vw, 13px); line-height: 1.6;}
	main #kv ul li .date{width: 100%; margin: 0 0 .25em 0; display: block;}
	main #kv ul li .title{width: 100%; display: block;}

	/*main #about .box{width:91.1%;/ *width:392px;* /}*/
	main #about h2{background: url(../img/message_icon.webp) 50% 0/12.79% auto no-repeat; padding: calc(12.79% + 9.308%) 0 9.308% 0; font-size: clamp(26px, calc(-2.08px + 6.51vw), 48px); /* font-size: clamp(20px, calc(-20.73px + 12.73vw), 34px);  */line-height: 1.3; letter-spacing: .3em; position: relative; left: .15em; font-weight: 500;}
	main #about p{font-size: clamp(14px, calc(8.64px + 1.48vw), 20px); /* font-size: clamp(12px, calc(-8.45px + 5.45vw), 15px); */ letter-spacing: .1em; line-height: 2.2; position: relative; left: .05em;}

	/*main #story .box{width:91.1%;/ *width:392px;* /}*/
	main #story h2{background: url(../img/story_icon.webp) 50% 0/12.79% auto no-repeat; padding: calc(12.79% + 9.308%) 0 9.308% 0; font-size: clamp(26px, calc(-2.08px + 6.51vw), 48px); /* font-size: clamp(20px, calc(-20.73px + 12.73vw), 34px);  */line-height: 1.3; letter-spacing: .3em; position: relative; left: .15em; font-weight: 500;}
	main #story p{font-size: clamp(14px, calc(8.64px + 1.48vw), 20px); /* font-size: clamp(12px, calc(-8.45px + 5.45vw), 15px); */ letter-spacing: .1em; line-height: 2.2; position: relative; left: .05em;}

	main #highlights{display: block; padding-top: 63px;}
	main #highlights nav{position: relative; /*position: sticky;*/ width: 100%; top: 0; /*top: 63px;*/ overflow-y: visible; overflow-x: hidden; margin-bottom: 0; text-align: center; /*padding: 10px 0;*/ background: url(../img/highlights_sp_nav_bg.webp) 0 0 / 100% 100% no-repeat fixed; z-index: 10;}
	main #highlights #nav{display: flex; justify-content: space-around; padding: 0 8.139%;}
	main #highlights #nav li{width: calc(100% / 3); text-align: center; flex-grow: 1; padding-bottom: clamp(12px, calc(-22.91px + 10.91vw), 24px);}

	/*強制active*/
	main #highlights #nav a .off{display: none!important;}
	main #highlights #nav a .on{display: block!important;}
	main #highlights .icon{color:#0B5b7f!important;}
	main #highlights .title{font-size: clamp(12px, calc(-30.45px + 16.36vw), 30px); display: block; text-align: center; padding: clamp(12px, calc(-22.91px + 10.91vw), 24px) 0 clamp(8px, calc(-3.64px + 3.64vw), 12px) 0; letter-spacing: .3em; position: relative; left: .15em;}
	main #highlights #nav li a{color:#fff; text-decoration: none; opacity: 1; position: relative;}

	main #highlights #nav li a .box{text-align: center; aspect-ratio: 300/100; display: flex; align-items: center; flex-direction: column; justify-content: center;}
	main #highlights #nav li a .subtitle{font-size: clamp(10px, calc(1.27px + 2.73vw), 13px); display: block; letter-spacing: .1em;}
	main #highlights #nav li a .point{font-size: clamp(10px, calc(-1.64px + 3.64vw), 14px); display: block; letter-spacing: .3em;}
	main #highlights #nav li a .point span{font-size: clamp(18px, calc(-11.09px + 9.09vw), 28px); margin-left: .3em;}

	main #highlights h2{padding: calc(12.79% + 9.308%) 0 9.308% 0; font-size: clamp(26px, calc(-2.08px + 6.51vw), 48px); /* font-size: clamp(20px, calc(-20.73px + 12.73vw), 34px);  */line-height: 1.6; letter-spacing: .2em; position: relative; left: .15em; font-weight: 500;}
	main #highlights p{font-size: clamp(15px, calc(8.64px + 1.48vw), 20px); /* font-size: clamp(12px, calc(-8.45px + 5.45vw), 15px); */ letter-spacing: 0; line-height: 2.2; position: relative; left: .05em; margin-bottom: 9.308%;}
	main #highlights #highlights1 h2{background: url(../img/highlights_point1_icon.webp) 50% 0/12.79% auto no-repeat;}
	main #highlights #highlights2 h2{background: url(../img/highlights_point2_icon.webp) 50% 0/12.79% auto no-repeat;}
	main #highlights #highlights3 h2{background: url(../img/highlights_point3_icon.webp) 50% 0/12.79% auto no-repeat;}
	main #highlights #highlights1 picture img{aspect-ratio: 420/2402; max-height: 3000px; min-width: 100%;}
	html:lang(en) main #highlights #highlights1 picture img{max-height: 3600px;}

	@media screen and (max-width:480px){
		main #highlights #highlights1 picture img{min-height: 2600px;}
		html:lang(en) main #highlights #highlights1 picture img{min-height: 3600px;}
		main #highlights #highlights3 picture img{min-height: 600px;}
		main #highlights #highlights3 .pic img{min-height: inherit;}
	}

	main #highlights-content{text-align: center; color: #fff;}
	main #highlights-content #highlights1 ul{width: 88.8%; margin: 0 auto;}
	main #highlights-content #highlights1 ul li{margin-right: 0; width: 100%; margin-bottom: clamp(0px, calc(0px + 9.30vw), 40px);}
	main #highlights-content #highlights1 ul li .box{color:#fff; display: flex; align-items: flex-start; position: relative; text-align: left;}
	main #highlights-content #highlights1 ul li .box .pic{width: 35%; display: block; flex-shrink: 0; margin-right: 7%;}
	main #highlights-content #highlights1 ul li .box .txt{width: 58%; display: block; flex-shrink: 0;}
	main #highlights-content #highlights1 ul li:last-child{border-top: 1px solid #32464d; border-bottom: 1px solid #32464d; padding: clamp(0px, calc(0px + 9.30vw), 40px) 0;}
	main #highlights-content #highlights1 ul li .box .txt .name{display: block; font-size: clamp(22px, calc(14.35px + 1.78vw), 32px); /*font-size: clamp(16px, calc(16px + 2.33vw), 26px);*/ line-height: 1.2; letter-spacing: .05em; margin-bottom: clamp(0px, calc(0px + 3.72vw), 16px);}
	main #highlights-content #highlights1 ul li .box .txt .lead{display: block; flex-grow: 1; font-size: clamp(10px, calc(4.92px + 1.18vw), 14px); /*font-size: clamp(8px, calc(8px + 0.47vw), 10px);*/ line-height: 1.8; letter-spacing: .05em;}

	main #highlights-content #highlights1 ul.cast-list{display: flex; flex-wrap: wrap; justify-content: center; padding: 0 clamp(32px, calc(-18.42px + 7.23vw), 64px); margin: 0 auto; width: 100%; gap:10px;}
	main #highlights-content #highlights1 ul.cast-list li{width: calc(100% / 8 - 10px); text-align: center; margin: 0; padding: 0; color:#fff; font-size: 10px;  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif; font-weight: 300; border: none!important;}
	@media screen and (max-width:640px){
		main #highlights-content #highlights1 ul.cast-list{gap:7px;}
		main #highlights-content #highlights1 ul.cast-list li{width: calc(100% / 4 - 7px);}
	}

	main .event{background: url(../img/event_sp_bg.webp)0 0/cover no-repeat; padding: clamp(47.63px, 14.8837vw, 64px) 0;}
	main .event h2{background: url(../img/event_icon.webp) 50% 0/12.79% auto no-repeat; padding: calc(12.79% + 9.308%) 0 9.308% 0; font-size: clamp(26px, calc(-2.08px + 6.51vw), 48px); /* font-size: clamp(20px, calc(-20.73px + 12.73vw), 34px);  */line-height: 1.3; letter-spacing: .3em; position: relative; left: .15em; font-weight: 500; text-align: center;}
	main .event #ticket h2{background: none; padding: calc(12.79% + 0%) 0 9.308% 0;}
	/*main .event h2{width:38.837%; margin: 0 auto;}*/
	main .event article{padding-bottom: clamp(16px, -10.036rem + 36.364vw, 56px);}
	main .event .box{width:88.8%; margin: 0 auto; background: rgba(0,0,0,.8); padding: clamp(23.81px, 7.4419vw, 32px) clamp(11.905px, 3.72095vw, 16px) 0 clamp(11.905px, 3.72095vw, 16px);}
	main .event .box h3{font-size: clamp(16px, -0.091rem + 5.455vw, 22px); line-height: 1.2; letter-spacing: .2em; font-weight: 500; padding-bottom: clamp(16px, -0.727rem + 7.273vw, 24px);}
	/*main .event .box h3 + p{padding: clamp(8px, 0.136rem + 1.818vw, 10px) 0 clamp(16px, -3.364rem + 21.818vw, 40px) 0;}*/
	main .event .box p{font-size: clamp(12px, 0.327rem + 2.727vw, 15px); line-height: 2; letter-spacing: .1em; font-weight: 500;}
	main .event .box p.note{font-size: clamp(10px, 0.127rem + 2.727vw, 13px);}
	main .event .box ul.note{font-size: clamp(10px, 0.127rem + 2.727vw, 13px); padding-top: clamp(16px, -0.727rem + 7.273vw, 24px);}
	main .event .box ul.note li{padding-bottom: clamp(10px, -0.746rem + 5.455vw, 16px); text-indent: -1em; padding-left: 1em;}
	/*main .event .date img{width: 85.714%;}*/
	main .event .date{font-size: clamp(22px, calc(13.83px + 2.37vw), 32px)!important; line-height: 1!important;}
	main .event .date em{font-style: normal; font-size:50%;}
	main .event .scr img{width: 95.428%;}
	main .event .map{padding: clamp(10px, -0.746rem + 5.455vw, 16px) 0 clamp(16px, -0.727rem + 7.273vw, 24px) 0;}
	main .event .map img{width: 52.095%;}
	main .event .img{width:79.5%; padding-top: clamp(16px, -2.473rem + 12.727vw, 30px);}
	main .event .line{font-size: clamp(12px, 0.327rem + 2.727vw, 15px)!important; text-decoration: underline;}
	main .event .line + p.note{padding-bottom: clamp(16px, -0.727rem + 7.273vw, 24px);}
	main .event p.note + ul.note{padding-top: 0;}
	main .event .tiget{display: flex; gap:clamp(10px, -0.746rem + 5.455vw, 16px); justify-content: center; align-items: center; white-space: nowrap; padding: clamp(10px, -0.746rem + 5.455vw, 16px) 0 clamp(16px, -0.727rem + 7.273vw, 24px) 0;}
	main .event .tiget img{width: 100%; max-width: 210px;}
	/*main .event .link{padding-top: clamp(13px, 0.752rem + 0.714vw, 16px);}
	main .event .link li{padding-bottom: clamp(10px, -0.746rem + 5.455vw, 16px);}
	main .event .link li:nth-child(1){width: 100%; max-width: 210px;}
	main .event .link li:nth-child(2){width: 100%; max-width: 210px;}
	main .event .link li:nth-child(3){width: 100%; max-width: 240px; padding: 0;}*/

	main .event .link{display: block; background: #fff; margin-top: clamp(13px, -0.711rem + 2.619vw, 24px); padding: clamp(13px, -0.711rem + 2.619vw, 24px);}
	main .event .link li{text-align: center; margin-bottom: clamp(13px, -0.711rem + 2.619vw, 24px);}
	main .event .link li:nth-child(1) img{width: 100%; max-width: 210px; margin: 0 auto;}
	main .event .link li:nth-child(2) img{width: 100%; max-width: 210px; margin: 0 auto;}
	main .event .link li:nth-child(3) img{width: 100%; max-width: 240px; margin: 0 auto;}
	main .event .link li ul{display: flex; justify-content: center; gap: clamp(13px, -0.711rem + 2.619vw, 24px); flex-wrap: wrap;}
	main .event .link li ul li{margin: 0;}
	main .event .link li ul li a{font-size: 1.4rem; letter-spacing: .1em; line-height: 43px; border-radius: 22px; padding: 0 clamp(13px, -0.711rem + 2.619vw, 24px);}

	/*main #direction .box{width:100%;/ *width:430px;* /}*/
	main #direction .inner{padding-top: 0;}
	main #direction h2{font-size: clamp(16px, calc(11.52px + 2.21vw), 25px); /*font-size: clamp(16px, -0.091rem + 5.455vw, 22px);*/ line-height: 1.6; letter-spacing: .09em; text-align: center; font-weight: 500; text-align: left; padding: 0 5.6%; margin-bottom: clamp(40px, calc(14.56px + 5.92vw), 60px);}
	main #direction ul{width: 100%; margin: 0; padding: 0 5.6%;}
	main #direction ul li{margin-right: 0; width: 100%; margin-bottom: clamp(0px, calc(0px + 9.30vw), 40px);}
	main #direction ul li .box{color:#fff; display: flex; align-items: flex-start; position: relative; text-align: left;}
	main #direction ul li .box .pic{width: 35%; display: block; flex-shrink: 0; margin-right: 7%;}
	main #direction ul li .box .txt{width: 58%; display: block; flex-shrink: 0;}
	main #direction ul li .box .txt .name{display: block; font-size: clamp(22px, calc(14.35px + 1.78vw), 32px); /*font-size: clamp(16px, calc(16px + 2.33vw), 26px);*/ line-height: 1.2; letter-spacing: .05em; margin-bottom: clamp(0px, calc(0px + 3.72vw), 16px);}
	main #direction ul li .box .txt .lead{display: block; flex-grow: 1; font-size: clamp(10px, calc(4.92px + 1.18vw), 14px); /*font-size: clamp(8px, calc(8px + 0.47vw), 10px);*/ line-height: 1.8; letter-spacing: .05em;  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif; font-weight: 300; /*font-family: "Inter", sans-serif; font-weight: 100;*/}
	main #direction ul + h2{text-align: center;}
	main #direction p{font-size: clamp(14px, calc(8.64px + 1.48vw), 20px); text-align: center; line-height: 2; letter-spacing: .07em;}
	main #direction picture img{aspect-ratio: 430/1232; min-height: 1232px; max-height: 1532px; width: 100%; height: auto;}
	html:lang(en) main #direction picture img{min-height: 1600px; max-height: 1600px;}
	@media screen and (max-width:375px){
		main #direction h2{font-size: 19px;}
	}

	main #a3{background: url(../img/a3_sp_bg.webp)0 0/cover no-repeat; padding-bottom: clamp(47.63px, 14.8837vw, 64px);}
	main #a3 h2{width:67.906%; margin: 0 auto clamp(29.77px, 9.3023vw, 40px) auto;/*margin: 0 auto clamp(23.81px, 7.4419vw, 32px) auto;*/ padding-top: clamp(47.63px, 14.8837vw, 64px);}
	/*main #a3 .lead{width:86.744%; margin: 0 auto clamp(29.77px, 9.3023vw, 40px) auto;}*/
	main #a3 .lead{font-size: clamp(15px, calc(8.64px + 1.48vw), 20px); /* font-size: clamp(12px, calc(-8.45px + 5.45vw), 15px); */ letter-spacing: .1em; line-height: 2.2; position: relative; left: .05em;  margin: 0 auto clamp(29.77px, 9.3023vw, 40px) auto; text-align: center;}
	main #a3 .box{width:88.8%; margin: 0 auto; background: rgba(0,0,0,.8); padding: clamp(23.81px, 7.4419vw, 32px) clamp(11.905px, 3.72095vw, 16px) 0 clamp(11.905px, 3.72095vw, 16px);}
	main #a3 .box h3,
	main #a3 .box h3 + p{font-size: clamp(16px, -0.091rem + 5.455vw, 22px); line-height: 1.2; letter-spacing: .2em; text-align: center; font-weight: 500;}
	main #a3 .box h3 + p{padding: clamp(8px, 0.136rem + 1.818vw, 10px) 0 clamp(16px, -3.364rem + 21.818vw, 40px) 0;}
	main #a3 .box ul{padding-top: clamp(16px, -0.455rem + 7.273vw, 24px); display: grid; grid-template-columns: repeat(2, 1fr); gap: clamp(8px, 0.143rem + 1.786vw, 16px); margin-bottom: clamp(16px, -3.364rem + 21.818vw, 40px);/*clamp(16px, -0.455rem + 7.273vw, 24px)*/}
	main #a3 .box ul li:last-child:nth-child(odd) {grid-column: 1 / -1; display: flex; justify-content: center;}
	main #a3 .box ul li:last-child:nth-child(odd) a{width: calc(50% - (clamp(8px, 0.143rem + 1.786vw, 16px) / 2)); text-align: center; display: block;}
	main #a3 .box h4 span{padding:1em 2em; border:1px #808080 solid; display: inline-block; margin: 0 auto; margin-bottom:  clamp(16px, -3.364rem + 21.818vw, 40px);}
	main #a3 .box h4,
	main #a3 .box h4 + p{font-size: clamp(12px, 0.205rem + 2.727vw, 15px); text-align: center; line-height: 1.6; letter-spacing: .2em; font-weight: 500;}
	main #a3 .box h4 + p{padding: clamp(5px, 0.694vw, 10px) 0 clamp(16px, -3.364rem + 21.818vw, 40px) 0;}

}