<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">@font-face {
	font-family: "YakuHanJP";
	font-style: normal;
	font-weight: 400;
	src: url("../fonts/YakuHanJP-Regular.woff2") format("woff2"), url("../fonts/YakuHanJP-Regular.woff") format("woff")
}

@font-face {
	font-family: "YakuHanJP";
	font-style: normal;
	font-weight: 500;
	src: url("../fonts/YakuHanJP-Medium.woff2") format("woff2"), url("../fonts/YakuHanJP-Medium.woff") format("woff")
}

@font-face {
	font-family: "YakuHanJP";
	font-style: normal;
	font-weight: 700;
	src: url("../fonts/YakuHanJP-Bold.woff2") format("woff2"), url("../fonts/YakuHanJP-Bold.woff") format("woff")
}

@font-face {
	font-family: "YakuHanMP";
	font-style: normal;
	font-weight: 400;
	src: url("../fonts/YakuHanMP-Regular.woff2") format("woff2"), url("../fonts/YakuHanMP-Regular.woff") format("woff")
}

@font-face {
	font-family: "YakuHanMP";
	font-style: normal;
	font-weight: 500;
	src: url("../fonts/YakuHanMP-Medium.woff2") format("woff2"), url("../fonts/YakuHanMP-Medium.woff") format("woff")
}

@font-face {
	font-family: "YakuHanMP";
	font-style: normal;
	font-weight: 700;
	src: url("../fonts/YakuHanMP-Bold.woff2") format("woff2"), url("../fonts/YakuHanMP-Bold.woff") format("woff")
}

* {
	margin: 0;
	padding: 0;
	box-sizing: border-box
}

body {
	font-family: "YakuHanMP", "Noto Serif JP", serif;
	font-weight: 400;
	font-size: 4.1025641026vw;
	letter-spacing: .05em;
	line-height: 1.6
}

@media only screen and (min-width: 599px) {
	body {
		font-size: 1rem
	}
}

.pc-tag {
	display: none
}

@media only screen and (min-width: 599px) {
	.pc-tag {
		display: block
	}
}

.pc-tab-tag {
	display: none
}

@media only screen and (min-width: 599px) {
	.pc-tab-tag {
		display: block
	}
}

.tab-tag {
	display: none
}

.sp-tag {
	display: block
}

@media only screen and (min-width: 599px) {
	.sp-tag {
		display: none
	}
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-size: 4.1025641026vw
}

a {
	text-decoration: none;
	color: #000;
	cursor: pointer
}

figure {
	margin: 0
}

img {
	max-width: 100%;
	height: auto;
	vertical-align: bottom
}

input[type=text],
input[type=tel],
input[type=email],
select,
textarea {
	width: 100%;
	padding: 1em .8em;
	border-radius: 0;
	border: none;
	background: #7e5800;
	font-size: 1rem;
	letter-spacing: .1em;
	color: #000;
	font-family: "YakuHanMP", "Noto Serif JP", serif;
}

input[type=submit],
input[type=button],
button {
	border-radius: 0;
	-webkit-appearance: button;
	-moz-appearance: button;
	appearance: button;
	padding: .5em 2em;
	font-size: 1rem;
	font-family: "YakuHanMP", "Noto Serif JP", serif;
	color: #000;
	border: none;
	box-sizing: border-box;
	cursor: pointer
}

input[type=submit]::-webkit-search-decoration,
input[type=button]::-webkit-search-decoration {
	display: none
}

label {
	cursor: pointer
}

video {
	max-width: 100%
}

ul li,
ol li {
	list-style: none
}




