@charset "utf-8";

/* ヘッダー */
header{
	position: relative;
	margin: 0 auto ;
	display: block;
	width: 100%;
}
header #keyvisual{
	position: relative;
	margin: 0 auto ;
	display: block;
	background-image: url("../img/main.jpg");
	background-repeat: no-repeat;
	background-position: 50% 0;
	background-size: cover;
	width: 100%;
	padding-top: 141.40625%;
}

#kikan{
	position: relative;
	margin: 0 auto;
	background-color: #be1d22;
	padding: 5px;
}
#kikan .kikanTxt{
	position: relative;
	margin: 0 auto;
	/*padding: 15px 15px 8px 15px;*/
	padding: 15px 0;
	text-align: center;	
	background-color: #ffffff;
	border-radius: 5px;
}
#kikan .kikanTxt img{margin: 0 auto;}
#kikan .kikanTxt p{
	position: relative;
	margin: 0 auto;
	font-weight: 900;
	font-size: min(4.5vw, 140%);
	line-height: 1.6em;
}

/* catch */
#catch{
	position: relative;
	margin: 0 auto;
	padding: 20px 0;
	background-image: url("../img/bg_catch.jpg");
	background-position: 0 100%;
	background-repeat: no-repeat;
	background-size: cover;
	border-bottom: solid 7px #0e798d;
}
#catch .catchTxt{
	position: relative;
	margin: 0 auto;
	width: calc(100% - 30px);
	max-width: 564px;
}
#catch .catchTxt img{margin: 0 auto;}

/* photo */
#photo{
	position: relative;
	margin:  0 auto;
	padding: 0;
}
#photo .photoWrap{
	position: relative;
	margin: 0 auto ;
	padding: 0;
}
#photo .caution{
	padding: 2px 0 0 0;
	font-size: 70%;
	color: #8E8E8E;
	text-align: right;
}
.swiper-wrapper {
	position: relative;
	width: 100%;
	transition-timing-function: linear;
}
.swiper-slide img {
	height: auto;
	width: 100%;
}
.swiper-button-prev:after,
.swiper-button-next:after {
	display: none;
}

/* とは */
#join{
	position: relative;
	margin: 0 auto;
}
#join h2{
	position: relative;
	margin: 20px 0 0 auto;
	width: calc(100% - 5px);
	max-width: 618px;
}
#join ul.joinTxt{
	position: relative;
	margin: 20px auto 0 auto;
	gap: 0;
}
#join ul.joinTxt li{
	position: relative;
	margin: 0;
	width: 100%;
}
#join ul.joinTxt li .Img{
	position: relative;
	margin: 0 0 0 auto;
	width: calc(100% - 30px);
}
#join ul.joinTxt li:nth-child(even) .Img{margin: 0 auto 0 0;}
#join ul.joinTxt li .ttl{
	position: relative;
	margin: calc(-1em - 5px) 0 0 0;
	width: 70%;
	padding: 10px 20px 10px 0;
	color: #ffffff;
	text-align: center;
	font-weight: 700;
	font-size: .16rem;
	background: #BF1E22;
	background: linear-gradient(90deg, #F88898 0%, #BF1E22 100%);
	clip-path: polygon(calc(100% - 20px) 0%, 100% 50%, calc(100% - 20px) 100%, 0% 100%, 0% 0%);
	z-index: 10;
}
#join ul.joinTxt li:nth-child(even) .ttl{
	margin: calc(-1em - 5px) 0 0 auto;
	padding: 10px 0 10px 20px;
	clip-path: polygon(20px 0%, 100% 0%, 100% 100%, 20px 100%, 0 50%);
}
#join ul.joinTxt li .txt{
	position: relative;
	margin: -3em auto 0 auto;
	padding: 4em 15px 30px 15px;
	font-weight: 600;
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-size: cover;
}
#join ul.joinTxt li:nth-child(1) .txt{background-image: url("../img/bg_join01.jpg");}
#join ul.joinTxt li:nth-child(2) .txt{background-image: url("../img/bg_join02.jpg");}
#join ul.joinTxt li:nth-child(3) .txt{background-image: url("../img/bg_join03.jpg");}
#join ul.joinTxt li .txt p{position: relative;}

