@charset "utf-8";

/*++++++++++++++++++
separator
++++++++++++++++++*/
.wp-block-separator {
	border-top: 1px solid var(--opa-white02) !important;
	padding: 0 0 50px;
	margin:70px 0 0;
}
.has-vivid-red-color {
	color: inherit;
}
/*++++++++++++++++++
column
++++++++++++++++++*/
.wp-block-image img {
	width:var(--flex-100);
}

.wp-block-columns {
	gap:30px;
	margin: 0;
	position: relative;
	z-index: 1;
}

/*++++++++++++++++++
fontsize
++++++++++++++++++*/
.has-small-font-size {
	font-size: var(--font-em) !important
}
/*++++++++++++++++++
color
++++++++++++++++++*/
.has-inline-color.has-white-color {
	color: var(--white);
}

p.mn, p.mn span {
font-family: var(--mn) !important;
}
.wp-element-caption {
	line-height:var(--lh-md);
	font-size: var(--font-em);
}
/*++++++++++++++++++
common
++++++++++++++++++*/
section {
	clear: both;
/*
	margin: clamp(0px,0vw,150px) auto 150px;
*/
}
.template {
	max-width: var(--width-full);
	font-family:var(--gs);
	margin:0 auto 0;
}
.template p {
	font-size: var(--font-h6);
	color: var(--white);
	height: auto;
}
.template ol {
	padding: 0;
	list-style-type: decimal;
}
.template ol > li {
	font-size: var(--font-em);
	letter-spacing: 0;
	line-height: var(--lh-md);
	position: relative;
	padding: 0 0 0 20px;
	margin: 0 0 10px;
	list-style-type: none;
	counter-increment: cnt;
	color: var(--opa-white05);
}

.template ol > li:before {
	content: ""counter(cnt)". ";
	position: absolute;
	left: 0;
	font-weight: 500;
	font-size: var(--font-em);
	top: 3px;	
}
.template ol.wp-block-list ul.wp-block-list li {
	padding:0 0 0 15px;
}
.template ol.wp-block-list ul.wp-block-list li:before {
	content:"";
	position:absolute;
	width:7px;
	height:7px;
	background:var(--opa-white02);
	bottom: auto;
	top: 10px;
	border-radius: 100px;
}

.template ol > li p{
	font-size: var(--font-h6);
	letter-spacing: 1px;
	line-height: var(--lh-md);
}

.template ul {
	margin: 10px 0 0;
	list-style-type: decimal;
	/* display:block; */
}
.template ul > li {
	padding: 0 0 0 25px;
	position: relative;
	counter-reset:cnt;	
	counter-increment: cnt2;	
	font-size:inherit;
}

.template ul > li::marker {
	display:none;
	opacity: 0;
	content: "";
}
.template ul.wp-block-list > li:before {
	content: ""counter(cnt2)". ";
	position: absolute;
	left: 0;
	font-weight: 500;
	top: 0;
	margin: 0;
	font-family: var(--gs);
}
.template ol > li > ul > li {
	padding:0;
}
.template ul > li > ul > li {
	padding: 0 0 0 12px;
	margin: 0;
}
.template ul > li >  ul > li:before {
		content:"";
}

/*++++++++++++++++++
table
++++++++++++++++++*/

.wp-block-table {
	overflow: auto;
    white-space: nowrap;
    max-width: 100%;

}
.wp-block-table table{
	font-size: var(--font-h6);
	color: var(--white);
}
.wp-block-table tr{
	
}
.wp-block-table th{
	padding: 15px !important;
	/* background: var(--lightgray); */
	border: 1px solid var(--opa-white02) !important;
	border-bottom: 1px solid var(--opa-white02) !important;
	box-sizing: border-box;
	border-left: none !important;
}
.wp-block-table tr:first-child td:first-child,
.wp-block-table tr td:first-child{
	border-left: none !important;
}
.wp-block-table td[rowspan] {
	border-right: 1px solid var(--opa-white02) !important;
}
.wp-block-table td{
	border: 1px solid var(--opa-white02) !important;
	padding: 8px 10px  !important;
	line-height: var(--lh-md);
	box-sizing: border-box;
	border-right: none !important;
}
.wp-block-table td a {
	color:var(--aqua);
	text-decoration: underline;
}
.wp-block-table td a:hover {
	text-decoration: none;
}

