@charset "utf-8";



body {
	background: url("../images/bg_even.png") fixed;
	font-family:'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
	font-family: Avenir, "Open Sans", "Helvetica Neue", Helvetica, Arial, Verdana, Roboto, 游ゴシック, "Yu Gothic", 游ゴシック体, YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", メイリオ, Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-family:  游ゴシック, "Yu Gothic", 游ゴシック体, YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", メイリオ, Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "A-OTF 新ゴ Pro", A-OTF Shin Go Pro, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	/*font-size:100%;/* 16px */
	/*font-size:112.5%; 18px */
	font-size:125%;/* 21px */
	line-height:1.7;
	color: #000;
	font-feature-settings: "palt";
}
h1 {
	height:736px;
	background:url(../images/header.jpg) center top no-repeat;
	text-indent:-9999px;
	}


h2 {
    display: flex;
    align-items: center;
	margin:0 auto 50px;
	padding: 3em 0;
	min-height: 240px;
	background: url(../images/bg_subhead.png) center center / 100% auto repeat-y;
	}
img {
	display:block;
	margin:0 auto;
	max-width: 100%;
}

.img_in {
	display: inline-block;
	margin-bottom: 0.5em;
}

.imgw {
	margin-bottom: 1.5em;
	border: 0.2em solid #FFF;
	box-shadow: 0 0 3px rgba(0,0,0,0.5);
}

.img_l {
	margin-bottom: 1.5em;
}
.img_gmat01 {
	width: 640px;
}
.img_bw {
	width: 360px;
	max-width: 50%;
}


.large {
	font-size:120%;
	}

.xlarge {
	font-size:144%;
	}

.xxlarge {
	font-size:172.8%;
	}
.small {
	font-size:82.5%;
	}
.xsmall {
	font-size:62.5%;
	}
.xxsmall {
	font-size:56.25%;
	}	
.u {
	text-decoration:underline;
}
.red {
	color:red;
}
.blue {
	color: #0099e5;
}
.highlight {
	background-color:#FFFF00;
}
.redhigh {
	color:red;
	background-color:#FFFF00;
	}
.pic_right{
	float: right;
	margin: 10px -15px 10px 10px;
	box-shadow: 1px 1px 3px rgba(0,0,0,0.2);
}
.reg {
	vertical-align: super;
	font-size: 0.5em;
}
.ck01 {
	display: inline-block;
	margin-bottom: 0.5em;
	padding-left: 1.8em;
	background: url(../images/check01.png) left 0.3em / auto 1em no-repeat;
}
.num01 {
	display: inline-block;
	margin-bottom: 0.5em;
	padding-left: 1.8em;
	background: url(../images/num01.png) left 0.3em / auto 1em no-repeat;
}
.num02 {
	display: inline-block;
	margin-bottom: 0.5em;
	padding-left: 1.8em;
	background: url(../images/num02.png) left 0.3em / auto 1em no-repeat;
}
.num03 {
	display: inline-block;
	margin-bottom: 0.5em;
	padding-left: 1.8em;
	background: url(../images/num03.png) left 0.3em / auto 1em no-repeat;
}
.num04 {
	display: inline-block;
	margin-bottom: 0.5em;
	padding-left: 1.8em;
	background: url(../images/num04.png) left 0.3em / auto 1em no-repeat;
}
.num05 {
	display: inline-block;
	margin-bottom: 0.5em;
	padding-left: 1.8em;
	background: url(../images/num05.png) left 0.3em / auto 1em no-repeat;
}
.num06 {
	display: inline-block;
	margin-bottom: 0.5em;
	padding-left: 1.8em;
	background: url(../images/num06.png) left 0.3em / auto 1em no-repeat;
}
.num07 {
	display: inline-block;
	margin-bottom: 0.5em;
	padding-left: 1.8em;
	background: url(../images/num07.png) left 0.3em / auto 1em no-repeat;
}


