@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;
}

.H40 {
	font-weight: 500;
	padding: 1.2em;
	letter-spacing: .05em;
	border-radius: .25em;
	color: #fff;
	background: #11A0E5;
	margin-bottom: 20px;
}

.p-b-2{
	padding-bottom:2em!important;

}
.p-t-2{
	padding-top:2em!important;

}

#main h2 {
	font-size: 2em;
	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;
}
#main h3.okayamacp {
    font-size: 2rem;
    margin: 0 0 45px 0;
    text-align: center;
    font-weight: bold;
}

#main h3.okayamacp span {
    background: -webkit-gradient(linear, left top, left bottom, color-stop(40%, transparent), color-stop(40%, #cfe0ee));
    background: linear-gradient(transparent 40%, #cfe0ee 40%);
}

@media only screen and (max-width:480px) {
	#main h3.okayamacp {
	    font-size: 2rem;
	    margin: 8px 0;
	    text-align: center;
	    font-weight: bold;
	    padding-bottom: 20px;
	}
}
#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_line_attend,
.btn_line_lodge,
.btn_auto {
	display: block;
	text-align: center;
	margin: 20px;
}

.btn-accordion button,
.order-accordion button,
.order-accordion-lodge button,
.btn_manten button,
.btn_line_attend button,
.btn_line_lodge button,
.btn_auto 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_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;
}

.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;
}

.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;
}

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

	.btn-accordion,
	.order-accordion,
	.order-accordion-lodge,
	.btn_manten,
	.btn_line_attend,
	.btn_line_lodge,
	.btn_auto {
		margin: 20px 0;
	}

	.btn-accordion button,
	.order-accordion button,
	.order-accordion-lodge button,
	.btn_manten button,
	.btn_line_attend button,
	.btn_line_lodge button,
	.btn_auto 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.8);
}

.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;
	}
}

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;
}

/* ▼交通安全教室 -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;
}

.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;*/
	background: #3ab4c1;
	color: #fff;
	padding: 10px;
}

.modalSchedule>.modalCalendar>table.calendar td.sat {
	/*background:#D8EBFE;
					color:#109CD1;*/
	background: #228fbc;
	color: #fff;
}

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

.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;
	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;*/
		background: #3ab4c1;
		color: #fff;
		padding: 10px;
		height: 20px;
	}

	table.calendar td.sat {
		/*color:#09C;
				 background:#CAE6F7;*/
		background: #228fbc;
		color: #fff;
		height: 20px;
	}

	table.calendar td.sun {
		/*color:#F69;
				 background:#FCC;*/
		background: #e15e5e;
		color: #fff;
		height: 20px;
	}

	.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;
	}

}

.kansou {
	clear: both;
	width: 100%;
}

/**-----------------------------------------
キャンペーンバナー
------------------------------------------*/
.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 {
	text-align: center;
	font-size: 1rem;
	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 .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;
}

.cpPlanCarNenmatsu .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;
}

.cpPlanCarShinsyun .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 .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 .fee:before {
	content: '大型一種';
	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;
}

.cpPlan .junchumtshoji {
	display: none;
}

@media (max-width:879px) {
	.cpPlan .junchumtshoji {
		display: block;
		background: #fff069;
		margin-right: 0.5rem;
		padding: 0.5rem;
		font-weight: bold;
		font-size: 0.7rem;
		color: #000;
		vertical-align: middle;
		width: 110px;
	}
}

@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: 10px;
		width: 100%;
		text-align: center;
		padding-right: 0;
	}

	.cpPlan .cpPrice .lic {
		font-size: 1.3rem;
		font-weight: bold;
		color: #000;
		line-height: 100%;
	}

	.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;
	}
}

@media only screen and (min-width: 800px) {
	.fac_txt, .fac_bg {
		width: 50%;
		float: left;
		display: table;
		height: 333px;
		/*background: #f6f6f6;*/
	}

	.fac_txt {
		text-align: center;
	}

	#sec02_02 {
		height: 500px;
	}

	#sec02_02 .fac_txt, #sec02_02 .fac_bg {
		float: right;
		margin-top: -15px
	}

	.vMid {
		display: table-cell;
		padding: 0 50px;
		vertical-align: middle;
	}
}

/**-----------------------------------------
普通車免許キャンペーン
------------------------------------------*/
@media (min-width:880px) {
	.cpPlanCar {
		background: url(/img/campaign/cp_car.png) no-repeat;
		height: 130px;
		background-size: contain;
	}
}

/**-----------------------------------------
二輪免許キャンペーン
------------------------------------------*/
@media (min-width:880px) {
	.cpPlanBike {
		background: url(/img/campaign/cp_bike.png) no-repeat;
		height: 130px;
		background-size: contain;
	}
}

/**-----------------------------------------
プロ免許キャンペーン
------------------------------------------*/
@media (min-width:880px) {
	.cpPlanPro {
		background: url(/img/campaign/cp_pro.png) no-repeat;
		height: 130px;
		background-size: contain;
	}
}

/**-----------------------------------------
普通車免許キャンペーン（年末）
------------------------------------------*/
@media (min-width:880px) {
	.cpPlanCarNenmatsu {
		background: url(/img/campaign/cp_car_nenmatsu.png) no-repeat;
		height: 130px;
		background-size: contain;
	}
}

/**-----------------------------------------
二輪免許キャンペーン（年末年始&新春）
------------------------------------------*/
@media (min-width:880px) {
	.cpPlanBikeNenmatsu {
		background: url(/img/campaign/cp_bike_nenmatsu.png) no-repeat;
		height: 130px;
		background-size: contain;
	}
}

