@charset "utf-8";
/* CSS Document */
img{
	width:100%;
	line-height:0;
}
h1{
	display:none;
}
ul{
	margin:0;
}
.ln{
	line-height:0;
}

body{
	font-size:14px;
	color:#484848;
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight:900;
	line-height:1.72;
	letter-spacing:-0.01em;
}
main{
	padding-top:32px;
}
p{
	margin:0;
}
h1,h2,h3,h4,h5{
	margin:0;
	line-height:0;
}
button,a{
	cursor:pointer;
}
.link_inline{
	display:inline;
}
@media screen and (max-width: 767px){
  .sp-only{
	display:none;
}
}

@media screen and (max-width: 767px){
   body{
	font-size:3.73vw;
    }
}
/*ボタン*/
.btn_arrow{
	width:287px;
	height:52px;
	border:3px solid #00659B;
	border-radius:9999px;
	display:flex;
	justify-content: center;
	align-items:center;
	margin:0 auto;
	font-size:16px;
	font-weight:bold;
	text-decoration:none;
	position:relative;
	box-sizing: border-box;
	font-family: "Zen Maru Gothic", sans-serif;
}
.btn_more{
	width:150px;
	height:32px;
	border:3px solid #00659B;
	border-radius:9999px;
	display:flex;
	justify-content: center;
	align-items:center;
	margin:0 auto;
	font-size:16px;
	font-weight:bold;
	text-decoration:none;
	position:relative;
	box-sizing: border-box;
}
.btn_arrow:hover{
	background-color:#00659B!important;
	color:#fff;
}
.btn_arrow:hover::after{
	background-image: url("../img/arrow_white.png")!important;
}
.btn_arrow::after {
    content: '';
    width: 10.02px;
    height: 18.77px;
    display: block;
    position: absolute;
    right: 15px;
    background-size: cover;
    top: 50%;
    transform: translateY(-50%);
}
.btn_more.btn_green{
	background-color:#9CCB1D;
	color:#fff;
}
.btn_more.btn_blue{
	background-color:#8EB4F8;
	color:#fff;
}
.btn_more.btn_orange{
	background-color:#FFA388;
	color:#fff;
}
.btn_more.btn_pnk{
	background-color:#EA8AEF;
	color:#fff;
}
.btn_more.btn_lightblue{
	background-color:#96DBEA;
	color:#00659B;
}
.btn_more.btn_yellow{
	background-color:#F8CD71;
	color:#00659B;
}
.btn_more::after {
    content: '';
    width: 10.02px;
    height: 18.77px;
    display: block;
    position: absolute;
    right: 15px;
    background-size: cover;
    top: 50%;
    transform: translateY(-50%);
}
.btn_more:hover{
	background-color:#00659B!important;
	color:#fff;
}
.btn_more:hover::after{
	background-image: url("../img/arrow_white.png")!important;
}
@media screen and (max-width: 767px){
   .btn_arrow::after,
   .btn_more::after{
    width:calc(100vw * 10.02/375);
	height:calc(100vw * 18.77/375);
    right:calc(100vw * 15/375);
}
}
@media screen and (max-width: 767px){
   .btn_arrow{
	font-size:calc(3.73vw * 16/14);
	width:calc(100vw * 287/375);
	height:calc(100vw * 52/375);
    }
	.btn_more{
	font-size:calc(3.73vw * 16/14);
	width:calc(100vw * 150/375);
	height:calc(100vw * 32/375);
    }
}
.btn_arrow.btn_pnk{
	background-color:#F25DAA;
	color:#fff;
}