.alfa0a {
	display: inline-block;
	margin-bottom: 0.5em;
	padding-left: 1.8em;
	background: url(../images/alfa0a.png) left 0.3em / auto 1em no-repeat;
}
.alfa0b {
	display: inline-block;
	margin-bottom: 0.5em;
	padding-left: 1.8em;
	background: url(../images/alfa0b.png) left 0.3em / auto 1em no-repeat;
}
.alfa0c {
	display: inline-block;
	margin-bottom: 0.5em;
	padding-left: 1.8em;
	background: url(../images/alfa0c.png) left 0.3em / auto 1em no-repeat;
}
.alfa0d {
	display: inline-block;
	margin-bottom: 0.5em;
	padding-left: 1.8em;
	background: url(../images/alfa0d.png) left 0.3em / auto 1em no-repeat;
}
.alfa0e {
	display: inline-block;
	margin-bottom: 0.5em;
	padding-left: 1.8em;
	background: url(../images/alfa0e.png) left 0.3em / auto 1em no-repeat;
}
.alfa0f {
	display: inline-block;
	margin-bottom: 0.5em;
	padding-left: 1.8em;
	background: url(../images/alfa0f.png) left 0.3em / auto 1em no-repeat;
}
.alfa0g {
	display: inline-block;
	margin-bottom: 0.5em;
	padding-left: 1.8em;
	background: url(../images/alfa0g.png) left 0.3em / auto 1em no-repeat;
}
.red .ck {
	background: url(../images/check02.png) left 0.45em no-repeat;
	background-size: auto 0.8em;
}
.pconly {display: block;}
.tbonly {display: none;}
.sponly {display: none;}
strong {
	font-weight:bold;
	}
#wrapper {
	margin:0 auto;
	background: url(../images/bg_wrapper.png) center center repeat-y;
}
main {
	margin:0 auto;
	color:#222;
}
.container{
	margin: 0 auto;
	padding: 50px 0 0;
}
footer {
	margin:0 auto;
	padding:2em 0 14em;
	background: #fff;
	color: #444;
	text-align:center;
	font-size: 66.6%;
}
footer a {
	color:#444;
	text-decoration:underline;
}

footer a:hover {
}
address {
	font-style:normal;
}



/*
 *		header
 */

 .wrap_timer {
	position: relative;
	height: 132px;
	box-shadow: 0 0 5px rgba(0, 0, 0, 1);
	background: url(../images/bg_wtimer.png) center center / auto 100% repeat-x;
}

.con_timer {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 0 auto;
	width: 980px;
	max-width: 98vw;
	height: 132px;
}

.con_timer img {
	display: inline;
	margin: 0;
}

.dis_timer {
	position: relative;
	width: 420px;
	height: 132px;
	filter: drop-shadow( 0 0 5px rgba(0, 0, 0, 0.5));
	background: url(../images/bg_timer.png);
}

.countdown {
	position: relative;
	top: 76px;
}

.countdown .days {
	position: absolute;
   	left: 40px;
}

.countdown .hours {
	position: absolute;
    left: 100px;
}

.countdown .mins {
	position: absolute;
    left: 220px;
}

.countdown .seconds {
	position: absolute;
    left: 308px;
}

/*
 *		common
 */

section {
	padding: 0 0 50px;
}

/*section:nth-of-type(odd) {
	background-color: #fafafa;
}

section:nth-of-type(even) {
}
*/

section p {
	margin: 0 auto;
	width: 840px;
	max-width: 96vw;
}



/*
 *		lead
 */

section.lead {
	padding: 2.5em 0;
	background: url(../images/bg_lead.jpg) center center / cover no-repeat fixed;
}



/*
 *		features
 */

.features {
	background: #f5f5f5;
}

.features + section {
	padding-top: 2.5em;
}

.shd_features {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0 auto;
	width: 4em;
	height: 4em;
	border-radius: 100em;
	background: #000;
	color: #fff;
	font-weight: bold;
}

.shd_features::before {
	position: absolute;
	left: -19em;
	content: '';
	width: 18em;
	height: 1px;
	background: #000;
}