header {
	position: fixed;
	width: 100%;
	z-index: 9999;
	transition: 1s;
	top: 0;
}
	header .headerInner {
		display: flex;
		justify-content: space-between;
		align-items: center;
		flex-wrap: wrap;
		width: calc(100% - 52px);
		margin: 26px auto 0;
	}
		.headerInner .logo {
			display: block;
			width: 100%;
			max-width: 480px;
		}
		.headerInner .headerNav {
			display: flex;
			justify-content: space-between;
			align-items: flex-start;
			flex-wrap: wrap;
		}
			.headerNav .headerTxt {
				border-radius: 5px;
				background: rgba(255, 255, 255, .8);
				border: solid 1px rgba(0, 0, 0, .1);
				width: 145px;
				margin-right: 22px;
			}
				.headerTxt li + li {
					border-top: solid 1px rgba(0, 0, 0, .2);
				}
				.headerTxt li a {
					display: block;
					width: 100%;
					height: 100%;
					padding: 0 20px;
					line-height: 33.5px;
					font-size: 14px;
					font-family: "YakuHanJP", "Noto Sans JP", serif;
					font-weight: 500;
					color: #121212;
					transition: .3s;
				}
				.headerTxt li a:hover {
					opacity: .7;
				}
				.headerTxt li a img {
					width: 15px;
					display: inline-block;
					margin-right: 10px;
					vertical-align: text-bottom;
				}
			.headerNav .headerBtn {
				display: flex;
				justify-content: space-between;
				align-items: flex-start;
				flex-wrap: wrap;
			}
				.headerBtn li {
					width: 212px;
					border-radius: 5px;
					margin-right: 22px;
					cursor: pointer;
					position: relative;
				}
				.headerBtn li:hover {
					filter: drop-shadow(0px 0px 10px rgba(0,0,0,0.1));
				}
				.headerBtn li:before {
					content: '';
					position: absolute;
					top: 0;
					left: 0;
					width: 100%;
					height: 100%;
					border-radius: 5px;
					z-index: -1;
				}
				.headerBtn li.entry:before {
					background : linear-gradient(110deg, rgba(101, 173, 46, 1) 0%, rgba(0, 128, 189, 1) 50%, rgba(0, 87, 130, 1) 100%);
				}
				.headerBtn li.reserve:before {
					background : linear-gradient(110deg, rgba(245, 199, 79, 1) 0%, rgba(147, 113, 26, 1) 50%, rgba(197, 158, 57, 1) 100%);
				}
				.headerBtn li:after {
					content: '';
					position: absolute;
					top: 0;
					left: 0;
					width: 100%;
					height: 100%;
					border-radius: 5px;
					z-index: -1;
					opacity: 0;
					transition: .3s;
				}
				.headerBtn li.entry:after {
					background : linear-gradient(110deg, rgba(0, 87, 130, 1) 0%, rgba(0, 128, 189, 1) 50%, rgba(101, 173, 46, 1) 100%);
				}
				.headerBtn li.reserve:after {
					background : linear-gradient(110deg, rgba(197, 158, 57, 1) 0%, rgba(147, 113, 26, 1) 50%, rgba(245, 199, 79, 1) 100%);
				}
				.headerBtn li:hover:after {
					opacity: 1;
				}
				.headerBtn li a {
					display: flex;
					justify-content: space-between;
					flex-wrap: wrap;
					width: 100%;
					height: auto;
					color: #fff;
					padding: 0 20px;
					line-height: 70px;
				}
				.headerBtn li span {
					display: block;
					font-size: 19px;
					font-family: "YakuHanJP", "Noto Sans JP", serif;
					font-weight: 600;
					letter-spacing: 0;
				}
				.headerBtn li small {
					display: block;
					font-size: 11px;
					font-family: "Oswald", serif;
					font-weight: 400;
				}
			.headerNav .menu-btn {
				height: 70px;
				aspect-ratio: 1/1;
				border-radius: 5px;
				background: rgba(255, 255, 255, .8);
				position: relative;
				transition: .3s;
				cursor: pointer;
				filter: drop-shadow(0px 0px 10px rgba(0,0,0,0.1));
				padding: 0;
				vertical-align: bottom;
			}
			.hederNav .menu-btn:hover {
				filter: drop-shadow(0px 0px 10px rgba(0,0,0,0.1));
			}
				.menu-btn .bar {
					display: block;
					width: calc(70px - 2em);
					height: 2px;
					margin: auto;
					background: #121212;
					position: absolute;
					left: 50%;
					transform: translateX(-50%);
					transform-origin: left;
					transition: all .3s;
				}
				.menu-btn .bar:nth-of-type(1) {
					top: calc(50% - 8px);
				}
				.menu-btn .bar:nth-of-type(2) {
					top: 50%;
				}
				.menu-btn .bar:nth-of-type(3) {
					top: calc(50% + 8px);
				}
				.menu-btn.on .bar:nth-of-type(1) {
					top: 50%;
					transform: rotate(45deg) translate(-50%, -50%);
				}
				.menu-btn.on .bar:nth-of-type(2) {
					opacity: 0;
				}
				.menu-btn.on .bar:nth-of-type(3) {
					top: 50%;
					transform: rotate(-45deg) translate(-50%, -50%);
				}

