@charset "utf-8";
/* CSS Document */
body{background-image: url("../img/back.png")}

*{
margin: 0;
padding: 0;
line-height: 2rem;
}
table th,
table td{
line-height: 1.5rem;
}
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;
}
h1{
color: #00d764;
text-align: center;
border-bottom: 5px double #00d764;
}
h2{
text-align: center;
color: #00d764;
}
h3{
font-size: 1rem;
border-left: 10px solid #00d764;
margin: 25px 0;
padding-left: 1rem;
font-weight: bold;
background: #e5fbef;
line-height: 3rem;
}
dl.program{
margin: 25px 0;
}
dl.sub{
margin: 25px 0;
}
dl.program dt{
display: inline-block;
border-bottom: 3px double #00d764; 
font-size: 1.2rem;
font-weight: bold;
color: #00d764;
margin-bottom: 10px;
}
dl.sub dt{
font-weight: bold;
color: #000000;
background: #e5fbef; 
}
dl.sub dd{
padding-left: 1rem;
background: #fff6e6;
padding: 10px;
}
dl.program dt span{
color: #565656;
font-weight: normal;
}
dl.program dd{}
.list_none li{
list-style: none;
}
.table_nittei td{
text-align: center;
}
@media screen and (min-width:501px){
.for_sp{
display: none;
}
h1{
font-size: 2rem;
line-height: 3.5rem;
}
h2{
font-size: 1.5rem;
}
h3{
font-size: 1.2rem;
}
}
@media screen and (min-width:901px){
.table_outer{
overflow-x: hidden!important;
}
}
.preamble{
width: 95%;
padding: 1rem 0;
background:#fff6e6;
margin: 50px auto 25px;
}
.preamble p{
width: 90%;
margin: 0 auto;
line-height: 2.5rem;
}
@media screen and (max-width:500px){
.for_pc{
display: none;
}
h1{
line-height: 2.5rem;
font-size: 1rem;
}
h2{
font-size: 1.5rem;
}
h3{
font-size:1rem;;

line-height:2rem;
}
dl{
margin: 25px 0;
}
dl.program dt{}
dl.program dd{margin: 25px 0;}
}

.text_box{padding: 0; margin-bottom: 2em;}
.moko{margin: 4em 0;}
.f_right{float: right;
margin-right: 3em;}
.mt10{margin-top: 10px;}
.mb20{margin-bottom: 20px;}
.center{
	text-align: center;
}
.indent_1{
text-indent: -1em;
padding-left: 1em;
}
.wrap{
width: 100%;
	max-width:1000px;
	margin: 0 auto;
	background: #FFFFFF;
	padding:  20px;
}

.table_outer{
display: block;
overflow-x: scroll;
white-space: nowrap;
-webkit-overflow-scrolling: touch;
}

.qr{
	float: right;
	margin-right: 120px;
	width: 20%;
}


/* *********************** */
/*        お申込方法       */
/* *********************** */

#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(100% - 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 #40b873;
color: #40b873;
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:#40b873;}

footer{background-color: #e5fbef;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: 5px;}
table.border th{background-color: #e5fbef;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 auto;}
table.cancell th { padding:5px 12px; text-align:left; background-color:#7a7a7a; color:#fff;border:1px solid #fff;font-weight: normal;}
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%;}*/



.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){
.wrap{
width: 90%;
margin: 0 auto;
background-image: none;

}	
	.table_outer{
	display: block;
	overflow-x: scroll;
	white-space: nowrap;
	-webkit-overflow-scrolling: touch;
}
/*.table_nittei table{
width: 550px;
}
.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!important;
}*/

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 #40b873;color: #40b873;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: 1100px;margin:0 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;
}
.flex{
display: flex;
justify-content: space-between;
}
}
@media screen and (max-width:500px){
.for_pc{
display: none;
}
.flex{
display: block;
}
.sp_mb_25{
margin-bottom: 25px;
}
	dl.program dt{}
	.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 #40b873;color: #40b873;line-height: 50px;overflow: hidden; margin:25px 0 5px}
	.f_right{float: none;margin-bottom: 5px;width: 100%;}
	.pmark{float: none;margin-left: 10px;}

}

@media screen and (max-width:600px){
	.qr{
	float: none!important;
	width: 40%;
	text-align: center;
	}
	
}


/*
.caption{
	font-size: 70%;
	text-align: right;
    min-height: 25px;
}*/