/* common */
.wrapper {
	background: url(../images/all_bg.gif);
	min-width: 1280px;
	overflow: hidden;
}
.header_inner,
.voice_inner,
.subscription_inner {
	width: 1160px;
	margin: auto;
}
.cont_ttl {
	text-align: center;
	position: relative;
}
.cont_ttl:before,
.cont_ttl:after {
	content: '';
	display: block;
	position: absolute;
	height: 36px;
	width: 100%;
	background: url(../images/cont_ttl_bg.png) no-repeat center center;
}
.cont_ttl:before {
	top: 0;
}
.cont_ttl:after {
	bottom: 0;
}
.pc_only {
	display: block;
}
.sp_only {
	display: none;
}
@media screen and (max-width: 750px) {
	.wrapper {
		min-width: 100%;
		background-size: 50px auto;
	}
	.header_inner,
	.voice_inner,
	.subscription_inner {
		width: 100%;
		padding: 0 3.066%;
		box-sizing: border-box;
	}
	.cont_ttl {
		width: calc(100% + 6.132%);
		margin-left: -3.066%;
	}
	.cont_ttl:before,
	.cont_ttl:after {
		height: 4.8vw;
		background-image: url(../images/sp/cont_ttl_bg.png);
		background-size: 100% auto;
	}
	img {
		max-width: 100%;
		width: auto;
	}
	.pc_only {
		display: none;
	}
	.sp_only {
		display: block;
	}
}

/* header */
.header {
	background: #fff;
	padding: 18px 0;
	border-bottom: 1px solid #e5e5e5;
}
.hd_logo {
	float: left;
}
.hd_txt {
	float: right;
	font-size: 14px;
	margin-top: 22px;
	letter-spacing: 0.075em;
}
@media screen and (max-width: 750px) {
	.header {
		padding: 3.133vw 0;
	}
	.hd_txt {
		font-size: 2.933vw;
		margin-top: 2.933vw;
	}
}

/* mv */
.mv {
	height: 1340px;
	background: url(../images/mv_bg.jpg) no-repeat center 0px;
	padding-bottom: 60px;
	padding-top: 59px;
	box-sizing: border-box;
}
.mv_inner {
	text-align: center;
	position: relative;
	height: 540px;
}
.mv_book {
	position: absolute;
	top: 132px;
	left: 50%;
	margin-left: -615px;
}
.mv_no1 {
	position: absolute;
	top: 134px;
	left: 50%;
	margin-left: 301px;
}
.mv_txt {
	margin-top: 28px;
}
@media screen and (max-width: 750px) {
	.mv {
		height: auto;
		background-image: url(../images/sp/mv_bg.jpg);
		background-size: 100% auto;
		padding-bottom: 9vw;
		padding-top: 0;
	}
	.mv_inner {
		height: 0;
		padding-top: 129%;
	}
	.mv_ttl {
		position: absolute;
		top: 6.4%;
		left: 0;
		width: 100%;
	}
	.mv_book {
		width: 32.3%;
		top: 30.5%;
		left: 10%;
		margin-left: 0;
	}
	.mv_no1 {
		top: 30.4%;
		left: 55.4%;
		margin-left: 0;
		width: 36.8%;
	}
	.mv_txt {
		margin-top: 0;
		position: absolute;
		top: 17.6%;
		left: 13%;
	}
}