@media only screen and (max-width: 1249px) {
		header .headerInner {
			width: 100%;
			padding: 10px 0;
			margin-top: 0;
			background : linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);
		}
			.headerInner .logo {
				display: block;
				width: 90%;
				max-width: none;
				margin: 0 auto;
			}
				.headerNav .headerTxt {
					display: none;
				}
				.headerNav .headerBtn {
					position: fixed;
					bottom: 5px;
					left: 5px;
					justify-content: space-between;
					width: 70%;
				}
					.headerBtn li {
						width: 49%;
						border-radius: 3px;
						margin-right: 0;
					}
					.headerBtn li a {
						display: flex;
						justify-content: space-between;
						flex-wrap: wrap;
						width: 100%;
						height: auto;
						color: #fff;
						padding: 0;
						line-height: 34px;
						text-align: center;
					}
					.headerBtn li span {
						font-size: 13px;
						text-align: center;
						width: 100%;
					}
					.headerBtn li small {
						display: none;
					}
				.headerNav .menu-btn-wrap {
					position: fixed;
					right: 0;
					bottom: 0;
				}
				.headerNav .menu-btn {
					height: 60px;
					border-radius: 3px 0 0 0;
				}
				.hederNav .menu-btn:hover {
					filter: drop-shadow(0px 0px 10px rgba(0,0,0,0.1));
				}
					.menu-btn .bar {
						width: calc(60px - 1.5em);
						height: 1px;
					}
					.menu-btn .bar:nth-of-type(1) {
						top: calc(50% - 8px);
					}
					.menu-btn .bar:nth-of-type(2) {
						top: 50%;
					}
					.menu-btn .bar:nth-of-type(3) {
						top: calc(50% + 8px);
					}
					.menu-btn.on .bar:nth-of-type(1) {
						top: 50%;
						transform: rotate(45deg) translate(-50%, -50%);
					}
					.menu-btn.on .bar:nth-of-type(2) {
						opacity: 0;
					}
					.menu-btn.on .bar:nth-of-type(3) {
						top: 50%;
						transform: rotate(-45deg) translate(-50%, -50%);
					}
}


.g-navi {
	width: 100%;
	max-width: 705px;
	height: auto;
	background: rgba(255, 255, 255, .95);
	border-radius: 5px;
	border: solid 1px rgba(0, 0, 0, .1);
	filter: drop-shadow(0px 0px 10px rgba(0,0,0,0.1));
	position: fixed;
	top: 122px;
	right: 26px;
	z-index: 600;
	overflow-y: auto;
	visibility: hidden;
	opacity: 0;
	transform: scale(0.0);
	transform-origin: top right;
	transition: all .3s;
}
.g-navi.on {
	visibility: visible;
	opacity: 1;
	transform: scale(1.0);
}
.g-navi ul {
	display: grid;
	grid-template-columns: 1fr 1fr;
}
.g-navi ul li {
	border-bottom: 1px solid #ccc
}
.g-navi ul li a,
.g-navi ul li .soon {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100%;
	aspect-ratio: 2.5/1;
	position: relative;
}
.g-navi ul li a .en,
.g-navi ul li .soon .en {
	font-family: "Oswald", serif;
	font-size: .8em;
	font-weight: 400;
	color: rgba(0, 128, 189, .5);
}
.g-navi ul li a .jp,
.g-navi ul li .soon .jp {
	font-size: 3.5897435897vw;
	text-align: center;
	line-height: 1.2;
}
.g-navi ul li .soon .en,
.g-navi ul li .soon .jp {
	opacity: .2
}
.g-navi ul li .soon:after {
	content: '繝｢繝�Ν繝ｫ繝ｼ繝�譚･蝣ｴ閠�ｧ禄A髯仙ｮ壹し繧､繝医↓縺ｦ蜈ｬ髢倶ｸｭ';
	position: absolute;
	width: 100%;
	padding: 10px 0;
	background: rgba(255, 255, 255, .4);
	font-size: clamp(12px, 0.729166666vw, 14px);
	color: rgba(147, 113, 26, 1);
	text-align: center;
	white-space:pre;
}
.g-navi ul li:nth-of-type(odd) {
	border-right: 1px solid #ccc
}
.g-navi ul li.full {
	grid-column: -1/1
}
.g-navi ul li.full a,
.g-navi ul li.full .soon {
	aspect-ratio: 5/1
}
.g-navi ul li.gold {
	border-bottom: none;
}
.g-navi ul li.gold a {
	position: relative;
	z-index: 1;
	overflow: hidden
}
.g-navi ul li.gold a .en,
.g-navi ul li.gold .soon .en {
	color: #121212;
	opacity: .5;
}
.g-navi ul li.gold a::before {
	content: "";
	display: block;
	width: 150%;
	height: 100%;
	background: linear-gradient(-45deg, rgba(167, 132, 50, 0.2) 0%, rgba(255, 255, 255, 0.2) 51.23%, rgba(155, 117, 28, 0.2) 100%);
	position: absolute;
	inset: 0;
	left: auto;
	z-index: -1;
	transition: transform .5s
}
@media only screen and (min-width: 1250px) {
	.g-navi ul {
		grid-template-columns: repeat(4, 1fr)
	}
	.g-navi ul li {
		border-right: 1px solid #ccc
	}
	.g-navi ul li a,
	.g-navi ul li .soon {
		aspect-ratio: 2/1
	}
	.g-navi ul li a .jp,
	.g-navi ul li .soon .jp {
		font-size: 2.1739130435vw
	}
	.g-navi ul li a .jp,
	.g-navi ul li .soon .jp {
		font-size: .8rem
	}
	.g-navi ul li a {
		transition: background .5s
	}
	.g-navi ul li a:hover {
		background: rgba(0, 128, 189, .1);
	}
	.g-navi ul li:nth-of-type(4n) {
		border-right: none
	}
	.g-navi ul li.gold a:hover {
		background: rgba(0, 0, 0, 0)
	}
	.g-navi ul li.gold a:hover::before {
		transform: translateX(30%)
	}
}
@media only screen and (max-width: 1249px) {
	.g-navi {
		width: 90%;
		height: auto;
		top: auto;
		bottom: 70px;
		left: 50%;
		right: auto;
		transform: scale(0.0) translateX(-50%);
		transform-origin: bottom right;
	}
	.g-navi.on {
		transform: scale(1.0) translateX(-50%);
	}
	.g-navi ul li.gold {
		border-bottom: solid 1px #ccc;
	}
	.g-navi ul li.last {
		border-bottom: none;
	}
}




