@charset "utf-8";

/* ===================================================================
RESET
=================================================================== */

/* RESET COMMON
--------------------*/

* {
	margin: 0;
	padding: 0;
}

body {
	font-weight: 500;
	max-width: none;
	width: 100%;
	font-feature-settings: "palt";
	color: #FFF;
}

.pc_element {
	display: block;
}

.sp_element {
	display: none;
}

.in-pc {
	display: inline-block;
}

.in-sp {
	display: none;
}

#container {
	background: linear-gradient(#910000e6, #910000e6) center center / 100px 100px repeat, url(../img/bg/noise.png);
	box-shadow: 0 10px 20px 25px rgba(75, 0, 0, .35) inset;
}

#container img {
	width: 100%;
	height: auto;
}

/* ===================================================================
HEADER
=================================================================== */

/* HEADER COMMON
--------------------*/

#header_lp {
	position: relative;
	padding: 0;
	margin: 0 auto;
	text-align: center;
	overflow: inherit;
	z-index: 999;
}

header#header_lp.fixed {
	position: fixed;
	text-align: center;
	width: 100%;
	background: #FFF;
	top: 0;
	transition: top .3s;
	z-index: 999;
}

#header_lp .inner {
	display: inline-block;
	width: 100%;
	max-width: 1250px;
	position: relative;
}

#header_lp .logo {
	width: 20%;
	max-width: 94px;
	padding: 8px 0 0 15px;
	position: relative;
	z-index: 2;
	float: left;
}

#header_lp .logo a {
	display: block;
}

#header_lp .logo img {
	width: 100%;
	height: auto;
}

#header_lp .hotel_name {
	float: left;
	font-size: 16px;
	font-weight: bold;
	text-align: left;
	padding: 27px 0 0 22px;
}

#header_lp .hotel_name a {
	color: #001E3A;
}

#header_lp h1 {
	float: none;
	position: absolute;
	top: 27%;
	width: 100%;
	max-width: none;
	font-size: 23px;
	font-weight: normal;
	text-align: center;
	letter-spacing: 3px;
	color: #231815;
	padding: 0;
}

#lp_detail {
	font-family: 'Noto Sans JP', sans-serif;
	margin: 0 auto;
	overflow: hidden;
}

/* ===================================================================
TOP
=================================================================== */

/* TOP COMMON
--------------------*/

#top_sec {
	width: 1250px;
	margin: 0 auto 0;
	padding: 0 0 50px;
	color: #FFF;
	background: repeating-linear-gradient(95deg, rgba(145, 145, 145, .1), rgba(145, 145, 145, .1) 4px, rgba(255, 255, 255, .1) 4px, rgba(255, 255, 255, .1) 8px), linear-gradient(90deg, rgba(75, 0, 0, .3) 0%, rgba(145, 0, 0, .3) 15%, rgba(245, 100, 100, .5) 50%, rgba(145, 0, 0, .3) 85%, rgba(75, 0, 0, .3) 100%);
	border: 4px solid rgba(245, 100, 100, .1);
	border-radius: 0 0 20px 20px;
	box-shadow: 0 10px 15px 20px rgba(75, 0, 0, .25);
}

#top_sec .main_area {
	position: relative;
	line-height: 1.0;
	margin: 0 0 45px;
}

#top_sec .main_area .title_box {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	color: #FFF;
	text-align: center;
	padding: 25px 0;
}

#top_sec .main_area .title_box h1 {
	margin: 0 25px 10px;
	font-size: 34px;
	font-weight: 700;
}

#top_sec .main_area .title_box .period_text {
	font-size: 15px;
	padding: 0 25px 0;
	line-height: 1.3;
}

#top_sec .text_area {
	margin: 0 auto 40px;
	font-size: 16px;
	line-height: 2.0;
	padding: 0 20px;
	text-align: center;
}

.movie-heading {
	position: relative;
	width: 1000px;
	margin: 20px auto 40px;
	font-size: 38px;
	font-weight: 700;
	text-align: center;
}

.movie-heading h2 {
	position: relative;
	display: inline-block;
	font-weight: 900;
	line-height: 1.3;
	background: linear-gradient(10deg, rgba(208, 169, 0, 1) 0%, rgba(255, 249, 230, 0.95) 50%, rgba(208, 169, 0, 1) 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	text-shadow: 3px 3px 5px rgba(75, 0, 0, .35);
	z-index: 1;
}

.movie-sub-heading {
	position: relative;
	width: 1000px;
	margin: 20px auto 40px;
	font-size: 17px;
	text-align: center;
	letter-spacing: 2px;
}

.movie-iframe {
	position: relative;
	width: 800px;
	margin: 20px auto 60px;
	padding: 3.5%;
}

.movie-iframe-inner {
	position: relative;
	display: block;
	width: 100%;
	height: 0;
	padding: 56.25% 0 0;
}

.movie-iframe:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 0;
	padding: calc(1025 / 1677 * 100%) 0 0;
	background: url(../img/kv/frame.webp) 50% 50% / contain no-repeat, transparent;
}

