@charset "UTF-8";

/* 全体
---------------------------------------------- */
b {/*background: linear-gradient(transparent 50%, yellow 50%); color:#2C0002; font-weight:bold; font-size:15px;*/}
u {text-decoration: none; border-bottom: 1px #000000 dotted;}
hr {border-top: 1px dashed #bbb; border-bottom: 1px dashed #fff; margin:50px 0;}
a.links   {color:#001BA0; text-decoration:none; border-bottom:3px dotted #001BA0;}
.link_hover {transition: 0.3s;display: block;box-sizing: border-box;}
.link_hover:hover {opacity: 0.7;}
.benefit {font-size:2.143em; line-height:1;}
.tax {font-size:80%;}
.small {font-size:90%;}
.lrg{font-size:18px;}
.h30 {margin:30px 0;}
.cnt {text-align: center;}
.end {text-align: end;}
.fRed {color: #f03838;}
.bl {font-weight: bold;}
.spc {letter-spacing: 0.1em;}
.orange {color: #ff6600;}

#main h2 {font-size:2.143em; line-height:1;}
#main h2 img {width:auto; height:1.167em; vertical-align:text-top;}
#main h2 span {padding: 0.25em 0.5em; border-left: solid 6px #0AA0E7;}
#section h3 {font-size: 1.5em; font-weight: 100; padding: 1.2em; letter-spacing: .05em; border-radius: .25em; color: #fff; background: #11A0E5;}
.section h3 {font-size: 1.5em; font-weight: 100; padding: 1.2em; letter-spacing: .05em; border-radius: .25em; color: #fff; background: #11A0E5;}
#main h4 {font-size: 1.2em; font-weight: 100; margin-bottom: 25px; position: relative; padding: 1.2em; background: #e0edff;}
#main h4:after {position: absolute; content: ''; top: 100%; left: 30px; border: 15px solid transparent; border-top: 15px solid #e0edff; width: 0; height: 0;}

.section table {
	width: 100%;
	margin-bottom: 30px;
}

.section table th, .section table td {
	padding: 10px;
	border: 1px solid #ddd;
}

.section table th {
	width: 30%;
	text-align: left;
}

@media only screen and (max-width:480px) {
	.section table {
		margin: 0 auto;
	}
	.section table th, .section table td {
		width: 100%;
		display: block;
		border-top: none;
	}
	.section table tr:first-child th {
		border-top: 1px solid #ddd;
	}
}

table.main {
	width: 100%;
	margin-bottom: 30px;
}

table.main th, table.main td {
	padding: 10px;
	border: 1px solid #ddd;
}

table.main th {
	background: #f4f4f4;
	width: 30%;
	text-align: left;
}

@media only screen and (max-width:480px) {
	table.main {
		margin: 0 auto;
	}
	table.main th, table.main td {
		width: 100%;
		display: block;
		border-top: none;
	}
	table.main tr:first-child th {
		border-top: 1px solid #ddd;
	}
}

.acordion, .acordion :after, .acordion *:before {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

.acordion {
	border-top: 1px solid #d8d8d8;
}

.acordion .acordion_actab {
	position: relative;
	overflow: hidden;
	width: 100%;
	margin-bottom: 1px;
	color: #1b2538;
}

.acordion .acordion_actab input {
	position: absolute;
	opacity: 0;
}

.acordion .acordion_actab label {
	font-weight: bold;
	line-height: 1.6;
	position: relative;
	display: block;
	margin: 0 0 0 0;
	padding: 1em 2em 1em 1em;
	cursor: pointer;
	border-bottom: 1px solid #d8d8d8;
	color: #11a0e5;
}

.acordion .acordion_actab label:hover {
	color: #11a0e5;
}

.acordion .acordion_actab .acordion_actab-content {
	overflow: hidden;
	max-height: 0;
	-webkit-transition: max-height 0.5s ease;
	transition: max-height 0.5s ease;
	background: #f6f4e8;
}

.acordion .acordion_actab .acordion_actab-content p {
	margin: 1em;
}

.acordion .acordion_actab input:checked~label {
	color: #11a0e5;
}

.acordion .acordion_actab input:checked~.acordion_actab-content {
	max-height: 40em;
}

.acordion .acordion_actab label::after {
	position: absolute;
	top: 50%;
	right: 0;
	display: block;
	width: 3em;
	margin-top: -12.5px;
	-webkit-transition: all 0.5s ease;
	transition: all 0.5s ease;
	text-align: center;
}

.acordion .acordion_actab input[type=checkbox]+label::after {
	content: '\25BC';
}

.acordion .acordion_actab input[type=checkbox]:checked+label::after {
	-webkit-transform: rotateX(180deg);
	transform: rotateX(180deg);
}

.acordion_2, .acordion_2 :after, .acordion_2 *:before {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

.acordion_2 {
	border-top: 1px solid #d8d8d8;
}

.acordion_2 .acordion_2_actab {
	position: relative;
	overflow: hidden;
	width: 100%;
	margin-bottom: 1px;
	color: #1b2538;
}

.acordion_2 .acordion_2_actab input {
	position: absolute;
	opacity: 0;
}

.acordion_2 .acordion_2_actab label {
	font-weight: bold;
	line-height: 1.6;
	position: relative;
	display: block;
	margin: 0 0 0 0;
	padding: 1em 2em 1em 1em;
	cursor: pointer;
	border-bottom: 1px solid #d8d8d8;
	color: #11a0e5;
}

.acordion_2 .acordion_2_actab label:hover {
	color: #11a0e5;
}

.acordion_2 .acordion_2_actab .acordion_2_actab-content {
	overflow: hidden;
	max-height: 0;
	-webkit-transition: max-height 0.5s ease;
	transition: max-height 0.5s ease;
	background: #f6f4e8;
}

.acordion_2 .acordion_2_actab .acordion_2_actab-content p {
	margin: 1em;
}

.acordion_2 .acordion_2_actab input:checked~label {
	color: #11a0e5;
}

.acordion_2 .acordion_2_actab input:checked~.acordion_2_actab-content {
	max-height: 40em;
}

.acordion_2 .acordion_2_actab label::after {
	position: absolute;
	top: 50%;
	right: 0;
	display: block;
	width: 3em;
	margin-top: -12.5px;
	-webkit-transition: all 0.5s ease;
	transition: all 0.5s ease;
	text-align: center;
}

.acordion_2 .acordion_2_actab input[type=checkbox]+label::after {
	content: '\25BC';
}

.acordion_2 .acordion_2_actab input[type=checkbox]:checked+label::after {
	-webkit-transform: rotateX(180deg);
	transform: rotateX(180deg);
}

.acordion_3, .acordion_3 :after, .acordion_3 *:before {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

.acordion_3 {
	border-top: 1px solid #d8d8d8;
}

.acordion_3 .acordion_3_actab {
	position: relative;
	overflow: hidden;
	width: 100%;
	margin-bottom: 1px;
	color: #1b2538;
}

.acordion_3 .acordion_3_actab input {
	position: absolute;
	opacity: 0;
}

.acordion_3 .acordion_3_actab label {
	font-weight: bold;
	line-height: 1.6;
	position: relative;
	display: block;
	margin: 0 0 0 0;
	padding: 1em 2em 1em 1em;
	cursor: pointer;
	border-bottom: 1px solid #d8d8d8;
	color: #11a0e5;
}

.acordion_3 .acordion_3_actab label:hover {
	color: #11a0e5;
}

.acordion_3 .acordion_3_actab .acordion_3_actab-content {
	overflow: hidden;
	max-height: 0;
	-webkit-transition: max-height 0.5s ease;
	transition: max-height 0.5s ease;
	background: #f6f4e8;
}

.acordion_3 .acordion_3_actab .acordion_3_actab-content p {
	margin: 1em;
}

.acordion_3 .acordion_3_actab input:checked~label {
	color: #11a0e5;
}

.acordion_3 .acordion_3_actab input:checked~.acordion_3_actab-content {
	max-height: 40em;
}

.acordion_3 .acordion_3_actab label::after {
	position: absolute;
	top: 50%;
	right: 0;
	display: block;
	width: 3em;
	margin-top: -12.5px;
	-webkit-transition: all 0.5s ease;
	transition: all 0.5s ease;
	text-align: center;
}

.acordion_3 .acordion_3_actab input[type=checkbox]+label::after {
	content: '\25BC';
}

.acordion_3 .acordion_3_actab input[type=checkbox]:checked+label::after {
	-webkit-transform: rotateX(180deg);
	transform: rotateX(180deg);
}

ul.step {
	padding: 0 10px;
	list-style-type: none;
	border: none;
}

ul.step li {
	position: relative;
	padding: 8px 0 0 30px;
	line-height: 1.5;
}

ul.step li::after, ul.step li::before {
	content: '';
	position: absolute;
}

ul.step li::after {
	left: -0.2em;
	top: 8px;
	width: 20px;
	height: 20px;
	background-color: #F27398;
	border-radius: 50%;
}

ul.step li::before {
	z-index: 2;
	left: 3px;
	top: 15px;
	width: 4px;
	height: 4px;
	border-right: 1px solid #fff;
	border-bottom: 1px solid #fff;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

ol.step {
	counter-reset: number;
	list-style-type: none!important;
	padding: 0.5em;
}

ol.step li {
	position: relative;
	padding-left: 30px;
	line-height: 1.5em;
	padding: 0.5em 0.5em 0.5em 30px;
}

ol.step li:before {
	position: absolute;
	counter-increment: number;
	content: counter(number);
	display: inline-block;
	background: #5c9ee7;
	color: white;
	font-family: 'Avenir', 'Arial Black', 'Arial', sans-serif;
	font-weight: bold;
	font-size: 15px;
	border-radius: 50%;
	left: 0;
	width: 25px;
	height: 25px;
	line-height: 25px;
	text-align: center;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

#main .button {
	width: 60%;
	text-align: center;
	margin: 10px auto;
	padding: 20px 12px;
	background-color: #ffab33;
	color: #fff;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border-radius: 5px;
	line-height: 1.4615;
	vertical-align: middle;
}

.btn-accordion,
.order-accordion,
.order-accordion-lodge,
.btn_manten,
.btn_auto,
.btn_line_attend,
.btn_line_lodge {
	display:block;
	text-align:center;
	margin:20px;
}

.btn-accordion button,
.order-accordion button,
.order-accordion-lodge button,
.btn_manten button,
.btn_auto button,
.btn_line_attend button,
.btn_line_lodge button {
	position:relative;
	display:inline-block;
	color:#fff;
	line-height:1;
	border:0;
}

.btn-accordion button:before,
.order-accordion button:before,
.order-accordion-lodge button:before {
	content: "";
	position:absolute;
	top:calc(50% - .5em);
	left:1.85em;
	width:1em;
	height:1em;
	vertical-align:middle;
	-webkit-transition-duration:.4s;
	transition-duration:.4s;
	/*background-image:url(/img/svg/ico-chevron-right.svg);*/
	background-image:url(/img/svg/ico-chevron-bottom-w.svg);
	background-size:contain;
	background-repeat:no-repeat;
	background-position:center;
}

.btn-accordion button {font-size:1.286em; min-width:284px; height:2.666em; white-space:nowrap; letter-spacing:.05em; background:#ffab33; padding:.3em 3.5em; border-radius:10em;}
.btn-accordion button .txt:before {content:'詳細ページを表示';}

.order-accordion button {
	font-size: 1.286em;
	min-width: 284px;
	height: 2.666em;
	white-space: nowrap;
	letter-spacing: .05em;
	background: #FA436E;
	padding: .3em 3.5em;
	border-radius: 10em;
}

.order-accordion button .txt:before {
	content: '申し込みをする(通学)';
}

.order-accordion button:hover {
	opacity: 0.7;
}

.order-accordion-lodge button {
	font-size: 1.286em;
	min-width: 284px;
	height: 2.666em;
	white-space: nowrap;
	letter-spacing: .05em;
	background: #FA436E;
	padding: .3em 3.5em;
	border-radius: 10em;
}

.order-accordion-lodge button .txt:before {
	content: '申し込みをする(合宿)';
}

.order-accordion-lodge button:hover {
	opacity: 0.7;
}

.btn_manten button {
	font-size: 1.286em;
	min-width: 284px;
	height: 2.666em;
	white-space: nowrap;
	letter-spacing: .05em;
	background: #ffab33;
	padding: .3em 3.5em;
	border-radius: 10em;
}

.btn_manten button .txt:before {
	content: '「満点様」画面を開く';
}

.btn_manten button:hover {
	opacity: 0.7;
}

.btn_auto button {
	font-size: 1.286em;
	min-width: 284px;
	height: 2.666em;
	white-space: nowrap;
	letter-spacing: .05em;
	background: #ffab33;
	padding: .3em 3.5em;
	border-radius: 10em;
}

.btn_auto button .txt:before {
	content: 'ログイン画面を開く';
}

.btn_auto button:hover {
	opacity: 0.7;
}

.btn_line_attend button {font-size:1.286em; min-width:284px; height:2.666em; white-space:nowrap; letter-spacing:.05em; background:#ffab33; padding:.3em 3.5em; border-radius:10em;}
.btn_line_attend button .txt:before {content:'LINEで問い合わせを始める(通学)';}
.btn_line_attend button:hover {
	opacity: 0.7;
}

.btn_line_lodge button {font-size:1.286em; min-width:284px; height:2.666em; white-space:nowrap; letter-spacing:.05em; background:#ffab33; padding:.3em 3.5em; border-radius:10em;}
.btn_line_lodge button .txt:before {content:'LINEで問い合わせを始める(合宿)';}
.btn_line_lodge button:hover {
	opacity: 0.7;
}

@media screen and (max-width:767px)
{
	.btn-accordion,
	.order-accordion,
	.order-accordion-lodge,
	.btn_manten,
	.btn_auto,
	.btn_line_attend,
	.btn_line_lodge {
		margin:20px 0;
	}
	.btn-accordion button,
	.order-accordion button,
	.order-accordion-lodge button,
	.btn_manten button,
	.btn_auto button,
	.btn_line_attend button,
	.btn_line_lodge button {
		width:100%;
		white-space: normal;
	}
}

.download {
	text-align: center;
	border-radius: 10px;
}

.download li {
	display: inline-block;
	margin-bottom: 10px;
	padding-left: 25px;
	vertical-align: middle;
	background: url(/img/icon_dl.png) 0 center no-repeat;
}

.download li:hover {
	opacity: 0.7;
}

.download.pdf li:after {
	content: url(/img/icon_pdf.png);
	padding-left: 10px;
	vertical-align: -2px;
}

.panel {
	margin: 1em auto;
	padding: 1em 1.5em 1px;
	background: #f6f4e8;
}

.panel_gray {
	margin: 1em auto;
	padding: 1em 1.5em 1px;
	background: #f4f4f4;
}

.yellow_line {
	background: -webkit-linear-gradient(transparent 60%, #ffc926 60%);
	background: -o-linear-gradient(transparent 60%, #ffc926 60%);
	background: linear-gradient(transparent 60%, #ffc926 60%);
}

.line {
	background: linear-gradient(transparent 50%, #ffe4e1 0%);
}

.line2 {
	background: -webkit-linear-gradient(transparent 60%, #ffc926 60%);
	background: -o-linear-gradient(transparent 60%, #ffc926 60%);
	background: linear-gradient(transparent 60%, #ffc926 60%);
}

ol.list {
	counter-reset: number;
	list-style-type: none!important;
	padding: 0.5em;
}

ol.list li {
	position: relative;
	padding-left: 30px;
	line-height: 1.5em;
	padding: 0.5em 0.5em 0.5em 30px;
}

ol.list li:before {
	position: absolute;
	counter-increment: number;
	content: counter(number);
	display: inline-block;
	background: #0aa0e7;
	color: white;
	font-family: 'Avenir', 'Arial Black', 'Arial', sans-serif;
	font-weight: bold;
	font-size: 13px;
	border-radius: 50%;
	left: 0;
	width: 25px;
	height: 25px;
	line-height: 25px;
	text-align: center;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

.leftandright .item {
	overflow: hidden;
	list-style-type: none;
}

.leftandright .item:not(:last-child) {
	margin-bottom: 40px;
}

.leftandright .img {
	display: inline-block;
	overflow: hidden;
	box-sizing: border-box;
	margin-right: 24px;
	width: 380px;
	vertical-align: top;
	text-align: left;
	float: left;
}

.leftandright .img a {
	width: 100%;
	height: 100%;
}

.leftandright .text {
	display: inline-block;
	width: calc(100% - 380px - 28px);
	vertical-align: top;
}

.leftandright .text h4 {
	position: relative;
	margin-bottom: 18px;
	color: #333;
}

.leftandright .text h4:not([class])::after {
	position: absolute;
	bottom: -2px;
	left: 0;
	display: block;
	width: 32px;
	height: 2px;
	background-color: #38bdef;
	content: "";
}

.leftandright .text h4:not([class]) a::after {
	display: inline-block;
	margin: 0 4px;
	width: 12px;
	height: 12px;
	background-image: url(/img/svg/arw-text.svg);
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
	content: "";
	vertical-align: 0;
	-webkit-transform: rotate(0deg);
	-ms-transform: rotate(0deg);
	transform: rotate(0deg);
}

@media screen and (max-width: 640px) {
	.leftandright .item:not(:last-child) {
		margin-bottom: 24px;
	}
	.leftandright .img {
		display: block;
		margin-right: 0;
		margin-bottom: 16px;
		width: 100%;
		text-align: center;
	}
	.leftandright .text {
		/*display: block;*/
		width: 100%;
	}
	.leftandright .text h4 {
		font-size: 18px;
	}
	.leftandright .img a img {
		transition: all .3s ease;
	}
	.leftandright .img a:hover img {
		opacity: .6;
	}
}

.cards {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
	grid-gap: 30px;
}

.cards {
	max-width: 960px;
	margin: 0 auto 30px;
}

article {
	position: relative;
}

.article-img {
	height: 200px;
	width: 100%;
	object-fit: cover;
}

.article-title {
	position: absolute;
	bottom: 0;
	width: 100%;
	padding: 10px;
	background-color: rgba(255, 255, 255, 0.6);
}

.ribbon1 {
	display: block;
	position: relative;
	margin: 15px auto;
	padding: 10px 20px;
	width: 100%;
	background: #f1f1f1;
	box-sizing: border-box;
}

.ribbon1 .star {
	display: inline-block;
	position: absolute;
	top: 0;
	left: 10px;
	margin: 0;
	padding: 10px 0;
	z-index: 2;
	width: 40px;
	text-align: center;
	font-size: 17px;
	color: white;
	background: #F58E7E;
}

.ribbon1 .star:after {
	content: '';
	position: absolute;
	left: 0;
	top: 100%;
	height: 0;
	width: 0;
	border-left: 20px solid #F58E7E;
	border-right: 20px solid #F58E7E;
	border-bottom: 10px solid transparent;
}

.ribbon2 {
	display: block;
	position: relative;
	margin: 15px auto;
	padding: 10px 20px;
	width: 100%;
	background: #f1f1f1;
	box-sizing: border-box;
}

.ribbon2 .star {
	display: inline-block;
	position: absolute;
	top: 0;
	left: 10px;
	margin: 0;
	padding: 10px 0;
	z-index: 2;
	width: 40px;
	text-align: center;
	font-size: 17px;
	color: white;
	background: #8DCF3F;
}

.ribbon2 .star:after {
	content: '';
	position: absolute;
	left: 0;
	top: 100%;
	height: 0;
	width: 0;
	border-left: 20px solid #8DCF3F;
	border-right: 20px solid #8DCF3F;
	border-bottom: 10px solid transparent;
}

.ribbon3 {
	display: block;
	position: relative;
	margin: 15px auto;
	padding: 10px 20px;
	width: 100%;
	background: #f1f1f1;
	box-sizing: border-box;
}

.ribbon3 .star {
	display: inline-block;
	position: absolute;
	top: 0;
	left: 10px;
	margin: 0;
	padding: 10px 0;
	z-index: 2;
	width: 40px;
	text-align: center;
	font-size: 17px;
	color: white;
	background: #FDC44F;
}

.ribbon3 .star:after {
	content: '';
	position: absolute;
	left: 0;
	top: 100%;
	height: 0;
	width: 0;
	border-left: 20px solid #FDC44F;
	border-right: 20px solid #FDC44F;
	border-bottom: 10px solid transparent;
}

.ribbon1, .ribbon2, .ribbon3 p {
	text-align: right;
}

.flowlist {
	width: 100%;
}

.flowlist .box {
	position: relative;
	padding: 48px 50px 50px 222px;
	background: #F5F5F5;
	min-height: 236px;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	color: #000;
}

.flowlist>li:first-child {
	padding-top: 0;
}

.flowlist>li {
	padding-top: 40px;
}

.flowlist .step {
	position: absolute;
	top: 50px;
	left: 50px;
	display: block;
	width: 120px;
	height: 120px;
	background: #0059E9;
	color: #FFF;
	font-family: 'Roboto', sans-serif;
	font-weight: 700;
	text-align: center;
}

.flowlist .step>span.text {
	padding-top: 27px;
	font-size: 16px;
	line-height: 1.5;
	text-indent: 0.05em;
	letter-spacing: 0.05em;
}

.flowlist .step>span {
	display: block;
}

.flowlist .step>span.no {
	margin-top: -0.15em;
	font-size: 40px;
	line-height: 1.5;
	letter-spacing: 0;
}

.flowlist .title .area2 {
	font-size: 16px;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0.03em;
}

.flowlist li .box>.textblock {
	margin-top: 13px;
	font-size: 14px;
	line-height: 1.8;
	letter-spacing: 0;
}

.flowlist .box::after {
	content: " ";
	position: absolute;
	top: 190px;
	left: 94px;
	display: block;
	width: 34px;
	height: 17px;
	background: url(/img/svg/flow.svg) no-repeat;
	background-size: auto auto;
	background-size: 34px 17px;
}

.flowlist>li:last-child .box:after {
	display: none;
}

@media screen and (max-width: 799px) {
	.flowlist {
		margin-top: 17px;
		width: auto;
	}
	.flowlist>li {
		padding-top: 37px;
		background: url(/img/svg/flow.svg) no-repeat 50% 10px;
		background-size: 32px 16px;
	}
	.flowlist>li:first-child {
		padding-top: 0;
	}
	.flowlist .box {
		padding: 19px 20px 15px 20px;
		min-height: 0;
		background: #F5F5F5;
	}
	.flowlist .box:after {
		display: none;
	}
	.flowlist .step {
		position: relative;
		top: 0;
		left: 0;
		width: 60px;
		height: 60px;
	}
	.flowlist .step>span.text {
		padding-top: 7px;
		font-size: 12px;
	}
	.flowlist .step>span.no {
		margin-top: -0.2em;
		font-size: 24px;
	}
	.flowlist .title {
		display: table;
		width: 100%;
	}
	.flowlist .title .area2, .flowlist .title .area1 {
		display: table-cell;
		vertical-align: middle;
	}
	.flowlist .title .area1 {
		width: 82px;
	}
	.flowlist li .box>.textblock {
		margin-top: 17px;
	}
}

#stage {
	position: relative;
	max-width: 890px;
	margin: 10px auto;
	overflow: hidden;
}

#photos {
	position: absolute;
	top: 0;
	width: 100%;
	animation: imgPassToLeft0 30s infinite;
	-webkit-animation: imgPassToLeft0 30s infinite;
}

#photo0 {
	left: 0%;
}

#photo1 {
	left: 100%;
}

#photo2 {
	left: 200%;
}

#photo3 {
	left: 300%;
}

#photo4 {
	left: 400%;
}

#photo5 {
	left: 500%;
}

#photo6 {
	left: 600%;
}

.pic {
	position: absolute;
	top: 0;
	width: 100%;
}

.pic img {
	width: 100%;
}

#back1, #back2, #back3, #back4, #back5, #next1, #next2, #next3, #next4, #next5 {
	display: none;
}

.pic:hover>label div span {
	opacity: 1;
	color: #EEE;
}

.pic label div span:hover {
	color: #f00;
	cursor: pointer;
}

@keyframes imgPassToLeft0 {
	0% {
		left: -100%;
	}
	16% {
		left: -100%;
	}
	20% {
		left: -200%;
	}
	36% {
		left: -200%;
	}
	40% {
		left: -300%;
	}
	56% {
		left: -300%;
	}
	60% {
		left: -400%;
	}
	76% {
		left: -400%;
	}
	80% {
		left: -500%;
	}
	96% {
		left: -500%;
	}
	100% {
		left: -600%;
	}
}

@-webkit-keyframes imgPassToLeft0 {
	0% {
		left: -100%;
	}
	16% {
		left: -100%;
	}
	20% {
		left: -200%;
	}
	36% {
		left: -200%;
	}
	40% {
		left: -300%;
	}
	56% {
		left: -300%;
	}
	60% {
		left: -400%;
	}
	76% {
		left: -400%;
	}
	80% {
		left: -500%;
	}
	96% {
		left: -500%;
	}
	100% {
		left: -600%;
	}
}

.cssgrid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	grid-auto-rows: 1fr;
	grid-gap: 0.8em;
	padding: 0.8em;
	margin: 0 0 2em;
}

.cssgrid>div {
	background: #f6f4e8;
	overflow: auto;
	min-width: 0;
	padding: 1em;
}

#wrap ul li:last-child {
	margin-right: 0;
}

@media all and (-ms-high-contrast:none) {
	#demo-wrap ul.column2 li {
		width: calc((100% - 61px) / 2);
	}
}

@media screen and (max-width: 640px) {
	#wrap ul li {
		float: none;
		width: 100%;
	}
}

.btn {
	margin: 25px 0 0;
	text-align: center;
}

.btn a {
	display: inline-block;
	position: relative;
	background: #E64176;
	border-radius: 25px;
	padding: 7px 60px 7px 40px;
	text-decoration: none;
	color: #fff;
}

#timetable .flex>div p {
	text-align: center;
}

/* ▼テキスト装飾系 */

/* ----------------------------------------------------- */

.ul_none {
	list-style: none;
}

/* ▼卒業生の声（通学・合宿共通）-voice */

/* ----------------------------------------------------- */

hr.hr1 {
	border: 0;
	height: 1px;
	background-image: -webkit-linear-gradient(left, #f0f0f0, #8c8b8b, #f0f0f0);
	background-image: -moz-linear-gradient(left, #f0f0f0, #8c8b8b, #f0f0f0);
	background-image: -ms-linear-gradient(left, #f0f0f0, #8c8b8b, #f0f0f0);
	background-image: -o-linear-gradient(left, #f0f0f0, #8c8b8b, #f0f0f0);
}

.dl_voice dt {
	height: 1em;
	font-size: 1.5em;
	color: #000000;
	margin: 10px 0 0 0;
	padding: 0;
}

.dl_voice dd {
	border-top: 1px dashed #8c8b8b;
	font-size: 1em;
	color: #181818;
	margin: 0;
}

/* 選べるコース
---------------------------------------------- */

table.plans {
	width: 100%;
}

table.plans th {
	background: #e9727e;
	border: solid 1px #ccc;
	color: #fff;
	padding: 10px;
}

table.plans td {
	background: #fff;
	border: solid 1px #ccc;
	padding: 10px;
}

@media screen and (max-width: 640px) {
	table.plans {
		width: 100%;
	}
	table.plans tr {
		display: block;
		float: left;
	}
	table.plans tr td, table.plans tr th {
		border-left: none;
		display: block;
		height: 50px;
	}
	table.plans thead {
		display: block;
		float: left;
		width: 30%;
	}
	table.plans thead tr {
		width: 100%;
	}
	table.plans tbody {
		display: block;
		float: left;
		width: 70%;
	}
	table.plans tbody tr {
		width: 50%;
	}
	table.plans tr td+td {
		border-left: none;
	}
	table.plans tbody td:last-child {
		border-bottom: solid 1px #ccc;
	}
}

/*給付金制度*/

.step_list li {
	margin-left: 10px;
	margin-bottom: 0;
}

.step_list li::marker {
	content: "";
}

.step_list li::before {
	content: "●";
	margin-right: 5px;
}

.step_tit_sub {
	margin-bottom: 0 !important;
	font-weight: bold;
}

/* フォーム
---------------------------------------------- */

/*================ テキストスタイル ================*/

.textRed {
	color: #f2242f !important;
}

.txtSmall {
	font-size: 85.7% !important;
}

.form_title {
	background: #00ab8c;
	color: #fff;
	font-size: 142.9%;
	font-weight: 700;
	padding: 9px 10px;
	margin-bottom: 12px;
	line-height: 1.35;
}

/* ================ 入力フォームスタイル ================ */

button, input, optgroup, select, textarea {
	color: inherit;
	font: inherit;
	margin: 0;
}

button {
	overflow: visible;
}

button, select {
	text-transform: none;
}

/*changed! */

button, html input[type="button"], input[type="reset"], input[type="submit"] {
	-webkit-appearance: none;
	cursor: pointer;
	background: none;
	border: none;
	padding: 0;
}

button[disabled], html input[disabled] {
	cursor: default;
}

button::-moz-focus-inner, input::-moz-focus-inner {
	border: 0;
	padding: 0;
}

input {
	line-height: normal;
}

input[type="checkbox"], input[type="radio"] {
	box-sizing: border-box;
	padding: 0;
}

input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

input[type="search"] {
	-webkit-appearance: textfield;
	-moz-box-sizing: content-box;
	-webkit-box-sizing: content-box;
	box-sizing: content-box;
}

input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

fieldset {
	border: none;
	/*changed*/
	margin: 0;
	/*changed*/
	padding: 0.35em 0.625em 0.75em;
}

legend {
	border: 0;
	padding: 0;
}

textarea {
	overflow: auto;
}

optgroup {
	font-weight: bold;
}

.btnMiddle40>span {
	margin: 0 40px;
}

/* ----------------------------------------

- Stopgap Class
(以下は暫定的、又はイレギュラーな場合のみ使用。通常は使用しない)

---------------------------------------- */

.mgt10 {
	margin-top: 10px !important;
}

.mgt15 {
	margin-top: 15px !important;
}

.mgt20 {
	margin-top: 20px !important;
}

.mgt25 {
	margin-top: 25px !important;
}

.mgt30 {
	margin-top: 30px !important;
}

.mgb0 {
	margin-bottom: 0 !important;
}

.mgb5 {
	margin-bottom: 5px !important;
}

.mgb10 {
	margin-bottom: 10px !important;
}

.mgb15 {
	margin-bottom: 15px !important;
}

.mgb20 {
	margin-bottom: 20px !important;
}

.mgb25 {
	margin-bottom: 25px !important;
}

.mgb30 {
	margin-bottom: 30px !important;
}

.mgb40 {
	margin-bottom: 40px !important;
}

.mgb50 {
	margin-bottom: 50px !important;
}

.s_img {}

.s_img .s_ttl {
	background: url("/img/school/facility_1.png") no-repeat center 20%/cover;
	position: relative;
	padding: 20px;
	color: #fff;
	text-align: center;
}

.s_img .s_ttl .inr {
	display: block;
	border: 5px solid #fff;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	padding: 85px 0 110px;
}

.s_img .s_ttl img {
	width: 365px;
	height: auto;
	opacity: 0;
}

@media screen and (max-width: 600px) {
	.s_img .s_ttl {
		background: url("/img/school/facility_1.png") no-repeat center 20%/cover;
		padding: 18px;
	}
	.s_img .s_ttl .inr {
		border: 5px solid #fff;
		padding: 22px 0 25px;
	}
	.s_img .s_ttl img {
		width: 180px;
	}
}

.dlimg__item {
	overflow: hidden;
	list-style-type: none;
}

.dlimg__item:not(:last-child) {
	margin-bottom: 40px;
}

.dlimg__img {
	display: inline-block;
	overflow: hidden;
	box-sizing: border-box;
	margin-right: 24px;
	width: 50%;
	vertical-align: top;
	text-align: left;
	float: left;
}

.dlimg__img a {
	width: 100%;
	height: 100%;
}

.dlimg__text {
	display: inline-block;
	width: calc(100% - 50% - 28px);
	vertical-align: top;
}

.dlimg__text h3 {
	position: relative;
	margin-bottom: 18px;
	color: #333;
}

.dlimg__text h3:not([class])::after {
	position: absolute;
	bottom: -2px;
	left: 0;
	display: block;
	width: 32px;
	height: 2px;
	background-color: #38bdef;
	content: "";
}

.dlimg__text h3:not([class]) a::after {
	display: inline-block;
	margin: 0 4px;
	width: 12px;
	height: 12px;
	background-image: url(/img/svg/arw-text.svg);
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
	content: "";
	vertical-align: 0;
	-webkit-transform: rotate(0deg);
	-ms-transform: rotate(0deg);
	transform: rotate(0deg);
}

ul.list-ast {
	padding-left: 0;
}

ul.list-ast>li {
	padding-left: 1.25em;
	list-style: none;
}

ul.list-ast>li:before {
	display: inline-block;
	margin-left: -1.25em;
	width: 1.25em;
	content: "※";
	vertical-align: top;
}

.list-ast {
	color: #666;
}

.u-fz-sm {
	font-size: .875rem !important;
	line-height: 1.5714 !important;
}

@media screen and (max-width: 640px) {
	.dlimg__item:not(:last-child) {
		margin-bottom: 24px;
	}
	.dlimg__img {
		display: block;
		margin-right: 0;
		margin-bottom: 16px;
		width: 100%;
		text-align: center;
	}
	.dlimg__text {
		display: block;
		width: 100%;
	}
	.dlimg__text h3 {
		font-size: 18px;
	}
	.dlimg__img a img {
		transition: all .3s ease;
	}
	.dlimg__img a:hover img {
		opacity: .6;
	}
}

/*吹き出し*/

.fukidashi {
	margin-top: 16px;
}

.fukidashi .tit {
	text-align: left;
	font-weight: bold;
	background: url(/img/bg-fukidashi.png) no-repeat left;
	background-size: contain;
	padding: 20px 0 15px 100px;
	position: relative;
	bottom: -15px;
	margin: 0px;
	background-position: left 30px center;
	border: none;
}

.fukidashi .inner {
	margin-top: 0;
	background: #f3f5f7;
	padding: 30px 40px 24px;
	border-radius: 10px;
}

/*お知らせ*/

table.news {
	width: 100%;
	border-collapse: collapse;
}

table.news tr {
	border-bottom: solid 2px white;
}

table.news tr:last-child {
	border-bottom: none;
}

table.news th {
	position: relative;
	text-align: left;
	width: 28%;
	background-color: #0AA0E7;
	color: white;
	text-align: center;
	padding: 10px 0;
	font-size: 90%;
}

table.news td {
	padding-left: 10px;
}

.news {
	padding: .5em 10px .5em 0;
	background: #d5f4ff;
}

.news ul {
	padding-right: 10px;
}

.news li {
	margin-bottom: 0;
	list-style: none;
	border-top: dotted 1px #34b4e2;
}

.news li:nth-child(1) {
	border: 0;
}

.news li {
	display: block;
	padding: 1.429em 1.429em 1.429em 2.5em;
	background-image: url(/img/svg/ico-triangle.svg);
	background-repeat: no-repeat;
	background-position: 1.5em 1.8em;
	background-size: 7px auto;
}

.news li dl {
	min-height: 3em;
}

.news li dl:after {
	position: absolute;
	display: block;
	clear: both;
	content: '';
}

.news li dt {
	position: relative;
	float: left;
	width: 8.5em;
}

.news li dd {
	margin-left: 9.5em;
}

.news li .date {
	display: inline-block;
	width: 7em;
	letter-spacing: 0;
}

.news li .category {
	display: inline-block;
	overflow: hidden;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	width: 8.5em;
	text-align: center;
	vertical-align: text-bottom;
	white-space: nowrap;
	letter-spacing: 0;
	text-overflow: ellipsis;
	border-radius: .2em;
	background-color: #00a0e9;
}

.news li .category:before {
	font-size: .714em;
	content: attr(data-category);
	color: #fff;
}

.news li .category[data-category=インフォメーション] {
	background-color: #16b701;
}

.news li .category[data-category=キャンペーン] {
	background-color: #ff8400;
}

.news li .category[data-category=イベント] {
	background-color: #fa436e;
}

.news li .category[data-category=お知らせ] {
	background-color: #a55b9a;
}

/*内部リンク調整*/

.link-t-a {
	position: relative;
	top: -170px;
	display: block;
}

/* ▼通学教習料金 */

/* ----------------------------------------------------- */

@media only screen and (max-width: 480px) {
	section table.attend-fee-table thead {
		display: none;
	}
	section table.attend-fee-table th {
		text-align: center;
	}
	section table.attend-fee-table th.target {
		display: none;
	}
	section table.attend-fee-table td.disc-license:before {
		content: "所持免許：";
	}
	section table.attend-fee-table td.student:before {
		content: "学生の方：";
	}
	section table.attend-fee-table td.general:before {
		content: "一般の方：";
	}
	section table.time-table th {
		width: 100px;
		display: table-cell;
	}
	section table.time-table td {
		width: auto;
		display: table-cell;
		border-top: 1px solid #ddd;
	}
}

/* ▼スタッフ紹介 staff */

/* ----------------------------------------------------- */

section#staff h2 {
	width: 1040px;
	margin: 0 0 2em 0;
}

section#staff {
	margin: 10px auto 60px auto;
	display: -webkit-box;
	display: -moz-box;
	display: -webkit-flexbox;
	display: -moz-flexbox;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: -moz-flex;
	display: flex;
	-webkit-box-lines: multiple;
	-moz-box-lines: multiple;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: space-between;
	-moz-justify-content: space-between;
	justify-content: space-between;
}

section#staff div.member {
	width: 50%;
	border-bottom: 1px dotted #a9a9a9;
	margin: 0 0 2em 0;
	padding: 0 0 1em 0;
}

section#staff div.member div.img {
	float: left;
	width: 37.03%;
	max-width: 200px;
}

section#staff div.member div.data {
	float: right;
	width: 50%;
	max-width: 260px;
	margin: 0 40px 0 0;
}

section#staff div.member div.data p.name {
	font-size: 22px;
	margin: 0;
}

section#staff div.member div.data p.name span {
	font-size: 13px;
	color: #666666;
	font-weight: normal;
}

section#staff div.member div.data p.comment {
	font-size: 13px;
}

section#staff div.member div.data ul {
	width: 100%;
	padding: 0;
	margin: 0;
}

section#staff div.member div.data ul li {
	border-bottom: 1px solid #dcdcdc;
	list-style: none;
	padding: 3px 0 3px 0;
	margin: 0;
}

