@charset "utf-8";

html,body {
	height:100%;
}

body{
	min-width:1200px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	text-align:center;
	font-size:100%;
	line-height:160%;
	font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue","Hiragino Kaku Gothic ProN",メイリオ,Meiryo,sans-serif;
	background:#FFFFFF;
	margin:0;
	padding:0;
	color:#4A4A4A;
}

@media screen and (max-width:780px){

	body{
		min-width:initial;
	}
}

hr{margin:10px 0;}
pre{
	font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue","Hiragino Kaku Gothic ProN",メイリオ,Meiryo,sans-serif;
	white-space: pre-line;
}
/*----------------------------
	body
----------------------------*/

a:link{color:#4A4A4A; text-decoration:underline;}
a:hover{color:#4A4A4A; text-decoration:none; opacity:0.5;}
a:visited{color:#4A4A4A; text-decoration:underline;}
a:active{color:#4A4A4A; text-decoration:underline;}

ul,ol,li,dl,dt,dd,h1,h2,h3,h4,h5{
	margin:0;
	padding:0;
}
ul,ol,li{
	list-style-type: none;
}

a.important,
.important{
	color: #D0021B;
}

.strong{
	font-weight: 700;
}

a.hover:hover {
	filter:alpha(opacity=70); /* IE 6,7*/
	-moz-opacity:0.7; /* IE 8,9 */
	opacity:0.7;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all  0.3s ease;
}

a.icon img{
	margin-right:5px;
	width:10px;
	height:auto;
}
a.no-border{
	text-decoration: none !important;
}

img{
	max-width:100%;
	image-rendering: -webkit-optimize-contrast;
}

img.ui-datepicker-trigger{
	vertical-align: top;
}

h1#pagetitle {
	text-align: left;
	font-size: 110% !important;
	padding:15px 20px;
	margin: 20px 170px;
	color: #FE6500;
	border-bottom: 2px solid #FE9800;
}

h2,h3,h4,.ttlH3{
	padding:15px 20px;
	margin-bottom:20px;
	font-size:100%;
}

h2.sectionTtl,
.ttlH2{
	background: #FE9800;
	color:#FFFFFF;
	padding: 10px 20px;
}

h2.sectionTtl span{
	color:#FFED00;
}

h3,
.ttlH3,
.ttlH3b {
	background:#F1F1F1;
	color: #FE6500;
}
.ttlH3{ color: #4A4A4A;}
.ttlH3b{
	background: #FFDFA0;
	color: #4A4A4A;
}

h4,
.ttlH4{
	color:#FE6500;
}

.ttlH4{
	padding: 8px;
	margin-bottom: 0;
}

.subH4{
	position: relative;
	padding-bottom: .5em;
	padding-left:.5em;
	border-bottom: 4px solid #ccc;
	margin-bottom:1em;
}

@media screen and (max-width:780px){
	h1#pagetitle {
		margin: 0;
	}

	h2.sectionTtl{
		margin-left: -10px;
		margin-right: -10px;
	}
}


ul.defaultList{/* デフォルトのリストスタイル*/
	margin:0.5em 0.5em 0.5em 1.5em;
}
ul.defaultList li{
	list-style-type:disc;
	margin-bottom:0.5em;
}

ol.defaultList{/* デフォルトのリストスタイル*/
	margin:0.5em 0.5em 0.5em 1.5em;
}
ol.defaultList li{
	list-style-type:decimal;
	margin-bottom:0.5em;
}

ul.list-mark-square li{
	padding-left: 1.3em;
	margin-bottom: 0.3em;
	position: relative;
}
ul.list-mark-square li::before{
	content: "■";
	position: absolute;
	top: 1px;
	left: 0;
}

ul.list-mark-asta li{
	padding-left: 1.3em;
	margin-bottom: 0.3em;
	position: relative;
}
ul.list-mark-asta li::before{
	content: "※" !important;
	position: absolute;
	top: 1px;
	left: 0;
}

ul.note-list{/*※1　※2　とかのリスト*/
	counter-reset: note-counter; /* カウンターの初期化 */
}
ul.note-list li{
	padding-left: 2em;
	margin-bottom: 0.3em;
	position: relative;
	
}

ul.note-list li::before {
	counter-increment: note-counter; /* カウンターを進める */
	content: "※" counter(note-counter); /* 「※」とカウンターの値を表示 */
	margin-right: 0.5em;
	position: absolute;
	top: 1px;
	left: 0;
}


ol.alphabetList{/* アルファベットのリスト */
	margin:0.5em 0.5em 0.5em 1.5em;
}
ol.alphabetList li{
	list-style-type:upper-latin !important;
	margin-bottom:0.5em;
}

ol.cnt{/* 括弧つき */
	list-style-type: none;
	margin: 5px 0;
}
ol.cnt li {
	list-style-type: none !important;
	counter-increment: cnt;
	margin-left: 0 !important;
	padding-left: 2em;
	position: relative;
}

ol.cnt li::before {
	content: "(" counter(cnt) ") ";
	position: absolute;
	top: 1px;
	left: 0;
}

ul.checkList{/* チェックボックス・ラジオボタン用 */}
ul.checkList li,
ul.checkListInline li{
	list-style-type:none;
	white-space:nowrap;
	margin-right:1em;
	margin-bottom:0.8em;
}

ul.checkListInline li{/* 横並びリスト */
	display:inline-block;
}


/* エラー的メッセージ用ボックス */
.cautionMsgBox{
	background:#FFFFFF;
	border:1px solid #FE6500;
	padding:1.5em 1em;
	margin:1em 0.5em;
	border-radius:3px;
	/*box-shadow:0px 0px 6px 3px #e8e8e8;
	-moz-box-shadow:0px 0px 6px 3px #e8e8e8;
	-webkit-box-shadow:0px 0px 6px 3px #e8e8e8;*/
}

/* 通常のメッセージ用ボックス */
.defaulMsgBox{
	background:#FFFFFF;
	border:1px solid #CCCCCC;
	padding:1.5em 1em;
	margin:1em 0.5em;
	border-radius:3px;
}


.box_gray{
	background:#EEEEEE;
}

.textBox_gray{
	background: #F1F1F1;
	padding: 20px;
}

.textbox_orange{
	background: #fff0e6;
}

p{
	margin:0.5em 0;
	padding:0;
}
/*----------------------------
	other
----------------------------*/
.center{
	text-align:center !important;
}
.fontL{
	font-size:120% !important;
}
.fontM{
	font-size:100% !important;
}

.fontMS{
	font-size:90% !important;
}

.fontS{
	font-size:75%!important;
}

.fontc_red {
	color: #D0021B !important;
}
.fontc_orange {
	color: #FF6600 !important;
}
.fontc_blue {
	color: #00A9E3 !important;
}

.bgWh{ background: #ffffff; }

.weight_b {
	font-weight: 700 !important;
}

.update{
	background:#c00;
	color:#fff;
	font-size:80%;
	padding:2px;
	font-weight:normal;
}

/* text-align */
.txtC { text-align:center; }
.txtR { text-align:right;  }
.txtL { text-align:left;   }


/* float */
.floatR { float:right;}
.floatL { float:left;}
.fclear{ clear:both;}

.pad5{padding:5px !important;}
.pad10{padding:10px !important;}

.pdtb5{ padding:5px 0 !important; }
.pdtb10{ padding:10px 0 !important; }
.pdlr10{ padding: 0 10px !important;}

.mgtb5{ margin:5px 0 !important; }
.mgtb10{ margin:10px 0 !important; }
.mglr10{ margin: 0 10px !important;}
.mgtb20{ margin:20px 0 !important; }
.mglr20{ margin: 0 20px !important;}

.noPad{padding: 0!important;}

.mb1em{ margin-bottom:1em !important;}
.mb2em{ margin-bottom:2em !important;}
.mb3em{ margin-bottom:3em !important;}

.contentsWrap{
	width:1200px;
	margin: 0 auto;
	padding-top: 60px;
}

@media screen and ( max-width:780px){

	.contentsWrap{
		width:auto;
		margin: 0 auto;
	}

ul.checkList li,
ul.checkListInline li{
	list-style-type:none;
	white-space:normal;
	margin-right:1em;
	margin-bottom:0.8em;
}

	.spBr{
		display: block;
	}

}

/*----------------------------
	header
----------------------------*/
#header{
	background: -webkit-gradient(radial, 0% 48%, 0, 0% 48%, 241, color-stop(1.00, #FE9800), color-stop(0.00, #FE6500));
	background: -webkit-radial-gradient(0% 48%, circle, #FE6500, #FE9800);
	background: -moz-radial-gradient(0% 48%, circle, #FE6500, #FE9800);
	background: -o-radial-gradient(0% 48%, circle, #FE6500, #FE9800);
	background: -ms-radial-gradient(0% 48%, circle, #FE6500, #FE9800);
	background: radial-gradient(0% 48%, circle, #FE6500, #FE9800);
	width: 100%;
	min-width: 1200px;
	height: 60px;
	border-bottom:1px solid #ffffff;
	position: fixed;
	z-index: 96;
}

.headerWrap{
	width:1200px;
	margin: 0 auto;
	display:flex;
	justify-content: space-between;
	align-items:center;
}

#logo{
	padding:17px;
	width: 112px;
	text-align: left;
}
#logo img,
#menuPCbtn img{
	width:100%;
	vertical-align: middle;
}


ul#snavi{
	display: flex;
	justify-content: space-around;
	align-items: center;
	height: 60px;
}
ul#snavi li{
	font-size: 90%;
	line-height: 60px;
	margin-right: 37px;

}
ul#snavi li a{
	color:#FFFFFF;
	text-decoration: none;
	display: block;
}

ul#snavi li#menuPCbtn{
	margin-right: 37px;
	width:60px;
	border: 1px solid #FFFFFF;
	border-width: 0 1px 0 1px;
	cursor: pointer;
}
ul#snavi li#menuPCbtn a{
	display: block;
	padding: 0 10px;
}

#menuSPbtn{
	display: none;
}

@media screen and ( max-width:780px){
	#header{
		min-width: auto;
	}

	.headerWrap{
		width:auto;
		margin: 0 auto;
		display:block;
		position:relative;
	}

	ul#snavi{
		display:none;
	}

	#logo{
		margin:0 auto;
		text-align: center;
	}
	#logo img{
		width:60%;
		min-width: 112px;
		vertical-align: middle;
	}
	#menuSPbtn{
		display: block;
		position:absolute;
		right:10px;
		top:10px;
		width:40px;
		height: 40px;
	}
}