.btn_arrow.btn_pnk::after{
	background-image: url("../img/arrow_blue.png");
}
.btn_more::after{
	background-image: url("../img/arrow_blue.png");
}
.btn_ja{
	width:240px;
	height:56px;
	border:3px solid #00659B;
	border-radius:9999px;
	font-family: "Zen Maru Gothic", sans-serif;
	font-size:1.1em;
	display:flex;
	justify-content: center;
	align-items:center;
	margin:0 auto;
	text-decoration:none;
	position:relative;
	box-sizing: border-box;
	font-weight:800;
}
.btn_ja.btn_lightblue{
	background-color:#DBF1F7;
	color:#016481;
}
.btn_ja.btn_lightpurple{
	background-color:#F1C9F4;
	color:#016481;
}
.btn_ja.btn_yellow{
	background-color:#FDF5B4;
	color:#016481;
}
.btn_ja:hover{
	background-color:#00659B!important;
	color:#fff!important;
}
.btn_ja.btn_yellow{
	background-color:#FDF5B4;
	color:#016481;
}
.btn_ja.btn_pink{
	background-color:#F25DAA;
	color:#fff;
}
button:disabled {
  filter: grayscale(0.9);
	opacity:0.7;
}
.btn_apply:disabled {
  filter: grayscale(1);
  opacity:0.92;
}
/*/ボタン*/
/*フォント*/
.font_12{
	font-size:12px;	
}
@media screen and (max-width: 767px){
   .font_12{
	font-size:calc(3.73vw * 12/14);
    }
}
.fw_normal{
	font-weight:600;
}
/*フォント*/
/*コンテナー*/
.container {
    max-width: 376px;
    margin-left: calc(50% + 3.0208%);
    position: relative;
    box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.49);
    overflow: hidden;
	z-index:3;
}
.stage_wrap {
    margin-right: 12px;
    margin-left: 12px;
	line-height:0;
}
@media screen and (max-width: 1264px) and (min-width: 769px) {
    .container {
        margin-left:50%;
    }
}
	@media screen and (max-width: 768px) {
    .container {
        max-width: inherit;
        margin-left: 0;
		}
}
.content_inner{
	position:relative;
}
.content_txt{
	width:100%;
	height:100%;
	position:absolute;
	top:0;
	left:0;
	right:0;
	bottom:0;
	z-index:2;
	padding-right:20px;
	padding-left:20px;
	padding-top: 114px;
	box-sizing: border-box;
	display:flex;
	flex-direction: column;
	padding-bottom:2em;
}
.content_txt p {
    margin-right: 15px;
    margin-left: 15px;
}
@media screen and (max-width: 767px){
  .content_txt{
	padding-right:calc(100vw * 20/375);
	padding-left:calc(100vw * 20/375);
	padding-top: calc(100vw * 108/375);
}
.content_txt p{
	margin-right:calc(100vw * 10/375);
	margin-left:calc(100vw * 10/375);
}
}
/*コンテナー*/
/*マージン*/
.mgt_22{
	margin-top:22px;
}
.mgb_22{
	margin-bottom:22px;
}
.mgt_45{
	margin-top:22px;
}
.mgb_12{
	margin-bottom:12px;
}
.mgt_12{
	margin-top:12px;
}
.mgt_20{
	margin-top:20px;
}
.mgb_26{
	margin-bottom:26px;
}
.mgt_26{
	margin-top:26px;
}
.mgt_31{
	margin-top:31px;
}
.mgt_60{
	margin-top:60px;
}
@media screen and (max-width: 767px){
  .mgt_22{
	margin-top:calc(100% * 22/375);
}
	
	.mgt_45{
	margin-top:calc(100% * 45/375);
}
	.mgb_12{
	margin-bottom:calc(100% * 12/375);
}
.mgt_12{
	margin-top:calc(100% * 12/375);
}
.mgt_20{
	margin-top:calc(100% * 20/375);
}
	.mgb_22{
	margin-bottom:calc(100% * 22/375);
}
.mgb_26{
	margin-bottom:calc(100% * 26/375);
}
.mgt_26{
	margin-top:calc(100% * 26/375);
}
	.mgt_31{
	margin-top:calc(100% * 31/375);
}
	.mgt_60{
	margin-top:calc(100% * 60/375);
}
}
/*アニメーション*/
@keyframes popup {
0% {
transform: translateY(40px) scale(0.8);
opacity: 0;
}
100% {
transform: translateY(0) scale(1.0);
opacity: 1;
}
80%, 100% {
opacity: 1;
}
}
@keyframes zoomIn {
  0% {
    transform: scale(0.8);
    opacity: 0;
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}
.title img{
  animation: bounceUp 0.92s 0.6s cubic-bezier(0.25, 1, 0.5, 1) both;
}
	.lights{
		position:relative;
		z-index:2;
		width:100%;
		height:100%;
	}
	.lights>div{
		position:absolute;z-index:2;
	}
	.lights>div>div{
		position:relative;
		width:100%;
		height:100%;
	}
	.lights>div>div>div{
		position:absolute;
	}
	.lights_1_wrap{
    width:320px;
	height:320px;
    background-color:transparent;
    display:block;
	animation: rotateBig 0.8s cubic-bezier(0.25, 1, 0.5, 1) forwards;
	top:0;
	left:0;
	}
	.lights_2_wrap{
    width:320px;
	height:320px;
    background-color:transparent;
    display:block;
	bottom:0;
	right:0;
	animation: rotateBig 0.8s cubic-bezier(0.25, 1, 0.5, 1) backwards;
		animation-delay:0.15s;
	}
	.lights_3_wrap{
   width:100%;
   height:100%;
   animation: rotateBig_2 0.8s cubic-bezier(0.25, 1, 0.5, 1) both;
   animation-delay:0.2s;
	}
@keyframes bounce {
  0% {
    transform: translateY(0) scale(1); /* 通常の位置とサイズ */
  }
  30% {
    transform: translateY(0) scale(1.1); /* 少し上にジャンプして大きくなる */
  }
  50% {
    transform: translateY(0) scale(0.9); /* 元の位置に戻りつつ縮む */
  }
  70% {
    transform: translateY(0) scale(1.1); /* 小さくジャンプして大きくなる */
  }
  100% {
    transform: translateY(0) scale(1); /* 元のサイズと位置に戻る */
  }
}
@keyframes rotateAnimation {
  0%{
    transform: rotate(270deg) scale(1);
  }
   50%{
    transform: rotate(135deg) scale(2);
  }
  100%{
    transform: rotate(0deg) scale(1);
  }

}
@keyframes rotateAnimation_2 {
  0%{
    transform: rotate(270deg) scale(1);
  }
   50%{
    transform: rotate(135deg) scale(2.4);
  }
  100%{
    transform: rotate(0deg) scale(1);
  }

}
@keyframes rotateBig {
  from {
    transform: rotate(90deg);
  }
  to {
    transform: rotate(0);
  }
}
@keyframes rotateBig_2 {
  from {
    transform: rotate(30deg);
  }
  to {
    transform: rotate(0);
  }
}	
@keyframes blink-simple {
  0%, 100% { opacity: 1; }
  50% { opacity: 0; }
}
	@keyframes scale-blink {
  0%, 100% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.2); opacity: 0.5; }
}
 @keyframes bounceIn {
  0% {
    transform: scale(0) translateY(200px); /* 下から */
    opacity: 0;
  }
  50% {
    transform: scale(1) translateY(0);
    opacity: 1;
  }
  70% {
    transform: scale(0.92) translateY(4px); /* 少し沈む */
  }
  85% {
    transform: scale(1.05) translateY(-2px); /* ちょい跳ね */
  }
  100% {
    transform: scale(1) translateY(0);
    opacity: 1;
  }
}
@keyframes bounceUp {
  0% {
    transform: translateY(80px) scale(0.8);
    opacity: 0;
  }

  /* 一気に落ちてくる */
  30% {
    transform: translateY(0) scale(1);
    opacity: 1;
  }

  /* 1回目バウンド（高め） */
  45% {
    transform: translateY(-16px) scaleX(0.8) scaleY(1.08);
  }

  /* 1回目着地（少しタメ） */
  58% {
    transform: translateY(0) scaleX(1.06) scaleY(0.92);
  }

  /* 2回目バウンド（しっかり低く） */
  70% {
    transform: translateY(-7px) scaleX(0.84) scaleY(1.07);
  }

  /* 2回目着地 */
  82% {
    transform: translateY(0) scaleX(1.03) scaleY(0.95);
  }
  100% {
    transform: translateY(0) scale(1);
  }
}
@keyframes rotateBig_2 {
  from {
    transform: rotate(30deg);
  }
  to {
    transform: rotate(0);
  }
}	
@keyframes pyon{
  0%{
   transform:translateY(0);
  }
   50%{
   transform:translateY(-16px);
  }
  100%{
   transform:translateY(0);
  }
}
@keyframes wave-right{
  0%{
   transform:rotate(0);
  }
   50%{
   transform:rotate(10deg);
  }
  100%{
   transform:translateY(0);
  }
}
@keyframes wave-left{
  0%{
   transform:rotate(0);
  }
   50%{
   transform:rotate(-10deg);
  }
  100%{
   transform:translateY(0);
  }
}
@keyframes pyon_2{
  0%{
   transform:translateY(0);
  }
   50%{
   transform:translateY(-22px);
  }
  100%{
   transform:translateY(0);
  }
}
@keyframes side_shake{
  0% {transform: translate(0px, 0);}
  33%{transform: translate(12px, 0);}
  66%{transform: translate(-6px, 0);}
  100% {transform: translate(0px, 0);}
}
.pyon{
	animation:pyon 0.5s cubic-bezier(0.3, 0.8, 0.3, 2.3) both;
}
.pyon_2{
	animation:pyon 0.8s cubic-bezier(0.3, 0.8, 0.3, 2.3) both;
}
.wave-right{
	animation:wave-right 0.5s cubic-bezier(0.3, 0.8, 0.3, 2.3) both;
	transform-origin:60% 50%;
}
.wave-left{
	animation:wave-left 0.5s cubic-bezier(0.3, 0.8, 0.3, 2.3) both;
	transform-origin:bottom;
}
.side_shake{
	animation:side_shake 1.6s both;
}
.pyon_2.kikilala{
	animation-delay:1s;
}
.hang.pyon{
	animation-delay:1.1s;
}
.mymelo.pyon{
	animation-iteration-count:2;
	animation-delay:1.3s;
}
.pec.wave-right{
	animation-delay:1.1s;
}
.pulin.wave-left{
	animation-delay:1.3s;
}
.kuromi.pyon{
	animation-iteration-count:2;
	animation-delay:1.1s;
}
.side_shake.kitty{
	animation-delay:0.5s;
}
.side_shake.sam{
	animation-delay:0.5s;
}
.side_shake.synamon{
	animation-delay:0.8s;
}
.pocha.pyon{
	animation-delay:1.4s;
	animation-timing-function: cubic-bezier(0.3, 0.8, 0.3, 2.3);
}
.hang.pyon{
	animation-duration:0.28s;
	}