section#staff div.member div.data ul li span {
	color: #ff597c;
	font-weight: bold;
}

section#staff div.member div.data ul li :last-child {
	border: none;
}

@media screen and (max-width:767px) {
	/* ▼スタッフ紹介 */
	/* ----------------------------------------------------- */
	section#staff h2 {
		width: 100%;
		margin: 0 0 2em 0;
	}
	section#staff {
		margin: 0;
	}
	section#staff div.member {
		width: 100%;
		border-bottom: 1px dotted #a9a9a9;
		margin: 0 0 2em 0;
		padding: 0 0 1em 0;
		display: table;
	}
	section#staff div.member div.img {
		display: table-cell;
		width: 30%;
	}
	section#staff div.member div.data {
		display: table-cell;
		width: 60%;
		margin: 0;
		padding: 0 2% 0 2%;
		vertical-align: top;
	}
	section#staff div.member div.data p.name {
		font-size: 20px!important;
		margin: 0;
	}
	section#staff div.member div.data p.name span {
		color: #666666;
		font-weight: normal;
		font-size: 14px!important;
		margin: 0 0 0 10px;
	}
	section#staff div.member div.data p.comment {
		font-size: 13px;
	}
	section#staff div.member div.data ul {
		width: 100%;
		padding: 0;
		margin: 0;
	}
	section#staff div.member div.data ul li {
		border-bottom: 1px solid #dcdcdc;
		list-style: none;
		padding: 3px 0 3px 0;
		margin: 0;
	}
	section#staff div.member div.data ul li span {
		color: #ff597c;
		font-weight: bold;
	}
	section#staff div.member div.data ul li :last-child {
		border: none;
	}
}

