@charset "utf-8";
body{
	font-size: 20px;
    line-height: 1.5em;
    /* font-family: 'Noto Sans JP', sans-serif; */
	font-family: 'Noto Serif JP', serif;
	font-weight: 400;
    overflow-wrap: break-word;
	word-break: normal;
	color: #333;
	font-feature-settings: "palt";
}
::selection {
	background: #E23981;
	color: #fff;
}

img{width:auto;
	height: auto;
	max-width:100%;
}p{line-height: 1.7em;
	margin-bottom: 1.7em;
}p:last-child{margin-bottom: 0;}

.big{font-size: 1.3em;}
.b{font-weight: 700;}
.small{font-size: .8em;}
.red{color: #E23981;}

.sp{display: none!important;}

.right{
	width: 300px;
	display: block;
    float: right;
	padding: 0 1%;
}
.center{text-align: center;}
.img_b{
	text-align: center;
	margin: 0 auto 5% auto;
	display: block;
}

/*header*/
.head{
	background: url(../img/head_bg.png)center/cover;
	text-align: center;
	padding: 1% 0 0 0;
}
header h1{margin: 0 auto -3% auto;}

.time{
	background: #C1114C;
	text-align: center;
	padding: 1% 2%;
}

/*main*/
.bg_y{background: #FFF4E4;}
.bg_p{background: #FCD6E5;}
.wrap{
	max-width: 1100px;
	margin: 0 auto;
	padding: 3% 2%;
}
.wrap2{max-width: 900px;}

/**/
h2{
	background: url(../img/index_bg.png)center/cover;
	text-align: center;
	padding: 3% 2%;
}
h3{
	text-align: center;
	padding: 0 0 3% 0;
}
h4{
	font-size: 1.1em;
	letter-spacing: .1em;
	font-weight: 700;
	/* background: #FCD6E5;
	padding: 2%; */
	border-bottom: #E23981 solid 2px;
	padding-bottom: 2%;
	margin-bottom: 3%;
	color: #E23981;
}
h5{margin-bottom: 3%;}
h5 span.q{
	display: inline-block;
	font-weight: 700;
	color: #E23981;
	width: 8%;
	font-size: 1.2em;
	vertical-align: middle;
	text-align: center;
}
h5 span:not([class]){
	display: inline-block;
	width: 90%;
	vertical-align: middle;
	border-left: #FCD6E5 solid 3px;
	padding-left: 2%;
	box-sizing: border-box;
	font-family: 'Noto Sans JP', sans-serif;
}
.btn{text-align: center;}

/**/
.tktn{
	display: inline-block;
	width: 50%;
	box-sizing: border-box;
	padding: 0 1%;
}

.pre{
	background: url(../img/pre_bg_l.png),url(../img/pre_bg_r.png),#FCD6E5;
	background-repeat: repeat-y;
	background-position: left,right;
	overflow-x: hidden;
}
.pre .wrap{padding-bottom: 0;}

.pre_f{
	background: #fff;
	border: solid 3px #E23981;
	max-width: 900px;
	margin: -3% auto 3% auto;
	border-radius: 15px;
	padding: 3%;
	position: relative;
}
.pre_f .pre_img{
	display: inline-block;
	width: 40%;
	vertical-align: middle;
}
.pre_f .pre_text{
	display: inline-block;
	width: 60%;
	padding-left: 5%;
	box-sizing: border-box;
	vertical-align: middle;
}

img.ab{position: absolute;}
.ab1{
	left: -110px;
	top: -70px
}
.ab2{
	top: -70px;
	right: -100px;
}
.pre_a{
	vertical-align: bottom;
	margin: -3% auto 0 auto;
}

/**/
.step{
	display: inline-block;
	width: 33%;
	padding: 1%;
	box-sizing: border-box;
}

/**/
.tl{
	height: 500px;
	margin: 0 auto;
	overflow-y: scroll;
}

.twitter,.twitter-tweet{
	margin: 0 auto;
	display: block;
	max-width: 900px;
}

/**/
.text{
	background: #fff;
	margin: 0 auto;
	border-radius: 15px;
	padding: 3%;
}

.movie{
	position: relative;
	width: 100%;
	padding-top: 56.25%;
	margin: 3% 0 0 0;
	filter: drop-shadow(7px 7px 0px #FCD6E5);
}
.movie iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
}

/**/
.sp_site{
	background: url(../img/sp_bg_rt.png),url(../img/sp_bg_lt.png),
	url(../img/sp_bg_rm.png),url(../img/sp_bg_lm.png),#FFF4E4;
	background-repeat: no-repeat;
	background-position: 99% 2%,1% 2%,95% 70%,5% 70%;
}

.sp_site p{text-align: center;}

/**/
ul.list{margin-bottom: 2%;}
ul.list li{
    list-style: georgian inside url(../img/li.png);
    padding: 0 2% 1% 1.5em;
    text-indent: -1.4em;
    line-height: 1.4em;
	font-size: 1.1em;
	font-weight: 600;
}

/**/
.contact{padding: 1% 2% 0 2%;}
.contact img.in{
	vertical-align: bottom;
	display: inline-block;
	width: 40%;
}
.cont_box{
	display: inline-block;
	width: 60%;
	text-align: center;
}
.cont_t{padding-top: 3%;}

/*応募フォーム*/
.form {
    margin: 0 auto;
    padding: 5%;
	background: #fff;
	border-radius: 15px;
	max-width: 750px;
}
.form-item {
    padding-bottom: 2%;
    width: 100%;
    align-items: center;
	font-family: 'Noto Sans JP', sans-serif;
}
.form p{margin-bottom: 0;}
.form-item .label {
    width: 100%;
    letter-spacing: 0.05em;
	margin-bottom: 1%;
}
.label span,h4 span{
    margin-left: 8px;
    display: inline-block;
	background: #E23981;
	border-radius: 5px;
	color: #fff;
	padding: 0 8px;
    font-size: 13px;
}

/*ラジオボタン*/
input[type=radio], input[type=checkbox] {display: none;}
.radio, .checkbox {
	box-sizing: border-box;
	-webkit-transition: background-color 0.2s linear;
	transition: background-color 0.2s linear;
	position: relative;
	display: inline-block;
	margin: 0 10px 8px 0;
	padding: 12px 12px 12px 42px;
	border-radius: 8px;
	background-color: #f6f7f8;
	vertical-align: middle;
	cursor: pointer;
	font-size: .9em;
}
.radio:after, .checkbox:after {
	-webkit-transition: border-color 0.2s linear;
	transition: border-color 0.2s linear;
	position: absolute;
	top: 50%;
	left: 15px;
	display: block;
	margin-top: -10px;
	width: 16px;
	height: 16px;
	border: 2px solid #bbb;
	border-radius: 6px;
	content: '';
}  
.radio:before {
	-webkit-transition: opacity 0.2s linear;
	transition: opacity 0.2s linear;
	position: absolute;
	top: 50%;
	left: 20px;
	display: block;
	margin-top: -5px;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background-color: #E23981;
	content: '';
	opacity: 0;
}
input[type=radio]:checked + .radio:before {opacity: 1;}
.checkbox:before {
	-webkit-transition: opacity 0.2s linear;
	transition: opacity 0.2s linear;
	position: absolute;
	top: 50%;
	left: 21px;
	display: block;
	margin-top: -7px;
	width: 5px;
	height: 9px;
	border-right: 3px solid #E23981;
	border-bottom: 3px solid #E23981;
	content: '';
	opacity: 0;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}
input[type=checkbox]:checked + .checkbox:before {opacity: 1;}

.input {
    border: 1px solid #C9CACA;
    border-radius: 6px;
    padding-left: 1em;
    padding-right: 1em;
    height: 55px;
    width: 100%;
	box-sizing: border-box;
	margin-bottom: 1%;
}
.textarea {
    border: 1px solid #C9CACA;
    border-radius: 6px;
    padding: 1em;
    height: 200px;
    width: 100%;
    margin-top: 1%;
	box-sizing: border-box;
}
.form_btn{
	display: block;
	margin: 0 auto;
}

/**/
.list_2{
	max-width: 750px;
	margin:  0 auto;
}
.list_2 li{
    margin-bottom: 2%;
    position: relative;
    padding-left: 1.3em;
	font-size: .8em;
}
.list_2 li:before {
    border-radius: 50%;
    width: 5px;
    height: 5px;
    display: block;
    position: absolute;
    left: 10px;
    top: 13px;
    content: "";
    background: #C1114C;
}

/*footer*/
footer{
	background: #E23981;
	padding: 30px 2%;
	text-align:center;
	font-size:14px;
}
footer p{
    line-height: 1.3em;
	color:#fff;
}
footer a{
	font-size:13px;
	color:#fff;
	margin: 0 .5%;
}

@media screen and (max-width: 768px) {
   /*--- 表示領域が768px以下の場合に適用するスタイル ---*/

   .sp_site .wrap{background: rgba(255,244,228,0.8);}

}/*///media*/

@media screen and (max-width: 640px) {
   /*--- 表示領域が640px以下の場合に適用するスタイル ---*/
   body{font-size: 18px;}
	.sp{display: block!important;}
	.pc{display: none!important;}

	p br{display: none;}
	p br.br,.br p br{display: block;}

	.right{
		float: none;
		width: 90%;
		margin: 0 auto 5% auto;
	}

	/*header*/
	header h1{margin: 0 auto;}

	/**/
	.wrap{padding: 5% 2%;}
	
	.time{padding: 3% 2%;}

	/**/
	.tktn{
		display: block;
		width: 90%;
		padding-bottom: 2%;
		margin: 0 auto;
	}

	.pre{background-size: 25%;}
	.pre_f{
		width: 80%;
		padding: 7%;
	}
	.pre_f .pre_img{
		display: block;
		width: 85%;
		margin: 0 auto 3% auto;
	}
	.pre_f .pre_text{
		display: block;
		width: 100%;
		padding: 0;
	}

	.ab1{
		left: -20px;
		top: -40px;
		width: 60px;
	}
	.ab2{
		top: auto;
		bottom: -40px;
		right: -30px;
		width: 70px;
	}

	/**/
	.step{
		display: block;
		width: 90%;
		padding: 1%;
		box-sizing: border-box;
		margin:  0 auto;
	}

	/**/
	.tl{height: 350px;}

	/**/
	.sp_site{background-size: 35%,35%,15%,15%;}

	/**/
	ul.list{margin-bottom: 5%;}

	/**/
	.contact{padding: 5% 2% 0 2%;}
	.contact img.in{width: 35%;}
	.cont_box{width: 65%;}

	/*応募フォーム*/
	.form {
		margin: 0 auto;
		padding: 5%;
		background: #fff;
		border-radius: 15px;
		max-width: 750px;
	}
	.form-item {
		padding-bottom: 2%;
		width: 100%;
		align-items: center;
	}
	.form p{margin-bottom: 0;}
	.form-item .label {
		width: 100%;
		letter-spacing: 0.05em;
		margin-bottom: 1%;
	}

	/*ラジオボタン*/
	.radio, .checkbox {display: block;}
	.form_btn{width: 90%;}
	

}/*///media*/