.shd_features::after {
	position: absolute;
	right: -19em;
	content: '';
	width: 18em;
	height: 1px;
	background: #000;
}

.con_features {
	margin-bottom: 2.5em;
}

.con_features:last-of-type {
	margin-bottom: 0;
}

.con_features h3 {
	margin: 0.75em auto;
	text-align: center;
	font-weight: bold;
	font-size: 1.8em;
	line-height: 1.2;
}


/*
 *		onlyone
 */

 section.onlyone {
	background: url(../images/bg_onlyone.jpg) center center / cover;
 }

 section.onlyone h2 {
	padding: 1em 0 0;
	background: none;
}




/*
 *		video
 */

 section.video {
	padding-top: 0;
}

.wrap_video {
	margin: 50px auto;
	width: 880px;
	max-width: 96vw;
	height: 495px;
}

.wrap_video:last-of-type {
	margin-bottom: 0;
}

.wrap_video iframe {
	max-width: 100%;
}

section.video.vidgv {
	padding-top: 0;
}

.vidgv h2 {
	position: relative;
	padding: 1.5em;
	border-top: 2px solid #f8f6c7;
	border-bottom: 2px solid #f8f6c7;
	box-shadow: 0 0 5px #000;
	background: url(../images/bg_vidgv.png) center center / 1px 100% repeat-x;
}

.vidgv h2::before {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	display: block;
	content: "";
	margin: 2px;
	border-top: 1px solid #f8f6c7;
}
.vidgv h2::after {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	display: block;
	content: "";
	margin: 2px;
	border-bottom: 1px solid #f8f6c7;
}

.vidgv h3 {
	margin: 0 auto;
	width: fit-content;
	box-shadow: 0 0 5px #000;
}

.vidgv .wrap_video {
	margin: 1.5em auto 0.5em;
	padding: 10px;
	width: 900px;
	max-width: 96vw;
	height: 515px;
	box-shadow: 0 0 5px #000;
	background: url(../images/bg_video.jpg) center center no-repeat;
}



.legend {
	font-size:50%;
	margin-bottom: 1.5em;
	color: rgb(0, 0, 0);
	text-align: center;
}

.dlwbbtn {
	display: block;
	margin: 0 auto;
	width: 640px;
	max-width: 96vw;
	height: 90px;
	background: url(../images/btn_dlwb.png) center center no-repeat;
	text-indent: -9999px;
	filter: drop-shadow(0 0 3px rgba(0,0,0,0.7));
}

.dlwbbtn:hover {
	opacity: 0.8;
}



/*
 *		who,future
 */

.img_who,
.img_future {
	display: block;
	margin: 1.5em auto;
	width: fit-content;
}


/*
 *		curriculum
 */


.curriculum {
	background: url(../images/bg_curriculum.png) fixed;
}

.curriculum > h2 {
	margin-bottom: 0;
	background: rgb(0,0,0);
	background: linear-gradient(0deg, rgba(0,0,0,0.66) 0%, rgba(34,34,34, 0.66) 100%), url(../images/bghd_curriculum.png);
}

.wrap_curriculum {
	margin: 0 auto;
	width: 980px;
	max-width: 96vw;
	box-shadow: 0 0 5px rgba(0,0,0,0.5);
	background: #fff;
}


/*
 *		３つの力
 */

 .img_threes {
	display: flex;
	gap: 1%;
	flex-wrap: nowrap;
	width: 100%;
}

.img_threes img {
	max-width: calc( 98% / 3 );
}

.con_point {
	position: relative;
	margin: 1.5em auto;
	width: 840px;
	max-width: 96vw;
	background: #f5f5f5;
}

.con_point:first-of-type {
	margin-bottom: 3em;
}

.con_point:first-of-type::after {
	position: absolute;
	bottom: -2em;
	left: calc(  840px / 2 - 9em / 2  );
	display: block;
	content: '';
	width: 9em;
	height: 1em;
	background: url(../images/arrow01.png) center center / auto 1em no-repeat;
}