.wp-element-caption {
	color: var(--white);
	font-size: var(--font-em);
	margin: 10px 0 0;
}

/*背景あり　補足など*/
.backgroundbox {
	background: var(--lightgray);
	padding: 30px;
    box-sizing: border-box;
}
.backgroundbox p {
	font-size:var(--font-em);
}
section.lp {
	padding: 40px 0 5px 0;
	margin: 0;
	background: var(--black);
	z-index: 10;
	position: relative;
}
/*++++++++++++++++++
目次
++++++++++++++++++*/
#ez-toc-container {
	/* display: none; */
	border:none;
	padding: 30px 20px !important;
	display: inline-block;
	width: auto;
	margin: 0 0 80px !important;
	background: var(--darkgray);
	font-size: var(--font-em);
}
#ez-toc-container ul {
	margin:0 !important;
	display: block;
}
#ez-toc-container ul > li > ul {
	margin:5px 0 0 20px !important;
}
#ez-toc-container li {
	line-height: var(--lh-lg) !important;
	font-size: inherit !important;!i;!;
}
div#ez-toc-container nav ul ul li {
	font-size:inherit !important;
}


.ez-toc-title-container {
	display: none !important;
}

#ez-toc-container .ez-toc-list-level-6 {
	margin: 0 0 0 5px;
}


#ez-toc-container li a,
#ez-toc-container li a:visited{
	color: var(--white);
	/* text-decoration: underline; */
	padding: 0;
	line-height: var(
	--lh-lg);
	font-weight: 400;
}

#ez-toc-container li a:hover {
}
/*++++++++++++++++++
room　single other
++++++++++++++++++*/
.others {
	background: var(--darkgray);
	padding: 60px 0 40px;
	margin: 150px 0 0;
}
.others h2 {
	margin: 0 0 40px;
	font-size: var(--font-h3);
}
.roombox {
	max-width: var(--width-max);
	margin: auto;
}
.roombox ul {
	grid-template-columns: repeat(5,1fr);
	gap: 2px;
}
.roombox ul li {
	padding: 0 !important;
}
.roombox ul li figure {
	margin: 0;
	position: relative;
}
.caption {
	position: absolute;
	bottom: 0;
	font-size: var(--font-em) !important;
	/*color: var(--black) !important;*/
	right: 0;
	padding: 5px 10px;
	/*text-shadow: 0 0 2px var(--white),
  0 0 2px var(--white), 
  0 0 2px var(--white), 
  0 0 2px var(--white), 
  0 0 2px var(--white), 
  0 0 2px var(--white), 
  0 0 2px var(--white), 
  0 0 2px var(--white), 
  0 0 2px var(--white), 
  0 0 2px var(--white), 
  0 0 2px var(--white), 
  0 0 2px var(--white), 
  0 0 2px var(--white), 
  0 0 2px var(--white), 
  0 0 2px var(--white), 
  0 0 2px var(--white), 
  0 0 2px var(--white);*/
}
.roombox h4 {
	padding: 10px 0 0;
}
.others div.mb1,
.others small {
	display: none;
}
/*++++++++++++++++++
LP VISUAL
++++++++++++++++++*/
#lp-visual .grd {
	position: absolute;
	bottom: 0;
	z-index: 0;
	width: var(--flex-100);
	height: var(--flex-100);
	left: 0;
}
#lp-visual {
	position: relative;
	flex-wrap: wrap;
	align-items: flex-start;
	margin: auto;
	top: 0;
	width: var(--flex-100);
	transition: all 300ms;
	height: 63vh;
	/* overflow: hidden; */
	z-index: 0;
}
#lp-visual img {
	width: var(--flex-100);
	aspect-ratio: 3/3;
	object-fit: cover;
	position: fixed;
	top: 0;
	margin: auto;
}

