@charset "utf-8";
/* CSS Document */
*{margin: 0;padding: 0;}
html{font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";line-height: 2;}
img{max-width: 100%;vertical-align: bottom;}

header{background-image: url(img/bg4.jpg);background-size: cover;background-position: center;height: 800px;}
h1{text-align: center;color: #fff;padding-top: 100px;}
h2{background-color: #7a97cc;/*background-color: #F788A9;*/color: #fff;padding: 15px 0;text-align: center;margin: 20px 0 20px 0;border-top: 10px double #fff;border-bottom: 10px double #fff;}
h3{font-size: 1rem;border-left: 10px solid #7a97cc;/*border-left: 10px solid #F788A9;*/padding: 10px 10px;margin-bottom: 10px;clear: both;background: #eee;}
.mini_h2{background-color: #7a97cc;color: #fff;padding: 5px 0;text-align: center;margin: 5px 0 ;border-top: 5px double #fff;border-bottom: 5px double #fff;}
.text_box{padding: 1em; margin-bottom: 2em;}
.moko{margin: 4em 0;}
.f_right{float: right;}
.mt10{margin-top: 10px;}
.mb20{margin-bottom: 20px;}
.center{
	text-align: center;
}


.pc{display: block;}
.sp{display: none;}
.table_outer{display: block;overflow-x: scroll;white-space: nowrap;-webkit-overflow-scrolling: touch;}

.why{background-color: #C4E3EB;padding: 15px;margin: 20px 0;}
dl.program{}
dl.program dt{font-size: 1.1rem;line-height: 1.5rem; border-left: 10px solid #7a97cc;background: #eee;/*border-left: 10px solid #F788A9;*/padding: 10px 10px;margin: 25px 0;font-weight: bold;}
dl.program dd{margin-bottom: 20px; word-break:break-all;padding-left: 1rem;}
.time{background-color: #FFFABA;padding: 5px 10px;margin-bottom: 3px;border: 1px solid #ccc;}
.photo{height: 150px;margin-left: 10px;}

.target{
	background: none;
	border: 1px solid #666;	/* 線の太さ・種類・色 */
	margin: 20px 10px; /* 外側の余白 上下・左右 */
	padding: 30px 20px 20px; /* 内側の余白 */
	position: relative;
	font-weight: bold;
	text-align: center;
}
.target:before{
	background-color: #fff;
	content: '＜到達目標＞';
	padding: 2px 10px; /* タイトルの余白 上下・左右 */
	position: absolute;
	top: -10px;
	left: 30px;
	text-align: center;
	font-weight: bold;
}
.target:after{
	background: none;
	border: 1px solid #333;	/* 線の太さ・種類・色 */
	content: '';
	position: absolute;
	top: 3px;
	left: 3px;
	width: 100%;
	height: 100%;
	z-index: -1;
}

dl.kozako{}
dl.kozako dt{font-size: 1rem;border-left: 10px solid #7DD4C2;padding: 10px 10px;margin-bottom: 10px;font-weight: bold;}
dl.kozako dd{margin-bottom: 20px;}
.brackets_num ol{
margin-left: 0;
}
.brackets_num ol li {
	list-style-type: none;
	counter-increment: cnt;
      text-indent: -1.5em;
  padding-left: 1.5em;
}

.brackets_num  ol li::before {
	content: "(" counter(cnt) ") ";
}
/* *********************** */
/*        お申込方法       */
/* *********************** */

#flow{
	padding: 1em;
	margin-bottom: 2em;
}
#flow dt{
	width: 90%;
	margin: 0 auto;
	border: 1px solid #202f55;
	background: #202f55;
	padding: 10px 0;
	text-align: center;
	color: #fff;
	font-weight: bold;
	font-size: 105%;
}
#flow dd{
	width: calc(90% - 40px);
	margin: 0 auto;
	border: 1px solid #7a97cc;/*border: 1px solid #004d25;*/
	padding: 20px;
}
#flow li{
	list-style: none;
}

#bank{
	border: 1px solid #333;
	padding: 0.5em;
	width: 60%;
	margin: 1em;
}
.app {display: inline-block;width: 350px;height: 54px;text-align: center;text-decoration: none;/*line-height: 54px;*/outline: none;position: relative;z-index: 2;background-color: #fff;border: 2px solid #245084;color: #245084;line-height: 50px;overflow: hidden; margin:25px 0 5px}
.app::before,.app::after {position: absolute;z-index: -1;	display: block;content: '';}
.app,.app::before,.app::after {-webkit-box-sizing: border-box;	-moz-box-sizing: border-box;box-sizing: border-box;	-webkit-transition: all .3s;transition: all .3s;}
.app:hover {color: #fff; border: 2px solid #fff; }
.app::after {top: 0;left: 0;width: 100%;height: 100%;}
.app:hover::after {-webkit-transform: scale(2) rotate(180deg);transform: scale(2) rotate(180deg);background:#777676;}

footer{background-color: #E0E9EF;padding: 1em;line-height: 1.6;}

.pmark{float: right;margin-left: 20px;}

	.table_outer{
	display: block;
	overflow-x: scroll;
	white-space: nowrap;
	-webkit-overflow-scrolling: touch;
}
table.border{border-collapse: collapse;border: 1px solid #787878;
max-width: 900px;margin: 10px auto;}
table.border th,table.border td{border: 1px solid #787878;padding: 10px;flex-wrap: wrap;white-space: pre-wrap; }
table.border th{background-color: #ccdeff
;/*background-color: #F7DEE6;*/font-weight: 500;}
table.sche{margin: 20px 0;}
table.sche th,table.sche td{padding: 0 20px 0 0;}
table.cancell{ width:100%; border:1px solid #888181; border-collapse: collapse; margin:0 0 10px 5px;}
table.cancell th { padding:5px 12px; text-align:left; background-color:#7a7a7a; color:#fff;border:1px solid #888181;}
table.cancell th p { text-align:center; color:#fff;}
table.cancell td{ padding:5px 12px; text-align:left;border:1px solid #888181; color:#727272;}
table.cancell td p { text-align:center; color:#727272;}		

ul.disc {margin-left: 1.5em;}
ul.disc li{list-style: disc;}
ul.list{list-style: none;margin-left: 1em;text-indent: -1em;}
ul.list li:before{content: "※";}
ol{margin-left: 30px;}

#flow ul.disc {margin-left: 1.5em;}
#flow ul.disc li{list-style: disc;}
#flow ul.list{list-style: none;margin-left: 1em;text-indent: -1em;}
#flow ul.list li:before{content: "※";}
#flow ol{margin-left: 30px;}

.red{color: red;}
.red_b{color: red;font-weight: bold}
.apl{text-align: center;font-size: 125%;margin: 20px 0 60px 0;font-weight: bold;}
.large{font-size: 140%;}

.yn_btn{text-align: center;margin: 20px 0;}
.yn_btn img{margin-right: 20px;margin-bottom: 10px;}

.f_right{float: right;}
.f_left{float: left;}

.mb10{margin-bottom: 10px;}
.mb20{margin-bottom: 20px;}

.button {
  display: inline-block;
  width: 75%;
  text-align: center;
  text-decoration: none;
  outline: none;
	border: 1px solid #c9171e;
  background-color: #e83929;
  background-image: -webkit-linear-gradient(top, #e83929, #c9171e);
  background-image: linear-gradient(to bottom, #e83929, #c9171e);
  border-radius: 4px;
  color: #fff;
  -webkit-transition: none;
  transition: none;
  text-shadow: 0 1px 1px rgba(0, 0, 0, .3);
	font-weight: bold;
	letter-spacing: 5px;
	font-size: 20px;
	padding: 20px 10px;
}
.button::before,
.button::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: '';
}
.button,
.button::before,
.button::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .3s;
  transition: all .3s;
}
.button:hover {
  border:1px solid #cd5e3c;
  background-color: #b7282e;
  background-image: -webkit-linear-gradient(top, #cd5e3c, #b7282e);
  background-image: linear-gradient(to bottom, #cd5e3c, #b7282e);
}
.button:active {
  background: #e83929;
  box-shadow: inset 0 3px 5px rgba(0, 0, 0, .2);
  color: #1679a1;
  text-shadow: 0 1px 1px rgba(255, 255, 255, .5);
}

@media screen and (max-width:999px){
	header{height: 500px;}
	h1{line-height: 500px;padding-top: 0;}
	h1 img{max-width: 450px;width: 75%; vertical-align: middle;}
	h2{font-size: 20px;padding: 15px 0;text-align: center;margin: 20px 0 20px 0;border-top: 10px double #fff;border-bottom: 10px double #fff;}
	.wrap{width: 100%;}
	.map{height: 300px;}
.pc{display: block;}
.sp{display: none;}

	table.detail th,table.detail td{display: block;}
	table td.pro{font-weight: bold;background-color: #CFDCF0}
	.table_outer{
	display: block;
	overflow-x: scroll;
	white-space: nowrap;
	-webkit-overflow-scrolling: touch;
}
table.border{border-collapse: collapse;border: 1px solid #787878;}
table.border th,table.border td{border: 1px solid #787878;padding: 10px;}
table.border th{background-color: #bbdbf3;font-weight: 500;}
table.sche{margin: 20px 0;}
table.sche th,table.sche td{padding: 0 20px 0 0;}

ul.disc {margin-left: 1.5em;}
ul.disc li{list-style: disc;}
ul.list{list-style: none;margin-left: 1em;text-indent: -1em;}
ul.list li:before{content: "※";}
ol{margin-left: 30px;}

.app {display: inline-block;width: 250px;height: 54px;text-align: center;text-decoration: none;/*line-height: 54px;*/outline: none;position: relative;z-index: 2;background-color: #fff;border: 2px solid #245084;color: #245084;line-height: 50px;overflow: hidden; margin:25px 0 5px}
.red{color: red;}
.apl{text-align: center;font-size: 125%;margin: 20px 0 60px 0;font-weight: bold;}
.large{font-size: 140%;}

.yn_btn{text-align: center;margin: 20px 0;}
.yn_btn img{margin-right: 20px;margin-bottom: 10px;}

.f_right{float: none;margin-bottom: 5px;width: 100%;}
.f_left{float: left;}
	.pmark{float: none;margin-left: 10px;}

.mb10{margin-bottom: 10px;}
.mb20{margin-bottom: 20px;}

.button {
  display: inline-block;
  width: 75%;
  text-align: center;
  text-decoration: none;
  outline: none;
	border: 1px solid #c9171e;
  background-color: #e83929;
  background-image: -webkit-linear-gradient(top, #e83929, #c9171e);
  background-image: linear-gradient(to bottom, #e83929, #c9171e);
  border-radius: 4px;
  color: #fff;
  -webkit-transition: none;
  transition: none;
  text-shadow: 0 1px 1px rgba(0, 0, 0, .3);
	font-weight: bold;
	letter-spacing: 5px;
	font-size: 20px;
	padding: 20px 10px;
}
.button::before,
.button::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: '';
}
.button,
.button::before,
.button::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .3s;
  transition: all .3s;
}
.button:hover {
  border:1px solid #cd5e3c;
  background-color: #b7282e;
  background-image: -webkit-linear-gradient(top, #cd5e3c, #b7282e);
  background-image: linear-gradient(to bottom, #cd5e3c, #b7282e);
}
.button:active {
  background: #e83929;
  box-shadow: inset 0 3px 5px rgba(0, 0, 0, .2);
  color: #1679a1;
  text-shadow: 0 1px 1px rgba(255, 255, 255, .5);
}
	footer div{width: 100%;margin: auto;}
	}
@media screen and (min-width:1000px){
	.wrap{width: 1000px;margin: 30px auto;background-color: white;}
	.map{width: 500px;height: 400px; margin-left: 10px;float: right;border: 2px solid #ccc;}
	footer div{width: 1000px;margin: auto;}
}

@media screen and (min-width:501px){
.choice{
	border: 5px solid #7a97cc;/*border: 5px solid #F788A9;*/
 border-radius: 10px;
 padding: 10px;
 display: block;
margin: 15px auto;
width: calc(95% - 20px);
margin-bottom: 2rem;
}

.choice ul li{
	margin-left: 0.5em;
	font-weight: bold;
	padding-right: 18px;
	line-height: 1.5;
}

.choice img{
	margin-top: 5px;
	margin-bottom: 10px;
	min-width: 360px;
}
}
@media screen and (max-width:500px){
	body{font-size: 90%!important;}
	h2{font-size:16px;  padding: 10px 0;text-align: center;margin: 5px 0 20px 0;border-top: 7px double #fff;border-bottom: 7px double #fff;}
	dl.program dt{border-left: 7px solid #7a97cc;/*border-left: 7px solid #F788A9;*/padding: 10px 10px;margin-bottom: 8px;}
	.table_outer{
	display: block;
	overflow-x: scroll;
	white-space: nowrap;
	-webkit-overflow-scrolling: touch;
}
	#bank{
	border: 1px solid #333;
	padding: 0.5em;
	width: 80%;
	margin: 1em;
}
	table.sche th,table.sche td{border-bottom: 1px solid #ccc;}
	.button {
		width: 70%;
	letter-spacing: 2px;
	font-size: 17px;
	padding: 20px 10px;
}
	.app {display: inline-block;width: 100%;height: 54px;text-align: center;text-decoration: none;/*line-height: 54px;*/outline: none;position: relative;z-index: 2;background-color: #fff;border: 2px solid #245084;color: #245084;line-height: 50px;overflow: hidden; margin:25px 0 5px}
	.f_right{float: none;margin-bottom: 5px;width: 100%;}
	.pmark{float: none;margin-left: 10px;}
	.pc{display: none;}
.sp{display:  block;}
.text_box{
width: calc(100% - 10px);
padding: 5px;
}
.choice{

}

.choice{
	border: 3px solid #7a97cc;/*border: 5px solid #F788A9;*/
 border-radius: 5px;
 padding: 5px;
 display: block;
margin: 5px auto;
width: calc(100% - 20px);
margin-bottom: 1rem;
}

.choice ul li{
	margin-left: 0.5em;
	font-weight: bold;
	padding-right: 18px;
	line-height: 1.5;
}

.choice img{
margin:25px 0;
}




}

.caption{
	font-size: 70%;
	text-align: right;
}

.caption_c{
	font-size: 70%;
	text-align: center;
	margin-top: -5px;
}

.bloc{
	width: 100%;
}



.title{
	font-weight: bold;
	font-size: 120%;
	color: #7a97cc;/*color: #F788A9;*/
    margin-bottom: 15px;
    /*padding: 10px;*/
}
.plus{
	font-size: 200%;
	font-weight: bold;
	text-align: center;
	margin: 30px 20px 0 20px;
	vertical-align: middle;
}
.flex {
  display: flex; /*横並び*/
}

.flex_2 {
  display: flex;
  justify-content: space-between;
/*	align-items: center;*/
}
.flex_3 {
  display: flex;
  justify-content: space-around;
  align-items: center;
}

@media screen and (max-width:914px){
	.flex{display: block;}
	.plus{
		margin: 0 auto;
	}
/*	.choice{
		width: 90%;
	}*/
	
/*	.choice img{
	margin: 5px auto 25px auto;
		display: block;
		max-width: 95%;
		min-width: 95%;
	}*/
	
	table.border th,table.border td
	{border: 1px solid #787878;padding: 10px; font-size: 12px;}
	
}

.top img{
	margin: 0 auto;
	
	
}

.read{
	font-weight: normal;
	text-align: justify;
	line-height: 1.8;
	padding-top: 10px;
	padding-bottom: 1em;
	
	}

@media screen and (max-width:768px){
	.flex_2,
    .flex_3{display: block;}}
@media screen and (min-width:501px){
.for_sp{
display: none;
}
.img3 img{
width: 250px!important;
max-width: 250px!important;
min-width: 250px!important;
height: 100%;
}
}

@media screen and (max-width:500px){
.for_pc{
display: none;
}
.p_box{
display: block!important;
width: 100%!important;
margin-bottom: 10px;
}
#flow{
padding: 0;
}
.img3 img{
width: 100%;
}
}
.sub{
	font-size: 110%;
	font-weight: bold;
	text-align: center;
	line-height: 1.9;
	margin-bottom: 1em;
	padding: 20px;
	border-bottom: 2px solid #7a97cc;/*border-bottom: 2px solid #F788A9;*/
	border-top: 2px solid #7a97cc;/*border-top: 2px solid #F788A9;*/
}

.border_b{
	border-bottom: dashed #000000 1px;
	padding: 10px 0px;
	margin-bottom: 15px;
}

.table_outer ul{
	list-style: disc; margin-left: 1em;font-size: 100%;
}
.table_outer li{
	margin-left: 1em;
	line-height: 1.6;
}

.p_box{
	 display: inline-block;
  width: 70px;
  height: 50px;
  background: #7a97cc;/* background: #F788A9;*/
  text-align:center;
  line-height: 50px;
margin-right: 10px;
	color: #FFFFFF;
	font-weight: bold;
	
}

.circle{
  display: inline-block;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: #7a97cc;/*background: #F788A9;*/
  text-align:center;
  line-height: 50px;
margin-right: 10px;
	color: #FFFFFF;
	font-weight: bold;
}

.text_blok{
	padding: 20px 10px;
}
.photo_blok{
	padding: 10px;
}

.yellow{
background: #ffffe0;
}
.light_green{
background: #efffe0;
}

.photo_blok2{
	padding: 10px;
	text-align: center;
}
.photo_blok2 img{
	padding: 10px;
}