/* special */
#special {
	position: relative;
	margin: 0 auto;
	padding:25px 0 35px 0;
	background-image: url("../img/bg_special.jpg");
	background-repeat: no-repeat;
	background-position: 100% 0;
	background-size: cover;
}
#special h2{
	position: relative;
	margin: 0 auto;
	width: 58%;
	max-width: 364px;
}
#special .banner{
	position: relative;
	margin:25px auto 0 auto;
	width: calc(100% - 70px);
	max-width: 1100px;
}
#special .slick-slide{margin: 0 5px !important;}
#special .slick-slide img{border: solid 2px #000000;}
#arrows{
	position: absolute;
	display: block;
	top: 50%;
	transform: translateY(-50%);
	left: -28px;
	text-align: center;
	width: calc(100% + 56px);
	height: 25px;
}
#special .slide-arrow{
    position: absolute;
	top:0;
	display: block;
	width: auto;
	height: 20px;
}
#special .prev-arrow{left: 0;cursor: pointer;transform: rotate(-180deg);}
#special .next-arrow{right: 0;cursor: pointer;}
#special .slick-disabled{display: none !important;}

/* 参加方法 */
#howto{
	position: relative;
	margin: 0 auto;
	padding: 25px 0;
	background-image: url("../img/bg_howto01.png"), url("../img/bg_howto02.png");
	background-position: -60px -3px, calc(100% + 5px) 50%;
	background-repeat: no-repeat, no-repeat;
	background-size: 195px auto, 195px auto;
	background-color: #14b0a9;
}
#howto h2{
	position: relative;
	margin: 20px 0 0 auto;
	width: calc(100% - 5px);
	max-width: 618px;
}
#howto .howtoWrap{position: relative;}
#howto .howtoWrap ul{
	position: relative;
	margin:20px auto 0 auto;
	width: calc(100% - 50px);
	max-width: 1200px;
}
#howto .howtoWrap ul li{
	position: relative;
	margin: 0;
	padding: 10px 15px 15px 15px;
	background-color: #ffffff;
	border: solid 3px #0b2538;
}
#howto .howtoWrap .Img{
	position: relative;
	margin: 0 auto;
}
#howto .howtoWrap .no{
	position: relative;
	margin: -18px 0 0 -10px;
	width: 24%;
}
#howto .howtoWrap .ttl{
	position: relative;
	margin: 0 auto;
	padding-top: 5px;
	color: #bf1e22;
	font-size: .16rem;
	font-weight: 600;
	text-align: center;
}
#howto .howtoWrap p{
	position: relative;
	margin: 0 auto;
	padding: 15px 0;
}
#howto .howtoWrap .slick-slide{margin: 0 10px !important;}
#howto .howtoWrap .slick-track {display: flex;}
#howto .howtoWrap .slick-slide {height: auto !important;}
#howto .howtoWrap #arrowsH{
	position: absolute;
	display: block;
	top: 50%;
	left: 3px;
	text-align: center;
	width: calc(100% - 6px);
	height: 25px;
	z-index: 1000;
}
#howto .howtoWrap .slide-arrow{
    position: absolute;
	top:0;
	display: block;
	width: 25px;
	height: auto;
}
#howto .howtoWrap .prev-arrow{transform: scale(-1, 1);left: 0;cursor: pointer;}
#howto .howtoWrap .next-arrow{right: 0;cursor: pointer;}
#howto .howtoWrap .slick-disabled{display: none !important;}

#schedule{
	position: relative;
	margin: 0 auto;
	padding: 0 0 25px 0;
	background-image: url("../img/bg_howto02.png");
	background-position: calc(100% + 5px) -3px;
	background-repeat: no-repeat;
	background-size: 195px auto;
	background-color: #14b0a9;
	border-top: solid 7px #be1d22;
	border-bottom: solid 7px #0e798d;
}
#schedule h2{
	position: relative;
	margin: 20px 0 0 auto;
	width: calc(100% - 5px);
	max-width: 618px;
}
#schedule .scheduleWrap{
	position: relative;
	margin: 20px auto 0 auto;
	padding: 15px 10px;
	background-color: rgba(255,255,255,.9);
	border-radius: 5px;
	width: calc(100% - 50px);
	max-width: 860px;
}
#schedule .scheduleWrap dl{
	position: relative;
	margin: 0 auto;
}
#schedule .scheduleWrap dl dt{
	position: relative;
	margin: 0 auto;
	padding: 2px 0;
	background-color: #007c90;
	color: #ffffff;
	text-align: center;
	width: 100%;
}
#schedule .scheduleWrap dl dd{
	position: relative;
	margin: 0 auto;
	padding: 10px 0 15px 0;
	text-align: center;
	width: 100%;
}
#schedule .scheduleWrap dl dd h4{
	position: relative;
	color: #007c90;
	font-weight: 600;
}
#schedule .scheduleWrap dl dd h5{
	position: relative;
	margin: 5px auto 0 auto;
	font-weight: 600;
	background-color: #99d2c2;
	width: 5em;
}
#schedule .scheduleWrap dl dd p{
	position: relative;
	margin: 0 auto;
	width: 100%;
	padding: 5px 0 10px 0;
}