#lp-visual:before {
	content:"";
	background: var(--opa-black02);
	position: absolute;
	width: 100%;
	height: 100vh;
	z-index: 1;
	transition: .3s;
}
#lp-visual.on:before {
	background: none;
	transition: .3s;	
}	
#lp-visual h1 {
	letter-spacing: 3px;
	/* writing-mode: vertical-lr; */
	/* position: absolute; */
	left: 0;
	top: 0;
	right: 0;
	margin: auto;
	display: flex;
	align-items: center;
	justify-content: left;
	width: 100%;
	height: 100%;
	color: var(--white);
	font-size: 1.8rem;
	padding: 0;
	font-weight: 300;
}
#lp-visual dl {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	display: block;
	margin: auto;
	gap: 30px;
	align-items: center;
	z-index: 1;
	padding: 20px 15px 35px;
}
#lp-visual dt {margin: 0 0 5px;}
#lp-visual dd {
	padding: 0;
	/* border-left: 1px solid var(--opa-white02); */
}
#lp-visual dd p {
	color: var(--white);
	font-family: var(--mn);
	font-size: var(--font-em);
}

/*++++++++++++++++++
common plan stay/banquet
++++++++++++++++++*/
#plan_boxservice {
	margin: 20px 0 0;
	overflow: unset;
	position: relative;
}
.swiper-pagination {
	bottom: -5% !important;
}
#plan_boxservice > div {
	grid-template-columns: 1fr;
	gap: 0;
}
#plan_boxservice .swiper-slide {
	margin: 0 10px;
	background:var(--opa-white01);
	padding: 20px 20px 0;
	box-sizing: border-box;
	height: auto;
}
#plan_boxservice .swiper-slide .flex {
	display: grid;
	grid-template-columns: 1fr;
	align-items: center;
	gap: 0;
	justify-content: space-between;
}
#plan_boxservice .swiper-slide figure img {
	aspect-ratio: 3/2;
}

#plan_boxservice .content-textbox{
	text-align: left;
	margin: 0;
	padding: 20px 0;
}
#plan_boxservice .content-textbox a {
	margin:auto;
	display:block;
}
#plan_boxservice .content-textbox b {
	font-size: var(--font-h4);
	font-family: var(--mn);
	letter-spacing: 1px;
	margin: 0 0 10px;
	display: block;
	line-height: 2;
	color: var(--white);
}
#plan_boxservice .content-textbox p {
	line-height: 2;
	font-family: var(--gs);
	color: var(--white);
	font-size: var(--font-em);
	letter-spacing: 0;
}

#plan_boxservice .content-textbox table {
	font-size: var(--font-h6);
	margin: 0;
	color: var(--white);
	/* border-top: 1px solid var(--opa-white02); */
	width: 100%;
}
#plan_boxservice .content-textbox tr {
	/* border-bottom: 1px solid var(--opa-white02); */
}
#plan_boxservice .content-textbox tr:last-child {
	/* border:none; */
}
#plan_boxservice .content-textbox th,
#plan_boxservice .content-textbox td{
	padding: 0;
}

#plan_boxservice .swiper-button-prev {
	left: 0;
	right: inherit;
	top: -10%;
	color: var(--black);
	background: var(--gray);
	border-radius: 100px;
	margin: auto !important;
}
#plan_boxservice .swiper-button-next {
	right: 0;
	left: inherit;
	top: -10%;
	color: var(--black);
	background: var(--gray);
	border-radius: 100px;
	margin: auto !important;
}
#plan_boxservice .swiper-button-disabled {
	display:none !important;
}
#plan .inner {
	max-width:var(--width-max);
	position: relative;
}

/*++++++++++++++++++
noimage
++++++++++++++++++*/

.noimage169 {
	background: var(--darkgray);
	padding: 72px;
	box-sizing: border-box;	
} 	

