@charset "UTF-8";

html {
	scroll-behavior: smooth;
}
body {
	color: #3C3C3C;
	font-size: 13px;
	font-feature-settings: "palt";
	letter-spacing: 0.035em;
	font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
	position: relative;
}
body.scroll-lock {
	overflow: hidden;
}
picture {
	max-width: 100%;
	display: block;
}
img {
	width: 100%;
	height: auto;
}
ol,
ul {
	list-style: none;
}
a {
	color: #000;
}
@media (hover: hover) {
	a:hover {
		text-decoration: none;
	}
}

/* Form
***************************************************************************/
.focused input:invalid ~ .ngms {
	color: #C70000;
	display: flex !important;
	animation: fadeIn .3s ease;
}
.focused input:valid {
	background-color: #e7f9e7 !important;
}

label.focused:has(input:valid)::after,
label.ok:has(input[type="text"])::after,
label.ok:has(input[type="tel"])::after,
label.ok:has(input[type="email"])::after {
	content: "";
	width: 1.1em;
	height: 0.7em;
	border-left: 2px solid #25AF01;
	border-bottom: 2px solid #25AF01;
	display: block;
	position: absolute;
	top: 30%;
	right: 1em;
	transform: rotate(-45deg) translateY(-50%);
}

label.focused:has(input[type="number"]:valid)::after {
	content: none;
}

label.ok input {
	background-color: #e7f9e7 !important;
}

label.ok input.option {
	background-color: #fff !important;
}

label.ng input {
	background: #FFF0F0 !important;
	border: solid 1px #C86E64 !important;
}

label.ng input ~ .ngms {
	color: #C70000;
	display: flex !important;
	animation: fadeIn .3s ease;
}

.ui-datepicker {
	font-size: 128%!important;
}

.ui-datepicker-title select {
	color: #000;
	box-sizing: border-box;
	padding: 0 2%;
}

.ui-datepicker-title select.ui-datepicker-year {
	background: #fff;
	border: 1px solid #ddd;
}

.ui-datepicker-title select.ui-datepicker-month {
	background: #fff;
	border: 1px solid #ddd;
}

@media screen and (min-width: 751px) {
	.ui-datepicker {
		font-size: 140% !important;
	}
	.ui-datepicker-title select {
		cursor: pointer;
	}
	label.focused:has(input:valid)::after,
	label.ok:has(input[type="text"])::after {
		width: 18px;
		height: 10px;
		border-left: 3px solid #25AF01;
		border-bottom: 3px solid #25AF01;
		top: 18%;
		right: 1em;
	}
}

/* FOR SP landscape
***************************************************************************/
body.overlay::before {
	content: "";
	width: 100vw;
	height: 100vh;
	background: transparent;
	z-index: 996;
	display: block;
	position: absolute;
}
#leftArea,
#rightArea {
	display: none;
}
.subContent {
	width: 100vw;
	box-sizing: border-box;
	padding: 0 4.5vw;
}
.step {
	display: flex;
}
.step li {
	color: #fff;
	font-size: 3.7vw;
	font-weight: 700;
	height: 8vw;
	width: calc(88% /3);
	background: #969696;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
}
.step li + li {
	margin: 0 0 0 4vw;
}
.step li::before {
	content: "";
	width: 2.9vw;
	height: 8vw;
	background: #969696;
	clip-path: polygon(0 0, 100% 50%, 0 100%);
	position: absolute;
	top: 50%;
	right: -2.7vw;
	transform: translateY(-50%);
}
.step li.current {
	background: #C86E64;
}
.step li.current::before {
	background: #C86E64;
}
@keyframes fadeIn {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
.btn a {
	color: #fff;
	font-weight: 700;
	text-decoration: none;
	background: #C86E64;
	border-radius: 50vh;
	display: flex;
	justify-content: center;
	align-items: center;
}

/************** SP topoage **************/
#toppage header {
	position: relative;
}
#toppage header .menuBtn {
	position: fixed;
	top: 6.2vw;
	right: 4.46vw;
	z-index: 999;
}
#toppage header .menuBtn::before {
	content: "";
	width: 12vw;
	height: 12vw;
	background: #01403B;
	border-radius: 50%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
