@charset "UTF-8";
/*=========================================
【PC】slid_area
==========================================*/
.slid_area .slide img{
	width: 100%;
}

.slide_arrow{
	position: absolute;
	width: 32px;
	height: 32px;
	top:50%;
	margin-top: -16px;
	z-index: 1;
}

.slide_arrow.arrow_l{
	left: -16px;
}

.slide_arrow.arrow_r{
	right: -16px;
}

/*=========================================
【PC】article
==========================================*/
article{
	margin-top: 104px;
}

/*=========================================
【PC】icon_01
==========================================*/
.icon_01{
	background: url(../img/icon_01.svg) no-repeat;
	padding-left: 28px;
	background-position: left center;
	background-size: 16px 13px;
}

.icon_02{
	background: url(../img/icon_02.svg) no-repeat;
	padding-left: 24px;
	background-position: left center;
	background-size: 16px 13px;
}

.icon_03{
	background: url(../img/icon_03.svg) no-repeat;
	padding-left: 24px;
	background-position: left center;
	background-size: 20px 16px;
}

.icon_04{
	background: url(../img/icon_04.svg) no-repeat;
	padding-left: 22px;
	background-position: left center;
	background-size: 16px 13px;
}

.icon_05{
	background: url(../img/icon_05.svg) no-repeat;
	padding-left: 22px;
	background-position: left center;
	background-size: 16px 16px;
}

/*=========================================
【PC】logIn_area
==========================================*/
.logIn_area{
	padding: 40px 72px;
	border: solid 2px #ccc;
	border-radius: 6px;
	background: url(../img/main_ttl.jpg);
}

.logIn_area .table_base{
	margin-bottom: 16px;
	background: #fff;
}

/*=========================================
【PC】section
==========================================*/
.section + .section{
	margin-top: 40px;
}

.section p{
	margin-bottom: 24px;
}

/*=========================================
【PC】main_ttl
==========================================*/
.category_ttl{
	text-align: center;
	font-weight: bold;
	font-size: 20px;
	padding: 16px 0;
	box-shadow: 0 1px 6px #999;
	background: url(../img/main_ttl.jpg);
}

/*=========================================
【PC】top_ttl
==========================================*/
.main_ttl{
	font-size: 16px;
	font-weight: bold;
	padding: 12px 24px 12px 32px;
	margin-bottom: 16px;
	border-radius: 4px;
	border: solid 1px #2070af;
	border-left: solid 4px #2070af;
	color: #2070af;
	position: relative;
}

.main_ttl::after{
	position: absolute;
	content: "";
	left: 16px;
	top: 50%;
	margin-top: -6px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 6px 0 6px 6px;
	border-color: transparent transparent transparent #999;
}

/*=========================================
【PC】step_ttl
==========================================*/
.step_ttl{
	font-size: 16px;
	font-weight: bold;
	padding: 12px 24px;
	margin-bottom: 16px;
	border-radius: 4px;
	background: #2070af;
	color: #fff;
}

.step_ttl span{
	font-size: 12px;
	padding: 6px 12px;
	background: #fff;
	color: #2070af;
	margin-right: 16px;
	border-radius: 2px;
}

/*=========================================
【PC】osusume_ttl
==========================================*/
.osusume_ttl{
	font-size: 16px;
	color: #fff;
	padding: 12px 24px;
	margin-bottom: 16px;
	border-radius: 4px;
	background: #028E6D;
	text-align: center;
}

/*=========================================
【PC】kiyaku_ttl
==========================================*/
.kiyaku_ttl{
	font-size: 16px;
	padding: 8px 8px 8px 16px;
	margin-bottom: 20px;
	border: solid 1px #999;
	border-left: solid 4px #000;
}

/*=========================================
【PC】line_ttl
==========================================*/
.line_ttl{
	font-size: 14px;
	margin-bottom: 12px;
	padding-bottom: 12px;
	border-bottom: solid 1px #999;
}

