*{
	margin:0px;
	padding:0px;
	border:0px;
	font-size:15px;
	line-height:2em;
	font-weight:normal;
	font-style:normal;
	box-sizing:border-box;
/*	background-repeat:no-repeat;*/
	font-family:"BIZ UDPGothic", "M PLUS Rounded 1c", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}
ul,li{
	list-style:none;
}
body {
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
}
@media screen and (max-width : 800px) {
	body {
		background-image:none;
	}
}
a {
	text-decoration:none;
	color:#558cc4;
}
a.linkbutton1{
	background-color:#9f886e;
	color:#fff;
	padding:12px 60px;
}
a.linkbutton1:hover{
	background-color:#c5b8a8;
}
table{
	border-collapse:collapse;
}
img{
	vertical-align:top;
	width:100%;
}

@supports (-webkit-touch-callout: none) {
	body {
		height: -webkit-fill-available;
	}
}
/**フォント**/
.noto_serif{
	font-family:'Noto Serif JP', "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.serif{
	font-family:'Zen Old Mincho', 'Yuji Syuku', 'Noto Serif JP', "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}



.loading-overlay {
	position: fixed;
	top:0;
	left:0;
	width: 100%;
	height: 100%;
	background: rgba(255, 255, 255, 1);
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 1000;
}

.loading-spinner {
	border: 8px solid #f3f3f3;
	border-top: 8px solid #3498db;
	border-radius: 50%;
	width: 50px;
	height: 50px;
	animation: spin 1s linear infinite;
}

@keyframes spin {
	0% { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
}

.loading-logo{
	margin:0px auto;
	position:absolute;
	top:50%;
	left:50%;
	width:120px;
	transform: translate(-50%, -50%);
}
.loading-logo::before{
	position:absolute;
	animation: img-wrap 2.5s cubic-bezier(0.4, 0, 0.2, 1) forwards;
	background: #fff;
	content: '';
	inset: 0;
	pointer-events: none;
	position: absolute;
	z-index: 1;
}
@keyframes img-wrap {
	100% {
		transform: translateY(100%);
	}
}








#wrapper{
	position:relative;
}
@media screen and (max-width : 800px) {
	#wrapper{
		padding-top:87px;
	}
}