/*アニメーション*/
.pc-bg {
    width: 100%;
    height:100vh;
    position: fixed;
    top: 0;
    left: 0;
    background-color: #D5EAE3;
    background-image: url("../img/bg.jpg");
    background-size: cover;
    background-position: top -100px center;
    background-repeat: no-repeat;
}
.pc-bg .pc-bg-block-wrap {
    width: 100%;
    height: 100vh;
    position: relative;
    displahy: flex;
    display: flex;
    align-items: center;
}
.pc-bg .pc-bg-block-wrap .pc-bg-block {
    width:calc(50% + 3.0208%);
    position: absolute;
}

@media screen and (max-width: 768px) {
    .pc-bg .pc-bg-block-wrap .pc-bg-block {
        display:none;
    }
}
.pc-bg .pc-bg-block-wrap .pc-bg-block .kv {
    max-width: 500px;
	aspect-ratio:0.7040498/1;
    margin: 0 40px auto auto;
    position: relative;
	display:flex;
	flex-direction: column;
	max-height:80vh;
	margin-left:auto;
}
main{display:block;}
body{margin:0;}
.container_inner{
	margin-right:calc(100% * 20/375);
	margin-left:calc(100% * 20/375);
}
.container_inner_2{
	margin-right:calc(100% * 30/375);
	margin-left:calc(100% * 30/375);
}
.container_inner_3{
	margin-right:calc(100% * 25/375);
	margin-left:calc(100% * 25/375);
}
/*キービジュアル*/
.kv_frame{
	width:100%;
	height:100%;
}
/*ネオン*/
.neon-box {
    position: relative;
	z-index:100;
    border-radius: 12px;
    box-shadow: 0 0 7px #1DBDE5, 0 0 8px #08839A, 0 0 3px #BEF0FF;
    border: 2px solid #D2F0F7;
    box-sizing: border-box;
}
.neon-box::before {
  content: "";
  position: absolute;
	inset:0;
  border-radius: 8px;
  pointer-events: none;
  box-shadow:
    inset 0 0 3px #1DBDE5,
    inset 0 0 7px #1DBDE5,
    inset 0 0 7px #1DBDE5,
    inset 0 0 7px #1DBDE5;
}
.kv_inner{
	position:absolute;
	width:100%;
	height:100%;
	top:0;
	left:0;
	right:0;
	bottom:0;
	z-index:1;
	overflow:hidden;
	border-radius:14px;
}
@media screen and (max-width: 768px) {
  .kv_inner{
	border-radius:0px;
} 
}
.kv_inner .kv_bgs{
	position:relative;
	width:100%;
	height:100%;
}
.kv_inner .kv_bgs .kv_bg_1,
.kv_inner .kv_bgs .kv_bg_2,
.kv_inner .kv_bgs .kv_bg_3,
.kv_inner .kv_bgs .kv_bg,
.kv_inner .kv_bgs .kv_charas{
position:absolute;
}
.kv_inner .kv_bgs .kv_charas{
	width:100%;
	height:100%;
	z-index:7;
}
.kv_inner .kv_bgs .kv_charas_inner{
	width:100%;
	height:100%;
	position:relative;
}
.kv_inner .kv_bgs .kv_charas_inner>div{
	position:absolute;
	top:0;
	left:0;
	right:0;
	bottom:0;
}
@media screen and (max-width: 1264px) and (min-width: 769px) {
        .pc-bg .pc-bg-block-wrap .pc-bg-block {
        width: clamp(18.375rem, 3.8106060606rem + 30.303030303vw, 27.75rem);
        margin-right: inherit;
        right: calc(50% + 40px);
	}
	.pc-bg .pc-bg-block-wrap .pc-bg-block .kv {
		margin:0;
	}
}
.kv_before{
	width:500px;
	margin: -8px 40px -8px auto;
}
@media screen and (max-width: 1264px) and (min-width: 769px) {
   .kv_before{
        width: 100%;
    }
}
.kv_bg_1{
	width:100%;
	height:100%;
}
.kv_bg_2 {
    animation:bounce 1 1s both;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}
