/*------COURSE------*/
.bg-parallax .img_parallax {
	height: 600px;
}

#key::after {
	content: "";
	background: url(../img/shared/line.jpg) repeat-x top center;
	height: 2px;
	width: 100%;
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
}

#sec1 {
	background: url(../img/course/s1_bg2.png), url(../img/shared/bg-2.jpg);
	-webkit-background-size: 100% auto, auto;
	background-size: 100% auto, auto;
	background-repeat: no-repeat, repeat;
	background-position: bottom center;
	padding: 12% 0 25%;
	position: relative;
}

#sec1 h2 {
	margin-bottom: 5%;
}

#sec1 p.txt {
	padding: 3% 3% 6%;
}

#sec1 p.note {
	text-align: center;
}

#sec2 {
	position: relative;
}

#sec2 h2 {
	float: left;
	margin-top: -22%;
	position: relative;
	z-index: 10;
}

#sec2 .blk-1 {
	position: relative;
}

#sec2 .blk-1 p.photo {
	position: absolute;
	z-index: 3;
	bottom: -30%;
	left: 0;
}

#sec2 .blk-2 {
	background: #210f03;
	position: relative;
	z-index: 2;
	color: #dfd2c6;
	padding-top: 18%;
	padding-bottom: 15%;
}

#sec2 .blk-2 h3, #sec2 .blk-2 dl {
	font-family: 'Noto Serif JP', serif;
	text-align: center;
	letter-spacing: 0.12em;
}

#sec2 .blk-2 h3 {
	font-size: 22px;
	padding-bottom: 3%;
}

#sec2 .blk-2 dl {
	font-size: 18px;
	padding-bottom: 8%;
}

#sec2 .blk-2 dl dd {
	padding-top: 2%;
	color: #EE473B;
	font-size: 16px;
}

#sec2 .blk-2 p.txt {
	padding: 3% 3% 6%;
}

#sec2 .blk-2 ul {
	width: 300px;
	margin: 0 auto;
}

#sec2 .blk-2 ul li {
	float: left;
	display: table;
	text-align: center;
	width: 95px;
	height: 95px;
	background: url(../img/course/bg3.jpg);
	font-size: 18px;
	border-radius: 50%;
	overflow: hidden;
	font-family: 'Noto Serif JP', serif;
}

#sec2 .blk-2 ul li span {
	display: table-cell;
	vertical-align: middle;
}

#sec2 .blk-2 ul li + li {
	margin-left: 7px;
}

.parallax_img {
	padding: 40% 0;
	position: relative;
}

.parallax_img p {
	clip: rect(0, auto, auto, 0);
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
}

.parallax_img p img {
	width: 100%;
	height: 100vh;
	position: fixed;
	top: 0;
	left: 0;
	padding: 0;
	margin: 0;
	object-fit: cover;
	z-index: 0;
	transform: translateZ(0);
}

#sec3 {
	background: url(../img/course/s3_bg.jpg) no-repeat center;
	background-size: cover;
	padding-bottom: 15%;
	color: #dfd2c6;
}

#sec3 h2 {
	float: left;
	margin-top: -10%;
	position: relative;
	z-index: 4;
}

#sec3 p.txt {
	float: none;
	clear: both;
	padding: 5% 3% 6%;
}

#sec4 {
	background: url(../img/shared/bg-2.jpg);
	padding: 12% 0;
}

#sec4 h2 {
	margin-bottom: -4%;
}

#sec4 p.note {
	text-align: center;
}

#sec4 .toggle {
	background: url(../img/course/s4_bg2.png) repeat-y top center;
	-webkit-background-size: 100% auto;
	background-size: 100% auto;
	margin: 8% 3%;
	padding: 30px 3%;
	position: relative;
}

#sec4 .toggle::after {
	content: "";
	background: url(../img/course/s4_deco1.png) no-repeat bottom center;
	-webkit-background-size: 100% auto;
	background-size: 100% auto;
	height: 145px;
	width: 100%;
	position: absolute;
	bottom: -20px;
	left: -3%;
}

#sec4 .toggle .toggle-link {
	text-align: center;
	padding-bottom: 30px;
}

#sec4 .toggle .toggle-link::after {
	position: absolute;
	content: "";
	top: auto;
	bottom: 0px;
	right: auto;
	left: 50%;
	background: url(../img/course/toggle_arrow.png) no-repeat;
	-webkit-background-size: 100% auto;
	background-size: 100% auto;
	width: 30px;
	height: 15px;
	margin-top: 0;
	margin-left: -15px;
	transition: all 0.5s;
	transform: rotate(0);
}

