@charset "utf-8";
/* CSS Document */
*{margin: 0;padding: 0;}
html{font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";line-height: 1.8;}
img{max-width: 100%;vertical-align: bottom;}
h1{text-align: center;color: #fff;padding-top: 100px;}
h2{background-color:#D8EAFF;/*#007199*/;color: #253444;padding: 15px 0;text-align: center;margin: 20px 0 20px 0;/*border-top: 10px double #fff;border-bottom: 10px double #fff;*/
  box-shadow: 0 0 0 10px #D8EAFF/*#665b58*/;
  border-top: 1px dashed #253444;border-bottom: 1px dashed #253444;}
h3{font-size: 1rem;border-left: 10px solid #253444/*#a0d8ef*/;padding: 10px 10px;margin-bottom: 10px;clear: both;}

.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;
}
.indent_1{
text-indent: -2.5em;
padding-left: 2.5em;
}
.wrap{
width: 100%;
	max-width:1200px;
	margin: 0 auto;
}
/*.pc{display: block;}
.sp{display: none;}*/
.table_outer{display: block;overflow-x: scroll;white-space: nowrap;-webkit-overflow-scrolling: touch;}

.why{background-color: #FAE2E1/*#C4E3EB*/;padding: 15px;margin: 20px 0;}
dl.program{}
dl.program dt{font-size: 1rem;border-left: 10px solid #253444/*#a0d8ef*/;padding: 10px 10px;margin-bottom: 10px;font-weight: bold;margin-top: 1.5rem;}
dl.program dd{margin-bottom: 20px;}
.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;}


/* *********************** */
/*        お申込方法       */
/* *********************** */

#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 #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;
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: #565656; 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:#FAE2E1/*#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;}
table.border th,table.border td{border: 1px solid #787878;padding: 10px;}
table.border th{background-color: #FAE2E1/*#bbdbf3*/;font-weight: 500;}



table.sche{margin: 20px 0;}
table.sche th,table.sche td{padding: 0 20px 0 0;}
table.cancell{ width:100%; max-width: 1160px; 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 #fff/*#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}
.blue_b{color:#1D00DC;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);
}

.table_nittei table{
width: 100%;
}

@media screen and (max-width:999px){
	
	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: 95%;}
	.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_nittei table tr th:nth-child(3){
width: 350px!important;
}
.table_nittei img{
width: 100%;
}
.table_nittei table th,
.table_nittei table td,
.table_nittei table td small{
white-space: wrap;
font-size: 14px;
}
/*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#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;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: 90%;margin: auto;}
	}
@media screen and (min-width:1000px){
	.wrap{width: 100%;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){
.for_sp{
display: none;
}
}
@media screen and (max-width:500px){
.for_pc{
display: none;
}
	body{font-size: 90%;}

	h2{font-size:16px;  padding: 10px 0;text-align: center;margin: 5px 0 20px 0;border-top: 2px dotted #fff;border-bottom: 2px dotted #fff;}
	dl.program dt{border-left: 2px solid #665b58/*#a0d8ef*/;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;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;}*/
}

.caption{
	font-size: 70%;
	text-align: right;
    min-height: 25px;
}

ul,li .none {list-style: none;
	line-height: 1.4;
	margin: 6px 0;
	font-size: 85%;
	
}

.bloc{
	width: 100%;
}

.title{
	font-weight: bold;
	font-size: 120%;
	color:#253444;
}

.choice{
	border: 5px solid #253444;
 border-radius: 10px;
 padding: 15px;
 display: block;
margin: 15px auto;
width: 900px;
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;
}

.kanko img{
	
}

.kanko figcaption{
	text-align: left;
	padding-left: 5px;
	font-size: 100%;
	color: darkblue;
	font-weight: bold;
	margin-bottom: 15px;
}


.kanko h4{
	background-color: darkblue;
	color: #FFFFFF;
	text-align: center;
	width: 100%;
	margin: 10px 0;
	padding: 5px 0;
}
.flex {
  display: flex; /*横並び*/
gap:10px;
}

.flex_2 {
  display: flex;
	align-items: center;/*横並び*/
	justify-content: space-between; 
}

.text_blok{
	padding: 10px;
}
.photo_blok{
	padding: 10px;
}
.photo_blok2{
	padding: 10px;
	text-align:center;
}
.photo_blok2 img{
	padding: 10px;
}

.p_box{
	 display: inline-block;
  width: 70px;
  height: 50px;
  background: #253444;
  text-align:center;
  line-height: 50px;
margin-right: 10px;
	color: #FFFFFF;
	font-weight: bold;
	
}

.read{
	font-weight: normal;
	text-align: justify;
	line-height: 1.6;
	padding-top: 10px;
	padding-bottom: 1em;
	font-size: 90%;
	}

.border_b{
	border-bottom: dashed #000000 1px;
	padding: 10px 0px;
	margin-bottom: 15px;
}

.bg{
	background-color:rgba(221,243,255,1.00);
	color: #000000;
	text-align: left!important;
}

.top{
	width: 100%;
	max-width: 1400px;
	margin: 0 auto;
	display: block;
}
.top img{width: 100%;
	max-width: 1400px;
	margin: 0 auto;
	text-align: center;
	display: block;
	
}

@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%;
	}

}


@media screen and (max-width:768px){
	.flex_2{display: block;}

	.table_nittei table td,th {
		font-size: 12px!important;
	}
}