@charset "utf-8";
/* CSS Document */

html {
	overflow: auto;
	overflow-y: scroll;
	font-size: 62.5%; /* sets the base font to 10px for easier math */
}

body {
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-size: 1.6rem;
  overflow: hidden;
  color:#333333;
  font-weight: 500;
	font-feature-settings: "palt";
}


.bold_ja{
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
  font-weight: 700;
}

.brsp{ display: none;}

.c{ text-align:center;}

a,
a:link { color: #333333; text-decoration:none; }
a:visited { color: #333333;}
a:hover { text-decoration:underline;}
a:active { text-decoration: text-decoration:none;}

.inner:after {
    content: "";
    clear: both;
    display: block;
}

.imgpc{ display:block;}
.imgsp{ display:none;}

.red{color:#cc0000;}

.brclear {
    display: none;
}


#wrap{
	padding:0;
	margin:0;
}




/* ==== header =====*/

header .inner{
	width: 1000px;
    height: 90px;
	margin: 0 auto;
	padding:0;
	position: relative;
}

header .inner h1{
    position: absolute;
	left: 0;
	top: 13px;
}

header .inner h1 img{
    width: 112px;
}


a.btn_reservation{
    position: absolute;
    display: inline-block;
    padding: 15px 0px;
    text-decoration: none;
    color: #FFF;
    background: #cf1a6a;
    border-radius: 24px;
    font-weight: 700;
	font-size:1.4rem;
	width: 260px;
	text-align: center;
	right: 0;
	top: 20px;
}

a.btn_reservation:hover {
	width: 256px;
    color:#a30c4c;
	border: 2px solid #a30c4c;
    background: #fff;
    padding: 13px 0px;
}


/* ==== メイン画像 =====*/

section#main {
	width:100%;
	background:url(../img/mainimg.png) no-repeat right top;
    background-color: #f5f5f5;
	height: 620px;
	margin-bottom: 40px;
}

section#main .inner{
	width: 1000px;
	margin: 0 auto;
	padding:0;
	position: relative;
}


section#main h2{
	font-family: Georgia, "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
	font-size:2.4rem;
	position:absolute;
	top:60px;
	left:0px;
	font-weight: 700;
	text-align: left;
	text-shadow: 1px 1px 1px #fff;
}

section#main h3{
	font-family: Georgia, "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
	font-size:4.8rem;
    line-height: 1.2;
	position:absolute;
	top:150px;
	left:0px;
	font-weight: 700;
	text-align: left;
	text-shadow: 1px 1px 1px #fff;
}


section#main p.graph{
	position:absolute;
	top:330px;
	left:0px;
}


a.btn_counseling{
    position: absolute;
    display: inline-block;
    padding: 10px 30px;
    text-decoration: none;
    color: #FFF;
    background: #f18600;
    border-radius: 10px;
    font-weight: 700;
	font-size:2.8rem;
	width: auto;
	text-align: center;
	right:0px;
	top: 385px;
	border: 4px solid #fff;
}

a.btn_counseling:hover {
	width: auto;
    color:#f18600;
	border: 4px solid #f18600;
    background: #fff;
}



/* ==== CONTENTS =====*/

section {
}

section h2{
	margin-bottom:30px;
	font-family: Georgia, "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
	font-size:4.8rem;
	font-weight:700;
	text-align: center;
}




/* ==== top-cont01 =====*/

section#top-cont01 .inner{
	width: 1000px;
    margin: 0 auto;
	position: relative;
}


section#top-cont01-contents{
	width: 100%;
	background: #fff;
}


section#top-cont01-contents .inner{
	width: 1000px;
	margin: 0 auto;
	padding:60px 0 40px;
	position: relative;
}

section#top-cont01-contents .inner h2 span{
	font-size:3.6rem !important;
}


section#top-cont01-contents .inner ul {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	margin-bottom: 30px;
    font-size: 2.8rem;
    font-weight: 700;
}

section#top-cont01-contents .inner ul li span{
    color: #e24a75;
    display: block;
    font-size: 2.4rem;
}


section#top-cont01-contents .inner ul > li {
	width: 48%;
	list-style: none;
	background: #fefefe;
	border: 1px solid #ccc;
	box-sizing: border-box;
	padding: 20px;
	margin: 0 2% 20px 0;
}

section#top-cont01-contents .inner p{
	font-size:3.0rem !important;
	font-family: Georgia, "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
	font-weight:700;
	text-align: center;
}



/* ==== top-cont02 =====*/

section#top-cont02-contents{
	width: 100%;
	background: #fef4ad;
}


section#top-cont02-contents .inner{
	width: 1000px;
	background:url("../img/cont02_bg02.png") no-repeat center top;
	margin: 0 auto;
	padding:60px 0 40px;
	position: relative;
}

