@charset 'UTF-8';

.overlay,
.top-il {
	width:100%;
	height:100vh;
	background-repeat:no-repeat;
	background-position:center;
	background-size:cover;
}
.top-il {
	background-image: url('../images/front/il01.jpg');
}
.overlay {
	background-image: url('../images/front/ilcover.png');
	position:absolute;
	left:0;
	top:0;
}
header h1 {
	width:90%;
	/*max-width:730px;*/
	max-width:450px;
	color:#fff;
	margin:0;
	position:absolute;
	top:50%;
	left:50%;
	-webkit-transform: translate(-50%,-50%);
	-ms-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
}
header h1 img+img {
	display:none;
}
header h1 span {
	display:block;
	font-size:140%;
	line-height:1.3;
	text-indent:-1em;
	padding-left:1em;
	margin-top:5px;
}

.bgblue .container {
	padding-top:160px;
}
.tate {
	max-height:300px;
	-ms-writing-mode:tb-rl;
	writing-mode:vertical-rl;
	padding:5%;
	margin:0 auto;
	background-image:url(../images/front/tate1.png),url(../images/front/tate2.png);
	background-repeat:no-repeat;
	background-position:top right,bottom left;
}
.tate h1 {
	font-size:400%;
	font-weight:600;
	line-height:1.3;
	letter-spacing:5px;
	margin-left:1em
}
.tate h1 span {
	display:block;
	text-align:right;
}
.tate p {
	font-weight:600;
	line-height:2.5;
	margin:0;
}
h2+p {
	letter-spacing:2px;
	margin-top:3%;
}
.topics ul {
	display:flex;
	justify-content:space-between;
	flex-wrap:wrap;
	margin-top:5%;
}
.topics ul a,
.topics ul a:visited,
.topics ul a:hover {
	display:block;
	text-decoration:none;
	color:#222;
}
.topics li {
	display:flex;
	flex-direction:column;
	width:30%;
}
.topics ul a > div {
	position:relative;
}
.topics ul div div {
	height:225px;
	position:relative;
	overflow:hidden;
	background-color:#e0dec8;
	border-radius:15px;
}
.topics ul div img {
	position:absolute;
	top:50%;
	left:50%;
	-webkit-transform:translate(-50%,-50%);
	-moz-transform:translate(-50%,-50%);
	transform :translate(-50%,-50%);
}
.topics ul .cat {
	position:absolute;
	top:-10px;
	left:-10px;
	font-size:160%;
	font-weight:600;
	color:#222;
	background-color:#fff16d;
	border-radius:50px;
	padding:0 1em;
}
.topics ul p {
	margin-top:5px;
}
.topics .link {
	text-align:center;
	font-size:160%;
	font-weight:600;
	border:1px solid #222;
	margin-top:auto;	
}
.map_navi {
	position:relative;
}
.map_count {
	position:absolute;
	top:-80px;
	right:0;
}
.map_count p {
	width:100%;
	text-align:center;
	color:#fff;
	font-weight:600;
	line-height:1.3;
	margin:0;
	position:absolute;
	top:50%;
	left:50%;
	-webkit-transform:translate(-50%,-50%);
	-moz-transform:translate(-50%,-50%);
	transform :translate(-50%,-50%);
}
.map_count p span {
	font-size:120%;
}
.map_navi ul {
	display:flex;
	justify-content:space-around;
	flex-wrap:wrap;
	max-width:1200px;
	margin:0 auto;
}
.map_navi li {
	margin:5% 0 0;
}
.map_navi a,
.map_navi a:visited,
.map_navi a:hover {
	display:block;
	color:#222;
	position:relative;
	opacity: 1;
	filter: alpha(opacity=100);
	-ms-filter: "alpha(opacity=100)";
	-moz-opacity: 1;
	-khtml-opacity: 1;
}
.map_navi .cloud,
.map_navi .cloud2 {
	position:absolute;
	bottom:10px;
	right:0;
}
.map_navi h3 {
	text-align:left;
	font-size:280%;
	font-weight:600;
	line-height:1.3;
	-ms-writing-mode:tb-rl;
	writing-mode:vertical-rl;
	position:absolute;
	top:80px;
	right:15px;
}
.map_navi h3 span {
	display:block;
	font-size:50%;
	letter-spacing:2px;
	margin-top:2px;
}
.map_navi h3 span+span {
	line-height:1.5;
	letter-spacing:1px;
	background:url(../images/front/ico_mov.png) no-repeat top center;
	background-size:100% auto;
	padding-top:1.4em;
	margin-top:0;
	margin-right:3px;
}
.illust {
	color:#fff;
	background:url(../images/front/illust.jpg) no-repeat center;
	background-size:cover;
	padding-bottom:7%;
}
.illust p {
	max-width:800px;
	margin-left:auto;
	margin-right:auto;
}
.illust a.btn,
.illust a.btn:visited,
.illust a.btn:hover {
	color:#fff;
	border-color:#fff;
	background-color:unset;
}
#spot .container {
	max-width:1000px;
}
#spot ul {
	display:flex;
	justify-content:space-between;
	flex-wrap:wrap;
	margin-top:5%;
}
#spot li {
	display:flex;
	flex-direction:column;
	width:30%;
}
#spot ul a,
#spot ul a:visited,
#spot ul a:hover {
	display:block;
	text-decoration:none;
	color:#222;
}

@media only screen and (max-width: 1200px) {
	.topics ul div div {
		height:188px;
	}
}
@media only screen and (max-width: 1050px) {
	header h1 {
		width:60%;
	}
	.topics ul div div {
		height:162px;
	}
	.bgblue .container {
		padding-top:30px;
	}
	.tate {
		writing-mode:horizontal-tb;
		max-height:none;
	}
	.tate h1 {
		text-align:center;
		font-size:300%;
		margin-left:0;
		margin-bottom:1em;
	}
	.tate h1 span {
		display:inline;
	}
}
@media only screen and (max-width: 900px) {
	.map_navi ul {
		max-width:100%;
	}
	.map_navi li {
		max-width:48%;
	}
}
@media only screen and (max-width: 600px) {
	header h1 {
	}
	header h1 img:first-child {
		display:none;
	}
	header h1 img+img {
		display:block;
		width:60%;
		padding:0 20% 5%;
	}
	.tate {
		background-size:50%;
	}
	.topics li {
		width:100%;
		margin-top:30px;
	}
	.topics ul div div {
		height:25vh;
	}
	.container.map_navi {
		padding-top:80px;
	}
	.map_count img {
		width:125px;
	}
	.map_navi h2+p br {
		display:none;
	}
	.map_navi .cloud,
	.map_navi .cloud2 {
		width:40%;
	}
	.map_navi h3 {
		font-size:200%;
		top:15px;
		right:5px;
	}
}