.kv_bg_2 img{
    width: 108.3444%; 
}
.kv_bg_3{
	animation: blink-simple 2 0.5s step-start;
	animation-delay:1.15s;
}
.kv_bg_1_inner{
	position:relative;
	width:100%;
	height:100%;
}
.kv_bg_1_inner>div{
	position:absolute;
	right:0;
	bottom:0;
}
.container main .kv {
    max-width: 100%;
    aspect-ratio: 0.711999999 / 1;
    margin: 0;
    position: relative;
    display: flex;
    flex-direction: column;
}
/*sp-pnly*/
.sp-only{
	display: none!important;
}
@media screen and (max-width: 768px) {
    .sp-only{
        display:block!important;
    }
}
/*ハンバーガーメニュー*/
/*=============================
.btn-trigger
=============================*/
.btn-trigger {
    position: relative;
    width: 21px;
    height: 17px;
    cursor: pointer;
    margin-right: 15px;
	z-index:2;
}
.btn-trigger span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 4px;
  background-color: #fff;
  border:1px solid #ED449B;
  box-shadow: 0 0 7px #FF93CB, 0 0 7px #ED449B, 0 0 3px #FFA7DE;
  border-radius: 4px;
}
.btn-trigger, .btn-trigger span {
  display: inline-block;
  box-sizing: border-box;
}
.btn-trigger span:nth-of-type(1) {
  top: 0;
}
.btn-trigger span:nth-of-type(2) {
  top: 6.5px;
}
.btn-trigger span:nth-of-type(3) {
  bottom: 0;
}
.btn-kids {
    position: relative;
    width: 21px;
    height: 17px;
    cursor: pointer;
    margin-right: 10px;
    margin-top: 10px;
	z-index:2;
}
.btn-kids span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 4px;
  background-color: #fff;
  border:1px solid #ED449B;
  box-shadow: 0 0 7px #FF93CB, 0 0 7px #ED449B, 0 0 3px #FFA7DE;
  border-radius: 4px;
}
.btn-kids, .btn-kids span {
  display: inline-block;
  box-sizing: border-box;
}
#btn02 span {
    background-color: #ED449B;
    box-shadow: none;
    height: 2px;
	display:block;
}
#btn02 span:nth-of-type(1) {
    -webkit-transform: translateY(6.5px) rotate(-45deg);
    transform: translateY(6.5px) rotate(-45deg);
}
#btn02 span:nth-of-type(2) {
   display:none;
}
#btn02 span:nth-of-type(3) {
    -webkit-transform: translateY(-8.5px) rotate(45deg);
    transform: translateY(-8.5px) rotate(45deg);
}
header{
	z-index:8000;
    position:fixed;
	width:377px;
	margin-left: calc(50% + 3.0208%);
}
.header{
	display: flex;
    justify-content: flex-end;
	height:52px;
	align-items:center;
	position:relative;
	z-index:1000;
	overflow-x:hidden;
}
@media screen and (max-width: 1264px) and (min-width: 769px) {
    header{
        margin-left: 50%;
    }
}
@media screen and (max-width: 768px) {
     header{
        width:100%;
        margin-left: 0;
		
    }
	.header{
		transform: translateY(-200%);
        transition: transform 0.2s ease;
}
	/* 表示状態 */
.is-show .header {
  transform: translateY(0);
}
	main{
		padding-top:0;
	}
}
@media (min-width: 769px) {
  #header {
    transform: translateY(0);
  }
}
/*=============================
#btn01
=============================*/
#btn01.active span{
  background-color:#ED449B;
  box-shadow: none;
  height:2px;
}
#btn01.active span:nth-of-type(1) {
  -webkit-transform: translateY(6.5px) rotate(-45deg);
  transform: translateY(6.5px) rotate(-45deg);
}
#btn01.active span:nth-of-type(2) {
  opacity: 0;
}
#btn01.active span:nth-of-type(3) {
  -webkit-transform: translateY(-8.5px) rotate(45deg);
  transform: translateY(-8.5px) rotate(45deg);
}
/* メニュー */
  nav {
    background: #444;
    overflow: hidden;
    max-height: 0; /* 初期は非表示 */
    transition: max-height 0.4s ease;
  }
  nav ul {
    list-style: none;
    margin: 0;
    padding: 0;
  }
  nav li {
    border-bottom: 1px solid #555;
  }
  #menu {
  position: fixed;
  top: 0;
  left: 0;
  width: 377px;
  height:100%;
  margin-left: calc(50% + 3.0208%);
  transform: translateY(-100%);
  transition: transform 0.3s ease;
  background:#FDE3E6;
  z-index:1;
  display:flex;
  flex-direction:column;
  overflow-y:auto;
}
@media screen and (max-width: 1264px) and (min-width: 769px) {
    #menu{
        margin-left: 50%;
    }
}
@media screen and (max-width: 768px) {
     #menu{
        max-width: inherit;
        margin-left: 0;
		 width:100%;
    }
}
/* 表示状態 */
  #menu.show {
  transform: translateY(0);
}
  /* PC表示用 */
    .hamburger { display: none;}
    nav {
      max-height: none;
    }
    nav li {
      border: none;
    }