.movie-iframe-inner iframe,
.movie-iframe-inner video {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	outline: none;
}

/* ===================================================================
SLIDE
=================================================================== */

/* SLIDE COMMON
--------------------*/

.slide_sec {
	padding: 60px 0 0 0;
	margin: 0 0 60px;

}

.slide_sec .slider {
	display: none;
	opacity: 0;
	transition: opacity .3s linear;
}

.slide_sec .slider.slick-initialized {
	opacity: 1;
	display: block;
}

/* ===================================================================
ANCHOR
=================================================================== */

/* ANCHOR COMMON
--------------------*/

.anchor-list > ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	column-gap: 50px;
	row-gap: 20px;
	width: 850px;
	margin: 0 auto;
}

.anchor-list > ul > li {
	width: 250px;
}

/* ===================================================================
BUTTON
=================================================================== */

/* BUTTON COMMON
--------------------*/

.btn {
	width: 100%;
	max-width: 300px;
	margin: 0 auto;
	padding: 2px;
	background: repeating-linear-gradient(135deg, #B67B03 20px, #DAAF08 40px, #FEE9A0 60px, #DAAF08 80px, #B67B03 100px);
	border-radius: 30px;
	box-shadow: 0 0 5px 5px rgba(75, 0, 0, .35);
}

.btn a {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 10px;
	width: 100%;
	min-height: 40px;
	color: #FFF;
	font-size: 16px;
	font-weight: 700;
	background: #00693E;
	border: 2px solid #736B00;
	border-radius: 30px;
	transition: background-color .3s, border .3s;
}

.btn a:hover {
	background: #333;
	border: 2px solid #333;
}

.btn a i {
	font-size: 18px;
}

/* ===================================================================
OPTION
=================================================================== */

/* OPTION COMMON
--------------------*/

.option_sec {
	position: relative;
	width: 1250px;
	margin: 60px auto 80px;
	padding: 50px 0 0 0;
	color: #FFF;
	background: repeating-linear-gradient(95deg, rgba(145, 145, 145, .1), rgba(145, 145, 145, .1) 4px, rgba(255, 255, 255, .1) 4px, rgba(255, 255, 255, .1) 8px), linear-gradient(90deg, rgba(75, 0, 0, .3) 0%, rgba(145, 0, 0, .3) 15%, rgba(245, 100, 100, .5) 50%, rgba(145, 0, 0, .3) 85%, rgba(75, 0, 0, .3) 100%);
	border: 4px solid rgba(245, 100, 100, .1);
	border-radius: 20px;
	box-shadow: 0 10px 15px 20px rgba(75, 0, 0, .25);
}

.option_sec h2.cat_title {
	position: relative;
	width: 1000px;
	margin: 20px auto 60px;
	font-size: 38px;
	font-weight: 700;
}

.option_sec h2.cat_title span {
	position: relative;
	display: inline-block;
	font-weight: 900;
	line-height: 1;
	background: linear-gradient(10deg, rgba(208, 169, 0, 1) 0%, rgba(255, 249, 230, 0.95) 50%, rgba(208, 169, 0, 1) 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	text-shadow: 3px 3px 5px rgba(75, 0, 0, .35);
	z-index: 1;
}

.option_sec p.cat_text {
	font-size: 24px;
	font-weight: bold;
	text-align: center;
	width: 900px;
	margin: 60px auto 0;
	padding: 0 0 20px;
}

.option_sec .cat_booking {
	font-size: 14px;
	text-align: center;
}

.option_sec .cat_booking.top {
	position: relative;
	z-index: 999;
	padding: 30px 0;
}

.option_sec .cat_booking.child.top {
	position: relative;
	z-index: 999;
	padding: 30px 0;
}

.option_sec .cat_booking.bottom {
	padding: 0 0 30px;
}

.option_sec .cat_booking.child.bottom {
	padding: 0 0 60px;
}

/*** リンク設定 ***/
.option_box .info .link {
	text-align: center;
}

/* OPTION TEMPLATE 1
--------------------*/

.template_1.option_area {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	width: 1250px;
	margin: 30px auto 0;
	padding: 0 125px 50px;
	position: relative;
}

.template_1 .option_box {
	display: flex;
	align-items: center;
	width: 1250px;
	margin: 0 auto;
	position: relative;
	opacity: 0;
	transition: opacity 1s, transform 1s;
	transform: translateX(-50%);
}

.template_1 .option_box.isAnimate {
	opacity: 1;
	transform: translateX(0);
}

.template_1 .option_box:nth-child(odd) {
	flex-direction: row-reverse;
	transform: translateX(50%);
}

.template_1 .option_box:nth-child(odd).isAnimate {
	opacity: 1;
	transform: translateX(0);
}

.template_1 .option_box .title {
	margin: 0 0 10px;
}

.template_1 .option_box .title h3 {
	font-size: 16px;
	font-weight: bold;
	line-height: 1.2;
	color: #FFF;
	border-bottom: 1px dashed #FFF;
	border-top: 1px dashed #FFF;
	padding: 10px 5px;
	margin: 0 0 10px;
}

.template_1 .option_box .title p {
	font-size: 14px;
	font-weight: bold;
}

.template_1 .option_box .img {
	width: 500px;
	position: relative;
	z-index: 1;
}

.template_1 .option_box .img img {
	width: 100%;
	height: auto;
}

.template_1 .option_box .info {
	width: 500px;
	padding: 0 50px 0 0;
	position: relative;
	z-index: 1;
}

.template_1 .option_box .info h3 {
	font-size: 18px;
	margin: 0 0 20px;
}

.template_1 .option_box .info .text {
	font-size: 14px;
	margin: 0 0 20px;
}

.template_1 .option_box .info .text p {
	margin: 0 0 10px;
}

/* OPTION TEMPLATE 2
--------------------*/

.template_2.option_area {
	position: relative;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	width: 1250px;
	padding: 0 125px 0;
	margin: 40px auto 0;
	position: relative;
}

.template_2 .option_box {
	width: 460px;
	position: relative;
	margin: 0 0 120px;
	transition: opacity 1s, transform 1s;
	opacity: 0;
	transform: translateY(10%);
}

.template_2 .option_box:nth-child(even) {
	transform: translateY(15%);
}

.template_2 .option_box:nth-child(odd) {
	transform: translateY(10%);
}

.template_2 .option_box.isAnimate {
	opacity: 1;
	transform: translateY(0);
}


.template_2 .option_box:nth-child(odd).isAnimate {
	opacity: 1;
	transform: translateX(0);
}

.template_2 .option_box .title {
	margin: 0 0 10px;
}

.template_2 .option_box .title h3 {
	font-size: 16px;
	font-weight: bold;
	line-height: 1.2;
	color: #FFF;
	border-bottom: 1px dashed #FFF;
	border-top: 1px dashed #FFF;
	padding: 10px 5px 5px;
	margin: 0 0 10px;
}

.template_2 .option_box .title p {
	font-size: 14px;
}

.template_2 .option_box .img {
	width: 220px;
	margin: 0 0 20px;
	position: relative;
	z-index: 1;
	float: right;
}

.template_2 .option_box .img img {
	width: 100%;
	height: auto;
}

.template_2 .option_box .info {
	position: relative;
	z-index: 1;
	float: left;
	width: 230px;
}

.template_2 .option_box .info h3 {
	font-size: 18px;
	margin: 0 0 20px;
}


.template_2 .option_box .info .text {
	font-size: 14px;
	margin: 0 0 20px;
	text-align: justify;
}

.template_2 .option_box .info .text p {
	margin: 0 0 10px;
}

/* OPTION TEMPLATE 3
--------------------*/

.template_3.option_area {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	width: 1250px;
	padding: 0 125px 50px;
	margin: 30px auto 0;
	position: relative;
}

.template_3 .option_box {
	width: 480px;
	position: relative;
	margin: 0 0 80px;
	opacity: 0;
	transition: opacity 1s, transform 1s;
	transform: translateX(-10%);
}

.template_3 .option_box.isAnimate {
	opacity: 1;
	transform: translateX(0);
}

.template_3 .option_box:nth-child(odd) {
	flex-direction: row-reverse;
	transform: translateX(10%);
}

.template_3 .option_box:nth-child(odd).isAnimate {
	opacity: 1;
	transform: translateX(0);
}

.template_3 .option_box:nth-child(even) {
	margin: 200px 0 0 0;
}

.template_3 .option_box .img {
	width: 400px;
	margin: 0 0 20px 100px;
	text-align: right;
	position: relative;
	z-index: 1;
}

.template_3 .option_box .info {
	position: relative;
	z-index: 1;
}

.template_3 .option_box .info h3 {
	margin: 0 0 20px;
	font-size: 18px;
	font-weight: 700;
}

.template_3 .option_box .info .text {
	font-size: 14px;
	margin: 0 0 20px;
}

.template_3 .option_box .info .text p {
	margin: 0 0 10px;
	background: url() center center / contain no-repeat, transparent;
}

/* ===================================================================
LETTER
=================================================================== */

/* LETTER COMMON
--------------------*/

.template_2 .option_box.l-layout {
	position: absolute;
	bottom: 130px;
	right: -10px;
	width: 650px;
	margin: 0;
}

.l-frame {
	position: relative;
	width: 100%;
	height: 0;
	padding: calc(772 / 1226 * 100%) 0 0;
	transform: rotate(-2deg);
	background: url(../img/sec2/pc/letter.webp) center center / contain no-repeat, transparent;
	box-shadow: 10px 10px 5px rgba(75, 0, 0, .35);
}

.l-content {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.l-inner {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	padding: 55px 70px 70px;
	color: #333;
}

.l-title {
	min-width: 60%;
	margin: 0 0 10px;
	color: #226F61;
	font-size: 24px;
	font-weight: 700;
	letter-spacing: 1px;
}

.l-title-start {
	text-align: left;
}

.l-title-end {
	text-align: right;
}

.l-overview {
	margin: 0 0 10px;
	line-height: 1.5;
}

.l-detail {
	min-width: 70%;
}

.l-detail dl {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 10px;
	padding: 2px 0;
	line-height: 1.5;
	background: rgba(243, 234, 219, .5);
	border-bottom: 1px dashed #226F61;
}

.l-detail dl dt {
	width: 10%;
	color: #226F61;
	font-weight: 700;
	text-align: center;
}

.l-detail dl dd {
	width: 90%;
}

.l-photo {
	position: absolute;
	bottom: -30px;
	right: 0;
	transform: rotate(6deg);
	width: 200px;
}

.l-photo img {
	border: 4px solid rgba(145, 145, 145, .5);
	box-shadow: 10px 10px 5px rgba(75, 0, 0, .35);
}

/* ===================================================================
DECORATION
=================================================================== */

/* DECORATION COMMON
--------------------*/

.decoration {
	position: absolute;
	filter: drop-shadow(10px 10px 5px rgba(75, 0, 0, .35));
}

.decoration.d01 {
	top: -40px;
	left: 5px;
	transform: rotate(-5deg);
	background: url(../img/decoration/01.webp) center center / contain no-repeat, transparent;
	width: 100px;
	height: 92px;
}

.decoration.d02 {
	top: -40px;
	right: -10px;
	transform: rotate(10deg);
	background: url(../img/decoration/02.webp) center center / contain no-repeat, transparent;
	width: 100px;
	height: 100px;
}

.decoration.d03 {
	bottom: 0;
	left: -20px;
	transform: rotate(-5deg);
	background: url(../img/decoration/03.webp) center center / contain no-repeat, transparent;
	width: 140px;
	height: 92px;
}

.decoration.d04 {
	bottom: 5px;
	right: -20px;
	transform: rotate(10deg);
	background: url(../img/decoration/04.webp) center center / contain no-repeat, transparent;
	width: 100px;
	height: 128px;
}

.decoration.d05 {
	top: -30px;
	left: 10px;
	transform: rotate(5deg);
	background: url(../img/decoration/05.webp) center center / contain no-repeat, transparent;
	width: 100px;
	height: 81px;
}

.decoration.d06 {
	top: -30px;
	right: -20px;
	transform: rotate(-5deg);
	background: url(../img/decoration/06.webp) center center / contain no-repeat, transparent;
	width: 100px;
	height: 98px;
}

.decoration.d07 {
	bottom: 5px;
	right: -10px;
	transform: rotate(0deg);
	background: url(../img/decoration/07.webp) center center / contain no-repeat, transparent;
	width: 120px;
	height: 174px;
}

.decoration.d08 {
	bottom: 0;
	right: 75px;
	transform: rotate(15deg);
	background: url(../img/decoration/08.webp) center center / contain no-repeat, transparent;
	width: 80px;
	height: 110px;
}

.decoration.d09 {
	top: -20px;
	left: -20px;
	transform: rotate(0deg);
	background: url(../img/decoration/09.webp) center center / contain no-repeat, transparent;
	width: 100px;
	height: 105px;
}

.decoration.d10 {
	top: -20px;
	right: 0;
	transform: rotate(10deg);
	background: url(../img/decoration/10.webp) center center / contain no-repeat, transparent;
	width: 100px;
	height: 110px;
}

.decoration.d11 {
	bottom: 0;
	right: -20px;
	transform: rotate(0deg);
	background: url(../img/decoration/11.webp) center center / contain no-repeat, transparent;
	width: 140px;
	height: 176px;
}

.decoration.d12 {
	bottom: 60px;
	right: 100px;
	transform: rotate(-15deg);
	background: url(../img/decoration/12.webp) center center / contain no-repeat, transparent;
	width: 50px;
	height: 104px;
}

.decoration.d13 {
	top: -30px;
	left: 20px;
	transform: rotate(0deg);
	background: url(../img/decoration/13.webp) center center / contain no-repeat, transparent;
	width: 100px;
	height: 125px;
	z-index: 2;
}

.decoration.d14 {
	top: 0;
	left: 0;
	transform: rotate(-5deg);
	background: url(../img/decoration/14.webp) center center / contain no-repeat, transparent;
	width: 140px;
	height: 69px;
	z-index: 1;
}

.decoration.d15 {
	bottom: -10px;
	left: -10px;
	transform: rotate(-20deg);
	background: url(../img/decoration/15.webp) center center / contain no-repeat, transparent;
	width: 100px;
	height: 112px;
}

.decoration.d16 {
	bottom: 0;
	right: -10px;
	transform: rotate(5deg);
	background: url(../img/decoration/16.webp) center center / contain no-repeat, transparent;
	width: 120px;
	height: 95px;
}

.decoration.d17 {
	top: 0;
	left: 10px;
	transform: rotate(0deg);
	background: url(../img/decoration/17.webp) center center / contain no-repeat, transparent;
	width: 100px;
	height: 120px;
}

.decoration.d18 {
	top: 0;
	right: 0;
	transform: rotate(-10deg);
	background: url(../img/decoration/18.webp) center center / contain no-repeat, transparent;
	width: 120px;
	height: 97px;
}

.decoration.d19 {
	bottom: 0;
	left: 10px;
	transform: rotate(0deg);
	background: url(../img/decoration/19.webp) center center / contain no-repeat, transparent;
	width: 100px;
	height: 112px;
}

.decoration.d20 {
	bottom: -10px;
	right: -10px;
	transform: rotate(10deg);
	background: url(../img/decoration/20.webp) center center / contain no-repeat, transparent;
	width: 100px;
	height: 108px;
}

.decoration.d21 {
	top: -20px;
	left: -5px;
	transform: rotate(10deg);
	background: url(../img/decoration/21.webp) center center / contain no-repeat, transparent;
	width: 80px;
	height: 113px;
}

.decoration.d22 {
	top: -20px;
	right: -10px;
	transform: rotate(0deg);
	background: url(../img/decoration/22.webp) center center / contain no-repeat, transparent;
	width: 80px;
	height: 108px;
}

.decoration.d23 {
	bottom: 0;
	left: 0;
	transform: rotate(0deg);
	background: url(../img/decoration/23.webp) center center / contain no-repeat, transparent;
	width: 100px;
	height: 130px;
}

.decoration.d24 {
	bottom: -5px;
	right: -20px;
	transform: rotate(15deg);
	background: url(../img/decoration/24.webp) center center / contain no-repeat, transparent;
	width: 120px;
	height: 101px;
}

/* ===================================================================
NOTES
=================================================================== */

/* NOTES COMMON
--------------------*/

#notes_sec {
	width: 1250px;
	margin: 0 auto 40px;
	padding: 40px 0;
	background: repeating-linear-gradient(95deg, rgba(145, 145, 145, .1), rgba(145, 145, 145, .1) 4px, rgba(255, 255, 255, .1) 4px, rgba(255, 255, 255, .1) 8px), linear-gradient(90deg, rgba(75, 0, 0, .3) 0%, rgba(145, 0, 0, .3) 15%, rgba(245, 100, 100, .5) 50%, rgba(145, 0, 0, .3) 85%, rgba(75, 0, 0, .3) 100%);
	border: 4px solid rgba(245, 100, 100, .1);
	border-radius: 20px;
	box-shadow: 0 10px 15px 20px rgba(75, 0, 0, .25);
}

#notes_sec .text_area {
	width: 1000px;
	margin: 0 auto;
	font-size: 14px;
	line-height: 1.6;
}

#notes_sec .text_area a {
	color: #FFF;
	text-decoration: underline;
}