.bottomCards {
	background: #f3f3f3;
	padding: 200px 0 160px;
}
	.bottomCards .inner {
		padding: 0 0 0 26px;
	}
		.bottomCards .bottomCardsHead {
			font-family: "Zen Antique", serif;
			font-size: 80px;
			color: #d9d9d9;
			line-height: 1;
			margin-bottom: 70px;
			position: relative;
		}
			.bottomCardsHead:after {
				content: '';
				width: 100%;
				height: 1px;
				background: #d9d9d9;
				position: absolute;
				bottom: 5px;
				left: 0;
			}
			.bottomCardsHead span {
				display: inline-block;
				position: relative;
				z-index: 2;
			}
			.bottomCardsHead span:after {
				content: '';
				width: 100%;
				height: 100%;
				background: #f3f3f3;
				position: absolute;
				bottom: 0;
				left: 0;
				z-index: -1;
			}
			.bottomCards .bottomCardsWrap {
				overflow: auto;
			}
				.bottomCardsWrap .bottomCardsList {
					display: flex;
					justify-content: flex-start;
					align-items: stretch;
				}
					.bottomCardsList li {
					}
					.bottomCardsList li a {
						display: block;
						border: solid 1px rgba(0, 0, 0, .2);
						border-left: none;
						padding: 20px 20px 30px;
						width: 467px;
						min-height: 447px;
						position: relative;
						z-index: 1;
					}
					.bottomCardsList li:nth-child(1) a {
						border-left: solid 1px rgba(0, 0, 0, .2);
					}
					.bottomCardsList li a:before {
						content: '';
						width: 100%;
						height: 100%;
						position: absolute;
						top: 0;
						left: 0;
						background: linear-gradient(110deg, rgba(101, 173, 46, 1) 0%, rgba(0, 128, 189, 1) 50%, rgba(0, 87, 130, 1) 100%);
						z-index: -2;
					}
					.bottomCardsList li a:after {
						content: '';
						width: 100%;
						height: 100%;
						position: absolute;
						top: 0;
						left: 0;
						background: #fff;
						opacity: 1;
						transition: .3s;
						z-index: -1;
					}
					.bottomCardsList li a:hover:after {
						opacity: 0;
					}
					.bottomCardsList li a figure {
						position: relative;
						margin-bottom: 30px;
					}
					.bottomCardsList li a figcaption {
						color: #fff;
						position: absolute;
						bottom: 0;
						right: 0;
						font-size: 10px;
						color: #fff;
						background: rgba(0, 0, 0, .6);
						padding: 3px 5px;
					}
					.bottomCardsList li a .txtWrap {
						display: flex;
						justify-content: space-between;
						align-items: stretch;
						flex-wrap: wrap;
					}
					.bottomCardsList li a .txtWrap .en {
						font-family: "Zen Antique", serif;
						font-size: 22px;
						line-height: 1;
						background: linear-gradient(110deg, rgba(101, 173, 46, 1) 0%, rgba(0, 128, 189, 1) 50%, rgba(0, 87, 130, 1) 100%);
						-webkit-background-clip: text;
						-webkit-text-fill-color: transparent;
					}
					.bottomCardsList li a:hover .txtWrap .en {
						-webkit-text-fill-color: #fff;
					}
					.bottomCardsList li a .txtWrap .jp {
						font-family: "YakuHanJP", "noto sans jp", serif;
						font-size: 15px;
						font-weight: 400;
						line-height: 1.8;
						margin-top: -5px;
					}
					.bottomCardsList li a:hover .txtWrap .jp {
						color: #fff;
					}