.nav_flex{
	display:flex;
}
.link_op{
	display:block;
	line-height:0;
}
.link_op img{
	display:block;
}
.link_op:hover{
	opacity:0.5;
}
.nav_main_flex{
	display:flex;
	flex-flow:row wrap;
	margin-right:40px;
	margin-left:40px;
}
.nav_main_flex>div{
	width:50%;
}

.menu_inner>div{
	line-height:0;
}
.zoom{
	line-height:0;
	position:relative;
}
.zoom_btn{
	width:32px;
	height:32px;
	position:absolute;
	bottom:-8px;
	right:-8px;
	cursor:pointer;
}
.zoom_btn:hover{
	opacity:0.7;
}
/*モーダル*/
/*=========================================
#modal
=========================================*/
.modal {
    visibility: hidden;
    opacity: 0;
    position: fixed;
    top: 0;
    left: 0;
    z-index:9000;
    width: 100%;
    height: 100vh;
    transition: opacity .3s, visibility .3s;
}

.modal.is-active {
    visibility: visible;
    opacity: 1;
}

/* オーバーレイ */
.modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, .6);
    cursor: pointer;
}

/* モーダルコンテンツ */
.modal-content {
    position: absolute;
    top: 50%;
    left: 50%;
	width:70%;
    transform: translate(-50%, -50%);
    background-color: #fff;
    border-radius: 8px;
}
@media screen and (min-width: 1024px) {
    .modal-content {
	width:700px;
}
}
@media screen and (max-width: 1023px) {
    .modal-content {
	width:70%;
}
}
@media screen and (max-width: 800px) {
    .modal-content {
	width:90%;
}
}
.modal-content__inner {
    padding: 30px;
    position: relative;
}

/* 閉じるボタン */
.modal-close {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 30px;
    height: 30px;
    border: none;
    background: transparent;
    cursor: pointer;
    font-size: 40px;
	display: flex;
	justify-content: center;
	align-items:center;
}
/*モーダルウィンドウ*/
/*モーダルウィンドウ　お子様*/
/* モーダルの基本非表示 */
.modal-kids {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1000000;
}

/* アクティブ時に表示 */
.modal-kids.is-active {
  display: block;
}