/* ▼求人情報  */

/* ----------------------------------------------------- */

.jobFont {
	font-size: 36px;
}

.recruit-order-accordion {
	display: block;
	text-align: center;
	margin: 20px;
}

.recruit-order-accordion button {
	font-size: 1.286em;
	width: 700px;
	height: 2.666em;
	white-space: nowrap;
	letter-spacing: .05em;
	background: #FA436E;
	padding: .3em 3.5em;
	border-radius: 10em;
}

.recruit-order-accordion button, [class*="btn-link"] a {
	line-height: 1;
	position: relative;
	display: inline-block;
	color: #fff;
	border: 0;
}

.recruit-order-accordion button::after, .recruit-order-accordion button::before, [class*="btn-link"] a::after {
	display: inline-block;
	content: '';
	vertical-align: middle;
	background-repeat: no-repeat;
	background-position: center;
}

.recruit-order-accordion button::before {
	position: absolute;
	top: calc(50% - .5em);
	left: 1.85em;
	width: 1em;
	height: 1em;
	-webkit-transition-duration: .4s;
	transition-duration: .4s;
	background-image: url(/img/svg/ico-chevron-right.svg);
	background-size: contain;
}

.recruit-order-accordion button {
	font-size: 1.286em;
	white-space: nowrap;
	letter-spacing: .05em;
}

.recruit-order-accordion button, [class*="btn-link"] a {
	line-height: 1;
	color: #fff;
}

.recruit-order-accordion button:hover {
	opacity: 0.7;
}

@media screen and (max-width:767px) {
	.jobFont {
		font-size: 20px;
	}
	.recruit-order-accordion {
		margin: 20px 0;
	}
	.recruit-order-accordion button {
		width: 100%;
		white-space: normal;
	}
}
ul.recruit_li {
  font-family: Roboto;
  /*font-size: 12px;*/
  line-height: 1.3em;
  margin: 5px 0 15px;
  padding: 0;
}

ul.recruit_li li {
    list-style: none;
    position: relative;
    padding: 0 0 0 20px;
}

ul.recruit_li li::marker {
  display: none;
}

ul.recruit_li li::before {
  content: "";
  position: absolute;
  left: 2px;
  top: 5px;
  width: 3px;
  height: 6px;
  border: solid #ff6600;
  border-top-width: medium;
  border-right-width: medium;
  border-bottom-width: medium;
  border-left-width: medium;
  border-width: 0 2px 2px 0;
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg);
}
@media screen and (max-width: 559px) {
	ul.recruit_li li::before {
	  content: "";
	  position: absolute;
	  left: 2px;
	  top: 2px;
	  width: 3px;
	  height: 6px;
	  border: solid #ff6600;
	  border-top-width: medium;
	  border-right-width: medium;
	  border-bottom-width: medium;
	  border-left-width: medium;
	  border-width: 0 2px 2px 0;
	  -webkit-transform: rotate(45deg);
	  -moz-transform: rotate(45deg);
	  -o-transform: rotate(45deg);
	  transform: rotate(45deg);
	}
}

dl.recruit{
	padding-bottom:5px;
}
.recruit dt{  
  background-color : #e3edf4;
  padding : 5px;
  /*padding-top : 10px;    
  padding-bottom : 10px;
  padding-left : 10px;*/
  width : 210px;
  float : left;/* 左に寄せる */
  clear : both;/* フロートの解除 */
  border-bottom: dotted 1px #0AA0E7;
}
.recruit dd{    
  padding : 5px;
  /*background-color : #9999ff;*/
  /*padding-top : 10px;
  padding-left : 10px;
  padding-right : 10px;
  padding-bottom : 10px;*/
  width : auto;
  margin-left : 210px;/* DTの幅分の設定 */
  border-bottom: dotted 1px #0AA0E7;
}
.recruit_tbl dl {
	font-size: 0.9em;
	display: flex;
	flex-flow: row wrap;
	width: 100%;
}
.recruit_tbl dt {
	flex-basis: 220px;
	padding: 10px;
	background-color: #e3edf4;
	border-bottom: dotted 1px #0AA0E7;
}
.recruit_tbl dd {
	flex-basis: 450px;
	padding: 10px;
	background-color: #fff;
	border-bottom: dotted 1px #0AA0E7;
}
@media screen and (max-width: 559px) {
	.company dl {
	flex-flow: column;
	}
	.recruit_tbl dt {
	flex-basis: 100%;
	}
	.recruit_tbl dd {
	border-bottom: none;
	}
}

/* ▼交通安全教室 -job */

/* ----------------------------------------------------- */

section#safety {
	margin: 10px 0;
	padding: 10px;
}

section#safety div.container h2 {
	font-size: 1.8em;
	padding: 0.25em 0.5em;
	background: transparent;
	border-left: solid 6px #0AA0E7;
	margin: 0 0 1em 0;
}

section#safety .safety {
	display: inline;
	float: left;
	width: 90%;
	max-width: 300px;
}

.new {
	font-size: 75%;
	color: #ff0000;
}

/**-----------------------------------------
    合宿ページ
------------------------------------------*/

/*スライド*/

.lodge-slide {
	padding: .5em 10px .5em 0;
	background: #d5f4ff;
}

.lodge-slide ul {
	padding-right: 10px;
}

.lodge-slide li {
	margin-bottom: 0;
	list-style: none;
	border-top: dotted 1px #34b4e2;
}

.lodge-slide li:nth-child(1) {
	border: 0;
}

.lodge-slide li {
	display: block;
	padding: 1.429em 1.429em 1.429em 2.5em;
	background-image: url(/img/svg/ico-triangle.svg);
	background-repeat: no-repeat;
	background-position: 1.5em 1.8em;
	background-size: 7px auto;
}

.lodge-slide li dl {
	min-height: 3em;
}

.lodge-slide li dl:after {
	position: absolute;
	display: block;
	clear: both;
	content: '';
}

.lodge-slide li dt {
	position: relative;
	float: left;
	width: 8.5em;
}

.lodge-slide li dd {
	margin-left: 9.5em;
}

.lodge-slide li .date {
	display: inline-block;
	letter-spacing: 0;
	padding-right: 10px;
}

.lodge-slide li .category {
	display: inline-block;
	overflow: hidden;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	width: 8.5em;
	text-align: center;
	vertical-align: text-bottom;
	white-space: nowrap;
	letter-spacing: 0;
	text-overflow: ellipsis;
	border-radius: .2em;
	background-color: #00a0e9;
}

.lodge-slide li .category:before {
	font-size: .714em;
	content: attr(data-category);
	color: #fff;
}

.lodge-slide li .category[data-category=インフォメーション] {
	background-color: #16b701;
}

.lodge-slide li .category[data-category=キャンペーン] {
	background-color: #ff8400;
}

.lodge-slide li .category[data-category=イベント] {
	background-color: #fa436e;
}

.lodge-slide li .category[data-category=お知らせ] {
	background-color: #a55b9a;
}

@media (min-width:425px) {
	.lodge-slide li dl {
		min-height: 1em;
	}
	.lodge-slide li dt {
		top: 0;
		width: 15.7em;
	}
	.lodge-slide li dd {
		margin-left: 15.5em;
	}
}

/**-----------------------------------------
    合宿料金プラン(PC)
------------------------------------------*/

.scroll-table {
	overflow: auto;
	white-space: nowrap;
}

/* スライド固定用 */
.fixed01{
  position: sticky;
  left: 0;
  z-index: 9999;
}

.priceTbl {
	width: 100%;
	/*margin:20px auto;*/
}

.priceTbl .color01 {
	font-size: 90%;
	color: #007BB9;
}

.priceTbl .color02 {
	font-size: 90%;
	color: #007BB9;
}

.priceTbl .color03 {
	font-size: 90%;
	color: #007BB9;
}

.priceTbl .color04 {
	font-size: 90%;
	color: #007BB9;
}

.priceTbl th {
	border-left: 1px solid #ccc;
	border-top: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	border-right: 1px solid #ccc;
	/*text-align:center;*/
	padding: 10px 15px;
	background: #eee;
	/*font-weight:bold;*/
	font-size: 16px;
}

.priceTbl th.thNone {
	border-left: none;
}

.priceTbl td {
	text-align: center;
	border-left: 1px solid #fff069;
	border-bottom: 1px solid #fff069;
	border-right: 1px solid #fff069;
	font-weight: bold;
	font-size: 20px;
}

.priceTbl td.roomType {
	font-size: 14px;
	width: 140px;
	border-right: 1px solid #fff069;
	color: #555;
}

.priceTbl td.roomType .modalScheduleButton, .priceTbl td.roomType .modalHotelButton {
	display: block;
	margin: 5px 3px 5px;
	padding: 3px 3px 3px 3px;
	border: 1px solid #f7cb9c;
	background-color: #f8850a;
	color: #FFF;
	font-size: 12px;
	text-decoration: none;
}

.priceTbl td.roomType .modalScheduleButton:hover, .priceTbl td.roomType .modalHotelButton:hover {
	opacity: 0.8;
}

.priceTbl td.fee {
	padding: 0 10px;
	color: #f00000;
}

.priceTbl td.fee .small {
	font-size: 0.8rem;
}

.priceTbl td a {
	background: url(/img/www/common/main/arw02.png) no-repeat 97% 50%;
	/*color:#000000;*/
	display: block;
	padding: 10px 5px;
	/*text-decoration:none;*/
}

.priceTbl td a:hover {
	background: #fce5e5 url(/img/www/common/main/arw03.png) no-repeat 97% 50%;
}

.priceTbl td .tax {
	color: #555;
	font-size: 12px;
	font-weight: normal;
}

/**-----------------------------------------
    料金プラン詳細（合宿）
------------------------------------------*/

#planInfo {
	float: left;
	width: 530px;
	margin: 10px 0 0;
}

#g_planInfo {
	float: left;
	width: 900px;
	margin: 10px 0 0;
}

#groupWari {
	float: right;
	width: 350px;
	margin: 20px 0 0;
	padding: 0 0 20px;
	background: url(/img/www/common/main/bg_point.gif);
	text-align: center;
}

#groupWari h3 {
	margin: 0;
	background: #8ea822;
	color: #fff;
}

#groupWari .groupImg {
	margin: 10px auto;
}

.hotelInfoL {
	width: 440px;
	float: left;
	padding: 10px 0;
}

.hotelInfoR {
	width: 440px;
	float: right;
	padding: 10px 0;
}

.hotelImg {
	text-align: center;
	padding: 20px 0 10px;
}

.gBikou {
	margin: 20px 0 50px;
}

.gBikou dt {
	font-weight: bold;
	background: url(/img/www/gassyuku/bikou.png) no-repeat 0 2px;
	padding: 0 0 0 25px;
	font-size: 16px;
}

.gBikou dd {
	padding: 5px 0 0 25px;
	margin: 0 0 20px;
}

.amenitieImg {
	text-align: center;
}

.amenitieImg>img {
	max-width: 500px;
}

