@charset "utf-8";
/* RESET CSS */
article,aside,details,figcaption,figure,footer,header,hgroup,img,menu,nav,section{display:block}a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{margin:0;padding:0;border:0;font:inherit;vertical-align:baseline}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:'';content:none}table{border-collapse:collapse;border-spacing:0}
img{margin:0 auto;padding:0;max-width:100%;}
*{-webkit-box-sizing: border-box;-moz-box-sizing: border-box;box-sizing: border-box;}
/*----------------------------------------------------------------------------------------------
button:hover
----------------------------------------------------------------------------------------------*/
@-webkit-keyframes hvr-wobble-vertical{
	16.65%{-webkit-transform:translateY(8px);transform:translateY(8px)}
	33.3%{-webkit-transform:translateY(-6px);transform:translateY(-6px)}
	49.95%{-webkit-transform:translateY(4px);transform:translateY(4px)}
	66.6%{-webkit-transform:translateY(-2px);transform:translateY(-2px)}
	83.25%{-webkit-transform:translateY(1px);transform:translateY(1px)}
	100%{-webkit-transform:translateY(0);transform:translateY(0)}
}
@keyframes hvr-wobble-vertical{
	16.65%{-webkit-transform:translateY(8px);transform:translateY(8px)}
	33.3%{-webkit-transform:translateY(-6px);transform:translateY(-6px)}
	49.95%{-webkit-transform:translateY(4px);transform:translateY(4px)}
	66.6%{-webkit-transform:translateY(-2px);transform:translateY(-2px)}
	83.25%{-webkit-transform:translateY(1px);transform:translateY(1px)}
	100%{-webkit-transform:translateY(0);transform:translateY(0)}
}
.hvr-wobble-vertical{vertical-align:middle;-webkit-transform:translateZ(0);transform:translateZ(0);box-shadow:0 0 1px rgba(0,0,0,0);-webkit-backface-visibility:hidden;backface-visibility:hidden;-moz-osx-font-smoothing:grayscale}
.hvr-wobble-vertical:active,.hvr-wobble-vertical:focus,.hvr-wobble-vertical:hover{-webkit-animation-name:hvr-wobble-vertical;animation-name:hvr-wobble-vertical;-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;-webkit-animation-iteration-count:1;animation-iteration-count:1}
/*----------------------------------------------------------------------------------------------
Basic
----------------------------------------------------------------------------------------------*/
html{ font-size:62.5%; overflow:hidden; }
body{
	width:100%;
	font-size:2.2rem;
	color:#3f3f3f;
	font-weight:500;
	line-height:1.7;
	-webkit-font-feature-settings:'palt' 1; font-feature-settings:'palt' 1;
	font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue","Yu Gothic",YuGothic,"ヒラギノ角ゴ ProN",Hiragino Kaku Gothic ProN,Arial,"メイリオ",Meiryo,sans-serif;
}
#scroll{
	position:absolute;
	top:0;
	left:0;
	right:0;
	bottom:0;
	overflow-y:scroll;
	-webkit-overflow-scrolling:touch;
}
/*電話番号PC時リンク無し*/
a[href^="tel:"] {
	pointer-events: none;
	text-decoration: none;
	color: #666;
}
/* Float・Clearfix */
.clearfix:before,.clearfix:after{ content:" "; display:table; }
.clearfix:after{ clear:both; }
.clearfix{ *zoom:1; }

/* PC・SP表示調整 */
.display_pc{ display:block; }
.display_sp{ display:none; }