/* navigation ************************ */
#navi-content{
	clear:both;
	text-align:left;
	position:fixed;
	top:60px;
	width:100%;
	height:auto;
	z-index:995;
	display:none;
	}
#navi-content ul,
#navi-content li{
	list-style-type:none;
}

#navi-overlay{
	z-index:1;
	display:none;
	position:fixed;
	top:60px;
	left:0;
	width:100%;
	height:120%;
	background-color:rgba(0,0,0,0);
}

#navi-content .hdMenuBox{
	position: relative;
	width: 1200px;
	margin: 0 auto;
}

ul.accordion{
	background:#FFDFA0;
	padding:30px 0 10px 200px;
	margin: 0 auto;
	line-height:1.5;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: stretch;
	font-size: 90%;
}

ul.accordion li{
	padding:0 0 15px;
	width: 50%;
}

ul.accordion li a{
	font-weight: 700;
	text-decoration: none;
}


ul.accordion li#TLPP span,
ul.accordion li#KIDS span{
	padding-bottom: 15px;
	font-weight: 700;
	cursor: pointer;
}
ul.accordion li#TLPP span span.coupon a{
	background: #FE9800;
	font-size: 80%;
	font-weight: normal;
	padding: 2px 10px;
	margin-left: 10px;
	color: #FFFFFF;
	border-radius: 3px;
}