/*++++++++++++++++++
column
++++++++++++++++++*/	
.wp-block-columns.column-3 {
	display: grid;
	gap:20px !important;
}
.wp-block-columns.column-3 .wp-block-column {
	max-width: var(--flex-100) !important;
	margin: 0 !important;
}
.wp-block-columns.column-3 a.button{
	max-width: var(--flex-100) !important;
}


@media screen and (min-width: 600px) {
/*++++++++++++++++++
common
++++++++++++++++++*/
section.lp {}

.template {
	max-width: var(--flex-95);
	font-family:var(--gs);
	margin: 0 auto 10px;
	}
.template ol {
/*リスト*/
list-style-type: decimal;

}	

	
.template ol > li:before {
	content: ""counter(cnt)". ";
	position: absolute;
	left: 0;
	font-weight: 500;
	font-size: var(--font-em);
	top: 3px;	
}
.template ol > li p{
	font-size: var(--font-h6);
	letter-spacing: 1px;
	line-height: var(--lh-md);
}
.template ul {
	display: block;
}
/*++++++++++++++++++
LP VISUAL
++++++++++++++++++*/
#lp-visual .grd {
	position: absolute;
	bottom: 0;
	z-index: 0;
	width: var(--flex-100);
	height: var(--flex-100);
	left: 0;
}
#lp-visual img {
	aspect-ratio: 2/2;
}
#lp-visual.on:before {
	background: none;
	transition: .3s;	
}	

#lp-visual dd {border: none;}

}
@media screen and (min-width: 1024px) {
/*++++++++++++++++++
目次
++++++++++++++++++*/
#ez-toc-container {
	padding: 30px 100px 25px 20px !important;
}
#ez-toc-container li a, #ez-toc-container li a:visited {
	padding: 0 0 0 22px;
	font-size: inherit;);
}	

	
.template p > a {
	text-decoration: underline;
}	
.template p > a:hover {
	text-decoration: none;
}
	
/*++++++++++++++++++
table
++++++++++++++++++*/

.wp-block-table {
	overflow: auto;
    white-space: nowrap;
    max-width: 100%;

}
.wp-block-table tr:first-child td:first-child,
.wp-block-table tr td:first-child{
	border-left: none !important;
}
.wp-block-table td[rowspan] {
	border-right: 1px solid var(--opa-white02) !important;
}
.wp-block-table td{
	padding: 15px 20px  !important;
}
.wp-block-table td a {
	color:var(--aqua);
	text-decoration: underline;
}
.wp-block-table td a:hover {
	text-decoration: none;
}

/*++++++++++++++++++
room　single other
++++++++++++++++++*/
.roombox {
	max-width:var(--width-large);
	margin:auto;
}
/*++++++++++++++++++
common
++++++++++++++++++*/
section {
	/* z-index: 13; */
	position: relative;
	padding: 0;
}
section.lp {
	padding: 80px 0 5px 0;

}

.template ol {
	/*リスト*/
	list-style-type: decimal;
}

.template ol > li:before {
		content: ""counter(cnt)". ";
		position: absolute;
		left: 0;
		font-weight: 500;
		font-size: var(--font-em);
		top: 3px;	
	}
.template ol > li p{
	font-size: var(--font-h6);
	letter-spacing: 1px;
	line-height: var(--lh-md);
	}	
/*++++++++++++++++++
common plan stay/banquet
++++++++++++++++++*/
#plan_boxservice {
	margin: 20px 0 0;
}
#plan_boxservice > div {
	grid-template-columns: 1fr;
	gap: 0;
}
#plan_boxservice .swiper-slide {
	margin: 0 0 20px;
	background:var(--opa-white01);
	padding: 20px 20px 33px;
	box-sizing: border-box;
	height: 430px;
}
#plan_boxservice .swiper-slide .flex {
	display: grid;
	grid-template-columns: 1fr;
	align-items: center;
	gap: 3%;
	justify-content: space-between;
}
#plan_boxservice .swiper-slide figure img {
	
aspect-ratio: 3/2;
}

