@charset "UTF-8";

body {
	opacity: 0;
}
.alt-anc {
	position: absolute;
}


/**==============================================**/
/*
/*	共通
/*
/**==============================================**/
/*
div.content-inner {
	width: 100vw;
}
*/

div.headd-wrap {
	text-align: center;
}
.headd-wrap h2 {
	display: inline-block;
}
.headd-wrap div.headd-cap {
	display: block;
}
.headd-wrap p {
	font-size: 15px;
	line-height: 1.46;
	margin-bottom: 18px;
	display: inline;
	border-bottom: 2px dotted #c30d23;
}
.headd-wrap + img {
	display: block;
	max-width: 100%;
	margin-right: auto;
	margin-left: auto;
}


/* main-img */
div.main-img-wrap {
	position: relative;
}
div.main-img {
	width: 100%;
}
.main-img img {
	display: block;
	width: 100%;
	height: auto;
}

.main-img-cap {
	position: absolute;
	z-index: 8;
	background: #e50012;
	color: #fff;
	text-align: center;
}
.main-img-cap img {
	position: absolute;
	top: 50%;
	left: 50%;
}



/* sec-01 */
div.sec-01 {
	position: relative;
}
.sec-01 div.root-wrap {
	margin-right: auto;
	margin-left: auto;
}
.sec-01 div.root-wrap img {
	display: block;
	width: 100%;
	height: auto;
}



/* sec-02 */
div.sec-02 {
	background: #aab900;
}

/* sec-03 */
div.sec-03 {
	background: #45b5ff;
}



/* timetable */
div.timetable {}
.timetable table {
	border-collapse: collapse;
	border-spacing: 0;
	background: #fff;
	border-top: 1px solid #9e9e9f;
	border-right: 1px solid #9e9e9f;
	border-left: 1px solid #9e9e9f;
}
.timetable table tr * {
	text-align: center;
}
.timetable table tr {
	border-bottom: 1px solid #9e9e9f;
}
.timetable table tr > *:first-child {
	border-right: 1px solid #9e9e9f;
}
.timetable table tr:first-child th {
	border-left: 1px solid #9e9e9f;
	vertical-align: middle;
}
.timetable table thead {}
.timetable table thead p {
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	text-align: left;
	display: inline-block;
	min-height: 6em;
	font-weight: bold;
}
.timetable table td {
	border-left: 1px solid #9e9e9f;
}
.timetable > p {
	color: #fff;
}

div.table-wrap {
/*	overflow: auto;*/
}
.timetable table {
	width: auto;
}








/**==============================================**/
/**==============================================**/
/*	
/*	sp 縦
/*	〜640px
/*
/**==============================================**/
/**==============================================**/

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

	div.headd-wrap {
		margin-bottom: 8%;
	}
	.headd-wrap div.headd-cap {}
	.headd-wrap img {
		max-width: 100%
			
	}
	.headd-wrap p {
		font-size: 1.4rem;
		line-height: 2.66;
		padding-bottom: 2.8%;
	}


	/* main-img */
	.main-img-cap h2 {
		font-size: 3rem;
		width: 78px;
		height: 50vh;
		max-height: 356px;
		line-height: 78px;
		padding: 12% 0;
	}
	.main-img-cap img {
		-webkit-transform: translate(38%, -126%);
			-ms-transform: translate(38%, -126%);
			transform: translate(38%, -126%);
	}



	/* sec-01 */
	div.sec-01 {
		padding: 10% 0 6%;
	}
	.sec-01 div.headd-wrap {
		margin: 0 auto 10%;
	}
	.sec-01 div.headd-cap {
		margin-top: 5%;
		text-align: left !important;

	}
	.sec-01 .headd-cap p {
		font-size: 1.5rem;
		line-height: 2.88;
		padding-bottom: 8px;
	}
	.sec-01 .headd-cap p br {
		display: none !important;
	}

	.sec-01 div.root-wrap {
		width: 100%;
	}



	/* sec-02 */
	div.sec-02 {
		padding: 6% 0 3%;
	}
	.sec-02 table td {
		min-width: 80px;
	}
	
	
	/* sec-03 */
	div.sec-03 {
		padding: 6% 0 3%;
	}
	.sec-03 table td {
		min-width: 96px;
	}


	div.table-wrap {
		position: relative;
	}
