/* CSS Document */

main{
	color: #000;
	fill: #000;
	font-family: Lato, "Noto Sans JP", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, Meiryo, sans-serif;
	font-weight: 300;
	font-size: 1.6rem;
	line-height: 1.6em;
	text-align: justify;
	font-feature-settings : "palt";
	}
	main article{
		position: relative;
		padding: 5em 0;
		}
	main h2,
	main h3,
	main h4{
		font-weight: bold;
		}
	main svg{
		width: 1em;
		height: 1em;
		}

#main{}
	#main .linkBut{
		display: inline-block;
		padding: 1em 2em;
		background: #371494;
		border: 0.2em solid #371494;
		color: #fff;
		fill: #fff;
		font-weight: 600;
		font-size: 1.2em;
		line-height: 1em;
		text-decoration: none;
		}
		#main .linkBut:hover{
			background: #fff;
			color: #371494;
			fill: #371494;
			}

#hero{
	position: relative;
	padding-top: 41.6%;
	background: #000;
	}
	#hero > svg{
		position: absolute;
		top: 0;
		left: -50%;
		width: 200%;
		height: 100%;
		}
	#hero > div{
		display: -ms-flexbox;
		display: -webkit-flex;
		display: flex;
		-ms-flex-wrap: wrap;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
		-ms-flex-pack: center;
		-webkit-justify-content: center;
		justify-content: center;
		align-content: center;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		text-align: center;
		}
	#hero i{
		position: absolute;
		top: 0;
		left: 0;
		width: 12%;
		padding-top: 12%;
		}
		#hero i img{
			position: absolute;
			top: 15%;
			left: 15%;
			width: 85%;
			height: 85%;
			}
	#hero h1{
		position: relative;
		width: 100%;
		padding-top: 16%;
		}
		#hero h1 svg{
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			}
	#hero p{
		position: relative;
		margin-top: -3%;
		width: 100%;
		padding-top: 12%;
		}
		#hero p svg{
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			}
	#hero div+span{
		position: absolute;
		right: 0;
		bottom: 0;
		width: 40%;
		height: 60%;
		}
		#hero div+span svg{
			position: absolute;
			right: 10%;
			bottom: 10%;
			width: 90%;
			height: 90%;
			}

#linkMenu{
	display: table;
	width: 100%;
	background: #00348d;
	}
	#linkMenu a{
		position: relative;
		display: table-cell;
		min-width: 4em;
		padding: 1em 0.5em;
		color: #fff;
		font-weight: 400;
		font-size: 1.2em;
		line-height: 1.4em;
		text-align: center;
		text-decoration: none;
		vertical-align: middle;
		}
		#linkMenu a:hover{
			background: rgba(0,0,0,0.5);
			}
	#linkMenu a+a{
		border-left: 1px solid rgba(0,0,0,0.5);
		}
	#linkMenu span{
		position: absolute;
		top: -1.6em;
		left: 50%;
		width: 12em;
		margin-left: -6em;
		padding: 0.5em;
		background: #ff280d;
		border-radius: 1em;
		color: #fff;
		font-weight: 600;
		font-size: 0.875em;
		line-height: 1em;
		}
		#linkMenu span:before{
			content: "";
			position: absolute;
			left: 50%;
			bottom: -1em;
			border: 0.5em solid transparent;
			border-top: 0.8em solid #ff280d;
			margin-left: -0.4em;
			}

#schedule{
	position: relative;
	border-bottom: 0.5em solid #000;
	}
	#schedule > svg{
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		fill: rgba(255,255,255,0.1);
		background: #f29600;
		z-index: -1;
		}
	#schedule .wrap{
		position: relative;
		padding: 2em;
		padding-top: 4em;
		background: #fff;
		border: 0.3em solid #000;
		box-shadow: 0.3em 0.3em 0 #000;
		}
	#schedule h2{
		position: absolute;
		top: -1em;
		padding: 0.5em 1em;
		background: #f29600;
		border: 0.15em solid #000;
		font-size: 1.8em;
		line-height: 1em;
		}
	#schedule p+div{
		margin-top: 2em;
		}