#plan_boxservice .content-textbox{
	text-align: center;
	margin: 0;
}
#plan_boxservice .content-textbox b {
	font-size: var(--font-h4);
	font-family: var(--mn);
	letter-spacing: 1px;
	margin: 0 0 10px;
	display: block;
	line-height: 2;
	color: var(--white);
}
#plan_boxservice .content-textbox p {
	line-height: 2;
	font-family: var(--gs);
	color: var(--white);
	font-size: var(--font-em);
	letter-spacing: 0;
}

#plan_boxservice .content-textbox table {
	font-size: var(--font-h6);
	margin: 0;
	color: var(--white);
	/* border-top: 1px solid var(--opa-white02); */
	width: 100%;
}
#plan_boxservice .content-textbox tr {
	/* border-bottom: 1px solid var(--opa-white02); */
}
#plan_boxservice .content-textbox tr:last-child {
	/* border:none; */
}
#plan_boxservice .content-textbox th,
#plan_boxservice .content-textbox td{
	padding: 0;
}
/*++++++++++++++++++
LP VISUAL
++++++++++++++++++*/
#lp-visual .grd {
	position: absolute;
	bottom: 0;
	z-index: 0;
	width: var(--flex-100);
	height: var(--flex-100);
	left: 0;
}
#lp-visual {
	z-index: 0;
	margin: auto;
}
#lp-visual img {
	width: var(--flex-100);
	aspect-ratio: 2.7/2;
	object-fit: cover;
	position: absolute;
	top: 0;
	/* bottom: 0; */
	margin: auto;
}

#lp-visual:before {
	content:"";
	background: var(--opa-black02); 
	position: absolute;
	width: 100%;
	height: 100%;
	z-index: 1;
	transition: .3s;
}
#lp-visual.on:before {
	background: none;
	transition: .3s;	
}	
#lp-visual h1 {
}
#lp-visual dl {
	left: 6%;
	display: flex;
	margin: 0;
	gap: 30px;
	align-items: center;
	z-index: 1;
	padding: 50px 0;
}
#lp-visual dt {
}
#lp-visual dd {
	padding: 0 0 0 30px;
	border-left: 1px solid var(--opa-white02);
}
#lp-visual dd p {
	color: var(--white);
	font-family: var(--mn);
	font-size: var(--font-em);
}
/*++++++++++++++++++
restaurant
++++++++++++++++++*/
#restaurant .wp-block-table table {
	table-layout: unset;
}
#restaurant .wp-block-table table tr {
	background: none;
}
#restaurant .wp-block-table table th {
	font-weight: 500;
}
#restaurant .wp-block-table table td {

}
	

/*++++++++++++++++++
plan
++++++++++++++++++*/
#plan {
	max-width: var(--width-max);
	margin:auto;
}
#plan .inner {
	max-width: var(--width-max);
}	
#plan_boxservice {
	margin: 50px auto;
	overflow: unset;
	max-width: var(--width-large);
}
#plan_boxservice div.swiper {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
}
#plan_boxservice .swiper-slide {
	margin: 0;
	padding: 0;
	height: auto;
}
#plan_boxservice .swiper-slide .flex {
	gap: 0;
	justify-content: space-between;
	padding: 0;
}
#plan_boxservice .detail {
	margin: 30px 0;
	background: rgba(255,255,255,0.05);
	padding: 15px;
	border: 1px solid var(--opa-white02);
}
#plan_boxservice .detail table {
	margin: 0;
	color: var(--white);
	font-size: var(--font-h6);
	letter-spacing: 1px;
}
#plan_boxservice .detail th,#plan_boxservice .detail td {padding: 8px;}
#plan_boxservice .detail th {
	width: var(--flex-50);
}
#plan_boxservice .content-textbox{
	margin: 0;
	padding: 20px;
	text-align: left;
}
#plan_boxservice .content-textbox a {
	margin:0;
}	
#plan_boxservice .content-textbox b {
	font-size: var(--font-h3);
	margin: 0;
	display: block;
}
#plan_boxservice .content-textbox p {
}