ul.accordion li#TLPP ul,
ul.accordion li#KIDS ul{
	padding: 10px;
}
ul.accordion li#TLPP ul li a,
ul.accordion li#KIDS ul li a{
	font-weight: normal;
}
ul.accordion li#TLPP ul li a::before,
ul.accordion li#KIDS ul li a::before{
	content: "- ";
	display: inline;
}


ul.accordion li.forSP{ display: none; }

.button-link{
	background:#FFDFA0;
	text-align: center;
	position: absolute;
	top: -60px;
	right: 147px;
	width: 60px;
	height: 60px;
	z-index: 999;
}

.button-link a{
	display:block;
	padding:8px;
	cursor:pointer;
}

.button-link img{
	vertical-align:middle;
}

@media screen and ( max-width:780px){

	#navi-content{
		clear:both;
		text-align:left;
		position:fixed;
		top:60px;
		width:100%;
		height:auto;
		z-index:995;
		display:none;
		border-top:2px solid #FFFFFF;
		}
	#navi-content ul,
	#navi-content li{
		list-style-type:none;
	}
	#navi-overlay{
		z-index:1;
		display:none;
		position:fixed;
		top:60px;
		left:0;
		width:100%;
		height:120%;
		background-color:rgba(0,0,0,0);
	}

	#navi-content .hdMenuBox{
		position: relative;
		width: auto;
		margin: 0 auto;
	}

	ul.accordion{
		background:#FE9800;
		padding:0;
		margin: 0 auto;
		line-height:1.5;
		display: flex;
		flex-wrap: nowrap;
		flex-direction: column;
		height: 90vh;
		overflow-y: auto;
	}

	ul.accordion li#TLPP ul li a::before,
	ul.accordion li#KIDS ul li a::before{
		content: "";
		display: none;
	}

	ul.accordion li.forSP{
		display: block;
		font-size: 18px;
	}
	ul.accordion li{
		padding:0;
		width: 100%;
	}

	ul.accordion li a,
	ul.accordion li span{
		display: block;
		padding: 15px 20px;
		color:#FFFFFF;
		text-decoration: none;
		border-bottom: 1px solid #FFFFFF;
		background:  url(../img/arrow_right_wh.png) no-repeat right;
		background-size: auto 30px;
	}
	ul.accordion li.forSP span{
		padding: 19px 20px;
		font-weight: 700;
	}

	.button-link{
		background:#FE9800;
		text-align: center;
		position: absolute;
		top: -60px;
		right: 0;
		width: 58px;
		height: 58px;
		z-index: 999;
	}

	.button-link a{
		display:block;
		padding:8px;
		cursor:pointer;
	}

	.button-link img{
		vertical-align:middle;
	}

	ul.accordion li#lesson ul,
	ul.accordion li#TLPP ul,
	ul.accordion li#KIDS ul{
		background: #FE6500;
		padding: 0;
		display: none;
	}
	ul.accordion li#lesson ul{
		font-size: 80%;
	}

	ul.accordion li#lesson span{
		background: url( ../img/icon_search.svg) no-repeat 20px, url(../img/menu_open.png) no-repeat right;
		background-size: auto 30px, 27px auto;
		padding-left: 70px;
	}
	ul.accordion li#lesson span.open{
		background: url( ../img/icon_search.svg) no-repeat 20px, url(../img/menu_close.png) no-repeat right;
		background-size: auto 30px, 27px auto;
		padding-left: 70px;
	}

	ul.accordion li#rsv a{
		background: url( ../img/icon_reserve.svg) no-repeat 20px, url(../img/arrow_right_wh.png) no-repeat right;
		background-size: auto 30px;
		padding-left: 70px;
	}

	ul.accordion li#record a{
		background: url( ../img/icon_record.svg) no-repeat 18px, url(../img/arrow_right_wh.png) no-repeat right;
		background-size: auto 30px;
		padding-left: 70px;
	}

	ul.accordion li#msg a{
		background: url( ../img/icon_info.svg) no-repeat 22px, url(../img/arrow_right_wh.png) no-repeat right;
		background-size: auto 25px;
		padding-left: 70px;
	}

		ul.accordion li#tetsuzuki a{
		background: url( ../img/icon_procedure.svg) no-repeat 20px, url(../img/arrow_right_wh.png) no-repeat right;
		background-size: auto 30px;
		padding-left: 70px;
	}

	ul.accordion li#TLPP span,
	ul.accordion li#KIDS span{
		background: url(../img/menu_open.png) no-repeat right;
		background-size: 27px auto;
	}

	ul.accordion li#TLPP span.open,
	ul.accordion li#KIDS span.open{
		background: url(../img/menu_close.png) no-repeat right;
		background-size: 27px auto;
	}

	ul.accordion li#TLPP span span.coupon{
		background-image: none;
		border-bottom: 0;
		padding: 0;
		display: inline-block;
		vertical-align: middle;
	}

	ul.accordion li#TLPP span span.coupon a{
		background-color: #FFFFFF;
		color:#FE9800;
		font-size: 80%;
		padding: 1px 5px;
		margin-left: 10px;
		border-radius: 5px;
	}

}