#toppage header .menuBtn .zdo_drawer_button {
	color: #2274a5;
	text-align: center;
	letter-spacing: 0.1em;
	width: 6.5vw;
	height: 4.5vw;
	background: none;
	border: none;
	padding: 0;
	cursor: pointer;
	outline: none;
	display: block;
	position: relative;
}
#toppage header .menuBtn .zdo_drawer_button::after {
	content: "";
	width: 160%;
	height: 200%;
	position: absolute;
	top: -48%;
	right: 0;
	bottom: 0;
	left: -30%;
	z-index: 1;
	pointer-events: auto;
	background-color: transparent;
}
#toppage header .menuBtn .zdo_drawer_button .zdo_drawer_bar {
	width: 6.5vw;
	height: 0.8vw;
	background-color: #fff;
	display: block;
	transition: all 0.2s;
	transform-origin: 0% 0%;
	transform: translateY(-50%);
	position: absolute;
	left: 0;
}
#toppage header .menuBtn .zdo_drawer_button .zdo_drawer_bar {
	width: 6.5vw;
	height: 0.8vw;
	background-color: #fff;
	display: block;
	position: absolute;
	left: 0;
	transition: all 0.2s;
	transform-origin: 0% 0%;
	transform: translateY(-50%);
}
#toppage header .menuBtn .zdo_drawer_button .zdo_drawer_bar1 {
	top: 0;
}
#toppage header .menuBtn .zdo_drawer_button .zdo_drawer_bar2 {
	top: 50%;
}
#toppage header .menuBtn .zdo_drawer_button .zdo_drawer_bar3 {
	top: 100%;
}
#toppage header .menuBtn .zdo_drawer_button.change .zdo_drawer_bar {
	width: 6.5vw;
	left: 1.1vw;
}
#toppage header .menuBtn .zdo_drawer_button.change .zdo_drawer_bar1 {
	transform: rotate(0.7853981634rad) translateY(-50%);
	top: 0px;
}
#toppage header .menuBtn .zdo_drawer_button.change .zdo_drawer_bar2 {
	opacity: 0;
}
#toppage header .menuBtn .zdo_drawer_button.change .zdo_drawer_bar3 {
	transform: rotate(-0.7853981634rad) translateY(-50%);
	top: calc(100% - 0px);
}
#toppage header .menuBtn .zdo_drawer_button.change .zdo_drawer_menu_text {
	display: none;
}
#toppage header .menuBtn .zdo_drawer_button.change .zdo_drawer_close {
	display: block;
}
#toppage header .gnaviArea {
	width: 74.6vw;
	height: 90.6vw;
	background: #fff;
	border-bottom-left-radius: 6.6vw;
	padding: 14.6vw 16vw 11.2vw 8vw;
	position: fixed;
	top: 0;
	left: 0;
	transform: translateX(100vw);
	transition-duration: 400ms;
	transition-timing-function: cubic-bezier(0.25, 0.8, 0.25, 1);
	z-index: 998;
}
#toppage header .gnaviArea ul li {
	text-align: center;
	width: 100%;
	border-bottom: dotted 1px #98794A;
}
#toppage header .gnaviArea ul li a {
	color: #3C3C3C;
	font-size: 4.2vw;
	font-weight: 700;
	text-decoration: none;
	letter-spacing: 0.02em;
	padding: 4vw 0;
	display: block;
}
#toppage header .gnaviArea .btn a {
	font-size: 4.2vw;
	width: 50.6vw;
	height: 15.2vw;
	margin: 5.3vw auto 0;
}
#toppage header .gnaviArea.active {
	transform: translateX(34%);
}
#toppage #mainv {
	background: #FFFDFA;
	position: relative;
}
#toppage #mainv h1 {
	width: 100vw;
}
#toppage #feature {
	background: #FFFDFA;
	padding: 2vw 0 13vw;
}
#toppage #feature .subContent {
	padding: 0 6.6vw;
}
#toppage #feature .subContent .date {
	margin: 0 0 7.4vw;
}
#toppage #feature .subContent .date .day {
	color: #98794A;
	font-family: "Noto Serif JP", serif;
	font-size: 6.4vw;
	font-weight: 600;
	text-align: center;
}
#toppage #feature .subContent .date .day span {
	font-size: 17.3vw;
	line-height: 1;
}
#toppage #feature .subContent .date .time {
	text-align: center;
}
#toppage #feature .subContent .date .time span {
	color: #98794A;
	font-size: 6.4vw;
	font-family: "Noto Serif JP", serif;
	font-weight: 600;
	display: block;
}
#toppage #feature .subContent .date .time small {
	font-size: 2.4vw;
}
#toppage #feature .subContent .box {
	width: 82.6vw;
	background: #fff;
	box-sizing: border-box;
	border: solid 1px #98794A;
	margin: 0 auto 11vw;
	padding: 11vw 13.6vw 5.3vw 12vw;
	position: relative;
}
#toppage #feature .subContent .box::before {
	content: "";
	width: 79.4vw;
	height: 91%;
	border: dotted 1px #98794A;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
#toppage #feature .subContent .box::after {
	content: "";
	width: 28.5vw;
	height: 34.1vw;
	background: url("../images/feature_p_01_2x.png") no-repeat 0 0 / 100%;
	position: absolute;
	right: -5vw;
	bottom: -12vw;
}
#toppage #feature .subContent .box p {
	font-size: 4.2vw;
	font-weight: 700;
	text-align: center;
}
#toppage #feature .subContent .box p span {
	color: #C86E64;
}
#toppage #feature .subContent .box img {
	width: 71.2vw;
	height: 14.4vw;
	display: block;
	margin: 0 auto;
	position: absolute;
	top: -5vw;
	left: 55%;
	transform: translateX(-50%);
}
#toppage #feature .subContent .place dl {
	margin: 0 0 2vw;
}
#toppage #feature .subContent .place dl dt {
	color: #01403B;
	font-size: 4.8vw;
	font-weight: 700;
	text-align: center;
	margin: 0 0 1.3vw;
	position: relative;
}
#toppage #feature .subContent .place dl dt::before,
#toppage #feature .subContent .place dl dt::after {
	content: "";
	background: url("../images/s_place.svg") no-repeat 0 0 / 100%;
	width: 54.9vw;
	height: 2.5vw;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