/* オーバーレイ */
.modal-overlay-kids {
  position: absolute;
  top: 0;
  left: calc(50% + 3.0208%);
  height: 100%;
  width:377px;
  background-color: rgba(255,175,184,0.75);
}
@media screen and (max-width: 1264px) and (min-width: 769px) {
     .modal-overlay-kids {
  left: 50%;
}
}
/* モーダルの中身 */
.modal-content-kids {
  position: absolute;
  top:50%;
  left:50%;
  transform: translate(-50%,-50%);
  background: #fff;
  width: 325px;
}
.modal-close {
    cursor: pointer;
    border: none;
    background: none;
    font-size: 2px;
    position: absolute;
    top: 10px;
    right: 10px;
    width: 35px;
    height: 25px;
}
@media screen and (max-width: 768px) {
   .modal-overlay-kids {
  top: 0;
  left:0;
  right:0;
  bottom:0;
  height: 100%;
  width:100%;
}
	.modal-content-kids {
    width:80%;
}
}
.modal-container{
	max-width: 376px;
    margin-left: calc(50% + 3.0208%);
    position: relative;
    overflow: hidden;
    transform: translateZ(0);
}
.modal-content__inner__kids {
	position:relative;
	height:100%;
	padding-top:16px;
}
.modal-content__inner__kids p{
	margin-right:20px;
	margin-left:20px;
	padding-bottom: 20px;
	font-weight:600;
}
.modal-content__inner__kids::before{
	width:100%;
	height:20px;
	content:'';
	position:absolute;
	top:-19px;
	background-image: url("../img/edge_white.png");
	background-size:cover;
}
.modal-content__inner__kids::after{
	width:100%;
	height:20px;
	content:'';
	position:absolute;
	bottom:-19px;
	transform:rotate(180deg);
	background-image: url("../img/edge_white.png");
	background-size:cover;
}
.btn_kids {
    position: relative;
    cursor: pointer;
    z-index: 2;
}
.list_gizagiza {
    position: relative;
    background:#FEEFF1;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    margin-top: 32px;
    margin-bottom: 32px;
	font-weight:600;
}
.list_gizagiza::before{
	width:100%;
	height:20px;
	content:'';
	position:absolute;
	top:-19px;
	background-image: url("../img/edge.png");
	background-size:cover;
	left:0;
}
.list_gizagiza::after{
	width:100%;
	height:20px;
	content:'';
	position:absolute;
	bottom:-19px;
	transform:rotate(180deg);
	background-image: url("../img/edge.png");
	background-size:cover;
	right:0;
}
.list_gizagiza ul{
   padding-left:0;
}
.list_blueline{
	background-color:#fff;
	border:3px solid #0CA4C7;
	border-radius:16px;
}
.bg_yellow{
	background-color:#FFEA76;
}
.tkt_1_txt{
	font-size:1.4em;
	padding-left:2em;
	
}
.attention{
padding-left:1em;
font-size:13px;
font-weight:500;
}
@media screen and (max-width: 768px) {
  .attention{
font-size:calc(100vw * 13/375);
}
}
.attention li{
  list-style: none;
  text-indent:-1em;
}
.attention li::before{
  content: "※"; 
}
.tkt_inner{
	margin-right:20px;
	margin-left:20px;
}
@media screen and (max-width: 768px) {
	.tkt_inner{
	margin-right:calc(100% * 20/375);
	margin-left:calc(100% * 20/375);
}
}

.list_blueline_list{
	padding:0;
}
.list_blueline_list>li{
	list-style:none;
	position:relative;
	padding-bottom: 1.6em;
}
.list_blueline_list li h4{
	line-height:0;
}
.list_blueline_list>li::before{
	content:'';
	position:absolute;
	width:90%;
	height:1px;
	background-color:#0CA4C7;
	left:50%;
	transform:translateX(-50%);
}
/*アクセス*/
#access .align-center{
	max-width:257px;
	text-align:center;
	margin-left:auto;
	margin-right:auto;
}
#access .align-center span{
	display:block;
}
@media screen and (max-width: 768px) {
    #access .align-center{
	max-width:calc(100% * 257/375);
}
}
.align-center{
	text-align: center;
}
/*前半*/
.modal_kids_1{
	color:#0CA4C7;
	text-decoration: underline;
	font-size:1.142em;
	cursor: pointer;
	text-align:center;
	display:block;
}
.list_gizagiza.news li{
	list-style: none;
	padding-bottom:30px;
}
.list_gizagiza.news li div:nth-of-type(1){
	border-bottom:2px solid #fff;
	color:#F25DAA;
    font-weight: bolder;
}
.list_gizagiza.news li div:nth-of-type(2){
    font-weight: 500;
}
.more_news {
    color: #0CA4C7;
    text-align: center;
    position: relative;
    padding-right: 11px;
    text-decoration: none;
    display:flex;
	justify-content: center;
}
.more_news span{
   width:16px;
   margin-left:6px;
}
article{
	padding-bottom:32px;
}
#kids_stage_program{
	padding-bottom:60px;
}
#main_venue{
	 padding-bottom:32px; 
}
#stage_program{
	 padding-bottom:32px; 
}
section{
	margin-bottom:32px;
	margin-top:32px;
}

@media screen and (max-width: 768px) {
	section{
	margin-bottom:calc(100% * 32/375);
	margin-top:calc(100% * 32/375);
}
}
#contents{
	padding:0;
}
h2 img,
h3 img{
	line-height:0;
}
/*ページトップへ戻る*/
footer{
	position: relative;
	line-height:0;
}
html {
    scroll-behavior: smooth;
}
.pagetop {
    height: 50px;
    width: 50px;
    position: absolute;
    left:50%;
    top:0;
	transform:translate(-50%, -50%);
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 2;
}
/*追従チケット*/
.ticket_follow {
    width: 158.35px;
    height: 160.28px;
    position: fixed;
    bottom: -2vh;
    left: calc(50% + 3.0208% + 375px);
    transform: translateX(-88%);
	z-index:1000;
}
@media screen and (max-width: 1264px) and (min-width: 769px) {
   .ticket_follow {
        left:calc(50% + 375px);
    }
}