@media only screen and (max-width: 598px) {
	.bottomCards {
		padding: 80px 0 0;
	}
		.bottomCards .inner {
			padding: 0;
		}
			.bottomCards .bottomCardsHead {
				font-size: 40px;
				margin-bottom: 20px;
				text-align: center;
			}
				.bottomCardsHead:after {
					display: none;
				}
				.bottomCardsHead span {
					display: inline-block;
					position: relative;
					z-index: 2;
				}
				.bottomCardsHead span:after {
					display: none;
				}
				.bottomCards .bottomCardsWrap {
					overflow: auto;
					margin-left: 5%;
				}
					.bottomCardsWrap .bottomCardsList {
						display: flex;
						justify-content: flex-start;
						align-items: stretch;
						transform: scale(.75);
						transform-origin: top left;
					}
}


footer.footer {
	background: #fff
}
footer.footer .footerWrap {
	background: linear-gradient(335deg, #FFFFFF 0%, #E3E3E3 100%);
}
footer.footer .inner {
	width: 90%;
	margin: 0 auto;
}
@media only screen and (min-width: 599px) {
	footer.footer .inner {
		width: min(84%, 1600px);
	}
}

footer.footer .fInfoSec {
	padding: 160px 0 120px;
}
	.fInfoSec .logo {
		width: 47.5%;
		max-width: 760px;
		margin-bottom: 80px;
	}
	.fInfoSec .fInfoSecWrap {
		display: flex;
		justify-content: space-between;
		align-items: stretch;
	}
		.fInfoSecWrap .fInfoContact,
		.fInfoSecWrap .fInfoContents {
			display: flex;
			justify-content: space-between;
			align-items: stretch;
		}
		.fInfoSecWrap .fInfoTtl {
			font-size: 15px;
			font-family: "Zen Antique", serif;
			color: rgba(0, 0, 0, .5);
			width: 160px;
		}
		.fInfoSecWrap .fInfoConts {
			width: calc(100% - 160px);
		}
		.fInfoSecWrap .fInfoContact {
			width: 50%;
		}
			.fInfoContact .txt {
				font-size: 20px;
				line-height: 1.75;
				margin-bottom: 20px;
			}
			.fInfoContact .tel {
				display: flex;
				justify-content: space-between;
			}
				.tel .telNum {
					width: 46.875%;
				}
				.tel .telCaution {
					font-size: 15px;
					font-family: "YakuHanJP", "Noto Sans JP", serif;
					margin-top: -5px;
				}
		.fInfoSecWrap .fInfoContents {
			width: 47.5%;
		}
			.fInfoContents .fInfoConts {
				display: flex;
				justify-content: space-between;
				align-items: flex-start;
			}
			.fInfoContents .fInfoConts.sp-tag,
			.fInfoContents .fInfoConts2.sp-tag {
				display: none;
			}
				.fInfoConts ul {
					width: 32%;
				}
				.fInfoContents ul li {
					font-size: 15px;
					font-family: "YakuHanJP", "Noto Sans JP", serif;
					margin-bottom: 20px;
				}
					.fInfoContents ul li a {
						transition: .3s;
					}
					.fInfoContents ul li.soon a {
						pointer-events: none;
						opacity: .25;
					}
					.fInfoContents ul li a:hover {
						opacity: .5;
					}

@media only screen and (max-width: 1650px) {
	.fInfoSecWrap .fInfoContact {
		display: block;
	}
	.fInfoSecWrap .fInfoTtl {
		margin-bottom: 30px;
	}
	.fInfoSecWrap .fInfoConts {
		width: 100%;
	}
	.fInfoContact .tel {
		display: block;
	}
		.tel .telNum {
			width: 80%;
			margin-bottom: 20px;
		}
		.fInfoContents {
			flex-wrap: wrap;
		}
		.fInfoContents .fInfoConts2.sp-tag {
			display: block;
			width: 100%;
		}
			.fInfoContents .fInfoConts.sp-tag,
			.fInfoContents .fInfoConts2 ul {
				display: flex;
				justify-content: space-between;
				align-items: flex-start;
			}
			.fInfoContents .fInfoConts.pc-tag {
				display: none;
			}
				.fInfoConts ul {
					width: 49%;
				}
				.fInfoContents ul li,
				.fInfoConts2 li {
					font-size: 14px;
					margin-bottom: 20px;
				}
				.fInfoConts2 li {
					width: 49%;
				}
}
@media only screen and (max-width: 598px) {
	footer.footer .fInfoSec {
		padding: 100px 0 80px;
	}
		.fInfoSec .logo {
			width: 100%;
			margin-bottom: 60px;
		}
		.fInfoSec .fInfoSecWrap {
			display: block;
		}
			.fInfoSecWrap .fInfoContact,
			.fInfoSecWrap .fInfoContents {
				display: block;
			}
			.fInfoSecWrap .fInfoTtl {
				width: 100%;
				margin-bottom: 30px;
			}
			.fInfoSecWrap .fInfoConts {
				width: 100%;
			}
			.fInfoSecWrap .fInfoContact {
				width: 100%;
			}
				.fInfoContact .txt {
					font-size: 18px;
				}
				.fInfoContact .tel {
					display: block;
				}
					.tel .telNum {
						width: 80%;
						margin-bottom: 20px;
					}
					.tel .telCaution {
						margin-top: 0;
					}
			.fInfoSecWrap .fInfoContents {
				width: 100%;
				margin-top: 60px;
			}
			.fInfoContents .fInfoConts2.sp-tag {
				display: block;
			}
				.fInfoContents .fInfoConts.sp-tag,
				.fInfoContents .fInfoConts2 ul {
					display: flex;
					justify-content: space-between;
					align-items: flex-start;
				}
				.fInfoContents .fInfoConts.pc-tag {
					display: none;
				}
					.fInfoConts ul {
						width: 49%;
					}
					.fInfoContents ul li,
					.fInfoConts2 li {
						font-size: 14px;
						margin-bottom: 20px;
					}
					.fInfoConts2 li {
						width: 49%;
					}
}


footer.footer .devSec {
	padding: 70px 0;
	margin: 0 26px;
	border-top: solid 1px #d0d0d0;
	font-family: "YakuHanJP", "Noto Sans JP", serif;
}
	.devSec .devSecWrap {
		display: flex;
		justify-content: space-between;
		align-items: stretch;
	}
		.devSecWrap .devSecItem {
			display: flex;
			align-items: stretch;
			flex-wrap: wrap;
			max-width: 430px;
		}
			.devSecItem .devTtl {
				margin-bottom: 20px;
				font-size: 15px;
				color: rgba(0, 0, 0, .5);
			}
			.devSecItem .box {
				display: flex;
				justify-content: space-between;
				align-items: flex-end;
				width: 100%;
			}
				.box .devIcons {
				}
				.box .devLinks {
					color: rgba(0, 0, 0, .7);
					font-size: 11px;
				}
				.box .devLinks li + li {
					margin-top: 5px;
				}
				.box .devLinks li a {
					transition: .3s;
				}
				.box .devLinks li a:hover {
					opacity: .7;
				}
@media only screen and (max-width: 1600px) {
	.devSecItem + .devSecItem {
		margin-left: 20px;
	}
	.devSecItem .box {
		display: block;
	}
	.devSecItem .devIcons {
		margin-bottom: 20px;
	}
}
@media only screen and (max-width: 598px) {
	footer.footer .devSec {
		width: 90%;
		padding: 60px 0;
		margin: 0 auto;
	}
		footer.footer .devSec .devSec .inner {
			width: 100%;
		}
			.devSec .devSecWrap {
				display: block;
			}
				.devSecWrap .devSecItem {
					display: block;
					max-width: 240px;
					margin: 0 auto;
				}
				.devSecWrap .devSecItem + .devSecItem {
					margin-top: 40px;
					margin-left: auto;
				}
					.devSecItem .devTtl {
						margin-bottom: 20px;
						font-size: 11px;
					}
					.devSecItem .box {
						display: block;
						width: 100%;
					}
						.box .devIcons {
							margin-bottom: 20px;
						}
						.box .devLinks {
							font-size: 10px;
						}
}


footer.footer .annotation-sec {
	border-top: solid 1px #d0d0d0;
	padding: 50px 0;
	margin: 0 26px;
	font-size: 10px;
	color: #7b7b7b;
	font-family: "YakuHanJP", "Noto Sans JP", serif;
	text-align: justify;
}
@media only screen and (max-width: 598px) {
	footer.footer .annotation-sec {
		margin: 0 auto;
		width: 90%;
	}
	footer.footer .annotation-sec .inner {
		margin: 0 auto;
		width: 100%;
	}
}




footer.footer .site-info-sec {
	padding-top: 2em;
	padding-bottom: 2em;
}

@media only screen and (min-width: 599px) {
	footer.footer .site-info-sec {
		padding-top: 3em;
		padding-bottom: 6em;
		font-size: .75rem
	}
}

footer.footer .site-info-sec a {
	transition: opacity .2s
}

footer.footer .site-info-sec a:hover {
	opacity: .7
}

footer.footer .site-info-sec h1.seo {
	font-size: 3.5897435897vw
}

@media only screen and (min-width: 599px) {
	footer.footer .site-info-sec h1.seo {
		margin-bottom: 2em;
		padding-bottom: 1em;
		border-bottom: 1px solid rgba(0, 0, 0, .2);
		font-size: .75rem;
		font-weight: 500
	}
}

footer.footer .site-info-sec .ftr_pankuzu {
	display: none
}

@media only screen and (min-width: 599px) {
	footer.footer .site-info-sec .ftr_pankuzu {
		display: block
	}
}

@media only screen and (min-width: 599px) {
	footer.footer .site-info-sec .ftr_pankuzu .clm {
		display: flex;
		gap: .3em;
		flex-wrap: wrap
	}
}

footer.footer .site-info-sec .ftr_other {
	margin-top: 2em;
	padding: 1em;
	background: #f2f2f2;
	font-size: 3.0769230769vw
}

@media only screen and (min-width: 599px) {
	footer.footer .site-info-sec .ftr_other {
		font-size: .75rem
	}
}

@media only screen and (min-width: 599px) {
	footer.footer .site-info-sec .ftr_other dl {
		display: flex;
		gap: 3em
	}
}

footer.footer .site-info-sec .ftr_other dl dt {
	margin-bottom: .3em
}

footer.footer .site-info-sec .ftr_other dl dd {
	display: flex;
	flex-wrap: wrap;
	gap: .7em
}

footer.footer #bukken {
	margin-top: 2em;
	margin-bottom: 2em
}