#toppage #feature .subContent .place dl dd {
	font-size: 4.8vw;
	font-weight: 700;
	text-align: center;
}
#toppage #feature .subContent .place .text span {
	font-size: 4.2vw;
	text-align: center;
	line-height: 2.5;
	border-bottom: dotted 1px #3C3C3C;
	display: block;
}
#toppage #point {
	background: #FFFDFA;
}
#toppage #point .subContent {
	padding: 0 6.6vw;
}
#toppage #point .subContent ol li {
	position: relative;
}
#toppage #point .subContent ol li::before {
	content: "";
	width: 14.1vw;
	height: 18.4vw;
	top: -7vw;
	left: 3vw;
	position: absolute;
}
#toppage #point .subContent ol li:first-child::before {
	background: url("../images/s_point1.svg") no-repeat 0 0 / 100%;
}
#toppage #point .subContent ol li:nth-child(2)::before {
	background: url("../images/s_point2.svg") no-repeat 0 0 / 100%;
}
#toppage #point .subContent ol li + li {
	margin: 13.8vw 0 0;
}
#toppage #point .subContent ol li picture {
	margin: 0 0 4.5vw;
}
#toppage #point .subContent ol li picture img {
	border-radius: 2.6vw;
}
#toppage #point .subContent ol li h2 {
	color: #01403B;
	font-size: 4.8vw;
	font-weight: 700;
	line-height: 1.4;
	margin: 0 0 1.2vw;
}
#toppage #point .subContent ol li p {
	font-size: 4.2vw;
	line-height: 1.62;
}
#toppage #point .subContent ol li p span {
	color: #C86E64;
	font-weight: 700;
}
#toppage #schedule {
	background: #FFFDFA;
	padding: 14.6vw 0 13.3vw;
	position: relative;
	z-index: 0;
}
#toppage #schedule .subContent {
	padding: 0 3.3vw;
}
#toppage #schedule .subContent .inner {
	background: #E6F1EB;
	padding: 10.6vw 3.7vw 10.9vw;
	position: relative;
	z-index: 1;
}
#toppage #schedule .subContent .inner::before {
	content: "";
	width: 85vw;
	height: 2.4vw;
	background: url("../images/s_frame_01.svg") no-repeat 0 0 / 100%;
	position: absolute;
	top: 5vw;
	left: 50%;
	transform: translateX(-50%);
	z-index: 2;
}
#toppage #schedule .subContent .inner::after {
	content: "";
	width: 84vw;
	height: 2.6vw;
	background: url("../images/s_frame_02.svg") no-repeat 0 0 / 100%;
	position: absolute;
	bottom: 6vw;
	left: 50%;
	transform: translateX(-50%);
	z-index: 2;
}
#toppage #schedule .subContent .inner h2 {
	color: #01403B;
	font-size: 6.9vw;
	text-align: center;
	letter-spacing: 0.03em;
	margin: 0 0 6vw;
	position: relative;
	z-index: 0;
}
#toppage #schedule .subContent .inner h2::before {
	content: "";
	width: 54.4vw;
	height: 27.2vw;
	border-radius: 27.2vw 27.2vw 0 0;
	background: #E6F1EB;
	position: absolute;
	top: -18vw;
	left: 50%;
	transform: translateX(-50%);
	z-index: -1;
}
#toppage #schedule .subContent .inner h2::after {
	content: "";
	width: 17.8vw;
	height: 10.1vw;
	background: url("../images/s_schedule.svg") no-repeat 0 0 / 100%;
	position: absolute;
	top: -14vw;
	left: 50%;
	transform: translateX(-50%);
}
#toppage #schedule .subContent .inner ol li:not(:last-child) {
	margin: 0 0 17.6vw;
	position: relative;
}
#toppage #schedule .subContent .inner ol li:not(:last-child)::before {
	content: "";
	width: 84.5vw;
	height: 3.7vw;
	background: url("../images/s_arrow_01.svg") no-repeat 0 0 / 100%;
	display: block;
	position: absolute;
	left: 50%;
	bottom: -12vw;
	transform: translateX(-50%);
}
#toppage #schedule .subContent .inner ol li h3 {
	font-size: 4.8vw;
	font-weight: 700;
	text-align: center;
	margin: 0 0 1.8vw;
}
#toppage #schedule .subContent .inner ol li h3.style-r {
	color: #C86E64;
}
#toppage #schedule .subContent .inner ol li h3.style-g {
	color: #01403B;
}
#toppage #schedule .subContent .inner ol li p {
	font-size: 4.2vw;
	line-height: 1.62;
	margin: 0 0 4.5vw;
}
#toppage #schedule .subContent .inner ol li p small {
	font-size: 3.2vw;
	line-height: 1.6;
	margin: 0.2em 0 0;
	display: block;
}
#toppage #schedule .subContent .inner ol li .image {
	width: 100%;
	margin: 0 0 4vw;
}
#toppage #information {
	background: #FFFDFA;
	padding: 0 0 7.2vw;
}
#toppage #information h2 {
	font-size: 3.2vw;
	text-align: center;
	width: 100%;
	background: #F9F0EF;
	padding: 3.7vw 0;
}
#toppage #information .subContent dl {
	margin: 0 0 4vw;
	display: flow-root;
}
#toppage #information .subContent dl dt {
	color: #C86E64;
	font-size: 2.6vw;
	font-weight: 700;
	padding: 5.7vw 0 4.6vw;
	float: left;
	position: relative;
}
#toppage #information .subContent dl dd {
	font-size: 3.2vw;
	line-height: 1.83;
	border-bottom: dotted 1px #C86E64;
	padding: 5vw 2.6vw 4.6vw 24.5vw;
}
#toppage #information .subContent dl dd.shugo {
	padding: 5vw 2.6vw 48.6vw 24.5vw;
	position: relative;
}
#toppage #information .subContent dl dd.shugo iframe {
	width: 100%;
	height: 40vw;
	position: absolute;
	bottom: 4vw;
	left: 0;
}
#toppage #information .subContent dl dd a {
	color: #C86E64;
}
#toppage #information .subContent .note {
	margin: 0 0 4.3vw;
}
#toppage #information .subContent .note li {
	font-size: 3.2vw;
	line-height: 1.83;
}
#toppage #information .subContent p small {
	color: #464646;
	font-size: 3.2vw;
	line-height: 1.83;
}
#toppage #application {
	background: #FFFDFA;
	padding: 0 0 11vw;
	/*padding: 0 0 16vw;*/
}
#toppage #application .subContent h2 {
	color: #fff;
	font-size: 4vw;
	font-weight: 700;
	text-align: center;
	background: #666464;
	margin: 0 0 5.8vw;
	padding: 3.4vw 0;
}
#toppage #application .subContent ul li {
	position: relative;
}
#toppage #application .subContent ul li + li {
	margin: 8.2vw 0 0;
}
#toppage #application .subContent ul li + li::before {
	content: "";
	width: 6vw;
	height: 3.5vw;
	background: #666464;
	clip-path: polygon(0 0, 100% 0%, 50% 100%);
	position: absolute;
	top: -5.5vw;
	left: 50%;
	transform: translateX(-50%);
}
#toppage #application .subContent ul li h3 {
	color: #fff;
	font-size: 4vw;
	font-weight: 700;
	text-align: center;
	background: #666464;
	padding: 2vw 0;
}
#toppage #application .subContent ul li p {
	font-size: 4vw;
	line-height: 1.47;
	background: #fff;
	border: solid 1px #666464;
	padding: 2.6vw;
}
#toppage #application .subContent ul li p span {
	font-weight: 700;
}
#toppage #formArea h2 {
	color: #fff;
	font-size: 4.2vw;
	font-weight: 700;
	text-align: center;
	width: 100%;
	background: #C86E64;
	margin: 0 0 8vw;
	padding: 4.5vw 0;
}
#toppage #formArea h2 span {
	font-size: 6.4vw;
}
#toppage #formArea .subContent dl {
	padding: 0 0 8vw;
}
#toppage #formArea .subContent dl + dl {
	border-top: solid 1px #CBCBCB;
}
#toppage #formArea .subContent dl dt {
	font-size: 3.7vw;
	font-weight: 700;
	margin: 6vw 0 0;
}
#toppage #formArea .subContent dl dt:first-child {
	margin: 5vw 0 0;
}
#toppage #formArea .subContent dl dt::after {
	color: #fff;
	font-size: 2.8vw;
	border-radius: 0.6vw;
	margin: 0 0 0 0.5em;
	padding: 0.3vw 1.8vw;
	display: inline-block;
}
#toppage #formArea .subContent dl dt.require::after {
	content: "必須";
	background: #C70000;
}
#toppage #formArea .subContent dl dt.option::after {
	content: "任意";
	background: #3C3C3C;
}
#toppage #formArea .subContent dl dd {
	margin: 2vw 0 0;
}
#toppage #formArea .subContent dl dd .ngms {
	display: none;
	align-items: center;
	margin: 1vw 0 0;
}
#toppage #formArea .subContent dl dd .ngms::before {
	content: "！";
	color: #FFF;
	font-size: 10px;
	width: 14px;
	height: 14px;
	background: #C70000;
	border-radius: 50vh;
	margin: 0 3px 0 0;
	display: flex;
	justify-content: center;
}
#toppage #formArea .subContent label {
	position: relative;
}
#toppage #formArea .subContent input::placeholder {
	color: #969696;
}
#toppage #formArea .subContent input[type="text"],
#toppage #formArea .subContent input[type="tel"],
#toppage #formArea .subContent input[type="email"] {
	font-size: 3.7vw;
	width: 100%;
	height: 13.3vw;
	background: #fff;
	border: solid 1px #CBCBCB;
	border-radius: 1.3vw;
	padding: 0 9.7vw 0 3.7vw;
}
#toppage #formArea .subContent input[type="number"] {
	width: 16%;
	height: 13.3vw;
	background: #fff;
	border-radius: 1.3vw;
	border: solid 1px #CBCBCB;
	padding: 0 3.7vw;
}
#toppage #formArea .subContent .focused input[type="text"]:required,
#toppage #formArea .subContent .focused input[type="tel"]:required,
#toppage #formArea .subContent .focused input[type="email"]:required {
	background: #fff;
	border: solid 1px #CBCBCB;
}
#toppage #formArea .subContent .focused input[type="text"]:invalid,
#toppage #formArea .subContent .focused input[type="tel"]:invalid,
#toppage #formArea .subContent .focused input[type="email"]:invalid {
	background: #FFF0F0;
	border: solid 1px #C86E64;
}
#toppage #formArea .subContent textarea {
	font-size: 3.7vw;
	min-height: 8em;
	width: 100%;
	background: #fff;
	border: solid 1px #CBCBCB;
	border-radius: 1.3vw;
	padding: 3.7vw;
}
#toppage #formArea .subContent ul {
	margin: 2vw 0 0;
}
#toppage #formArea .subContent ul li {
	margin: 4.5vw 0 0;
}
#toppage #formArea .subContent ul li label input[type="radio"] {
	display: none;
}
#toppage #formArea .subContent ul li label input[type="radio"]:checked + span::before {
	border: solid 1px #C86E64;
}
#toppage #formArea .subContent ul li label input[type="radio"]:checked + span::after {
	content: "";
	width: 2.2vw;
	height: 2.2vw;
	background: #C86E64;
	border-radius: 50%;
	position: absolute;
	top: 50%;
	left: 1vw;
	transform: translateY(-50%);
}
#toppage #formArea .subContent ul li label span {
	font-size: 3.7vw;
	padding: 0 0 0 6vw;
	position: relative;
}
#toppage #formArea .subContent ul li label span::before {
	content: "";
	width: 4.2vw;
	height: 4.2vw;
	background: #fff;
	border: solid 1px #C8C8C8;
	border-radius: 50%;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}