.con_point h3 {
	position: relative;
	padding: 0.75em 0;
	background: rgb(0,0,0);
	background: linear-gradient(90deg, rgba(0,0,0,1) 0%, rgba(26,26,26,1) 50%, rgba(0,0,0,1) 100%);
}

.con_point h3::before {
	position: absolute;
	content: "";
	margin: 2px;
	border: 1px solid #fff;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	display: block;
}

.con_point p {
	padding: 1.5em 2em;
}


 /*
 *		teachme
 */

.teachme {
}

.wrap_teachme {
	margin: 1em auto;
	width: 840px;
	max-width: 96vw;
}

.con_teachme {
	margin: 1.5em auto;
	box-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
}

.con_teachme:last-of-type {
	margin-bottom: 0;
}

.con_teachme h3 {
	position: relative;
	padding: 1em;
	background: rgb(0,0,0);
	background: linear-gradient(90deg, rgba(0,0,0,1) 0%, rgba(26,26,26,1) 50%, rgba(0,0,0,1) 100%);
	color: #fff;
	font-size: 1.25em;
	text-align: center;
}
.con_teachme h3::before {
	position: absolute;
	content: "";
	margin: 2px;
	border: 1px solid #fff;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	display: block;
}

.con_teachme p {
	padding: 1.5em 2em;
	background: #fffdf0;
}



 /*
 *		tensai
 */

.tensai {
	margin: 1.5em auto;
	width: 840px;
	border-collapse: separate;
	border-spacing: 2px;
}

.tensai td,
.tensai th {
	padding: 0.5em 1em;
}


.tensai tr:first-of-type td,
.tensai tr:first-of-type th {
	background: #222;
	color: #fff;
	font-weight: bold;
}
.tensai tr:nth-of-type(2) td,
.tensai tr:nth-of-type(2) th {
	background: #fffae5;
	color: #222;
}
.tensai tr:nth-of-type(3) td,
.tensai tr:nth-of-type(3) th {
	background: #f5f0dc;
	color: #222;
}

.tensai tr:nth-of-type(3) td {
	text-align: center;
}

.tensai tr:first-of-type td:first-of-type {
	padding: 0.5em;	
	width: 18%
}

.tensai tr:first-of-type th:first-of-type {
	width: 41%;
}



 /*
 *		program
 */

.program {
	background: url(../images/bg_onlyone.jpg);
}

.wrap_program {
	margin: 1em auto;
	width: 840px;
	max-width: 96vw;
	/* box-shadow: 0 0 5px rgba(0,0,0,0.1); */
}

.con_program {
	margin: 1.5em auto;
	background: #fff;
	box-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
}

.con_program h3 {
	position: relative;
	padding: 1em;
	background: rgb(0,0,0);
	background: linear-gradient(90deg, rgba(0,0,0,1) 0%, rgba(26,26,26,1) 50%, rgba(0,0,0,1) 100%);
	color: #fff;
	font-size: 1.25em;
	text-align: center;
}
.con_program h3::before {
	position: absolute;
	content: "";
	margin: 2px;
	border: 1px solid #fff;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	display: block;
}

.con_program ul {
	padding: 1.5em 2em;
	list-style: none;
}

.con_program ul li {
	margin-bottom: 1em;
}

.con_program ul li:last-of-type {
	margin-bottom: 0;
}

.con_program ul li:last-of-type .imgw {
	margin-bottom: 0;
}

.con_program ul li h4 {
	display: inline-block;
	margin-bottom: 0;
}

.con_program.process p {
	padding: 1.5em 2em;
}

.img_memsite {
}




/*
 *		naiyou
 */

.con_naiyou {
	margin: 1.5em auto;
	width: 840px;
	max-width: 96vw;
	box-shadow: 0 0 5px rgba(0,0,0,0.5);
}

.con_naiyou h3 {
	background: #000;
}