/*=========================================
【PC】flame
==========================================*/
.flame{
	padding: 40px;
	background: #fff;
	border-radius: 8px;
	box-shadow: 0 0 4px #cecece;
}

/*=========================================
【PC】list_base
==========================================*/
.list_base{}

.list_base li{
	padding: 4px 0;
	text-align: left;
	list-style-position: inside;
}

/*数字
-------------------------*/
.list_base.num li{
	padding: 4px 0;
	list-style-type: decimal;
}

/*まる
-------------------------*/
.list_base.circle li{
	padding: 4px 0;
	list-style-type: disc;
}

/*=========================================
【PC】note
==========================================*/
.note_txt{
	font-size: 12px;
	color: #666;
	display: block;
	padding: 4px 0;
}

/*=========================================
【PC】.user_data
==========================================*/
.user_data{
	width:100%;
	text-align: left;
	overflow: hidden;
	border: solid 1px #dcdcdc;
	padding: 32px;
	border-radius: 6px;
	background: url(../img/main_ttl.jpg);
}

.user_data dl{
	border-top: solid 1px #999;
	border-bottom: solid 1px #999;
	background: #fff;
}

.user_data dt,
.user_data dd{
	padding:8px;
	letter-spacing: 0.1em;
	line-height: 2;
}

.user_data dt{
	float:left;
	clear:left;
	font-weight: bold;
}


/*=========================================
【PC】.table_base.program
==========================================*/
.table_base.program{}

.table_base.program dt{
	width: 60%;
}

.table_base.program dd{
	font-weight: bold;
	width: 100%;
}

/*=========================================
【PC】.table_base.type_01
==========================================*/
.table_base.type_01{}

.table_base.type_01 dt{
	width: 35%;
}

.table_base.type_01 dd{
	width: 100%;
	padding-left: 35%;
}

/*=========================================
【PC】.price_list
==========================================*/
.price_list{
	width: 100%;
}

.price_list th,
.price_list td{
	text-align: center;
}

.price_list th{
	width: 25%;
	font-weight: bold;
	padding: 6px;
	color: #fff;
	background: #16639e;
	border: 1px solid #ccc;
}

.price_list td{
	padding: 6px;
	background-color: #fff;
	border: 1px solid #ccc;
}

.price_list tr:nth-child(odd) td {
	background: #eee;
}

/*=========================================
【PC】.txt_link
==========================================*/
.txt_link{
	text-decoration: underline;
	font-weight: bold;
	color: #0057EB;
}

/*=========================================
【PC】.flex.type_01
==========================================*/
.flex.type_01{}

.flex.type_01 .box{
	padding: 24px 24px 64px 24px;
	border: solid 1px #ddd;
	position: relative;
	border-radius: 6px;
}

.flex.type_01 p{
	line-height: 1;
	margin-bottom: 8px;
}

.flex.type_01 .ttl{
	font-weight: bold;
	text-align: center;
	font-size: 16px;
	padding-bottom: 8px;
	border-bottom: solid 1px #999;
}

.flex.type_01 .photo{
	width: 100%;
	padding: 8px 0;
	margin-bottom: 8px;
}

.flex.type_01 .txt{
	font-size: 12px;
	line-height: 1.8;
}

.flex.type_01 .btn{
	position: absolute;
	text-shadow: -1px -1px 1px #333;
	border: solid 1px #dcdcdc;
	color: #fff;
	font-weight: bold;
	bottom: 24px;
	left: 24px;
	width: calc(100% - 48px);
	display: block;
	padding: 8px;
	font-size: 13px;
	border-radius: 6px;
	background: rgb(125,185,232);
	background: -moz-linear-gradient(top, rgba(125,185,232,1) 0%, rgba(41,137,216,1) 50%, rgba(41,137,216,1) 50%, rgba(32,124,202,1) 50%, rgba(30,87,153,1) 99%);
	background: -webkit-linear-gradient(top, rgba(125,185,232,1) 0%,rgba(41,137,216,1) 50%,rgba(41,137,216,1) 50%,rgba(32,124,202,1) 50%,rgba(30,87,153,1) 99%);
	background: linear-gradient(to bottom, rgba(125,185,232,1) 0%,rgba(41,137,216,1) 50%,rgba(41,137,216,1) 50%,rgba(32,124,202,1) 50%,rgba(30,87,153,1) 99%);
}