/**-----------------------------------------
    入卒カレンダー
------------------------------------------*/

.calendar_table {
	margin: 20px 0;
	text-align: center;
}

.calendar_table table td {
	border: none;
	vertical-align: middle;
	font-size: 14px;
	line-height: 18px;
	padding: 0;
	margin: 0;
}

.calendar_table .calendar_inline {
	display: block;
	margin: 5px auto;
}

.calendar_table .calendar_inline table.calendar {
	display: inline-block;
	width: 400px;
}

.calendar_table table.calendar {
	border-collapse: collapse;
	margin: 0 5px 9px 5px;
	vertical-align: top;
	background: #FFF none repeat scroll 0% 0%;
}

.calendar_table table.calendar th.calmonth {
	text-align: center;
	padding: 7px 3px;
	font-weight: normal;
	border: #CACACA solid 1px;
	background: #F1EEE7;
	vertical-align: middle;
}

.calendar_table table.calendar td {
	border: #CACACA solid 1px;
	text-align: center;
	width: 57px;
	padding: 2px;
}

.calendar_table table.calendar td.calday {
	background: #efefef;
}

.calendar_table table.calendar td.cal {
	height: 30px;
}

.calendar_table table.calendar td.wday {
	background: #e4edff;
}

.calendar_table table.calendar td.sat {
	color: #09C;
	background: #CAE6F7;
}

.calendar_table table.calendar td.sun {
	color: #F69;
	background: #FCC;
}

.calendar_table table.calendar .row {
	display: block;
	text-align: center;
	margin: 2px 0;
}

.pcolor01 {
	background: #FADCE9;
}

.price_bold {
	color: #ff0000;
	font-weight: bold;
}

.pcolor02 {
	background: #E7D5E8;
}

.pcolor03 {
	background: #D2CCE6;
}

.pcolor04 {
	background: #D3DEF1;
}

.pcolor05 {
	background: #D3EDFB;
}

.pcolor06 {
	background: #D4ECEA;
}

.pcolor07 {
	background: #D5EAD8;
}

.pcolor08 {
	background: #ECF4D9;
}

.pcolor09 {
	background: #FFFCDB;
}

.pcolor10 {
	background: #FEECD2;
}

/******************　モーダル　*********************/

.remodal {
	border: 1px #ccc solid;
}

.modalSchedule, .modalHotel {
	display: block;
	padding: 10px;
}

.modalHotel>.hotelBox {
	width: 95%;
	margin: 0 auto 10px;
	background: #fff;
	padding: 20px;
	border-radius: 5px;
}

.modalHotel>.hotelBox>table {
	width: 100%;
}

.modalHotel>.hotelBox h4 {
	font-weight: bold;
	border-bottom: 1px solid #ccc;
	padding: 0 0 3px;
	color: #2d93d3;
	font-size: 16px;
	margin: 0 0 10px 0;
}

.modalHotel>.hotelBox th {
	width: 320px;
	vertical-align: middle;
}

.modalHotel>.hotelBox .hotelBoxBtn {
	margin: 10px auto;
	text-align: center;
}

.modalSchedule>.modalCalendar {
	display: table;
	width: 100%;
	margin: 10px 0;
	text-align: center;
}

.modalSchedule>.modalCalendar>table.calendar {
	display: inline-table;
	margin: 10px 1%;
	text-align: center;
	width: 30%;
}

.modalSchedule>.modalCalendar>table.calendar th.calmonth {
	background: #F1EEE7;
	color: #555;
	border: 1px #ccc solid;
	padding: 10px 0;
	font-weight: bold;
	text-align: center;
}

.modalSchedule>.modalCalendar>table.calendar td {
	border: 1px solid #CACACA;
	font-size: 12px;
	vertical-align: middle;
	width: 14%;
	padding: 2px;
	text-align: center;
}

.modalSchedule>.modalCalendar>table.calendar td.wday {
	background: #eee;
}

.modalSchedule>.modalCalendar>table.calendar td.sat {
	background: #D8EBFE;
	color: #109CD1;
}

.modalSchedule>.modalCalendar>table.calendar td.sun {
	background: #FFE1E2;
	color: #F03;
}

.modalSchedule>.modalCalendar>table.calendar td.cal {
	height: 20px;
}

.modalSchedule>.modalCalendar>table.calendar td.calday {
	background: #fffce0;
}

.square_btn {
	display: inline-block;
	padding: 1.5em 3.5em;
	text-decoration: none;
	background: #8DA727;
	color: #ffffff;
	border-bottom: solid 4px #667F0A;
	border-radius: 3px;
}

.square_btn:active {
	-ms-transform: translateY(4px);
	-webkit-transform: translateY(4px);
	transform: translateY(4px);
	border-bottom: none;
}

.square_btn a {
	color: #ffffff;
}

#gPriceList {
	display: none;
}

.cstmTbl {
	width: 100%;
	margin: 10px 0 30px;
	border-top: 1px solid #ddd;
}

.cstmTbl th {
	background: #eee;
	text-align: left;
	border-bottom: 1px solid #ddd;
	vertical-align: middle;
	padding: 10px;
	font-weight: bold;
}

.cstmTbl td {
	border-bottom: 1px solid #ddd;
	vertical-align: middle;
	padding: 10px;
}

.subTitle {
	font-size: 2.143em;
	line-height: 1;
	padding: 0.25em 0.5em;
	/*border-left: solid 6px #0AA0E7;*/
	border-left: solid 6px #0AA0E7;
	margin: 30px 0;
}

/*合宿テーブル*/

.cp2_table *, .cp2_table *:before, .cp2_table *:after {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

.cp2_table {
	margin: 10px auto;
	width: 100%;
	border-collapse: collapse;
}

.cp2_table th, .cp2_table td {
	text-align: left;
	padding: 10px;
	border: 1px solid #dddddd;
}

.cp2_table th {
	width: 18%;
	text-align: left;
	background: #f4f4f4;
}

.cp2_table td {
	background: #ffffff;
}

@media only screen and (max-width: 799px) {
	.pc_lodge {
		display: none;
	}
	.smart_lodge {
		display: block;
	}

	/**-----------------------------------------
    料金プラン
	------------------------------------------*/
	.priceTbl {
		display: none;
	}
	.priceTbl td{
		font-size: 14px;
	}

	/**-----------------------------------------
    合宿料金プラン(スマホ)
	------------------------------------------*/
	#gPriceList h3 {
		background: #EDEDED;
		font-weight: bold;
		padding: 10px;
		font-size: 18px;
		margin: 0;
	}
	#gPriceList dl dt th {
		font-size: 18px;
		font-weight: bold;
		text-align: left;
		padding: 0 0 0 10px;
		vertical-align: middle;
	}
	#gPriceList dl dt th span {
		font-size: 14px;
		margin: 3px 0;
		display: inline-block;
	}
	/******************　料金　*********************/
	#gPriceList {
		display: block;
	}
	#plan {
		line-height: 1.5;
		margin: 20px 0;
	}
	#plan dl.planAccordion {
		margin: 0 0 20px;
	}
	#plan dl.planAccordion>dt {
		padding: 10px 20px 10px 10px;
		color: #f00000;
		font-weight: bold;
		font-size: 22px;
		border-left: 1px solid #fff069;
		border-bottom: 1px solid #fff069;
		border-right: 1px solid #fff069;
		background: url(/img/close.png) no-repeat 98% 50%, rgb(255, 253, 233);
		-webkit-background-size: 23px 23px, auto auto;
	}
	#plan dl.planAccordion>dt.open {
		background: url(/img/open.png) no-repeat 98% 50%, rgb(255, 253, 233);
		-webkit-background-size: 23px 23px, auto auto;
	}
	#plan dl.planAccordion>dt span {
		font-size: 12px;
		display: inline-block;
		background: #f00000;
		padding: 2px 5px;
		vertical-align: text-top;
		color: #fff;
		margin: 0 5px 0 0;
	}
	#plan dl.planAccordion>dt span.sml {
		display: inline;
		background: none;
		padding: 0;
		color: #f00000;
		vertical-align: baseline;
	}
	#plan dl.planAccordion>dd {
		display: none;
	}
	#plan dl.planAccordion>dd>table.planData {
		width: 100%;
	}
	#plan dl.planAccordion>dd>table.planData tr.feeData {
		background: #d5efff;
		border-top: #FFF solid 2px;
	}
	#plan dl.planAccordion>dd>table.planData tr.feeData th {
		padding: 10px;
		font-size: 0.9rem;
		font-weight: bold;
		text-align: left;
		vertical-align: middle;
		border: none;
	}
	#plan dl.planAccordion>dd table.planData tr.feeData td {
		color: #f00000;
		font-weight: bold;
		padding: 10px 0;
		font-size: 20px;
	}
	#plan dl.planAccordion>dd table.planData tr.feeData td span {
		font-size: 12px;
		font-weight: normal;
		color: #333;
	}
	#plan dl.planAccordion>dd table.planData tr.feeData td .fee {
		font-size: 1.2rem;
		font-weight: bold;
		color: #f00000;
	}
	#plan dl.planAccordion>dd table.planData tr.feeData td .tax {
		font-size: 0.7rem;
		font-weight: normal;
		color: #333;
	}
	#plan dl.planAccordion>dd table.planData tr.feeData td.planCp {
		background: #ffecef;
		padding: 10px;
		color: #333;
	}
	#plan dl.planAccordion>dd table.planData tr.feeData td.planCp h4 {
		font-weight: bold;
		font-size: 16px;
		margin: 0 0 5px;
	}
	#plan dl.planAccordion>dd table.planData tr.feeData td.planCp .date {
		font-size: 14px;
	}
	#plan dl.planAccordion>dd table.planData tr.feeData td.planCp .date span {
		background: #f66076;
		color: #fff;
		padding: 5px 10px;
		margin: 0 0 0 10px;
		font-weight: bold;
		-webkit-border-radius: 50px;
		-moz-border-radius: 50px;
		border-radius: 50px;
	}
	#plan dl.planAccordion>dd table.planData tr.feeData td.planCp .cpPrice {
		color: #f00000;
		font-weight: bold;
		font-size: 22px;
	}
	#plan dl.planAccordion>dd table.planData tr.scheduleData>td {
		padding: 0;
	}
	#plan dl.planAccordion>dd>table.planData tr.hotelData {
		border-bottom: 1px solid #ccc;
	}
	#plan dl.planAccordion>dd>table.planData tr.hotelData td {
		padding-bottom: 10px;
	}
	#plan dl.scheduleAccordion, #plan dl.hotelAccordion {
		margin: 2px 0 15px;
	}
	#plan dl.scheduleAccordion>dt, #plan dl.hotelAccordion>dt {
		margin: 0;
		padding: 15px 10px;
		font-size: 16px;
		border: 1px solid #ccc;
		background: url(/img/close.png) no-repeat 98% 50%, #eee;
		-webkit-background-size: 23px 23px, auto auto;
	}
	#plan dl.scheduleAccordion>dt.open, #plan dl.hotelAccordion>dt.open {
		background: url(/img/open.png) no-repeat 98% 50%, #eee;
		-webkit-background-size: 23px 23px, auto auto;
	}
	#plan dl.scheduleAccordion>dd, #plan dl.hotelAccordion>dd {
		display: none;
	}
	#plan dl.scheduleAccordion>dd #calendar {
		padding: 5px 10px 5px;
	}
	#plan dl.hotelAccordion>dd .hotelBoxBtn {
		width: 100%;
		margin: 0 auto 10px;
		background: #eee;
		-webkit-border-radius: 5px;
		-moz-border-radius: 5px;
		border-radius: 5px;
		box-shadow: 0px 3px 0px #939393;
		text-align: center;
	}
	#plan dl.hotelAccordion>dd .hotelBoxBtn a {
		display: block;
		text-decoration: none;
		padding: 8px 0;
		font-weight: bold;
		font-size: 14px;
		color: #333;
	}
	table.calendar {
		width: 100%;
		margin: 5px 0 20px;
	}
	table.calendar th.calmonth {
		text-align: center;
		padding: 10px 0;
		border: #CACACA solid 1px;
		vertical-align: middle;
		background: #eee;
	}
	table.calendar td {
		border: #CACACA solid 1px;
		text-align: center;
		width: 14.5%;
		padding: 0;
	}
	table.calendar td.calday {
		background: #efefef;
	}
	table.calendar td.cal {
		height: 20px;
	}
	table.calendar td.wday {
		background: #e4edff;
		height: 13px;
	}
	table.calendar td.sat {
		color: #09C;
		background: #CAE6F7;
		height: 13px;
	}
	table.calendar td.sun {
		color: #F69;
		background: #FCC;
		height: 13px;
	}
	.pcolor01 {
		background: #FADCE9;
	}
	.pcolor02 {
		background: #E7D5E8;
	}
	.pcolor03 {
		background: #D2CCE6;
	}
	.pcolor04 {
		background: #D3DEF1;
	}
	.pcolor05 {
		background: #D3EDFB;
	}
	.pcolor06 {
		background: #D4ECEA;
	}
	.pcolor07 {
		background: #D5EAD8;
	}
	.pcolor08 {
		background: #ECF4D9;
	}
	.pcolor09 {
		background: #FFFCDB;
	}
	.pcolor10 {
		background: #FEECD2;
	}
	/*宿泊施設*/
	.accordion_hotel {
		/*margin:0 0 30px 0;*/
	}
	.accordion_hotel dt {
		padding: 15px 20px 15px 10px;
		font-weight: bold;
		font-size: 16px;
		border-bottom: 1px solid #ddd;
		background: url(/img/close.png) no-repeat 98% 50%, #eee;
		-webkit-background-size: 35px 35px;
	}
	.accordion_hotel dt.open {
		background: url(/img/open.png) no-repeat 98% 50%, #eee;
		-webkit-background-size: 35px 35px;
	}
	.accordion_hotel dd {
		display: none;
	}
	.accordion_hotel dd.open {
		display: inline;
	}
	.accordion_hotel dd .loan {
		width: 95%;
		line-height: 1.5;
		box-sizing: border-box;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		margin: 10px auto 20px;
	}
	.accordion_hotel dd .loan div {
		background: #eee;
		padding: 10px;
		margin: 10px 0 0 0;
	}
	.accordion_hotel dd .loan div ul {
		border-bottom: 1px solid #ccc;
		padding: 0 0 5px;
		margin: 0 0 5px;
	}
	.accordion_hotel dd .loan div li {
		background: url(/img/smart/common/arw01.png) no-repeat 0 7px;
		-webkit-background-size: 5px 8px;
		font-weight: bold;
		padding: 0 0 0 10px;
	}
	#hotelInfo {
		background: #d5efff;
		padding: 20px 0;
		margin: 2px 0 10px;
	}
	#hotelInfo .hotelInfoBox {
		width: 95%;
		margin: 0 auto;
		box-sizing: border-box;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		background: #fff;
		padding: 15px 10px 15px;
		-webkit-border-radius: 5px;
		-moz-border-radius: 5px;
		border-radius: 5px;
		line-height: 1.5;
		box-shadow: 0px 2px 0px #aaa;
	}
	#hotelInfo .hotelInfoBox+.hotelInfoBox {
		margin-top: 15px;
	}
	#hotelInfo .hotelInfoBox .hotelImg {
		padding: 0;
	}
	#hotelInfo .hotelInfoBox .hotelImg+.hotelImg {
		padding-top: 10px;
	}
	#hotelInfo .hotelInfoBox .hotelTxt {
		padding: 5px 0 0;
	}
	#hotelInfo .hotelInfoBox h3 {
		font-weight: bold;
		border-left: 5px solid #2d93d3;
		padding: 0 0 0 7px;
	}
	#hotelInfo .hotelInfoBox table {
		width: 100%;
		margin: 10px 0 0;
		border-bottom: 1px solid #ddd;
	}
	#hotelInfo .hotelInfoBox table th {
		border-top: 1px solid #ddd;
		padding: 5px;
		font-size: 12px;
		background: #eee;
	}
	#hotelInfo .hotelInfoBox table td {
		border-top: 1px solid #ddd;
		padding: 5px;
	}
	#hotelInfo .hotelInfoBox table td>ul.list {
		padding: 0;
	}
	#hotelInfo .hotelInfoBox table td>ul.list>li {
		display: inline-block;
		padding: 0 5px 0 0;
		margin: 0;
	}
}

/**-----------------------------------------
キャンペーンバナー
------------------------------------------*/

.campaignBanner {
	margin: 0.5rem 0;
}

.campaignBanner img {
	width: 100%;
}

.cpPlan {
	padding: 0.5rem;
	margin: 0;
	color: #333;
	background: url(/img/bg_point.png);
	border-bottom: 1px solid #fff069;
}

.cpPlan:first-child {
	border-top: 1px solid #fff069;
}

.cpPlan a {
	display: block;
	width: 100%;
	height: 100%;
	background: url(/img/arw_red.png) no-repeat 100% 50%;
	background-size: 35px 35px;
}

.cpPlan .cpPlanDate {
	font-size: 1rem;
	font-weight: bold;
	color: #814300;
	line-height: 100%;
}

