@charset "utf-8";

/*　PC/SP　switch
-------------------------------*/
/* sp */
@media screen and (max-width: 767px) {
  .pc-on {
    display: none;
  }
  .tab-on {
    display: none;
  }
  .sp-on {
    display: block;
  }
  .text-left-sp {
    text-align: left;
  }
}

/*pc・tab*/
@media screen and (min-width: 768px) {
  .pc-on {
    display: block;
  }
  .tab-on {
    display: none;
  }
  .sp-on {
    display: none;
  }

  .text-center-pc {
    text-align: center;
  }
}

/* only tab */
@media screen and (min-width: 768px) and (max-width: 991px) {
  .tab-on {
    display: block;
  }
}


/*　common  (mobile first)
-------------------------------*/
article {
    font-family: "Noto Sans JP","游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", 'メイリオ', Meiryo, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	overflow: hidden;
	color: #fff;
}

article p{
	font-size: 14px;
}

img {
  max-width: 100%;
  height: auto;
}



.main-contents{
	width: 100%;
	text-align: center;
	padding-bottom: 40px;
	  position: relative;
  z-index: 2;
	background: #000;
	
}

.bg-pc{
 position: relative;
  min-height: 100vh;
  background: #000;
  overflow: hidden;
}

.bg-photos {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.bg-photos img {
  opacity: 0;
  transform: translate3d(0, 12px, 0) scale(0.98);
  transition:
    opacity 2.6s ease,
    transform 3.4s cubic-bezier(0.22, 1, 0.36, 1),
    filter 3s ease;
  will-change: opacity, transform;
}

/* 表示中 */
.bg-photos img.is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
  animation: floatSoft var(--float-speed, 18s) ease-in-out infinite;
}

/* 消えるとき用 */
.bg-photos img.is-hiding {
  opacity: 0;
  transform: translate3d(0, -16px, 0) scale(1.02);
  filter: blur(3px) brightness(0.85);

  transition:
    opacity 2.2s ease,
    transform 2.8s cubic-bezier(0.22, 1, 0.36, 1),
    filter 2.6s ease;
}



/* SPでは完全に非表示 */
@media (max-width: 992px) {
  .bg-photos {
    display: none;
  }
}


@media screen and (min-width: 576px) {
	.main-contents{
		width:440px;
	margin: 0 auto;
	}
	
}


/*　section hero (MV)
-------------------------------*/
#hero{
	padding-top: 0;

}

/*mv img*/
h1.mv-area {
  width: 100%;
  text-align: center;
	margin-bottom: 40px;
}


/*　section introduction
-------------------------------*/

#introduction{
	
}
#introduction h2{
	margin-bottom: 20px;
}

.ex-box{
	width: 92%;
	margin: 0 auto;
}
.btn-booking-l{
	display: block;
	color: #fff;
	background: #F82981;
	padding: 20px;
	width: 240px;
	margin: 20px auto 20px;
	border-radius: 60px;
	font-weight: bold;
	position: relative;
}

.btn-booking-l:hover{
	text-decoration: none;
	color: #fff;
	opacity: 0.8;
}
.btn-booking-l::after{
	content: "\f0d7";
    font-family: "Font Awesome 5 Free";
    position: absolute;
    top: 50%;
    right: 1em;
    transform: translate(0, -50%);
    font-weight: 900;
}

.link-jdc{
	color: #fff;
	text-decoration: underline;
	margin:0 auto 40px;
	display: block;
	position: relative;
	padding-right: 16px;
	width: 200px;
}

.link-jdc:hover{
		color: #fff;
	text-decoration: none;
	opacity: 0.9;
}
.link-jdc:visited{
	color: #fff;
	text-decoration: underline;
}

.link-jdc::after {
    content: "\f105";
    font-family: "Font Awesome 5 Free";
    top: 50%;
    right:0;
    transform: translate(0, -50%);
    font-weight: 900;
	position: absolute;
	font-size: 1.2em;
}



#jdc2026 .slick-prev:before, .slick-next:before{
	display: none;
}
@media screen and (min-width: 1024px) {
	#introduction .slider-fade{
		display: none;
	
}
}


/*　section common parts
-------------------------------*/

.frame-white{
	background: #fff;
	position: relative;
		width: 92%;
	margin: 0 auto;
	border-radius: 16px;
	border:2px solid #F82981;
	padding: 40px 10px 10px;
	color: #000;
}

.frame-white h3{
	height: 103px;
	position: absolute;
	top:-80px;
}

.frame-white h3 img{
	height: 100%;	
}

.frame-pink{
		border-radius: 16px;
	padding: 10px;
		border:2px solid #F82981;
	margin-bottom: 16px;
}