/* btn */
.btn_area {
	/* margin-top: 37px; */
	position: relative;
}
.btn_wrap {
	background: #fff;
	width: 540px;
	height: 140px;
	margin: -8px auto 0;
	border-radius: 8px;
	box-shadow: 17px 22px 16px 0px rgba(65, 66, 65, 0.24);
}
.btn_wrap_short {
	height: 110px;
}
.btn {
	background:#ff0000 url(../images/btn_bg.png) no-repeat;
	display: block;
	width: 100%;
	height: 100%;
	color: #fff;
	text-decoration: none;
	box-sizing: border-box;
	padding-top: 16px;
	position: relative;
	z-index: 2;
	text-align: center;
	border-radius: 8px;
	-webkit-transition: opacity .3s;
	transition: opacity .3s;
	letter-spacing: 0.15em;
	padding-right: 2em;
}
.btn_wrap_short .btn {
	padding-top: 22px;
	background-image:url(../images/btn_bg_s.png);
}
.btn:hover {
	opacity: 0.7;
}
.btn:after {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	width: 15px;
	height: 15px;
	margin: auto;
	right: 30px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	-webkit-animation: btnAnime 1.3s infinite;
	animation: btnAnime 1.3s infinite;
}
.btn_f {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	-webkit-transform: translateY(77px);
	transform: translateY(77px);
	-webkit-transition: transform .3s;
	transition: transform .3s;
	text-align: center;
}
.subscription .btn_f {
	top: 8px;
}
.mv.animated .btn_f {
	-webkit-transform: translateY(0);
	transform: translateY(0);
	-webkit-transition: transform .3s .4s;
	transition: transform .3s .4s;
}
.mv .btn_area {
	padding-top: 77px;
	position: absolute;
	/*↓3冊コースあり↓*/
	top: 261px;
	/*↓3冊コースなし↓*/
	top: 275px;
	left: 0;
	width: 100%;
}
.btn_main_txt {
	display: block;
	font-size: 32px;
	font-weight: 600;
	line-height: 1.2;
}
.btn_sub_txt {
	display: block;
	font-size: 18px;
	margin-top: 8px;
	letter-spacing: 0.08em;
	padding-left: 0.1em;
}
.is_show.is_floating .btn_wrap:hover + .btn_f {
	-webkit-transform: translateY(-77px);
	transform: translateY(-77px);
}
.is_show.is_floating .btn_wrap + .btn_f {
	-webkit-transform: translateY(0);
	transform: translateY(0);
}
.is_show .btn_wrap + .btn_f  {
	-webkit-transform: translateY(-77px);
	transform: translateY(-77px);
}
.fixed {
	position: absolute;
	width: 540px;
	bottom: -3px;
	left: 50%;
	margin-left: -270px;
	padding-bottom: 30px;
	z-index: 10;
}
.fixed_btn {
	position: static;
	-webkit-transform: translate(0, 180px);
	transform: translate(0, 180px);
	bottom: 30px;/*ボタン下の隙間*/
	-webkit-transition: transform 0.4s;
	transition: transform 0.4s;
}
.is_floating .fixed_btn {
	position: fixed;
}
.is_show .fixed_btn {
	-webkit-transform: translate(0, 0);
	transform: translate(0, 0);
}
.fixed_line {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
}
@media screen and (max-width: 750px) {
	.btn_area {margin-top: 0;}
	.mv .btn_area {
		position: absolute;
		top: auto;
		bottom: 6.2%;
		left: 10vw;
		padding-top: 12vw;
		width: 80vw;
	}
	.btn_wrap {
		width: 80vw;
		height: 22.4vw;
		box-shadow: 0px 3.7333vw 2.1333vw 0px rgba(66, 65, 66, 0.24);
	}
	.btn_wrap_short {
		height: 17.3vw;
	}
	.btn {
		padding-top: 2vw;
		background-image: url(../images/sp/btn_bg.png);
		background-size: 100% auto;
		border-radius: 2.133vw;
		padding-right: 0.9em;
	}
	.btn_wrap_short .btn {
		padding-top: 2.3vw;
		background-image: url(../images/sp/btn_bg_s.png);
	}
	.btn:hover {
		opacity: 1;
	}
	.btn:after {
		width: 6px;
		height: 6px;
		right: 17px;
		-webkit-animation: btnAnime-sp 1.3s infinite;
		animation: btnAnime-sp 1.3s infinite;
	}
	.btn_f {
		-webkit-transform: translateY(12vw);
		transform: translateY(12vw);
	}
	.btn_main_txt {
		font-size: 4.8vw;
		line-height: 1.4;
		letter-spacing: 0.075em;
	}
	.btn_sub_txt {
		font-size: 3.4666vw;
		margin-top: 1vw;
		letter-spacing: 0.075em;
	}
	.fixed {
		width: 80vw;
		margin-left: -40vw;
		padding-bottom: 8vw;/*ボタン下の隙間*/
	}
	.fixed_btn {
		bottom: 8vw;
	}
	.is_show.is_floating .btn_wrap + .btn_f ,
	.is_show.is_floating .btn_wrap:hover + .btn_f,
	.is_show .btn_wrap + .btn_f  {
		-webkit-transform: translateY(-10vw);
		transform: translateY(-10vw);
	}
	.subscription .btn_f {
		top: 0;
	}
}