#plan_boxservice .content-textbox table {
	font-size: var(--font-h6);
	margin: 0;
	color: var(--white);
	/* border-top: 1px solid var(--opa-white02); */
	width: 100%;
}
#plan_boxservice .content-textbox tr {
	/* border-bottom: 1px solid var(--opa-white02); */
}
#plan_boxservice .content-textbox tr:last-child {
	/* border:none; */
}
#plan_boxservice .content-textbox th,
#plan_boxservice .content-textbox td{
	padding: 0;
}	

#plan_boxservice .swiper-button-prev {
	left: -2%;
	right: inherit;
	top: 0;
	bottom: 0;
	color: var(--black);
	background: var(--gray);
	border-radius: 100px;
	margin: auto !important;
}
#plan_boxservice .swiper-button-next {
	right: -2%;
	left: inherit;
	top: 0;
	bottom: 0;
	color: var(--black);
	background: var(--gray);
	border-radius: 100px;
	margin: auto !important;
}

	
/*++++++++++++++++++
plan column1
++++++++++++++++++*/
#plan_boxservice.column1 .swiper-slide {
	padding: 40px;
	max-width: var(--width-large);
}
#plan_boxservice.column1 > div {
	display: flex;
	gap:0;
}

#plan_boxservice.column1 .swiper-slide .flex {
	display: grid;
	grid-template-columns: 45% 53%;
	align-items: center;
	gap: 3%;
	padding: 0;
}


/*++++++++++++++++++
column
++++++++++++++++++*/	
.wp-block-columns.column-3 {
	display: grid;
	grid-template-columns: repeat(3,1fr) !important;
	gap:2%
}
.wp-block-columns.column-3 .block-column {
	max-width: var(--flex-100) !important;
	margin: 0 !important;
}
.wp-block-columns.column-3 a.button,
.wp-block-columns.column-3 .block-column {
	max-width: var(--flex-100) !important;
}


}

@media screen and (min-width: 1300px) {
.template {
	max-width: var(--width-medium);
	margin: 0 auto 100px;
}
.lp .template {
	max-width: var(--width-large);
}
/*++++++++++++++++++
LP VISUAL
++++++++++++++++++*/
#lp-visual .grd {
	position: absolute;
	bottom: 0;
	z-index: 0;
	width: var(--flex-100);
	height: var(--flex-100);
	left: 0;
}
#lp-visual {
	flex-wrap: wrap;
	align-items: flex-start;
	margin: 0;
	top: 0;
	transition: all 300ms;
	height: 830px;
	z-index: 0;
	margin: auto;
}
#lp-visual img {
	aspect-ratio: 3/2;
	object-fit: cover;
	position: fixed;
	top: 0;
	bottom: 0;
	margin: auto;
}

#lp-visual:before {
	content:"";
	background: var(--opa-black02); 
	position: absolute;
	width: 100%;
	height: 100%;
	z-index: 1;
	transition: .3s;
}
#lp-visual.on:before {
	background: none;
	transition: .3s;	
}	
#lp-visual h1 {
	letter-spacing: 3px;
	/* writing-mode: vertical-lr; */
	/* position: absolute; */
	left: 0;
	top: 0;
	right: 0;
	margin: auto;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	color: var(--white);
	font-size: 2.5rem;
	padding: 0;
	font-weight: 300;
}
#lp-visual dl {
	margin: 0px 60px;
	padding: 40px 0;
}
#lp-visual dt {
}
#lp-visual dd {
}
#lp-visual dd p {
	color: var(--white);
	font-family: var(--mn);
	font-size: var(--font-em);
}	
/*++++++++++++++++++
noimage
++++++++++++++++++*/	

.noimage169 {
	background: var(--darkgray);
	padding: 72px;
	box-sizing: border-box;	
} 	
	
}
	
@media screen and (min-width: 1400px) {
#lp-visual h1 {
	font-size:3rem;
}
	#lp-visual dl {
		padding: 55px 0;
	}	
}
