#movie{
	padding:75px 0 110px;
	text-align:center;
}
#movie .youtube{
	max-width:700px;
	margin:0 auto 40px;
}
#entry{
	background:#eeefef;
}
#entry h2{
	border:none;
}

.flow > li{
	position:relative;
	padding:20px 25px;
	margin:0 0 50px;
	background:#fff;
	border-radius:15px;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
}
.flow > li::after{
	position:absolute;
	content:"";
	bottom:-50px;
	left:0;
	width:100%;
	height:50px;
	background:url(../../img/arrow.svg) no-repeat;
	background-position:center;
	background-size:40px 21px;
}
.flow > li:last-child::after{
	display:none;
}
.flow dl{
	display:flex;
	justify-content:space-between;
}
.flow dl dt{
	width:50px;
	margin:0 20px 0 0;
}
.flow dl dt div{
	width:100%;
	height:50px;
	padding:10px 0 0;
	font-size:28px;
	color:#fff;
	font-weight:600;
	background:#ab0a3d;
	line-height:1;
	text-align:center;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
}
.flow dl dd{
	width:calc(100% - 70px);
	font-size:14px;
	overflow-wrap: break-word;
}
.flow dl dd ul{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
}
.flow dl dd ul li:first-child{
	width:55%;
}
.flow dl dd ul li:last-child{
	width:42%;
}
.flow dl dd ul li:last-child img{
	width:100%;
}

.price{
	display:grid;
	grid-template-columns: 32% 15% 53%;
	margin:0 auto 12px;
	font-size:14px;
	background:#fff;
}
.price li{
	border-right:1px solid #878788;
	border-top:1px solid #878788;
}
.price li:nth-of-type(1),.price li:nth-of-type(2),.price li:nth-of-type(3){
	padding:8px 0;
	line-height:1;
	font-weight:700;
	border-right:1px solid #878788;
	border-bottom:2px solid #878788;
	border-top:none;
	text-align:center;
}
.price li:nth-of-type(3n + 1):not(.price li:nth-of-type(1)){
	display:flex;
	align-items:center;
	justify-content:center;
	color:#ab0a3d;
	background:#f5dddd;
	font-size:16px;
	line-height:1.2;
	font-weight:700;
	text-align:center;
}
.price li:nth-of-type(3n + 2):not(.price li:nth-of-type(2)){
	display:flex;
	align-items:center;
	justify-content:center;
	vertical-align:bottom;
	font-size:18px;
	font-weight:700;
}
.price li:nth-of-type(3n + 2) span{
	margin:3px 0 0 5px;
	font-size:14px;
}
.price li:nth-of-type(3n + 3){
	padding:8px 15px;
	border-right:none;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
}

.attention{
	margin:0 0 35px;
	text-align:right;
	font-size:12px;
	font-weight:500;
}
.detail{
	margin:0 auto 60px;
}
.detail > li:nth-of-type(odd){
	height:46px;
	padding:15px 0 0 38px;
	margin:0;
	line-height:1;
	font-weight:600;
	background:#fff url(../img/arrow_red_down.svg) no-repeat;
	background-position:right 50px center;
	background-size:12px;
	border-bottom:2px solid #878788;
	cursor:pointer;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
}
.detail > li:nth-of-type(even){
	display:none;
	padding:30px 5%;
	background:#fff;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
}
.detail > li.open{
	background:#fff url(../img/arrow_red_up.svg) no-repeat;
	background-position:right 50px center;
	background-size:12px;
}
.detail > li > ul{
	margin:10px 0;
}
.detail > li > ul li{
	position:relative;
	padding:0 0 0 20px;
}
.detail > li > ul li::before{
	position:absolute;
	content:"●";
	left:0;
	color:#ab0a3d;
}
/*----------------------------------*/
#instructors{
	padding:30px 0 0;
}
.instructor{
	margin:60px auto 0;
}
.instructor > li{
	margin:0 0 60px;
}
.instructor > li:last-child{
	padding:0;
	margin:0;
}

.instructor h4{
	margin:0 0 20px;
	font-size:24px;
	font-weight:600;
	line-height:1;
}
.instructor h4 span{
	display:block;
	margin:0 0 10px;
	font-size:16px;
}
.specialty{
	margin:0 0 10px;
	color:#ab0a3d;
	line-height:1;
	font-weight:600;
}
.specialty span{
	display:inline-block;
	padding:4px 15px;
	margin:0 10px 0 0;
	background:#ab0a3d;
	border-radius:3px;
	color:#fff;
	font-size:14px;
}
.instructor ul li{
	position:relative;
	padding:0 0 0 20px;
	margin:0 0 5px;
	font-size:14px;
	line-height:1.5;
}
.instructor ul li::before{
	position:absolute;
	content:"●";
	color:#ab0a3d;
	left:0;
}

/*----------------------------------*/
#contact iframe{
	overflow-y: hidden;
}
/*----------------------------------*/
#link ul li{
	margin:0 0 15px;
	padding:0 0 15px;
	border-bottom:1px solid #878788;
}

/*----------------------------------*/
#policy{
	margin:0 0 90px;
}
.policy > li:nth-of-type(odd){
	height:46px;
	padding:15px 0 0 38px;
	margin:0 0 14px;
	line-height:1;
	font-weight:600;
	background:#eeefef url(../img/arrow_down.svg) no-repeat;
	background-position:right 50px center;
	background-size:12px;
	cursor:pointer;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
}
.policy > li:nth-of-type(even){
	display:none;
	padding:0 0 30px;
}
.policy > li.open{
	background:#eeefef url(../img/arrow_up.svg) no-repeat;
	background-position:right 50px center;
	background-size:12px;
}
.policy > li > ul li{
	position:relative;
	padding:0 0 0 15px;
}
.policy > li > ul li::before{
	position:absolute;
	content:"・";
	left:0;
}

@media screen and (max-width: 980px) {
	#movie{
		padding:55px 0 65px;
	}
	/*----------------------------------*/
	.flow > li{
		padding:10px;
	}
	.flow dl dt{
		width:24px;
		margin:0 10px 0 0;
	}
	.flow dl dt div{
		height:24px;
		padding:5px 0 0;
		font-size:13px;
	}
	.flow dl dd{
		width:calc(100% - 34px);
	}
	.flow dl dd ul li:first-child{
		width:100%;
	}
	.flow dl dd ul li:last-child{
		width:100%;
	}
	
	.price{
		display:block;
		font-size:12px;
	}
	.price li{
		border:none;
	}
	.price li:nth-of-type(1),.price li:nth-of-type(2),.price li:nth-of-type(3){
		display:none;
	}
	.price li:nth-of-type(3n + 1):not(.price li:nth-of-type(1)){
		height:40px;
	}
	.price li:nth-of-type(3n + 2):not(.price li:nth-of-type(2)){
		height:40px;
		font-size:20px;
		border-bottom:1px solid #878788;
	}
	.price li:nth-of-type(3n + 2) span{
		font-size:15px;
	}
	.detail{
		position:relative;
		width:126%;
		left:-13%;
		right:0;
		margin:0 auto 30px;
	}
	.detail > li:nth-of-type(even){
		padding:30px 10%;
	}
	/*----------------------------------*/
	.instructor ul li{
		word-break: break-all;
	}
	#contact .inner{
		width:100%;
	}
	/*----------------------------------*/
	#policy .inner{
		width:100%;
	}
	.policy > li:nth-of-type(even){
		width:80%;
		margin:0 auto;
	}

}