#toppage #formArea .subContent .note {
	margin: 2.5vw 0 0;
}
#toppage #formArea .subContent .note small {
	color: #969696;
	font-size: 3.2vw;
}
#toppage #formArea .submitArea {
	width: 100%;
	background: #F0F0F0;
	padding: 6.4vw 0 9.3vw;
}
#toppage #formArea .submitArea .subContent .caution {
	font-size: 4.2vw;
	font-weight: 700;
	text-align: center;
	width: fit-content;
	-moz-width: fit-content;
	margin: 0 auto 3.2vw;
	padding: 0 0 0 7vw;
	position: relative;
}
#toppage #formArea .submitArea .subContent .caution::before {
	content: "";
	width: 5.1vw;
	height: 5.1vw;
	background: url("../images/s_caution.svg") no-repeat 0 0 / 100%;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}
#toppage #formArea .submitArea .subContent .shikaku {
	line-height: 1.83;
	height: 62.8vw;
	background: #fff;
	border: solid 1px #CBCBCB;
	margin: 0 0 6.9vw;
	padding: 4.8vw 4.2vw;
	overflow-y: auto;
}
#toppage #formArea .submitArea .subContent .shikaku::-webkit-scrollbar {
	width: 0.5em;
	background: #E6E6E6;
	border-radius: 50vh;
}
#toppage #formArea .submitArea .subContent .shikaku::-webkit-scrollbar-thumb {
	width: 0.5em;
	background-color: #969696;
	border-radius: 50vh;
}
#toppage #formArea .submitArea .subContent .shikaku h3 {
	font-size: 3.2vw;
	font-weight: 700;
}
#toppage #formArea .submitArea .subContent .shikaku p {
	font-size: 3.2vw;
}
#toppage #formArea .submitArea .subContent .shikaku p + h3 {
	margin: 3vw 0 0;
}
#toppage #formArea .submitArea .subContent .handling {
	margin: 0 0 5.3vw;
}
#toppage #formArea .submitArea .subContent .handling h3 {
	font-size: 3.7vw;
	text-align: center;
	margin: 0 0 2.6vw;
}
#toppage #formArea .submitArea .subContent .handling ul li {
	text-align: center;
}
#toppage #formArea .submitArea .subContent .handling ul li + li {
	margin: 1vw 0 0;
}
#toppage #formArea .submitArea .subContent .handling ul li a {
	color: #0278D4;
	font-size: 3.7vw;
}
#toppage #formArea .submitArea .subContent .privacy {
	color: #3C3C3C;
	border-top: solid 1px #969696;
	padding: 8vw 0 0;
}
#toppage #formArea .submitArea .subContent .privacy label {
	text-align: center;
	width: fit-content;
	-moz-width: fit-content;
	margin: 0 auto;
}
#toppage #formArea .submitArea .subContent .privacy label input {
	display: none;
}
#toppage #formArea .submitArea .subContent .privacy label input + span {
	font-size: 4.2vw;
	font-weight: 700;
	width: fit-content;
	-moz-width: fit-content;
	margin: 0 auto;
	padding: 0 0 0 1.3em;
	display: block;
	position: relative;
}
#toppage #formArea .submitArea .subContent .privacy label input + span::before {
	content: "";
	width: 4.5vw;
	height: 4.5vw;
	background: #fff;
	border: solid 1px #969696;
	position: absolute;
	top: 0.2em;
	left: 0;
}
#toppage #formArea .submitArea .subContent .privacy label input:checked + span::after {
	content: "";
	border-left: 2px solid #25AF01;
	border-bottom: 2px solid #25AF01;
	display: block;
	position: absolute;
	top: 0.3em;
	left: 0.3em;
	width: 2vw;
	height: 3vw;
	transform: rotate(35deg) scaleX(-1);
}
#toppage #formArea .submitArea .subContent .privacy .note {
	font-size: 3.2vw;
	text-align: center;
}
#toppage #formArea .submitArea .subContent .privacy .error {
	font-size: 3.2vw;
	font-weight: 700;
	text-align: center;
}
#toppage #formArea .submitArea .subContent .submitBtn {
	margin: 6.6vw 0 0;
}
#toppage #formArea .submitArea .subContent .submitBtn .submit {
	color: #fff;
	font-size: 4.8vw;
	font-weight: 700;
	width: 75.5vw;
	height: 13.2vw;
	background: #C86E64;
	border-radius: 50vh;
	margin: 0 auto;
	display: flex;
	justify-content: center;
	align-items: center;
}