/* CM */
#cm{
	position: relative;
	margin: 0 auto;
	padding: 25px 0 40px 0;
	border-top: solid 7px #be1d22;
}
#cm h2{
	position: relative;
	margin: 0 auto;
	width: 58%;
	max-width: 364px;
}
#cm .cmBox{
	position: relative;
	margin: 20px auto 0 auto;
	width: calc(100% - 30px);
	max-width: 720px;
	border: solid 2px #0b2538;
}

/* ストーリー */
 #story{
	 position: relative;
	 margin: 0 auto;
	 padding:25px 0 35px 0;
	 background-image: url("../img/bg_story.jpg");
	background-position: 0 0;
	background-repeat:no-repeat;
	background-size: cover;
	 background-color: #d0f6f8;
	border-top: solid 7px #be1d22;
	border-bottom: solid 7px #0e798d;
}
#story h2{
	position: relative;
	margin: 0 auto;
	width: 58%;
	max-width: 364px;
}
#story .storyTxt{
	position: relative;
	margin: 25px auto 0 auto;
	text-align: center;
}
#story .storyTxt p{
	position: relative;
	margin: 0 auto;
	line-height: 2em;
	font-weight: 600;
}
#story .storyTxt p.marginTop{padding-top: 30px;}

/* プレイ形式 */
 #play{
	 position: relative;
	 margin: 0 auto;
	 padding:25px 0 35px 0;
	 background-image: url("../img/bg_play.jpg");
	background-position: 0 0;
	background-repeat:no-repeat;
	background-size: cover;
	background-color: #d0f6f8;
}
#play h2{
	position: relative;
	margin: 0 auto;
	width: 58%;
	max-width: 364px;
}
#play ul{
	position: relative;
	margin: 20px auto 0 auto;
	width: calc(100% - 30px);
	max-width: 770px;
	gap: 20px 4px;
}
#play ul li{
	position: relative;
	margin: 0;
	width: calc(50% - 2px);
}
#play .cautionWrap{
	position: relative;
	margin: 25px auto 0 auto;
	padding: 15px;
	width: calc(100% - 60px);
	max-width: 890px;
	background-color: #ffffff;
	border-radius: 4px;
}
#play .cautionWrap .playArea{
	position: relative;
	margin: 20px auto 0 auto;
	border: solid 2px #be1d22;
	border-radius: 4px;
	overflow: hidden;
	max-width: 560px;
}
#play .cautionWrap .playArea p{
	position: relative;
	padding: 15px;
}
#play .cautionWrap .playArea p.title{
	margin: 0 auto;
	color: #ffffff;
	text-align: center;
	font-weight: 700;
	padding: 2px 0;
	background-color: #be1d22;
}

/* 販売 */
#kit{
	position: relative;
	margin:0 auto;
}
#kit h2{
	position: relative;
	margin: 20px 0 0 auto;
	width: calc(100% - 5px);
	max-width: 618px;
}
#kit .release{
	position: relative;
	margin: 20px auto 0 auto;
	text-align: center;
}
#kit .release .Img{
	position: relative;
	margin: 15px auto 0 auto;
	width: calc(100% - 30px);
	max-width: 580px;
}
#kit .shop{
	position: relative;
	width: calc(100% - 60px);
	max-width: 910px;
	margin: 40px auto 0 auto;
	background-color: #f6efdf;
	padding: 15px 15px 30px 15px;
	border-radius: 5px;
}
#kit .shop h3{
	position: relative;
	margin:  -35px auto 25px auto;
	width: 56%;
	max-width: 234px;
}