/* 重要なお知らせ表示 ********************** */
#emergency{
	border:2px solid #D0021B;
	padding: 0 10px;
	margin: 20px 170px 0;
	display: flex;
	justify-content: space-between;
	align-items: center;
	text-align: left;
}
#emergency a{
	text-decoration: none;
	color:#D0021B;
	font-size: 90%;
}
#emergency .news{
	width: 95%;
}
#emergency .news li{
	padding: 15px 0;
	border-bottom: 1px dotted #D0021B;
}
#emergency .news li:last-of-type{
	border-bottom: 0;
}

#emergency .hideBtn{
	width: 10px;
	height: 10px;
	padding: 5px;
	background: #D0021B url(../img/icon_close.svg) no-repeat center;
	background-size: 10px auto;
	border-radius: 50%;
	text-indent: 100%;
	overflow: hidden;
}

@media screen and ( max-width:780px){

	#emergency{
		margin: 20px 10px;
	}

}

/* 協業系 ****************************************************** */

header#headerK{
	background: -webkit-gradient(radial, 0% 48%, 0, 0% 48%, 241, color-stop(1.00, #FE9800), color-stop(0.00, #FE6500));
	background: -webkit-radial-gradient(0% 48%, circle, #FE6500, #FE9800);
	background: -moz-radial-gradient(0% 48%, circle, #FE6500, #FE9800);
	background: -o-radial-gradient(0% 48%, circle, #FE6500, #FE9800);
	background: -ms-radial-gradient(0% 48%, circle, #FE6500, #FE9800);
	background: radial-gradient(0% 48%, circle, #FE6500, #FE9800);
	width: 100%;
	height: 60px;
	border-bottom:1px solid #ffffff;
	position: fixed;
	z-index: 10;
	text-align: center;
	font-size: 130%;
	color:#FFFFFF;
	display: flex;
	justify-content: space-around;
	align-items: center;
}

dl.cautions dt{
	font-weight: bold;
}

dl.cautions ul{
	list-style-type: none;
}
dl#kiyakucaution{
	border: 1px solid #c00;
	padding:10px;
	margin:5px;
}
dl#kiyakucaution dt{
	font-weight:bold;
	font-size:120%;
}
dl#kiyakucaution dd{
	margin-left: 1em;
}




/* コンテンツエリア ************************ */
#sectionMain,
#sectionMainTop,
.sectionWrap,
.sectionCont,
.sectionWrapWide{
	padding: 20px 170px;
	text-align:left;
}

#sectionMain {
	background:#fff;
	padding-bottom: 50px;
}

@media screen and ( max-width:768px){

#sectionMain,
#sectionMainTop,
.sectionWrap{
	padding: 0 10px 10px;
	background:#fff;
}
.sectionWrapWide{
	padding: 20px 0;
}

.sectionCont{
	width: auto;
	padding:15px 0;
	margin-bottom:15px;
	border-bottom:1px solid #ccc;
	}

}

/*  */
.arrowNext a{
	position: relative;
	vertical-align: middle;
	display:block;
	color: #FE6500;
	padding:5px 20px;
}
.arrowNext a::before,
.arrowNext a::after{
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	content: "";
	vertical-align: middle;
	right: 10px;
	width: 7px;
	height: 7px;
	border-top: 2px solid #FE6500;
	border-right: 2px solid #FE6500;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

/* カテゴリTOPへ戻る共通 */
.contBackWrap{
	padding-top:50px;
	text-align:center;
	list-style-type:none;
}
.contBackWrap li,
.arrowBack,
ul.nextContWrap li,
ul.nextContWrapB li,
.contMenuList a{
	position: relative;
	vertical-align: middle;
}

.contBackWrap li,
.arrowBack{
	padding:12px 30px 12px 30px;
	text-align: left;
}

.contBackWrap li::before,
.contBackWrap li::after,
.arrowBack::before,
.arrowBack::after{
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	content: "";
	vertical-align: middle;
	left: 10px;
	width: 7px;
	height: 7px;
	border-top: 2px solid #FE6500;
	border-right: 2px solid #FE6500;
	-webkit-transform: rotate(-135deg);
	transform: rotate(-135deg);
}

.contBackWrap li a,
.arrowBack a{
	color: #FE6500;
	letter-spacing: 0.29px;

	text-align:left;
	text-decoration:none;
}


/* 次のページへリンク共通 */
ul.nextContWrap,
ul.nextContWrapB{
	margin:1em 0 0;
}

ul.nextContWrap li,
ul.nextContWrapB li{
	background: #F1F1F1;
	border-radius: 3px;
	margin-bottom: 10px;
}

ul.nextContWrap li.emg,
ul.nextContWrapB li.emg{
	background: #FFDDDD;
}


ul.nextContWrapB li{
	background: #FFDFA0;
}

ul.nextContWrap li a,
ul.nextContWrapB li a{
	display:block;
	padding:12px 30px 12px 20px;
	text-align:left;
	text-decoration:none;
}

ul.nextContWrap li span,
ul.nextContWrapB li span{
	display: block;
	font-size: 12px;
}

ul.nextContWrap li span.count,
ul.nextContWrapB li span.count{
	display: inline;
	background-color:#FE9800;
	color:#FFFFFF;
	font-size: 80%;
	line-height:100%;
	padding:3px 5px;
	margin:0 5px;
	text-align:center;
	border-radius:100px;
}

ul.nextContWrap li .iconWrap{
 font-size: 100%;
 position: relative;
}
ul.nextContWrap li .iconWrap::after{
	content: "！";
	background-color:#FE6500;
	color:#FFFFFF;
	font-size: 120%;
	font-weight: 700;
	line-height:100%;
	padding:4px 5px;
	margin-left: 8px;
	text-align:center;
	border-radius:50%;
	position: absolute;
	top: -15px;
	box-shadow:2px 3px 2px 1px #999999;
}


ul.nextContWrap li a::before,
ul.nextContWrap li a::after,
ul.nextContWrapB li a::before,
ul.nextContWrapB li a::after{
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	content: "";
	vertical-align: middle;
	right: 20px;
	width: 7px;
	height: 7px;
	border-top: 2px solid #4A4A4A;
	border-right: 2px solid #4A4A4A;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}


ul.nextContWrap li.back a{
	padding:1em 1em 1em 2.2em;
	background:url(../../common/img/arrow_left_round.png) 0.8em center no-repeat;
	background-size:1.2em auto;
}

/* リンクなしリスト下線あり */
ul.newsListNolink{
	border-top:1px solid #DEDEDE;
}
ul.newsListNolink li{
	padding:12px 20px;
	text-align:left;
	border-bottom: 1px solid #DEDEDE;
}
ul.newsListNolink li span.date{
	display: block;
	color:#FE9800;
}

/*----------------------------
	footer
----------------------------*/
#ftPageTop{
	display: block;
	background-color:rgba(0,0,0,0.75);
	color:#ffffff;
	width: 100%;
	font-family:Verdana;
	font-size:100%;
	letter-spacing:0.1em;

	text-align:center !important;

	position: fixed;
	left: 0px;
	bottom: 0;
	z-index: 99;
}
#ftPageTop a{
	display:block;
	text-decoration:none;
	color:#ffffff;
	padding:10px;
}

footer{
	background:#F1F1F1;
	font-size:100%;
	text-align:center;
	padding: 0;
	}

footer ul#btmMenu {
	font-size:90%;
	line-height:1.5;
	padding: 30px 0 20px;
	}

footer ul#btmMenu li{
	display: inline-block;
	padding: 10px 14px 10px 0;
}
footer ul#btmMenu li::after{
	content: "｜";
	margin-left: 14px;
}
footer ul#btmMenu li:last-child::after{
	content: "";
	margin-left: 0;
}