#toppage .fin {
	color: #f00;
	font-size: 5.2vw;
	text-align: center;
}

/************** SP confirm **************/
#confirm #formArea {
	padding: 11.4vw 0;
}
#confirm #formArea .subContent {
	padding: 0 4.5vw;
}
#confirm #formArea .subContent .top .h-type01 {
	font-size: 6.4vw;
	font-weight: 700;
	text-align: center;
	margin: 0 0 5.6vw;
}
#confirm #formArea .subContent dl dt {
	font-size: 3.7vw;
	font-weight: 700;
	margin: 6vw 0 0;
}
#confirm #formArea .subContent dl dt:first-child {
	margin: 11.2vw 0 0;
}
#confirm #formArea .subContent dl dt::after {
	color: #fff;
	font-size: 2.8vw;
	border-radius: 0.6vw;
	margin: 0 0 0 0.5em;
	padding: 0.3vw 1.8vw;
	display: inline-block;
}
#confirm #formArea .subContent dl dt.require::after {
	content: "必須";
	background: #C70000;
}
#confirm #formArea .subContent dl dt.option::after {
	content: "任意";
	background: #3C3C3C;
}
#confirm #formArea .subContent dl dd {
	font-size: 3.7vw;
	min-height: 2em;
	margin: 2vw 0 0;
	padding: 0 0 4.2vw;
	border-bottom: solid 1px #E6E6E6;
}
#confirm .submitArea .subContents p {
	font-size: 3.7vw;
	font-weight: 700;
	text-align: center;
}
#confirm .submitArea .subContents ul {
	margin: 6.6vw 0 0;
}
#confirm .submitArea .subContents ul li + li {
	margin: 6vw 0 0;
}
#confirm .submitArea .subContents ul .submit {
	color: #fff;
	font-size: 4.8vw;
	font-weight: 700;
	text-decoration: none;
	width: 75.5vw;
	height: 13.2vw;
	background: #C86E64;
	border-radius: 50vh;
	margin: 0 auto;
	display: flex;
	justify-content: center;
	align-items: center;
}
#confirm .submitArea .subContents ul .back {
	color: #3C3C3C;
	font-size: 3.7vw;
	width: fit-content;
	-moz-width: fit-content;
	margin: 0 auto;
	display: block;
}

/************** SP thanks **************/
#thanks .kanryo {
	padding: 11.4vw 0 8vw;
}
#thanks .kanryo .subContent {
	padding: 0 6.6vw;
}
#thanks .kanryo .subContent .top .h-type01 {
	font-size: 6.4vw;
	font-weight: 700;
	text-align: center;
	margin: 0 0 5.6vw;
}
#thanks .kanryo .subContent .message {
	margin: 0 0 10vw;
}
#thanks .kanryo .subContent .message h2 {
	font-size: 5.3vw;
	text-align: center;
	margin: 8vw 0 5vw;
}
#thanks .kanryo .subContent .message p {
	font-size: 4vw;
	line-height: 1.6;
}
#thanks .kanryo .subContent .message p+p {
	color: #7D7D7D;
	margin: 2em 0 3.5vw;
}
#thanks .kanryo .subContent .message ul {
	border-top: solid 1px #7D7D7D;
	padding: 3.7vw 0 0;
}
#thanks .kanryo .subContent .message ul li {
	color: #7D7D7D;
	font-size: 4vw;
}
#thanks .kanryo .subContent .contact {
	font-size: 4vw;
	line-height: 1.6;
}
#thanks .kanryo .subContent .contact a {
	color: #3C3C3C;
}
footer {
	border-top: solid 1px #CBCBCB;
	margin: 11.8vw 0 0;
	padding: 11vw 0 13.3vw;
}
footer .subContent dl {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	column-gap: 4%;
}
footer .subContent dl dt {
	font-size: 3.7vw;
	font-weight: 700;
	text-align: right;
	width: 22%;
}
footer .subContent dl dd {
	width: 50%;
	margin: 0 0 5vw;
}
footer .subContent dl dd img {
	max-width: 37vw;
}
footer .subContent .copyright {
	text-align: center;
	margin: 5vw 0 0;
}
footer .subContent .copyright small {
	color: #969696;
	font-size: 2.4vw;
	display: block;
}