/**-----------------------------------------
プロ免許キャンペーン（年末年始&新春）
------------------------------------------*/
@media (min-width:880px) {
	.cpPlanProNenmatsu {
		background: url(/img/campaign/cp_pro_nenmatsu.png) no-repeat;
		height: 130px;
		background-size: contain;
	}
}

/**-----------------------------------------
普通車免許キャンペーン（新春）
------------------------------------------*/
@media (min-width:880px) {
	.cpPlanCarShinsyun {
		background: url(/img/campaign/cp_car_shinsyun.png) no-repeat;
		height: 130px;
		background-size: contain;
	}
}



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;
	}
}

.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;
}

.maker {
	font-weight: bold;
	background: linear-gradient(transparent 60%, #ffc 0);
}

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

.shokai>div {
	overflow: auto;
	min-width: 0;
	padding: 0;
}

.red {
	color: #FF3232;
}

.s {
	font-size: 80%;
}

.qr {
	float: left;
	width: 400px;
	max-width: 400px;
}

.qr_img {
	width: 185px;
	max-width: 185px;
	margin: 0 30px 0 100px;
	font-size: 78%;
}

.qr_img2 {
	width: 200px;
	max-width: 200px;
	font-size: 90%;
}

.bus_icon {
	width: 64px;
	max-width: 64px;
	font-size: 90%;
}

/* インスタグラム */
.instagram-container {
	display: inline;
	flex-wrap: wrap;
	margin: 0 -1px;
	text-align: center;
}

.instagram-item {
	width: 100%;
	padding: 10px;
}

@media screen and (min-width: 768px) {
	.instagram-item {
		width: 23.8%;
		display: inline-block;
	}
}

a.instagram-card {
	display: block;
	position: relative;
	margin-bottom: 16px;
}

.instagram-card__img {
	max-width: 100%;
	height: auto;
	display: block;
}

/* いいね数、コメント数 */
.instagram-card__badge {
	position: absolute;
	top: 8px;
	left: 8px;
	display: flex;
	align-items: center;
	line-height: 1;
	font-size: 14px;
	color: #ffffff;
}

/* いいねアイコン、コメントアイコン */
.instagram-icon {
	display: block;
	width: 20px;
	height: 20px;
}

/* コメント */
.instagram-card__comment {
	padding-left: 8px;
	padding-right: 8px;
	font-size: 1.2rem;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.attention {
	position: relative;
	padding: 1rem 2rem;
	text-align: center;
	border: 3px solid #FF6565;
}

.attention:before {
	position: absolute;
	top: -24px;
	left: -3px;
	height: 26px;
	padding: 0 1em;
	content: 'お知らせ';
	color: #fff;
	background: #FF6565;
}

.attention2 {
	position: relative;
	padding: 1rem 2rem;
	text-align: left;
	border: 3px solid #FF6565;
}

.attention2:before {
	position: absolute;
	top: -24px;
	left: -3px;
	height: 26px;
	padding: 0 1em;
	content: 'お知らせ';
	color: #fff;
	background: #FF6565;
}

.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%;
	}
}

/*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 #33B3ED, 0 0 0 5px #fff, 0 0 0 8px #33B3ED;
	box-shadow: 0 0 0 1px #33B3ED, 0 0 0 5px #fff, 0 0 0 8px #33B3ED
}

.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:#33B3ED}*/

@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: #33B3ED
}

.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%
	}
}

/*TOPのGallery*/
#photo {
	padding: 0 !important;
}

#gallery li {
	float: left;
	width: calc(100%/4);
	line-height: 0;
	margin: 0;
}

#gallery img {
	width: 100%;
	height: auto;
}

/*ワンデーサポートページ*/
.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: 190px;
    /*margin-left: 170px;*/
}
ul.line_img {
	display: block;
}

li.line_img {
	list-style: none;
}

li.line_img:nth-child(2) {
	margin: 0 0 0 10px;
}
.line_btn {
	width: 190px;
	/*margin-left: 170px;*/
}
@media screen and (min-width: 750px) {
	/* 960px以上に適用されるCSS（PC用） */
	.qr_line {
		width: 190px;
	    /*margin-left: 260px;*/
	}
	ul.line_img {
		display: flex;
		justify-content: center;
	}
	li.line_img {
		list-style: none;
	}

	li.line_img:nth-child(2) {
		margin: 0 0 0 100px;
	}
	
	.line_btn {
		width: 190px;
		margin-left: 260px;
	}
}
.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;
}

/* 短期集中プラン */

.short table {
  border-collapse: collapse;
  margin: 0 auto;
  padding: 0;
  width: 100%;
  table-layout: fixed;
}

.short table tr {
  background-color: #f4f3f2;
  border: 2px solid #eee;
  transition: all 0.2s;
}

.short table th {
  padding: 10px;
  border-right: 2px solid #fff;
  background-color: #e9727e;
  font-size: 1.8rem;
  color: #fff;
}

.short table td {
  padding: 20px;
  border-right: 2px solid #eee;
  text-align: center;
  font-size: 2.3rem;
}

/*フォトギャラリーボタン*/
.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;
}

/* 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;
	}
}

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

エポス特典　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;
  }
*/
}

/* 入校条件内部リンクボタン */
.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;
	}
}

/*ご注意ください！*/
.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%;
  /* 要素を丸くする */
}

/* エポスの運転免許クレジット */
.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%;
	}
}

/*初めての方へページの左右交互レイアウト*/
.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(even) {
	flex-direction: row-reverse;
}

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

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

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

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

	.imagebox_text {
		text-align: left;
	}

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

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

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

	}

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

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


/**-----------------------------------------
    ローン
------------------------------------------*/
.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;
}

.instagram-post iframe {
	margin-left: auto!important;
	margin-right: auto!important;
}