h4{
	font-size: 16px;
	font-weight: bold;
}



/*　section point
-------------------------------*/
#point{
	padding-top: 120px;
}
#point .frame-white h3{
	width: 195px;
}

.point-comf{
	background: #FFF2F8;
	padding: 10px;
	margin-top: 16px;
}

.point-comf dt{
	color: #F82981;
	font-weight: bold;
	text-align: left;
	
}
.point-comf dd{
	text-align: left;
	font-size: 14px;
	margin-top: 8px;
	padding-left: 12px;
	position: relative;
	font-weight: bold;
}

.point-comf dd span{
	font-weight: normal;
	font-size: 13px;
	display: inline-block;
	line-height: 18px;
}
.point-comf dd::before{
	

	position: absolute;
	left: 0;
 background-color: #F82981;
  content: "";
  display: inline-block;
  height: 1.2em;
  vertical-align: middle;
  width: 4px;
}

/*　section booking
-------------------------------*/
#booking{
	padding-top: 120px;
}

#booking .frame-white h3{
	width: 195px;
}

.ic-spot{
	position: absolute;
	top:12px;
	left: 180px;
	font-size: 11px;
}

.ic-spot i{
	color: #000;
	margin-right: 2px;
}

.booking-group{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 10px 0 20px;
}

.booking-group li{
	width: 49%;
	margin-bottom: 10px;
}

.booking-group li a{
	display: block;
	border: 2px #F82981 solid;
	border-radius: 8px;
	padding: 10px 6px;
	background: #FFF2F8;
	color: #000;
}

.booking-group li a:hover{
	text-decoration: none;
	opacity: 0.7;
}


.price-line{
	font-size: 11px;
	margin-top: 2px;
}
.price-line .wrap-price{
	color: #F82981;
	font-weight: bold;
	padding-left: 3px;
    font-family: 'Oswald', sans-serif;	
		font-size: 13px;
}
.price-line .wrap-price .num{
	font-size: 22px;
}
@media screen and (max-width: 375px) {
	.price-line .wrap-price{
		font-size: 11px;
	}
.price-line .wrap-price .num{
	font-size: 15px;
}
}

.attention{
	background: #F4F4F4;
	padding: 10px;
	margin-bottom: 16px;
}

.attention dd{
	text-align: left;
	padding-left: 14px;
	font-size: 12px;
	line-height: 17px;
	position: relative;
	margin-top: 4px;
}

.attention dd::before{
	content: "・";
	font-size: 14px;
	position: absolute;
	left: 0;
	font-weight: bold;
}

/*　section ticket
-------------------------------*/
#ticket{
	padding-top: 120px;
	text-align: left;
}

#ticket .frame-white h3{
	width: 268px;
}

#ticket dl {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	align-items: flex-start;
	padding-bottom:20px; 
	background:url(/static/img/entertainment/jdc2026/ln-dod.svg) no-repeat;
	background-position:6% bottom;/*位置指定*/
	background-size: 3px auto;
}


#ticket dl.no-1 {
	margin-top: 20px;
}


#ticket dl.no-2{
	background:none;
}

#ticket dl dt{
	background: #F82981;
	color: #fff;
	font-size: 18px;
	line-height: 36px;
	padding:0 0 0 40px;
	border-radius: 20px;
	width: 100%;
	position: relative;
	height: 38px;
}
#ticket dl dt::before{
	position:absolute;
	top:4px;
	left:4px;
	content:"";
	display:block;
	width:30px;
	height:30px;
	background:url(/static/img/entertainment/jdc2026/ico-1.svg) no-repeat;
	background-size:contain;
}

#ticket dl.no-2 dt::before{
background:url(/static/img/entertainment/jdc2026/ico-2.svg) no-repeat;
}

#ticket dl.no-3 dt::before{
background:url(/static/img/entertainment/jdc2026/ico-3.svg) no-repeat;
}



#ticket dl dd{
	font-size: 14px;
	background: #F0F0F0;
	padding: 16px;
	width: 94%;
	border-left: #F82981 3px solid;
}





/*　section LP-Footer
-------------------------------*/
#LP-Footer{
	padding: 0;
	background: #790002;
	color: #fff;
	text-align: center;
}
#LP-Footer > img{
	margin: auto;
}

#LP-Footer .container{
	padding: 13px;
}

#LP-Footer a{
	color: #fff;
}

/*pc*/
@media screen and (min-width: 768px) {
	#LP-Footer .container{
		padding: 20px;
	}
	#LP-Footer p,
	#LP-Footer a{
		font-size: 20px;
	}
}