footer ul#btmMenu li p{
	padding: 0;
	margin: 0;
}

footer #ftEdit{
	width: 320px;
	background: #FFFFFF;
	border-radius: 5px;
	margin: 0 auto 20px;
}

footer #ftEdit a{
	text-decoration: none;
	display: block;
	padding: 10px;
}

/*footer #ftEdit .subtext{
	display: block;
	font-size: 12px;
	margin-bottom: 10px;
}*/
footer #ftEdit .editIcon{
	text-decoration: none;
	font-size: 120%;
	font-weight: 700;
	display: flex;
	justify-content: center;
	align-items: center;
}

footer #ftEdit .editIcon img{
	width: 30px;
	height: 30px;
}

footer ul#btmMenu li a{
	color:#4A4A4A;
	text-decoration: none;
}

footer #ftLogoTip{
	background: #4A4A4A;
}

footer #ftLogoTip a{
	color:#FFFFFF;
	text-decoration: none;
}

footer #ftLogoTip dl{
	padding: 10px;
	display: flex;
	justify-content:center;
	align-items: center;
}

footer #ftLogoTip dl dt{
	width: 40px;
	height: auto;
	padding-right: 10px;
}

footer #ftLogoTip dl dd{
	color:#FFFFFF;
	text-align: left;
	font-size: 12px;
	line-height: 130%;
}

footer ul#policy-pc{
	padding: 20px 0;
	font-size: 12px;
}

footer ul#policy-pc li{
	padding: 10px;
	display: inline-block;
}
footer ul#policy-sp{
	display: none;
}

footer #copyright{
	font-size:10px;
	padding:0 10px 20px;
}

footer #sp-logout{
	display: none;
}