.con_naiyou h3 {
	position: relative;
	margin: 0 auto;
	padding: 0.5em 0;
	width: 840px;
	max-width: 96vw;
	background: rgb(0,0,0);
	background: linear-gradient(90deg, rgba(0,0,0,1) 0%, rgba(26,26,26,1) 50%, rgba(0,0,0,1) 100%);
	color: #faf9c9;
	font-weight: bold;
	font-size: 1.5em;
	text-align: center;
}

.con_naiyou h3::before {
	position: absolute;
	content: "";
	margin: 2px;
	border: 1px solid #fff;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	display: block;
}

.con_naiyou p {
	position: relative;
	padding: 1.5em 2em;
}

.con_naiyou p::before {
	position: absolute;
	content: "";
	margin: 2px;
	border: 1px solid #000;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	display: block;
}


/*
 *		faq
 */	

 .wrap_faq {
	margin: 0 auto;
	width:900px;
	max-width: 96vw;
}

.con_faq {
	box-shadow: 0 0 5px rgba(0,0,0,0.3);
}

.con_faq h3 {
	position: relative;
	padding: 1.5em 2em 1.3em 3.4em;
	border-top: 2px solid #000;
	border-bottom: 2px solid #000;
	background: rgb(229,229,229);
	background: url(../images/q.png) 1em 1.5em / 1.5em 1.5em no-repeat , linear-gradient(0deg, rgba(229,229,229,1) 0%, rgba(255,255,255,1) 100%);
}

.con_faq h3::before,
.con_faq h3::after {
	position: absolute;
	content: "";
	margin-top: 2px;
	border-top: 1px solid #000;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	display: block;
}

.con_faq h3::after {
	margin-bottom: 2px;
	border-bottom: 1px solid #000;
}

.con_faq p {
	margin-bottom: 2em;
	padding: 1.5em 2em 1.3em 3.4em;
	background: url(../images/a.png) 1em 1.5em / 1.5em 1.5em no-repeat;
}


/*
 *		message
 */

.img_message {
	box-shadow: 0 0 3px rgba(0,0,0,0.5);
	max-width: 96%;
}



/*
 *		profile
 */

.profile{padding-top: 50px;}

.wrap_profile {
	margin: 0 auto;
	width: 960px;
	max-width: 96vw;
	background: url("../images/bg_w_profile.png");
}

.wrap_profile h2 {
	margin: 0 auto;
	padding: 0;
	width: 960px;
	max-width: 96vw;
	background: none;
}

.wrap_profile p {
	margin: 0 auto;
	padding: 30px 60px;
	width: 960px;
	max-width: 96vw;
	background: url("../images/bg_p_profile.png") repeat-y;
}

.btm_profile {
	width: 960px;
	max-width: 96vw;
	height: 24px;
	background: url("../images/bg_btm_profile.png") no-repeat;
}

.shd_profile {
	padding-left: 10px;
	border-left: 3px solid #000;
	font-weight: bold;
}

	

/*
 *		faq
 */

.faq {
	padding-bottom: 45px;
}

.faq dl {
	margin: 0 auto;
	width: 900px;
	line-height: 1.4;
}

.faq dt {
	padding: 0.5em;
	padding-left: 2em;
	background: url("../images/q.png") 0.5em 0.65em no-repeat #e62600;
	background-size: 1em;
	color: #fff;
	font-weight: bold;
}

.faq dd {
	margin-bottom: 10px;
	padding: 0.5em;
	padding-left: 2em;
	background: url("../images/a.png") 0.5em 0.65em no-repeat #fff;
	background-size: 1em;
}


.att01{
	margin: 0 auto 20px;
	padding: 10px;
	width: 960px;
	border: 3px solid #f8f8f8;
	background: #fff;
	font-size: 71%;
}