/*
	.table-wrap:before,
	.table-wrap:after {
		content: "スクロールできます >>";
		display: inline-block;
		font-size: 1.6rem;
	}
	.table-wrap:before {
		margin-bottom: .5em;
	}
	.table-wrap:after {
		margin-top: .5em;
	}
*/
	div.timetable {
		max-width: 1046px;
	}
	.timetable table {
/*		min-width: 150%;*/
	}
	table thead tr th {
		padding: 10px 0 11px;
	}
	.timetable table th {
		font-size: 1.4rem;
		min-width: 44px;
	}
	.timetable table td {
		font-size: 1.6rem;
		padding: 14px 0;
	}
	.timetable div.table-wrap {
		margin-bottom: 15px;
	}
	.timetable > p {
		line-height: 1.4;
		font-size: 1.5rem;
		width: calc(100% - 2em);
		margin-right: auto;
		margin-left: auto;
		text-indent: -1em;
		padding-left: 1em;
	}



















}


/* vw */
@media screen and (min-width:481px) and (max-width:640px) {

	.sec-02-list li h3 {
		font-size: 1.9rem !important;
	}

}

/**==============================================**/
/**==============================================**/
/*
/*	SP 横
/*	〜 900px（高さ480pxまで）
/*
/**==============================================**/
/**==============================================**/

@media screen and (max-width:1069px) and (max-height: 480px) {}




/**==============================================**/
/**==============================================**/
/*
/*	tab
/*	601px 〜 960px
/*
/**==============================================**/
/**==============================================**/

@media screen and (min-width:641px) and (max-width:1069px) {
	/*@media screen and (min-width:641px) and (max-width:1069px) and (min-height: 481px) {*/

	div.headd-wrap {
		margin-bottom: 38px;
	}
	.headd-wrap div.headd-cap {}
	.headd-wrap p {
		font-size: 16px;
		line-height: 2.48;
		padding-bottom: 8px;
	}


	/* main-img */
	.main-img-cap h2 {
		font-size: 33px;
		padding: 0 40px;
		width: 1em;
		line-height: 1;
	}
	.main-img-cap img {
		-webkit-transform: translate(57%, -132%);
		-ms-transform: translate(57%, -132%);
		transform: translate(57%, -132%);
	}


	/* sec-01 */
	div.sec-01 {
		padding: 88px 0;
	}
	.sec-01 div.headd-wrap {
		margin: 40px auto 60px;
	}
	.sec-01 div.headd-cap {
		margin-top: 34px;
	}
	.sec-01 .headd-cap p {
		font-size: 16px;
		line-height: 2.48;
		padding-bottom: 8px;
	}
	.sec-01 div.root-wrap {
		width: 70%;
	}



	/* sec-02 */
	div.sec-02 {
		padding: 54px 0 66px;
	}
	/* sec-03 */
	div.sec-03 {
		padding: 54px 0 74px;
	}


	div.timetable {
		max-width: 1046px;
	}
	.timetable table {
/*		min-width: 150%;*/
	}
	table thead tr th {
		padding: 10px 0 11px;
	}
	.timetable table th {
		font-size: 14px;
	}
	.timetable table td {
		font-size: 16px;
		padding: 14px 0;
	}
	.timetable div.table-wrap {
		margin-bottom: 15px;
	}
	.timetable > p {
		line-height: 1.4;
		font-size: 15px;
		width: calc(100% - 2em);
		margin-right: auto;
		margin-left: auto;
		text-indent: -1em;
		padding-left: 1em;
	}






}