/* 0223FV変更 */
@media (max-width: 768px) {
  #fv {
    margin: 0 0 13% 0;
  }

  .main-swiper .swiper-pagination-bullet {
    background: #fff;
    opacity: 0.5;
    margin: 0 4% !important;
	border: 1px solid #01aded;
    width: 8px;
    height: 8px;
  }

  .main-swiper .swiper-pagination-bullet-active {
    opacity: 1;
  }

  .main-swiper .swiper-pagination {
    bottom: 2% !important;
  }
  .campaign {
    background: #01aded;
    padding: 3% 2% 3%;
    text-align: center;
    color: white;
  }

  .campaign-school {
    font-size: 4.2vw;
    color: #333333;
    letter-spacing: 0.1em;
    background: white;
    display: inline-block;
    padding: 0 6% 0;
    border-radius: 4px;
  }

  .campaign-title {
    font-size: 7.8vw;
    font-weight: bold;
    line-height: 1.3;
    margin: 2% 0 0;
    text-shadow: 0px 3px 0px rgba(51, 51, 51, 0.2);
    display: inline-flex;
    align-items: center;
    gap: 10px;
  }
  .campaign-title::before,
  .campaign-title::after {
    content: "";
    display: block;
    width: 1px;
    height: 3em;
    background: #fff;
    transform: rotate(-15deg);
  }

  .campaign-title::after {
    transform: rotate(15deg);
  }
  .campaign-date {
    font-size: 5.5vw;
    margin-bottom: 1%;
  }
  .campaign-date span {
    font-size: 6.5vw;
  }
  .cv {
    display: flex;
    justify-content: center;
    gap: 3%;
    padding: 3% 4%;
  }
  .cv-fixed {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 100;
    display: none;
    background: white;
  }

  .cv-fixed.show {
    display: block;
  }
}

@media (min-width: 769px) {
  #fv {
    margin: 140px 0 60px;
  }
  .fv-main {
    position: relative;
    height: 29vw;
    background: #01aded;
  }
  .fv-main .fv-title {
    position: absolute;
    top: 1.5vw;
    left: 52%;
    transform: translateX(-100%);
    margin-left: -15%;
    width: 26%;
    z-index: 10;
  }

  .main-swiper {
    position: absolute;
    right: 11%;
    width: 56%;
  }
  .main-swiper .swiper-pagination-bullet {
    background: #fff;
    opacity: 0.5;
    margin: 0 15px !important;
	border: 1px solid #01aded;
	width: 12px;
	height: 12px;
  }

  .main-swiper .swiper-pagination-bullet-active {
    opacity: 1;
  }

  .main-swiper .swiper-pagination {
    bottom: 2% !important;
  }
  .campaign {
    background: #01aded;
    text-align: center;
    color: white;
    padding-bottom: 30px;
  }

  .campaign-school {
    font-size: 20px;
    color: #333333;
    letter-spacing: 0.1em;
    background: white;
    border-radius: 4px;
    width: 210px;
    margin: auto;
  }

  .campaign-title {
    font-size: 37px;
    font-weight: bold;
    margin: 5px 0 0;
    text-shadow: 0px 3px 0px rgba(51, 51, 51, 0.2);
    display: inline-flex;
    align-items: center;
    gap: 20px;
  }
  .campaign-title::before,
  .campaign-title::after {
    content: "";
    display: block;
    width: 1px;
    height: 70px;
    background: #fff;
    transform: rotate(-15deg);
  }

  .campaign-title::after {
    transform: rotate(15deg);
  }
  .campaign-date {
    font-size: 24px;
    margin: -10px 0 10px 0;
  }
  .campaign-date span {
    font-size: 34px;
  }
  .campaign img {
    width: 770px;
    height: auto;
  }
  .cv {
    display: flex;
    justify-content: center;
    gap: 50px;
    padding: 15px 0;
    width: 440px;
    margin: auto;
  }
  .cv-fixed {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 100;
    display: none;
    background: white;
  }
	
  .cv-fixed.show {
    display: none;
  }
}

@media (min-width: 769px) {
  #navigation {
    /* 非表示状態のスタイル */
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s, visibility 0.3s;
    position: fixed;
    width: 100%;
    top: 72px;
    left: 0;
    z-index: 100;
    background: rgba(255, 255, 255, 0.9);
  }

  body.menu-fixed #navigation {
    /* 表示状態のスタイル */
    opacity: 1;
    visibility: visible;
  }

  #fv {
    margin: 0 0 60px;
	padding: 72px 0 0;
  }
}

/* PDGボタン */
.button_pdf {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    width: 70%;
    margin: 0 auto;
    padding: .9em 2em .8em 45px;
    border: none;
    border-radius: 25px;
    box-shadow: 0 2px 3px rgb(0 0 0 / 30%), 0 2px 3px -2px rgb(0 0 0 / 20%);
    background-color: #FF570D;
    color: #fff;
    font-weight: 600;
    font-size: 1em;
    transition: transform .3s ease-in-out, box-shadow .3s ease-in-out;
}
@media screen and (max-width: 480px) {
	.button_pdf {
	    width: 90%;
	}
}

.button_pdf:hover {
	opacity: 0.8;
    /*transform: translateY(-1px);
    box-shadow: 0 15px 30px -5px rgb(0 0 0 / 20%), 0 0 5px rgb(0 0 0 / 10%);*/
}

.button_pdf::before {
    position: absolute;
    top: 0;
    left: 15px;
    width: 30px;
    height: 85%;
    background-color: #fff;
    clip-path: polygon(0 0, 0 100%, 50% 75%, 100% 100%, 100% 0);
    content: '';
}

.button_pdf::after {
    position: absolute;
    top: 33%;
    left: 30px;
    transform: translate(-50%, -50%);
    color: #FF570D;
    font-size: 1.2em;
    content: '★';
}

.youtube {
	position: relative;
	width: 100%;
	height: 0;
	padding-top: 75%;
}