.att01 h3{margin: 0 auto; margin-left: 10px; padding: 0; padding-left: 15px; border-left:5px solid #000;background: none!important; font-size: larger;}

.att01 p{
	 margin: 0 auto!important;
    padding: 10px!important;
    width: 940px!important;
    background: #fff!important;
	line-height: 1.7!important;
	font-size: 105%;
	font-weight: normal;
	box-shadow: none;
}



/*
 *		規約条件
 */	

 .conditions {
}

.conditions h2 {
	display: block;
	margin: 1em auto 0.5em;
	padding: 0;
	min-height: 1em;
	font-size: 1.25em;
	background: none;
	color:#e8284a;
	text-align: center;
}

.conditions table {
	margin: 1em auto;
	width: 900px;
	max-width: 94vw;
	background: #999;
	border-collapse: separate;
	border-spacing: 1px;
	font-size: 80%;
}

.conditions table th {
	padding: 1em;
	width: 25%;
	background: #DDD;
	color:#222;
	font-weight: bold;
	text-align:center;
	word-break: break-all;
}

.conditions table td {
	padding: 1em;
	background: #f2f2f2;
	word-break: break-all;
}

.conditions .note {
	margin:0 auto;
	padding: 2em;
	width: 900px;
	max-width: 94%;
	background: #f2f2f2;
	font-size: 0.75em;
}


/*
 *		申し込み
 */	

.apply .container {
	padding-top: 0;
}

.item {
	box-shadow: 0 0 5px rgba(0,0,0,0.5);
}

.btn {
	display: block;
	margin: 2em auto;
	width:840px;
	max-width: 96vw;
	height: 168px;
	max-height: calc( 168 / 840 * 96vw );
	background: url("../images/button01.png") center top / contain no-repeat;
	text-indent: -9999px;

	filter: drop-shadow(0 0 3px rgba(0,0,0,0.5));
	animation-name: btn-animation-a;
	animation-iteration-count: infinite;
	animation-duration: 2s;
}

.btn.btn02 {
	display: block;
	margin: 2em auto;
	width:840px;
	max-width: 96vw;
	height: 168px;
	max-height: calc( 168 / 840 * 96vw );
	background: url("../images/button_topg.png") center top / contain no-repeat;
	text-indent: -9999px;

	filter: drop-shadow(0 0 3px rgba(0,0,0,0.5));
	animation-name: btn-animation-a;
	animation-iteration-count: infinite;
	animation-duration: 2s;
}

.webp .btn {
	background: url("../images/button.webp") center top no-repeat;
}

.no-webp .btn {
	background: url("../images/button.png") center top no-repeat;
}



.btn_apply {
	display: block;
	margin: 0 auto;
	width: 800px;
	max-width: 96vw;
	height: 154px;
	max-height: calc( 154 / 800 * 96vw );
	background: url("../images/button_toa.png") center top no-repeat;
	background-size: 100% auto;
	text-indent: -9999px;

	animation-name: btn-animation-a;
	animation-iteration-count: infinite;
	animation-duration: 2s;
}

.btn:hover {
	background-position: center bottom;
	animation-duration: 0.8s;
}

.btn_apply:hover {
	background-position: center bottom;
	animation-duration: 0.8s;
}


.wrap_btnf {
	margin: 1.5em auto;
	width: 940px;
	max-width: 96vw;
}
.btn_f {

}

.btn_f:hover {
	background-position: center bottom;
	animation-duration: 0.8s;
}

@keyframes btn-animation-f {
    0% {
        transform: scale(1, 1)
    }
    20% {
        transform: scale(1.02, 1.02)
    }
    40% {
        transform: scale(1, 1)
    }
    60% {
        transform: scale(1.02, 1.02)
    }
    80% {
        transform: scale(1, 1)
    }
    85% {
        transform: skewX(10deg)
    }
    90% {
        transform: skewX(-10deg)
    }
    95% {
        transform: skewX(10deg)
    }
    100% {
        transform: skewX(-10deg)
    }
}

@keyframes btn-animation-j {
    0% {
    }
    92% {
        transform: translateY(0)
	}
    94% {
        transform: translateY(0.5em)
    }
    96% {
        transform: translateY(0)
	}
    98% {
        transform: translateY(0.5em)
    }
    100% {
        transform: translateY(0)
    }
}

@keyframes btn-animation-a {
    0% {
    }
    50% {
        transform: translateY(0.5em)
    }
    100% {
        transform: translateY(0)
    }
}


.flbtn{opacity: 0;}

.flbtn {
	position: fixed;
	bottom: 1em;
	display: flex;
	justify-content: center;
	width: 100%;

	z-index: 999;
}

.flbtn a {
	display: block;
	margin: 0 auto;
	width:450px;
	max-width: 98vw;
	height: 130px;
	background: url("../images/button01.png") center top no-repeat;
	text-indent: -9999px;
	filter: drop-shadow(0 0 5px rgba(0,0,0,0.5));

	animation-name:flbtn-animation-f;
	animation-iteration-count: infinite;
	animation-duration:2s;
	animation-delay: -0.7s;
}

.flbtn a:hover {
	background-position: center bottom;
	animation-duration: 0.8s;
}	

@keyframes flbtn-animation-f {
    0% {
        transform: translateY(-10px)
    }
    50% {
        transform: translateY(-00px)
    }
    100% {
        transform: translateY(-10px)
    }
}






	
@media screen and (max-width: 1023px) {


	h1 {
		height: calc( 736 / 980 * 100vw );
		background:url(../images/header.jpg) center top / auto 100% no-repeat;
		}

	section {
		padding-bottom: 1em;
	}

	section.lead {
		padding: 1em 2vw;
	}

	section.video.vidgv {
		padding: 1em 0 0;
	}

	.vidgv h3 {
		width: 96vw;
	}





	.legend {
		margin-bottom: 0.5em;
	}

	.dlwbbtn {
		height: calc( 90 / 640 * 96vw );
		background: url(../images/btn_dlwb.png) center center / contain no-repeat;
		text-indent: -9999px;
		filter: drop-shadow(0 0 3px rgba(0,0,0,0.7));
	}

	.btn {
		margin: 1em auto 2em;
	}

	h2 {
		margin-bottom: 1em;
		padding: 1.5em 4vw;
		min-height: 0;
	}

	.wrap_features {
		margin: 0 auto;
		width: 96vw;
	}
	
	.shd_features::before {
		position: absolute;
		left: calc( 2em - 48vw );
		content: '';
		width: calc( 46vw - 2em );
		height: 1px;
		background: #000;
	}
	
	.shd_features::after {
		position: absolute;
		right: calc( 2em - 48vw );
		content: '';
		width:  calc( 46vw - 2em );
		height: 1px;
		background: #000;
	}

	.features + section {
		padding-top: 1em;
	}


	.wrap_video {
		margin: 1em auto 0.5em;
		height: 54vw;
	}

	.wrap_video iframe {
		max-height: 100%;
	}

	.wrap_curriculum .wrap_text {
		margin: 0 auto;
		width: 92vw;
	}

	.wrap_curriculum .wrap_text p {
		margin: 0 auto;
		max-width: 92vw;
	}



	.con_point {
		max-width: 90vw;
	}

	.con_point h3 {
		padding: 0.75em 1em;
	}

	.con_point h3 img {
		max-height: 5em;
	}

	

	.tensai {
		margin: 0.75em auto;
		width: 92vw;
		border-collapse: separate;
		border-spacing: 2px;
	}










	.con_program:last-of-type {
		margin-bottom: 0;
	}

	.conditions table {
		width: 94vw;
	}

	.conditions .note {
		padding: 1em;
	}

	.profile {
		padding-top: 1em;
	}

	.con_message {
	padding: 84px 50px;
	background: url("../images/bg_p_message_sp.png") center top repeat-y #fff;
	line-height: 84px;
}
	footer {
		font-size: 50%;
	}
	
	.submit { width: 980px;}

	.con_point:first-of-type::after {
		position: absolute;
		bottom: -2em;
		left: calc(  96vw / 2 - 9em / 2 - 2.5vw );
		display: block;
		content: '';
		width: 9em;
		height: 1em;
		background: url(../images/arrow01.png) center center / auto 1em no-repeat;
	}
}


@media screen and (max-width: 815px) {	/***	幅599px以下に適用：スマホ	***/
	img.img_spprice {
		margin-right: 2vw;
		width: calc( 96vw - 420px);
	}
}

@media screen and (max-width: 768px) {	/***	幅599px以下に適用：スマホ	***/

	.pconly {display: none;}
	.tbonly {display: block;}
	.sponly {display: none;}
	.sponly.tbonly {display: block;}

	.vidgv .wrap_video {
		margin: 1em auto 0.5em;
		padding: 1vw;
		height: 54.875vw;
	}

	.wrap_video iframe {
		max-height: 100%;
	}

	.img_threes {
		width: 96%;
	}

	.wrap_profile p {
		margin: 0 auto;
		padding: calc( 30 / 960 * 96vw  ) calc( 60 / 960 * 96vw  );
		width: 96vw;
		background: url(../images/bg_p_profile.png) center center / 100% auto repeat-y;
	}

	.btm_profile {
		width: 96vw;
		height: calc( 24 / 960 * 96vw);
		background: url(../images/bg_btm_profile.png) center center / 100% auto no-repeat;
	}
}

@media screen and (max-width: 599px) {	/***	幅599px以下に適用：スマホ	***/

body {font-size: 5vw;}

	.pconly {display: none;}
	.tbonly {display: none;}
	.sponly {display: block;}
	.sponly.tbonly {display: block;}


	.img_threes {
		flex-direction: column;
	}

	.img_threes img {
		margin-bottom: 0.5em;
		max-width: 100%;
	}

.conditions table th,
.conditions table td {
	display: block;
	width: 100%;
}

.item {
	margin-top: 2vw;
	max-width: 96vw;
}

.flbtn {
	bottom: 1vw;
}


.flbtn a {
	width: 96vw;
	max-height: calc( 130 / 450 * 96vw );
	background: url("../images/button01.png") center top no-repeat;
	background-size: 100% auto;
}

.con_faq h3 {
	padding-right: 1em;
}

.con_faq p {
	margin-bottom: 4vw;
	padding-right: 1em;
}
.faq h2 img {
	width: calc( 411 / 980 * 1.5 *  100vw );
}

.con_features h3 {
	font-size: 1.2em;
}

	/*
	*		header
	*/

	.wrap_timer {
		height: auto;
		background: none;
	}
	
	.con_timer {
		display: block;
		margin: 0 auto;
		max-width: 100vw;
		height: calc( 335 / 599 * 100vw );
	}
	
	img.img_spprice { display: none; }

	.dis_timer {
		position: relative;
		width: 100vw;
		height: calc( 335 / 599 * 100vw );
		background: url(../images/bg_timer_sp01.png) center top / 100% auto no-repeat;
	}
	
	.countdown {
		position: relative;
		top: calc( 335 / 599 * 77.5vw );
	}
	
	.countdown img {
		width: 5.5vw;
	}

	.countdown .days {
		position: absolute;
		   left: 11vw;
	}
	
	.countdown .hours {
		position: absolute;
		left: 25vw;
	}
	
	.countdown .mins {
		position: absolute;
		left: 53vw;
	}
	
	.countdown .seconds {
		position: absolute;
		left: 73vw;
	}


	.con_point p {
		padding: 0.75em 1em;
	}


	.con_teachme {margin: 0 auto;}
	.con_teachme h3 {padding: 0.5em;line-height: 1.2;}
	.con_teachme p {padding: 0.5em;}

	.con_program {margin: 0.75em auto;}

	.con_program h3 {
		padding: 0.7em 0.5em 0.5em;
		font-size: 5vw;
		line-height: 1.4;
	}

	.con_program ul {padding: 0.5em;}

	.con_program ul li {font-size: 4vw;}

	.con_program.process p {
		padding: 0.5em;
	}


	.con_naiyou h3 {
		font-size: 6vw;
		line-height: 1.2;
	}

	.con_naiyou p {padding: 0.75em;}

	.wrap_profile p {
		font-size: 87.5%;
	}

}