.ticket_follow>a{
}
@media screen and (max-width: 768px) {
	.ticket_follow{
    position: fixed;
    bottom: -3vh;
    right: -3vh;
	transform:translateX(0);
	left: auto;
}
    .ticket_follow>a{
        bottom:-4vh;
    }
}
.color_balls {
    position: absolute;
    top: 20px;
    width: 88%;
    left: 1%;
}
@media screen and (max-width: 768px) {
	.color_balls {
   display:none;
}
}
@media screen and (max-width: 1280px) and (min-width: 500px){
	.menu_inner{
		padding:9%;
	}
}
#ticket .list_gizagiza ul li{
	list-style:  none; 
	padding-left:1.5em;
	text-indent: -0.7em;
}
#ticket .list_gizagiza ul li:before {
    content: "";
    width: 10px;
    height: 10px;
    display: inline-block;
    border-radius: 50%;
    position: relative;
    left: -4px;
}
#ticket .gizagiza li:before {
   background-color:#FDAFD8;
}
.ticket_u {
    background-color: #fff;
    padding: 5% 5% 5% 3%;
    border-radius: 4px;
}
.ticket_wrap{
	margin-right:20px;
	margin-left:20px;
}
#ticket .gizagiza {
    padding-top: 20px;
    font-weight: 500;
}
.list_blueline {
	position:relative;
}
.list_blueline h3{
	position:absolute;
	top:-13px;
	left:50%;
	transform:translateX(-50%);
	width:375px;
}
#ticket .list_blueline{
	padding-top:159px;
}
@media screen and (max-width:768px){
	.list_blueline h3{
	width:100vw
}
	#ticket .list_blueline{
	padding-top:calc(100vw * 159/375)
}
	.list_blueline h3{
	top:calc(-100vw * 13/375);
}
}
.ball_pnk::before{
	background-color:#F25DAA;
}
.ball_bl::before{
	background-color:#166BBF;
}
.ball_ltbl::before{
	background-color:#64D0DC;
}
.box-shadow{
	box-shadow:1px 1px 3px #ccc;
}
.link_line{
	text-decoration:underline;
	display: inline;
	color:#484848;
}
#ticket_1, #ticket_2{
	position:relative;
}
.obj{
	position:absolute;
	bottom:0;
	right:0;
	width:calc(100% * 120/375);
	margin-bottom:-12%;
}
#link .btn_yellow{
	width:300px;
}
@media screen and (max-width:768px){
#link .btn_yellow{
	width:100%;
	height:calc(100% * 60/375);
	display:flex;
	justify-content: center;
	align-items:center;
}
}
@media screen and (max-width:768px){
	#access .btn_ja.btn_lightblue{
	width:calc(100% * 285/375);
}
}

.bl_box {
    background-color: #E4F1F2;
    border-radius: 6px;
    padding-bottom: 12px;
    margin-bottom: 28px;
}
#ticket_1 .tkt_1_txt.txt_price{
	border-top: 1.5px dashed #0CA4C7;
	padding-top:12px;
	line-height:1.4;
}
#ticket_1 .tkt_1_txt.txt_price small{
	font-size:0.5em;
}
#ticket_1 .fw_normal.txt_price {
    padding-bottom: 12px;
    font-weight: 500;
	font-size:12px;
}
@media screen and (max-width: 768px) and (min-width: 500px){
	#ticket_1 .fw_normal.txt_price {
		font-size:calc(100vw * 12/375);
	}
}
.txt_price{
	margin-left:20px;
	margin-right:20px;
	padding:0;
}
.pdt_10{
	padding-top:20px;
}
.list_blueline_list>li:last-child{
	padding-bottom:0;
}
button:disabled {
  pointer-events: none;
}
.link_pink{
	color:#F25DAA;
}
.modal-close.btn_kids_close_d {
    bottom: -14%;
    top: auto;
    width: 60px;
    height: 60px;
    right: 50%;
    transform: translateX(50%);
}
#news h3 {
    position: absolute;
    top: -15%;
}
#news{
	padding-top:32px;
}
.list_gizagiza.news{
	margin-top:32px;
}
#news .txt_price{
	padding-top:16%;
}
#ticket .btn_ja.btn_lightblue{
	white-space: nowrap;
}
@media screen and (max-width: 768px){
	#ticket .btn_ja.btn_lightblue{
	width:100%;
}
}
@media screen and (max-width: 768px){
	#ticket .btn_ja.btn_pink{
	width:calc(100% * 300/375);
}
}
@media screen and (max-width: 768px){
	#inquiry .btn_ja.btn_lightsblue{
	width:calc(100% * 300/375);
}
}
.inq_title {
    background-color: #fff;
    color: #00659B;
    display: flex;
    justify-content: center;
    align-items: center;
}
@media screen and (max-width: 768px){
	#inquiry .btn_ja.btn_lightsblue{
	width:calc(100% * 300/375);
}
}
.inq_box {
    background-color: rgba(255, 255, 255, 0.5);
    padding: 3%;
    position: relative;
    padding-top: 80px;
}
.inq_wrap{
	display:flex;
}
#ticket .list_blueball li{
	list-style: none;
}
#ticket .list_blueball li:before{
	content: "";
    width: 10px;
    height: 10px;
    display: inline-block;
    border-radius: 50%;
    position: relative;
    left: -4px;
	background-color: #FDAFD8;
}
.icon{
	width:34px;
	height:34px;
	margin-right:26px;
}
.icon_flex{
	display:flex;
	justify-content: center;
	align-items: center;
	white-space: nowrap
}
.icn_x,
.icn_tt{
	line-height:1.2s;
}