header{
	width:100%;
	top:0px;
	left:0px;
	position:fixed;
	z-index:9999;
	padding:10px 0px;
}
header dl{
	padding:0px 4%;
}
header dl dt{
	position:relative;
	max-width:320px;
	width:50%;
	float:left;
}
header dl dt img{
	filter: drop-shadow(0px 0px 2px #fff);
}
header dl dd{
	margin-left:330px;
	padding-top:48px;
	text-align:center;
}
header dl dd .pcMenu ul{
	display:table;
	float:right;
	border-left:1px solid #aaa;
}
header dl dd .pcMenu ul li{
	display:table-cell;
	border-right:1px solid #aaa;
}
header dl dd .pcMenu ul a{
	padding:10px 20px;
	color:#fab140;
	font-weight:bold;
}
header dl dd .spMenuButton{
	display:none;
}
nav.spMenu{
	display:none;
}
.spMenuButton {
	display : block;
	position: fixed;
	z-index : 999;
	right : 30px;
	top   : 30px;
	width : 42px;
	height: 42px;
	cursor: pointer;
	text-align: center;
}
.spMenuButton span {
	display : block;
	position: absolute;
	width   : 30px;
	height  : 2px ;
	left    : 6px;
	background : #4fbee9;
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition   : 0.3s ease-in-out;
	transition        : 0.3s ease-in-out;
}
.spMenuButton span:nth-child(1) {
	top: 10px;
}
.spMenuButton span:nth-child(2) {
	top: 20px;
}
.spMenuButton span:nth-child(3) {
	top: 30px;
}
.spMenuButton.active span:nth-child(1) {
	top : 16px;
	left: 6px;
	background :#4fbee9;
	-webkit-transform: rotate(-45deg);
	-moz-transform   : rotate(-45deg);
	transform        : rotate(-45deg);
}
.spMenuButton.active span:nth-child(2),
.spMenuButton.active span:nth-child(3) {
	top: 16px;
	background :#4fbee9;
	-webkit-transform: rotate(45deg);
	-moz-transform   : rotate(45deg);
	transform        : rotate(45deg);
}
nav.spMenu {
	position: fixed;
	z-index : 99;
	top  : 0;
	left : 0;
	bottom:0;
	color: #fff;
	background: rgba( 255,255,255,0.9 );
	text-align: center;
	width: 100%;
	opacity: 0;
	display: none;
	transition: opacity .6s ease, visibility .6s ease;
}
nav.spMenu ul {
	margin: 50px auto;
	padding: 0;
	width: 100%;
}

nav.spMenu ul li {
	list-style-type: none;
		padding: 0;
	width: 100%;
		transition: .4s all;
}
nav.spMenu ul li:last-child {
		padding-bottom: 0;
}
nav.spMenu ul li img{
	max-width:180px;
}
nav.spMenu ul li a {
	display: block;
	color: #4fbee9;
	padding: 1em 0;
	text-decoration :none;
}
nav.spMenu ul li a:hover{
	background :#4fbee9;
	color:#fff;
}

nav.spMenu.active {
	opacity: 100;
	display: block;
}


@media screen and (max-width : 800px) {
	header dl dt{
		max-width:240px;
	}
	header dl dd{
		margin-left:240px;
		padding-top:48px;
	}
	header dl dd .pcMenu{
		display:none;
	}
	header dl dd .spMenuButton{
		display:block;
	}
}



main{
}



#footerWrap{
	width:100%;
	background-color:#000;
}
#footerHead{
    background-repeat:no-repeat;
    background-position:50% 100%;
    background-size:100% auto;
    height:calc(100vw/4);
}
#footerHead h2{
	max-width:1000px;
	margin:0px auto;
	text-align:center;
	padding-top:calc(100vw/20);
}
#footerHead img{
	width:320px;
}
footer{
	position:relative;
    z-index:999;
    padding:50px 0px;
}
footer *{
	color:#fff;
}
footer dl{
	width:1000px;
	overflow:hidden;
	margin:0px auto;
}
footer dl dt{
	width:50%;
	float:left;
}
footer dl dd{
	margin-left:52%;
}
footer p{
	color:#fff;
	font-size:12px;
}
@media screen and (max-width : 800px) {
	#footerHead img{
		display:none;
	}
	footer dl{
		width:100%;
	}
	footer dl dt{
		display:none;
	}
	footer dl dd{
		margin-left:0;
		text-align:center;
	}
}



section.fixed{
	position: -webkit-sticky;
	position: sticky;
	top:0px;
}



/****モーダルウィンドウの設定**********/

.modal-block {
	display: none;
	position: fixed;
	justify-content: center;
	align-items: center;
	z-index: 99999;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	margin: 0 auto;
	overflow: auto;
	background-color: rgba(0, 0, 0, 0.8);

	.img-section {
		width: 70vw;
		height: 70vh;
		position: relative;
		margin: 0 auto;

		span {
			position: absolute;
			transform: translate(50%, -50%);
			top: 0;
			right: 0;
			cursor: pointer;
			&::before {
				content: "×";
				text-align:center;
				line-height:40px;
				font-size:24px;
				font-weight:bold;
				color:#aaa;
				width: 40px;
				height: 40px;
				background: #fff;
				border:2px solid #aaa;
				border-radius: 50%;
				display: block;
			}
		}

		img {
			width: 100%;
			height: 100%;
			object-fit: cover;
		}
	}
	.caption {
		font-size: 20px;
		letter-spacing: .09em;
		color: #fff;
		margin-top: 10px;
		text-align: center;
	}
}






.breadcrumb{
	margin-bottom:20px;
	margin-right:4%;
}
.breadcrumb ul{
	text-align:right;
	overflow-x: scroll;
    word-break: keep-all;
    white-space: nowrap;
}
.breadcrumb ul::-webkit-scrollbar {
	display: none;
}
.breadcrumb ul li{
	display:inline;
	position:relative;
	padding:0px 20px 0px 10px;
}
.breadcrumb ul li:after{
	content:'≫';
	position:absolute;
	top:0px;
	right:0px;
}
.breadcrumb ul li:last-of-type:after{
	content:none;
}
.breadcrumb ul *{
	color:#9ddaf2;
	font-size:13px;
	line-height:1em;
}