#kit .button{
	position: relative;
	margin: 20px auto;
	display: block;
	width: 16em;
	border-radius: 100px;
	padding: 10px 0;
	background: #BF1E22;
	background: linear-gradient(90deg, #F88898 0%, #BF1E22 100%);
	color: #ffffff !important;
	text-align: center;
	font-weight:700;
	font-size: .15rem;
	transition: all 1.6s ease-out;
}
#kit .button::after{
	position: absolute;
	top:50%;
	transform: translateY(-50%);
	right: 10px;
	display: block;
	content: '';
	width: 20px;
	height: 14px;
	background-image: url("../img/arrowW.png");
	background-repeat: no-repeat;
	background-size: contain;
	background-position: 50% 50%;
}
#kit .button:hover{background: linear-gradient(90deg, #f39a12, #d10080, #541b86);}

#kit .shop h4{
	position: relative;
	width: 6em;
	padding: 5px;
	line-height: 1em;
	margin: 0 auto 15px auto;
	font-size: .15rem;
	font-weight: 600;
	background-color: #e5670c;
	color: #ffffff;
	text-align: center;
}
#kit .shop h4.kitpre{
	width: 12em;
	margin: 40px auto 15px auto;
}
#kit .shop h4.kitday{
	width: calc(100% - 10px);
	margin: 30px auto;
	background-color: #be1d22;
}
#kit ul{
	position: relative;
	margin:0 auto 30px auto;
	max-width: 700px;
}
#kit ul:last-child{margin: 0 auto;}
#kit ul  li{
	position: relative;
	margin: 0 auto 15px auto;
	background-color: #ffffff;
	padding:20px 0;
}
#kit ul  li .shopName{
	position: relative;
	text-align: center;
	color: #e5670c;
	font-size: .15rem;
	font-weight: 600;
	cursor: pointer;
}
#kit ul li .shopName span{display: block;}
#kit ul li .shopName span.nobr{display: inline;}
#kit ul li .shopName::after{
	position: absolute;
	top:50%;
	transform: translateY(-50%);
	right: 10px;
	width: 11px;
	height: 15px;
	display: block;
	content: '';
	background-image: url("../img/arrow_B.png");
	background-repeat: no-repeat;
	background-size: contain;
	background-position: 50% 50%;
	 transition: all .3s ease-out;
}
#kit ul li .shopName.disp::after{transform:translateY(-50%) scale(1, -1);}
#kit ul li .shopDetail{
	position: relative;
	margin: 15px auto 0 auto;
	display: none;
	width: calc(100% - 30px);
	text-align: center;
}
#kit ul li .shopDetail h5{
	position: relative;
	margin: 0 auto;
	padding: 20px 0 5px 0;
	color: #e5670c;
}
#kit .map{
	position: relative;
	margin: 10px auto 0 auto;
	max-width: 800px;
}

/* Links */
#links{
	position: relative;
	margin: 0 auto;
	padding: 25px 0 30px 0;
}
#links .btn_game{
	position: relative;
	margin: 0 auto;
	width: 70%;
	max-width: 294px;
}
#links ul{
	position: relative;
	margin: 30px auto 0 auto;
	gap: 30px 15px;
}
#links ul li{
	position: relative;
	margin: 0;
}
#links ul li:first-child{width: 100%;}
#links ul li img{
	height: 21px;
	width: auto;
	margin: 0 auto;
}
#links ul li:first-child img{height: 42px;}