.cpPlan .cpPrice {
	margin-top: 0.5rem;
	padding-right: 35px;
	width: 100%;
}

.cpPlan .cpPrice .lic {
	margin: 0.2rem 0;
	text-align: center;
	font-size: 1.2rem;
	font-weight: bold;
	color: #000;
	line-height: 100%;
}

.cpPlan .cpPrice .fee {
	text-align: center;
	font-size: 2rem;
	font-weight: bold;
	color: #ff0000;
	line-height: 100%;
}

.cpPlanCar .cpPrice .fee:before {
	content: '普通車AT';
	background: #fff069;
	margin-right: 0.5rem;
	padding: 0.5rem;
	font-weight: bold;
	font-size: 0.8rem;
	color: #000;
	vertical-align: middle;
}

.cpPlanBike .cpPrice .fee:before {
	content: '普通二輪MT';
	background: #fff069;
	margin-right: 0.5rem;
	padding: 0.5rem;
	font-weight: bold;
	font-size: 0.8rem;
	color: #000;
	vertical-align: middle;
}

.cpPlanPro .cpPrice .fee:before {
	content: '中型一種(準中型5tMT)';
	background: #fff069;
	margin-right: 0.5rem;
	padding: 0.5rem;
	font-weight: bold;
	font-size: 0.8rem;
	color: #000;
	vertical-align: middle;
}

.cpPlan .cpPrice .fee .smallFont {
	font-size: 0.5em;
}

.cpPlan .cpPrice .tax {
	text-align: center;
	font-size: 1.2rem;
	font-weight: bold;
	color: #A10100;
	line-height: 100%;
}

.cpPlan .cpPrice .tax .smallFont {
	font-size: 0.6em;
}

.cpPlan .detail {
	font-size: 1rem;
	color: #00AEED;
	text-align: right;
	font-weight: bold;
}

@media (min-width:880px) {
	.cpPlan {
		margin: 0.5rem 0;
		padding: 1rem;
		width: 100%;
	}
	.cpPlan, .cpPlan:first-child {
		border: none;
	}
	.cpPlan:hover {
		opacity: 0.7;
	}
	.cpPlan a {
		background: none;
		text-decoration: none;
	}
	.cpPlan .cpPlanDate {
		position: absolute;
		vertical-align: top;
		font-size: 1.3rem;
		font-weight: bold;
		color: #814300;
		line-height: 100%;
	}
	.cpPlan .cpPrice {
		position: absolute;
		margin-top: 0;
		width: 100%;
		text-align: center;
		padding-right: 0;
	}
	.cpPlan .cpPrice .lic {
		font-size: 1rem;
		font-weight: bold;
		color: #000;
	}
	.cpPlan .cpPrice .fee {
		font-size: 3rem;
		font-weight: bold;
		color: #ff0000;
		line-height: 100%;
	}
	.cpPlan .cpPrice .fee:before {
		display: none;
	}
	.cpPlan .cpPrice .fee .smallFont {
		font-size: 0.5em;
	}
	.cpPlan .cpPrice .tax {
		font-size: 1.5rem;
		font-weight: bold;
		color: #A10100;
		line-height: 100%;
	}
	.cpPlan .cpPrice .tax .smallFont {
		font-size: 0.6em;
	}
	.cpPlan .detail {
		display: none;
	}
}

/**-----------------------------------------
普通車免許キャンペーン
------------------------------------------*/
.cpPlanCar{
	margin:10px 0;
	background:url(/img/campaign/cp_car.png) no-repeat;
	width:100%;
	height:130px;
	background-size: contain;
}
.cpPlanCar:hover{
	opacity: 0.7 ;
}

.cpPlanCar a{
	text-decoration:none;
}
.cpPlanCar .cpPlanDate{
	float:left;
	width:260px;
	padding:12px 0px 0 20px;
	font-size:19px;
	font-weight:bold;
	color:#814300;
}

.cpPlanCar .cpPrice{
	margin-top:-10px;
	padding-left:350px;
	color:#ff0000;
	font-weight:bold;
	font-size:3.25rem;
}

.cpPlanCar .tax{
	margin-top:-70px;
	padding-left:28rem;
	font-size:1.5rem;
	font-weight:bold;
	color:#A10100;
}

.cpPlanCar .detail{
	display: none;
}

.cpPlanCar .lic{
	padding:15px 0px 0 350px;
	font-size:1.3rem;
	font-weight:bold;
	color:#000;
}

.cpFont{
	font-size:40px;
}

.cpTaxFont{
	font-size:15px;
}
@media (max-width:879px){
	.campaign{
		background:url(/img/bg_point.png);
		-webkit-background-size:4px 4px;
		border-top:1px solid #fff069;
		margin:10px 0;
	}
		.campaign a{		
			text-decoration:none;
		}
	
	.cpPlanCar{
		padding:10px;
		margin:0;
		border-bottom:1px solid #fff069;
		color:#333;
		background:url(/img/arw_red.png) no-repeat 98% 50%;
		-webkit-background-size:35px 35px;
		height:auto;
	}
	/*
	.cpPlanCar:before{
		content:'（普通車AT）';
		font-weight: bold;
		font-size: 18px;
		padding-left: 10px;
	}
	*/

	.cpPlanCar .cpPlanDate{
		float:left;
		width:100%;
		padding:5px 0px 0 10px;
		font-size:15px;
	}

	.cpPlanCar .cpPrice{
		padding-left:0;
		margin-top:-10px;
		font-size:2.5em;
		width: 80%;
		text-align: center;
	}

	.cpPlanCar .cpPrice:before{
		content:'普通車AT';
		background:#fff069;
		padding:5px 5px;
		font-weight:bold;
		font-size:18px;
		color:#000;
		float: left;
		margin: 5px 0 0 10px;
	}

	.cpPlanCar .tax{
		margin-top:-30px;
		padding-left:0;
		font-size:1.5em;
		text-align:center;
	}

	.cpPlanCar .detail{
		display:block;
		margin-top:-10px;
		font-size:1.2em;
		color:#00AEED;
		text-align:right;
		font-weight:bold;
	}

	.cpPlanCar .lic{
		padding-left:28%;
		font-size:1.3em;
	}
	
	.cpFont{
		font-size:.5em;
	}

	.cpTaxFont{
		font-size:.5em;
	}
}

/**-----------------------------------------
二輪免許キャンペーン
------------------------------------------*/
.cpPlanBike{
	margin:10px 0;
	background:url(/img/campaign/cp_bike.png) no-repeat;
	width:100%;
	height:130px;
	background-size: contain;
}
.cpPlanBike:hover{
	opacity: 0.7 ;
}

.cpPlanBike a{
	text-decoration:none;
}
.cpPlanBike .cpPlanDate{
	float:left;
	width:260px;
	padding:12px 0px 0 20px;
	font-size:19px;
	font-weight:bold;
	color:#814300;
}

.cpPlanBike .cpPrice{
	margin-top:-10px;
	padding-left:350px;
	color:#ff0000;
	font-weight:bold;
	font-size:3.25rem;
}

.cpPlanBike .tax{
	margin-top:-70px;
	padding-left:28rem;
	font-size:1.5rem;
	font-weight:bold;
	color:#A10100;
}

.cpPlanBike .detail{
	display: none;
}

.cpPlanBike .lic{
	padding:15px 0px 0 350px;
	font-size:1.3rem;
	font-weight:bold;
	color:#000;
}

.cpFont{
	font-size:40px;
}

.cpTaxFont{
	font-size:15px;
}
@media (max-width:879px){
	.campaign{
		background:url(/img/bg_point.png);
		-webkit-background-size:4px 4px;
		border-top:1px solid #fff069;
		margin:10px 0;
	}
		.campaign a{		
			text-decoration:none;
		}
	
	.cpPlanBike{
		padding:10px;
		margin:0;
		border-bottom:1px solid #fff069;
		color:#333;
		background:url(/img/arw_red.png) no-repeat 98% 50%;
		-webkit-background-size:35px 35px;
		height:auto;
	}
	/*
	.cpPlanBike:before{
		content:'（普通車AT）';
		font-weight: bold;
		font-size: 18px;
		padding-left: 10px;
	}
	*/

	.cpPlanBike .cpPlanDate{
		float:left;
		width:100%;
		padding:5px 0px 0 10px;
		font-size:15px;
	}

	.cpPlanBike .cpPrice{
		padding-left:0;
		margin-top:-10px;
		font-size:2.5em;
		width: 80%;
		text-align: center;
	}

	.cpPlanBike .cpPrice:before{
		content:'普通二輪MT';
		background:#fff069;
		padding:5px 5px;
		font-weight:bold;
		font-size:18px;
		color:#000;
		float: left;
		margin: 5px 0 0 10px;
	}

	.cpPlanBike .tax{
		margin-top:-30px;
		padding-left:0;
		font-size:1.5em;
		text-align:center;
	}

	.cpPlanBike .detail{
		display:block;
		margin-top:-10px;
		font-size:1.2em;
		color:#00AEED;
		text-align:right;
		font-weight:bold;
	}

	.cpPlanBike .lic{
		padding-left:28%;
		font-size:1.3em;
	}
	
	.cpFont{
		font-size:.5em;
	}

	.cpTaxFont{
		font-size:.5em;
	}
}
/*
.cpPlanBike{
	margin:10px 0 0;
	background:url(/img/campaign/cp_bike.png) no-repeat;
	width:100%;
	height:126px;
	background-size: contain;
}
.cpPlanBike:hover{
	opacity: 0.7 ;
}

.cpPlanBike a{
	text-decoration:none;
}

.cpPlanBike .cpPlanDate{
	float:left;
	width:260px;
	padding:12px 0px 0 20px;
	font-size:20px;
	font-weight:bold;
	color:#814300;
}

.cpPlanBike .cpPrice{
	padding-left:350px;
	color:#ff0000;
	font-weight:bold;
	font-size:55px;
}

.cpPlanBike .tax{
	margin-top:-70px;
	padding-left:470px;
	font-size:25px;
	font-weight:bold;
	color:#A10100;
}
@media (max-width:779px){
	.cpPlanBike{
		padding:10px;
		margin:0;
		border-bottom:1px solid #fff069;
		color:#333;
		background:url(/img/arw_red.png) no-repeat 98% 50%;
		-webkit-background-size:35px 35px;
		height:auto;
	}
	
	.cpPlanBike:before{
		content:'普通二輪MT';
		font-weight: bold;
		font-size: 18px;
		padding-left: 10px;
	}

	.cpPlanBike .cpPlanDate{
		float:left;
		width:100%;
		padding:5px 0px 0 10px;
		font-size:15px;
	}

	.cpPlanBike .cpPrice{
		padding-left:0;
		font-size:2.0em;
		width: 80%;
		text-align: center;
	}

	.cpPlanBike .cpPrice:before{
		content:'期間限定';
		background:#fff069;
		padding:3px 5px;
		font-weight:bold;
		font-size:18px;
		color:#000;
		float: left;
		margin: 5px 0 0 10px;
	}

	.cpPlanBike .tax{
		margin-top:-30px;
		padding-left:0;
		font-size:1.5em;
		text-align:center;
	}
}
*/
/**-----------------------------------------
プロ免許キャンペーン
------------------------------------------*/
.cpPlanPro{
	margin:10px 0;
	background:url(/img/campaign/cp_pro.png) no-repeat;
	width:100%;
	height:130px;
	background-size: contain;
}
.cpPlanPro:hover{
	opacity: 0.7 ;
}

.cpPlanPro a{
	text-decoration:none;
}
.cpPlanPro .cpPlanDate{
	float:left;
	width:260px;
	padding:12px 0px 0 20px;
	font-size:19px;
	font-weight:bold;
	color:#814300;
}

.cpPlanPro .cpPrice{
	margin-top:-10px;
	padding-left:350px;
	color:#ff0000;
	font-weight:bold;
	font-size:3.25rem;
}

.cpPlanPro .tax{
	margin-top:-70px;
	padding-left:28rem;
	font-size:1.5rem;
	font-weight:bold;
	color:#A10100;
}

.cpPlanPro .detail{
	display: none;
}

.cpPlanPro .lic{
	padding:15px 0px 0 350px;
	font-size:1.3rem;
	font-weight:bold;
	color:#000;
}

.cpFont{
	font-size:40px;
}

.cpTaxFont{
	font-size:15px;
}
@media (max-width:879px){
	.campaign{
		background:url(/img/bg_point.png);
		-webkit-background-size:4px 4px;
		border-top:1px solid #fff069;
		margin:10px 0;
	}
		.campaign a{		
			text-decoration:none;
		}
	
	.cpPlanPro{
		padding:10px;
		margin:0;
		border-bottom:1px solid #fff069;
		color:#333;
		background:url(/img/arw_red.png) no-repeat 98% 50%;
		-webkit-background-size:35px 35px;
		height:auto;
	}
	/*
	.cpPlanPro:before{
		content:'（普通車AT）';
		font-weight: bold;
		font-size: 18px;
		padding-left: 10px;
	}
	*/

	.cpPlanPro .cpPlanDate{
		float:left;
		width:100%;
		padding:5px 0px 0 10px;
		font-size:15px;
	}

	.cpPlanPro .cpPrice{
		padding-left:0;
		margin-top:-10px;
		font-size:2.5em;
		width: 80%;
		text-align: center;
	}

	.cpPlanPro .cpPrice:before{
		content:'中型一種';
		background:#fff069;
		padding:5px 5px;
		font-weight:bold;
		font-size:18px;
		color:#000;
		float: left;
		margin: 5px 0 0 10px;
	}
	.cpPlanPro .cpPrice:after{
		content:'準中型5tMT所持';
		background:#fff069;
		padding:5px 5px;
		font-weight:bold;
		font-size:18px;
		color:#000;
		float: left;
		margin: 5px 0 0 10px;
	}

	.cpPlanPro .tax{
		margin-top:-30px;
		padding-left:0;
		font-size:1.5em;
		text-align:center;
	}

	.cpPlanPro .detail{
		display:block;
		margin-top:-10px;
		font-size:1.2em;
		color:#00AEED;
		text-align:right;
		font-weight:bold;
	}

	.cpPlanPro .lic{
		padding-left:28%;
		font-size:1.3em;
	}
	
	.cpFont{
		font-size:.5em;
	}

	.cpTaxFont{
		font-size:.5em;
	}
}
/**-----------------------------------------
普通車免許キャンペーン（年末）
------------------------------------------*/
.cpPlanCarNenmatsu{
	margin:10px 0;
	background:url(/img/campaign/cp_car_nenmatsu.png) no-repeat;
	width:100%;
	height:130px;
	background-size: contain;
}
.cpPlanCarNenmatsu:hover{
	opacity: 0.7 ;
}

.cpPlanCarNenmatsu a{
	text-decoration:none;
}
.cpPlanCarNenmatsu .cpPlanDate{
	float:left;
	width:260px;
	padding:12px 0px 0 20px;
	font-size:19px;
	font-weight:bold;
	color:#814300;
}

.cpPlanCarNenmatsu .cpPrice{
	margin-top:-20px;
	padding-left:350px;
	color:#ff0000;
	font-weight:bold;
	font-size:3.25rem;
}

.cpPlanCarNenmatsu .tax{
	margin-top:-70px;
	padding-left:28rem;
	font-size:1.5rem;
	font-weight:bold;
	color:#A10100;
}

.cpPlanCarNenmatsu .detail{
	display: none;
}

.cpPlanCarNenmatsu .lic{
	padding:7px 0px 0 350px;
	font-size:1.3rem;
	font-weight:bold;
	color:#000;
}

.cpFont{
	font-size:40px;
}

.cpTaxFont{
	font-size:15px;
}
@media (max-width:879px){
	.campaign{
		background:url(/img/bg_point.png);
		-webkit-background-size:4px 4px;
		border-top:1px solid #fff069;
		margin:10px 0;
	}
		.campaign a{		
			text-decoration:none;
		}
	
	.cpPlanCarNenmatsu{
		padding:10px;
		margin:0;
		border-bottom:1px solid #fff069;
		color:#333;
		background:url(/img/arw_red.png) no-repeat 98% 50%;
		-webkit-background-size:35px 35px;
		height:auto;
	}
	/*
	.cpPlanCarNenmatsu:before{
		content:'（普通車AT）';
		font-weight: bold;
		font-size: 18px;
		padding-left: 10px;
	}
	*/

	.cpPlanCarNenmatsu .cpPlanDate{
		float:left;
		width:100%;
		padding:5px 0px 0 10px;
		font-size:15px;
	}

	.cpPlanCarNenmatsu .cpPrice{
		padding-left:0;
		margin-top:-10px;
		font-size:2.5em;
		width: 80%;
		text-align: center;
	}

	.cpPlanCarNenmatsu .cpPrice:before{
		content:'年末';
		background:#fff069;
		padding:5px 5px;
		font-weight:bold;
		font-size:18px;
		color:#000;
		float: left;
		margin: 5px 0 0 10px;
	}

	.cpPlanCarNenmatsu .tax{
		margin-top:-30px;
		padding-left:0;
		font-size:1.5em;
		text-align:center;
	}

	.cpPlanCarNenmatsu .detail{
		display:block;
		margin-top:-10px;
		font-size:1.2em;
		color:#00AEED;
		text-align:right;
		font-weight:bold;
	}

	.cpPlanCarNenmatsu .lic{
		padding-left:30%;
		font-size:1.3em;
	}
	
	.cpFont{
		font-size:.5em;
	}

	.cpTaxFont{
		font-size:.5em;
	}
}
/**-----------------------------------------
二輪免許キャンペーン（年末年始&新春）
------------------------------------------*/
.cpPlanBikeNenmatsu{
	margin:10px 0;
	background:url(/img/campaign/cp_bike_nenmatsu.png) no-repeat;
	width:100%;
	height:130px;
	background-size: contain;
}
.cpPlanBikeNenmatsu:hover{
	opacity: 0.7 ;
}