@media only screen and (min-width: 599px) {
	footer.footer #bukken {
		margin-bottom: 6em;
		margin-top: 6em
	}
}

footer.footer .banner-block {
	display: flex;
	flex-direction: column;
	gap: 1em
}

@media only screen and (min-width: 599px) {
	footer.footer .banner-block {
		flex-direction: row;
		align-items: center;
		justify-content: center;
		gap: 3em
	}
}

footer.footer .copyright {
	margin-top: 40px;
	padding: .5em 0;
	background: #f2f2f2;
	text-align: center;
	font-size: 3.0769230769vw;
	letter-spacing: normal;
	margin-bottom: 140px;
}

@media only screen and (min-width: 599px) {
	footer.footer .copyright {
		font-size: .625rem;
		margin-bottom: 0;
	}
}

.pagetopb {
	text-align: center;
	height: 66px;
	width: 66px;
	cursor: pointer;
	position: fixed;
	right: -200px;
	bottom: 75px;
	z-index: 500;
	transition: .5s;
	background: #121212;
	animation: AnimationName 30s ease infinite;
	border-radius: 50%
}
.posfix .pagetopb {
	right: 5px
}
.pagetopb::before {
	pointer-events: none;
	content: "";
	position: absolute;
	left: 27px;
	top: 30px;
	z-index: 1;
	width: 12px;
	height: 12px;
	margin: auto;
	border-left: #fff solid 1px;
	border-top: #fff solid 1px;
	transform: rotate(45deg);
}
.pagetopb a {
	display: block;
	width: 100%;
	height: 100%
}
@media only screen and (max-width: 598px) {
	.pagetopb {
		height: 40px;
		width: 40px;
	}
	.posfix .pagetopb {
		right: 9px
	}
	.pagetopb::before {
		left: 16px;
		top: 18px;
		width: 8px;
		height: 8px;
	}
}




