﻿@charset "utf-8";
@import url('https://fonts.googleapis.com/earlyaccess/notosansjapanese.css');

/* rest.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}
*{ box-sizing: border-box; }
img{margin:0 auto;padding:0;max-width:100%;}

/*----------------------------------------------------------------------------------------------
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{display:inline-block;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}
/*----------------------------------------------------------------------------------------------
reflection
----------------------------------------------------------------------------------------------*/
@keyframes reflection{
	0%{transform:scale(0) rotate(45deg);opacity:0;}
	80%{transform:scale(0) rotate(45deg);opacity:.25;}
	81%{transform:scale(10) rotate(45deg);opacity:.35;}
	100%{transform:scale(75) rotate(45deg);opacity:0;}
}
@-webkit-keyframes reflection{
	0%{-webkit-transform:scale(0) rotate(45deg);opacity:0;}
	80%{-webkit-transform:scale(0) rotate(45deg);opacity:.25;}
	81%{-webkit-transform:scale(10) rotate(45deg);opacity:.35;}
	100%{-webkit-transform:scale(75) rotate(45deg);opacity:0;}
}
@-moz-keyframes reflection{
	0%{-moz-transform:scale(0) rotate(45deg);opacity:0;}
	80%{-moz-transform:scale(0) rotate(45deg);opacity:.25;}
	81%{-moz-transform:scale(10) rotate(45deg);opacity:.35;}
	100%{-moz-transform:scale(75) rotate(45deg);opacity:0;}
}
@-ms-keyframes reflection{
	0%{-ms-transform:scale(0) rotate(45deg);opacity:0;}
	80%{-ms-transform:scale(0) rotate(45deg);opacity:.25;}
	81%{-ms-transform:scale(10) rotate(45deg);opacity:.35;}
	100%{-ms-transform:scale(75) rotate(45deg);opacity:0;}
}
@-o-keyframes reflection{
	0%{-o-transform:scale(0) rotate(45deg);opacity:0;}
	80%{-o-transform:scale(0) rotate(45deg);opacity:.25;}
	81%{-o-transform:scale(10) rotate(45deg);opacity:.35;}
	100%{-o-transform:scale(75) rotate(45deg);opacity:0;}
}
.reflection{position:absolute;top:-180px;left:0;height:100%;width:30px;background-color:#fff;opacity:0;transform:rotate(45deg);animation:reflection 2s ease-in-out infinite;-webkit-transform:rotate(45deg);-webkit-animation:reflection 2s ease-in-out infinite;-moz-transform:rotate(45deg);-moz-animation:reflection 2s ease-in-out infinite;-ms-transform:rotate(45deg);-ms-animation:reflection 2s ease-in-out infinite;-o-transform:rotate(45deg);-o-animation:reflection 2s ease-in-out infinite;}
/*----------------------------------------------------------------------------------------------
Basic
----------------------------------------------------------------------------------------------*/
html{
	font-size:62.5%;
	font-family:-apple-system, BlinkMacSystemFont, "Helvetica Neue", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
}
body{
	margin:0;
	color:#3f3f3f;
	font-size:2.2rem;
	font-weight:500;
	line-height:1.7;
	-webkit-font-feature-settings: 'palt' 1;
	font-feature-settings:"palt" 1;
	background:url(../img/base/bg.jpg);
}
#main{
	width:964px;
	padding:5rem 0 1rem;
	margin:0 auto;
	border-left:2px solid #ccc;
	border-right:2px solid #ccc;
	background:#FFF;
}