.inq_wrap {
    display: flex;
    max-width: 285px;
    gap: 5%;
    padding-top: 3%;
    padding-bottom: 3%;
    margin: 0 auto;
    font-weight: 600;
    font-size: 13px;
}
#inquiry .attention{
   font-size:13px;
}
.inq_event.btn_ja{
	height:80px;
	width:325px;
}
@media screen and (max-width: 768px){
 .inq_event.btn_ja{
	width:calc(100vw * 325/375);
	height:calc(100vw * 80/375);
	}
	.inq_wrap {
    font-size:calc(100vw * 13/375);
}
	#inquiry .attention{
   font-size:calc(100vw * 13/375);
}
	.inq_box .btn_ja.btn_lightblue{
	width:calc(100vw * 240/375);
	height:calc(100vw * 56/375);
}
}
@media screen and (min-width: 1023px) and (max-width: 1100px){
.modal-content__inner__kids p {
    font-size: 11px;
}
}
@media screen and (max-width: 540px){
.modal-content__inner__kids p {
    font-size: 3vw;
}
}
#ticket #ticket_1 .list_blueball li:before{
	background-color:#0CA4C7;
}
#ticket #ticket_1 .list_blueball.tkt_inner{
	padding-inline-start: 20px;
}
.en{
	font-size:0.7em;
	display:inline;
}
#ticket #ticket_2 .list_blueball li:before {
    background-color: #0CA4C7;
}
#contents{
	padding-bottom:32px;
}
.fw_500{
	font-weight:500;
}
.fw_400{
	font-weight:400;
}
.inq_box {
    padding-top: 66px;
}
.inq_box h3{
	position: absolute;
    top: -4%;
    left: 50%;
    transform: translateX(-50%);
    width: 375px;
}
@media screen and (max-width: 768px) {
    .inq_box h3 {
        width: 100vw;
    }
	.inq_box {
    padding-top: calc(100vw * 66/375);
}
}
#contents .btn_more{
	margin-bottom:auto;
	margin-top:auto;
}
.txt_price>span{
	display: block;
}
#ticket #ticket_2 .list_blueball.tkt_inner {
    padding-inline-start: 20px;
}
#kids_prohibit{
	padding-top: 45px;
	margin-top:-45px;
}
/*パララックス*/
.bg{
  position:fixed;
  top:0;
  left:0;
  height:100%;
  background-image:url(../img/bg_pink.png);
  background-size:cover;
  background-position:top center;
  transition:0.3s;
  z-index:3;
  width:375px;
}
.bg{
    margin-left: calc(50% + 3.0208%);
}
@media screen and (max-width: 1264px) and (min-width: 769px) {
   .bg{
        margin-left: 50%;
    }
}
@media screen and (max-width: 768px) {
    .bg{
        width:100%;
        margin-left: 0;
    }
}
.align-right{
	text-align:right;
}
.content_txt_inner{
	width:100%;
	height:100%;
	padding-top: 80px;
	box-sizing: border-box;
	display:flex;
	flex-direction: column;
	padding-bottom:2em;
}
@media screen and (max-width: 768px) {
   .content_txt_inner{
	padding-top: calc(100% * 80/375);
}
}
.content_txt_inner p {
    margin-right: 18px;
    margin-left: 18px;
	letter-spacing:-0.06em;
	text-align:justify;
}
@media screen and (max-width: 768px) {
   .content_txt_inner p{
	margin-right: calc(100% * 22/375);
	margin-left: calc(100% * 22/375);  
}
}

.cont{
	margin-right:calc(100% * 20/375);
	margin-left:calc(100% * 20/375);
}
.h2_stage {
    position: absolute;
    top: 0;
	left:50%;
    transform: translate(-50%, -50%);
	width:375px;
}
@media screen and (max-width: 768px) {
   .h2_stage {
	width:100vw;
}
}
.neon-box-inner {
    position: relative;
	z-index:100;
    border-radius: 20px;
    box-sizing: border-box;
	background:rgba(255,255,255,0.4);
}
.neon-box-inner::before {
  content: "";
  position: absolute;
  inset:0;
  border-radius: 20px;
  pointer-events: none;
}
.neon-box-inner.pink{
    box-shadow: 0 0 6px #FFB9DD, 0 0 8px #F75CA4, 0 0 3px #fff7fc;
    border: 2px solid #fff7fb;
}
.neon-box-inner.pink::before {
   box-shadow:
    inset 0 0 7px #FF7EB5,
    inset 0 0 7px #FFB9DD,
    inset 0 0 7px #FFB9DD,
    inset 0 0 7px #FFB9DD;
}
.neon-box-inner.blue{
    box-shadow: 0 0 6px #8AE0F5, 0 0 8px #55BED6, 0 0 3px #BEF0FF;
    border: 2px solid #D2F0F7;
}
.neon-box-inner.blue::before {
   box-shadow:
    inset 0 0 7px #55BED6,
    inset 0 0 4px #8AE0F5,
    inset 0 0 4px #8AE0F5,
    inset 0 0 4px #1DBDE5;
}
.shutsuen{
	margin-bottom:16px;
}
.inner .stage-none{
	display:none;
}
 .menu_inner{
	padding-top:38px;
	 padding-bottom:60px;
}
 .inner .menu_inner{
	padding-top:80px;
}
.inner_logo{
	width:111px;
	height:38px;
	margin-left:8px;
}
.inner .header{
	justify-content: space-between;
}
@media screen and (max-width: 768px) {
   .inner .menu_inner{
	padding-top:calc(100vw * 80/375);
}
}
#news .link_inline{
	color:#484848;
}