/* CSS Document */

html{
	line-height: 100%;
	-webkit-text-size-adjust: 100%;
	}

body{
	color: #333;
	fill: #333;
	font-family: -apple-system, BlinkMacSystemFont, YuGothic, 'Yu Gothic', sans-serif;
	text-align: justify;
	text-justify: inter-character;
	word-break: break-all;
	}

a{
	color: #052c4c;
	fill: #052c4c;
	text-decoration: none;
	transition-property: color,background,background-color,background-size,border,border-color,box-shadow,fill,filter,opacity;
	transition-duration: 0.2s;
	transition-timing-function: ease-out;
	-webkit-touch-callout: none;
	-webkit-tap-highlight-color: rgba(0,0,0,0);
	}
	a:hover,
	a:active{
		text-decoration: underline;
		}

main{}
	main *{
		line-height: 1.2em;
		}
	main p{
		line-height: 1.6em;
		}
	main hr{
		margin: 0;
		padding-bottom: 0 !important;
		border: none;
		}

img{
	max-width: 100%;
	height: auto;
	vertical-align: top;
	}
	img[src$=".svg"]{
		width: 100%;
		}

svg{
	width: 1em;
	height: 1em;
	vertical-align: top;
	}

#wrapper{
	width: 100%;
	margin: auto;
	}

#header{
	padding: 2em 0;
	background: url("../images/mainBg.jpg");
	}
	#header .wrap{
		position: relative;
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
		}

#siteName{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	text-align: center;
	}
	#siteName a{
		display: block;
		pointer-events: none;
		fill: #000;
		}
	#siteName svg{
		width: 2.6em;
		}

#copy{
	margin-right: auto;
	order: 1;
	}
	#copy a{
		pointer-events: none;
		fill: #000;
		}
	#copy svg{
		width: 0.9em;
		}

#openDate{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 7em;
	height: 7em;
	background: #efdd3a;
	border-radius: 100%;
	color: #052c4c;
	font-weight: bold;
	text-align: center;
	line-height: 1.4em;
	order: 3;
	}

#copyright{
	background: url("../images/mainBg.jpg")
	}
	#copyright p{
		color: #fff;
		font-size: 0.8em;
		text-align: center;
		}

.wrap{
	width: calc(100% - 2em);
	margin: auto;
	}
	.wrap div+div{
		margin-top: 2em;
		}

.flex{
	display: flex;
	}

.subject{
	position: relative;
	background: rgba(186,142,93,0.6);
	}
	.subject h2{
		position: relative;
		text-align: center;
		color: #fff;
		filter: drop-shadow(0 0 0.2em rgba(0,0,0,0.7));
		}
		.subject h2 span{
			display: block;
			font-size: 0.8em;
			margin-bottom: 0.5em;
			}
	.subject figure{
		margin-top: 0;
		}
	.subject .thumb{
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		padding: 0;
		z-index: -1;
		}

.headline{
	color: #5b3f21;
	fill: #5b3f21;
	font-weight: bold;
	}
	.headline+*{
		margin-top: 1em;
		}

.title{
	color: #5b3f21;
	font-weight: bold;
	}
	.title+*{
		margin-top: 1em;
		}

.subTitle{
	color: #5b3f21;
	font-weight: bold;
	}
	.subTitle+*{
		margin-top: 1em;
		}

.buttonSet{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	margin: -0.5em;
	list-style: none;
	}
	.buttonSet > *{
		margin: 0.5em;
		}

.linkBut{
	display: inline-block;
	padding: 1em 1.5em;
	background: #efdd3a;
	border-radius: 10em;
	color: #052c4c;
	fill: #052c4c;
	font-weight: bold;
	line-height: 1em;
	text-align: center;
	}
	.linkBut:hover{
		background: #052c4c;
		color: #fff;
		fill: #fff;
		text-decoration: none;
		}
	.linkBut.more{
		position: relative;
		padding-right: 2em;
		}
		.linkBut.more i{
			position: absolute;
			right: 1em;
			top: calc(50% - 0.5em);
			}
	.linkBut span{
		margin-left: 0.2em;
		vertical-align: middle;
		opacity: 0.5;
		}
		.linkBut span svg{
			width: 0.8em;
			}