/* Float / Clearfix */
.clearfix:before , .clearfix:after{ content:" "; display:table; }
.clearfix:after{ clear:both; }
.clearfix{ *zoom:1; }
.side_photo{ float:right; padding:0 0 2rem 2rem; }
.side_photo2{ float:left; padding:0 2rem 2rem 0; }
.side_photo img{ margin: 0 }
.side_photo2 img{ margin: 0 }
.img_right{ float:right; width:270px; max-width:315px; padding:0 0 2rem 2rem; line-height: 1.3; }
.img_right.big{ width:314px; max-width:330px; }
.img_left{ float:left; width:280px; max-width:315px; padding:0 2rem 2rem 0; line-height: 1.3; }
.img_right img{ margin: 0 }
.img_left img{ margin: 0 }
.img_full{ width:600px; margin: auto; }
.caption { max-width: 100%; padding: 1rem 0 1rem 1rem; margin: 0!important; border-left: 2px solid #040000; color:#040000; font-size: 1.8rem; font-weight: bold; line-height: 1.3; }

/* PC/SP表示調整 */
.display_pc{ display:block; }
.display_sp{ display:none!important; }

/* font */
.u{ text-decoration:underline; }
.b{ font-weight:bold; }
.r{ color:#DD0000; }
.accent{ color:#20286E }
.wht{ color:#FFF; }
.rub{ font-weight:bold; background:url(../img/base/line_border.gif) left bottom repeat-x; }
.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:30%; }
.xsmall{ font-size:60%; }
.small{ font-size:80%; }
.large{ font-size:130%; }
.xlarge{ font-size:150%; }
.xxlarge{ font-size:180%; }

.bg_g{ background:#f5f5f5; }
.bg_y{ background:#FFFFF0; }
.bg_b{ background:#F0FCFF; }
.attention_box{ padding: 2rem 2rem 2rem 4rem; border: 2px dotted #CCC; margin: 3rem 0; font-size:1.8rem; line-height: 1.3; text-indent: -1em; background: #FFF; }
.attention_box.normal{ padding: 2rem; text-indent: 0; }
.MB101_DB { font-family:Gothic MB101 DemiBold; }
.mincho{ font-family:Ryumin ExtraBold KL; }

/* FlexBox */
.flex {
	display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;
	flex-wrap: wrap;
}
/*----------------------------------------------------------------------------------------------
section/letter
----------------------------------------------------------------------------------------------*/
section + section{ margin-top: 5rem; }
.sub-head{
	text-align:center;
	color: #040000;
	font-family:Gothic MB101 Heavy, sans-serif;
	font-size: 5.5rem;
	font-weight: 900;
	letter-spacing: -2px;
	line-height: 1.3;
}
.letter{ padding:3rem 5rem; }
.letter img{
	display:block;
	max-width:100%;
	margin:0 auto;
}
/*----------------------------------------------------------------------------------------------
prihead
----------------------------------------------------------------------------------------------*/
#prihead{
	z-index:10;
	position:fixed;
	width:100%;
	font-size:2.4rem;
	font-weight:bold;
	text-align:center;
	background:#960000;
	background:-moz-linear-gradient(left, #960000 0%, #cf0404 50%, #960000 100%);
	background:-webkit-linear-gradient(left, #960000 0%,#cf0404 50%,#960000 100%);
	background:linear-gradient(to right, #960000 0%,#cf0404 50%,#960000 100%);
	filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#960000', endColorstr='#960000',GradientType=1);
}
#prihead #CDT{
	width:960px;
	padding:1rem 0;
	margin:0 auto;
	color:#fff;
	line-height:1.3;
}
#prihead #CDT .count_num{
	display:inline-block;
	padding:0 .4rem;
	margin:0 .4rem;
	border-radius:3px;
	color:#333;
	font-size:150%;
	background:#fff;
}
@media all and (-ms-high-contrast:none){
	*::-ms-backdrop, #prihead #CDT .count_num{	/* IE11 */
		padding:1rem .4rem 0;
		line-height:1;
	}
}
/*----------------------------------------------------------------------------------------------
header
----------------------------------------------------------------------------------------------*/
header{ background:url(../img/bg_header.jpg) no-repeat top center; background-size: cover; }
header h1{ margin:0 auto; }
/*----------------------------------------------------------------------------------------------
ブレッド
----------------------------------------------------------------------------------------------*/
/* 共有 */
ul.check3,
ul.check4{ margin:2rem 0; }

/* 固有 */
ul.check3 li{
	padding:1rem 0 1rem 4rem;
	font-weight:bold;
	background:url(../img/base/check3.png) 0 .8rem no-repeat;
}
ul.check4 li{
	padding:1.6rem 0 1.6rem 4rem;
	border-bottom:1px solid #aaa;
	font-size:2.8rem;
	font-weight:bold;
	line-height:1.3;
	background:url(../img/base/check4.png) 0 2rem no-repeat;
}

/* 共有 */
ul.bullet1{ margin: 3rem 0; }
ul.bullet1 li p{ font-size:1.8rem; font-weight:normal; }

/* 固有 */
ul.bullet1 li{
	padding:1.6rem 0 1.6rem 5rem;
	margin:0;
	border-bottom:2px dotted #ccc;
	font-size:2.8rem;
	font-weight:bold;
	line-height: 1.3;
	background:url(../img/base/check3.png) 1rem 2rem no-repeat;
}
ul.bullet1 li:nth-child(even){ background-color:#FFFFF0; }
ul.bullet1 li p{
	padding:1rem 0 0;
	margin:1rem 0 0;
	border-top:1px dashed #aaa;
}
ul.bullet1 img{ margin:2rem auto; }

/* メリット */
.merit dt{
	padding: 2rem 0 1rem;
	border-bottom: 1px solid #AE0007;
	color:#AE0007;
	font-size: 3rem;
	font-weight: bold;
	-webkit-box-align: center; -moz-box-align: center; -ms-flex-align: center; -webkit-align-items: center; align-items: center;
	-webkit-box-pack: justify; -moz-box-pack: justify; -ms-flex-pack: justify; -webkit-justify-content: space-between; justify-content: space-between;
}
.merit .num{
	position: relative;
	width:60px;
	height: 60px;
	border-radius: 50%;
	color:#FFF;
	text-align: center;
	line-height: 1;
	background: #AE0007;
}
.merit .num span{ position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }
.merit .ttl{ width:780px; line-height: 1.3; }
.merit dd{ padding: 2rem 0 1rem; border-bottom: 1px dotted #CCC; }
.merit dt:nth-child(4n-1){ background: #FFFFF0; }
.merit dd:nth-child(4n){ background: #FFFFF0; }
/*----------------------------------------------------------------------------------------------
voice
----------------------------------------------------------------------------------------------*/
/* 共通 */
.voice__wrap,
.voice2__wrap{
	width:100%;
	padding:4rem;
	margin:3rem auto;
	background:#FFF;
	box-sizing:border-box;
}

/* 各客声の画像と見出し */
.voice__box{
	float:right;
	width:76%;
	margin:0;
}
.voice__img{
	float:left;
	width:20%;
}
.voice__img img{ max-width:100%; }
.voice__box h2{
	margin:.2rem 0 .5rem;
	color:#7d8c99;
	font-weight:bold;
	font-family:Ryumin ExtraBold KL,serif;
}
.voice__box p{
	margin:0 auto;
	color:#161964;
	font-size:3.2rem;
	font-weight:900;
	line-height:1.3;
}

/* 固有 */
.voice__wrap{
	border:4px double #508bb5;
	border-radius:15px;
	box-shadow:4px 2px 16px rgba(0, 0, 0, .3);
}
.voice2__wrap{
	border:1px solid #b3b4d0;
	box-shadow:6px 6px 1px rgba(151, 174, 197, .3);
}
.speech { display: table; font-size: 3rem; position: relative; background: #c4ecff; padding: 20px; border-radius: 10px; font-weight: bold; color: #151965; }
.speech:before { content: ''; position: absolute; border: 40px solid transparent; border-top-color: #c4ecff; left: 50%; bottom: -60px; transform: translateX(-50%); }
.speech:nth-child(even) { margin: 30px auto 40px 0; }
.speech:nth-child(odd) { margin: 30px 0 40px auto; }

/* 吹き出しタイトル客声 */
.voice_arrow{ margin-top: 3rem; }
.voice_ttl{
	position: relative;
	padding: 3rem 0;
	color: #FFF;
	font-size: 4.4rem;
	text-align: center;
	font-weight: bold;
	line-height: 1.3;
	font-family:Gothic MB101 Heavy, sans-serif;
	background: #AE0007;
}
.voice_arrow.bu .voice_ttl{ background: #20286E; }
.voice_arrow .point_color{ color:#FFFAA0; }
.voice_ttl:after{
	position: absolute;
	content: "";
	bottom: -20px;
	left: 50%;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 30px 30px 0 30px;
	border-color: #AE0007 transparent transparent transparent;
	transform: translateX(-50%);
}
.voice_arrow.bu .voice_ttl:after{ border-color: #20286E transparent transparent transparent; }
.voice_name{
	overflow: hidden;
	padding-bottom: 1rem;
	margin-bottom: 2rem;
	border-bottom: 2px solid #3f3f3f;
	font-size: 3.6rem;
	font-weight: bold;
	line-height: 1.4;
}
.voice_txt{ padding: 4rem 5rem; background: #FFF0F0; }
.voice_arrow.bu .voice_txt{ background: #eafaff; }
.voice_txt .subttl{
	overflow: hidden;
	padding-left: 1.4rem;
	margin: 4rem 0 2rem;
	border-left:5px solid #AE0007;
	color:#AE0007;
	font-size: 3rem;
	line-height: 1.3;
}
.voice_box{
	padding: 3rem;
	margin-top: 3rem;
	background: #FFF;
}
.voice_box + p { margin-top: 3rem; }
.voice_box .ttl{
	padding-left: 1.4rem;
	margin-bottom: 2rem;
	border-left:5px solid #AE0007;
	color:#AE0007;
	font-size: 3rem;
}

/* 境界線の客声 */
.voice_line{
	border-top:5px solid #20286E;
	margin-top: 3rem;
	font-size: 3.2rem;
	line-height: 1.3;
	-webkit-box-pack: justify; -moz-box-pack: justify; -ms-flex-pack: justify; -webkit-justify-content: space-between; justify-content: space-between;
	-webkit-box-align: center; -moz-box-align: center; -ms-flex-align: center; -webkit-align-items: center; align-items: center;
}
.voice_line:nth-child(even){ background:#eafaff; }
.voice_line:last-child{ border-bottom:5px solid #20286E; }
.voice_line + .voice_line{ margin-top: 0; }
.voice_line img{ width:250px; }
.voice_line .txt{ width:610px; padding-left: 2rem; }
.voice_line h3{ margin-bottom: 1rem; font-family: Ryumin ExtraHeavy KL, serif; }
.voice_line .small{ font-size: 1.8rem; }

/* 背景色のみの客声 */
.voice_bg_box{
	padding: 3rem;
	margin-top: 3rem;
	background: #FFF0F0;
}
.voice_bg_box h3{
	margin-bottom: 2rem;
	font-size: 3.2rem;
	line-height: 1.3;
}

/* 鴛海先生 */
.voice_bg_box.oshiumi .flex{ margin-bottom: 2rem; align-items: center; }
.voice_bg_box.oshiumi .pic{ padding-right: 2rem;}
.voice_bg_box.oshiumi h3{ width: 530px; font-size: 3.6rem; }

/* くおん堂の画像 */
.voice_kuondou{ width:90%; margin: 3rem auto; }
.voice_kuondou .side_photo2{ padding: 0 }
.voice_kuondou .img_right{ width:300px; }

/* 山川先生の画像 */
.yamakawa{ -webkit-box-pack: justify; -moz-box-pack: justify; -ms-flex-pack: justify; -webkit-justify-content: space-between; justify-content: space-between; }
.yamakawa li{ width:49%; }
/*----------------------------------------------------------------------------------------------
profile
----------------------------------------------------------------------------------------------*/
.prof h3{
	padding-bottom: 1rem;
	margin-bottom: 2rem;
	border-bottom: 2px solid #AE0007;
	font-size: 3.6rem;
	font-weight: bold;
	line-height: 1.4;
}
.prof p + h3{ margin-top: 4rem; }
.prof_pic{
	margin: 3rem 0;
	-webkit-box-pack: justify; -moz-box-pack: justify; -ms-flex-pack: justify; -webkit-justify-content: space-between; justify-content: space-between;
}
.prof_pic img{ margin: 0; }
.prof_pic .pic01{ width: 560px; }
.prof_pic .pic02{ width: 270px; }
.prof_pic02{
	-webkit-box-align: baseline; -moz-box-align: baseline; -ms-flex-align: baseline; -webkit-align-items: baseline; align-items: baseline;
	-webkit-box-pack: justify; -moz-box-pack: justify; -ms-flex-pack: justify; -webkit-justify-content: space-between; justify-content: space-between;
}
.prof_pic02 img{ margin: 0; }
.prof_pic02 .pic01{ width: 560px; }
.prof_pic02 .pic02{ width: 270px; }
/*----------------------------------------------------------------------------------------------
tokuten
----------------------------------------------------------------------------------------------*/
.tokuten_box{
	background: #efdb5b;
	background: -moz-linear-gradient(left, #efdb5b 0%, #fefcea 50%, #efdb5b 100%);
	background: -webkit-linear-gradient(left, #efdb5b 0%,#fefcea 50%,#efdb5b 100%);
	background: linear-gradient(to right, #efdb5b 0%,#fefcea 50%,#efdb5b 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#efdb5b', endColorstr='#efdb5b',GradientType=1);
}
.tokuten_list_2{
	-webkit-box-pack: justify; -moz-box-pack: justify; -ms-flex-pack: justify; -webkit-justify-content: space-between; justify-content: space-between;
	-webkit-box-align: center; -moz-box-align: center; -ms-flex-align: center; -webkit-align-items: center; align-items: center;
}
.tokuten_list_2 li{ width:50%; }
.tokuten_list_3{
	-webkit-box-pack: justify; -moz-box-pack: justify; -ms-flex-pack: justify; -webkit-justify-content: space-between; justify-content: space-between;
	-webkit-box-align: center; -moz-box-align: center; -ms-flex-align: center; -webkit-align-items: center; align-items: center;
}
.tokuten_list_3 li{ width:33%; }

.tokuten-title{ margin:0; }
.tokuten__box + .tokuten__box{ margin:2rem 0 0; }
.tokuten__box .text_c + p{ margin-top:2rem; }
.tokuten__box_contents{
	padding:2rem;
	margin:0 0 2rem;
	background:#f7f7f7;
}
/*----------------------------------------------------------------------------------------------
hosyou
----------------------------------------------------------------------------------------------*/
.hosho .side_photo2{ width:40%;}
.hosho_step{
	margin: 2rem 0;
	display: -webkit-flex; display: -moz-flex;display: -ms-flex; display: -o-flex; display: flex;
	flex-wrap: wrap;
	-webkit-box-align: start; -moz-box-align: start; -ms-flex-align: start; -webkit-align-items: flex-start; align-items: flex-start;
	-webkit-box-pack: justify; -moz-box-pack: justify; -ms-flex-pack: justify; -webkit-justify-content: space-between; justify-content: space-between;
}
.hosho_step .step_box{ width:22%; padding: .4rem; font-size:1.8rem; line-height: 1.4; }
.hosho_step .step_box img{ margin-bottom: 1rem;}
.hosho_step h4{ margin-bottom: 1rem; border-bottom: 1px solid #FFD12F; font-size:2rem; font-weight: bold; text-align: center; }
.hosho_step img.arrow{ width:2%; margin: 0; transform: translate(-20%,80%); }
.hosho2__flow_wrap {width:90%; margin: 15px auto 0; font-size: 70%; }
.hosho2__flow_wrap_box{display: flex;}
.hosho2__flow_list {margin: 0 auto;flex: 1;}
.hosho2__flow_list p{padding: 5px 20px;}
.hosho2__flow_center{border-top:1px solid #BFBFBF; margin: 30px 0;padding:15px 0;}
/*----------------------------------------------------------------------------------------------
tsuishin
----------------------------------------------------------------------------------------------*/
#tsuishin{
	padding:5rem;
	font-family:Ryumin ExtraBold KL,serif;
	color:#3C3C3C;
	background:url(../img/base/bg_tsuishin.jpg);
}
.tsuishin__sub h2{
	margin:0 auto .5em;
	font-size:5rem;
	line-height:1.3;
}
.tsuishin__sub p{
	margin:0 !important;
	border-bottom:4px double;
	font-size:3rem;
	line-height:1.3;
	background-image:none !important;
}
.tsuishin__box{
	padding:5rem;
	box-shadow:0 3px 10px -2px rgba(0,0,0,.4);
	background:url(../img/base/bg_tsuishin__box.jpg);
}
.tsuishin__box p{
	margin:1em 0 0;
	font-weight:500;
	background-image:linear-gradient(#e5d6b6 1px, transparent 1px);
	background-size:auto 3.7rem;
	background-position:0 -3px;
}
.tsuishin__name{
	position:relative;
	display:block;
	margin:-268px 0 0 auto;
}
/*----------------------------------------------------------------------------------------------
form
----------------------------------------------------------------------------------------------*/
.formWrap{ width:100%; margin-top:2rem; }

/* ボタン */
/* 共通 */
input.btn_submit{
	cursor:pointer;
	display:block;
	width:700px;
	height:160px;
	margin:auto;
	border:none;
	text-indent:-9999px;
}
input.btn_submit:hover{opacity:.8;}

/* 固有 */
input.btn_submit{ background:url(../img/base/btn04.png) no-repeat 0 0; }


/* 料金 */
.form{ margin:0; }
.price__box{ margin-top:2rem; }
.price__result{
	width:90%;
	margin:0 auto;
	font-weight:bold;
	font-family:Arial, Helvetica, "sans-serif";
}
.price__result_main{
	color:#d00;
	font-size:7rem;
	line-height: 1;
}
.price__result_main img{
	float:left;
	width:120px;
	padding-right:2rem
}
.price__result_sub{
	font-size:6rem;
	text-align:right;
}
.price__notice{
	padding:3rem;
	margin:1rem auto 0;
	background:#eee;
	box-sizing:border-box;
}
.price__notice p{
	padding-left:1em;
	font-size:2rem;
	text-indent:-1em;
}
.product_tokuten{ margin: 2rem auto; border: 2px solid #040000; }
.product_tokuten h3{ background: #040000; color: #fff; font-weight: bold; padding: 5px; text-align: center; font-size: 3rem; line-height: 1.3; }
.product_tokuten .flex{ display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; align-items:center; justify-content: space-between; padding: 2rem; }
.product_tokuten img{ width:30%; margin: 1rem; }
.product_tokuten img.full{ width:100%; }
.price_table{ width:100%; margin: 2rem auto; border: 2px solid #040000; line-height: 1.4; }
.price_table th{ background: #040000; color: #fff; font-weight: bold; padding: .5rem; }
.price_table tr:nth-child(2n){ background: #f5f5f5; }
.price_table td{ padding: 10px; vertical-align: middle; }
.price_table td:nth-child(odd){ width: 60%; font-size: 1.8rem; }
.price_table td:nth-child(even){ width: 40%; text-align: center; font-size: 2.5rem; border-left: 2px solid #040000; }
/*----------------------------------------------------------------------------------------------
footer
----------------------------------------------------------------------------------------------*/
footer{ background:#ddd; }
.footer_logo img{ max-width:300px; }
.footer_txt{
	padding:0 0 0 2rem;
	font-size:1.1rem;
	text-align:left;
	line-height:1.9;
}
#footer__wrap{
	display:flex;
	width:800px;
	padding:2rem 0;
	margin:0 auto;
	font-size:80%;
	-webkit-box-pack: justify; -moz-box-pack: justify; -ms-flex-pack: justify; -webkit-justify-content: space-between; justify-content: space-between;
}
#footer__wrap li{
	display:inline-block;
	padding:0 1rem 0;
	border-left:1px solid #aaa;
}
#footer__wrap li:first-child{ border:none; padding:0 1em 0 0; }
/*----------------------------------------------------------------------------------------------
scfooter
----------------------------------------------------------------------------------------------*/
#scfooter{
	z-index:1000;
	position:fixed;
	bottom:0;
	left:0;
	width:100%;
	padding:0;
	background:rgba(202, 202, 202, .7);
}
.scfooter_inner{
	display:block;
	width:80%;
	padding:1rem 0;
	margin:auto;
	border-radius:20px;
	margin:0 auto;
	text-align:center;
}
.scfooter_inner a{ text-decoration:none; }

.btn_ft{
	position:relative;
	overflow:hidden;
	width:480px;
	border-radius:4px;
}
.btn_ft img{ border-radius:4px; }
.btn_ft a{ text-decoration:none !important;}

@media screen and (max-width:768px){ .btn_ft{ width:75%;} }
@media screen and (max-width:425px){ .btn_ft{ width:100%;} }

/* ビフォーアフター */
.before_box{ margin: 3rem 0; }
.before_box li{
	width:50%;
	padding-right: 1rem;
	margin-bottom: 2rem;
	font-size: 1.8rem;
	text-align: center;
	line-height: 1.4;
}
.before_box li:nth-child(even){ padding: 0 0 0 1rem; }
.before_box.voice li:nth-child(3){ margin-bottom: 0; }
.before_box.voice li:nth-child(4){ margin-bottom: 0; }
.before_box p{ margin: 1rem 0 .5rem; font-size: 2rem; }
/* 症例 */
.symptom{ margin-bottom: 3rem; }
.symptom dt{ width:24%; padding: .6rem 1rem; margin-bottom: 1rem; color:#FFF; font-weight: bold; text-align: center; background: #AE0007; }
.symptom dd{ width:76%; padding: .6rem 1rem; margin-bottom: 1rem; border-bottom: 1px dashed #CCC; }
/* 極意 */
.gokui_ttl{
	padding: 3rem 0;
	margin-top: 3rem;
	color: #FFF;
	font-size: 4.6rem;
	text-align: center;
	font-weight: bold;
	line-height: 1.3;
	font-family: Gothic MB101 Heavy, sans-serif;
	background: url(../img/bg_gokui.jpg) no-repeat;
}
.gokui_ttl .small{ display: block; }
/* 経歴 */
.career{ padding: 2rem; margin-bottom: 3rem; background: #FFF; }
.career dl{ margin-bottom: 3rem; }
.career dt{ padding:0 0 .4rem 1.4rem; margin-bottom: 1rem; border-bottom:1px dashed #AE0007; border-left: 5px solid #AE0007; color: #AE0007; font-weight: bold; }
.career_pic{ -webkit-box-pack: justify; -moz-box-pack: justify; -ms-flex-pack: justify; -webkit-justify-content: space-between; justify-content: space-between; }
.career_pic li{ width:260px; }
/* 経歴 藤巻 */
.fujimaki{
	margin-top: 3rem;
	-webkit-box-pack: justify; -moz-box-pack: justify; -ms-flex-pack: justify; -webkit-justify-content: space-between; justify-content: space-between;
	-webkit-box-align: center; -moz-box-align: center; -ms-flex-align: center; -webkit-align-items: center; align-items: center;
}
.fujimaki img{ width:470px; margin: 0; }
.fujimaki p{ width:370px; font-size: 2.6rem; font-weight: bold; line-height: 1.4; }
/* Q&A */
.qa dt{
	margin-bottom: 1rem;
	border-bottom: 1px solid #AE0007;
	color:#AE0007;
	font-size: 3rem;
	font-weight: bold;
}
.qa dd{ line-height: 1.4; }
.qa dd + dt{ margin-top: 2rem; }






/*///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
【 SP 】
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////*/
@media screen and (max-width:768px){
	/*----------------------------------------------------------------------------------------------
	basic
	----------------------------------------------------------------------------------------------*/
	body{
		background:none;
		font-size:4.5vw;
		font-weight: normal;
	}
	img{ width:100%; max-width:100%; }
	.arrow{ width:40%; }

	/* Float / Clearfix */
	.side_photo{ width:46%; padding:0 0 1.4rem 1.4rem; }
	.side_photo2{ width:46%; padding:0 1.4rem 1.4rem 0; }
	.side_photo.full{ width:100%; padding:0 0 1.4rem 0; }
	.img_right{ float:right; width:100%; max-width:100%; padding:0 0 1.4rem 0; }
	.img_right.big{ width:100%; max-width:100%; }
	.img_left{ float:left; width:100%; max-width:100%; padding:0 0 1.4rem 0; }
	.img_full{ width:100%; }
	.caption { padding: .6rem 0 .6rem .6rem; font-size: 4vw; }

	/* PC/SP表示調整 */
	.display_pc{ display:none!important; }
	.display_sp{ display:block!important; }

	.sp_small{ font-size: 4vw; }
	.sp_large{ font-size: 7vw; }
	.sp_large_p{ font-size: 120%; }

	.attention_box{ padding: 1.5rem 1.5rem 1.5rem 2.5rem; border: 2px dotted #CCC; margin: 2rem 0; font-size:3.8vw; }
	.attention_box.normal{ padding: 1.5rem; text-indent: 0; }

	/* FlexBox */
	.flex { align-items: center }

	#main{ padding:2rem 0; width:100%; border:none; }
	/*----------------------------------------------------------------------------------------------
	section/letter
	----------------------------------------------------------------------------------------------*/
	.sub-head{
		width:100%;
		padding: 0 .5rem 0;
		margin: 0 auto 1.5rem;
		font-size: 6vw;
	}
	.letter{ width:100%; padding:1.5rem; margin:auto; }
	/*----------------------------------------------------------------------------------------------
	prihead
	----------------------------------------------------------------------------------------------*/
	#prihead{ font-size:4.2vw; }
	#prihead #CDT{ width:100%; padding: .4rem 0; font-size:3.6vw; font-family: Century Gothic, "Courier New", Consolas, monospace; }
	/*----------------------------------------------------------------------------------------------
	header
	----------------------------------------------------------------------------------------------*/
	/*----------------------------------------------------------------------------------------------
	ブレッド
	----------------------------------------------------------------------------------------------*/
	/* 共有 */
	ul.check3,
	ul.check4{ font-size:5vw; }
	ul.check3 li{ background-size:8%; }
	ul.check4 li{ padding:1.2rem 0 1.2rem 3.2rem; }

	/* 固有 */
	ul.check3 li{ padding: 1rem 0 1rem 4rem; line-height: 1.3; background-position:0 .6rem; }
	ul.check4 li{ font-size:5vw; background-position:0 2vw; }

	/* 共有 */
	ul.bullet1 li{ font-size:5vw; background-size:8%; }

	/* 固有 */
	ul.bullet1 li{ padding:1.2rem 0 1.2rem 4rem; background-position:0 1.4rem; }
	ul.bullet1 img{ margin:1rem auto; }

	/* メリット */
	.merit dt{ padding: 1.5rem 0 1rem; font-size: 5vw; }
	.merit .num{ width:10vw; height: 10vw; }
	.merit .ttl{ width:calc(100% - 12vw); }
	.merit dd{ padding: 1rem 0 1.5rem; }
	/*----------------------------------------------------------------------------------------------
	voice
	----------------------------------------------------------------------------------------------*/
	/* 共通 */
	.voice__wrap,
	.voice2__wrap{
		padding:1.5rem;
		margin:2rem auto;
	}

	/* 各客声の画像と見出し */
	.voice__box{ width:68%; }
	.voice__img{ width:30%; }
	.voice__box h2{ font-size:5vw; }
	.voice__box p{ font-size:6vw; letter-spacing:.5px; }
	.speech { font-size: 5vw; padding: 10px; margin: 30px auto!important; }
	.speech:before { border: 20px solid transparent; border-top-color: #c4ecff; bottom: -35px; }

	/* 吹き出しタイトル客声 */
	.voice_arrow{ margin-top: 2rem; }
	.voice_ttl{ padding: 1.5rem .5rem; font-size: 4.8vw; }
	.voice_name{ margin-bottom: 1rem; font-size: 6vw; }
	.voice_txt{ padding: 3rem 1.5rem 1.5rem; }
	.voice_txt .subttl{ padding-left: 1rem; border-width: 3px; font-size: 5vw; }
	.voice_txt .side_photo{ float: none; width:100%; padding-left: 0 }
	.voice_txt .side_photo2{ float: none; width:100%; padding-right: 0 }
	.voice_box{ padding: 1.5rem; margin-top: 2rem; }
	.voice_box + p { margin-top: 2rem; }
	.voice_box .ttl{ border-left:3px solid #AE0007; font-size: 5vw; line-height: 1.3; }

	/* 境界線の客声 */
	.voice_line{ padding: 1.5rem; border-top:3px solid #20286E; margin-top: 2rem; font-size: 5.6vw; }
	.voice_line:last-child{ border-bottom:3px solid #20286E; }
	.voice_line img{ width:100%; }
	.voice_line .txt{ width:100%; padding: 1.5rem 0 0 0; }
	.voice_line .small{ font-size: 4vw; }

	/* 背景色のみの客声 */
	.voice_bg_box{ padding: 1.5rem; margin-top: 2rem; }
	.voice_bg_box h3{ margin-bottom: 0; font-size: 5vw; }

	/* 鴛海先生 */
	.voice_bg_box.oshiumi .flex{ padding-bottom: 1rem; margin-bottom: 1rem; border-bottom: 1px solid #CCC; }
	.voice_bg_box.oshiumi .pic{ width:100%; padding-right: 0; order: 2; }
	.voice_bg_box.oshiumi h3{ width: 100%; margin-bottom: 1rem; font-size: 5.6vw; order: 1; }

	/* 掘先生 */
	.voice_bg_box.hori .img_left{ float: none; margin-bottom: 1rem; border-bottom: 1px solid #CCC; }
	.voice_bg_box.hori h3{ padding-bottom: 1rem; font-size: 5.8vw; }

	/* くおん堂の画像 */
	.voice_kuondou{ width:100%; margin: 2rem auto; }
	.voice_kuondou .side_photo2{ padding: 0 0 1rem 0 }
	.voice_kuondou .img_right{ width:100%; }

	/* 山川先生の画像 */
	.yamakawa li{ width:100%; }
	.yamakawa li + li{ margin-top: 1rem; }

	/* 推薦 */
	.voice_sp_ttl{ padding:1.5rem; background: url(../img/bg_voice.jpg) no-repeat top center; background-size: cover; }
	.voice_sp_ttl img + img{ margin-top: 1rem; }
	/*----------------------------------------------------------------------------------------------
	profile
	----------------------------------------------------------------------------------------------*/
	.prof h3{
		padding-bottom: .6rem;
		margin-bottom: 1rem;
		border-bottom: 1px solid #AE0007;
		font-size: 5.4vw;
	}
	.prof p + h3{ margin-top: 2rem; }
	.prof_pic{ margin: 2rem 0; }
	.prof_pic .pic01{ width: 100%; margin-bottom: 1rem }
	.prof_pic .pic02{ width: 100%; }
	.prof_pic02 .pic01{ width: 66%; }
	.prof_pic02 .pic02{ width: 33%; }
	/*----------------------------------------------------------------------------------------------
	tokuten
	----------------------------------------------------------------------------------------------*/
	.tokuten_list_3{ justify-content: center; }
	.tokuten_list_3 li{ width:50%; }
	.tokuten3 .flex img + img{ margin-top: 1rem;}
	/*----------------------------------------------------------------------------------------------
	hosyou
	----------------------------------------------------------------------------------------------*/
	.hosho .side_photo2{ width:46%;}
	.hosho_step{ display: block; margin: 1rem 0; }
	.hosho_step .step_box{ width:100%; padding: 0; font-size:4vw; }
	.hosho_step h4{ font-size:5.4vw; }
	.hosho_step img{ margin-bottom: 1rem; }
	.hosho_step img.arrow{ width:6%; margin: -6vmin auto; transform: rotate(90deg); }
	.hosho2__flow_wrap {width:100%; margin: 0 auto 15px; font-size: 4.5vw; }
	.hosho2__flow_wrap_box{display: block;}
	.hosho2__flow_list {margin: 0 auto;flex: 1;}
	.hosho2__flow_list img {width:80%; margin: 0 auto;flex: 1;}
	.hosho2__flow_list p{width:95%;padding: 5px 0; text-align: center; margin: 0 0 15px;}
	.hosho2__flow_center{border-top:1px solid #BFBFBF; margin: 30px 0;padding:15px 0;}
	/*----------------------------------------------------------------------------------------------
	tsuishin
	----------------------------------------------------------------------------------------------*/
	#tsuishin{ padding:1rem; }
	.tsuishin__sub h2{ font-size:8vw; }
	.tsuishin__sub p{ font-size:5.2vw; }
	.tsuishin__box{ padding:2rem; }
	.tsuishin__box p{ font-size:5vw; background-size:auto 8.5vw; }
	.tsuishin__name{ margin:0 0 0 auto; }
	/*----------------------------------------------------------------------------------------------
	form
	----------------------------------------------------------------------------------------------*/
	.formWrap{ margin: 2rem 0 0; }

	/* ボタン */
	input.btn_submit{
		width:100%;
		height:24vw;
		padding:0;
		background-size:100%;
	}

	/* 料金 */
	.price__result{ width:100%; }
	.price__result_main{ font-size: 7.5vw; }
	.price__result_main img{
		width:14vw;
		padding-right:1.4rem
	}
	.price__result_sub{ font-size:5.8vw; }
	.price__notice{ padding:1rem; }
	.price__notice p{ font-size:3.8vw; }
	.product_tokuten{ margin: 0 auto 2rem; border-width: 1px; }
	.product_tokuten h3{ font-size: 5vw; }
	.product_tokuten .flex{ padding: 1.5rem; }
	.product_tokuten img{ width:48%; margin: 0 0 1rem; }
	.price_table{ margin: 0 auto 2rem; border-width: 1px; }
	.price_table th{ padding: .5rem; }
	.price_table td{ padding: 1rem; font-size: 3.8vw!important; }
	.price_table td:nth-child(odd){ width:56%; }
	.price_table td:nth-child(even){ width:44%; }
	.price_table td .small{ display: inline-block; font-size: 3.4vw; line-height: 1.3; }
	/*----------------------------------------------------------------------------------------------
	frame
	----------------------------------------------------------------------------------------------*/
	.frame01,.frame02,.frame03,.frame04{
		width:90%;
		padding:2rem;
		margin:2rem auto;
		background-size:100%;
	}
	/*----------------------------------------------------------------------------------------------
	footer
	----------------------------------------------------------------------------------------------*/
	.footer_logo img{ display:block; }
	.footer_txt{ padding:1rem; }
	#footer__wrap{
		display:block;
		width:100%;
	}
	/*----------------------------------------------------------------------------------------------
	scfooter
	----------------------------------------------------------------------------------------------*/
	.scfooter_inner{ width:100%; padding:.4rem; }


	/* ビフォーアフター */
	.before_box{ margin: 2rem 0; }
	.before_box li{ width:100%; padding-right: 0; font-size: 3.8vw; }
	.before_box li:nth-child(even){ padding: 0; }
	.before_box.voice li:nth-child(3){ margin-bottom: 1rem; }
	.before_box.voice li:nth-child(4){ margin-bottom: 0; }
	.before_box p{ font-size: 4.5vw; }
	/* 症例 */
	.symptom{ margin-bottom: 2rem; align-items: inherit; }
	.symptom dt{ width:30%; padding: .6rem; }
	.symptom dd{ width:70%; padding: .6rem; }
	/* 極意 */
	.gokui_ttl{ padding: 1.5rem .5rem; margin-top: 2rem; font-size: 4.6vw; }
	/* 経歴 */
	.career{ padding: 1.5rem; margin-bottom: 2rem; }
	.career dl{ margin-bottom: 2rem; }
	.career dt{ border-left: 3px solid #AE0007; }
	.career_pic li{ width:100%; }
	.career_pic li + li{ margin-top: 1rem; }
	/* 経歴 藤巻 */
	.fujimaki{ margin-top: 2rem; }
	.fujimaki img{ width:100%; margin-bottom: 1rem; }
	.fujimaki p{ width:100%; font-size: 5vw; }
	/* Q&A */
	.qa dt{ font-size: 5vw; line-height: 1.3; }
}