.cpPlanBikeNenmatsu a{
	text-decoration:none;
}
.cpPlanBikeNenmatsu .cpPlanDate{
	float:left;
	width:260px;
	padding:12px 0px 0 20px;
	font-size:19px;
	font-weight:bold;
	color:#814300;
}

.cpPlanBikeNenmatsu .cpPrice{
	margin-top:-20px;
	padding-left:350px;
	color:#ff0000;
	font-weight:bold;
	font-size:3.25rem;
}

.cpPlanBikeNenmatsu .tax{
	margin-top:-70px;
	padding-left:28rem;
	font-size:1.5rem;
	font-weight:bold;
	color:#A10100;
}

.cpPlanBikeNenmatsu .detail{
	display: none;
}

.cpPlanBikeNenmatsu .lic{
	padding:7px 0px 0 350px;
	font-size:1.3rem;
	font-weight:bold;
	color:#000;
}

.cpFont{
	font-size:40px;
}

.cpTaxFont{
	font-size:15px;
}
@media (max-width:879px){
	.campaign{
		background:url(/img/bg_point.png);
		-webkit-background-size:4px 4px;
		border-top:1px solid #fff069;
		margin:10px 0;
	}
		.campaign a{		
			text-decoration:none;
		}
	
	.cpPlanBikeNenmatsu{
		padding:10px;
		margin:0;
		border-bottom:1px solid #fff069;
		color:#333;
		background:url(/img/arw_red.png) no-repeat 98% 50%;
		-webkit-background-size:35px 35px;
		height:auto;
	}
	/*
	.cpPlanBikeNenmatsu:before{
		content:'（普通二輪MT）';
		font-weight: bold;
		font-size: 18px;
		padding-left: 10px;
	}
	*/

	.cpPlanBikeNenmatsu .cpPlanDate{
		float:left;
		width:100%;
		padding:5px 0px 0 10px;
		font-size:15px;
	}

	.cpPlanBikeNenmatsu .cpPrice{
		padding-left:0;
		margin-top:-10px;
		font-size:2.5em;
		width: 80%;
		text-align: center;
	}

	.cpPlanBikeNenmatsu .cpPrice:before{
		content:'年末年始&新春';
		background:#fff069;
		padding:5px 5px;
		font-weight:bold;
		font-size:18px;
		color:#000;
		float: left;
		margin: 5px 0 0 10px;
	}

	.cpPlanBikeNenmatsu .tax{
		margin-top:-30px;
		padding-left:0;
		font-size:1.5em;
		text-align:center;
	}

	.cpPlanBikeNenmatsu .detail{
		display:block;
		margin-top:-10px;
		font-size:1.2em;
		color:#00AEED;
		text-align:right;
		font-weight:bold;
	}

	.cpPlanBikeNenmatsu .lic{
		padding-left:30%;
		font-size:1.3em;
	}
	
	.cpFont{
		font-size:.5em;
	}

	.cpTaxFont{
		font-size:.5em;
	}
}
/**-----------------------------------------
プロ免許キャンペーン（年末年始&新春）
------------------------------------------*/
.cpPlanProNenmatsu{
	margin:10px 0;
	background:url(/img/campaign/cp_pro_nenmatsu.png) no-repeat;
	width:100%;
	height:130px;
	background-size: contain;
}
.cpPlanProNenmatsu:hover{
	opacity: 0.7 ;
}

.cpPlanProNenmatsu a{
	text-decoration:none;
}
.cpPlanProNenmatsu .cpPlanDate{
	float:left;
	width:260px;
	padding:12px 0px 0 20px;
	font-size:19px;
	font-weight:bold;
	color:#814300;
}

.cpPlanProNenmatsu .cpPrice{
	margin-top:-20px;
	padding-left:350px;
	color:#ff0000;
	font-weight:bold;
	font-size:3.25rem;
}

.cpPlanProNenmatsu .tax{
	margin-top:-70px;
	padding-left:28rem;
	font-size:1.5rem;
	font-weight:bold;
	color:#A10100;
}

.cpPlanProNenmatsu .detail{
	display: none;
}

.cpPlanProNenmatsu .lic{
	padding:7px 0px 0 350px;
	font-size:1.3rem;
	font-weight:bold;
	color:#000;
}

.cpFont{
	font-size:40px;
}

.cpTaxFont{
	font-size:15px;
}
@media (max-width:879px){
	.campaign{
		background:url(/img/bg_point.png);
		-webkit-background-size:4px 4px;
		border-top:1px solid #fff069;
		margin:10px 0;
	}
		.campaign a{		
			text-decoration:none;
		}
	
	.cpPlanProNenmatsu{
		padding:10px;
		margin:0;
		border-bottom:1px solid #fff069;
		color:#333;
		background:url(/img/arw_red.png) no-repeat 98% 50%;
		-webkit-background-size:35px 35px;
		height:auto;
	}
	/*
	.cpPlanProNenmatsu:before{
		content:'（普通車AT）';
		font-weight: bold;
		font-size: 18px;
		padding-left: 10px;
	}
	*/

	.cpPlanProNenmatsu .cpPlanDate{
		float:left;
		width:100%;
		padding:5px 0px 0 10px;
		font-size:15px;
	}

	.cpPlanProNenmatsu .cpPrice{
		padding-left:0;
		margin-top:-10px;
		font-size:2.5em;
		width: 80%;
		text-align: center;
	}

	.cpPlanProNenmatsu .cpPrice:before{
		content:'年末年始&新春';
		background:#fff069;
		padding:5px 5px;
		font-weight:bold;
		font-size:18px;
		color:#000;
		float: left;
		margin: 5px 0 0 10px;
	}

	.cpPlanProNenmatsu .tax{
		margin-top:-30px;
		padding-left:0;
		font-size:1.5em;
		text-align:center;
	}

	.cpPlanProNenmatsu .detail{
		display:block;
		margin-top:-10px;
		font-size:1.2em;
		color:#00AEED;
		text-align:right;
		font-weight:bold;
	}

	.cpPlanProNenmatsu .lic{
		padding-left:30%;
		font-size:1.3em;
	}
	
	.cpFont{
		font-size:.5em;
	}

	.cpTaxFont{
		font-size:.5em;
	}
}
/**-----------------------------------------
普通車免許キャンペーン（新春）
------------------------------------------*/
.cpPlanCarShinsyun{
	margin:10px 0;
	background:url(/img/campaign/cp_car_shinsyun.png) no-repeat;
	width:100%;
	height:130px;
	background-size: contain;
}
.cpPlanCarShinsyun:hover{
	opacity: 0.7 ;
}

.cpPlanCarShinsyun a{
	text-decoration:none;
}
.cpPlanCarShinsyun .cpPlanDate{
	float:left;
	width:260px;
	padding:12px 0px 0 20px;
	font-size:19px;
	font-weight:bold;
	color:#814300;
}

.cpPlanCarShinsyun .cpPrice{
	margin-top:-20px;
	padding-left:350px;
	color:#ff0000;
	font-weight:bold;
	font-size:3.25rem;
}

.cpPlanCarShinsyun .tax{
	margin-top:-70px;
	padding-left:28rem;
	font-size:1.5rem;
	font-weight:bold;
	color:#A10100;
}

.cpPlanCarShinsyun .detail{
	display: none;
}

.cpPlanCarShinsyun .lic{
	padding:7px 0px 0 350px;
	font-size:1.3rem;
	font-weight:bold;
	color:#000;
}

.cpFont{
	font-size:40px;
}

.cpTaxFont{
	font-size:15px;
}

@media (max-width:879px){
	.campaign{
		background:url(/img/bg_point.png);
		-webkit-background-size:4px 4px;
		border-top:1px solid #fff069;
		margin:10px 0;
	}
		.campaign a{		
			text-decoration:none;
		}
	
	.cpPlanCarShinsyun{
		padding:10px;
		margin:0;
		border-bottom:1px solid #fff069;
		color:#333;
		background:url(/img/arw_red.png) no-repeat 98% 50%;
		-webkit-background-size:35px 35px;
		height:auto;
	}
	/*
	.cpPlanCarShinsyun:before{
		content:'（普通車AT）';
		font-weight: bold;
		font-size: 18px;
		padding-left: 10px;
	}
	*/

	.cpPlanCarShinsyun .cpPlanDate{
		float:left;
		width:100%;
		padding:5px 0px 0 10px;
		font-size:15px;
	}

	.cpPlanCarShinsyun .cpPrice{
		padding-left:0;
		margin-top:-10px;
		font-size:2.5em;
		width: 80%;
		text-align: center;
	}

	.cpPlanCarShinsyun .cpPrice:before{
		content:'新春';
		background:#fff069;
		padding:5px 5px;
		font-weight:bold;
		font-size:18px;
		color:#000;
		float: left;
		margin: 5px 0 0 10px;
	}

	.cpPlanCarShinsyun .tax{
		margin-top:-30px;
		padding-left:0;
		font-size:1.5em;
		text-align:center;
	}

	.cpPlanCarShinsyun .detail{
		display:block;
		margin-top:-10px;
		font-size:1.2em;
		color:#00AEED;
		text-align:right;
		font-weight:bold;
	}

	.cpPlanCarShinsyun .lic{
		padding-left:30%;
		font-size:1.3em;
	}
	
	.cpFont{
		font-size:.5em;
	}

	.cpTaxFont{
		font-size:.5em;
	}
}

/* キャンペーンテーブル */

table.widelink th {
	white-space: nowrap;
}

table.widelink td a {
	display: block;
	padding: 0;
}

.btn_arrow {
	display: table;
	position: relative;
	padding: 0;
	min-width: 13em;
	/*border: 2px solid currentColor;*/
	/*color: #3388dd;
    font-size: 16px;
    font-weight: bold;
    text-align: center;*/
	text-decoration: none;
	box-sizing: border-box;
	/*transition: 0.5s;*/
}

.btn_arrow::after {
	position: absolute;
	top: 50%;
	right: 0.8em;
	width: 0.5em;
	height: 0.5em;
	transform: translateY(-50%) rotate(45deg);
	border-right: 2px solid currentColor;
	border-top: 2px solid currentColor;
	content: "";
}

.btn_arrow:hover {
	/*border: 2px solid #3388dd;*/
	color: #fff;
	background-color: #11A0E5;
}

.infobox {
	width: 100%;
	position: relative;
	padding: 2.5em;
	margin-bottom: 30px;
	background: #F5F3E7;
}

.infobox p {
	font-size: 150%;
	margin: 0;
	padding: 0;
}

.blockB {
	overflow: hidden;
	zoom: 1;
	margin: 20px;
}

.blockB li {
	list-style: disc;
	margin-left: 18px;
}

.flow_box {
	background: #88c7ea;
	display: table;
	width: 100%;
	padding: 5px;
}

.flow_box .day {
	background-color: #FFF;
	display: table-cell;
	width: 110px;
	vertical-align: middle;
	text-align: center;
	height: 100px;
}

.flow_box .day p {
	font-size: 20px;
	font-weight: bold;
	color: #008FD5;
	margin-bottom: 0;
	line-height: 1.0;
}

.flow_box .description {
	display: table-cell;
	vertical-align: middle;
	padding: 10px 20px;
}

.flow_box span {
	background: none;
	border: none;
	padding: 0;
	font-weight: bold;
	color: #173b7d !important;
	font-size: 20px;
	margin-bottom: 5px;
}

.flow_box .text {
	color: #FFF;
	margin-bottom: 0;
	font-weight: bold;
	line-height: 18px;
}

.flow_box .notice {
	color: #ED1C24;
}

.flow_arrow {
	text-align: center;
	padding: 10px 0;
}

.flow_arrow img {
	display: inline;
}

/* 宿泊施設（合宿） */

table.facility {
	width: 100%;
	margin-bottom: 30px;
}

table.facility th, table.facility td {
	padding: 10px;
	border: 1px solid #ddd;
}

table.facility th {
	background: #f4f4f4;
	width: 20%;
	text-align: left;
	white-space: nowrap;
	padding: 12px;
}

@media only screen and (max-width:480px) {
	table.facility {
		margin: 0 auto;
	}
	table.facility th, table.facility td {
		width: 100%;
		display: block;
		border-top: none;
	}
	table.facility tr:first-child th {
		border-top: 1px solid #ddd;
	}
}

.txtSmall {
	font-size: 85.7% !important;
}

.textRed {
	color: #f2242f !important;
}

.notice {
	position: relative;
	padding: 20px;
}

.notice:before, .notice:after {
	content: '';
	width: 20px;
	height: 30px;
	position: absolute;
	display: inline-block;
}

.notice:before {
	border-left: solid 1px #5767bf;
	border-top: solid 1px #5767bf;
	top: 0;
	left: 0;
}

.notice:after {
	border-right: solid 1px #5767bf;
	border-bottom: solid 1px #5767bf;
	bottom: 0;
	right: 0;
}

.notice p {
	margin: 5px 0;
	padding: 0;
}

/*宿泊施設用スライド*/

.fade .image {
	padding: 10px;
}

.fade img {
	width: 80%;
	margin: 0 auto;
}

@media (max-width:879px) {
	.fade .image {
		padding: 0;
	}
	.fade img {
		width: 100%;
	}
}

/*初めての方へページの左右交互レイアウト*/
.imagebox {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	margin-bottom: 40px;
}

.imagebox_text {}

/*
h3 {
  font-size: 21px;
  margin: 0;
}
*/
.imagebox .pict {
	width: 80% !important;
	margin-left: 3%;
}

.pict img {
	width: 100%;
	height: auto;
}
.pict2 img {
	width: 32%;
	height: auto;
}

.imagebox:nth-child(2n) {
	flex-direction: row-reverse;
}

.imagebox:nth-child(2n) .imagebox_text {
	text-align: left;
}

.imagebox:nth-child(2n) .pict {
	margin-left: 0;
	margin-right: 3%;
	width: 80% !important;
}

@media (max-width:768px) {
	.imagebox {
		flex-direction: column;
	}

	.imagebox:nth-child(2n) {
		flex-direction: column;
	}

	.imagebox_text {
		text-align: left;
	}

	.imagebox:nth-child(2n) .imagebox_text {
		text-align: left;
	}

	.imagebox .pict {
		width: 100% !important;
		margin-left: 0;
		text-align: center;
	}

	.imagebox:nth-child(2n) .pict {
		margin-left: 0;
		margin-right: 0%;
		width: 100% !important;

	}

	.pict img {
		width: 100%;
		height: auto;
	}
	.pict2 img {
		width: 100%;
		height: auto;
	}
}

/*TOP-PCR検査結果のお知らせ*/

ul.top_ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

ul.top_ul li {
	position: relative;
	padding: 0 0 0 2em;
	margin: 0;
}

ul.top_ul li::before {
	position: absolute;
	left: 0;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: '\f00c';
	color: #00ACDB;
}

.l-inner-sm {
	width: 100%;
	padding-right: 20px;
	padding-left: 20px
}

.l-sec-t-md {
	margin-top: 10px
}

@media print, screen and (min-width:768px) {
	.l-inner, .l-inner-sm {
		max-width: 1000px;
		margin-right: auto;
		margin-left: auto;
		padding-right: 0;
		padding-left: 0
	}
	/*.l-inner-sm{max-width:800px}*/
	.l-sec-t-md {
		margin-top: 10px
	}
}

@media print, screen and (min-width:768px) {
	.l-inner, .l-inner-sm {
		max-width: 1000px;
		margin-right: auto;
		margin-left: auto;
		padding-right: 0;
		padding-left: 0
	}
	.l-inner-sm {
		max-width: 800px
	}
	.l-sec-t-md {
		margin-top: 20px
	}
}

.service-merit-wrap {
	padding-top: 3px;
	padding-bottom: 3px
}

.service-merit {
	position: relative;
	margin: 30px 8px 5px;
	-webkit-box-shadow: 0 0 0 1px #3E5AA8, 0 0 0 5px #fff, 0 0 0 8px #3E5AA8;
	box-shadow: 0 0 0 1px #3E5AA8, 0 0 0 5px #fff, 0 0 0 8px #3E5AA8
}

.service-merit:before {
	position: absolute;
	top: -33px;
	display: inline-block;
	width: 59px;
	height: 25px;
	margin-left: -30px;
}

.service-meritInfo {
	padding: 10px 15px 20px 15px
}

.service-meritInfo_list li {
	font-size: 100%;
	line-height: 1.55;
	position: relative;
	padding-left: 2rem
}