/* FOR PC landscape
***************************************************************************/
@media screen and (min-width: 751px) {
	body {
		overflow-x: hidden;
	}
	body.overlay::before {
		content: "";
		width: 100vw;
		height: 100vh;
		background: transparent;
		z-index: 996;
		display: block;
		position: absolute;
		cursor: pointer;
	}
	#leftArea {
		width: calc(50% - 250px);
		height: 100vh;
		background: url("../images/side_bg_01.jpg") no-repeat right bottom/ cover;
		display: flex;
		flex: 1;
		flex-direction: column;
		position: fixed;
		top: 0;
		left: 0;
		z-index: 0;
	}
	#rightArea {
		width: calc(50% - 250px);
		height: 100vh;
		background: url("../images/side_bg_02.jpg") no-repeat left bottom/ cover;
		display: flex;
		flex: 1;
		flex-direction: column;
		position: fixed;
		top: 0;
		right: 0;
		z-index: 0;
	}
	#wrapper {
		width: 500px;
		box-shadow: rgba(50, 50, 93, 0.25) 0px -8px 27px -5px, rgba(0, 0, 0, 0.3) 0px -10px 16px -8px;
		margin: 0 auto;
		position: relative;
		z-index: 1;
		overflow-x: hidden;
	}
	.subContent {
		width: 100%;
		padding: 0 17px;
		box-sizing: border-box;
	}
	.step li {
		font-size: 19px;
		height: 40px;
	}
	.step li+li {
		margin: 0 0 0 20px;
	}
	.step li::before {
		width: 13px;
		height: 40px;
		right: -12px;
	}

