@charset "UTF-8";

/*----------------------------------------

	- page title
	- contents
		- map
		- button

-----------------------------------------*/
#error span::before {
	content: "";
	display: block;
	position: absolute;
	bottom: 100%;
	left: 50%;
	transform: translateX(-50%);
	border-bottom: 10px solid rgb(255, 255, 255);
	border-left: 8px solid rgba(255, 255, 255, 0);
	border-right: 8px solid rgba(255, 255, 255, 0);
}

#error span {
	position: relative;
	display: inline-block;
	margin-top: 15px;
	margin-inline: auto;
	padding: 1em;
	font-size: 1.4rem;
	background-color: #fff;
	text-align: center;
	box-sizing: border-box;
	border-radius: 100px;
}

#error {
	text-align: center;
}

ol#breadcrumb li {
	color: #fff;
}

ol#breadcrumb li a {
	color: #fff;
}

ol#breadcrumb li a::after {
	background: #fff;
	mask-image: url(../../svg/icon_arrow.svg);
	mask-position: center center;
}

/* button */
#contents {
	max-width: unset;
	width: 100%;
}

/* .con_wrap {
	padding-block: 10vw;
} */
.article {
	background: none;
}

ol#breadcrumb {
	margin-top: 0;
	padding-top: 20px;
}

.password_wrap {
	background: transparent url("../plan_limited/img/bg.jpg") left center / cover no-repeat;
	/* width: 100vw; */
	position: relative;
	left: 50%;
	transform: translateX(-50%);
	padding-bottom: 10vw;
}

.password_wrap .note {
	position: absolute;
	right: 10px;
	bottom: 10px;
	font-size: 1rem;
	color: #fff;
}

.password_wrap .password_wrap_inner {
	padding-block: 10vw;
}

.password_wrap .page_ttl_area {
	color: #fff;

}

.password_wrap .page_ttl_area p {
	letter-spacing: .05em;
}

.password_wrap .page_ttl_area .page_ttl .p1 {
	font-size: clamp(1rem, 3vw, 4.2rem);
}

.password_wrap .page_ttl_area .p2 {
	letter-spacing: .05em;
	font-size: clamp(1rem, 3vw, 2.2rem);
}

.password_wrap .password_input {
	max-width: 1200px;
	width: 90%;
	margin-inline: auto;
	text-align: center;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	margin-top: 5vw;
}

.password_input .inputArea {

	width: 100%;
}

@media screen and (max-width: 768px) {
	.password_input .inputArea {
		width: 100%;
		margin: 80px 0 0;
	}
}

.password_input .inputArea input {
	display: block;
	width: 90%;
	max-width: 628px;
	margin: 10px auto 0;
	padding: 22px 14px;
	border-radius: 6px;
	border: none;
	font-size: 1.6rem;
	box-sizing: border-box;
}

@media screen and (max-width: 768px) {
	.password_input .inputArea input {
		margin: 20px auto 0;
		font-size: 1.2rem;
	}
}

/* .password_wrap .password_input input {
	width: 80%;
	max-width: 550px;
	padding-block: 2rem;
	font-size: clamp(1rem, 3vw, 1.5rem);
	padding-left: 1rem;
	border-radius: 10px;
	margin-bottom: 2vw;
} */

.password_wrap .password_input .text {
	font-size: clamp(1rem, 3vw, 1.7rem);
	margin-bottom: 1rem;
}

.password_wrap .password_input button {
	border: none;
	cursor: pointer;
	outline: none;
	padding: 0;
	appearance: none;
	background-color: #716F55;
	color: #fff;
	max-width: 300px;
	width: 80%;
	margin-inline: auto;
	padding-block: 1rem;
	margin-top: 3%;
	font-size: clamp(1rem, 3vw, 1.8rem);
}

.password_wrap .password_input button span {
	font-size: clamp(1rem, 3vw, 1.8rem);
}

@media screen and (max-width: 768px) {

	.password_wrap .page_ttl_area .page_ttl .p1 {
		font-size: clamp(1rem, 8vw, 4.2rem);
	}

	.password_wrap .page_ttl_area .p2 {
		font-size: clamp(1rem, 4vw, 2.2rem);
	}

	.password_wrap .password_input input {
		font-size: clamp(1rem, 3vw, 1.5rem);
		border-radius: 5px;
	}

	.password_wrap .password_input .text {
		font-size: clamp(1rem, 3.5vw, 1.7rem);
		margin-bottom: 1rem;
	}

	.password_wrap .password_input button {
		padding-block: .5rem;
		font-size: clamp(1rem, 4vw, 1.8rem);
	}

	.password_wrap .password_input button span {
		font-size: clamp(1rem, 3vw, 1.8rem);
	}
}

.reserve_wrap {
	background: linear-gradient(0deg, rgba(0, 0, 0, 0.15) 0%, rgba(0, 0, 0, 0.15) 100%), url(../../img/con_bg.png) lightgray 50% / cover no-repeat;
	background-blend-mode: multiply, normal;
	padding-block: 5vw;
	/* width: 100vw; */
	width: 100%;
	position: relative;
	left: 50%;
	transform: translateX(-50%);
}

.reserve_wrap .inner {
	background: linear-gradient(0deg, rgba(62, 67, 72, 0.75) 0%, rgba(62, 67, 72, 0.75) 100%), url(../../img/gray_bg.jpg) lightgray 50% / cover no-repeat;
	max-width: 800px;
	width: 90%;
	margin-inline: auto;
	padding-block: 3vw;
}

.reserve_wrap .inner .textBox {
	color: #fff;
	max-width: 600px;
	width: 90%;
	margin-inline: auto;
}

.reserve_wrap .inner .textBox .p1 {
	text-align: center;
	font-size: clamp(1rem, 3vw, 3.5rem);
	margin-bottom: 3vw;
}

.reserve_wrap .inner .textBox .p2 {
	font-size: clamp(1rem, 3vw, 1.8rem);
}

.reserve_wrap .inner .btn_area {
	justify-content: center;
	margin-top: 3vw;
}

@media screen and (max-width: 768px) {

	.reserve_wrap {
		padding-block: 15vw;
	}

	.reserve_wrap .inner {
		padding-block: 10vw;
	}

	.reserve_wrap .inner .textBox .p1 {
		font-size: clamp(1rem, 5vw, 3.5rem);
		margin-bottom: 3vw;
	}

	.reserve_wrap .inner .textBox .p2 {
		font-size: clamp(1rem, 3.5vw, 1.8rem);
		line-height: 1.5;
	}

	.reserve_wrap .inner .btn_area {
		justify-content: center;
		margin-top: 5vw;
		width: 100%;
	}

	.reserve_wrap .inner .btn_area .btn {
		width: 90%;
	}
}

@media screen and (max-width: 767px) {}