.youtube iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/* 250311追加 */
@media screen and (max-width: 768px) {
  .inner {
    width: 92%;
    margin: 0 auto;
  }
  #study {
    font-family: "Noto Sans JP", sans-serif;
    padding-top: 50px;
  }
  #study .study-list li {
    list-style: none;
    margin-bottom: 65px;
  }
  #study .study-list li .study-box {
    width: 84%;
    padding: 10px 20px;
    border: 1px solid #01aded;
    position: relative;
    line-height: 1.5;
    margin: 0 auto 12px;
    text-align: center;
  }
  #study .study-list li .study-box .type {
    background: #01aded;
    color: #fff;
    font-size: 16px;
    padding: 0 20px 1px;
    border-radius: 4px 4px 0 0;
    font-weight: 500;
    position: absolute;
    top: -26px;
    left: -1px;
  }
  #study .study-list li .study-box .title {
    font-size: 20px;
    font-weight: 400;
  }
  #study .study-list li .study-box::after {
    content: "";
    position: absolute;
    right: 60px;
    bottom: -18px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 18px 10px 0 10px;
    border-color: #ffffff transparent transparent transparent;
    z-index: 2;
  }
  #study .study-list li .study-box::before {
    content: "";
    position: absolute;
    right: 59px;
    bottom: -18px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 18px 10px 0 10px;
    border-color: #01aded transparent transparent transparent;
    z-index: 1;
  }
  #flow {
    font-family: "Noto Sans JP", sans-serif;
    background: #fffce1;
    padding: 40px 0 10px;
  }
  #flow .title {
    font-size: 30px;
    font-weight: bold;
    margin-bottom: 10px;
    text-align: center;
  }
  #flow .image {
    margin-top: 20px;
  }
  #flow .image img {
    width: 100%;
    margin-bottom: 10px;
  }
  #reason {
    font-family: "Noto Sans JP", sans-serif;
    padding: 50px 0 20px;
  }
  #reason .title {
    font-size: 30px;
    font-weight: bold;
    margin-bottom: 20px;
    text-align: center;
  }
  #reason .title .large {
    font-size: 38px;
  }
  #reason .reason-list li {
    list-style: none;
    margin-bottom: 40px;
  }
  #reason .reason-list li .reason-box {
    width: 100%;
    padding: 10px 0 7px;
    background: #01aded;
    color: #fff;
    border-radius: 4px;
    text-align: center;
  }
  #reason .reason-list li .reason-box .reason-title {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 10px;
  }
  #reason .reason-list li .reason-box .reason-title .number {
    font-family: "Helvetica Neue", sans-serif;
    font-size: 24px;
    color: #000;
    width: 32px;
    height: 32px;
    background: #fffd03;
    border-radius: 50%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  #reason .reason-list li .reason-box .reason-title .type {
    font-size: 16px;
  }
  #reason .reason-list li .reason-box .reason-text {
    font-size: 22px;
    font-weight: bold;
  }
  #reason .reason-list li .reason-box .reason-text .large {
    font-size: 32px;
    margin: 0 5px;
    line-height: 1;
  }
  #reason .reason-list li p {
    font-size: 4.2vw;
    line-height: 2;
    padding: 12px 0 0 10%;
  }
  #reason .reason-list li p .blue {
    color: #01aded;
    font-weight: bold;
    position: relative;
  }
  #reason .reason-list li p .blue::before {
    content: url(/img/top/check.png);
    font-weight: 900;
    position: absolute;
    left: -1.5em;
    color: #01aded;
  }
  #reason .reason-list li .image.second {
    margin-top: -51vw;
  }
  #reason .reason-list li .image.third {
    width: 80%;
    margin: auto;
  }
  #reason .reason-list li .btn {
    font-size: 18px;
    font-weight: 500;
	color: #01aded;
    padding: 7px 0;
    border: 1px solid #01aded;
    border-radius: 30px;
    position: relative;
    width: 230px;
    margin: 20px auto 0;
	-webkit-box-shadow: 0 4px 0 0 rgba(51, 51, 51, 0.2);
	box-shadow: 0 4px 0 0 rgba(51, 51, 51, 0.2);
  }
  #reason .reason-list li .btn::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 16px;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 24px;
    height: 24px;
    background: #01aded;
    border-radius: 50%;
  }
  #reason .reason-list li .btn::before {
    content: "→";
    position: absolute;
    top: 50%;
    right: 22px;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    color: #fff;
    font-size: 12px;
    z-index: 1;
  }
  #reason .reason-list li:first-child .box .reason-title .icon {
    width: 40px;
  }
  #reason .reason-list li:nth-child(2) .box .reason-title .icon {
    width: 25px;
  }
  #reason .reason-list li:last-child .box .reason-title .icon {
    width: 24px;
  }
  #school {
    font-family: "Noto Sans JP", sans-serif;
    text-align: center;
    background: #d5f4ff;
    padding: 30px 0 15px;
  }
  #school .title {
    font-size: 30px;
    font-weight: bold;
    margin-bottom: 10px;
  }
  #school .bg {
    background: #fff;
    padding: 25px 6% 15px;
  }
  #school .bg .name {
    font-size: 17px;
    font-weight: bold;
  }
  #school .bg .parking {
    font-size: 16px;
    font-weight: 500;
    color: #01aded;
	margin: 10px 0 20px;
  }
  #school .bg .car-type {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 6%;
    margin: 15px 0;
  }
  #school .bg .car-type li {
    list-style: none;
    width: 29%;
    font-size: 15px;
    color: #000;
    background: #d5f4ff;
    padding: 3px 0;
    border-radius: 4px;
    font-weight: 400;
    text-align: center;
  }
  #school .bg .evaluation-title {
    font-size: 18px;
    font-weight: 500;
  }
  #school .bg .evaluation {
    display: block;
  }
  #school .bg .evaluation .star .material-symbols-sharp {
    color: #ebbf5a;
    font-size: 16px;
    margin-right: -6px;
    margin-top: 4px;
  }
  #school .bg .reviews-average {
	display: block;
  }
  #school .bg .reviews {
  	text-align: left;
  	padding-bottom: 10px;
  }
  #school .bg .reviews .reviews-img img {
  	width: 24%;
  }
  #school .bg .school-comment {
  	text-align: left;
  	background-color: #ffefcc;
    padding: 10px 20px;
    border-radius: 10px;
    margin-bottom: 20px;
  }
  #school .bg .evaluation .number {
    font-size: 24px;
    font-weight: 500;
  }
  #school .bg .evaluation .number .small {
    font-size: 16px;
    font-weight: 400;
    margin-left: 5px;
  }
  #school .bg .baloon {
    font-size: 13px;
    background: #eff4f6;
    padding: 10px;
    position: relative;
    width: 90%;
    margin: auto;
  }
  #school .bg .baloon::after {
    content: "";
    position: absolute;
    bottom: -16px;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 16px 10px 0 10px;
    border-color: #eff4f6 transparent transparent transparent;
  }
  #school .bg .btn {
    font-size: 14px;
    font-weight: bold;
    padding: 20px 0;
    color: #01aded;
    border-radius: 30px;
    border: 1px solid #01aded;
    width: 90%;
    margin: 20px auto 30px;
    -webkit-box-shadow: 0 4px 0 0 rgba(51, 51, 51, 0.2);
            box-shadow: 0 4px 0 0 rgba(51, 51, 51, 0.2);
  }
  #school .bg .address-title {
    font-size: 14px;
    font-weight: 700;
    background: #01aded;
    color: #fff;
    border-radius: 4px;
    padding: 2px 0;
  }
  #school .bg .address {
    font-size: 14px;
    margin: 5px 0 10px;
    text-align: left;
  }
  #school .bg iframe {
    width: 100%;
    height: 275px;
    margin-top: 10px;
  }
  #school .bg .tel-text {
    font-size: 16px;
    margin: 20px 0 5px;
  }
  #school .bg .tel {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 8px;
  }
  #school .bg .tel .tel-icon {
    width: 15px;
  }
  #school .bg .tel .tel-number {
    font-size: 30px;
    font-weight: bold;
  }
  #school .bg .tel-time {
    font-size: 16px;
  }
  #tv {
    font-family: "Noto Sans JP", sans-serif;
    padding: 60px 0;
  }
  #tv .title {
    width: 254px;
    margin: auto;
  }
  #tv .video-text {
    font-size: 22px;
    margin: 10px 0 5px;
    font-weight: bold;
    color: #01aded;
    text-align: center;
  }
  #tv video {
    width: 100%;
  }
  #license {
    font-family: "Noto Sans JP", sans-serif;
    text-align: center;
    padding-bottom: 40px;
  }
  #license .title {
    font-size: 30px;
    font-weight: bold;
    margin-bottom: 20px;
  }
  #license .license-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  #license .license-list li {
    text-decoration: none;
    width: 48%;
    list-style: none;
  }
  #license .license-list li .license-title {
    font-size: 20px;
    margin-bottom: 5px;
  }
  #license .license-list li a .license-btn {
    font-size: 16px;
    background: #d5f4ff;
    padding: 10px 0;
    position: relative;
    border-bottom: 2px solid #01aded;
    margin-bottom: 10px;
  }
  #license .license-list li a .license-btn.camp {
    background: #fff;
    border-top: 1px solid #01aded;
    border-left: 1px solid #01aded;
    border-right: 1px solid #01aded;
    color: #01aded;
    font-weight: 500;
  }
  #license .license-list li a .license-btn::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 10px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px 0 6px 8px;
    border-color: transparent transparent transparent #01aded;
  }
}
@media screen and (min-width: 769px) {
  .inner {
    width: 770px;
    margin: 0 auto;
  }
  #study {
    font-family: "Noto Sans JP", sans-serif;
    padding: 80px 0 30px;
  }
  #study .inner {
    width: 728.5px;
  }
  #study .study-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 40px;
  }
  #study .study-list li {
    list-style: none;
    margin-bottom: 40px;
  }
  #study .study-list li .study-box {
    padding: 10px 20px;
    border: 1px solid #01aded;
    position: relative;
    line-height: 1.5;
    margin: 0 auto 12px;
    text-align: center;
  }
  #study .study-list li .study-box .type {
    background: #01aded;
    color: #fff;
    font-size: 16px;
    padding: 0 20px 1px;
    border-radius: 4px 4px 0 0;
    font-weight: 500;
    position: absolute;
    top: -26px;
    left: -1px;
  }
  #study .study-list li .study-box .title {
    font-size: 20px;
    font-weight: 400;
  }
  #study .study-list li .study-box::after {
    content: "";
    position: absolute;
    right: 60px;
    bottom: -18px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 18px 10px 0 10px;
    border-color: #ffffff transparent transparent transparent;
    z-index: 2;
  }
  #study .study-list li .study-box::before {
    content: "";
    position: absolute;
    right: 59px;
    bottom: -18px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 18px 10px 0 10px;
    border-color: #01aded transparent transparent transparent;
    z-index: 1;
  }
  #flow {
    font-family: "Noto Sans JP", sans-serif;
    background: #fffce1;
    padding: 40px 0;
  }
  #flow .inner {
    width: 740px;
  }
  #flow .title {
    font-size: 48px;
    font-weight: bold;
    margin-bottom: 20px;
    text-align: center;
  }
  #flow .flow-image {
    width: 640px;
    margin: auto;
  }
  #flow .image {
    margin-top: 40px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 20px;
  }
  #flow .image img {
    width: 360px;
  }
  #reason {
    font-family: "Noto Sans JP", sans-serif;
    padding: 80px 0 50px;
  }
  #reason .title {
    font-size: 48px;
    font-weight: bold;
    margin-bottom: 20px;
    text-align: center;
  }
  #reason .title .large {
    font-size: 56px;
  }
  #reason .reason-list li {
    list-style: none;
    margin-bottom: 50px;
  }
  #reason .reason-list li .reason-box {
    width: 100%;
    padding: 15px 20px;
    background: #01aded;
    color: #fff;
    border-radius: 4px;
    text-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  #reason .reason-list li .reason-box .reason-title {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 10px;
    margin-right: 30px;
  }
  #reason .reason-list li .reason-box .reason-title .number {
    font-family: "Helvetica Neue", sans-serif;
    font-size: 24px;
    color: #000;
    width: 32px;
    height: 32px;
    background: #fffd03;
    border-radius: 50%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  #reason .reason-list li .reason-box .reason-title .type {
    font-size: 18px;
  }
  #reason .reason-list li .reason-box .reason-text {
    font-size: 26px;
    font-weight: bold;
    margin: 5px 0;
  }
  #reason .reason-list li .reason-box .reason-text .large {
    font-size: 40px;
    margin: 0 4px;
    line-height: 1;
  }
  #reason .reason-list li .reason-content {
    padding: 20px 0 0 50px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  #reason .reason-list li .reason-content p {
    font-size: 20px;
    line-height: 1.7;
  }
  #reason .reason-list li .reason-content p .blue {
    color: #01aded;
    font-weight: bold;
    position: relative;
  }
  #reason .reason-list li .reason-content p .blue::before {
    content: url(/img/top/check.png);
    font-weight: 900;
    position: absolute;
    left: -1.5em;
    color: #01aded;
  }
  #reason .reason-list li .reason-content .image {
    width: 315px;
  }
  #reason .reason-list li .reason-content .image.second {
    width: 344px;
    margin-top: -80px;
  }
  #reason .reason-list li .reason-content .image.third {
    width: 254px;
  }
  #reason .reason-list li .btn {
    font-size: 18px;
    font-weight: 500;
	color: #01aded;
    padding: 10px 0;
    border: 1px solid #01aded;
    border-radius: 30px;
    position: relative;
    width: 260px;
    margin: 20px auto 0;
    text-align: left;
    padding-left: 60px;
	-webkit-box-shadow: 0 4px 0 0 rgba(51, 51, 51, 0.2);
	box-shadow: 0 4px 0 0 rgba(51, 51, 51, 0.2);
  }
  #reason .reason-list li .btn::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 45px;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 24px;
    height: 24px;
    background: #01aded;
    border-radius: 50%;
  }
  #reason .reason-list li .btn::before {
    content: "→";
    position: absolute;
    top: 50%;
    right: 50px;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    color: #fff;
    font-size: 12px;
    z-index: 1;
  }
  #reason .reason-list li:first-child .box .reason-title .icon {
    width: 40px;
  }
  #reason .reason-list li:nth-child(2) .box .reason-title .icon {
    width: 25px;
  }
  #reason .reason-list li:last-child .box .reason-title .icon {
    width: 24px;
  }
  #school {
    font-family: "Noto Sans JP", sans-serif;
    text-align: center;
    background: #d5f4ff;
    padding: 30px 0 50px;
  }
  #school .title {
    font-size: 48px;
    font-weight: bold;
    margin-bottom: 10px;
  }
  #school .bg {
    background: #fff;
    padding: 30px 65px;
  }
  #school .bg .name {
    font-size: 24px;
    font-weight: bold;
  }
  #school .bg .parking {
    font-size: 20px;
    font-weight: 500;
    color: #01aded;
    margin: 10px 0 20px;
  }
  #school .bg .car-type {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 10px;
    margin: 15px 0;
  }
  #school .bg .car-type li {
    width: 116px;
    list-style: none;
    font-size: 15px;
    color: #000;
    background: #d5f4ff;
    padding: 3px 0;
    border-radius: 4px;
    font-weight: 400;
    text-align: center;
  }
  #school .bg .evaluation-block {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: 530px;
    margin: 0 auto 40px;
  }
  #school .bg .evaluation-title {
    font-size: 24px;
    font-weight: 500;
  }
  #school .bg .evaluation {
    display: -webkit-box;
    display: -ms-flexbox;
    display: block;
    text-align: left;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 10px;
    margin: 5px 0 0;
  }
  #school .bg .reviews {
  	text-align: left;
  	padding-bottom: 10px;
  }
  #school .bg .reviews .reviews-img img {
  	width: 24%;
  }
  #school .bg .reviews-average {
	display: flex;
  }
  #school .bg .reviews-average .star {
	width: 120px;
  }
  #school .bg .evaluation .star .material-symbols-sharp {
    color: #ebbf5a;
    font-size: 16px;
    font-variation-settings: "FILL" 1;
    margin-right: -6px;
    margin-top: 4px;
  }
  #school .bg .reviews {
  	text-align: left;
  	padding-bottom: 10px;
  }
  #school .bg .school-comment {
  	text-align: left;
  	background-color: #ffefcc;
    padding: 10px 20px;
    border-radius: 10px;
    margin-bottom: 20px;
  }
  #school .bg .evaluation .number {
    font-size: 24px;
    font-weight: 500;
  }
  #school .bg .evaluation .number .small {
    font-size: 16px;
    font-weight: 400;
    margin-left: 5px;
  }
  #school .bg .evaluation-block .evaluation-right {
    width: 280px;
  }
  #school .bg .baloon {
    font-size: 13px;
    background: #eff4f6;
    padding: 10px;
    position: relative;
  }
  #school .bg .baloon::after {
    content: "";
    position: absolute;
    bottom: -16px;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 16px 10px 0 10px;
    border-color: #eff4f6 transparent transparent transparent;
  }
  #school .bg .btn {
    font-size: 14px;
    font-weight: bold;
    padding: 20px 0;
    color: #01aded;
    border-radius: 35px;
    border: 1px solid #01aded;
    margin: 20px 0;
    -webkit-box-shadow: 0 4px 0 0 rgba(51, 51, 51, 0.2);
            box-shadow: 0 4px 0 0 rgba(51, 51, 51, 0.2);
  }
  #school .bg .address-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  #school .bg .address-list .address-block {
    width: 300px;
  }
  #school .bg .address-list .address-block .address-title {
    font-size: 14px;
    font-weight: 700;
    background: #01aded;
    color: #fff;
    border-radius: 4px;
    padding: 2px 0;
  }
  #school .bg .address-list .address-block .address {
    font-size: 16px;
    margin: 5px 0 10px;
    text-align: left;
  }
  #school .bg iframe {
    width: 100%;
    height: 354px;
    margin: 5px 0 10px;
  }
  #school .bg .tel-block {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: 500px;
    margin: auto;
  }
  #school .bg .tel-block .tel-text {
    font-size: 18px;
    text-align: left;
  }
  #school .bg .tel-block .tel-info .tel {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 8px;
  }
  #school .bg .tel-block .tel-info .tel .tel-icon {
    width: 15px;
  }
  #school .bg .tel-block .tel-info .tel .tel-number {
    font-size: 30px;
    font-weight: bold;
    line-height: 1.2;
  }
  #school .bg .tel-block .tel-info .tel-time {
    font-size: 16px;
	letter-spacing: 2px;
	margin-left: 30px
  }
  #tv {
    font-family: "Noto Sans JP", sans-serif;
    padding: 120px 0;
  }
  #tv .inner {
    width: 930px;
  }
  #tv .title {
    width: 830px;
    margin: auto;
  }
  #tv .video-text {
    font-size: 40px;
    margin: 20px 0;
    font-weight: bold;
    color: #01aded;
    text-align: center;
  }
  #tv video {
    width: 100%;
  }
  #license {
    font-family: "Noto Sans JP", sans-serif;
    text-align: center;
    padding-bottom: 60px;
  }
  #license .inner {
    width: 900px;
  }
  #license .title {
    font-size: 48px;
    font-weight: bold;
    margin-bottom: 20px;
  }
  #license .license-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 30px;
  }
  #license .license-list li {
    text-decoration: none;
    width: 280px;
    list-style: none;
    margin-bottom: 0;
  }
  #license .license-list li .license-title {
    font-size: 28px;
    margin-bottom: 5px;
  }
  #license .license-list li a .license-btn {
    font-size: 20px;
    background: #d5f4ff;
    padding: 10px 0;
    position: relative;
    border-bottom: 2px solid #01aded;
    margin-bottom: 10px;

  }
  #license .license-list li a .license-btn.camp {
    background: #fff;
    border-top: 1px solid #01aded;
    border-left: 1px solid #01aded;
    border-right: 1px solid #01aded;
    color: #01aded;
    font-weight: 500;
  }
  #license .license-list li a .license-btn::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 10px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 9px 0 9px 10px;
    border-color: transparent transparent transparent #01aded;
  }
  #license .license-list li a:hover {
    color: #000;
  }
}

