﻿@charset "utf-8";
@import url('https://fonts.googleapis.com/earlyaccess/notosansjapanese.css');

/* 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{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}
/*----------------------------------------------------------------------------------------------
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;
}
#body__wrap{ width:100%; margin:0 auto; background:#FFF; }
#scroll{
	position:absolute;
	top:0;
	left:0;
	right:0;
	bottom:0;
	overflow-y:scroll;
	-webkit-overflow-scrolling:touch;
}

/* 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; }
.img_right{ float:right; width:320px; padding:0 0 2rem 2rem; }
.img_left{ float:left; width:320px; padding:2rem 2rem 2rem 0; }
.img_full{ width:860px; margin:0 auto 3rem; }
.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; }

/* Font */
.u{ text-decoration:underline;}
.b{ font-weight:bold;}
.r{ color:#DD0000;}
.wht{ color:#FFF;}
.yellow{ color:#FFFF00; }
.marker{ background-color:#fdfdb9; }
.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%; }
.mincho{ font-family:Ryumin ExtraBold KL,serif; }
.MB101 { font-family:"Gothic MB101 Heavy",sans-serif; }

p + img,img + p{ margin-top:2rem; }
.letter + .sub-head{ margin-top:4rem; }

/* pic_list */
.pic_list{
	display:-webkit-box; display:-moz-box; display:-ms-flexbox; display:-webkit-flex; display:flex;
	flex-flow:wrap;
	-webkit-box-pack:center; -moz-box-pack:center; -ms-flex-pack:center; -webkit-justify-content:center; justify-content:center;
	padding-bottom:3rem;
}
.pic_list li{ padding:0 1rem; }
/*----------------------------------------------------------------------------------------------
Countdown
----------------------------------------------------------------------------------------------*/
.timer p{ margin:.5rem 0; }
.timer01{ padding:.5rem 0; color:#fff; font-size:2.2rem; text-align:center; font-weight:bold; line-height:1; background:#CC0000; }
.timer01 .timer_num{ color: #ffff55; font-size:140%; font-family:Century Gothic,"Courier New",Consolas,monospace; }
/*----------------------------------------------------------------------------------------------
Header
----------------------------------------------------------------------------------------------*/
header{ width:100%; margin:0 auto; }
#header__img{
	width:100%;
	padding:2rem 0 1rem;
	margin:0 auto;
	text-align:center;
	background:url("../img/bg_header.jpg") no-repeat center bottom;
	background-size:cover;
}

/* 矢印 */
.head-arrow{ position:relative; width:960px; margin:auto; }
.head-arrow > img{ position:absolute; top:-50px; right:-75px; }

.house #header__img{
	padding:2rem 0;
	background:#333;
	background:-moz-linear-gradient(top,#333 0%,#050814 100%);
	background:-webkit-linear-gradient(top,#333 0%,#050814 100%);
	background:linear-gradient(to bottom,#333 0%,#050814 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#333',endColorstr='#050814',GradientType=0);
}
.house .head-arrow > img{ top:-75px; right:-105px; }
/*----------------------------------------------------------------------------------------------
Section
----------------------------------------------------------------------------------------------*/
/* 共通 */
section{ padding:7rem 0; }

/* 脳のイラスト */
section.black{ width:100%; background:#333; }
section.black .letter{ background:url("../img/img_03.png") no-repeat top left; }
section.black .letter p{ float:right; width:520px; padding:14rem 0 0 1rem; }
/*----------------------------------------------------------------------------------------------
sub-head / letter
----------------------------------------------------------------------------------------------*/
.sub-head{
	width:960px;
	color:#050814;
	font-size:5.7rem;
	font-weight:900;
	line-height:1.3;
	text-align:center;
	letter-spacing:-2px;
	margin:0 auto 3rem;
	font-family:"Gothic MB101 Heavy",sans-serif;
}
.letter{ width:960px; margin:0 auto; }
/*----------------------------------------------------------------------------------------------
ブレッド
----------------------------------------------------------------------------------------------*/
/* 共通 */
ul.check,
ul.check_02{ margin: 3rem 0; overflow:auto; }
ul.check li,
ul.check_02 li{
	padding:1.5rem 0 1.5rem 4rem;
	border-bottom:1px dashed #aaa;
	font-size:3rem;
	font-weight:bold;
	line-height:1.4;
}
ul.check li:nth-child(2n),
ul.check_02 li:nth-child(2n){ background-color:#FFFFF0; }

/* 固有 */
ul.check li{ background:url(../img/base/ico_cheack_04.png) 0 2rem no-repeat; }
ul.check_02 li{ background:url(../img/base/ico_cheack_01.png) 0 2rem no-repeat; }
/*----------------------------------------------------------------------------------------------
voice
----------------------------------------------------------------------------------------------*/
/* 各客声の画像と見出し */
.voice__img{ float:left; width:20%; }
.voice__img img{ max-width:100%; }
.voice__box{ float:right; width:76%; }
.voice__box p{ color:#643016; font-size:3.5rem; font-weight:bold; line-height:1.3; }
.voice__box h1{ margin:0; color:#8d8d8d; font-size:1em; text-align:right; }
.voice__box h2{
	margin-top:.2em;
	color:#746b66;
	font-size:3rem;
	font-weight:bold;
	font-family:游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,メイリオ,Meiryo,serif;
}
.voice__text{ margin-top:2rem; }

/* 角丸客声 */
.voice__wrap{
	width:960px;
	padding:4rem;
	margin:4rem auto;
	border:4px double #d4b688;
	border-radius:10px;
	background:#FFF;
	box-shadow:4px 2px 16px rgba(0, 0, 0, 0.3);
}

/* 長方形客声 */
.voice2__wrap{
	width:960px;
	padding:4rem;
	margin:4rem auto;
	border:1px solid #c1c1c1;
	background:#FFF;
	box-shadow:5px 5px 1px rgba(165, 165, 165, 0.3);
}

/* 吹き出しタイトル客声 */
.voice_arrow{ margin: 3rem auto 0; }
.voice_ttl{
	position: relative;
	padding: 3rem 0;
	color: #FFF;
	font-size: 4.4rem;
	text-align: center;
	font-weight: bold;
	line-height: 1.3;
	background: #102C53;
}
.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: #102C53 transparent transparent transparent;
	transform: translateX(-50%);
}
.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: #F0FBFF; }
.voice_txt .subttl{
	overflow: hidden;
	padding-left: 1.4rem;
	margin: 4rem 0 2rem;
	border-left:5px solid #AE0007;
	color:#AE0007;
	font-size: 3rem;
}
.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_frame01_box{
	width:860px;
	padding:10rem 5rem;
	margin:4rem auto;
	background:url(../img/base/voice_frame01_01.png) top left no-repeat,
				url(../img/base/voice_frame01_03.png) bottom left no-repeat,
				url(../img/base/voice_frame01_02.png) top left repeat-y;
}

/* 枠付き客声（シルバー） */
.voice_frame02_box{
	width:843px;
	padding:8rem 0;
	margin:4rem auto;
	background:url(../img/base/voice_frame02_01.png) top left no-repeat,
				url(../img/base/voice_frame02_03.png) bottom left no-repeat;
}
.voice_frame02_box_innner{
	padding:3rem 5rem;
	background:url(../img/base/voice_frame02_02.png) left center repeat-y;
}

/* 枠付き客声（ゴールド） */
.voice_frame03_box{
	width:860px;
	padding:7rem 5rem;
	margin:4rem auto;
	background:url(../img/base/voice_frame03_01.png) top left no-repeat,
				url(../img/base/voice_frame03_03.png) bottom left no-repeat,
				url(../img/base/voice_frame03_02.png) top left repeat-y;
}
/*----------------------------------------------------------------------------------------------
フォーム
----------------------------------------------------------------------------------------------*/
#form_float{
	z-index:1000;
	display:none;
	position:fixed;
	top:0;
	left:0;
	width:100%;
	padding:1rem 0;
	margin:0 auto;
	background:#c00;
}
#form_header{ width:100%; padding:2rem 0; margin:0 auto; background:#c00; }

.form{ width:100%; padding:2rem 0; margin:0 auto; background:#c00; }
.form_arrow01,.form_arrow02{ width:142px; height:23px; margin:0 auto; }
.form_arrow01{ background:url(../img/base/arrow_header_wht.png) center top; }
.form_arrow02{ background:url(../img/base/arrow_header_gold.png) center top; }
.form_img{ padding:0 0 1rem; text-align:center; }
.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:70%; 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:30%; }
.form_right .form_btn{ width:100%; }
.form_right .form_btn button{
	cursor:pointer;
	width:100%;
	height:50px;
	padding:0 2rem;
	border-radius:5px;
	border: 2px solid #bcff99;
	color:#fff;
	font-size:3rem;
	font-weight:900;
	font-family: "Noto Sans Japanese";
	text-shadow:0 1px 4px #00320d;
	background: #069100;
	box-shadow: 0 2px 3px rgba(0,0,0,0.5);
}
.form_right .form_btn button:hover{ background:#08bb00; }
.form_right .form_notice{ margin-top:.5rem; color:#fff; font-size:1.4rem; text-align:center; }
/*----------------------------------------------------------------------------------------------
footer__attention
----------------------------------------------------------------------------------------------*/
#footer__attention{ width:100%; padding:2rem 0; margin:0 auto; }
#footer__attention p{
	margin:0 auto;
	color:#666;
	font-size:1.4rem;
}
.service__list{
	margin:0 auto 2rem;
	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; }
/*----------------------------------------------------------------------------------------------
規約
----------------------------------------------------------------------------------------------*/
p + .kiyaku__box{ margin-top:2rem; }
.kiyaku__box + p{ margin-top:2rem!important; }
.kiyaku__box{
	padding:1rem;
	border:1px solid #ffc332;
	font-size:80%;
	background:#fffddd;
}
.kiyaku__box h3{ padding-bottom:1rem; }
/*----------------------------------------------------------------------------------------------
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:1rem 0 0 2rem; }
#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;
}

/* エビデンス */
.img_full + .clearfix p{ float:left; width:620px; }

/* オススメ */
.side_photo + .check{ margin:0; }


/*///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
【 SP 】
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////*/
@media screen and (max-width:768px){
	/*----------------------------------------------------------------------------------------------
	Basic Style
	----------------------------------------------------------------------------------------------*/
	body{ width:100%; font-size:4.5vw; font-weight:normal; }

	/* Float */
	.side_photo { float:none; width:50%; padding:0; }
	.side_photo2{ float:none; width:35%; padding:0 0 1.4rem; }
	.img_right{ float:none; width:100%; padding:0 0 1.4rem; }
	.img_full{ width:100%; margin:0 auto 1.4rem; }
	.caption{ font-size:4vw; }

	/* PC/SP表示調整 */
	.display_pc{ display:none; }
	.display_sp{ display:block; }

	/* Font */
	.small_sp{ font-size:5.3vw; }

	/* pic_list */
	.pic_list li{ width:100%; padding:0; }
	.pic_list li + li{ margin-top:2rem; }
	/*----------------------------------------------------------------------------------------------
	section
	----------------------------------------------------------------------------------------------*/
	section{ padding:0 0 4rem; }
	section.black .letter {background:none;}
	section.black .letter p { float:none; width:100%; padding:0; }
	/*----------------------------------------------------------------------------------------------
	sub-head / letter
	----------------------------------------------------------------------------------------------*/
	.sub-head{
		width:94%;
		padding:3rem 0 1rem;
		margin:0 auto 1.5rem;
		font-size:5.9vw;
	}
	.letter{ width:90%; }
	/*----------------------------------------------------------------------------------------------
	countdown
	----------------------------------------------------------------------------------------------*/
	.timer01{ padding:.5rem 0; font-size:4.5vw; line-height:1.2; font-family:Century Gothic,"Courier New",Consolas,monospace; }
	.timer01 .timer_num{ font-size:130%; }
	/*----------------------------------------------------------------------------------------------
	header
	----------------------------------------------------------------------------------------------*/
	#header__img{ width:100%; padding:0 0 1rem; }
	.head-arrow{ width:100%; }
	.head-arrow > img{ width:44%; top:-6vw; right:0; left:0; }
	
	.house #header__img{ padding:1rem 1rem 2rem; }
	.house .head-arrow > img{ top:-5vw; right:0; left:0; }
	/*----------------------------------------------------------------------------------------------
	ブレッド
	----------------------------------------------------------------------------------------------*/
	ul.check li,
	ul.check_02 li{
		padding:1.2rem 0 1.2rem 10vw;
		font-size:4.5vw;
		background-position:0 2vw;
		background-size: 7vw;
	}
	/*----------------------------------------------------------------------------------------------
	voice
	----------------------------------------------------------------------------------------------*/
	/* 共通 */
	.voice__wrap,
	.voice2__wrap{
		width:100%;
		padding:1.5rem;
		margin:2rem auto;
	}
	.voice_frame01_box,
	.voice_frame02_box,
	.voice_frame03_box{ width:100%; margin:2rem auto; background-size:100%; }

	/* 各客声の画像と見出し */
	.voice__img{ width:30%; }
	.voice__box{ width:68%; }
	.voice__box p{ font-size:6vw; letter-spacing:.5px; }
	.voice__box h2{ font-size:5vw; }

	/* 吹き出しタイトル客声 */
	.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_frame01_box{ padding:4rem 2rem; }

	/* 枠付き客声（シルバー） */
	.voice_frame02_box{ padding:8vmin 0; }
	.voice_frame02_box_innner{ padding:2rem; background-size:100%; }

	/* 枠付き客声（ゴールド） */
	.voice_frame03_box{ padding:3rem 2rem; }
	/*----------------------------------------------------------------------------------------------
	フォーム
	----------------------------------------------------------------------------------------------*/
	#form_header{ padding: 7vw 0 1rem;}

	.form{ padding:1rem 0; }
	.form_img{ width:95%; margin:0 auto; font-size: 3.6vw; line-height: 1.3; padding: .5rem 0 1rem;}
	.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{ height:auto; padding:.5rem; margin:1rem 0 0; 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:1rem; }
	#form_float .form_right{ width:30%; }
	#form_float .form_right .form_btn button{ margin:0; font-size:4vw; letter-spacing:1px; }
	/*----------------------------------------------------------------------------------------------
	footer__attention
	----------------------------------------------------------------------------------------------*/
	#footer__attention{ background-color:#ecf0ee; }
	.service__list th,
	.service__list td{ padding:.5em; }
	.service__list th{ background:#f5f5f5; }
	.service__list td.large{ font-size:120%; }
	/*----------------------------------------------------------------------------------------------
	footer
	----------------------------------------------------------------------------------------------*/
	#footer__inner{ width:90%; padding:0 0 3rem; }
	#footer__inner_logo{ float:none; width:60%; padding:1rem 0 1.4rem 0; }
	#footer__inner_right{ float:none; width:100%; }

	/* エビデンス */
	.img_full + .clearfix p{ float:none; width:100%; }

	/* オススメ */
	.side_photo + .check{ margin-top:1.4rem; }
}