.kininaru {
	width: 1160px;
	margin: 0 auto;
	background: #f8d5c1;
	text-align: center;
	z-index: 2;
	position: relative;
}
.kininaru:before,
.kininaru:after,
.kininaru_top:before ,
.kininaru_bottom:after {
	content: '';
	display: block;
	position: absolute;
	z-index: 1;
	opacity: 0.15;
}
.kininaru:before,
.kininaru:after {
	width: 8px;
	height: 100%;
	top: 0;
}
.kininaru_top:before ,
.kininaru_bottom:after {
	width:  100%;
	height: 8px;
	left: 0;
}
.kininaru:before {
	left: 0;
	background: -moz-linear-gradient(left, rgba(85,85,85,1) 0%, rgba(85,85,85,0) 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(left, rgba(85,85,85,1) 0%,rgba(85,85,85,0) 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to right, rgba(85,85,85,1) 0%,rgba(85,85,85,0) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#555555', endColorstr='#00555555',GradientType=1 ); /* IE6-9 */
}
.kininaru:after {
	right: 0;
	background: -moz-linear-gradient(left, rgba(85,85,85,0) 0%, rgba(85,85,85,1) 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(left, rgba(85,85,85,0) 0%,rgba(85,85,85,1) 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to right, rgba(85,85,85,0) 0%,rgba(85,85,85,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00555555', endColorstr='#555555',GradientType=1 ); /* IE6-9 */
}
.kininaru_top:before {
	top: 0;
	background: -moz-linear-gradient(top, rgba(85,85,85,1) 0%, rgba(85,85,85,0) 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(top, rgba(85,85,85,1) 0%,rgba(85,85,85,0) 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom, rgba(85,85,85,1) 0%,rgba(85,85,85,0) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#555555', endColorstr='#00555555',GradientType=0 ); /* IE6-9 */
}
.kininaru_bottom:after {
	bottom: 0;
	background: -moz-linear-gradient(top, rgba(85,85,85,0) 0%, rgba(85,85,85,1) 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(top, rgba(85,85,85,0) 0%,rgba(85,85,85,1) 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom, rgba(85,85,85,0) 0%,rgba(85,85,85,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00555555', endColorstr='#555555',GradientType=0 ); /* IE6-9 */
}
.kininaru_top {
	position: relative;
	overflow: hidden;
	height: 500px;
	background: url(../images/kininaru_bg.jpg) no-repeat center bottom;
}
.kininaru_catch {
	position: absolute;
	top: 39px;
	left: 228px;
	font-size: 40px;
	font-weight: 500;
}
.kininaru_catch .pink {
	color: #ff005a;
	font-size: 50px;
}
.kininaru_f_1 {
	position: absolute;
	top: -2px;
	left: 47px;
}
.kininaru_f_2 {
	position: absolute;
	top: -99px;
	left: 192px;
}
.kininaru_f_3 {
	position: absolute;
	top: -119px;
	left: 647px;
}
.kininaru_f_4 {
	position: absolute;
	top: 0;
	left: 817px;
}
.kininaru_bottom {
	font-size: 48px;
	line-height: 1.4;
	background: #fff;
	padding: 16px 0 26px;
	font-weight: 500;
	position: relative;
}
.kininaru_bottom .pink {
	color: #ff005a;
}

@media screen and (max-width: 750px) {
	.kininaru {
		width: 100%;
		margin-top: 0;
	}
	.kininaru:before,
	.kininaru:after {
		display: none;
	}
	.kininaru_top:before ,
	.kininaru_bottom:after {
		height: 4px;
	}
	.kininaru_top {
		height: 0;
		padding-top: 84.5333%;
		background-image: url(../images/sp/kininaru_bg.jpg);
		background-size: 100% auto;
	}
	.kininaru_catch {
		width: 100%;
		text-align: center;
		left: 0;
		font-size: 4.8vw;
		top: 6.2%;
		padding-left: 0.2em;
	}
	.kininaru_catch .pink {
		font-size: 6.1333vw;
	}
	.kininaru_f_1 {
		width: 42.4%;
		top: 11.6%;
		left: -1.3%;
	}
	.kininaru_f_2 {
		width: 41%;
		top: -15%;
		left: 12%;
	}
	.kininaru_f_3 {
		width: 40.6%;
		top: -15%;
		left: 50%;
	}
	.kininaru_f_4 {
		width: 43%;
		top: 5%;
		left: 62%;
	}
	.kininaru_bottom {
		font-size: 6.1333vw;
		padding: 1.6vw 0;
	}
}


/* special */
.special {	
	background-image:  url(../images/special_bg.png) ;
	background-position: center top;
	background-repeat: no-repeat;
	padding-top: 64px;
	padding-bottom: 65px;
}
.special .cont_ttl {
	padding: 48px 0 60px;
}
.special_ttl_catch {
	display: block;
	font-size: 27px;
	font-weight: 600;
	color: #fc3725;
}
.special_main_ttl {
	display: block;
	position: relative;
	text-align: center;
}
.special_main_ttl img {
	position: relative;
	z-index: 2;
}
.special_main_ttl .special_ttl_line {
	position: absolute;
	bottom: -5px;
	left: 50%;
	z-index: 1;
	margin-left: -565px;
}
.special_ttl_icon {
	position: absolute;
	top: -25px;
	left: 50%;
	margin-left: -547px;
}
.special_inner {
	width: 1160px;
	margin: 2px auto 0;
	text-align: right;
}
@media screen and (max-width: 750px) {
	.special {	
		background-image: url(../images/sp/special_bg.jpg);
		background-size: 100% auto;
		padding-top: 14.2vw;
		padding-bottom: 8vw;
		margin-top: -1vw;
	}
	.special .cont_ttl {
		padding: 7.733vw 0;
	}
	.special_ttl_catch {
		font-size: 4.2666vw;
	}
	.special_main_ttl .special_ttl_line {
		bottom: 19.5vw;
		margin-left: 0;
		left: 24%;
	}
	.special_main_ttl .special_ttl_line2 {
		bottom: 8.8vw;
		left: 5.2%;
		width: 85.53%;
		transition: clip-path .5s .6s;
		-webkit-transition: -webkit-clip-path .5s .6s;
	}
	.special_ttl_icon {
		top: -16%;
		left: 6%;
		margin-left: 0;
		width: 15.1%;
	}
	.special_ttl_icon img {
		width: 100%;
	}
	.special_inner {
		width: 100%;
		margin-top: 3vw;
		text-align: center;
	}
}

/* series */
.series {
	width: 1200px;
	margin: 62px auto 0;
	padding-bottom: 60px;
}
.series .cont_ttl {
	padding: 52px 0 37px 0;
}
.series_main_ttl {
	margin-left: -3px;
	position: relative;
}
.series_main_ttl img {
	position: relative;
	z-index: 2;
}
.series_main_ttl .series_ttl_line {
	position: absolute;
	bottom: 7px;
	right: 50%;
	z-index: 1;
	margin-right: -57px;
}
.series_list {
	text-align: center;
	margin-top: 20px;
	font-size: 0;
}
.series_list > li {
	display: inline-block;
	vertical-align: top;
	padding: 0 20px;
	margin-top: 40px;
	font-size: 14px;
	position: relative;
	text-align: left;
}
.series_list > li:nth-child(odd) {
	margin-right: 20px;
}
.series_list > li:nth-child(even) {
	margin-left: 20px;
}
.series_list > li:nth-child(2):after,
.series_list > li:nth-child(3):after {
	content: '';
	display: block;
	width: 1px;
	position: absolute;
	top: 0;
	height: 100%;
	border-left: 2px dotted #000;
}
.series_list > li:nth-child(2):after {
	left: -23px;
}
.series_list > li:nth-child(3):after {
	right: -22px;
}
.series_icon {
	position: absolute;
	top: -20px;
	left: 0;
}
.series_img {
	margin-bottom: 13px;
}
.series_subttl {
	font-size: 18px;
	font-weight: 500;
	line-height: 1.222;
}
.series_ttl {
	font-size: 28px;
	font-weight: 500;
	line-height: 1.185;
	color: #009fa8;
	margin-top: 1px;
}
.series_txt {
	margin-top: 7px;
}
@media screen and (max-width: 750px) {
	.series {
		width: 100%;
		margin-top: 8.5vw;
		padding-bottom: 8vw;
	}
	.series .cont_ttl {
		padding: 8vw 0 6.3vw;
	}
	.series_main_ttl .series_ttl_line {
		bottom: 0.3vw;
		right: 42.2%;
		margin-right: 0;
	}
	.series_list {
		margin-top: 1vw;
	}
	.series_list > li {
		width: 100%;
		box-sizing: border-box;
		padding: 0 8.4vw;
		font-size: 2.4vw;
		margin-top: 7.433vw;
	}
	.series_list > li + li {
		margin-top: 9.133vw;
	}
	.series_list > li:nth-child(odd) {
		margin-right: 0;
	}
	.series_list > li:nth-child(even) {
		margin-left: 0;
	}
	.series_list > li:nth-child(2):after,
	.series_list > li:nth-child(3):after {
		display: none;
	}
	.series_icon {
		left: 3.06vw;
		top: -3vw;
	}
	.series_img {
		margin-bottom: 1.3vw;
	}
	.series_subttl {
		font-size: 2.9333vw;
	}
	.series_ttl {
		font-size: 4.2666vw;
		margin-top: 0.2vw;
	}
	.series_txt {
		margin-top: 1vw;
	}
}

/* voice */
.voice {
	background: url(../images/voice_bg.gif);
	padding-top: 66px;
	padding-bottom: 64px;
}
.voice .cont_ttl {
	padding: 49px 0;
}
.voice .voice_main_ttl {
	margin-left: 15px;
}
.voice .cont_ttl .voice_f_1 {
	position: absolute;
	top: -22px;
	left: 50%;
	margin-left: -242px;
}
.voice .cont_ttl .voice_f_2 {
	position: absolute;
	top: -4px;
	right: 50%;
	margin-right: -261px;
}
.voice_list {
	font-size: 0;
	margin-top: 120px;
}
.voice_list > li {
	display: inline-block;
	vertical-align: top;
	background: #fff;
	position: relative;
	font-size: 18px;
	width: 370px;
	height: 360px;
	border-radius: 8px;
	box-sizing: border-box;
	padding: 92px 23px 0;
}
.voice_list > li + li {
	margin-left: 24px;
}
.voice_avatar {
	position: absolute;
	top: -79px;
	left: 50%;
	margin-left: -78px;
}
.voice_year {
	color: #5ca12a;
	font-size: 14px;
	text-align: center;
}
.voice_name {
	margin-top: 15px;
	text-align: center;
	padding-left: 0.6em;
}
.voice_ttl {
	color: #ff005a;
	font-size: 24px;
	font-weight: 600;
	line-height: 1.41666;
	margin-top: 43px;
	position: relative;
	padding-right: 20px;
}
.voice_ttl:before {
	content: '';
	display: block;
	width: 40px;
	height: 1px;
	position: absolute;
	top: -19px;
	left: 50%;
	margin-left: -20px;
	background: #b5b5b5;
}
.voice_txt {
	line-height: 1.5555;
	margin-top: 7px;
}
@media screen and (max-width: 750px) {
	.voice {
		background-size: 15px auto;
		padding-top: 8.8vw;
		padding-bottom: 8vw;
	}
	.voice .cont_ttl {
		padding: 7.4666vw 0;
	}
	.voice .voice_main_ttl {
		margin-left: 0;
	}
	.voice .cont_ttl .voice_f_1 {
		top: -18%;
		left: 9%;
		margin-left: 0;
	}
	.voice .cont_ttl .voice_f_2 {
		top: -7%;
		right: 10%;
		margin-right: 0;
	}
	.voice_list {
		margin-top: 17.86vw;
	}
	.voice_list > li {
		display: block;
		width: 100%;
		height: auto;
		border-radius: 4px;
		padding: 14.333vw 3.333vw 3.333vw;
	}
	.voice_list > li + li {
		margin-left: 0;
		margin-top: 16vw;
	}
	.voice_avatar {
		top: 0;
		margin-left: 0;
		-webkit-transform: translate(-50%,-50%);
		transform: translate(-50%,-50%);
	}
	.voice_year {
		font-size: 2.9333vw;
	}
	.voice_name {
		font-size: 3.4666vw;
		margin-top: 2.1333vw;
	}
	.voice_ttl {
		font-size: 3.84vw;
		text-align: center;
		margin-top: 5.96vw;
		padding-right: 0px;
		padding-left: 1.5vw;
		}
	.voice_ttl:before {
		width: 6.4vw;
		top: -3vw;
		margin-left: -3.2vw;
	}
	.voice_txt {
		font-size: 2.88vw;
		margin-top: 1.066vw;
	}
}
/* subscription */
.subscription {
	padding-top: 46px;
	padding-bottom: 38px;
}
.subscription_inner {
	position: relative;
}
.subscription .cont_ttl {
	padding: 51px 0;
}
.subscription_ttl {
	margin-left: 14px;
}
.subscription_img {
	margin-top: 40px;
}
.subscription_notes {
	font-size: 14px;
	line-height: 1.28;
	margin-top: 34px;
	font-weight: 500;
}
.subscription_course {
	position: relative;
	margin-top: 21px;
	/*↓3冊コースなし↓*/
	padding-bottom: 24px;
	/*↓3冊コースあり↓*/
	/* padding-bottom: 52px; */
}
.course_book {
	float: left;
}
.course_price_wrap {
	float: right;
	border-top: 2px dotted #000;
	padding-top: 11px;
	/*↓3冊コースなし↓*/
	border-bottom: 2px dotted #000; 
}
.course_price_main,
.course_price_sub {
	float: left;
}
.course_price_main {
	margin-right: 12px;
}
.course_price_sub {
	border-left: 2px dotted #000;
	padding-left: 21px;
	padding-right: 20px;
	/*↓3冊コースなし↓*/
 	padding-top: 18px; 
}
.course_price {
	/*↓3冊コースあり↓*/
	/* border-bottom: 2px dotted #000; */
	/* padding-bottom: 16px; */
	/*↓3冊コースなし↓*/
	padding-bottom: 20px; 
}
.course_price dd {
	padding-top: 17px;
}
.course_price_sub dd {
	padding-right: 15px;
}
.course_price_1year dt {
	font-size: 28px;
}
.course_price_1year dt .large {
	font-size: 56px;
	font-weight: 600;
}
.course_price_1year dd {
	font-size: 22px;
}
.course_price_1year dd .large {
	font-size: 28px;
}
.course_price_sub dt {
	font-size: 20px;
}
.course_price_sub dt .large {
	font-size: 32px;
	font-weight: 600;
}
.course_price_sub dd {
	font-size: 14px;
	padding-right: 0;
}
.course_price_sub dd .large {
	font-size: 20px;
}
.course_price .red {
	color: #ff0000;
}
.course_price_3month {
	padding-top: 12px;
}
.subscription_mark {
	position: absolute;
	bottom: 28px;
	right: 0;
}
.subscription_mark_logo {
	display: inline-block;
	vertical-align: middle;
	margin-left: 14px;
}
@media screen and (max-width: 750px) {
	.subscription {
		padding-top: 8vw;
		padding-bottom: 17.7vw;
	}
	.subscription .cont_ttl {
		padding: 8vw 0;
	}
	.subscription_ttl {
		margin-left: 0;
	}
	.subscription_img {
		margin-top: 5.333vw;
	}
	.subscription_notes {
		font-size: 2.4vw;
		line-height: 1.55;
		margin-top: 4.5vw;
	}
	.subscription_course {
		margin-top: 3.533vw;
		padding-bottom: 25vw;
	}
	.course_book {
		width: 31.53%;
	}
	.course_price_wrap {
		width: 64.4%;
		padding-top: 0;
		border-top: none;
		padding-bottom: 18.6vw;
		border-bottom: none;
	}
	.course_price {
		padding-bottom: 2.066vw;
	}
	.course_price dd {
		padding-top: 1.4vw;
	}
	.course_price_main,
	.course_price_sub {
		float: none;
	}
	.course_price_main {
		margin-right: 0;
		margin-top: 0;
		border-bottom: 1px dotted #000;
	}
	.course_price_sub {
		border-left: none;
		padding-left: 0;
		padding-right: 0;
		padding-top: 0;
	}
	.course_price_1year dt {
		font-size: 3.7333vw;
	}
	.course_price_1year dt .large {
		font-size: 6.9333vw;
	}
	.course_price_1year dd {
		font-size: 3.2vw;
		line-height: 1.3;
	}
	.course_price_1year dd .large {
		font-size: 4vw;
	}
	.course_price_sub dt {
		font-size: 2.9333vw;
		padding-top: 2.666vw;
	}
	.course_price_sub dt .large {
		font-size: 4.2666vw;
	}
	.course_price_sub dd {
		font-size: 2.666vw;
		padding-right: 0;
	}
	.course_price_sub dd .large {
		font-size: 3.4666vw;
	}
	.course_price_3month {
		border-bottom: none;
		padding-top: 0;
	}
	.subscription_mark {
		bottom: -14vw;
	}
	.subscription_mark_logo {
		margin-left: 1.1333vw;
	}
}

/* footer */
.footer {
	background: #5ca12a;
	color: #fff;
	font-size: 14px;
	text-align: center;
	font-family: 'M PLUS 1p', sans-serif;
	padding: 20px 0;
}
@media screen and (max-width: 750px) {
	.footer {
		font-size: 9px;
		padding: 11px 0;
	}
	.footer_wrap {
		background: #5ca12a;
		padding-bottom: constant(safe-area-inset-bottom);
		padding-bottom: env(safe-area-inset-bottom);
	}
}

/* ---------
   animation
----------- */
/* kininaru */
.kininaru_f_1,
.kininaru_f_2,
.kininaru_f_3,
.kininaru_f_4 {
	-webkit-transform: translateY(-100%);
	transform: translateY(-100%);
}
.kininaru_f_1 {
	-webkit-transition: transform 1s ease;
	transition: transform 1s ease;
}
.kininaru_f_2 {
	-webkit-transition: transform 1s .3s ease;
	transition: transform 1s .3s ease;
}
.kininaru_f_3 {
	-webkit-transition: transform 1s .4s ease;
	transition: transform 1s .4s ease;
}
.kininaru_f_4 {
	-webkit-transition: transform 1s .2s ease;
	transition: transform 1s .2s ease;
}
.kininaru.animated .kininaru_f_1,
.kininaru.animated .kininaru_f_2,
.kininaru.animated .kininaru_f_3,
.kininaru.animated .kininaru_f_4 {
	-webkit-transform: translateY(0%);
	transform: translateY(0%);
}

/* special */
.special_ttl_icon {
	-webkit-transform: scale(0,0);
	transform: scale(0,0);
}
.special.animated .special_ttl_icon,
.special.animated .special_ttl_icon {
	-webkit-animation: scaleIn .5s forwards;
	animation: scaleIn .5s forwards;
}
.special_ttl_line {
	clip-path: polygon(0% 0%, 0% 100%, 0% 100%, 0% 0%);
	-webkit-clip-path: polygon(0% 0%, 0% 100%, 0% 100%, 0% 0%);
	transition: clip-path .4s  .4s;
	-webkit-transition: -webkit-clip-path .4s  .4s;
}
.special.animated .special_ttl_line {
	clip-path: polygon(0% 0%, 0% 100%, 100% 100%, 100% 0%);
	-webkit-clip-path: polygon(0% 0%, 0% 100%, 100% 100%, 100% 0%);
}
/* series */
.series_icon {
	opacity: 0;
	-webkit-transform: translateY(50%);
	transform: translateY(50%);
	-webkit-transition: .5s;
	transition: .5s;
}
.series_ttl_line {
	clip-path: polygon(0% 0%, 0% 100%, 0% 100%, 0% 0%);
	-webkit-clip-path: polygon(0% 0%, 0% 100%, 0% 100%, 0% 0%);
	transition: clip-path 0.4s;
	-webkit-transition: -webkit-clip-path 0.4s;
}
.series.animated .series_ttl_line {
	clip-path: polygon(0% 0%, 0% 100%, 100% 100%, 100% 0%);
	-webkit-clip-path: polygon(0% 0%, 0% 100%, 100% 100%, 100% 0%);
}
.series_list > li.animated .series_icon {
	opacity: 1;
	-webkit-transform: translateY(0%);
	transform: translateY(0%);
}
.series_list > li:nth-child(2).animated .series_icon {
	-webkit-transition-delay: .3s;
	transition-delay: .3s;
}
.series_list > li:nth-child(4).animated .series_icon {
	-webkit-transition-delay: .3s;
	transition-delay: .3s;
}
@media screen and (max-width: 750px) {
	.series_list > li:nth-child(2).animated .series_icon,
	.series_list > li:nth-child(4).animated .series_icon {
		-webkit-transition-delay: 0s;
		transition-delay: 0s;
	}
}

/* voice */
.voice_f_1,
.voice_f_2 {	
	-webkit-transform: scale(0,0);
	transform: scale(0,0);
}
.voice_f_1 {
	-webkit-transform-origin: 100% 100%;
	transform-origin: 100% 100%;
}
.voice_f_2 {
	-webkit-transform-origin: 0% 100%;
	transform-origin: 0% 100%;
}
.voice.animated .voice_f_1,
.voice.animated .voice_f_2 {
	-webkit-animation: scaleIn .5s forwards;
	animation: scaleIn .5s forwards;
}
.voice.animated .voice_f_2 {
	-webkit-animation-delay: .2s;
	animation-delay: .2s;
}

@-webkit-keyframes scaleIn {
	0% {
		-webkit-transform: scale(0,0);
		-webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275);
	}
	100% {
		-webkit-transform: scale(1,1);
	}
}
@keyframes scaleIn {
	0% {
		transform: scale(0,0);
		animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275);
	}
	100% {
		transform: scale(1,1);
	}
}

@-webkit-keyframes btnAnime {
	0% {
		right: 35px;
	}
	12.5% {
		right: 30px;
	}
	25% {
		right: 35px;
	}
	37.5% {
		right: 30px;
	}
	50% {
		right: 35px;
	}
	100% {
		right: 35px;
	}
}
@keyframes btnAnime {
	0% {
		right: 35px;
	}
	12.5% {
		right: 30px;
	}
	25% {
		right: 35px;
	}
	37.5% {
		right: 30px;
	}
	50% {
		right: 35px;
	}
	100% {
		right: 35px;
	}
}

@-webkit-keyframes btnAnime-sp {
	0% {
		right: 17px;
	}
	12.5% {
		right: 12px;
	}
	25% {
		right: 17px;
	}
	37.5% {
		right: 12px;
	}
	50% {
		right: 17px;
	}
	100% {
		right: 17px;
	}
}
@keyframes btnAnime-sp {
	0% {
		right: 17px;
	}
	12.5% {
		right: 12px;
	}
	25% {
		right: 17px;
	}
	37.5% {
		right: 12px;
	}
	50% {
		right: 17px;
	}
	100% {
		right: 17px;
	}
}