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

html {
	position: relative;
	width: 100%;
	scroll-behavior: smooth;
	scroll-padding-top: clamp(120px,9dvw,190px);
}

body {
	font-family: "shippori-mincho", serif;
	font-weight: 400;
	font-style: normal;
	line-height: 1.8;
	color:#313131;
	font-size:20px;
	padding-top:clamp(100px,8.85dvw,170px);
}
canvas {
	width: 100dvw;
	height: 100dvh;
	position:fixed;
	z-index:1;
}
@media print {
	a[href]:after {
		content: "" !important;
	}

	abbr[title]:after {
		content: "" !important;
	}
}

a {
	color: #313131;
}

a:hover {
	transition: 0.5s;
}

a:hover img {
	opacity: 0.7;
	transition: 0.5s;
}

header {
	background: rgba(255,255,255,0.4);
	-webkit-backdrop-filter: blur(5px) brightness(110%);
	backdrop-filter: blur(5px) brightness(110%);
	padding:0px 20px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	height:clamp(100px,8.85dvw,170px);
	width:100%;
	box-sizing:border-box;
	position:fixed;
	z-index:10000;
	top:0;
	left:0;
}

header h1 a{
	display:block;
	height:100%;
}
header h1 img {
	width:clamp(200px,20.26dvw,389px);
}

#gnav ul {
	display: flex;
	padding:0;
	gap: clamp(20px,2.6dvw,50px);
	font-family: "source-han-sans-japanese", sans-serif;
	font-weight: 500;
	font-style: normal;
}
#gnav ul li {
	position: relative;
}
#gnav > ul > li > a{
	font-size:clamp(18px,1.25dvw,24px);
	display:block;
	padding:15px 0 10px;
	background-position:bottom center;
	text-decoration:none;
}

#gnav ul li small{
	font-size:15px;
	display:block;
}
#gnav > ul > li > a:hover {
	background:url('../images/common/more.png') no-repeat bottom center;
}
#gnav ul li .subnav {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	background: white;
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
	padding: 10px;
	z-index: 1000;
	min-width: 280px;
}
/* li にホバーしたときに表示 */
#gnav ul li:hover .subnav {
	display: block;
}
.subnav li > a{
	text-decoration:none;
	font-size:clamp(18px,1.25dvw,24px);
	display:block;
	background-position:left center !important;
	padding:5px 0 5px 20px;
}
.subnav li > a:hover {
	background:url('../images/common/more.png') no-repeat left center !important;
}
.btn-contact{
	border-radius:35px;
	padding:5px;
	background: linear-gradient(to right, #d8eded 0%,#eae9f3 50%,#d7d1f5 100%);
}
.btn-contact a{
	display:block;
	width:180px;
	border-radius:30px;
	line-height:60px;
	background:#fff;
	padding:0 !important;
	text-align:center;
}

#wrapper {
	padding: 0px 0 0;
	position:relative;
	z-index:2;
}

.more a img {
	vertical-align: middle;
	margin-right: 10px;
}

main {
	line-height: 1.8em;
	position: relative;
	width: 100%;
}

.facilities{
	margin:0 auto 70px;
}
.facilities ul{
	max-width:1360px;
	margin:0 auto;
	list-style:none;
	padding:0;
	display:flex;
	gap:2.083dvw;
}

.facilities ul li{
	width:calc((100% - 8.332) / 5);
	flex:none;
	text-align:center;
}
.facilities ul li img{
	display:block;
	margin:0 auto;
}
footer {
	max-width:1520px;
	padding:40px 4.1dvw;
	border-radius:20px 20px 0 0;
	margin:0 auto;
	background:#fff;
}
footer h3{
	padding:0 0 30px;
	border-bottom:2px solid #9f9f9f;
	margin:0 auto 40px;
}
.footer-inner{
	display:flex;
}
footer address {
	font-style: normal;
	padding:0 40px 0 0;
	white-space:nowrap;
	border-right:2px dotted #dadada;
}
#fnav {
	display: flex;
	gap:3.6dvw;
	padding:0 0 0 40px;
}
#fnav dt{
	padding:0 0 0 20px;
	font-size:24px;
	background:url('../images/common/more.png') no-repeat left center;
}
#fnav dd {
	margin-bottom: 20px;
}

#fnav ul {
	list-style: none;
	padding: 0 0 0 30px;
}
#fnav ul li:before{
	content:"－";
}
#fnav a {
	position: relative;
	color: #313131;
	text-decoration: none;
	line-height: 1.8em;
	display:inline;
}
#fnav a:hover {
	text-decoration: underline;
}