/*.service-meritInfo_list li:not(:last-child){margin-bottom:5px}*/

/*.service-meritInfo_list li:before{font-family:"Font Awesome 5 Free";position:absolute;left:0;content:'\f14a';color:#3E5AA8}*/

@media print, screen and (min-width:768px) {
	.service-merit {
		margin: 35px 0 10px 0
	}
	.service-merit:before {
		top: -38px;
		width: 68px;
		height: 30px;
		margin-left: -34px;
		background-size: 68px 30px
	}
	.service-meritInfo {
		max-width: 90%;
		margin: 0 auto;
		padding: 10px 0 20px;
		padding-bottom: 50px;
	}
	.service-meritInfo_list li {
		font-size: 95%;
		line-height: 1.55;
		padding-left: 1.5rem
	}
	.service-meritInfo_list li:not(:last-child) {
		margin-bottom: 15px
	}
}

.service-meritInfo_heading {
	margin-bottom: 15px;
	text-align: center
}

.service-meritInfo_heading_text {
	font-size: 120%;
	font-weight: 700;
	line-height: 1.75;
	color: #3E5AA8
}

.service-meritInfo_heading_text:after, .service-meritInfo_heading_text:before {
	font-size: 110%;
	font-weight: 400;
	display: inline-block;
	margin-left: 5px;
	content: '/'
}

.service-meritInfo_heading_text:before {
	margin-right: 5px;
	margin-left: 0;
	-webkit-transform: scale(-1, 1);
	-ms-transform: scale(-1, 1);
	transform: scale(-1, 1)
}

.service-meritInfo_heading_title {
	font-size: 190%;
	font-weight: 700;
	line-height: 1.4;
	display: inline-block
}