@media screen and ( max-width:780px){

	footer{
		background:#F1F1F1;
		font-size:100%;
		text-align:center;
		padding: 0;
		}

	footer ul#btmMenu {
		background:#FFFFFF;
		font-size:90%;
		line-height:1.5;
		text-align:left;
		border-top: 1px solid #DEDEDE;
		padding: 0;
		}

	footer ul#btmMenu li{
		display: block;
		padding: 0;
		position: relative;
		vertical-align: middle;
		border-bottom: 1px solid #DEDEDE;
	}
	footer ul#btmMenu li::after{
		content: "";
		margin-left: 0;
	}

	footer ul#btmMenu li p{
		display: inline-block;
		padding: 10px 14px;
		margin: 0;
	}

	footer ul#btmMenu li a{
		padding: 15px 21px;
		display: block;
		font-weight: 700;
	}

	footer #ftEdit{
		width: auto;
		background: #FFFFFF;
		border-radius: 0;
		margin: 0;
		text-align: left;
		position: relative;
		vertical-align: middle;
	}
	footer #ftEdit a{
		padding: 15px 21px;
	}

	footer #ftEdit::before,
	footer #ftEdit::after,
	footer ul#btmMenu li a::before,
	footer ul#btmMenu li a::after{
		position: absolute;
		top: 0;
		bottom: 0;
		margin: auto;
		content: "";
		vertical-align: middle;
		right: 25px;
		width: 7px;
		height: 7px;
		border-top: 2px solid #4A4A4A;
		border-right: 2px solid #4A4A4A;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
}

	/*footer #ftEdit .subtext{
		display: block;
		font-size: 80%;
		margin-bottom: 0;
	}*/

	footer #ftEdit .editIcon{
		text-decoration: none;
		font-size: 100%;
		font-weight: 700;
		justify-content: flex-start;
		margin: 0;
	}

	footer #ftLogoTip{
		background: #4A4A4A;
	}

	footer #ftLogoTip dl{
		padding: 10px;
		display: flex;
		justify-content:center;
		align-items: center;
	}

	footer #ftLogoTip dl dt{
		width: 40px;
		height: auto;
		padding-right: 10px;
	}

	footer #ftLogoTip dl dd{
		color:#FFFFFF;
		text-align: left;
		font-size: 80%;
		line-height: 130%;
	}

	footer ul#policy-pc{
		display: none;
	}

	footer ul#policy-sp{
		display: block;
		padding: 20px 0;
		font-size: 80%;
	}

	footer ul#policy-sp li{
		padding: 10px;
		display: block;
	}

	footer #copyright{
		font-size:10px;
		padding:0 10px 20px;
	}

	footer #sp-logout{
		display: block;
		padding:10px;
		margin:0;
		background:#999999;
		font-size:90%;
		font-weighr:700;
	}
	footer #sp-logout a{
		color:#FFFFFF;
		text-decoration: none;
	}
}


/* form *********************************************** */

.formBox{
	background:#F2F4F4;
	text-align:left;
	padding:0.8em;
}

.formBox2{
	background:#FFFFFF;
	text-align:left;
	padding:0.8em;
}

.formWrap{
	background: #F9F9F9;
	padding: 20px;
}


input[type="submit"] {
   -webkit-appearance: none; /* iOS */
}

input[type="text"],
input[type="tel"],
input[type="email"],
input[type="password"],
input[type="number"],
input[type="search"],
input[type="date"],
textarea{
	clear:both;
	padding:0 18px;
	margin-bottom:1em;
	font-size:110%;
	border:1px solid #999999;
	border-radius:3px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
	height: 40px;
	vertical-align: middle;
	}

textarea{
	height: auto;
	min-height: 100px;
}


input[type="radio"]{
	-webkit-transform: scale(1.6);
	transform: scale(1.6);
	margin-right:0.8em;
	background: #FFFFFF;
	border: 1px solid #B7B7B7;
	vertical-align: middle;
	outline: none;
	box-shadow: none;
	/*-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;*/
}

input[type="checkbox"] {
    border: 1px solid #aaaaaa;
    vertical-align: -8px;
    -webkit-appearance: none;
    position: relative;
    margin-right: 5px;
    -webkit-border-radius: 3px;
    border-radius: 3px;
    -webkit-box-sizing: border-box;
    width: 26px;
    height: 26px;
    background: #e2e2e2;
}
input[type="checkbox"]:checked {
    background: #FE9800;
    border: 1px solid #FE9800;
}

input[type="checkbox"]:checked:before {
    position: absolute;
    left: 1px;
    top: 16px;
    display: block;
    -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, .5);
    content: "";
    width: 10px;
    height: 4px;
    background: #ffffff;
    -webkit-transform: rotate(45deg);
    -webkit-transform-origin: right center;
}

input[type="checkbox"]:checked:after {
    display: block;
    position: absolute;
    left: 9px;
    top: 16px;
    content: "";
    -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, .5);
    width: 16px;
    height: 4px;
    background: #ffffff;
    -webkit-transform: rotate(-53deg);
    -webkit-transform-origin: left center;
}

/*
label.inputdate {
  position: relative;
  display: inline-block;
  width: 200px;
  height: 36px;
}
label.inputdate::before {
  position: absolute;
  content: "";
  top: 0;
  right: -43px;
  width: 41px;
  height: 41px;
  background: url("../img/icon_calendar.png") no-repeat center;
	background-size: 36px 36px;
}


input[type="date"] {
	position: relative;
	width: 200px;
	height: 41px;
	border: 0;
	background: #FFFFFF;
	box-sizing: border-box;
	font-size: 110%;
	border: 1px solid #999999;
	border-radius: 3px;
}
input[type="date"]::-webkit-inner-spin-button{
  -webkit-appearance: none;
}
input[type="date"]::-webkit-clear-button{
  -webkit-appearance: none;
}
input[type="date"]::-webkit-calendar-picker-indicator{
  position: absolute;
  right: 0px;
  top: 0px;
  padding: 0;
  width: 41px;
  height: 41px;
  background: transparent;
  color: transparent;
  cursor: pointer;
}
*/


