@charset "utf-8";*,*::before,*::after{box-sizing:border-box}*:not(dialog){margin:0}@media (prefers-reduced-motion:no-preference){html{interpolate-size:allow-keywords;scroll-behavior:smooth;scrollbar-gutter:stable}}body{font-weight:400;font-size:1rem;line-height:1.5;font-family:sans-serif;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5,h6{line-height:1.15;overflow-wrap:break-word;text-wrap:balance}p{margin-top:1em;}b,strong{font-weight:700}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{background-color:transparent;text-decoration:none}a:active,a:hover{outline-width:0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}code,kbd,samp{font-family:monospace,monospace;font-size:1em}nav ul,nav ol{list-style:none;padding:0}ul,ol{padding-inline-start:1.5em}ul[role="list"],ol[role="list"]{list-style:none;padding:0}dl dt{font-weight:700}img,svg{display:inline;max-width:100%;height:auto;vertical-align:middle;background-repeat:no-repeat;background-size:cover;shape-margin:.75rem}picture,video,canvas{display:block;max-width:100%}iframe{border:none}table{border-collapse:collapse}details{display:block}summary{display:list-item}input,button,textarea,select{font:inherit}input,button{line-height:1.15}*:focus{outline:none}

:root {
	--font-family: "Hiragino Sans", Roboto, "Segoe UI", "Helvetica Neue", Helvetica, "Noto Sans", "Liberation Sans", Arial, "Yu Gothic Medium", "游ゴシック Medium", "Yu Gothic", Meiryo, sans-serif;
}

/* sticky footer */
html, body {
	height: 100%;
}
body > #footer-box {
	position: sticky;
	top: 100vh;
	top: 100dvh;
}

body {
	background: url(img/bg-img.jpg) center top / cover no-repeat;
	color: #252525;
	font-family: var(--font-family);
}

.kaisei {
	font-family: "Kaisei Decol", serif;
	font-weight: 700;
	font-style: normal;
}

.main {
	margin: 0 auto;
	padding: 1em 1em 3em;
	max-width: 1000px;
}
.inner {
	background: #ffdf4c;
}

.hero {
	margin-bottom: 2em;
}

.schedule {
	margin: 2em auto 1em;
	padding: 0 1.5em;
}
.schedule h2 {
	margin-bottom: .5em;
	font-size: clamp(1.5rem, 1.318rem + 0.91vw, 2rem);
	text-align: center;
}
.schedule-list {
	background: rgba(255, 255, 255, .5);
}
.schedule-list dt {
	padding: .5em;
	background: #111;
	color: #fff;
	font-size: clamp(1rem, 0.909rem + 0.45vw, 1.25rem);
}
.schedule-list dd {
	padding: 1em;
	font-size: clamp(0.875rem, 0.784rem + 0.45vw, 1.125rem);
	line-height: 1.75;
}

.schedule-note {
	padding: 1.5em 1em 1em 2.5em;
	background: rgba(255, 255, 255, .5);
	border-top: 2px dotted #555;
	font-size: clamp(0.813rem, 0.744rem + 0.34vw, 1rem);
}

.point {
	padding: 1em 1em 2em;
	text-align: center;
}
.point h2 {
	margin-bottom: .5em;
}
@media (min-width: 769px) {
	.point-desc {
		display: flex;
	}
	.point-desc img {
		width: 50%;
	}
}

.conditions {
	padding: 2em 1.5em;
	background: #eee;
	font-size: clamp(0.875rem, 0.83rem + 0.23vw, 1rem);
}
.conditions h2 {
	font-size: clamp(1.25rem, 1.159rem + 0.45vw, 1.5rem);
}

.conditions-list {
	margin-top: 1em;
}
.conditions-list li + li {
	margin-top: 1em;
}
.conditions-list li p {
	margin-top: .5em;
}
@media (min-width: 769px) {
	.conditions-list {
		columns: 2 300px;
		column-gap: 8%;
	}
	.conditions-list li {
		break-inside: avoid-column;
	}
}

.colophon {
	display: flex;
	flex-direction: column;
	gap: 2em;
	margin-top: 3em;
	background: #fff;
}
.colophon h2 {
	margin-bottom: .5em;
	font-size: clamp(1.25rem, 1.159rem + 0.45vw, 1.5rem);
}
.qr-code {
	margin: 2em auto 0;
	width: fit-content;
	text-align: center;
}
.qr-code img {
	max-width: 150px;
}
.qr-code p {
	font-size: .875em;
}
/*
.n-travel {
	display: block;
	background: #e8ecf7;
}*/

@media (min-width: 769px) {
	.colophon {
		gap: 0;
	}
	.contact {
		display: flex;
		flex-direction: row;
		justify-content: space-between;
		gap: 2em;
	}
	.qr-code {
		margin: 0;
	}
}