.sub-page .inner {
	width: min(90%, 1280px);
	margin-left: auto;
	margin-right: auto
}

.sub-page .page-upper {
	padding-top: 4em;
	padding-bottom: 3em;
	text-align: center
}

@media only screen and (min-width: 599px) {
	.sub-page .page-upper {
		padding-top: 5em;
		padding-bottom: 6em
	}
}

.sub-page .page-upper .inner {
	display: flex;
	flex-direction: column;
	align-items: center
}

.sub-page .page-upper .main-copy {
	color: #a78432;
	font-size: 6.1538461538vw;
	font-weight: 500
}

@media only screen and (min-width: 599px) {
	.sub-page .page-upper .main-copy {
		font-size: 2.5rem;
		letter-spacing: .1em
	}
}

.sub-page .page-upper .sub-copy {
	margin-top: 2.2em;
	font-size: 5.1282051282vw;
	font-weight: 400
}

@media only screen and (min-width: 599px) {
	.sub-page .page-upper .sub-copy {
		margin-top: 3em;
		font-size: 1.5rem;
		letter-spacing: .1em
	}
}

.sub-page .page-upper .txt {
	margin-top: 3em;
	text-align: left;
	line-height: 1.8
}

@media only screen and (min-width: 599px) {
	.sub-page .page-upper .txt {
		margin-top: 2.5em;
		text-align: center;
		line-height: 2;
		letter-spacing: .1em
	}
}

.sub-page .sub-page-title {
	display: grid
}