.linkText{}
	.linkText i{
		vertical-align: middle;
		}
	.linkBut span{
		margin-left: 0.2em;
		vertical-align: middle;
		opacity: 0.5;
		}
		.linkBut span svg{
			width: 0.8em;
			}

.list{
	list-style: none;
	}
	.list > li+li{
		margin-top: 0.5em;
		}
	.list.point{}
		.list.point > li{
			position: relative;
			padding-left: 1em;
			}
			.list.point > li:before{
				content: "";
				position: absolute;
				top: 0.4em;
				left: 0;
				width: 0.8em;
				height: 0.8em;
				background: #0068b7;
				border-radius: 100%;
				}
	.list.notes{}
		.list.notes > li{
			padding-left: 1em;
			text-indent: -1em;
			}
	.list.count{
		counter-reset: count;
		}
		.list.count > li{
			position: relative;
			padding-left: 1.5em;
			}
			.list.count > li:before{
				position: absolute;
				left: 0;
				counter-increment: count;
				content: counter(count)".";
				}
	.list+*,
	*+.list{
		margin-top: 1em;
		}

.thumb{}
	.thumb:not(img){
		position: relative;
		display: block;
		width: 100%;
		margin: 0;
		padding: 100% 0 0 0;
		background-color: rgba(0,0,0,0.05);
		background-size: cover;
		background-position: center;
		background-repeat: no-repeat;
		object-fit: cover;
		object-position: center;
		overflow: hidden;
		}
	.thumb img{
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		object-fit: inherit;
		object-position: inherit;
		}
.contain{
	background-size: contain;
	object-fit: contain;
	}
.cover{
	background-size: cover;
	object-fit: cover;
	}

.table{}
	.table:not(dl){
		width: 100%;
		border-collapse: collapse;
		}
	.table:not(table){
		display: flex;
		flex-wrap: wrap;
		}
	.table th,
	.table td{
		padding: 0.8em;
		border: 1px solid #ccc;
		}
	.table th{
		background: #f2f2f2;
		}
	.table dt,
	.table dd{
		padding: 0.8em;
		margin-top: 1px;
		}
	.table dt{
		width: 8em;
		background: #dfefef;
		}
	.table dd{
		width: calc(100% - 8em);
		background: #f2f2f2;
		}
	.table+*,
	*+.table{
		margin-top: 1em;
		}

.googlemap{
	position: relative;
	}
	.googlemap iframe{
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		}
	.googlemap div+div{
		margin-top: auto;
		}

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

.anchor{
	position: absolute;
	opacity: 0;
	}

.slick-slider{
	opacity: 0;
	}
	.slick-slider div+div{
		margin: auto;
		}
.slick-dots{
	display: flex;
	justify-content: center;
	list-style: none;
	}
	.slick-dots li{
		width: 0.6em;
		height: 0.6em;
		margin: 0 0.5em;
		}
		.slick-dots li.slick-active{}
			.slick-dots li.slick-active button{
				background: #052c4c;
				}
	.slick-dots button{
		border: none;
		width: 0.6em;
		height: 0.6em;
		padding: 0;
		background: #e9f5f5;
		border-radius: 100%;
		color: transparent;
		overflow: hidden;
		transition: all 0.2s ease-out;
		cursor: pointer;
		}
.slick-arrow{
	position: absolute;
	top: calc(50% - 0.5em);
	fill: #052c4c;
	text-align: center;
	line-height: 1em;
	cursor: pointer;
	z-index: 1;
	}
	.slick-arrow svg{
		width: 1.5em;
		height: 2em;
		margin: -0.5em 0;
		background: rgba(255,255,255,0.5);
		font-size: 1.5em;
		}
.slick-prev{
	left: 0;
	transform: scale(-1, 1);
	}
.slick-next{
	right: 0;
	}
.done .slick-initialized{
	transition: all 0.2s ease-out;
	opacity: 1 !important;
	}


/* for all */
@media (max-width: 1199px) {
/*1199px以下*/
}
@media (max-width: 991px) {
/*991px以下*/
}


/* for mobile */
@media (max-width: 767px) {
/*767px以下*/
body{
	font-size: 1rem;
	}
main > *,
main hr,
article,
article header,
article section,
article footer{
	padding-top: 2em;
	padding-bottom: 2em;
	}
#header{
	padding: 1em 0;
	}