@media screen and ( max-width:780px){

	input#datepicker{
		width: 60%;
	}

	input[type="radio"]{
		margin-bottom: 0.5em;
	}



}


::-webkit-input-placeholder {
    color: #B6B6B6;
}


ul.btnList{
	display: flex;
	justify-content: center;
	align-items: center;
}
ul.btnList li{
	width: 340px;
}
ul.btnList li.forPC{
	display: block;
}
ul.btnList li.forSP{
	display: none;
}

input[type="submit"],
input[type="button"],
button[type="button"],
button[type="submit"]{ /* 基本のボタンスタイル */
	display:block;
	width:340px;
	margin:15px auto;
	text-align:center;
	font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue","Hiragino Kaku Gothic ProN",メイリオ,Meiryo,sans-serif;
	border-radius:100px;
	cursor:pointer;
	font-size: 90%;
	}

.btn,
.btnSub,
.btnback,
.btnclose,
.btnWh,
.btnLink,
.btnLinkCancel,
.btnLinkWh,
.btnLinkSub,
.btnLinkSub2,
.btnLinkDisabled{
	width:340px;
	text-align:center;
	font-weight:700;
	border-radius:100px;
	padding:18px;
	margin:15px auto;
	font-size:90%;
	color: #4A4A4A;
}
.btnLink,
.btnLinkCancel,
.btnLinkWh,
.btnLinkSub,
.btnLinkSub2,
.btnLinkDisabled{
	padding: 0;
}


.btn{
	color:#FFFFFF;
	border: 1px solid #FE6500;
	background: #FE6500;
	}

.btnSub{
	color:#4A4A4A;
	border: 1px solid #FFDFA0;
	background: #FFDFA0;
	font-weight: normal;
	}

.btnback{
	border: 1px solid #FFDFA0;
	background: #FFDFA0;
	}

.btnclose{
	font-weight:normal;
	border: 1px solid #dddddd;
	background: #F1F1F1;
	}

.btnWh{
	font-weight:normal;
	border: 1px solid #FFDFA0;
	background: #FFDFA0;
	border-radius: 100px;
	color:#333;
	}

.btnLink a,
.btnLinkSub a,
.btnLinkSub2 a,
.btnLinkCancel a,
.btnLinkWh a,
.btnLinkDisabled{
	display:block;
	padding:18px;
	text-align:center;
	font-size:100%;
	border-radius:100px;
	text-decoration:none;
	color: #4A4A4A;
}

.btnLink a{
	color:#FFFFFF;
	border: 1px solid #FE6500;
	background: #FE6500;
}

.btnLinkSub a{
	border: 1px solid #FFDFA0;
	background: #FFDFA0;
	font-weight: normal;
}

.btnLinkCancel a{
	border: 1px solid #DEDEDE;
	background: #DEDEDE;
}

.btnLinkWh a{
	border: 1px solid #FFDFA0;
	background: #FFDFA0;
}

.btnLinkSub2 a{
	border: 1px solid #DCEDE9;
	background: #DCEDE9;
}
.btnLinkDisabled{
	border: 1px solid #CCCCCC;
	background: #CCCCCC;
	color: #999999;
	padding: 18px 0;
}


@media screen and ( max-width:780px){


ul.btnList{
		flex-wrap: wrap;
	}
	ul.btnList li{
		width: 96%;
	}
	ul.btnList li.forPC{
		display: none;
	}
	ul.btnList li.forSP{
		display: block;
	}

	input[type="submit"],
	input[type="button"],
	button[type="button"],
	button[type="submit"]{ /* 基本のボタンスタイル */
		width:96%;
		}

	.btn,
	.btnLink,
	.btnLinkWh,
	.btnLinkCancel,
	.btnSub,
	.btnback,
	.btnWh,
	.btnLinkSub,
	.btnLinkSub2{
		width:96%;
	}

	.btnclose,
	.btnLinkDisabled{
		width:80%;
	}

}