.service-meritInfo_heading_title span {
	background: -webkit-gradient(linear, left top, left bottom, color-stop(70%, transparent), color-stop(70%, #ffff00));
	background: -o-linear-gradient(transparent 70%, #ffff00 70%);
	background: linear-gradient(transparent 70%, #ffff00 70%)
}

@media print, screen and (max-width:767.98px) {
	.service-meritInfo_heading {
		margin-bottom: 10px
	}
	.service-meritInfo_heading_text {
		font-size: 110%;
		line-height: 1.4
	}
	.service-meritInfo_heading_text:before {
		margin-right: 12px
	}
	.service-meritInfo_heading_text:after {
		margin-left: 12px
	}
	.service-meritInfo_heading_title {
		font-size: 180%
	}
}

.pdf {text-align: center; border-radius: 10px;}
.pdf li {display: inline-block; margin-bottom: 10px; padding-left: 25px; vertical-align: middle; background: url(/img/icon_dl.png) 0 center no-repeat;}
.pdf li:after {content: url(/img/icon_pdf.png); padding-left: 10px; vertical-align: -2px;}
.pdf li:hover {opacity: 0.7;}

.infobox2 {
    padding: 3em 2em;
    margin: 2em 0;
    background: -webkit-repeating-linear-gradient(-45deg, #ffeded, #ffeded 5px, #ffffff 5px, #ffffff 10px);/*ストライプ*/
    background: repeating-linear-gradient(-45deg, #ffeded, #ffeded 5px, #ffffff 5px, #ffffff 10px);/*ストライプ*/
    color: #000;/*文字色*/
}
.infobox2 p {
    margin: 0; 
    padding: 0;
}

/*ワンデーサポートページ*/
.qr {
	float: left;
	width: 400px;
	max-width: 400px;
}
.qr_img {
	width: 185px;
	max-width: 185px;
	/*margin: 0 30px 0 100px;*/
	font-size: 80%;
}
.qr_img2 {
	width: 200px;
	max-width: 200px;
	font-size: 90%;
}

.oneday-order-accordion {
    display: block;
    text-align: center;
    margin: 20px;
}

.oneday-order-accordion button {
    font-size: 1.286em;
    width: 700px;
    height: 2.666em;
    white-space: nowrap;
    letter-spacing: .05em;
    background: #FA436E;
    padding: .3em 3.5em;
    border-radius: 10em;
}
.oneday-order-accordion button, [class*="btn-link"] a {
    line-height: 1;
    position: relative;
    display: inline-block;
    color: #fff;
    border: 0;
}
.oneday-order-accordion button::after, .oneday-order-accordion button::before, [class*="btn-link"] a::after {
    display: inline-block;
    content: '';
    vertical-align: middle;
    background-repeat: no-repeat;
    background-position: center;
}
.oneday-order-accordion button::before {
    position: absolute;
    top: calc(50% - .5em);
    left: 1.85em;
    width: 1em;
    height: 1em;
    -webkit-transition-duration: .4s;
    transition-duration: .4s;
    background-image: url(/img/svg/ico-chevron-right.svg);
    background-size: contain;
}
.oneday-order-accordion button {
    font-size: 1.286em;
    white-space: nowrap;
    letter-spacing: .05em;
}
.oneday-order-accordion button, [class*="btn-link"] a {
    line-height: 1;
    color: #fff;
}
.oneday-order-accordion button:hover {
	opacity: 0.7;
}

@media screen and (max-width:767px){

	.jobFont {
		font-size: 20px;
	}
	.oneday-order-accordion{
		margin:20px 0;
	}
	.oneday-order-accordion button{
		width:100%;
		white-space: normal;
	}
}

/* パソコンで見たときは"pc"のclassがついた画像が表示される */
.pc_img { display: block !important; }
.sp_img { display: none !important; }
 
/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
@media only screen and (max-width: 750px) {
    .pc_img { display: none !important; }
    .sp_img { display: block !important; }
}

/* LINE */
.qr_line {
  width: 200px;
}

.line_info::before {
	position: relative;
	top: .2em;
	left: -.5em;
	display: inline-block;
	width: 1px;
	height: 1.125em;
	content: '';
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	background: #000;
}

.line_info::after {
	position: relative;
	top: .2em;
	left: .5em;
	display: inline-block;
	width: 1px;
	height: 1.125em;
	content: '';
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	background: #000;
}

.btn_line {
	display: flex;
	margin: 0 auto;
	width: 770px;
}

@media only screen and (max-width:480px){
	.btn_line {
		display: block;
		width: 100%;
	}
}

.order-line_attend {display:block; text-align:center; margin:0 20px 20px;}
.order-line_attend button,[class*=btn-link] a {line-height:1; position:relative; display:inline-block; color:#fff; border:0;}
.order-line_attend button {font-size:1.1em; min-width:240px; height:2.3em; white-space:nowrap; letter-spacing:.05em; background:#F58E7E; padding:.3em 3.5em; border-radius:10em;}
.order-line_attend button:before {position:absolute; top:calc(50% - .5em); left:1.85em; width:1em; height:1em; -webkit-transition-duration:.4s; transition-duration:.4s; background-image:url(/img/svg/ico-chevron-bottom-w.svg); background-size:contain;}
.order-line_attend button:after,.order-accordion button:before,[class*=btn-link] a:after{ display:inline-block; content:''; vertical-align:middle; background-repeat:no-repeat; background-position:center;}

.order-line_lodge {display:block; text-align:center; margin:0 20px 20px;}
.order-line_lodge button,[class*=btn-link] a {line-height:1; position:relative; display:inline-block; color:#fff; border:0;}
.order-line_lodge button {font-size:1.1em; min-width:240px; height:2.3em; white-space:nowrap; letter-spacing:.05em; background:#8DCF3F; padding:.3em 3.5em; border-radius:10em;}
.order-line_lodge button:before {position:absolute; top:calc(50% - .5em); left:1.85em; width:1em; height:1em; -webkit-transition-duration:.4s; transition-duration:.4s; background-image:url(/img/svg/ico-chevron-bottom-w.svg); background-size:contain;}
.order-line_lodge button:after,.order-accordion button:before,[class*=btn-link] a:after{ display:inline-block; content:''; vertical-align:middle; background-repeat:no-repeat; background-position:center;}

.order-line_lodge button:hover { cursor: pointer; opacity: 0.7 ;}
.order-line_attend button:hover { cursor: pointer; opacity: 0.7 ;}


/* 合宿カレンダー */
#priceMain {
	width: 900px;
	margin: 15px auto;
}

.sp_calendar{
	display:none;
}

.planSelectTbl{
	width:100%;
	margin:10px 0 30px;
	border-top:1px solid #ddd;
	position: relative;
}
	.planSelectTbl th{
		background:#eee;
		text-align:left;
		border-bottom:1px solid #ddd;
		vertical-align:middle;
		padding:10px;
		font-weight:bold;
		width: 15%;
	}
	.planSelectTbl td{
		border-bottom:1px solid #ddd;
		vertical-align:middle;
		padding:10px;
	}
	.planSelectTbl select {
		-webkit-appearance: none;
		appearance: none; /* デフォルトのスタイルを無効 */
	    height: 60px;
	    padding-left: 10px;
	    padding-right: 30px;
	    text-overflow: ellipsis; /* ...変換 */
	    -webkit-text-overflow: ellipsis; /* Safari */
		-o-text-overflow: ellipsis; /* Opera */
	}
		.planSelectTbl select::-ms-expand {
			display: none; /* デフォルトのスタイルを無効(IE用) */
		}
		
/* セレクトボックスの矢印デザイン変更 */
.containerPlan {
	width: 100%;
}
.containerPlan::before {
	border-bottom: 8.5px solid;
	border-left: 8px solid transparent;
	border-right: 8px solid transparent;
	content: "";
	position: absolute;
	right: 20px;
	top: 25px;
	width: 0;
}
.containerPlan::after {
	border-left: 8px solid transparent;
	border-right: 8px solid transparent;
	border-top: 8.5px solid;
	content: "";
	position: absolute;
	right: 20px;
	top: 50px;
	width: 0;
}
.containerDate {
	width: 100%;
}
.containerDate::before {
	border-bottom: 8.5px solid;
	border-left: 8px solid transparent;
	border-right: 8px solid transparent;
	content: "";
	position: absolute;
	right: 20px;
	top: 105px;
	width: 0;
}
.containerDate::after {
	border-left: 8px solid transparent;
	border-right: 8px solid transparent;
	border-top: 8.5px solid;
	content: "";
	position: absolute;
	right: 20px;
	top: 130px;
	width: 0;
}

.planSelect li{
	display: block;
	float: left;
	margin: 3px 5px;
	width: 253px;
	line-height: 30px;
	color: #fff;
	text-align: center;
	cursor: pointer;
	border-radius: 3px;
	background: #999;
}
.planSelectedColor {
	background: #f66076 !important;
	padding:10px;
}
.planSelect li a {
	display:block;
	padding:10px;
}
.planSelect li a:link,
.planSelect li a:visited{
	text-decoration: none;
	color: #fff;
}
.planSelect li a:hover {
	background: #ddd;
}

.dateSelect li{
	display: block;
	float: left;
	margin: 3px 5px;
	width: 120px;
	height: 30px;
	line-height: 30px;
	color: #fff;
	text-align: center;
	cursor: pointer;
	border-radius: 3px;
	background: #999;
}
.dateSelectedColor {
	background: #f66076 !important;
}
.dateSelect li a {
	display:block;
}
.dateSelect li a:link,
.dateSelect li a:visited{
	text-decoration: none;
	color: #fff;
}
.dateSelect li a:hover {
	background: #ddd;
}

.calendarOrderBtn {
	margin: 5px 0 0;
	padding: 5px 0;
	text-align: center;
	color: #fff;
	font-weight: bold;
	background: url(/img/calendar/arrow.png) no-repeat 95% 50% #f66076;
	font-size: 16px;
	border-radius: 3px;
}
.calendarOrderBtn a {
	display:block;
}
.calendarOrderBtn a:link,
.calendarOrderBtn a:visited{
	text-decoration: none;
	color: #fff;
}

@media only screen and (max-width: 799px){
	#priceMain {
		width: 100%;
	}
	.planSelect li{
		width: 98%;
	}
	.pc_calendar{
		display:none;
	}

	.sp_calendar{
		display:block;
	}
	.planSelectTbl .last td:last-child {
	    border-bottom: solid 1px #ccc;
	    width: 100%;
	}
	  .planSelectTbl {
	    width: 100%;
	  }
	  .planSelectTbl th,
	  .planSelectTbl td {
	　　border-bottom: none;
	    display: flex;
	    width: 100%;
	  }
	.dateSelect li{
		width: 30%;
	}
	.containerPlan::before {
		top: 65px;
	}
	.containerPlan::after {
		top: 90px;
	}
	.containerDate::before {
		top: 185px;
	}
	.containerDate::after {
		top: 210px;
	}
	.planSpList{
		margin: 0 0 10px;
		width: 100%;
		border-top: 5px solid #bbb;
		border-bottom: 5px solid #bbb;
	}
	.planSpList li{
		background: #f1f1f1!important;
		padding: 10px 0;
	}
	/*
	.planSpList li:nth-child(even){
		background: #fff!important;
		padding:  5px 0;
	}
	*/

	table.planSpListTbl{
		width: 98%;
	}
		table.planSpListTbl th{
			width: 63%;
			padding: 0 0 0 5px;
			vertical-align: middle;
			text-align: center;
		}

		table.planSpListTbl td .planSpListOrder{
			color: #fff;
			padding: 8px 0;
			border-radius: 3px;
			font-weight: bold;
			text-align: center;
			font-size: 16px;
			width: 100%;
			vertical-align: middle;
			background: url(/img/calendar/arrow.png) no-repeat 95% 50% #f66076;
			background-size: 7px 11px;
		}

		table.planSpListTbl td .planSpList_subBtn{
			background: #F2A547;
			border-radius: 3px;
			text-align: center;
		}
	.spPlanList {
		font-weight: bold;
		color: #3ab4c1;
	}
}
.spCalendarBtnColor {
	background:rgb(255, 253, 233);
	/*z-index: -1;*/
}
.spCalendarBtnColorSelected {
	background:#3ab4c1;
	display: block;
	padding: 14px;
	color: #fff;
}
.calendarArrow {
	position: relative;
}
.calendarArrow::after {
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px 0 6px 6px;
    border-color: transparent transparent transparent #3ab4c1;
    position: absolute;
    bottom: 0;
    right: 1px;
    transform: rotate(45deg);
}

dl.calendarColorAccordion{
	margin:0 0 20px;
}
	dl.calendarColorAccordion > dt{
		padding:10px 20px 10px 10px;
		color:#f00000;
		font-weight:bold;
		font-size:22px;
		border: 1px solid #fff069;
		background:url(/img/close.png) no-repeat 98% 50%,rgb(255, 253, 233);
		-webkit-background-size:23px 23px,auto auto;
	}
		dl.calendarColorAccordion > dt.open{
			background:url(/img/open.png) no-repeat 98% 50%,rgb(255, 253, 233);
			-webkit-background-size:23px 23px,auto auto;
		}
		dl.calendarColorAccordion > dt span{
			font-size:12px;
			display:inline-block;
			background:#f00000;
			padding:2px 5px;
			vertical-align:text-top;
			color:#fff;
			margin:0 5px 0 0;
		}
			dl.calendarColorAccordion > dt span.sml{
				display:inline;
				background:none;
				padding:0;
				color:#f00000;
				vertical-align:baseline;
			}
	dl.calendarColorAccordion > dd{
		display:none;
	}
	
/* 満点様バナー表示 */
.manten_img {
  width: 500px;
}

@media only screen and (max-width: 799px) {
	.manten_img {
	  width: 100%;
	}
}


/*フォトギャラリーボタン*/
.button_pg {
  max-width: 300px;
  margin: 0 auto;
  padding:5px 0;
}
a.btn_pg {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 40px;
  position: relative;
  background: #fff;
  border: 1px solid #000;
  box-sizing: border-box;
  padding: 0 25px 0 40px;
  color: #000;
  font-size: 16px;
  letter-spacing: 0.1em;
  line-height: 1.3;
  text-align: left;
  text-decoration: none;
  transition-duration: 0.3s;
}
a.btn_pg:before {
  content: '';
  width: 8px;
  height: 8px;
  border: 0;
  border-top: 2px solid #000;
  border-right: 2px solid #000;
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  left: 25px;
  margin-top: -6px;
}
a.btn_pg:hover {
  background: #000;
  color: #fff;
}
a.btn_pg:hover:before {
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}

/*----------------------------------------------------------------------

エポス特典　Level Style

----------------------------------------------------------------------*/
.level {
	width: 100%;
	margin: 0 auto 42px;
	border: 4px solid #11a0e5;
}

@media screen and (max-width: 960px) {
	.level {
		width: 96%;
		margin: 0 auto 42px;
	}
}

@media screen and (max-width: 480px) {
	.level {
		margin: 0 auto 32px;
	}
}

.level h3 {
	text-align: center;
	color: #ffffff;
	background: #11a0e5;
	padding: 16px 0 12px;
	font-weight: bold;
	font-size: 24px;
	margin-bottom: 0;
}

@media screen and (max-width: 480px) {
	.level h3 {
		font-size: 20px;
	}
}

.level h3 span {
	background: #FFFF00;
	color: #11a0e5;
	font-weight: normal;
	font-size: 16px;
	padding: 4px;
	position: relative;
	top: -3px;
	margin-right: 8px;
	line-height: 1;
}

.level h3 span.no_bg_color {
	background: none;
	color: white;
}

@media screen and (max-width: 480px) {
	.level h3 span {
		font-size: 14px;
		margin-right: 0;
		line-height: 1;
		margin-bottom: 12px;
	}
}

.level .level_inner {
	padding: 24px;
}

@media screen and (max-width: 480px) {
	.level .level_inner {
		padding: 20px;
	}
}

.level .level_inner h2 {
	background: #11a0e5;
	font-size: 16px;
	font-weight: normal;
	margin-bottom: 24px;
}

.level .level_inner .level_fee_box {
	background: #F2F2F2;
	margin-bottom: 20px;
}

.level .level_inner .level_fee_box h3 {
	background: #2F7DB2;
	padding: 8px 0;
	margin-bottom: 0;
	color: #ffffff;
	text-align: center;
}

.level .level_inner .level_fee_box .fee_flexbox {
	display: flex;
	align-items: center;
}

@media screen and (max-width: 480px) {
	.level .level_inner .level_fee_box .fee_flexbox {
		display: block;
	}
}

.level .level_inner .level_fee_box .fee_flexbox.padding_20px {
	padding: 20px;
}

.level .level_inner .level_fee_box .fee_flexbox div {
	width: 80%;
	padding: 4%;
	font-size: 1.3rem;
	font-weight: bold;
}

.level .level_inner .level_fee_box .fee_flexbox div.double_width {
	width: 66.6%;
}

@media screen and (max-width: 480px) {
	.level .level_inner .level_fee_box .fee_flexbox div.double_width {
		width: 100%;
		padding-bottom: 0;
	}
}

@media screen and (max-width: 480px) {
	.level .level_inner .level_fee_box .fee_flexbox div {
		width: 100%;
		padding: 5%;
	}
}

.level .level_inner .level_fee_box h4 {
	font-size: 20px;
	font-weight: bold;
	margin-bottom: 0;
}

@media screen and (max-width: 700px) {
	.level .level_inner .level_fee_box h4 {
		font-size: 15px;
	}
}

.level .level_inner .level_fee_box h4.display_inline_block {
	display: inline-block;
}

.level .level_inner .level_fee_box h4.small {
	font-size: 16px;
}

.level .level_inner .level_fee_box h4 span {
	vertical-align: middle;
	font-size: 18px;
	font-weight: normal;
}

.level .level_inner .level_fee_box p {
	margin-bottom: 0;
}

.level .level_inner .level_fee_box p.fee {
	font-size: 38px;
	font-weight: bold;
	line-height: 1;
}

.level .level_inner .level_fee_box p.fee span {
	font-size: 16px;
	vertical-align: middle;
}

@media screen and (max-width: 700px) {
	.level .level_inner .level_fee_box p.fee {
		font-size: 32px;
		text-align: left;
	}

	.level .level_inner .level_fee_box p.fee span {
		font-size: 18px;
	}
}

.level .level_inner .level_fee_box p.display_inline_block {
	display: inline-block;
}

.level .level_inner .level_fee_box.margin_bottom_zero {
	margin-bottom: 0;
}

.level .level_inner h4.detail_title {
	border-top: 2px solid #11a0e5;
	border-bottom: 2px solid #11a0e5;
	padding: 8px 0;
	margin-bottom: 12px;
}

@media screen and (max-width: 700px) {
	.level {
		width: 94%;
	}
}

ol.epos {
	counter-reset: item;
	list-style-type: none;
	padding-left: 15px;
}

ol.epos ol {
	padding-left: 1em;
}

li.epos {
	text-indent: -1.3em;
	padding-left: 1.3em;
}

li.epos:before {
	counter-increment: item;
	content: counter(item)'.';
	/* 以下は自由に装飾... */
	padding-right: .5em;
	font-weight: bold;
	color: #b40000;
}

.epos img {
	width: 300px;
}

/*改行-PCで無効*/
.pc_hid {
	display: none;
}

/*改行-スマートフォンで有効*/
@media screen and (max-width:768px) {
	.pc_hid {
		display: block;
	}

	.epos img {
		width: 95%;
	}
}

table.ep_tb01 {
	border-collapse: collapse;
	width: 100%;
}

.ep_tb01 th,
.ep_tb01 td {
	/*padding: 10px;
  border: solid 1px #ccc;*/
	text-align: left;
	box-sizing: border-box;
}

@media screen and (max-width: 640px) {
	.ep_tb01 {
		width: 100%;
	}

	table.ep_tb01 th,
	table.ep_tb01 td {
		display: block;
		width: 100%;
		border-bottom: none;
	}

	/*
  .ep_tb01 tr:last-child{
    border-bottom: solid 1px #ccc;
  }
*/
}

/*ご注意ください！*/
.main_att01 {
  margin-top: 30px;
  padding: 30px 35px;
  border-radius: 10px;
  background: #fff98a;
  border: solid 5px #11A0E5;
  -webkit-box-shadow: inset 5px 5px 0 0 #fff,inset -5px -5px 0 0 #fff;
  /* Safari, Chrome用 */
  /* Firefox用 */
  box-shadow: inset 5px 5px 0 0 #fff,inset -5px -5px 0 0 #fff;
  /* CSS3 */
}

.main_att01 p {
  margin-bottom: 20px;
  text-align: center;
  color: #11A0E5;
  font-weight: bold;
  font-size: 1.5em;
}

.main_att01 ul li {
  list-style: none;
  text-indent: -1em;
  margin-left: 1em;
}

.main_att01 ul li:before {
  content: "";
  margin-right: 7px;
  width: 10px;
  /* 幅指定 */
  height: 10px;
  /* 高さ指定 */
  display: inline-block;
  /* インラインブロックにする */
  background-color: #11A0E5;
  /* 背景色指定 */
  border-radius: 50%;
  /* 要素を丸くする */
}

/* 動画縮小 */
.item-movie {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}
.item-movie iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
}

/* 入校条件内部リンクボタン */
.carLink {
	font-size: .875em;
	max-width: 1024px;
	margin: 0 auto;

}

.carLink ul {
	text-align: center;
	letter-spacing: -.4em;

}

.carLink ul li {
	display: inline-block;
	width: 50%;
	max-width: 311px;
	padding: 0 .722em .3em;
	list-style: none;
	vertical-align: top;
	letter-spacing: 0;

}

.carLink ul li a {
	line-height: 1.2;
	display: block;
	padding: .66em;
	text-align: left;
	vertical-align: middle;
	border-radius: .3em;
	background: #d4f3fe;
	-webkit-box-shadow: 4px 4px 0 #7fd6f6;
	box-shadow: 4px 4px 0 #7fd6f6;

}

.carLink ul li a:before {
	font-size: 1.125em;
	position: relative;
	top: .15em;
	display: inline-block;
	width: 1em;
	height: 1em;
	margin-right: .25em;
	content: '';
	-webkit-transform: rotate(90deg);
	transform: rotate(90deg);
	border-radius: 10em;
	background-image: url(/img/svg/ico-arrow-right-outline.svg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;

}

@media screen and (min-width: 768px) {
	.carLink ul li {
		width: 16%;

	}

	.carLink ul li a {
		text-align: center;

	}

	.carLink ul li a:hover {
		opacity: 0.8;
	}
}

/* エポスの運転免許クレジット */
.epos_credit {
	width: 500px;
	margin: 0 auto;
}

.epos_credit_info::before {
	position: relative;
	top: .2em;
	left: -.5em;
	display: inline-block;
	width: 1px;
	height: 1.125em;
	content: '';
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	background: #000;
}

.epos_credit_info::after {
	position: relative;
	top: .2em;
	left: .5em;
	display: inline-block;
	width: 1px;
	height: 1.125em;
	content: '';
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	background: #000;
}

@media screen and (max-width:768px) {
	.epos_credit {
		width: 100%;
	}
}

/*バナー自動切換え*/
.cp_bnr {
	position: relative;
	width: 100%;
	max-width: 100%;
	height: 100%;
}

.cp_bnr img {
	width: 100%;
	animation-name: cp_bnr;
	-webkit-animation-name: cp_bnr;
	animation-duration: 10s;
	-webkit-animation-duration: 10s;
	animation-iteration-count: infinite;
	-webkit-animation-iteration-count: infinite;
	opacity: 0;
}

.cp_bnr .img1 {
	animation: change-img-anim-first 10s infinite;
	animation-delay:0s;
	-webkit-animation-delay:0s;
	display: block;
	margin: 0 auto;
}

.cp_bnr .img2 {
	animation-delay:10s;
	-webkit-animation-delay:10s;
	position: absolute;
	top: 0;
	left: 0;
}

@keyframes cp_bnr {
	0% {opacity: 1;}
	25%{opacity: 1;}
	35%{opacity: 0;}
	90% {opacity: 0;}
	100% {opacity: 1;}
}
@-webkit-keyframes cp_bnr {
	0% {opacity: 0;}
	60% {opacity: 0;}
	70% {opacity: 1;}
	90% {opacity: 1;}
	100% {opacity: 0;}
}

.btn_car {
	display: flex;
	margin: 0 auto;
	width: 560px;
}

@media only screen and (max-width:480px) {
	.btn_car {
		display: block;
		width: 100%;
	}
}

.order-accordion_carmt {
	display: block;
	text-align: center;
	margin: 20px;
}

.order-accordion_carmt button, [class*=btn-link] a {
	line-height: 1;
	position: relative;
	display: inline-block;
	color: #fff;
	border: 0;
}

.order-accordion_carmt button {
	font-size: 1.1em;
	min-width: 240px;
	height: 2.3em;
	white-space: nowrap;
	letter-spacing: .05em;
	background: #FA436E;
	padding: .3em 3.5em;
	border-radius: 10em;
}

.order-accordion_carmt button:before {
	position: absolute;
	top: calc(50% - .5em);
	left: 1.85em;
	width: 1em;
	height: 1em;
	-webkit-transition-duration: .4s;
	transition-duration: .4s;
	background-image: url(/img/svg/ico-chevron-bottom-w.svg);
	background-size: contain;
}

.order-accordion_carmt button:after, .order-accordion button:before, [class*=btn-link] a:after {
	display: inline-block;
	content: '';
	vertical-align: middle;
	background-repeat: no-repeat;
	background-position: center;
}

.order-accordion_carmt button .txt:before {
	content: '普通車MT';
}

.order-accordion_carat {
	display: block;
	text-align: center;
	margin: 20px;
}

.order-accordion_carat button, [class*=btn-link] a {
	line-height: 1;
	position: relative;
	display: inline-block;
	color: #fff;
	border: 0;
}

.order-accordion_carat button {
	font-size: 1.1em;
	min-width: 240px;
	height: 2.3em;
	white-space: nowrap;
	letter-spacing: .05em;
	background: #FA436E;
	padding: .3em 3.5em;
	border-radius: 10em;
}

.order-accordion_carat button:before {
	position: absolute;
	top: calc(50% - .5em);
	left: 1.85em;
	width: 1em;
	height: 1em;
	-webkit-transition-duration: .4s;
	transition-duration: .4s;
	background-image: url(/img/svg/ico-chevron-bottom-w.svg);
	background-size: contain;
}

.order-accordion_carat button:after, .order-accordion button:before, [class*=btn-link] a:after {
	display: inline-block;
	content: '';
	vertical-align: middle;
	background-repeat: no-repeat;
	background-position: center;
}

.order-accordion_carat button .txt:before {
	content: '普通車AT';
}

.order-accordion_carat button:hover {
	cursor: pointer;
	opacity: 0.7;
}

.order-accordion_carmt button:hover {
	cursor: pointer;
	opacity: 0.7;
}

/* TOPスライド */
.bg-slider {
	position: relative;
	width: 100%;
	height: 100vh;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}

@media screen and (max-width:768px) {
	.bg-slider {
		height: 300px;
		margin-top:90px;
	}
}


/**-----------------------------------------
    ローン
------------------------------------------*/
.loanBox{
    margin: 0 5px;
	width: 32%;
	/*width: 290px;*/
	float: left;
	border:1px solid #f3d0d5;
	border-radius: 5px;
}
@media screen and (max-width:768px) {
	.loanBox{
		width: 95%;
	}
}
	.loanBox dt{
		background: #f66076;
		padding: 10px 0;
		margin:10px 10px;
		text-align: center;
		font-weight: bold;
		color: #fff;
		font-size: 0.8em;
		/*line-height: 1.6em;*/
	}
dd .loan{
	width:90%;
	margin:10px auto;
	font-size: 0.88em;
	line-height: 1.6em;
}
	dd .loan .loanTxt{
		background:#eee;
		padding:10px;
		margin:10px 0 0 0;
		font-size: 0.85rem;
		line-height: 1.18rem;
	}
		dd .loan .loanTxt ul{
			border-bottom:1px solid #ccc;
			padding:0 0 5px;
			margin:0 0 5px;
		}
		dd .loan .loanTxt li{
			background:url(/img/svg/ico-triangle.svg) no-repeat 0 50%;
			font-weight:bold;
			padding:0 0 0 18px;
			list-style: none;
		}

.cf:before,
.cf:after{
	content: " ";
	display: table;
}
.cf:after{clear: both;}
.cf{*zoom:1;}

/**-----------------------------------------
    出光特典
------------------------------------------*/
.noteList {
	margin: 15px;
}

.noteList li {
  padding-left: 1em;
}

.noteList li::marker{
  content: '※';
}

.noteList li .pointList {
	margin: 0;
}

.pointList li {
  padding-left: 1em;
}

.pointList li::marker{
  content: '・';
}

/*
.cstmTbl{
	width:100%;
	margin:20px 0 30px;
	border-top:1px solid #ddd;
}
	.cstmTbl th{
		background:#eee;
		text-align:center;
		color:#555;
		border-bottom:1px solid #ddd;
		vertical-align:middle;
		padding:10px;
	}
		.cstmTbl th.BgB{
			background: #d5efff;
		}
		.cstmTbl th.BgG{
			background:#dbf4c7;
		}
	.cstmTbl td{
		border-bottom:1px solid #ddd;
		vertical-align:middle;
		padding:10px;
	}

.cstmTbl2{
	width:100%;
	margin:10px auto;
	border-bottom:1px solid #ddd;
}
	.cstmTbl2 th{
		border-top:1px solid #ddd;
		border-left:1px solid #ddd;
		border-right:1px solid #ddd;
		text-align: center;
		padding:5px;
		font-size:1rem;
		background:#eee;
		vertical-align:middle;
	}
	.cstmTbl2 td{
		border-top:1px solid #ddd;
		border-left:1px solid #ddd;
		border-right:1px solid #ddd;
		padding:5px;
		text-align:center;
		font-size:0.9rem;
	}
		.cstmTbl2 td.BgY{
			background:#fffce0;
		}

.cstmList{
	margin:0 10px 10px;
}
	.cstmList li{
		background:url(/img/svg/ico-triangle.svg) no-repeat 0 50%;
		padding:0 0 0 15px;
		margin:0 0 5px;
	}
		.cstmList li:last-child{
			margin:0;
		}

.cstmDl{
	margin:20px;
}
	.cstmDl dt{
		border-left:6px solid #FF0004;
		font-weight:bold;
		font-size:16px;
		padding:0 15px;
	}
	.cstmDl dd{
		line-height:1.5;
		width:95%;
		padding:10px 10px 20px 10px;
		margin:0 auto;
	}
	.cstmDl ol{
		padding:0 0 0 20px;
	}
		.cstmDl ol li{
			margin:0 0 10px;
			list-style-type:decimal;
		}
			.cstmDl ol li:last-child{
				margin:0;
			}
*/

/* ギャラリー */
.gallery-list {
    max-width: 1000px;
    width: 100%;
    margin-inline: auto;
    /* 以下gridレイアウト用 */
    display: grid;
    gap: 8px;/* 画像間の余白 */
    grid-auto-flow: dense; /* 隙間を埋めながら配置 */
    grid-template-columns: repeat(7, 1fr); /* カラム数を設定 */
}

.gallery-list img:nth-child(7n+1) {
  grid-column: span 3;
  grid-row: span 2;
}
.gallery-list img:nth-child(7n+2),
.gallery-list img:nth-child(7n+3) {
  grid-column: span 4;
  grid-row: span 1;
}
.gallery-list img:nth-child(7n+4) {
  grid-column: span 4;
  grid-row: span 2;
}
.gallery-list img:nth-child(7n+5) {
  grid-column: span 4;
  grid-row: span 2;
}
.gallery-list img:nth-child(7n+6) {
  grid-column: span 3;
  grid-row: span 1;
}
.gallery-list img:nth-child(7n+7) {
  grid-column: span 3;
  grid-row: span 3;
}

/* アスペクト比設定 */
.gallery-list img {
    display: block;
    aspect-ratio: 300/200;
    width: 100%;
    height: 100%;
    object-fit: cover;	
}
.gallery-list img:first-child {
  aspect-ratio: 200/400;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.gallery-list img:nth-child(7) {
  aspect-ratio: 200/300;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