/* パンフレットボタン */
.button_pamphlet {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    width: 70%;
    margin: 0 auto;
    padding: .9em 2em .8em 45px;
    border: none;
    border-radius: 25px;
    box-shadow: 0 2px 3px rgb(0 0 0 / 30%), 0 2px 3px -2px rgb(0 0 0 / 20%);
    background-color: #1c96d4;
    color: #fff;
    font-weight: 600;
    font-size: 1em;
    transition: transform .3s ease-in-out, box-shadow .3s ease-in-out;
}
@media screen and (max-width: 480px) {
	.button_pamphlet {
	    width: 90%;
	}
}

.button_pamphlet:hover {
	opacity: 0.8;
    /*transform: translateY(-1px);
    box-shadow: 0 15px 30px -5px rgb(0 0 0 / 20%), 0 0 5px rgb(0 0 0 / 10%);*/
}

.button_pamphlet::before {
    position: absolute;
    top: 0;
    left: 15px;
    width: 30px;
    height: 85%;
    background-color: #fff;
    clip-path: polygon(0 0, 0 100%, 50% 75%, 100% 100%, 100% 0);
    content: '';
}

.button_pamphlet::after {
    position: absolute;
    top: 33%;
    left: 30px;
    transform: translate(-50%, -50%);
    color: #1c96d4;
    font-size: 1.2em;
    content: '★';
}