#modelCourse{
	position: relative;
	border-bottom: 0.5em solid #000;
	}
	#modelCourse > svg{
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		fill: rgba(255,255,255,0.4);
		background: #f3ea2b;
		z-index: -1;
		}
	#modelCourse h2{
		position: relative;
		padding-top: 2em;
		font-size: 2.4em;
		text-align: center;
		line-height: 1em;
		}
		#modelCourse h2 span{
			position: absolute;
			top: 0;
			left: 50%;
			width: 12em;
			margin-left: -6em;
			padding: 0.5em;
			background: #ff280d;
			border-radius: 1em;
			color: #fff;
			font-weight: 600;
			font-size: 0.6em;
			line-height: 1em;
			}
			#modelCourse h2 span:before{
				content: "";
				position: absolute;
				left: 50%;
				bottom: -1em;
				border: 0.5em solid transparent;
				border-top: 0.8em solid #ff280d;
				margin-left: -0.4em;
				}
	#modelCourse section{
		position: relative;
		margin-top: 4em;
		padding: 2em;
		background: #fff;
		border: 0.3em solid #000;
		box-shadow: 0.3em 0.3em 0 #000;
		}
		#modelCourse section > div{
			padding: 2em 0;
			overflow: hidden;
			}
			#modelCourse section > div > div:nth-child(1){
				float: left;
				width: 60%;
				padding-right: 1em;
				}
		#modelCourse section > div+div{
			border-top: 0.2em solid #000;
			}
	#modelCourse h3{
		position: absolute;
		top: -1em;
		padding: 0.5em 1em;
		background: #f3ea2b;
		border: 0.15em solid #000;
		font-size: 1.8em;
		line-height: 1em;
		}
	#modelCourse h4{
		position: relative;
		padding-left: 1.5em;
		font-size: 1.6em;
		line-height: 1.4em;
		}
		#modelCourse h4 i{
			position: absolute;
			top: 0;
			left: 0;
			font-size: 1.4em;
			}
	#modelCourse figure{
		float: left;
		margin-top: 1em;
		width: 50%;
		padding-right: 1em;
		}
	#modelCourse ol{
		float: right;
		width: 50%;
		counter-reset: sample;
		margin-top: 1em;
		}
	#modelCourse li{
		position: relative;
		padding-left: 1.8em;
		line-height: 1.4em;
		}
		#modelCourse li:before{
			counter-increment: sample;
			content: counter(sample);
			position: absolute;
			top: 0;
			left: 0;
			width: 1.4em;
			height: 1.4em;
			background: #000;
			color: #fff;
			font-weight: bold;
			text-align: center;
			line-height: 1.4em;
			}
	#modelCourse li+li{
		margin-top: 1em;
		}
		#modelCourse li+li:after{
			content: "";
			position: absolute;
			top: -1em;
			left: 0.7em;
			height: 1em;
			border-left: 0.2em dotted #000;
			}
	#modelCourse dl{
		display: -ms-flexbox;
		display: -webkit-flex;
		display: flex;
		-ms-flex-wrap: wrap;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
		-ms-flex-direction: column-reverse;
		-webkit-flex-direction: column-reverse;
		flex-direction: column-reverse;
		position: relative;
		float: right;
		width: 40%;
		margin-bottom: 3em;
		padding: 1em;
		border: 0.2em solid #000;
		line-height: 1.4em;
		}
	#modelCourse dt{
		margin-top: 0.5em;
		padding-right: 6em;
		}
		#modelCourse dt i{
			position: absolute;
			top: 1em;
			right: 1em;
			width: 8em;
			height: 8em;
			border-radius: 100%;
			background: #000;
			border: 0.2em solid #000;
			overflow: hidden;
			}
			#modelCourse dt svg{
				position: absolute;
				bottom: 0;
				left: 5%;
				width: 90%;
				height: 90%;
				fill: #fff;
				}
	#modelCourse dt+dd{
		order: 1;
		margin-bottom: 0.5em;
		font-weight: bold;
		}
		#modelCourse dt+dd i{
			font-size: 1.2em;
			vertical-align: middle;
			}
	#modelCourse dd{
		padding-right: 9em;
		}
		#modelCourse dd p{
			margin-top: 0.5em;
			}
	#modelCourse .center{
		clear: both;
		padding-top: 1em;
		}
	#modelCourse .linkBut{
		padding: 0.8em 1.5em;
		font-size: 1em;
		}
	#modelCourse .thumbBox{
		padding-top: 100%;
		}