/**==============================================**/
/**==============================================**/
/*
/*	sp tab 共通
/*	〜 1069px 
/*
/**==============================================**/
/**==============================================**/

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

	div.alt-anc {
		position: absolute;
	}



	/* main-img */
	div.main-img-wrap {
		width: 100%;
		overflow: hidden;
		position: relative;
	}
	.main-img-wrap div.main-img-cap {
		position: absolute;
		top: 50%;
		left: 50%;
		margin: auto;
		-webkit-transform: translate(-50%, -50%);
		-ms-transform: translate(-50%, -50%);
		transform: translate(-50%, -50%);
	}

	.main-img-cap h2 {
		text-align: center;
		height: 50vh;
		max-height: 468px;

	}
	.main-img-cap h2 strong {
		-webkit-writing-mode: vertical-rl;
		-ms-writing-mode: tb-rl;
		writing-mode: vertical-rl;
		display: block;
		height: 100%;
	}
	.timetable {
		width: 94%;
	}
	.timetable table {
		width: auto;
	}






}






/**==============================================**/
/**==============================================**/
/*
/*	PC 小型
/*	961px 〜 1280px
/*
/**==============================================**/
/**==============================================**/

@media print, screen and (min-width:1070px) {

	div.content-wrap {
		overflow: hidden;
	}
	div.headd-wrap {
		margin-bottom: 48px;
	}
	
	
	
	/* main-img */
	div.main-img-wrap {
		/*		height: calc(100vh - 80px);*/
	}
	.main-img-wrap div.main-img-cap {
		position: absolute;
		right: 0;
		bottom: -53px;
		left: 0;
		margin: auto;
		width: 80.47%;
		max-width: 1046px;
		line-height: 106px;
		font-size: 33px;
	}
	.main-img-cap h2 {
		font-size: 33px;
	}
	.main-img-cap img {
		-webkit-transform: translate(-343%, -50%);
		-ms-transform: translate(-343%, -50%);
		transform: translate(-343%, -50%);
	}



	/* sec-01 */
	div.sec-01 {
		padding: 88px 0 60px;
	}
	.sec-01 div.headd-wrap {
		margin: 40px auto 60px;
	}
	.sec-01 div.headd-cap {
		margin-top: 34px;
	}
	.sec-01 .headd-cap p {
		font-size: 16px;
		line-height: 2.48;
		padding-bottom: 8px;
	}
	.sec-01 div.root-wrap {
		max-width: 1046px;
	}
	.sec-01 div.root-wrap img {
	}



	/* sec-02 */
	div.sec-02 {
		padding: 54px 0 66px;
	}
	/* sec-03 */
	div.sec-03 {
		padding: 54px 0 74px;
	}


	div.timetable {
		max-width: 1046px;
	}
	.timetable table {
		width: 100%;
	}
	table thead tr th {
		padding: 10px 0 11px;
	}
	.timetable table th {
		font-size: 14px;
	}
	.timetable table td {
		font-size: 16px;
		padding: 14px 0;
	}
	.timetable div.table-wrap {
		max-width: 100%;
		margin-bottom: 15px;
	}
	.timetable > p {
		line-height: 1.4;
		font-size: 15px;
		width: calc(100% - 2em);
		margin-right: auto;
		margin-left: auto;
	}









}




@media screen and (min-width:961px) and (max-width:1280px) {}





/**==============================================**/
/**==============================================**/
/*
/*	PC 大型
/*	1281px 〜 （高さ801px以上）
/*
/**==============================================**/
/**==============================================**/

@media screen and (min-width:1281px) and (min-height:801px){

	/* main-img */
	/*
	div.title-wrap {
	max-width: 612px;
}
	div.catch-wrap {
	max-width: 40px;
}
	*/







}



@media screen and (min-width:1300px) {

	.sec-02-list li h3 {
		font-size: 19px !important;
	}



}


/**==============================================**/
/**==============================================**/
/*
/*	print
/*
/**==============================================**/
/**==============================================**/
@media print {






}
