.min_sp {
	display: none;
}

@media screen and (max-width: 350px) {
	.min_sp {
		display: block;
	}
}

.star-large {
	font-size: 24px !important;
}

/* スライド(main) */
.slider-container {
  position: relative;
  overflow: hidden;
  width: 100%;
  max-width: 1000px;
  margin: 30px auto;
  background: white;
}

.slider {
  display: flex;
  transition: transform 0.5s ease;
  gap: 20px;
  padding: 20px;
}

.card {
  flex: 0 0 80%;
  box-sizing: border-box;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.1);
  text-align: center;
  overflow: hidden;
}

.card img {
  width: 100%;
  height: 700px;
  object-fit: cover;
}

.text {
  padding: 20px;
}

.text h3 {
  margin-top: 0;
}

.arrow {
  position: absolute;
  top: 45%;
  transform: translateY(-50%);
  font-size: 30px;
  background: rgba(0,0,0,0.6);
  color: white;
  border: none;
  padding: 10px;
  cursor: pointer;
  z-index: 10;
  border-radius: 50%;
}

.arrow.left {
  left: 10px;
}

.arrow.right {
  right: 10px;
}

.dots {
  text-align: center;
  margin: 10px 0;
}

.dot {
  display: inline-block;
  height: 12px;
  width: 12px;
  margin: 0 4px;
  background-color: #bbb;
  border-radius: 50%;
  cursor: pointer;
}