#sec4 .toggle .toggle-link h3 {
	font-family: 'Noto Serif JP', serif;
	letter-spacing: 0.2rem;
	line-height: 1.3;
	font-size: 22px;
	text-align: center;
	border-bottom: 2px solid #402e22;
	padding-bottom: 10px;
}

#sec4 .toggle .toggle-link h3 span {
	font-size: 16px;
}

#sec4 .toggle .toggle-link p {
	color: #EE473B;
	font-size: 18px;
	padding-top: 10px;
}

#sec4 .toggle p.top {
	font-weight: 600;
	padding-top: 14px;
	text-align: center;
}

#sec4 .toggle ul {
	text-align: center;
	padding-bottom: 20px;
}

#sec4 .toggle .frame {
	padding: 15px;
	border: 1px solid #402e22;
}

#sec4 .toggle + .toggle::after {
	content: "";
	background: url(../img/course/s4_deco2.png) no-repeat bottom center;
	-webkit-background-size: 100% auto;
	background-size: 100% auto;
	height: 189px;
	width: 100%;
	position: absolute;
	bottom: -50px;
	left: 0%;
	right: -3%;
}

#sec4 .toggle.active .toggle-link:after {
	transform: rotateX(180deg);
}

#sec5 {
	background: url(../img/course/s5_bg1.png), url(../img/course/s5_bg2.png), url(../img/course/s5_bg3.jpg);
	background-repeat: no-repeat, no-repeat, repeat-y;
	-webkit-background-size: 100% auto;
	background-size: 100% auto;
	background-position: top center, bottom center, top center;
	color: #dfd2c6;
}

#sec5 .toggle-link:after {
	display: none;
}

#sec5 .toggle-main {
	padding-bottom: 15%;
}

#sec5 .row {
	margin: 5% 3% 0;
	padding: 8% 5%;
	border: 1px solid #f3ecde;
}

#sec5 .row dl dt, #sec5 .row dl dd {
	position: relative;
	padding-left: 35px;
}

#sec5 .row dl dt {
	margin-bottom: 5%;
}

#sec5 .row dl dt:before {
	content: "";
	background: url(../img/course/qa_q.png) no-repeat top center;
	-webkit-background-size: 100% auto;
	background-size: 100% auto;
	width: 30px;
	height: 30px;
	position: absolute;
	top: 0;
	left: 0px;
}

#sec5 .row dl dd:before {
	content: "";
	background: url(../img/course/qa-a.png) no-repeat top center;
	-webkit-background-size: 100% auto;
	background-size: 100% auto;
	width: 30px;
	height: 30px;
	position: absolute;
	top: 0;
	left: 0px;
}

#sec5 .row p {
	margin-top: 5%;
}
#sec5 .toggle {
    background: url(../img/course/s4_bg2.png) repeat-y top center;
    -webkit-background-size: 100% auto;
    background-size: 100% auto;
    margin: 8% 3%;
    padding: 30px 3%;
    position: relative;
}
#sec5 .toggle-link:before {
	position: absolute;
	content: "";
	top: auto;
	bottom: 7px;
	right: auto;
	left: 50%;
	background: url(../img/course/toggle_arrow_white.png) no-repeat;
	-webkit-background-size: 100% auto;
	background-size: 100% auto;
	width: 30px;
	height: 15px;
	margin-top: 0;
	margin-left: -15px;
	transition: all 0.5s;
	transform: rotate(0);
}

#sec5.toggle.active .toggle-link:before {
    transform: rotateX(180deg);
}

@-webkit-keyframes fadeInUpNew {
	0% {
		opacity: 0;
		-webkit-transform: translate3d(0, 10%, 0);
		transform: translate3d(0, 10%, 0);
	}

	to {
		opacity: 1;
		-webkit-transform: none;
		transform: none;
	}

}

@keyframes fadeInUpNew {
	0% {
		opacity: 0;
		-webkit-transform: translate3d(0, 10%, 0);
		transform: translate3d(0, 10%, 0);
	}

	to {
		opacity: 1;
		-webkit-transform: none;
		transform: none;
	}

}

.fadeInUpNew {
	-webkit-animation-name: fadeInUpNew;
	animation-name: fadeInUpNew;
}