#gMap{
	height: 40em;
	margin-top: 2em;
	border: 0.3em solid #000;
	box-shadow: 0.3em 0.3em 0 #000;
	}
	#gMap .infoWinMap{
		text-align: center;
		}
		#gMap .infoWinMap p+p{
			margin-top: 0.5em;
			}
		#gMap .linkBut{
			padding: 0.5em;
			}

#recommendedSpot{
	position: relative;
	border-bottom: 0.5em solid #000;
	}
	#recommendedSpot > svg{
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		fill: rgba(255,255,255,0.15);
		background: #4de0dd;
		z-index: -1;
		}
	#recommendedSpot h2{
		position: relative;
		padding-top: 2em;
		font-size: 2.4em;
		text-align: center;
		line-height: 1em;
		}
		#recommendedSpot h2 span{
			position: absolute;
			top: 0;
			left: 50%;
			width: 12em;
			margin-left: -6em;
			padding: 0.5em;
			background: #ff280d;
			border-radius: 1em;
			color: #fff;
			font-weight: 600;
			font-size: 0.6em;
			line-height: 1em;
			}
			#recommendedSpot h2 span:before{
				content: "";
				position: absolute;
				left: 50%;
				bottom: -1em;
				border: 0.5em solid transparent;
				border-top: 0.8em solid #ff280d;
				margin-left: -0.4em;
				}
	#recommendedSpot section{
		display: -ms-flexbox;
		display: -webkit-flex;
		display: flex;
		-ms-flex-wrap: wrap;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
		-ms-flex-pack: justify;
		-webkit-justify-content: space-between;
		justify-content: space-between;
		position: relative;
		margin-top: 4em;
		padding: 2em;
		background: #fff;
		border: 0.3em solid #000;
		box-shadow: 0.3em 0.3em 0 #000;
		}
		#recommendedSpot section > div{
			width: 30%;
			margin-top: 2em;
			}
		#recommendedSpot section > div+div{
			width: 70%;
			padding-left: 2em;
			}
	#recommendedSpot h3{
		position: absolute;
		top: -1em;
		padding: 0.5em 1em;
		background: #4de0dd;
		border: 0.15em solid #000;
		font-size: 1.8em;
		line-height: 1em;
		}
	#recommendedSpot h4{
		position: relative;
		padding-left: 1.5em;
		font-size: 1.2em;
		line-height: 1.4em;
		}
		#recommendedSpot h4 i{
			position: absolute;
			top: 0;
			left: 0;
			color: #4de0dd;
			fill: #4de0dd;
			font-size: 1.4em;
			}
	#recommendedSpot ul{
		margin-top: 0.5em;
		margin-bottom: 1em;
		}
	#recommendedSpot li{
		position: relative;
		padding-left: 1em;
		line-height: 1.4em;
		}
		#recommendedSpot li:before{
			content: "";
			position: absolute;
			top: 0.5em;
			left: 0;
			width: 0.5em;
			height: 0.5em;
			background: #ccc;
			border-radius: 100%;
			}
	#recommendedSpot li+li{
		margin-top: 0.5em;
		}
	#recommendedSpot ul+h4{
		margin-top: 2em;
		}
	#recommendedSpot h4+div{
		display: -ms-flexbox;
		display: -webkit-flex;
		display: flex;
		-ms-flex-wrap: wrap;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
		-ms-flex-pack: justify;
		-webkit-justify-content: space-between;
		justify-content: space-between;
		}
		#recommendedSpot h4+div > *{
			margin: 1em 0;
			}
	#recommendedSpot figure{
		width: 40%;
		}
	#recommendedSpot figure+div{
		width: 60%;
		padding-left: 1.5em;
		}
	#recommendedSpot h5{
		font-size: 1.1em;
		font-weight: normal;
		}
	#recommendedSpot footer{
		width: 100%;
		margin-top: 2em;
		}
	#recommendedSpot .information{
		display: -ms-flexbox;
		display: -webkit-flex;
		display: flex;
		-ms-flex-wrap: wrap;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
		-ms-flex-align: start;
		-webkit-align-items: flex-start;
		align-items: flex-start;
		font-size: 0.875em;
		}
		#recommendedSpot .information dt,
		#recommendedSpot .information dd{
			margin-top: 1em;
			padding: 0.2em 0;
			line-height: 1.4em;
			}
		#recommendedSpot .information dt{
			width: 9em;
			background: #000;
			color: #fff;
			text-align: center;
			}
		#recommendedSpot .information dd{
			width: calc(100% - 9em);
			padding-left: 0.5em;
			}
	#recommendedSpot .comment{
		display: -ms-flexbox;
		display: -webkit-flex;
		display: flex;
		-ms-flex-wrap: wrap;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
		-ms-flex-direction: column-reverse;
		-webkit-flex-direction: column-reverse;
		flex-direction: column-reverse;
		-ms-flex-align: start;
		-webkit-align-items: flex-start;
		align-items: flex-start;
		position: relative;
		padding: 1em;
		padding-right: 10em;
		border: 0.2em solid #000;
		line-height: 1.4em;
		}
		#recommendedSpot .comment dt{
			margin-top: 0.5em;
			padding-right: 6em;
			}
		#recommendedSpot .comment dd{
			min-height: 6em;
			max-width: 32em;
			}
		#recommendedSpot .comment i{
			position: absolute;
			top: 1em;
			right: 1em;
			width: 8em;
			height: 8em;
			border-radius: 100%;
			background: #000;
			border: 0.2em solid #000;
			overflow: hidden;
			}
		#recommendedSpot .comment .thumbBox{
			padding-top: 100%;
			}
	#recommendedSpot .linkBut{
		padding: 0.8em 1.5em;
		font-size: 1em;
		}