.flex.type_01 .btn:hover{
	background: #1E5799;
}

/*=========================================
【PC】.red_txt
==========================================*/
.red_txt{
	color: #ff0004;
	font-weight: bold;
}

/*=========================================
【PC】.event_list
==========================================*/
.event_list{}

.event_list li{
	text-align: left;
	border-bottom: dotted 1px #999;
	position: relative;
}

.event_list li::after{
	position: absolute;
	content: "";
	left: 0;
	top: 50%;
	margin-top: -5px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 5px 0 5px 5px;
	border-color: transparent transparent transparent #004593;
}

.event_list li a{
	padding: 8px 16px;
	display: block;
	font-weight: bold;
	text-decoration: underline;
}

.event_list li a:hover{
	opacity: 0.8;
}

/*=========================================
【PC】.check_list
==========================================*/
.check_list{
	text-align: center;
}

.check_list .box{
	border: solid 1px #ddd;
	overflow: hidden;
	border-radius: 6px;
	background: #f7f7f7;
	position: relative;
	cursor: pointer;
}

.check_list .radio{
	position: absolute;
	right: 8px;
	top: 8px;
}

.check_list p{
	text-align: center;
	font-weight: bold;
	line-height: 1;
	margin-bottom: 0;
}

.check_list p + p{
	margin-top: 16px
}

.check_list .check{
	display: block;
	padding: 24px 16px;
}

.check_list .program_name{
	font-size: 18px;
	font-weight: bold;
	padding-bottom: 14px;
	margin-bottom: 14px;
	border-bottom: solid 1px #999;
}

.check_list .program_tel{
	font-size: 18px;
}

.check_list .pt{
	font-size: 14px;
}

.check_list .pt span{
	font-size: 18px;
	color: #FF0000;
}

.check_list .srv_po{
	font-size: 14px;
	padding: 8px 0;
	background: #fff;
	border-radius: 6px;
}

.check_list .srv_po span{
	color: #FF0000;
}

/*js / hover
-------------------------*/
.check_list .js_check,
.check_list .box:hover{
	background: #f9675b;
}

.check_list .box:hover .program_name,
.check_list .box:hover .program_tel,
.check_list .box:hover .pt{
	color: #fff;
}

.check_list .box:hover .program_name,
.check_list .box:hover .pt span{
	color:#FFF200;
}

.check_list .box:hover .program_name{
	border-bottom: solid 1px #fff;
}

.check_list .js_check .program_tel,
.check_list .js_check .pt{
	color: #fff;
}

.check_list .js_check .program_name,
.check_list .js_check .pt span{
	color:#FFF200;
}

.check_list .js_check .program_name{
	border-bottom: solid 1px #fff;
}

/*=========================================
【PC】.btn_base
==========================================*/
.btn_base{
	display: block;
	display: inline-block;
	font-weight: bold;
	padding: 12px 0;
	margin-top: 24px;
	border-radius: 6px!important;
	font-size: 16px;
	width: 240px;
}

/*　グレー
-------------------------*/
.btn_base.c_gray{
	color: #666;
	border: solid 1px #ddd;
	background: rgb(255,255,255);
	background: -moz-linear-gradient(top, rgba(255,255,255,1) 0%, rgba(229,229,229,1) 0%, rgba(188,188,188,1) 100%);
	background: -webkit-linear-gradient(top, rgba(255,255,255,1) 0%,rgba(229,229,229,1) 0%,rgba(188,188,188,1) 100%);
	background: linear-gradient(to bottom, rgba(255,255,255,1) 0%,rgba(229,229,229,1) 0%,rgba(188,188,188,1) 100%);
}