/************** topoage **************/
	#toppage #leftArea .content {
		width: min(385px, 20vw);
		height: 100vh;
		margin: 0 auto;
		display: flex;
		justify-content: center;
		flex-direction: column;
	}
	#toppage #leftArea .content figure {
		width: 100%;
	}
	#toppage #rightArea .content {
		width: 250px;
		height: 100vh;
		margin: 0 auto;
		display: flex;
		justify-content: center;
		flex-direction: column;
	}
	#toppage #rightArea .content nav ul li {
		text-align: center;
		position: relative;
	}
	#toppage #rightArea .content nav ul li::after {
		content: "";
		width: 100%;
		height: 5px;
		background: radial-gradient(circle farthest-side, #98794A, #98794A 50%, transparent 50%, transparent);
		background-size: 5px;
		display: inline-block;
		position: absolute;
		left: 0;
		bottom: 0;
	}
	#toppage #rightArea .content nav ul li a {
		color: #9D9D9D;
		font-size: 18px;
		font-weight: 700;
		text-decoration: none;
		width: 100%;
		padding: 20px 0;
		display: block;
		position: relative;
	}
	#toppage #rightArea .content nav ul li.current a {
		color: #3C3C3C;
	}
	#toppage #rightArea .content nav ul li.current a::before {
		content: "";
		width: 10px;
		height: 10px;
		background: #C86E64;
		border-radius: 50%;
		position: absolute;
		top: 50%;
		left: 0;
		transform: translateY(-50%);
	}
	#toppage #rightArea .content .btn a {
		font-size: 18px;
		width: 240px;
		height: 67px;
		margin: 50px auto 0;
	}
	#toppage #rightArea .content .btn a:hover {
		opacity: 0.7;
	}
	#toppage header {
		display: none;
	}
	#toppage #mainv h1 {
		width: 100%;
	}
	#toppage #feature {
		padding: 0 0 70px;
	}
	#toppage #feature .subContent {
		padding: 0 43px;
	}
	#toppage #feature .subContent .date {
		margin: 0 0 35px;
	}
	#toppage #feature .subContent .date .day {
		font-size: 32px;
	}
	#toppage #feature .subContent .date .day span {
		font-size: 86px;
	}
	#toppage #feature .subContent .date .time span {
		font-size: 32px;
	}
	#toppage #feature .subContent .date .time small {
		font-size: 12px;
	}
	#toppage #feature .subContent .box {
		width: 100%;
		border: solid 2px #98794A;
		margin: 0 auto 60px;
		padding: 48px 66px 27px 63px;
		box-sizing: border-box;
	}
	#toppage #feature .subContent .box::before {
		width: 397px;
		height: 91%;
		border: dotted 2px #98794A;
	}
	#toppage #feature .subContent .box::after {
		width: 143px;
		height: 171px;
		right: -38px;
		bottom: -60px;
	}
	#toppage #feature .subContent .box p {
		font-size: 21px;
	}
	#toppage #feature .subContent .box img {
		width: 356px;
		height: 72px;
		top: -30px;
	}
	#toppage #feature .subContent .place dl {
		margin: 0 0 15px;
	}
	#toppage #feature .subContent .place dl dt {
		font-size: 24px;
		margin: 0 0 5px;
	}
	#toppage #feature .subContent .place dl dt::before,
	#toppage #feature .subContent .place dl dt::after {
		width: 275px;
		height: 13px;
	}
	#toppage #feature .subContent .place dl dd {
		font-size: 24px;
	}
	#toppage #feature .subContent .place .text span {
		font-size: 21px;
	}
	#toppage #point {
		padding: 0;
	}
	#toppage #point .subContent {
		padding: 0 33px;
	}
	#toppage #point .subContent ol li::before {
		width: 71px;
		height: 92px;
		top: -35px;
		left: 18px;
	}
	#toppage #point .subContent ol li+li {
		margin: 62px 0 0;
	}
	#toppage #point .subContent ol li picture {
		margin: 0 0 23px;
	}
	#toppage #point .subContent ol li picture img {
		border-radius: 12px;
	}
	#toppage #point .subContent ol li h2 {
		font-size: 24px;
		margin: 0 0 10px;
	}
	#toppage #point .subContent ol li p {
		font-size: 21px;
	}
	#toppage #schedule {
		padding: 67px 0;
	}
	#toppage #schedule .subContent {
		padding: 0 17px;
	}
	#toppage #schedule .subContent .inner {
		padding: 50px 23px 65px;
	}
	#toppage #schedule .subContent .inner::before {
		width: 425px;
		height: 12px;
		top: 18px;
	}
	#toppage #schedule .subContent .inner::after {
		width: 420px;
		height: 13px;
		bottom: 43px;
	}
	#toppage #schedule .subContent .inner h2 {
		font-size: 35px;
		margin: 0 0 30px;
	}
	#toppage #schedule .subContent .inner h2::before {
		width: 272px;
		height: 136px;
		border-radius: 136px 136px 0 0;
		top: -95px;
	}
	#toppage #schedule .subContent .inner h2::after {
		width: 89px;
		height: 51px;
		top: -72px;
	}
	#toppage #schedule .subContent .inner ol li:not(:last-child) {
		margin: 0 0 82px;
	}
	#toppage #schedule .subContent .inner ol li:not(:last-child)::before {
		width: 423px;
		height: 19px;
		bottom: -50px;
	}
	#toppage #schedule .subContent .inner ol li:nth-child(2) picture:last-child {
		width: 400px;
		margin: 0 auto;
	}
	#toppage #schedule .subContent .inner ol li h3 {
		font-size: 24px;
		margin: 0 0 15px;
	}
	#toppage #schedule .subContent .inner ol li p {
		font-size: 21px;
		margin: 0 0 20px;
	}
	#toppage #schedule .subContent .inner ol li p small {
		font-size: 16px;
	}
	#toppage #schedule .subContent .inner ol li .image {
		margin: 0 0 20px;
	}
	#toppage #information {
		padding: 0 0 43px;
	}
	#toppage #information h2 {
		font-size: 16px;
		padding: 24px 0;
	}
	#toppage #information .subContent dl {
		margin: 0 0 22px;
	}
	#toppage #information .subContent dl dt {
		font-size: 13px;
		padding: 26px 0 26px;
	}
	#toppage #information .subContent dl dd {
		font-size: 16px;
		padding: 23px 15px 30px 120px;
	}
	#toppage #information .subContent dl dd.shugo {
		padding: 23px 15px 245px 120px;
	}
	#toppage #information .subContent dl dd.shugo iframe {
		height: 200px;
		bottom: 25px;
	}
	#toppage #information .subContent .note {
		margin: 0 0 28px;
	}
	#toppage #information .subContent .note li {
		font-size: 16px;
	}
	#toppage #information .subContent p small {
		font-size: 16px;
	}
	#toppage #application {
		/*padding: 0 0 80px;*/
		padding: 0 0 50px;
	}
	#toppage #application .subContent h2 {
		font-size: 20px;
		margin: 0 0 29px;
		padding: 15px 0;
	}
	#toppage #application .subContent ul li+li {
		margin: 43px 0 0;
	}
	#toppage #application .subContent ul li+li::before {
		width: 33px;
		height: 16px;
		top: -28px;
	}
	#toppage #application .subContent ul li h3 {
		font-size: 20px;
		padding: 8px 0;
	}
	#toppage #application .subContent ul li p {
		font-size: 20px;
		padding: 13px;
	}
	#toppage #formArea h2 {
		font-size: 21px;
		margin: 0 0 40px;
		padding: 30px 0;
	}
	#toppage #formArea h2 span {
		font-size: 32px;
	}
	#toppage #formArea .subContent {
		padding: 0 38px;
	}
	#toppage #formArea .subContent dl {
		padding: 0 0 45px;
	}
	#toppage #formArea .subContent dl dt {
		font-size: 19px;
		margin: 23px 0 0;
	}
	#toppage #formArea .subContent dl dt:first-child {
		margin: 30px 0 0;
	}
	#toppage #formArea .subContent dl dt::after {
		font-size: 11px;
		vertical-align: text-top;
		border-radius: 0;
		padding: 1px 5px 2px;
	}
	#toppage #formArea .subContent dl dd {
		margin: 8px 0 0;
	}
	#toppage #formArea .subContent dl dd .ngms {
		font-size: 16px;
		margin: 5px 0 0;
	}
	#toppage #formArea .subContent dl dd .ngms::before {
		font-size: 11px;
		font-weight: 700;
		width: 16px;
		height: 16px;
		margin: 0 0.3em 0 0;
	}
	#toppage #formArea .subContent label {
		cursor: pointer;
	}
	#toppage #formArea .subContent input[type="text"],
	#toppage #formArea .subContent input[type="tel"],
	#toppage #formArea .subContent input[type="email"] {
		font-size: 19px;
		height: 67px;
		border-radius: 8px;
		padding: 0 16px;
	}
	#toppage #formArea .subContent input[type="number"] {
		font-size: 19px;
		width: 18%;
		height: 67px;
		border-radius: 8px;
		padding: 0 16px;
	}
	#toppage #formArea .subContent textarea {
		font-size: 19px;
		max-width: 100%;
		min-height: 8em;
		border-radius: 8px;
		padding: 16px;
	}
	#toppage #formArea .subContent ul {
		margin: 17px 0 0;
	}
	#toppage #formArea .subContent ul li {
		margin: 12px 0 0;
	}
	#toppage #formArea .subContent ul li label input[type="radio"]:checked+span::after {
		width: 11px;
		height: 11px;
		left: 5px;
	}
	#toppage #formArea .subContent ul li label span {
		font-size: 19px;
		padding: 0 0 0 30px;
	}
	#toppage #formArea .subContent ul li label span::before {
		width: 21px;
		height: 21px;
	}
	#toppage #formArea .subContent .note {
		margin: 15px 0 0;
	}
	#toppage #formArea .subContent .note small {
		font-size: 16px;
	}
	#toppage #formArea .subContent .text {
		font-size: 19px;
	}
	#toppage #formArea .submitArea {
		padding: 35px 0 48px;
	}
	#toppage #formArea .submitArea .subContent .caution {
		font-size: 21px;
		margin: 0 auto 18px;
		padding: 0 0 0 35px;
	}
	#toppage #formArea .submitArea .subContent .caution::before {
		width: 27px;
		height: 27px;
	}
	#toppage #formArea .submitArea .subContent .shikaku {
		height: 314px;
		margin: 0 0 35px;
		padding: 28px 22px;
	}
	#toppage #formArea .submitArea .subContent .shikaku::-webkit-scrollbar {
		width: 0.8em;
	}
	#toppage #formArea .submitArea .subContent .shikaku::-webkit-scrollbar-thumb {
		width: 0.8em;
	}
	#toppage #formArea .submitArea .subContent .shikaku h3 {
		font-size: 16px;
	}
	#toppage #formArea .submitArea .subContent .shikaku p {
		font-size: 16px;
	}
	#toppage #formArea .submitArea .subContent .shikaku p+h3 {
		margin: 18px 0 0;
	}
	#toppage #formArea .submitArea .subContent .handling {
		margin: 0 0 30px;
	}
	#toppage #formArea .submitArea .subContent .handling h3 {
		font-size: 19px;
		margin: 0 0 10px;
	}
	#toppage #formArea .submitArea .subContent .handling ul li+li {
		margin: 5px 0 0;
	}
	#toppage #formArea .submitArea .subContent .handling ul li a {
		font-size: 19px;
	}
	#toppage #formArea .submitArea .subContent .privacy {
		padding: 32px 0 0;
	}
	#toppage #formArea .submitArea .subContent .privacy label input+span {
		font-size: 21px;
	}
	#toppage #formArea .submitArea .subContent .privacy label input+span::before {
		width: 22px;
		height: 22px;
	}
	#toppage #formArea .submitArea .subContent .privacy label input:checked+span::after {
		width: 9px;
		height: 14px;
	}
	#toppage #formArea .submitArea .subContent .privacy .note {
		font-size: 16px;
	}
	#toppage #formArea .submitArea .subContent .privacy .error {
		font-size: 16px;
	}
	#toppage #formArea .submitArea .subContent .submitBtn {
		margin: 32px 0 0;
	}
	#toppage #formArea .submitArea .subContent .submitBtn .submit {
		font-size: 24px;
		width: 378px;
		height: 66px;
	}
	#toppage #formArea .submitArea .subContent .submitBtn .submit:hover {
		opacity: 0.7;
	}
	#toppage .fin {
		font-size: 25px;
	}
	
	@media screen and (max-width: 1080px) {
		body.overlay {
			z-index: 0;
		}
		body.overlay::before {
			z-index: 2;
		}
		#toppage #leftArea .content {
			display: none;
		}
		#toppage #rightArea .content {
			display: none;
		}
		#toppage header {
			width: 100%;
			display: block;
		}
		#toppage header .menuBtn {
			top: 30px;
			right: calc(50% - 230px);
			transform: translateX(-50%);
		}
		#toppage header .menuBtn::before {
			width: 72px;
			height: 72px;
		}
		#toppage header .menuBtn .zdo_drawer_button {
			width: 25px;
			height: 23px;
		}
		#toppage header .menuBtn .zdo_drawer_button::after {
			width: 250%;
			height: 250%;
			top: -78%;
			left: -70%;
		}
		#toppage header .menuBtn .zdo_drawer_button .zdo_drawer_bar {
			width: 25px;
			height: 3px;
		}
		#toppage header .menuBtn .zdo_drawer_button .zdo_drawer_bar {
			width: 25px;
			height: 3px;
		}
		#toppage header .menuBtn .zdo_drawer_button.change .zdo_drawer_bar {
			width: 32px;
			left: 3px;
		}
		#toppage header .gnaviArea {
			width: 419px;
			height: 568px;
			border-bottom-left-radius: 25px;
			box-sizing: border-box;
			padding: 88px 96px 66px 48px;
			position: fixed;
			top: 0;
			left: calc(50% - 168px);
			transform: translateY(-71vh);
			z-index: 997;
		}
		#toppage header .gnaviArea ul li a {
			font-size: 26px;
			padding: 30px 0;
		}
		#toppage header .gnaviArea .btn a {
			font-size: 26px;
			width: 304px;
			height: 80px;
			margin: 34px auto 0;
		}
		#toppage header .gnaviArea.active {
			transform: translateY(0vh);
		}
		#wrapper {
			z-index: 2;
		}
	}