/* FAQ */
#precautions{
	position: relative;
	margin: 30px auto 0 auto;
	padding: 30px 0;
	background-color: #14b0a9;
	background-image: url("../img/bg_precaution.png");
	background-repeat: no-repeat;
	background-size: auto min(124%, 390px);
	background-position: calc(100% - 5px) -60px;
}
#precautions .cautionWrap{
	position: relative;
	margin: 0 auto 15px auto;
	width: calc(100% - 20px);
	max-width: 960px;
	background-color: #007d90;
	background: linear-gradient(-90deg, #9ad3c3, #00ada7, #007d90);
	padding: 3px;
	border-radius: 10px;
	box-shadow: -3px 2px 2px 1px rgba(115,115,115,0.2);
}
#precautions .cautionWrap .cautionInner{
	position: relative;
	margin: 0 auto;
	background-color: #9ad3c3;
	background: linear-gradient(90deg, #9ad3c3, #00ada7, #007d90);
	padding: 1px;
	border-radius: 9px;
	border: solid 2px #ffffff;
}
#precautions .cautionWrap .cautionInner .cautionCont{
	position: relative;
	margin: 0 auto;
	background-color: #ffffff;
	border-radius: 8px;
}
#precautions .cautionWrap .ttl{
	position: relative;
	margin: 0 auto;
	padding: 15px;
	text-align: center;
	cursor: pointer;
	background-repeat: no-repeat;
	background-size: auto calc(100% - 15px);
	background-position: 8px 50%;
}
#precautions .cautionWrap .ttl{background-image: url("../img/icon_precaution.png");}
#precautions .cautionWrap.faqlist .ttl{background-image: url("../img/icon_faq.png");}
#precautions .cautionWrap.limitlist .ttl{background-image: url("../img/icon_limit.png");}
#precautions .cautionWrap .ttl img{
	position: relative;
	margin: 0 auto;
	width: 70%;
	max-width: 300px;
}
#precautions .ttl::after{
	position: absolute;
	top:50%;
	right: 8px;
	content: '';
	display: block;
	transition: all .3s ease-out;
	transform: translateY(-50%);
	height: 20px;
	width: 14px;
	background-image: url("../img/arrow_G.png");
	background-repeat: no-repeat;
	background-size: contain;
	background-position: 50% 50%;
}
#precautions .ttl.disp::after{transform: translateY(-50%) scale(1,-1);}
#precautions .faqWrap{
	position: relative;
	margin: 0 auto;
	padding: 0;
	height: 0;
	overflow: hidden;
	transition: all .3s ease-out;
	z-index: 9;
}
#precautions .CatTtl{
	position: relative;
	margin: 0 auto;
	padding: 3px 10px;
	width: calc(100% - 45px);
	max-width: 800px;
	background-color: #007c90;
	text-align: center;
	font-size: .16rem;
	color: #ffffff;
}
#precautions .CatTtl.marginTop{margin: 20px auto 0 auto;}
#precautions  #limitlist .CatTtl{margin: 30px auto 15px auto;}
#precautions .faqWrap.disp{height: auto !important;padding: 20px 0; margin: 0 auto; }
#precautions .faqWrap dl{position: relative;}
#precautions .faqWrap dl dd{padding: 15px 0;}
#precautions #faq.faqWrap dl dd{padding: 5px 0 0 0;}
#precautions .faqWrap dl dd p{
	position: relative;
	width: calc(100% - 45px);
	max-width: 800px;
	margin: 0 auto;
	padding-bottom: .8em;
	text-align: left;
	line-height: 1.5em;
}
#precautions .faqWrap dl dd .title{
	position: relative;
	width: calc(100% - 50px);
	margin: 5px auto 0 auto;
	text-align: left;
	font-weight: bold;
}
#precautions #cautionlist.faqWrap dl dd p, #precautions #faq.faqWrap dl dt p, #precautions #faq.faqWrap dl dd p, #precautions #limitlist dd p, #precautions .attWrap p{padding-left: 1.2em;}
#precautions #cautionlist.faqWrap dl dt{
	position: relative;
	margin:10px auto -5px auto;
	text-align: center;
	color: #007c90;
	font-size: .16rem;
	font-weight: bold;
}
#precautions #faq.faqWrap dl dt p{
	position: relative;
	color: #e5670c;
	font-size: .14rem;
	font-weight: 500;
	text-align: left;
	margin: 0 auto;
	width: calc(100% - 50px);
	max-width: 800px;
	line-height: 1.6em;
}
#precautions #cautionlist.faqWrap dl dd p::before, #precautions #faq.faqWrap dl dt p::before, #precautions #faq.faqWrap dl dd p::before, #precautions #limitlist dd p::before, #precautions .attWrap p::before{
	position: absolute;
	content: '・';
	left: 0;
}
#precautions #faq.faqWrap dl dt p::before{content: 'Q.';}
#precautions #faq.faqWrap dl dd p::before{content: 'A.';}
#precautions .attWrap p::before{content: '※' !important;}

#precautions #limitlist .lead{
	position: relative;
	margin: 0 auto 15px auto;
	width: calc(100% - 50px);
	max-width: 800px;
}
#precautions  #limitlist dl{margin: 0 auto;width: calc(100% - 20px);}