/* Font */
.u{ text-decoration:underline; }
.b{ font-weight:bold; }
.r{ color:#C00; }
.blu{ color:#002C71; }
.gol{ color:#A78909; }
.wht{ color:#FFF; font-family:Gothic MB101 Heavy,sans-serif; }
.accent{ color:#FFFF84; }
.marker{ background:linear-gradient(transparent 60%, #ffff84 60%); }
.text_c{ text-align:center; }
.text_r{ text-align:right; }
.text_l{ text-align:left; }
.xxsmall{ font-size:60%; }
.xsmall{ font-size:70%; }
.small{ font-size:80%; }
.psmall{margin-top: 1rem;font-size: 70%;float: right;}
.large{ font-size:120%; }
.xlarge{ font-size:140%; }
.xxlarge{ font-size:160%; }
.mincho{ font-family:Ryumin ExtraBold KL,serif; }
.text-center{text-align: center;}
.MB101 {font-family: Gothic MB101 Heavy,sans-serif;}

/* グラデテキスト */
.gradation_g{
	color:#f9db7f;
	background:-webkit-linear-gradient(0deg, #f9db7f, #fffce6, #f9db7f);
	-webkit-background-clip:text;
	background-clip:text;
	-webkit-text-fill-color:transparent;
	font-weight: bold;
}
.text-gold {
	color: #f9db7f;
	display: inline-block;
	background: -webkit-linear-gradient(0deg, #f9db7f, #fffce6, #f9db7f);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
}

@media all and (-ms-high-contrast:none){.gradation_g{ background:none; }	/* IE11 */}

/* bg_color */
.bg_g{ background:#FBFBFB; }
.bg_r{ background:#FFF9F9; }
/* imgキャプション */
.img-caption {width: 275px;}
.img-right {float: right;padding: 0 0 2rem 2rem;}
.img-caption .caption {padding-bottom: 0;}
.caption {
	margin: 0;
	padding: .5rem 0 4rem;
	font-size: 1.5rem;
	font-weight: bold;
	line-height: 1.3;
}
/*----------------------------------------------------------------------------------------------
Header
----------------------------------------------------------------------------------------------*/
header{ width:100%; margin:0 auto;}
#header__img{ width:100%; margin:0 auto; text-align: center;background:url("../img/head-bg.jpg") no-repeat center; }
h1{padding-top: 1.5rem;}
/* 動画 */
.video{padding-bottom: 0rem;}
.video video{
	overflow:hidden;
	width:625px;
	border: 8px solid #565656;
	border-radius: 5px;
}
/*----------------------------------------------------------------------------------------------
Section
----------------------------------------------------------------------------------------------*/
section{ padding:7rem 0 3rem; }
/* sec__inner */
.sec__inner{width: 960px; margin:0 auto 0; padding:0; }

/* 固有 */
section.gray{ width:100%; background:#EEE; }
.gray_sec {
	width: 960px;
	margin: 10px auto 0;
	background: #f7f7f7;
	padding: 2.5rem 5rem 5rem;}
.gray_sec img{padding: 1.5rem 0;}
/*----------------------------------------------------------------------------------------------
sub-head / letter
----------------------------------------------------------------------------------------------*/
.sub-head{
	width:960px;
	margin:0 auto 0;
	color:#110604;
	font-size:3.8rem;
	font-weight:900;
	line-height:1.3;
	text-align:center;
	letter-spacing:-2px;
	-webkit-font-feature-settings:'palt' 1; font-feature-settings:'palt' 1;
	font-family:Gothic MB101 Heavy,sans-serif;
}
/*目次*/
.table-contents{margin: 2rem 0; ;line-height: 1.5;}
.table-contents th{width: 20%; font-weight: bold;text-align: left;}
/* 先生プロフィール */
.profile{padding-top: 4rem;}
.profile__box{margin: 0 auto 3rem;padding: 1rem 0 2rem;background: #eee;border: 2px solid #e2e2e2;}
.profile__ttl{ 
	position: relative;
	background: #000120;
	font-size: 3.5rem;
	line-height: 1;
	margin: 2rem -.5rem 2rem -1rem;
	padding: 1.5rem .5rem 1.5rem 2rem;
	border-top: 3px solid #cdc458;
	font-family: リュウミン EB-KL,"Ryumin ExtraBold KL",serif;
}
.profile__ttl:before{
	content: "";
	position: absolute;
	top: 100%;
	height: 0;
	width: 0;
	border: 5px solid transparent;
	border-top: 5px solid #333;
	left: 0;
	border-right: 5px solid #333;
}
.profile__inner{padding: 0 2rem;}
.profile__inner img+p{margin-top: 0;}
/*----------------------------------------------------------------------------------------------
フォーム
----------------------------------------------------------------------------------------------*/
#form_float{ display:none; width:100%; margin:0 auto; padding: 0 0 1.5rem; top:0px; left:0px; z-index:1000; position:fixed; background: #000; }
#form_header{ width:100%; margin: 0 auto; padding: 1.5rem 0; background: #000;border-top: 2px solid #FFF4AA;}
#form_header p{line-height: 1.1;}

.form_inner { width: 960px; margin:15px auto 0; display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; }
.form_left { background: #fff; border-radius: 5px; display: table; width: 70%; height: 50px; padding: 5px; margin-right: 20px; transition: all 0.2s; }
.form_left:hover { background: #fbffbd; -webkit-box-shadow: 0 0 0 4px #ffd161 inset; box-shadow: 0 0 0 4px #ffd161 inset; }
.form_left .form_must { display: table-cell; vertical-align: middle; width: 10%; }
.form_left .form_must span { display: block; padding: 0 5px; margin-right: 10px; background: #c00; color: #fff; font-size: 1.8rem; font-weight: bold; text-align: center; }
.form_left input { display: table-cell; outline: 0; border: none; background: none; width: 100%; height: 100%; font-size: 1.8rem; font-family: inherit; }
.form_right { width: 30%; }
.form_right .form_btn { width: 100%; }
.form_right .form_btn button { background: #069100; color: #fff; text-shadow: 0 1px 4px #00320d; font-family: "Noto Sans Japanese"; font-weight: 900; font-size: 2.8rem; border-radius: 5px; border: 2px solid #bcff99; box-shadow: 0 2px 3px rgba(0,0,0,0.5); padding: 0px 20px; width: 100%; height: 50px; cursor: pointer;line-height: 1; }
.form_right .form_btn button:hover { background: #08bb00; }
.form_right .form_notice { font-size: 1.5rem; color: #fff; line-height: 1.2; text-align: center; margin-top: 5px; }

/*----------------------------------------------------------------------------------------------
吹き出し
----------------------------------------------------------------------------------------------*/
/* 共通 */
.fukidashi .box,
.fukidashi .box2{
	display:none;
	position:absolute;
	left:15%;
	top: 120%;
	border-radius:10px;
	background-color:#ff0;
}
.fukidashi .box:after,
.fukidashi .box2:after{	/* 三角形を作成 */
	position:absolute;
	content:"";
	top:-32px;	/* 三角形の高さを２倍した値 */
	left:32px;
	width:0;
	height:0;
	border:16px solid transparent;
	border-bottom:16px solid #ff0;
}
.fukidashi:hover .box,
.fukidashi:hover .box2{
	z-index:2;
	display:block;
}

/* 固有 */
.fukidashi{
	position:relative;
	z-index:auto;
}
.fukidashi img{
	width:100%;
	height:100%;
}
.fukidashi .box{ width:650px; /* 吹き出しの幅 */ }
.fukidashi .box2{ width:300px; /* 吹き出しの幅 */ }
.fukidashi .text{
	top:8px;
	left:4px;
	padding:10px;
	color:#000;
	font-size:1.1rem;
}
/*----------------------------------------------------------------------------------------------
footer__attention
----------------------------------------------------------------------------------------------*/
#footer__attention{ width:100%; padding:2rem 0 0; margin:0 auto; }
#footer__attention p,
#footer__attention ul{
	width:960px;
	margin:2rem auto;
	color:#666;
	font-size:1.4rem;
}
#footer__attention ul{
	text-indent: -1em;
	padding-left: 1em;
}

.service__list{
	width:960px;
	margin:0 auto;
	font-size:80%;
	line-height:1.4;
	background:#fff;
}
.service__list th,
.service__list td{
	padding:1rem;
	border:1px solid #ccc;
	vertical-align:middle;
}
.service__list th{ background:#ddd; }
.service__list_A,.service__list_C{ width:25%; }
.service__list .txt__center{ text-align:center; }

#footer__attention .attention_box {width: 960px; margin: 0 auto 20px; background-color: #e9fbfa; border: solid 2px #cce4e3;}
#footer__attention .attention_box p {width: 95%; margin: 0 auto 15px;padding-top: 1.5rem; line-height: 1.2;}
#footer__attention .attention_box h3{width: 95%; margin: 20px auto 0; font-weight: bold;}

/*----------------------------------------------------------------------------------------------
footer
----------------------------------------------------------------------------------------------*/
footer{
	width:100%;
	margin:0 auto;
	background-color:#ecf0ee;
}
#footer__inner{
	width:900px;
	padding:3rem 0;
	margin:0 auto;
	font-size:1.1rem;
}
#footer__inner_logo{
	float:left;
	width:248px;
	padding:10px 0 0 20px;
}
#footer__inner_right{
	float:right;
	width:600px;
}
#footer__inner li{
	float:left;
	padding-right:10px;
	margin-right:15px;
	list-style-type:none;
}
#footer__inner p{
	clear:both;
	padding-top:5px;
	color:#666;
	text-align:left;
}

/*///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
【 SP 】
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////*/
@media screen and (max-width:768px){
	/*----------------------------------------------------------------------------------------------
	Basic Style
	----------------------------------------------------------------------------------------------*/
	body{width:100%;font-size:4.5vw;font-weight:normal;line-height:1.7;}
	
	img{ max-width:100%; }
	img.arrow{ width:40%; }
		/*電話番号スマホ時リンクあり*/
	a[href^="tel:"] {
	pointer-events: auto;
	text-decoration: underline;
	color: #00e;
	}

	/* Float */
	.img-right{float: none;margin: 0 auto;padding-left: 0;}
	/* PC/SP表示調整 */
	.display_pc{ display:none; }
	.display_sp{ display:block; }
	
	/*----------------------------------------------------------------------------------------------
	section
	----------------------------------------------------------------------------------------------*/
	section{ padding:4rem 0 0; }
	.sec__inner {width: 95%;margin: 0 auto;padding: 0;}
	.gray_sec {width: 95%;margin: 1rem auto 0;padding: 1.5rem;}
	.gray_sec p {width:100%;margin: 1rem auto 0;}
	/*----------------------------------------------------------------------------------------------
	sub-head 
	----------------------------------------------------------------------------------------------*/
	.sub-head{ width:95%; margin: 0 auto 1rem; font-size:4.3vw; }
	/*目次*/
	.table-contents{margin-top: 1rem; font-size: 4.5vw;}
	.table-contents th{width: 20%; font-size: 4vw;}
	/*----------------------------------------------------------------------------------------------
	header
	----------------------------------------------------------------------------------------------*/
	/* プリヘッド */
	#form_header {}
	/* 通常ヘッドライン */
	#header__img{ width:100%; padding: 0; margin: auto; background-size: cover; }
	#header__img h1{width: 100%;overflow: hidden;}
	/* 動画 */
	.video{background-position: center;background-image: none;background-repeat: no-repeat;height: auto;}
	.video video{margin-top: 5px;width: 100%;padding: 0;border: 4px solid #565656;border-radius: 5px;}
	/* 先生プロフィール */
	.profile__box{width: 98%;margin-bottom: 2rem; padding-top: 0;}
	.profile__ttl{padding: 1rem 0 1rem 2rem;font-size: 5.8vw;line-height: 1.2;}
	.profile__inner{padding: 0 1.5rem;}
	/*----------------------------------------------------------------------------------------------
	フォーム
	----------------------------------------------------------------------------------------------*/
	#form_header{ padding: 1rem 0; }
	#form_header .text_c{ width:100%; margin:0 auto; font-size:5.5vw; line-height:1.2; padding:1vw;}
	
	.form_inner { width: 95%; display: block; }
	.form_left { width: 100%; margin: 0; height: 10vw; }
	.form_left .form_must span { font-size: 3.2vw; line-height: 1.3; }
	.form_left input { font-size: 4.5vw; }
	.form_right { width: 100%; }
	.form_right .form_btn button { margin: 10px 0 0; padding: 5px; height: auto; font-size: 6vw; line-height: 1.2; }
	.form_right .form_notice { font-size: 4vw; }
	
	#form_float .form_inner { display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; }
	#form_float .form_left { width: 70%; margin-right: 10px; }
	#form_float .form_left input{font-size: 3vw;height: 11vw;}
	#form_float .form_right { width: 30%; }
	#form_float .form_right .form_btn button { margin: 0; font-size: 4vw; letter-spacing: 1px; }
/*----------------------------------------------------------------------------------------------
フォーム
----------------------------------------------------------------------------------------------*/
#form_float{
	z-index:1000;
	display:none;
	position:fixed;
	top:0;
	left:0;
	width:100%;
	padding:1rem 0;
	margin:0 auto;
	background:#000;
 }
#form_header{width:100%; padding:1rem 0; margin:0 auto; }
.form_inner{
	display:-webkit-flex; display:-moz-flex; display:-ms-flex; display:-o-flex; display:flex;
	width:960px;
	margin:0 auto;
}
.form_left{ display:table; width:65%; height:50px; padding:.5rem; margin-right:2rem; border-radius:5px; background:#fff; transition:all 0.2s; }
.form_left:hover{ background:#fbffbd; box-shadow:0 0 0 4px #ffd161 inset; }
.form_left .form_must{ display:table-cell; vertical-align:middle; width:10%; }
.form_left .form_must span{ display:block; padding:0 .5rem; margin-right:1rem; color:#fff; font-size:1.8rem; font-weight:bold; text-align:center; background:#c00; }
.form_left input{ display:table-cell; width:100%; height:100%; outline:0; border:none; background:none; font-size:1.8rem; font-family:inherit; }
.form_right{ width:35%; }
.form_right .form_btn{ width:100%; }
.form_right .form_btn button{
	background: #069100;
	color: #fff;
	text-shadow: 0 1px 4px #00320d;
	font-weight: 600;
	font-size: 3rem;
	border-radius: 5px;
	border: 2px solid #bcff99;
	box-shadow: 0 2px 3px rgba(0,0,0,0.5);
	padding: 0 2rem;
	width: 100%;
	height: 50px;
	cursor: pointer;
	line-height: 1;
	letter-spacing: 1px;
}
.form_right .form_btn button:hover{ background:#08bb00; }
.form_right .form_notice{
	margin-top:.5rem;
	text-indent: -1em;
	padding-left: 1em;
	color:#fff;
	font-size:1.5rem;
	line-height: 1.3;
	text-align: center;
}

	/*----------------------------------------------------------------------------------------------
	フォーム
	----------------------------------------------------------------------------------------------*/
	#form_header{padding: .5rem 0;}
	#form_header .xsmall{font-size: 66%;}
	.form_img{ width:95%; margin:0 auto; }
	.form_inner{ width:95%; display:block; }
	.form_left{ width:100%; margin:0; height:10vw; }
	.form_left .form_must span{ font-size:3.2vw; line-height:1.3; }
	.form_left input{ font-size:4.5vw; }
	.form_right{ width:100%; }
	.form_right .form_btn button{
		margin: 1rem 0 0;
		padding: .5rem;
		height: auto;
		font-size: 6vw;
		line-height: 1.2;
	}
	.form_right .form_notice{ font-size:4vw; text-align: center;}
	#form_float .form_inner{ display:-webkit-flex; display:-moz-flex; display:-ms-flex; display:-o-flex; display:flex; }
	#form_float .form_left{ width:70%; margin-right:1rem; }
	#form_float .form_left input{font-size: 3.5vw;}
	#form_float .form_right{ width:30%; }
	#form_float .form_right .form_btn button{ margin:0; font-size:4vw; letter-spacing:1px; }
	/*----------------------------------------------------------------------------------------------
	吹き出し
	----------------------------------------------------------------------------------------------*/
	.fukidashi .box2{
		display:none;
		right:0;
		left:auto;
		width:300px;
	}
	.fukidashi .box2:after{
		top:-32px;
		right:32px;
		left:auto;
	}
	/*----------------------------------------------------------------------------------------------
	footer__attention
	----------------------------------------------------------------------------------------------*/
	#footer__attention p,#footer__attention ul{ width:95%; margin:2rem auto; }
	.service__list{ width:95%; }
	.service__list th,
	.service__list td{ padding:.5em; }
	.service__list th{ background:#f5f5f5; }
	.service__list td.large{ font-size:120%; }
	
	#footer__attention .attention_box{width: 95%;}
	/*----------------------------------------------------------------------------------------------
	footer
	----------------------------------------------------------------------------------------------*/
	#footer__inner{ width:90%; padding:0 0 3rem; }
	#footer__inner_logo{
		float:none;
		width:60%;
		padding:10px 0 14px 0;
	}
	#footer__inner_right{ float:none; width:100%; }
}