/************** confirm **************/
	#confirm #formArea {
		padding: 43px 0;
	}
	#confirm #formArea .subContent {
		padding: 0 38px;
	}
	#confirm #formArea .subContent .top .h-type01 {
		font-size: 32px;
		margin: 0 0 26px;
	}
	#confirm #formArea .subContent dl dt {
		font-size: 19px;
		margin: 23px 0 0;
	}
	#confirm #formArea .subContent dl dt:first-child {
		margin: 56px 0 0;
	}
	#confirm #formArea .subContent dl dt::after {
		font-size: 11px;
		vertical-align: text-top;
		border-radius: 0;
		padding: 1px 5px 2px;
	}
	#confirm #formArea .subContent dl dd {
		font-size: 19px;
		margin: 8px 0 0;
		padding: 0 0 22px;
	}
	#confirm .submitArea .subContents p {
		font-size: 19px;
	}
	#confirm .submitArea .subContents ul {
		margin: 35px 0 0;
	}
	#confirm .submitArea .subContents ul li+li {
		margin: 20px 0 0;
	}
	#confirm .submitArea .subContents ul .submit {
		font-size: 24px;
		width: 378px;
		height: 66px;
	}
	#confirm .submitArea .subContents ul .submit:hover {
		opacity: 0.7;
	}
	#confirm .submitArea .subContents ul .back {
		font-size: 19px;
	}

/************** thanks **************/
	#thanks .kanryo {
		padding: 43px 0;
	}
	#thanks .kanryo .subContent {
		padding: 0 33px;
	}
	#thanks .kanryo .subContent .top .h-type01 {
		font-size: 32px;
		margin: 0 0 26px;
	}
	#thanks .kanryo .subContent .message {
		margin: 0 0 45px;
	}
	#thanks .kanryo .subContent .message h2 {
		font-size: 26px;
		margin: 50px 0 32px;
	}
	#thanks .kanryo .subContent .message p {
		font-size: 20px;
	}
	#thanks .kanryo .subContent .message p+p {
		margin: 2em 0 20px;
	}
	#thanks .kanryo .subContent .message ul {
		padding: 19px 0 0;
	}
	#thanks .kanryo .subContent .message ul li {
		font-size: 20px;
	}
	#thanks .kanryo .subContent .contact {
		font-size: 20px;
	}
	footer {
		margin: 50px 0 0;
		padding: 70px 0 50px;
	}
	footer .subContent dl {
		column-gap: 4%;
	}
	footer .subContent dl dt {
		font-size: 17px;
		width: 22%;
		margin: 0 0 35px;
	}
	footer .subContent dl dd {
		width: 50%;
		margin: 0 0 35px;
	}
	footer .subContent dl dd img {
		max-width: 170px;
	}
	footer .subContent .copyright {
		margin: 20px 0 0;
	}
	footer .subContent .copyright small {
		font-size: 11px;
	}
}