﻿@charset "utf-8";
/*@import url('https://fonts.googleapis.com/earlyaccess/notosansjapanese.css');*/
@import url('https://fonts.googleapis.com/earlyaccess/sawarabimincho.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}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}
/*----------------------------------------------------------------------------------------------
CSSアニメーション
----------------------------------------------------------------------------------------------*/
.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;}
@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;}
}

.blinking{ -webkit-animation:blink 0.6s ease-in-out infinite alternate; -moz-animation:blink 0.6s ease-in-out infinite alternate; animation:blink 0.6s ease-in-out infinite alternate; color:#dd0000; font-size:120%; }
@-webkit-keyframes blink{
	0%{opacity:0;}
	70%{opacity:1;}
}
@-moz-keyframes blink{
	0%{opacity:0;}
	70%{opacity:1;}
}
@keyframes blink{
	0%{opacity:0;}
	70%{opacity:1;}
}
/*----------------------------------------------------------------------------------------------
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;
	font-feature-settings:"palt" 1;
	background:url(../img/base/bg_bl.jpg) repeat 50% 0%;
}
#body__wrap{
	width:960px;
	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; }

/* PC/SP表示調整 */
.display_pc{ display:block !important; }
.display_sp{ display:none !important; }

/* font */
.b{ font-weight:bold; }
.u{ text-decoration:underline; }
.rub{ font-weight:bold; border-bottom:2px solid #EB0003; }
.r{ color:#dd0000 !important; }
.blue{ color:#171c77; }
.purple{ color:#664984; }
.orange{ color:#ff5700; }
.marker{background:rgba(0, 0, 0, 0) linear-gradient(transparent 60%, #FFFD43 0%) repeat scroll 0 0;}
.gray{background:#eee;}
.yellow{ padding: 1rem; background:#FFFFF0; }
.yellow02{ background:#FFFFF0; }
.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:150%; }
.xlarge{ font-size:180%; }
.mincho{ font-family:游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,"Sawarabi Mincho",メイリオ,Meiryo,serif; }
.MB101H{ font-family: Gothic MB101 Heavy; }

/* table */
table{ width: 100%; background: #FFF; }
th,td{ padding: 1rem; border: 1px solid #CCC; }
th{ width: 10%; font-weight: bold; background: #EEE; }
td p{ padding-left: 2rem; text-indent: -2rem; }

/* iframe */
iframe{ width: 100%; margin-top: 1rem; }
iframe + hr{ margin: 1rem 0; }
/*----------------------------------------------------------------------------------------------
section/letter
----------------------------------------------------------------------------------------------*/
h2.sub-head{
	width:940px;
	padding:8rem 0 1rem;
	margin:0 auto;
	text-align:center;
	color:#292929;
	font-size:5.8rem;
	letter-spacing:-.2rem;
	font-weight:bold;
	line-height:1.2;
}

.letter{ padding:3rem 5rem 8rem; }
.letter img{
	display:block;
	max-width:100%;
	margin:0 auto;
}
/*----------------------------------------------------------------------------------------------
Countdown
----------------------------------------------------------------------------------------------*/
.timer p{ margin: .5rem 0; }
.timer01{ padding: .6rem 0; text-align: center; font-weight: bold; color: #fff; font-size: 2.2rem; line-height: 1; background: #292929; }
.timer01 .timer_num{ font-size: 140%; color: #ffff55; font-family: Century Gothic, "Courier New", Consolas, monospace; }
/*----------------------------------------------------------------------------------------------
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;
	}
}
/*----------------------------------------------------------------------------------------------
zansu
----------------------------------------------------------------------------------------------*/
.zansu{
	width:100%;
	height:auto;
	padding:10px 0 0;
	margin:0 auto;
	background:#000;
}
.zansu__inner{
	width:960px;
	padding:0 0 0.5em;
	margin:0 auto;
	color:#fff;
	font-size:2.5rem;
	font-weight:bold;
	line-height:1.3;
	text-align:center;
}
.zansu__inner2{
	width:960px;
	padding:.5em 0;
	margin:0 auto;
	color:#fff;
	font-weight:bold;
	font-size:2.5rem;
	line-height:1.3;
}
.zansu2{
	width:690px;
	height:auto;
	padding:20px 0;
	margin:20px auto -20px;
	text-align:center;
	background-color:#000;
}
.zansu2__inner{
	width:690px;
	margin:0 auto;
	color:#fff;
	font-weight:bold;
	font-size:2rem;
	line-height:1.3;
}
/*----------------------------------------------------------------------------------------------
header
----------------------------------------------------------------------------------------------*/
header{ padding-top:1rem; background:url(../img/bg_header.jpg) no-repeat center center; background-size: cover; }
header .pri{
	width:960px;
	padding: 1rem;
	margin: 0 auto;
	color:#FFF;
	font-size: 3rem;
	line-height: 1.2;
	text-align: center;
	background: rgb(150,0,0);
	background: -moz-linear-gradient(left, rgba(150,0,0,1) 0%, rgba(204,4,4,1) 50%, rgba(150,0,0,1) 100%);
	background: -webkit-linear-gradient(left, rgba(150,0,0,1) 0%,rgba(204,4,4,1) 50%,rgba(150,0,0,1) 100%);
	background: linear-gradient(to right, rgba(150,0,0,1) 0%,rgba(204,4,4,1) 50%,rgba(150,0,0,1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#960000', endColorstr='#960000',GradientType=1 );
	box-sizing: border-box;
}
header .pri img{ margin-bottom: .6rem; }
header .pri a{ color:#eaff00; }
header h1{ padding-top:1rem; margin:0 auto; }
/*----------------------------------------------------------------------------------------------
スライダー
----------------------------------------------------------------------------------------------*/
.loop {
	width:100%;
	height:256px;
	background:url(../img/slider.png) #FFF;
	-moz-animation:loop 100s linear infinite;
	animation:loop 100s linear infinite;
}
@keyframes loop {
	0% {background-position:2000px 0;}
	25% {background-position:1500px 0;}
	50% {background-position:1000px 0;}
	75% {background-position:500px 0;}
	100% {background-position:0 0;}
}
@-moz-keyframes loop {
	0% {background-position:2000px 0;}
	25% {background-position:1500px 0;}
	50% {background-position:1000px 0;}
	75% {background-position:500px 0;}
	100% {background-position:0 0;}
}
/*----------------------------------------------------------------------------------------------
present
----------------------------------------------------------------------------------------------*/
.present h2{
	position: relative;
	padding:3rem 0;
	border-top: 2px solid #836B28;
	border-bottom: 2px solid #836B28;
	color:#FFF;
	font-size:6rem;
	text-align: center;
	letter-spacing:-.2rem;
	font-weight:bold;
	line-height:1.2;
	text-shadow:-1px 1px 4px #664E0D;
	background: rgb(240,221,137);
	background: -moz-linear-gradient(top, rgba(240,221,137,1) 21%, rgba(173,140,47,1) 100%);
	background: -webkit-linear-gradient(top, rgba(240,221,137,1) 21%,rgba(173,140,47,1) 100%);
	background: linear-gradient(to bottom, rgba(240,221,137,1) 21%,rgba(173,140,47,1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f0dd89', endColorstr='#ad8c2f',GradientType=0 );
	box-shadow:1px 1px 8px 0 #836B28;
}
.present h2:after{
	position: absolute;
	content: "";
	top:0;
	left: 0;
	width: 960px;
	height: 132px;
	background: url(../img/bg_present.png) no-repeat center center;
}
.present h3{
	display: table;
	width:100%;
	padding: 3rem 4rem;
	margin: 2rem auto 0;
	border-top: 4px double #AB9C81;
	border-bottom: 4px double #AB9C81;
	color: #5A1F05;
	font-size:5rem;
	letter-spacing:-.2rem;
	font-weight:bold;
	line-height:1.2;
	background: #FDF7CD;
	box-sizing: border-box;
}
.present h3 span{
	display: table-cell;
}
.present h3 span.num{
	width:20%;
	padding-right: 1rem;
	font-size:5.2rem;
	text-align: right;
}
/*----------------------------------------------------------------------------------------------
line_list
----------------------------------------------------------------------------------------------*/
.line_list{
	display: table;
	width:100%;
	padding: 0 0 .6rem 1.4rem;
	margin:4rem 0 2rem;
	border-bottom: 1px dotted #dd0000;
	border-left: 4px solid #dd0000;
	font-size: 2.6rem;
	font-weight: bold;
	line-height:1.2;
}
.line_list dt{
	display: table-cell;
	width:12%;
}
.line_list.month{ font-size: 2.2rem; }
.line_list.month dt{ width:26%; }
.line_list dd{
	display: table-cell;
}
/*----------------------------------------------------------------------------------------------
reason
----------------------------------------------------------------------------------------------*/
.reason{
	padding-bottom: .6rem;
	margin: 4rem 0 2rem;
	border-bottom: 1px dashed #dd0000;
	color:#dd0000;
	font-size:4.6rem;
	text-align: center;
	letter-spacing:-.2rem;
	line-height:1.2;
}
.reason .small{
	display: inline-block;
	padding: .6rem 1rem;
	margin-bottom: 1rem;
	border: 1px solid #dd0000;
}
.instructor_box{
	width: 100%;
	padding: 3rem;
	margin: 3rem auto;
	border: 1px solid #CCC;
	box-shadow: 5px 5px 1px rgba(165, 165, 165, .3);
	box-sizing: border-box;
}
.instructor_box .ttl{
	display: table;
	width:100%;
	padding-bottom: 2rem;
}
.instructor_box .ttl h4{
	display: table-cell;
	width:65%;
	padding: 0 2rem;
	font-size: 4.2rem;
	letter-spacing:-.2rem;
	line-height:1.2;
	vertical-align: middle;
	box-sizing: border-box;
}
.instructor_box .ttl .small{ font-size: 70%; }
.instructor_box .ttl .mincho{ font-size: 60%; }
.instructor_box .ttl img{
	display: table-cell;
	margin: 0;
}
/*----------------------------------------------------------------------------------------------
ブレッド
----------------------------------------------------------------------------------------------*/
/* 共有 */
ul.check1,
ul.check2,
ul.check3,
ul.check4{ margin:2rem 0; }
ul.check1 li,
ul.check2 li{
	padding:1.4rem 0 1.4rem 5rem;
	border-bottom:1px dashed #ccc;
	font-weight:bold;
}

/* 固有 */
ul.check1 li{ background:url(../img/base/check1.png) 0 1rem no-repeat; }
ul.check2 li{ background:url(../img/base/check2.png) 0 1rem no-repeat; }
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,
ul.bullet2{ margin:0 0 2rem; }
ul.bullet1 li p,
ul.bullet2 li p{
	font-size:2rem;
	font-weight:normal;
}

/* 固有 */
ul.bullet1 li{
	padding:2rem 0 2rem 5rem;
	margin:0;
	border-bottom:2px dotted #ccc;
	font-size:2.8rem;
	font-weight:900;
	line-height: 1.3;
	background:url(../img/base/check3.png) 1rem 2.4rem no-repeat;
}
ul.bullet1 li:nth-child(even){ background-color:#ffffcc4d; }
ul.bullet1 li p{
	padding:1rem 0 0;
	margin:1rem 0 0;
	border-top:1px dashed #aaa;
}
ul.bullet1 img{ margin:2rem auto; }
ul.bullet2{ border:10px solid #704e23; }
ul.bullet2 li{
	padding:2rem 4rem 2rem 6rem;
	border-bottom:2px dotted #f1dcc1;
	font-size:2.6rem;
	font-weight:bold;
	background:url(../img/base/check3.png) 1.5rem 2.2rem no-repeat;
}
ul.bullet2 li:nth-child(even){ background-color:#fff7ec; }
ul.bullet2 li:last-child{ border:none; }
ul.bullet2 li p{ margin:.5rem 0 0; }
/*----------------------------------------------------------------------------------------------
voice
----------------------------------------------------------------------------------------------*/
.voice_box h3{
	padding: 2rem 0;
	margin: 2rem auto;
	border-top: 1px dashed #9aa5a9;
	border-bottom: 1px dashed #9aa5a9;
	font-size: 5rem;
	line-height: 1.2;
	text-align: center;
	letter-spacing:-.2rem;
	font-family: Gothic MB101 Bold;
}
.voice_text + .voice_box{ margin-top: 4rem; }
.voice_box_02{
	width:100%;
	padding:2rem;
	margin:0 auto 4rem;
	border:12px double #b1954e;
	background:#FFF;
	box-shadow:4px 2px 16px rgba(0, 0, 0, 0.3);
	box-sizing: border-box;
}
.voice_box_02 .ttl{
	padding: 2rem 0;
	margin-bottom: 2rem;
	border-top: 1px dashed #9aa5a9;
	border-bottom: 1px dashed #9aa5a9;
}
.voice_box_02 .ttl h3{
	padding: 0 0 1rem 0;
	margin-bottom: 0;
	border: none;
	font-size: 3.2rem;
	line-height: 1.2;
	font-family: Gothic MB101 DemiBold;
}
.voice_box_02 .ttl h4{
	margin-bottom: 1rem;
	font-size: 2.2rem;
	line-height: 1.4;
	font-family:游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,"Sawarabi Mincho",メイリオ,Meiryo,serif;
}
.voice_box_02 .ttl .pic{ float: left; width:36%; padding-right: 2rem; box-sizing: border-box; }
.voice_box_02 .ttl .txt{ float: right; width:64%; }
.voice_box_02 + .voice_box_02{ margin-top: 4rem; }
/*----------------------------------------------------------------------------------------------
merit
----------------------------------------------------------------------------------------------*/
.merit_box{
	display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;
	flex-wrap: wrap;
	-webkit-box-pack: justify; -moz-box-pack: justify; -ms-flex-pack: justify; -webkit-justify-content: space-between; justify-content: space-between;
}
.merit{ width: 31%; padding: 2rem; margin: 0 1rem 2rem; color: #FFF; background: #333; box-shadow: 5px 5px 4px 0 rgba(100, 100, 100, 0.55); box-sizing: border-box; }
.merit h3{ padding-top: 0; margin-bottom: 2rem; font-size: 2.8rem; font-weight: bold; text-align: center; line-height: 1.2; }
.merit img{ width: 60%; margin-bottom: 2rem; border-radius: 50%; }
.merit p{ line-height: 1.2; }
/*----------------------------------------------------------------------------------------------
form
----------------------------------------------------------------------------------------------*/
.button{
	display: block;
	width: 80%;
	height: 50px;
	padding: 2.6rem 0;
	margin: 4rem auto 1rem;
	border: 2px solid #0692EA;
	color: #FFF;
	font-size: 5rem;
	font-weight: bold;
	line-height: 50px;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	text-shadow: 0 1px 1px #2E707E;
	background: #0692EA;
	transition: all .3s;
	box-shadow: 3px 4px 2px 0 rgba(100, 100, 100, 0.43);
}
.button span{ position: relative; }
.button span:before {
	position: absolute;
	bottom: 6px;
	left: 50px;
	content: '\03009';
	color: #FFF;
	font-size: .5em;
}
.button:hover{
	color: #0692EA;
	border-radius: 100px;
	background-color: #FFF;
}
.button:hover span:before{ color: #0692EA;}
.button.green{ border-color: #19b309; margin-top: 0; background: #19b309; }
.button.green:hover{ color: #19b309; background: #FFF; }
.button.green:hover span:before{ color: #19b309;}
/*----------------------------------------------------------------------------------------------
tsuishin
----------------------------------------------------------------------------------------------*/
#tsuishin{
	padding:5rem;
	font-family:游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,"Sawarabi Mincho",メイリオ,Meiryo,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:-360px 0 0 auto;
}
/*----------------------------------------------------------------------------------------------
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%;
	justify-content:center;
}
#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%;} }




/*///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
【 SP 】
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////*/
@media screen and (max-width:768px){
	/*----------------------------------------------------------------------------------------------
	Basic
	----------------------------------------------------------------------------------------------*/
	body{ font-size:4.5vw; font-weight: normal; }
	img{ max-width:100%; }

	#body__wrap{ padding:0; width:100%; border:none; }

	/* Float / Clearfix */
	.side_photo{ width:44%; padding:0 0 1.4rem 1.4rem; }
	.side_photo2{ width:44%; padding:0 1.4rem 1.4rem 0; }

	/* PC/SP表示調整 */
	.display_pc{ display:none !important; }
	.display_sp{ display:block !important; }

	td p{ padding-left: 0; text-indent: 0; }
	iframe{ height: 80vw; }
	/*----------------------------------------------------------------------------------------------
	section/letter
	----------------------------------------------------------------------------------------------*/
	h2.sub-head{ width:90%; padding: 3rem 0 0; font-size:5.9vw; }
	h2.mincho{ font-size:4vw; }
	h3{ padding:0; }
	.letter{ width:90%; padding:3rem 0; margin:auto; }
	/*----------------------------------------------------------------------------------------------
	prihead
	----------------------------------------------------------------------------------------------*/
	#prihead{ font-size:4.2vw; font-family: Verdana, Roboto, "Droid Sans", "游ゴシック", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ＭＳ Ｐゴシック", sans-serif; }
	#prihead #CDT{ width:100%; font-size:3.6vw; }
	/*----------------------------------------------------------------------------------------------
	countdown
	----------------------------------------------------------------------------------------------*/
	.timer01 { padding: 5px 0; font-size: 4.5vw; line-height: 1.2; }
	.timer01 .timer_num { font-size: 130%; }
	/*----------------------------------------------------------------------------------------------
	zansu
	----------------------------------------------------------------------------------------------*/
	.zansu__inner2{ width:98%; font-size:5vw; }
	/*----------------------------------------------------------------------------------------------
	header
	----------------------------------------------------------------------------------------------*/
	header{ padding-top: 0; }
	header .pri{ width:100%; padding: .6rem; font-size: 3.4vw; }
	header .pri .small{ font-size: 3vw; }
	header h1{ padding-top: .2rem; }
	/*----------------------------------------------------------------------------------------------
	スライダー
	----------------------------------------------------------------------------------------------*/
	.loop { height: 160px; background-size: cover; }
	/*----------------------------------------------------------------------------------------------
	present
	----------------------------------------------------------------------------------------------*/
	.present h2{ font-size:7vw; }
	.present h2:after{ top: calc(50% - 10vw); width: 100%; height: 20vw; background: url(../img/bg_present_sp.png?v2) no-repeat center center; background-size: 100%; }
	.present h3{ padding: 2rem 1rem; font-size:5.8vw; }
	.present h3 span.num{ width: 16%; font-size:5.8vw; }
	/*----------------------------------------------------------------------------------------------
	line_list
	----------------------------------------------------------------------------------------------*/
	.line_list{ display: block; padding-left: 1rem; margin-top: 3rem; font-size: 4.5vw; box-sizing: border-box; }
	.line_list dt{ display: block; width:100%; font-size: 120%; }
	.line_list.month{ font-size: 4.5vw; }
	.line_list.month dt{ width:100%; }
	.line_list dd{ display: block; }
	/*----------------------------------------------------------------------------------------------
	reason
	----------------------------------------------------------------------------------------------*/
	.reason{ font-size:5.2vw; }
	.reason .small{ padding:.4rem .6rem; margin-bottom: .6rem; }
	.instructor_box{ padding: 1rem; }
	.instructor_box .ttl{ padding-bottom: 1rem; }
	.instructor_box .ttl h4{ padding: 0 .6rem; font-size: 5.2vw; letter-spacing: -.1rem; }
	.instructor_box .ttl .small{ font-size: 4.4vw; }
	.instructor_box .ttl .mincho{ font-size: 4vw; }
	/*----------------------------------------------------------------------------------------------
	ブレッド
	----------------------------------------------------------------------------------------------*/
	/* 共有 */
	ul.check1,
	ul.check2,
	ul.check3,
	ul.check4{ font-size:4.5vw; }
	ul.check1 li,
	ul.check2 li,
	ul.check3 li{ background-size:8%; }
	ul.check1 li,
	ul.check2 li,
	ul.check3 li,
	ul.check4 li{ padding:.6rem 0 .6rem 3rem; }

	/* 固有 */
	ul.check1 li{ background-position:0 1.4rem; }
	ul.check2 li{ background-position:0 1.8rem; }
	ul.check3 li{ background-position:0 1.4vw; }
	ul.check4 li{ font-size:5vw; background-position:0 .8vw; }

	/* 共有 */
	ul.bullet1 li,
	ul.bullet2 li{
		font-size:4.5vw;
		background-size:8%;
	}

	/* 固有 */
	ul.bullet1 li{ padding:1.2rem 0 1.2rem 3rem; background-position:0 1.4rem; }
	ul.bullet1 img{ margin:1rem auto; }
	ul.bullet2{ border-width:6px; }
	ul.bullet2 li{ padding:1.2rem 1.2rem 1.2rem 4rem; background-position:1rem 1.4rem; }
	/*----------------------------------------------------------------------------------------------
	voice
	----------------------------------------------------------------------------------------------*/
	.voice_box h3{ padding: 1.4rem 0; font-size: 5.4vw; }
	.voice_text + .voice_box{ margin-top: 3rem; }
	.voice_box_02{ padding: 1rem; border-width:6px; }
	.voice_box_02 .ttl{ padding: 1rem 0; margin-bottom: 1rem; }
	.voice_box_02 .ttl h3{ font-size: 5vw; }
	.voice_box_02 .ttl h4{ font-size: 4vw; }
	.voice_box_02 .ttl .pic{ width:40%; padding-right:1rem; }
	.voice_box_02 .ttl .txt{ width:60%; }
	.voice_box_02 + .voice_box_02{ margin-top: 3rem; }
	/*----------------------------------------------------------------------------------------------
	merit
	----------------------------------------------------------------------------------------------*/
	.merit{ width: 100%; margin: 0; }
	.merit h3{ padding-bottom: .6rem; margin-bottom: 1rem; font-size: 5vw; }
	.merit img{ float: left; width:30%; margin: 0 1.4rem 0 0; }
	.merit + .merit{ margin-top: 1.4rem }
	/*----------------------------------------------------------------------------------------------
	tsuishin
	----------------------------------------------------------------------------------------------*/
	#tsuishin{ padding:3rem 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.6vmin; }
	.tsuishin__name{ margin:0 0 0 auto; }
	/*----------------------------------------------------------------------------------------------
	form
	----------------------------------------------------------------------------------------------*/
	.button{ width: 96%; height: auto; margin: 2rem auto 1rem; font-size: 8vw; line-height: 1; }
	.button span:before { bottom: calc(50% - 3vw); left: 0; font-size: 6vw; }
	/*----------------------------------------------------------------------------------------------
	footer
	----------------------------------------------------------------------------------------------*/
	.footer_logo img{ display:block; }
	.footer_txt{ padding:1rem; }
	#footer__wrap{ display:block; width:100%; }
	/*----------------------------------------------------------------------------------------------
	scfooter
	----------------------------------------------------------------------------------------------*/
	.scfooter_inner{ width:100%; }
}