.formlist{padding:5px; border-bottom:1px solid #ccc;}
.formlist:nth-child(even){background:#f2f2f2;}
.formlist:last-child{border-bottom:none;}

.formarea .ui-btn-text {
	font-size: 12px !important;
}


select{
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	width: 100%;
	height: 40px;
	background: url(../img/arrow_bottom.png) no-repeat right, #FFFFFF;
	background-size: auto 100%;
	padding-left:20px;
	font-size: 100%;
}

select::-ms-expand { /* for IE */
	display: none;
}

.wShort{
	width: 127px;
	margin:0 5px 20px 0;
}

.wMiddle{
	width: 300px;
	margin:0 5px 20px 0;
}

@media screen and ( max-width:780px){
	.wShort{
		width: 35%;
	}

	.wMiddle{
		width:70%;
	}

}

.ancherNavi{
	display: flex;
	justify-content: space-evenly;
	align-items: stretch;
	margin-bottom: 20px;
}
.ancherNavi li{
	display: flex;
	justify-content: center;
	align-items: stretch;
	width: 250px;
	text-align: center;
	background: #F1F1F1;
	border: 1px solid #cccccc;
}
.ancherNavi li a{
	display: block;
	padding: 5px 5px 5px 12px;
	text-decoration: none;
	width: 100%;
	position: relative;
}
.ancherNavi li a::after{
	content: "";
	border-style: solid;
	border-width: 6px 6px 0 6px;
	border-color: #FE9800 transparent transparent transparent;
	width: 0;
	height: 0;
	position: absolute;
	top: 40%;
	right: 10px;
}
.ancherNavi li a span.name{
	display: flex;
	justify-content: space-between;
	align-items: center;
}

@media screen and ( max-width:780px){
	.ancherNavi{
		justify-content: space-between;
	}

	.ancherNavi li{
		width: 33%;
		font-size: 14px;
	}

	.ancherNavi li a{
		padding: 5px 5px 16px 5px;
    width: 100%;
    font-size: 12px;
    line-height: 1.4;
	}
	.ancherNavi li a::after{
		top: inherit;
		bottom: 6px;
		left: 0;
		right: 0;
		margin: 5px auto 0;
	}
}

.triangle-bottom{
	border-style: solid;
	border-width: 10px 10px 0 10px;
	border-color: #feb64a transparent transparent transparent;
	display: inline-block;
	width: 0;
	height: 0;
}

/*table*/

table.list,
table.listResp,
table.listWide,
table.listWideB,
table.listWideC{
	font-size: 80%;
	border:1px solid #979797;
	border-width: 1px 1px 0 0;
	border-collapse: collapse;
}

table.listResp{
	font-size: 97%;
}

table.list th,
table.list td,
table.listResp th,
table.listResp td,
table.listWide th,
table.listWide td,
table.listWideB th,
table.listWideB td,
table.listWideC th,
table.listWideC td{
	font-weight: normal;
	vertical-align: middle;
	border:1px solid #979797;
	border-width: 0 0 1px 1px;
	padding: 13px 20px;
}

table.list th,
table.listResp th,
table.listWide th,
table.listWideB th,
table.listWideC th{
	background: #F1F1F1;
}

table.list td,
table.listResp td,
table.listWide td,
table.listWideB td,
table.listWideC td{
	background: #FFFFFF;
}

table.list tr:hover td,
table.listWide tr:hover td,
table.listWideB tr:hover td,
table.listWideC tr:hover td {
	background: #f0fff0;
}


.tableScrool {
  overflow-x: scroll;
}
table.listWide{
	width: 100%;
	white-space: nowrap;
}

table.listWideB,
table.listWideC{
	width: 100%;
	min-width: 800px;
}

table.listWideB th{
	white-space: normal;
	width: 113px !important;
}
table.listWideC th{
	width: 113px !important;
}

table.listWide th.ticketName{
	white-space: nowrap;
}
table.listWide td.ticketName{
	text-align: left !important;
}

table.listWideC th.ticketName{
	width: 230px !important;
}





@media screen and ( max-width:780px){

	table.list th,
	table.list td,
	table.listResp th,
	table.listResp td,
	table.listWide th,
	table.listWide td,
	table.listWideB th,
	table.listWideB td,
	table.listWideC th,
	table.listWideC td{
		padding: 5px;
	}

	table.listResp th,
	table.listResp td{
		display: block;
	}

	table.listWideC th.ticketName{
		width: 130px !important;
	}

}



/*　レッスン検索系　*/

.pageNav3{
	margin:0;
	padding:0.8em 0;
	text-align:center;
	zoom:1;
}
.pageNav3 li{
	display:inline;
	line-height:1.1;
}

.pageNav3 li a{
	display:inline-block;
	padding:0.8em;
	margin:0 0.2em 0.5em;
	border:1px solid #B7B7B7;
	background:#FFFFFF;
	vertical-align:middle;
	text-decoration:none;
}

.pageNav3 li.selected a{
	margin:0 0.5em;
	background: #FE9800;
	color: #FFFFFF;
}

ul.list4{
	list-style-type:none;
	padding:0;
	margin:0;
}

ul.list4 li{
	display:inline-block;
	padding:5px;
	margin-bottom:0.6em;
}
ul.list4 li img{ vertical-align: text-bottom;}

.area{
	padding:10px 0 20px;
	}

.pagerWrap{
	display: flex;
	justify-content:center;
	align-items: center;
	padding-top: 1em;
}

.pagerWrap li{
	margin-right: 10px;
}
.pagerWrap li a{
	display: block;
	padding: 6px 12px;
	text-align: center;
	border: 1px solid #B7B7B7;
	border-radius: 3px;
	text-decoration: none;
}

.pagerWrap li.prevNoLink,
.pagerWrap li.nextNoLink,
.pagerWrap li.prevLink a,
.pagerWrap li.nextLink a{
	background: #F1F1F1;
	border:1px solid #F1F1F1;
	border-radius: 3px;
	padding: 6px 14px;
}
.pagerWrap li.current,
.pagerWrap li.selected a{
	background: #FE9800;
	border:1px solid #FE9800;
	color:#FFFFFF;
}

.pagerWrap li.current{
	padding: 6px 14px;
	border-radius: 3px;
}

.toggle-box{
	padding:5px;
	margin-bottom:10px;
}
.toggle-box dt{
	font-size:90%;
	font-weight:700;
	cursor:pointer;
}
.toggle-box dt::before{
	content:"＞";
	color:#FE9800;
}

.toggle-box dd{
	font-size:80%;
	line-height:120%;
}

/*----------------------------
	clearfix
----------------------------*/
.clear{clear:both;}
.clearfix:after {content: "."; display: block; clear: both; height: 0; visibility: hidden;}
.clearfix {min-height: 1px;}
* html .clearfix {height: 1px; /*\*//*/ height: auto; overflow: hidden; /**/}