.gotop {
	width: 50px;
	height: 50px;
	position: fixed;
	bottom: 20px;
	right: 20px;
	z-index: 10000;
}

.gotop a {
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	text-decoration: none;
	width: 100%;
	height: 100%;
	background:#f3e4e6;
	border-radius:10px;
		border:2px solid #e07f7d;
		box-sizing:border-box;
}

.gotop img {
	display: block;
}

.copyright {
	margin: 0 auto;
	text-align: right;
	line-height: 50px;
}

img.alignleft {
	float: left;
	margin: 0 40px 40px 0;
}

img.alignright {
	float: right;
	margin: 0 0 40px 40px;
}

img.aligncenter {
	display: block;
	margin: 0 auto 20px;
}

figure.alignleft {
	float: left;
	margin: 0 40px 40px 0;
}

figure.alignright {
	float: right;
	margin: 0 0 40px 40px;
}

figure.aligncenter {
	display: block;
	margin: 0 auto 20px;
}

@media (min-width: 769px) {
	html{		
		min-width: 1240px;
	}
	.sp_only {
		display: none !important;
	}
}
@media (max-width: 768px) {
	.pc_only {
		display: none !important;
	}
	html{		
		scroll-padding-top: 80px;
	}
	header{
		height:60px;
		padding:0 1.5dvw;
	}
	body{
		font-size:16px;
		padding-top:60px;
	}
	#hnav{
		width:50px;
		height:100%;
		position:relative;
		font-size:11px;
	}
	#hnav ul{
		display:flex;
		height:100%;
		align-items:center;
	}
	#hnav li{
		width:50px;
		height:50px;
		flex:none;
		box-sizing:border-box;
		text-align:center;
	}
	#menu{
		box-sizing:border-box;
		text-align:center;
		z-index: 10001;
		width:50px;
		height:50px;
		color:#db6c6a;
	}
	.nav-toggle {
		width: 100%;
		height:100%;
		cursor: pointer;
		position:relative;
		display:flex;
		flex-direction:column;
		justify-content:space-between;
	}
	.nav-toggle div {
		position: relative;
		width: 30px;
		height:36px;
		margin:0 auto;
	}
	.nav-toggle span {
		display: block;
		position: absolute;
		margin:0 auto;
		height: 3px;
		border-radius:2px;
		width: 100%;
		background: #db6c6a;
		left: 0;
		-webkit-transition: .35s ease-in-out;
		-moz-transition: .35s ease-in-out;
		transition: .35s ease-in-out;
	}
	.nav-toggle span:nth-child(1) {
		top: 10px;
	}
	.nav-toggle span:nth-child(2) {
		top: 18px;
	}
	.nav-toggle span:nth-child(3) {
		top: 26px;
	}
	.open .nav-toggle span:nth-child(1) {
		top: 18px;
		-webkit-transform: rotate(315deg);
		-moz-transform: rotate(315deg);
		transform: rotate(315deg);
	}
	.open .nav-toggle span:nth-child(2) {
		width: 0;
		left: 50%;
	}
	.open .nav-toggle span:nth-child(3) {
		top: 18px;
		-webkit-transform: rotate(-315deg);
		-moz-transform: rotate(-315deg);
		transform: rotate(-315deg);
	}
	#gnav{
		position: fixed;
		width:100%;
		padding:65px 5% 30px;
		box-sizing:border-box;
		background:rgba(255,255,255,0.95);
		top:0;
		right:0;
		-webkit-transition: .5s ease-in-out;
		-moz-transition: .5s ease-in-out;
		transition: .5s ease-in-out;
		box-shadow:0 0 5px rgba(0,0,0,0.5);
		z-index:10000;
		display:none;
	}
	.open #gnav {
		display:block;
	}
	.open #gnav a{
		padding:0;
		line-height:45px;
	}
	#gnav ul.sp_only{
		list-style:disc;
		padding:0 0 0 30px;
	}
	.btn-contact{
		margin-top:15px;
	}
	.btn-contact a{
		width:100%;
		text-align:center;
	}
	#gnav ul{
		display:block;
	}
	#fnav {
		display:none;
	}
	.footer-inner{
		justify-content:center;
	}
	footer address{
		padding:0;
		border:0;
	}
	.facilities ul{
		flex-direction:column;
	}
	.facilities ul li{
		width:100%;
	}
	.copyright{
		font-size:13px;
		text-align:center;
	}
	.gotop {
		width: 35px;
		height: 35px;
		bottom: 10px;
		right: 10px;
	}
}