.sub-page .sub-page-title .bg,
.sub-page .sub-page-title .page-title {
	grid-area: 1/1
}

.sub-page .sub-page-title .bg img {
	height: 150px;
	width: 100%;
	-o-object-fit: cover;
	object-fit: cover
}

@media only screen and (min-width: 599px) {
	.sub-page .sub-page-title .bg img {
		height: 430px
	}
}

@media only screen and (min-width: 599px) {
	.sub-page .sub-page-title .bg.other img {
		height: 240px
	}
}

.sub-page .sub-page-title .page-title {
	align-self: center;
	justify-self: center;
	z-index: 2;
	display: flex;
	flex-direction: column;
	align-items: center;
	color: #fff;
	padding: 0 1rem
}

.sub-page .sub-page-title .page-title .jp {
	order: 2;
	font-size: 3.5897435897vw;
	font-weight: 400
}

@media only screen and (min-width: 599px) {
	.sub-page .sub-page-title .page-title .jp {
		font-size: 1.25rem
	}
}

.sub-page .sub-page-title .page-title .en {
	font-size: 8.2051282051vw;
	font-family: "Times New Roman", serif;
	font-weight: 500;
	line-height: 1;
	text-align: center
}

@media only screen and (min-width: 599px) {
	.sub-page .sub-page-title .page-title .en {
		font-size: 4rem;
		letter-spacing: .1em;
		line-height: 1.4
	}
}

.imgbox {
	position: relative
}

.imgbox .img-caption {
	text-align: right;
	font-size: 3.0769230769vw;
	letter-spacing: normal;
	font-weight: 300
}

@media only screen and (min-width: 599px) {
	.imgbox .img-caption {
		font-size: .75rem
	}
}

.imgbox .img-caption.in {
	position: absolute;
	right: .2em;
	bottom: .2em;
	z-index: 2
}

.imgbox .img-caption.w {
	color: #fff
}

.imgbox .img-caption.wsh {
	text-shadow: 1px 1px 2px rgba(255, 255, 255, .95), -1px 1px 2px rgba(255, 255, 255, .95), 1px -1px 2px rgba(255, 255, 255, .95), -1px -1px 2px rgba(255, 255, 255, .95)
}

.imgbox .img-caption.bsh {
	color: #fff;
	text-shadow: 1px 1px 2px rgba(0, 0, 0, .95), -1px 1px 2px rgba(0, 0, 0, .95), 1px -1px 2px rgba(0, 0, 0, .95), -1px -1px 2px rgba(0, 0, 0, .95)
}

.button-gold {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	width: min(100%, 320px);
	padding: .3em 2em;
	border: 1px solid #a78432;
	position: relative;
	z-index: 1;
	color: #7e5800;
	font-size: 5.1282051282vw;
	overflow: hidden;
	transition: color .2s;
	margin: 5rem auto 0
}

@media only screen and (min-width: 599px) {
	.button-gold {
		font-size: 1.25rem
	}
}

.button-gold::before {
	content: "";
	display: block;
	width: 150%;
	height: 100%;
	margin: auto;
	background: linear-gradient(90deg, #f8f3e5 0%, #f8f3e5 40%, #fff 60%, #f8f3e5 100%);
	position: absolute;
	inset: 0;
	left: auto;
	z-index: -1;
	transition: opacity .2s
}

@media only screen and (min-width: 599px) {
	.button-gold:hover {
		color: #b17c00
	}

	.button-gold:hover::before {
		opacity: .5
	}
}

.ib {
	display: inline-block
}

section.grade .grademv .grade-en {
	opacity: 0;
	transform: translateY(-20px);
	transition: all .8s
}

section.grade .grademv .box .box-img::after {
	opacity: .9;
	transition: all .8s
}

section.grade .grademv .box .box-img img {
	transition: all .8s
}

section.grade .grademv.mv .grade-en {
	opacity: 1;
	transform: translateY(0)
}

section.grade .grademv.mv .box .box-img::after {
	opacity: .5
}

section.grade .grademv.mv .box .box-img img {
	transform: scale(1.05)
}

.onmv {
	opacity: 0;
	transform: translateY(10px);
	transition: all .8s
}

.onmv.mv {
	opacity: 1;
	transform: translateY(0)
}

/*  Universal animation
--------------------------------------------------*/
.animated {
	animation-duration: .5s;
	animation-fill-mode: both;
}
/* fade in */
@keyframes fadeIn { from { opacity: 0; filter: blur(5px); } to { opacity: 1; filter: blur(0px); } }
.fadeIn { animation-name: fadeIn; animation-fill-mode:both; animation-duration:1s; visibility: visible !important; opacity: 0; filter: blur(5px);}
</pre></body></html>