/* ===================================================================
COMING SOON
=================================================================== */

/* COMING SOON COMMON
--------------------*/

.coming-soon {
	position: relative;
	margin: 20px auto 40px;
	font-size: 24px;
	font-weight: 700;
	text-align: center;
}

.coming-soon.pc-text-left {
	text-align: left;
}

@media screen and (max-width: 768px) {

	/* ===================================================================
	RESET
	=================================================================== */

	/* RESET COMMON
	--------------------*/

	.pc_element {
		display: none;
	}

	.sp_element {
		display: block;
	}

	.in-pc {
		display: none;
	}

	.in-sp {
		display: inline-block;
	}

	/* ===================================================================
	TOP
	=================================================================== */

	/* TOP COMMON
	--------------------*/

	#top_sec {
		width: 100%;
		padding: 0 0 20px;
	}

	#top_sec .main_area {
		position: relative;
		line-height: 1.0;
		margin: 0 0 20px;
	}

	#top_sec .main_area .title_box {
		padding: 10px 0;
	}

	#top_sec .main_area .title_box h1 {
		font-size: 18px;
	}

	#top_sec .main_area .title_box .period_text {
		font-size: 13px;
	}

	#top_sec .text_area {
		width: 100%;
		padding: 0 10px;
		margin: 0 auto;
		font-size: 14px;
	}

	.movie-heading {
		width: 100%;
		margin: 10px auto;
		font-size: 28px;
	}

	.movie-sub-heading {
		width: 100%;
		margin: 10px auto;
		font-size: 12px;
	}

	.movie-iframe {
		width: 100%;
		margin: 10px auto;
		padding: 6%;
	}

	/* ===================================================================
	SLIDE
	=================================================================== */

	/* SLIDE COMMON
	--------------------*/

	.slide_sec {
		padding: 30px 0 0 0;
		margin: 0 0 30px;
	}

	/* ===================================================================
	ANCHOR
	=================================================================== */

	/* ANCHOR COMMON
	--------------------*/

	.anchor-list > ul {
		width: 100%;
		column-gap: 10px;
	}

	.anchor-list > ul > li {
		width: calc((100% - 10px) / 2);
	}

	/* ===================================================================
	BUTTON
	=================================================================== */

	/* BUTTON COMMON
	--------------------*/

	.btn a {
		gap: 5px;
		font-size: 14px;
	}

	.btn a i {
		font-size: 16px;
	}

	/* ===================================================================
	OPTION
	=================================================================== */

	/* OPTION COMMON
	--------------------*/

	.option_sec {
		margin: 60px auto;
		width: 100%;
		padding: 50px 5px;
	}

	.option_sec h2.cat_title {
		
		width: 100%;
		margin: 10px auto;
		font-size: 28px;
		text-align: center;
	}

	.option_sec h2.cat_title span {
		padding: 0 5px;
		display: block;
		font-weight: bold;
		line-height: 1.3;
	}

	.option_sec p.cat_text {
		font-size: 20px;
		font-weight: bold;
		text-align: center;
		width: 100%;
		margin: 20px auto 0;
		padding: 0 0 10px;
	}

	/* OPTION TEMPLATE 1
	--------------------*/

	.template_1.option_area {
		display: block;
		width: 100%;
		margin: 20px auto 0;
		padding: 0;
	}


	.template_1 .option_box {
		display: block;
		width: 100%;
		padding: 0 0 10px;
		margin: 0 0 10px;
	}

	.template_1 .option_box .title {
		position: relative;
	}
	
	.template_1 .option_box .img {
		width: 100%;
		padding: 0;
	}

	.template_1 .option_box .info {
		width: 100%;
		padding: 0;
	}

	.template_1 .option_box .info h3,
	.template_1 .option_box .info .text,
	.template_1 .option_box .info .link {
		width: 100%;
	}

	/* OPTION TEMPLATE 2
	--------------------*/

	.template_2.option_area {
		display: block;
		width: 100%;
		padding: 0 0 10px;
		margin: 20px auto 0;
	}

	.template_2 .option_box {
		width: 100%;
		margin: 0 0 10px;
		padding: 0 0 10px;
	}

	.template_2 .option_box:nth-child(even) {
		transform: translateY(10%);
		margin-right: 0;
	}

	.template_2 .option_box:nth-child(odd) {
		transform: translateY(10%);
		margin-left: 0;
	}

	.template_2 .option_box.isAnimate {
		opacity: 1;
		transform: translateY(0);
	}

	.template_2 .option_box .img {
		width: 100%;
		float: none;
	}

	.template_2 .option_box .info {
		width: 100%;
		padding: 0 10px 0 0;
		float: none;
	}

	/* OPTION TEMPLATE 3
	--------------------*/

	.template_3.option_area {
		display: block;
		width: 100%;
		padding: 0 0 30px;
		margin: 30px auto 0;
	}

	.template_3 .option_box {
		width: 100%;
		margin: 0 0 10px;
	}

	.template_3 .option_box:nth-child(even) {
		margin: 0;
	}

	.template_3 .option_box .img {
		width: 100%;
		margin: 0 0 20px;
		text-align: right;
		position: relative;
		z-index: 1;
		padding: 0;
	}

	.template_3 .option_box .img a {
		width: 100%;
	}

	.template_3 .option_box:nth-child(2n) .img {
		justify-content: flex-start;
	}

	/* ===================================================================
	LETTER
	=================================================================== */

	/* LETTER COMMON
	--------------------*/

	.template_2 .option_box.l-layout {
		position: relative;
		bottom: 0;
		right: 0;
		width: 100%;
		max-width: 357px;
		margin: 0 auto;
		padding: 0 0 50px;
	}

	.l-frame {
		padding: calc(1719 / 1226 * 100%) 0 0;
		transform: rotate(0deg);
		background: url(../img/sec2/sp/letter.webp) center center / contain no-repeat, transparent;
	}

	.l-inner {
		justify-content: flex-start;
		padding: 60px 40px 110px;
	}

	.l-title {
		width: 100%;
		min-width: unset;
		margin: 0 0 15px;
		font-size: 20px;
	}

	.l-overview {
		margin: 0 0 15px;
	}

	.l-detail {
		width: 100%;
		min-width: unset;
	}

	.l-detail dl {
		gap: 5px;
	}

	.l-detail dl dt {
		width: 15%;
	}

	.l-detail dl dd {
		width: 85%;
	}

	.l-photo {
		bottom: -60px;
		right: auto;
		left: 50%;
		transform: translate(-50%, 0) rotate(4deg);
	}

	/* ===================================================================
	DECORATION
	=================================================================== */

	/* DECORATION COMMON
	--------------------*/

	.decoration.d01 {
		top: -20px;
		left: 0;
		width: 75px;
		height: 69px;
	}

	.decoration.d02 {
		top: -20px;
		right: 0;
		width: 75px;
		height: 75px;
	}

	.decoration.d03 {
		bottom: -20px;
		left: 0;
		width: 105px;
		height: 69px;
	}

	.decoration.d04 {
		bottom: -25px;
		right: 0;
		width: 75px;
		height: 96px;
	}

	.decoration.d05 {
		top: -20px;
		left: 0;
		width: 75px;
		height: 61px;
	}

	.decoration.d06 {
		top: -20px;
		right: 0;
		width: 75px;
		height: 74px;
	}

	.decoration.d07 {
		bottom: -20px;
		right: 0;
		width: 60px;
		height: 87px;
	}

	.decoration.d08 {
		bottom: -20px;
		right: 45px;
		width: 40px;
		height: 55px;
	}

	.decoration.d09 {
		top: -20px;
		left: 0;
		width: 75px;
		height: 79px;
	}

	.decoration.d10 {
		top: -20px;
		right: 0;
		width: 75px;
		height: 83px;
	}

	.decoration.d11 {
		bottom: -20px;
		right: 0;
		width: 70px;
		height: 88px;
	}

	.decoration.d12 {
		bottom: 10px;
		right: 60px;
		width: 25px;
		height: 52px;
	}

	.decoration.d13 {
		top: -30px;
		left: 20px;
		width: 75px;
		height: 94px;
		z-index: 2;
	}

	.decoration.d14 {
		top: 0;
		left: 0;
		width: 105px;
		height: 52px;
		z-index: 1;
	}

	.decoration.d15 {
		bottom: -20px;
		left: 10px;
		width: 75px;
		height: 84px;
	}

	.decoration.d16 {
		bottom: -20px;
		right: 0;
		width: 90px;
		height: 72px;
	}

	.decoration.d17 {
		top: -30px;
		left: 0;
		width: 75px;
		height: 90px;
	}

	.decoration.d18 {
		top: -20px;
		right: 0;
		width: 90px;
		height: 73px;
	}

	.decoration.d19 {
		bottom: -20px;
		left: 0;
		width: 75px;
		height: 84px;
	}

	.decoration.d20 {
		bottom: -20px;
		right: 0;
		width: 75px;
		height: 81px;
	}

	.decoration.d21 {
		top: -25px;
		left: 5px;
		width: 60px;
		height: 85px;
	}

	.decoration.d22 {
		top: -25px;
		right: 0;
		width: 60px;
		height: 81px;
	}

	.decoration.d23 {
		bottom: -20px;
		left: 0;
		width: 75px;
		height: 98px;
	}

	.decoration.d24 {
		bottom: -10px;
		right: 0;
		width: 90px;
		height: 76px;
	}
	
	/* ===================================================================
	NOTES
	=================================================================== */

	/* NOTES COMMON
	--------------------*/

	#notes_sec {
		width: 100%;
		margin: 0 auto 20px;
		padding: 20px 0;
	}

	#notes_sec .text_area {
		width: 100%;
		padding: 0 10px;
		margin: 0 auto;
		font-size: 14px;
		line-height: 1.6;
	}

	/* ===================================================================
	COMING SOON
	=================================================================== */

	/* COMING SOON COMMON
	--------------------*/

	.coming-soon {
		margin: 10px auto 20px;
		font-size: 20px;
	}

	.coming-soon.sp-text-center {
		text-align: center;
	}

	/* ===================================================================
	FOOTER
	=================================================================== */

	/* FOOTER COMMON
	--------------------*/

	footer{
		padding:0 0 0 0;
		background:#DCDCDC;
	}

	/*** booking_area ***/
	footer .booking_area{
		padding:10px;
		margin:0 0 10px;
	}

	footer .booking_area p.tel{
		width:100%;
		margin:0 auto;
	}

	footer .booking_area p.tel img{
		width:100%;
	}

	footer .booking_area .other_hotel{
		margin:10px 0 0 0;
		padding:10px 0;
		border:solid 1px #D6D2C4;
		background:#FFF;
		-moz-border-radius:5px;
		-webkit-border-radius:5px;
		border-radius:5px;
	}

	footer .booking_area .other_hotel h2{
		font-size:14px;
		text-align:center;
		padding:0;
		cursor:pointer;
	}

	footer .booking_area .other_hotel h2 img{
		vertical-align:inherit;
	}

	footer .booking_area .other_hotel h2.open img{
		-moz-transform: rotate(180deg);
		-webkit-transform:rotate(180deg);
		-o-transform: rotate(180deg);
		-ms-transform: rotate(180deg);
	}

	footer .booking_area .other_hotel .hotel_list{
		border-top:solid 1px #DEDBCF;
		margin:8px 0 0 0;
	}

	footer .booking_area .other_hotel .hotel_box{
		overflow:hidden;
		clear:both;
		border-bottom:solid 1px #DEDBCF;
	}

	footer .booking_area .other_hotel .hotel_box a{
	}

	footer .booking_area .other_hotel .hotel_list img{
		float:left;
		width:28%;
		padding:0 5px 0 0;
	}

	footer .booking_area .other_hotel .hotel_list p{
		font-size:12px;
		padding:10px 0 0 0;
	}

	footer .booking_area .other_hotel p.closeHotel span{
		display:block;
		width:30%;
		padding:5px 10px;
		margin:0 auto;
		background:#DCDCDC;
		color:#001E3A;
		font-size:14px;
		text-align:center;
		cursor:pointer;
		-moz-border-radius:5px;
		-webkit-border-radius:5px;
		border-radius:5px;
	}

	/*** social_area ***/
	footer .social_area{
		background:#FFF;
		padding:10px 0;
		margin:0 2px;
		text-align:center;
	}

	footer .social_area ul{
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
	}

	footer .social_area ul li{
		margin: 0 7.5px 10px;
	}

	footer .social_area ul li.spacer {
		flex: none;
		display: block;
		width: 100%;
		margin: 0;
	}

	footer .social_area a{
		display: flex;
		justify-content: center;
		align-items: center;
		font-size:12px;
	}

	footer .social_area a span {
		flex: none;
		display: block;
		margin: 0 0 0 5px;
	}

	/*** site_nav ***/
	footer .site_nav{
		clear:both;
		overflow:hidden;
	}

	footer .site_nav ul li{
		float:left;
		font-size:14px;
		text-align:center;
		width:49%;
		padding:10px 0;
	}

	footer .site_nav ul li:last-child{
		float:right;
		border-left:solid 1px #CCC;
	}

	footer .site_nav ul li a{
		display:block;
	}

	/*** site_info ***/
	footer .site_info{
		background:#001E3A;
		overflow:hidden;
		padding:10px;
	}

	footer .site_info a{
		color:#FFF;
	}

	footer .site_info address{
		float:left;
		font-size:12px;
		font-style:normal;
		color:#FFF;
	}

	footer .site_info p.map{
		float:right;
		width:25%;
		max-width:100px;
		padding:0 0 10px;
	}

	footer .site_info p.map img{
		width:100%;
	}

	footer .site_info p.privacy{
		clear:both;
		font-size:12px;
		text-align:right;
		color:#FFF;
	}

	footer p.copy{
		color: #333 !important;
		background:#FFF;
		font-size:12px;
		text-align:center;
		padding:5px 0;
	}

}