section#top-cont02-contents .inner h2{
	font-size:3.2rem !important;
}


section#top-cont02-contents .inner p{
    margin-bottom: 20px;
}

section#top-cont02-contents .inner p:nth-of-type(3){
    margin-bottom: 50px;
}


.cont02-box{
    margin-bottom: 30px;
}

.cont02-box-l{
    float: left;
    width: 360px;
}

.cont02-box-r{
    float: right;
    width: 600px;
}



p a.btn_reservation02{ text-align: center; display: block; margin: 0 auto;}

a.btn_reservation02{
    display: inline-block;
    padding: 50px 0px;
    text-decoration: none;
    color: #FFF;
    background: #cf1a6a;
    border-radius: 12px;
    font-weight: 700;
	font-size:3.0rem;
	width: 96%;
	text-align: center;
	border: 4px solid #fff;
    position: relative;
}

a.btn_reservation02:hover {
    color:#a30c4c;
	border: 4px solid #a30c4c;
    background: #fff;
}

a.btn_reservation02:before{
  position: absolute;
  content: '';
  top: 8%;
  left:2%;
  width: 160px;/*画像の幅*/
  height: 160px;/*画像の高さ*/
  background-image: url("../img/btn_l_img.png");
  background-size: contain;
  vertical-align: middle;
}

a.btn_reservation02:after{
  position: absolute;
  content: '';
  top: 8%;
  right:2%;
  width: 160px;/*画像の幅*/
  height: 160px;/*画像の高さ*/
  background-image: url("../img/btn_r_img.png");
  background-size: contain;
  vertical-align: middle;
}




/* ==== top-cont03 =====*/



section#top-cont03-contents{
	width: 100%;
	background:#ffffff;
}


section#top-cont03-contents .inner{
	width: 1000px;
	background:url("../img/cont03_bg02.png") no-repeat center top;
	margin: 0 auto;
	padding:60px 0 40px;
	position: relative;
}



table.priceTB {
    width: 100%;
    border-spacing: 0;
    margin:0 auto 10px auto;
    text-align: left;
}

table.priceTB th {
	border: 1px solid #cccccc;
    padding: 20px;
	font-weight:bold;
	width: 36%;
	vertical-align:middle;
	background: #f9f9f9;
}

table.priceTB td {
	border: 1px solid #cccccc;
    padding: 20px;
	vertical-align:middle;
	width: 64%;
}

table.priceTB td p span {
    font-size: 1.4rem;
    margin-bottom: 10px;
}

/* ==== top-cont04 =====*/



section#top-cont04-contents{
	width: 100%;
	background: #244b72;
}


section#top-cont04-contents .inner{
	width: 1000px;
	background:url("../img/cont05_bg02.png") no-repeat center top;
	margin: 0 auto;
	padding:60px 0 40px;
	position: relative;
}

section#top-cont04-contents .inner h2{
	color: #fff;
}

.howtobox{
	width: auto;
	padding: 40px;
	background: #fff;
	margin-bottom: 30px;
}

.howtobox ul li{
	margin-bottom: 20px;
}

.howtobox ul li div{
	text-align: center !important;
}

.howtobox ul li div img{
	vertical-align:bottom;
}

.howtobox ul li:last-child{
	margin-bottom: 0px;
}


.howtobox ul li dl dt{
	width: auto;
	font-size: 2.4rem;
	font-weight: 700;
	color: #fff;
	text-align: center;
	padding: 10px;
	background: #244b72;
}

.howtobox ul li dl dd{
	width: auto;
	font-size: 1.8rem;
	padding: 20px;
	background: #fff;
	border: 1px solid #ccc;
}

.howtobox ul li dl dd p span{
	color: #cc0000;
}









/* ==== form =====*/

section#topform{
    border-top:1px solid #ccc;
}

section#topform .formbox{
	width: 98%;
	border: 1px solid #eaeaea;
	padding: 2%
}

section#topform .formbox-l{
	float: left;
	width: 36%;
}

section#topform .formbox-l img{
	width: 100%;
}

section#topform .formbox-r{
	float: right;
	width: 60%;
}


section#topform .formbox .formbox-in ul{
	font-size:1.8rem;
	margin-bottom: 20px;
	text-align: center;
}

.txt-ex{
	font-size:1.2rem;
	margin-top: 5px;
	text-align: center;
}

.txt-price{
	font-size:1.8rem;
	margin-bottom: 5px;
	text-align: center;
}


.txt-price span{
	font-size:4.8rem;
	font-weight: 700;
}

div.btn-c{ text-align: center;}


a.btn_form {
    position: relative;
    display: inline-block;
    padding: 20px 0px;
	margin: 0 auto;
    text-decoration: none;
    color: #FFF;
    background: #cf1a6a;
    border-radius: 8px;
    font-weight: 700;
	font-size:1.8rem;
	width: 50%;
	text-align: center;
	display: block;
	border: none;
}