#copyright{
	padding: 1em 0;
	}
.subject{
	margin-bottom: 2em;
	padding: 2em 0;
	}
.headline,
.huge{
	/*font-size: 1.6em;*/
	font-size: 1.4em;
	}
.title,
.large{
	font-size: 1.4em;
	}
.subTitle,
.medium{
	font-size: 1.2em;
	}
}
@media (max-width: 767px) and (orientation:portrait) {
/*767px以下 縦向き*/
html{
	font-size: 4vw;
	}
#siteName{
	font-size: 20vw;
	}
#copy{
	font-size: 24vw;
	}
#openDate{
	margin: -0.5em -0.5em 0 0;
	font-size: 0.8em;
	}
.buttonSet{
	flex-direction: column;
	padding: 0 2em;
	}
	.buttonSet > *{
		width: calc(100% - 1em);
		}
	.buttonSet .linkBut{
		display: block;
		}
.table{}
	.table dt,
	.table dd{
		width: 100%;
		}
	.table dt+dd{
		margin-top: 0;
		}
.googlemap{
	height: 100vw;
	}
.anchor{
	margin-top: calc(-15vw - 1em);
	}
}
@media (max-width: 767px) and (orientation:landscape) {
/*767px以下 横向き*/
html{
	font-size: 2.5vw;
	}
#siteName{
	font-size: 22vw;
	}
#copy{
	font-size: 24vw;
	}
#openDate{
	margin-right: 1em;
	}
.googlemap{
	height: 70vh;
	}
.anchor{
	margin-top: calc(-8vw - 1em);
	}
}


/* for tablet */
@media (min-width: 768px) {
/*768px以上*/
html{
	font-size: 62.5%;
	}
#copyright{
	padding: 1.5em 0;
	}
.headline,
.huge{
	font-size: 1.8em;
	}
.title,
.large{
	font-size: 1.6em;
	}
.subTitle,
.medium{
	font-size: 1.4em;
	}
}
@media (min-width: 768px) and (max-width: 1199px) {
/*768px～1200px*/
}
@media (min-width: 768px) and (max-width: 991px) {
/*768px～991px*/
body{
	font-size: 1.4rem;
	}
main > *,
main hr,
article,
article header,
article section,
article footer{
	padding-top: 3em;
	padding-bottom: 3em;
	}
#header{
	padding: 1.5em 0;
	}
#siteName{
	font-size: 11em;
	}
#copy{
	font-size: 13em;
	}
#openDate{
	margin: 1em;
	transform: scale(1.2);
	}
.wrap{
	max-width: 720px;
	}
.subject{
	margin-bottom: 3em;
	padding: 3em 0;
	}
.googlemap{
	height: 30em;
	}
.anchor{
	margin-top: calc(-4em - 2em);
	}
}


/* for PC */
@media (min-width: 992px) {
/*992px以上*/
body{
	font-size: 1.6rem;
	}
main > *,
main hr,
article,
article header,
article section,
article footer{
	padding-top: 4em;
	padding-bottom: 4em;
	}
#siteName{
	font-size: 13em;
	}
#copy{
	font-size: 15em;
	}
#openDate{
	margin: 1em;
	transform: scale(1.4);
	}
.subject{
	margin-bottom: 4em;
	padding: 4em 0;
	}
.googlemap{
	height: 40em;
	}
.anchor{
	margin-top: calc(-4em - 2em);
	}
}
@media (min-width: 992px) and (max-width: 1199px) {
/*992px～1199px*/
.wrap{
	max-width: 940px;
	}
}
@media (min-width: 1200px) {
/*1200px以上*/
#siteName{
	font-size: 15em;
	}
#copy{
	font-size: 16em;
	}
#openDate{
	margin-right: 4em;
	transform: scale(1.4);
	}
.wrap{
	max-width: 1140px;
	}
}


/* Edge */
@supports (-ms-ime-align:auto) {
}


/* ie */
@media all and (-ms-high-contrast: none){
main{
	display: block;
	}
}


/* animation */
@-webkit-keyframes wrapper {
	0%{opacity: 0}
	100%{opacity: 1}
	}
@keyframes wrapper {
	0%{opacity: 0}
	100%{opacity: 1}
	}