/* ----- pc ----- */
@media screen and (min-width: 641px) {
	
	/* ヘッダー */
	header #keyvisual{
		background-image: url("../img/main_pc.jpg");
		padding-top:52.3333%;
	}
	
	#kikan{padding: 10px 30px;}
	#kikan .kikanTxt{
		padding: 25px 25px 16px 25px;
		border-radius: 10px;
	}
	#kikan .kikanTxt img{max-width: 460px;}

	/* catch */
	#catch{
		padding: 40px 0;
		background-image: url("../img/bg_catch_pc.jpg");
		border-bottom: solid 10px #0e798d;
	}

	/* とは */
	#join h2{margin: 40px auto 0 auto;}
	#join ul.joinTxt{
		margin: 40px auto 0 auto;
		background-image: url("../img/bg_join_pc.jpg");
		background-position: 50% 100%;
		background-repeat: no-repeat;
		background-size: 100% auto;
	}
	#join ul.joinTxt li{width: 33.333333%;}
	#join ul.joinTxt li .Img{margin: 0 auto;}
	#join ul.joinTxt li:nth-child(even) .Img{margin: 0 auto;}
	#join ul.joinTxt li .ttl{
		width: 70%;
		padding: 10px 20px 10px 0;
		font-size: .20rem;
	}
	#join ul.joinTxt li:nth-child(even) .ttl{
		margin: calc(-1em - 5px) 0 0 0;
		padding: 10px 20px 10px 0;
		clip-path: polygon(calc(100% - 20px) 0%, 100% 50%, calc(100% - 20px) 100%, 0% 100%, 0% 0%);
	}
	#join ul.joinTxt li:nth-child(1) .txt{background-image: none;}
	#join ul.joinTxt li:nth-child(2) .txt{background-image: none;}
	#join ul.joinTxt li:nth-child(3) .txt{background-image: none;}

	/* special */
	#special {
		padding:50px 0 100px 0;
		background-position: 100% 50%;
		background-size: auto 120%;
	}
	#special .banner{margin:40px auto 0 auto;}
	#special .slick-slide{margin: 0 10px !important;}
	#special .slick-slide img{border: solid 3px #000000;}
	#arrows{
		left: -31px;
		width: calc(100% + 62px);
		height: 27px;
	}
	#special .slide-arrow{height: 26px;}

	/* 参加方法 */
	#howto{
		padding: 40px 0 50px 0;
		background-image: url("../img/bg_howto01.png"), url("../img/bg_howto02.png");
		background-position: 0 -20px, calc(100% + 2px) 60%;
		background-size: 370px auto, 370px auto;
	}
	#howto h2{margin: 0 auto;}
	#howto .howtoWrap ul{margin:40px auto 0 auto;}
	#howto .howtoWrap ul li{
		padding: 10px 17px 15px 17px;
		border: solid 4px #0b2538;
	}
	#howto .howtoWrap .no{margin: -20px 0 0 -10px;}
	#howto .howtoWrap .ttl{font-size: .17rem;}
	#howto .howtoWrap p{padding: 15px 5px;}

	#schedule{
		padding: 0 0 50px 0;
		background-size: 370px auto;
		border-top: solid 10px #be1d22;
		border-bottom: solid 10px #0e798d;
	}
	#schedule h2{
		margin: 40px auto 0 auto;
		width: calc(100% - 5px);
		max-width: 668px;
	}
	#schedule .scheduleWrap{
		margin: 50px auto 0 auto;
		padding: 30px 50px;
		border-radius: 10px;
	}
	#schedule .scheduleWrap dl{gap: 20px 30px;}
	#schedule .scheduleWrap dl dt{
		margin: 0;
		padding: 2px 0;
		width: 220px;
	}
	#schedule .scheduleWrap dl dd{
		margin: 0;
		padding: 0;
		text-align: left;
		width: calc(100% - 250px);
	}
	#schedule .scheduleWrap dl dd h5{
		margin: 5px 0 0 0;
		width: 5em;
		text-align: center;
	}
	#schedule .scheduleWrap dl dd .yoyaku{position: relative;margin: 5px auto 10px auto;}
	#schedule .scheduleWrap dl dd .yoyaku li{position: relative;gap:0 15px;}
	#schedule .scheduleWrap dl dd .yoyaku li p{margin: 0;width: calc(100% - 5em - 15px);}

	/* CM */
	#cm{
		padding:50px 0 100px 0;
		border-top: solid 10px #be1d22;
	}
	#cm .cmBox{margin: 30px auto 0 auto;}
	
	/* ストーリー */
	 #story{
		 padding:40px 0 100px 0;
		 background-image: url("../img/bg_story_pc.jpg");
		border-top: solid 10px #be1d22;
		border-bottom: solid 10px #0e798d;
	}
	#story .storyTxt{margin: 40px auto 0 auto;}
	#story .storyTxt p{
		line-height: 2.4em;
		font-size: .18rem;
	}
	#story .storyTxt p.marginTop{padding-top: 40px;}

	/* プレイ形式 */
	 #play{
		 padding:40px 0 80px 0;
		 background-image: url("../img/bg_play_pc.jpg");
		background-position: 50% 0;
	}
	#play ul{
		margin: 40px auto 0 auto;
		gap: 0 4px;
	}
	#play ul li{width: calc(25% - 8px);}
	#play .cautionWrap{
		margin: 45px auto 0 auto;
		padding: 40px 35px;
		border-radius: 5px;
	}
	#play .cautionWrap .playArea{
		margin: 40px auto 0 auto;
		border: solid 2px #be1d22;
		border-radius: 5px;
	}

	/* 販売 */
	#kit h2{
		margin: 40px auto 0 auto;
		width: calc(100% - 5px);
		max-width: 668px;
	}
	#kit .release{
		margin: 40px auto 0 auto;
		font-size: .18rem;
		line-height: 1.8em;
	}
	#kit .release .Img{margin: 10px auto 0 auto;}
	#kit .shop{
		margin: 90px auto 0 auto;
		padding: 60px 25px;
		border-radius: 10px;
		text-align: center;
	}
	#kit .shop h3{margin:  -80px auto 25px auto;}

	#kit .button{
		margin: 30px auto;
		width: 400px;
		padding: 10px 0;
		font-size: .16rem;
	}
	#kit .button::after{
		right: 15px;
		width: 23px;
		height: 18px;
	}

	#kit .shop h4{
		padding: 8px 15px;
		line-height: 1em;
		font-size: .16rem;
	}
	#kit .shop h4.kitpre{margin:50px auto 15px auto;}
	#kit .shop h4.kitday{
		width: calc(100% - 30px);
		max-width: 668px;
		margin: 50px auto 40px auto;
	}
	#kit ul{margin:0 auto 60px auto;}
	#kit ul:last-child{margin: 0 auto;}
	#kit ul  li{
		margin: 0 auto 20px auto;
		padding:25px 0;
	}
	#kit ul  li .shopName{font-size: .20rem;}
	#kit ul  li .shopName .fontSnall{font-size: .16rem;}
	#kit ul li .shopName::after{
		right: 20px;
		width:20px;
		height: 18px;
	}
	#kit ul li .shopDetail{margin: 30px auto 0 auto;}
	#kit ul li .shopDetail h5{padding: 40px 0 10px 0;}
	#kit .map{margin: 20px auto 0 auto;}

	/* Links */
	#links{padding:35px 0 40px 0;}
	#links ul{
		margin: 40px auto 0 auto;
		gap: 25px 50px;
	}
	#links ul li img{height: 40px;}
	#links ul li:first-child img{height: 72px;}

	/* FAQ */
	#precautions{
		margin: 80px auto 0 auto;
		padding: 60px 0;
		background-size: auto 533px;
		background-position: 5% 0;
	}
	#precautions .cautionWrap{
		margin: 0 auto 25px auto;
		max-width: 960px;
		padding: 3px;
		border-radius: 14px;
	}
	#precautions .cautionWrap .cautionInner{
		padding: 2px;
		border-radius: 12px;
		border: solid 3px #ffffff;
	}
	#precautions .cautionWrap .cautionInner .cautionCont{border-radius: 9px;}
	#precautions .cautionWrap .ttl{
		padding: 20px;
		background-size: auto calc(100% - 20px);
		background-position: 10px 50%;
	}
	#precautions .ttl::after{
		right: 20px;
		height: 29px;
		width: 24px;
	}
	#precautions .CatTtl{
		padding: 5px 10px;
		font-size: .18rem;
	}
	#precautions .CatTtl.marginTop{margin: 30px auto 0 auto;}
	#precautions  #limitlist .CatTtl{margin:40px auto 15px auto;}
	#precautions .faqWrap.disp{height: auto !important;padding: 30px 0; }
	#precautions #faq.faqWrap dl dd{padding: 5px 0 10px 0;}
	#precautions #faq.faqWrap dl dt p{font-size: .16rem;}
	#precautions #cautionlist.faqWrap dl dt{
		margin:20px auto -5px auto;
		font-size: .18rem;
	}

}