a.btn_form:hover {
    background:#a30c4c;
    padding: 20px 0px;
	border: none;
	color: #fff;
}

a:hover.btn_form{
	text-decoration: none;
}



/* ==== contact =====*/



section#topcontact{
	width: 100%;
}


section#topcontact .inner{
	width: 1000px;
	margin: 0 auto;
	padding:60px 0;
}

section#topcontact .inner h2{
	font-size:4.2rem;
	margin-bottom: 10px !important;
}

section#topcontact .inner .contactbox{
	border: 4px solid #36475a;
	padding: 30px 20px;
}

section#topcontact .inner .contactbox p.txt_contact{
	margin-bottom: 20px;
	text-align: center;
}

section#topcontact .inner .contactbox-in{
	width: 100%;
	margin: 0 auto;
	display: table;
	text-align: center;
}


a.btn_contactform {
    position: relative;
    display: inline-block;
    padding: 25px 40px;
    text-decoration: none;
    color: #FFF;
    background: #36475a;
    font-weight: bold;
	font-size:1.8rem;
	width: 50%;
}

a.btn_contactform:after {
	content: '';
	width: 24px;/*画像の幅*/
	height: 18px;/*画像の高さ*/
	background-image: url(../img/icon_mail.png);
	background-size: contain;
	display: inline-block;
	vertical-align: middle;
	margin-left: 8px;
}


/* ==== FOOTER =====*/

footer{
	width: 100%;
	padding:40px 0;
	border-top: 1px solid #cccccc;
}

footer p.fnavi{
	font-size:1.4rem;
	text-align:center;
	margin-bottom: 20px;
}


footer p.copy{
	font-size:1.2rem;
	text-align:center;
}









/* ==== 下層 =====*/


.privacy{
	margin:40px auto 0;
	text-align: left;
}

.privacy ul li.privacyBOX-txt{
	padding:0;
	font-weight:bold;
}

.privacy ul li.privacyBOX-txt2{
	padding:0;
	margin-bottom:40px;
}


section#topform{
	padding-top: 30px;
}


section#topform .inner{
	width: 1000px;
	margin: 0 auto;
	padding:60px 0 40px;
	position: relative;
}


section#topform .inner table.outlineTB {
    width: 100%;
    border-spacing: 0;
    margin:40px auto 40px auto;
	font-size:1.6rem;
    text-align: left;
}

section#topform .inner table.outlineTB th {
	border: 1px solid #cccccc;
    padding:20px 20px;
	font-weight:bold;
	width: 20%;
	vertical-align:middle;
	background: #f9f9f9;
}

section#topform .inner table.outlineTB td {
	border: 1px solid #cccccc;
    padding:20px 20px;
	vertical-align:middle;
	width: 80%;
}

section#topform .inner table.outlineTB td span.txt-red{
	color: #cc0000;
}


.mb10{ margin-bottom:10px;}
.mb20{ margin-bottom:20px;}
.mb30{ margin-bottom:30px;}
.mb40{ margin-bottom:40px;}



/* CLERFIX */
.clearfix:after {
	content: ".";
	display: block;
	height: 0;
	/*height: 1;*/
	clear: both;
	visibility: hidden;
	font-size: 0;
	line-height: 0;
	margin: -1px 0 0 0;
	overflow: hidden;
}

.clearfix {
	_overflow: visible;
	_height: 1px;
	zoom: 1;
}



.menuItem{
	padding: 0;
	margin-bottom: 20px;
}

.menuItem_ttl {
    font-weight: bold;
	position: relative;
	padding:15px;
	background: #244b72;
	font-size: 1.8rem;
	color: #fff;
}


.priceItem {
	text-align:left;
	padding:15px;
	border: 1px solid #244b72;
	font-size: 1.8rem;
}


.accoContent {
	display: none;
}
.accoIcon {
	position: absolute;
	top: 0;
	right: 5px;
	bottom: 0;
	width: 11px;
	height: 11px;
	margin: auto;
}
.accoIcon:before,.accoIcon:after {
	position: absolute;
	content: '';
	background:#fff;
}
.accoIcon:before {
	top: 5px;
	right: 5px;
	width: 11px;
	height: 1px;
}
.accoIcon:after {
	top: 0;
	right: 10px;
	width: 1px;
	height: 11px;
}
.on .accoIcon:after {
	display: none;
}




/* application section */

.application {
	margin-top: 80px;
}

.application h3 {
	padding-top: 28px;
	border-top: 12px solid #cf1a6a;
	font-size: 2.4rem;
	font-weight: 700;
	text-align: center;
}

.application p {
	margin-top: 24px;
	text-align: center;
}

.application iframe {
	width: 100%;
}