.btn_base.c_gray:hover{
	background:#bcbcbc;
	color: #fff;
}

/*　ブルー
-------------------------*/
.btn_base.c_bleu{
	color: #fff;
	background: rgb(125,185,232);
	background: -moz-linear-gradient(top, rgba(125,185,232,1) 0%, rgba(41,137,216,1) 50%, rgba(41,137,216,1) 50%, rgba(32,124,202,1) 50%, rgba(30,87,153,1) 99%);
	background: -webkit-linear-gradient(top, rgba(125,185,232,1) 0%,rgba(41,137,216,1) 50%,rgba(41,137,216,1) 50%,rgba(32,124,202,1) 50%,rgba(30,87,153,1) 99%);
	background: linear-gradient(to bottom, rgba(125,185,232,1) 0%,rgba(41,137,216,1) 50%,rgba(41,137,216,1) 50%,rgba(32,124,202,1) 50%,rgba(30,87,153,1) 99%);
}

.btn_base.c_bleu:hover{
	background: #1E5799;
}

/*=========================================
【PC】.check_list
==========================================*/
input[type="text"],
input[type="password"]{
	width: 100%;
	padding: 8px 16px;
	border: solid 1px #dcdcdc;
}

/*=========================================
【PC】.info_txt
==========================================*/
.info_txt{
	margin-top: 24px;
	text-align: center;
	font-weight: bold;
}

.info_txt span{
	display: block;
	font-size: 18px;
}

@media only screen and (max-width:920px) {
/*=========================================
【PC】article
==========================================*/
article{
	margin-top: 58px;
}
	
}/* 920px
------------------------------------------*/

@media only screen and (max-width:771px) {
/*=========================================
【771】flame
==========================================*/
.flame{
	padding: 24px;
}
	
/*=========================================
【771】.logIn_area
==========================================*/
.logIn_area{
	padding: 24px;
}

/*=========================================
【771】.user_data
==========================================*/
.user_data .cont_r dl{
	border-top: 0;
}
}/* 771px
------------------------------------------*/

@media only screen and (max-width:680px) {
/*=========================================
【680】.table_base.type_01
==========================================*/
.table_base.type_01 dt{
	width: 100%;
}

.table_base.type_01 dd{
	width: 100%;
	padding-left: 0;
}
	
/*=========================================
【PC】.info_txt
==========================================*/
.info_txt{
	margin-top: 16px;
	line-height: 1.8;
}

.info_txt span{
	font-size: 16px;
}
}/* 680px
------------------------------------------*/

@media only screen and (max-width:500px) {
/*=========================================
【PC】article
==========================================*/
article{
	margin-top: 48px;
}
}/* 500px
------------------------------------------*/

@media only screen and (max-width:400px) {
/*=========================================
【PC】slid_area
==========================================*/
.slide_arrow.arrow_l,
.slide_arrow.arrow_r{
	display: none!important;
}

/*=========================================
【PC】logIn_area
==========================================*/
.logIn_area{
	padding: 16px;
}
	
/*=========================================
【PC】main_ttl
==========================================*/
.category_ttl{
	font-size: 18px;
	padding: 8px 0;
}

/*=========================================
【PC】top_ttl
==========================================*/
.main_ttl{
	font-size: 14px;
	font-weight: bold;
	padding: 8px 0 8px 32px;
	margin-bottom: 8px;
}	
	
/*=========================================
【PC】flame
==========================================*/
.flame{
	padding: 16px;
}
	
/*=========================================
【PC】.btn_base
==========================================*/
.btn_base{
	width: 90%;
}	
}/* 400px
------------------------------------------*/


