.dot.active {
  background-color: #f90;
}

@media screen and (max-width: 768px) {
  .card {
    flex: 0 0 90%;
  }

  .card img {
    height: 60%;
  }
}

@media screen and (max-width: 480px) {
  .card {
    flex: 0 0 95%;
  }
}

.more-info-section {
  background-color: #f5f5f5;
  padding: 60px 0;
  width: 100%;
}

.more-info-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 16px; /* モバイルでもはみ出さない余白 */
  text-align: center;
}

.more-info-container h2 {
  font-size: 1.6rem;
  font-weight: bold;
  margin-bottom: 40px;

}

.more-info-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 20px;
}

.info-card {
  background-color: #fff;
  border-radius: 16px;
  padding: 24px 16px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.05);
  display: flex;
  flex-direction: column;
  align-items: center;
  transition: transform 0.2s ease;
}

.info-card:hover {
  transform: translateY(-4px);
}

.info-card img {
  width: 64px;
  height: 64px;
  margin-bottom: 16px;
}

.info-card p {
  font-size: 1rem;
  font-weight: bold;
  color: #333;
  margin-bottom: 12px;

}

.arrow {
  font-size: 1.2rem;
  color: #333;

}

@media (max-width: 480px) {
  .more-info-grid {
    grid-template-columns: 1fr; /* モバイルは1列で強制 */
  }

  .more-info-container {
    padding: 0 12px; /* さらに内側の余白を縮めると安心 */
  }
}