#passport{
	position: relative;
	border-bottom: 0.5em solid #000;
	}
	#passport > svg{
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		fill: rgba(255,255,255,0.15);
		background: #ff667f;
		z-index: -1;
		}
	#passport h2{
		position: absolute;
		top: -1em;
		padding: 0.5em 1em;
		background:  #ff667f;
		border: 0.15em solid #000;
		font-size: 1.8em;
		line-height: 1em;
		}
	#passport h2+div{
		overflow: hidden;
		}
	#passport figure{
		float: right;
		padding-left: 2em;
		}
	#passport h3{
		color: #ff280d;
		font-size: 1.6em;
		}
	#passport h4{
		margin-top: 0.5em;
		font-size: 1.2em;
		}
	#passport p{
		margin-top: 1em;
		}
		#passport p span{
			color: #ff280d;
			}
	#passport footer{
		margin-top: 2em;
		}
	#passport .wrap{
		position: relative;
		padding: 2em;
		padding-top: 4em;
		background: #fff;
		border: 0.3em solid #000;
		box-shadow: 0.3em 0.3em 0 #000;
		}

#access{
	position: relative;
	border-bottom: 0.5em solid #000;
	}
	#access > svg{
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		fill: rgba(255,255,255,0.15);
		background: #acff1a;
		z-index: -1;
		}
	#access h2{
		position: absolute;
		top: -1em;
		padding: 0.5em 1em;
		background: #acff1a;
		border: 0.15em solid #000;
		font-size: 1.8em;
		line-height: 1em;
		}
	#access p{
		text-align: center;
		}
	#access .wrap{
		position: relative;
		padding: 2em;
		padding-top: 4em;
		background: #fff;
		border: 0.3em solid #000;
		box-shadow: 0.3em 0.3em 0 #000;
		}
	#access .center{
		margin-top: 2em;
		}

.hokusei{}
	.hokusei h3{
		background: #ff7bac !important;
		}
	.hokusei svg{
		fill: #ff7bac;
		}

.cyunansei{}
	.cyunansei h3{
		background: #7ac943 !important;;
		}
	.cyunansei svg{
		fill: #7ac943;
		}

.iga{}
	.iga h3{
		background: #8c5ab1 !important;;
		}
	.iga svg{
		fill: #8c5ab1;
		}

.iseshima{}
	.iseshima h3{
		background: #ff931e !important;;
		}
	.iseshima svg{
		fill: #ff931e;
		}

.higashikisyu{}
	.higashikisyu h3{
		background: #3fa9f5 !important;;
		}
	.higashikisyu svg{
		fill: #3fa9f5;
		}


@media (min-width:1200px) {
}


@media all and (-ms-high-contrast:none){
main{}
	main h2,
	main h3,
	main h4{
		font-weight: bold;
		}
}