/* 通学・合宿タブ切り替え */
.tab-container {
  max-width: 1024px;
  margin: 0 auto;
  background: #ffffff;
  overflow: hidden;
  box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}

.tab-container input[type="radio"] {
  display: none;
}

.tab-container .tab-labels {
  display: flex;
  background: #e6f5ff;
}

.tab-container .tab-labels label {
  flex: 1;
  text-align: center;
  padding: 12px;
  font-weight: bold;
  cursor: pointer;
  color: #007dc4;
  background: #e6f5ff;
  transition: all 0.3s ease;
}

/* ✅ 選択中のタブを青背景＋白文字に */
#tab1:checked ~ .tab-labels label[for="tab1"],
#tab2:checked ~ .tab-labels label[for="tab2"] {
  background: #00a1e9;
  color: white;
  border-bottom: none;
}

.tab-container .tab-content {
  display: none;
  padding: 10px;
  background: #ffffff;
}

#tab1:checked ~ #content1,
#tab2:checked ~ #content2 {
  display: block;
}

/* 教習料金アコーディオン */
.plans-accordion-container {
  max-width: 600px;
  margin: 0 auto;
}

.plans-accordion-item {
  margin-bottom: 10px;
}

.plans-accordion-toggle {
  display: none;
}

.plans-accordion-label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background-color: #00A3E0;
  color: #fff;
  padding: 15px 20px;
  font-size: 1.1rem;
  font-weight: bold;
  border-radius: 8px;
  cursor: pointer;
  transition: background-color 0.3s;
  position: relative;
}

.plans-accordion-label::after {
  content: "▶";
  font-size: 1rem;
  margin-left: 10px;
  transition: transform 0.3s;
}

.plans-accordion-toggle:checked + .plans-accordion-label::after {
  content: "▼";
}

.plans-accordion-label:hover {
  background-color: #00A3E0;
}

.plans-accordion-content {
  max-height: 0;
  overflow: hidden;
  background-color: #fffaf0;
  border: 1px solid #B3E5F6;
  border-radius: 5px;
  padding: 0 15px;
  transition: max-height 0.4s ease, padding 0.4s ease;
  box-sizing: border-box;
}

.plans-accordion-toggle:checked + .plans-accordion-label + .plans-accordion-content {
  max-height: 2000px;
  padding: 10px 15px;
}

.plans-accordion-content .fee-box {
  margin-bottom: 15px;
  padding: 10px;
  background-color: #fef7e0;
  border-radius: 5px;
  border-left: 5px solid #d4a017;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}

.plans-accordion-content .license-type {
  font-weight: 600;
  margin-bottom: 5px;
  color: #5b4a00;
  text-align: left;
}

.plans-accordion-content .fee-info .fee {
  font-size: 1.2rem;
  font-weight: bold;
  color: #d9534f;
  margin-right: 10px;
}

.plans-accordion-content .fee-info .tax {
  font-size: 0.9rem;
  color: #777;
  margin-left: 5px;
}

.plans-accordion-content .fee-info .detail-link {
  padding: 5px 10px;
  background-color: #6d5900;
  color: #fff;
  text-decoration: none;
  font-size: 0.85rem;
  border-radius: 5px;
  transition: background-color 0.3s;
  white-space: nowrap;
}

.plans-accordion-content .fee-info .detail-link:hover {
  background-color: #8c7200;
}

@media (max-width: 480px) {
  .plans-accordion-content .fee-box {
    flex-direction: column;
    align-items: flex-start;
  }

  .plans-accordion-content .fee-info .fee {
    margin-bottom: 5px;
  }

  .plans-accordion-content .fee-info .detail-link {
    margin-top: 5px;
  }
}

@media (max-width: 325px) {
	.plans-accordion-content .fee-box {
		padding: 5px;
	}
}
