/*!
Theme Name: hotel-city-inn-wakayama
Theme URI: http://underscores.me/
Author: HOTEL CITY INN WAKAYAMA
Author URI: https://www.cityinn.co.jp/
Description: Simple responsive theme for HOTEL CITY INN WAKAYAMA
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: hotel-city-inn-wakayama
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready
*/

/* ----------
 * 追加
 * ---------- */
:root {
	--text-color: #23181d;
	--main-color: #c95233;
	--sub-color: #4f2c19;
	--corp-color: #074d79;
	--font: "Zen Old Mincho", serif;
}
/* ----------
 * layout
 * ---------- */
#wrapper {
	position: relative;
	overflow: hidden;
}
.page {
	margin: 0;
}
section {
	position: relative;
	width: 100%;
	margin: 60px auto;
	padding: 0 5.3333vw;
	box-sizing: border-box;
}
section.pd {
	margin: 0 auto;
	padding: 60px 5.3333vw;
}
.inner {
	max-width: 1400px;
	margin: 0 auto;
}
.content_post.inner {
	max-width: 1300px;
}
.inner.narrow {
	max-width: 1000px;
}
/* ----------
 * common
 * ---------- */
body {
	background: url("images/common/bg-beige.webp") center top / 100% auto repeat-y;
	color: var(--text-color);
	font-family: var(--font);
	font-size: clamp(.875rem, calc((100vw - 375px) * (2 / 1065) + .875rem), 1rem);
}
ul, ol {
	margin: 0 0 1.5em;
	padding: 0;
}
ul.none,
ul.disc,
.single .site-main ul,
.single .site-main ol {
	list-style: none;
}
ol.decimal,
.single .site-main ol {
	counter-reset: number 0;
}
ul.disc li,
.single .site-main ul li {
	position: relative;
	padding-left: 1em;
	margin-bottom: .5em;
}
.single .site-main ol li {
	position: relative;
	padding-left: 1.5em;
	margin-bottom: .5em;
}
ul.disc li::before,
.single .site-main ul li::before {
	position: absolute;
	top: 0;
	left: 0;
	content: "▪";
}
ol.decimal li::before,
.single .site-main ol li::before {
	counter-increment: number 1;
	position: absolute;
	top: 0;
	left: 0;
	content: counter(number) ".";  
}
img {
	display: block;
}
figure {
	margin: 0;
}
time {
	display: block;
	letter-spacing: .2em;
}
table, tbody {
	border-collapse: collapse;
}
a.none {
	text-decoration: none;
}
a.op {
	transition: opacity .3s ease;
}
.tel a {
	text-decoration: none;
}
a.op:hover {
	opacity: .6;
}
a:hover, a:focus, a:active {
	outline: none;
}
.pc, .pc2, .pc3 {
	display: none !important;
}
p {
	letter-spacing: .1em;
	text-align: justify;
	line-height: 2;
}
.ct {
	text-align: center;
}
.r {
	text-align: right;
}
.l {
	text-align: left;
}
.caution {
	display: block;
	position: relative;
	padding-left: 1em;
}
.caution::before {
	position: absolute;
	top: 0;
	left: 0;
	content: "※";
}
::selection {
	background: rgba(7, 77, 121, .8);
	color: #fff;
}
/* heading */
h1, h2, h3, h4, h5, h6 {
	margin-top: 0;
	letter-spacing: .1em;
	text-indent: .1em;
	line-height: 1.3;
}
.top_title {
	position: relative;
	margin: 0 0 1em;
	padding-bottom: .85em;
	font-size: 1.8em;
	font-weight: 500;
	text-align: center;
}
.top_title.wh {
	color: #fff;
}
.top_title::before {
	pointer-events: none;
	position: absolute;
	bottom: 0;
	left: 50%;
	width: .84em;
	height: .42em;
	background: url("images/common/deco-top-title-yoko.svg") center / contain no-repeat;
	content: "";
	transform: translateX(-50%);
}
.top_title.wh::before {
	background: url("images/common/deco-top-title-yoko-wh.svg") center / contain no-repeat;
}
.sec_title {
	position: relative;
	padding-top: 1.4em;
	margin: 0 0 1.5em;
	font-size: clamp(1.125rem, calc((100vw - 375px) * (18 / 1065) + 1.125rem), 2.25rem);
	font-weight: 500;
	text-align: center;
}
.sec_title::before {
	pointer-events: none;
	position: absolute;
	top: 0;
	left: 50%;
	width: 1.5em;
	height: 1em;
	background: url("images/common/deco-section-title.svg") center top / contain no-repeat;
	content: "";
	transform: translateX(-50%);
}
/* button */
.btn_link a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 300px;
	height: 60px;
	margin: 30px auto 0;
	background: url("images/common/bg-btn-br.svg") center / contain no-repeat;
	color: #fff;
	font-weight: 500;
	letter-spacing: .1em;
	text-indent: .1em;
	text-decoration: none;
	transition: all .3s ease;
}
.btn_link.wh a {
	color: var(--text-color);
	background: url("images/common/bg-btn-wh.svg") center / contain no-repeat;
}
.btn_link a:hover {
	background: url("images/common/bg-btn-br-hover.svg") center / contain no-repeat;
	color: var(--text-color);
}
.btn_link.wh a:hover {
	background: url("images/common/bg-btn-wh-hover.svg") center / contain no-repeat;
	color: #fff;
}
/* animation */
#loader-wrapper {
	display: flex;
	justify-content: center;
	align-items: center;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #f9f4ed;
	z-index: 9999;
}
.loaded #loader-wrapper {
	opacity: 0;
	visibility: hidden;
	transition: all .8s ease;
}
.fd,
.dfd,
.search_form {
	opacity: 0;
	filter: blur(5px);
	transition: all 1s ease;
	transform: scale(.975);
	transform-origin: center center;
}
.fd-up,
.top_title,
.sec_title,
.btn_link,
.widget-title,
.widget li,
.widget img,
.dfd-up,
dl.faq {
	opacity: 0;
	filter: blur(5px);
	transition: all .55s ease .15s;
	transform: translateY(25px);
}
.fd.is-active,
.dfd.is-active,
.fd-up.is-active,
.top_title.is-active,
.sec_title.is-active,
.btn_link.is-active,
.widget-title.is-active,
.widget li.is-active,
.widget img.is-active,
.dfd-up.is-active,
.search_form.is-active,
dl.faq.is-active {
	opacity: 1;
	filter: none;
	transform: scale(1.0) translate(0, 0);
}
.dfd, .dfd-up {
	transition-delay: .5s;
}
.mask {
	opacity: 0;
	clip-path: polygon(0% 0%, 0% 0%, 0% 100%, 0 100%);
	transition: all .5s cubic-bezier(.215, .61, .355, 1);
}
.mask.is-active {
	opacity: 1;
	clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0 100%);
}
/* language switcher */
.fixed_nav_wrapper .lang {
	position: absolute;
	top: 70px;
	right: 20px;
}
.header_menu .lang {
	margin-right: 1.6em;
}
.main_visual .lang {
	display: flex;
	justify-content: flex-end;
}
.lang select,
.lang select:focus,
.lang select:focus-visible {
	border: none;
	border-bottom: 1px solid #fff;
	background: none;
	outline: none;
	appearance: auto;
}
.lang_switcher {
	cursor: pointer;
	padding: .3em .5em .3em 0;
	color: #fff;
	font-family: var(--font);
	letter-spacing: .1em;
}
.lang_switcher option {
	color: var(--text-color);
}
.lang_switcher option[disabled] {	/* プルダウンメニュー内の「Language」を削除 */
	display: none;
}
/* ----------
 * header
 * ---------- */
.site-header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 60px;
	padding: 0 5.3333vw;
	box-sizing: border-box;
	transition: all .5s ease;
	z-index: 100;
}
.single .site-header {
	background: url("images/common/bg-brick.webp") center top / 250% auto repeat-y;
	box-shadow: rgba(0, 0, 0, .45) 0 25px 20px -20px;
}
/* logo */
.site-branding, .site-title, .site-title a {
	display: flex;
	align-items: center;
	height: 100%;
	margin: 0;
}
.site-title a,
.fixed_logo a {
	width: 240px;
}
/* fixed menu */
.fixed_menu * {
	border: none;
	-webkit-appearance: none;
	appearance: none;
	outline: none;
}
.fixed_menu .fixed_bg {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	background: rgba(35, 24, 29, .5);
	backdrop-filter: blur(20px);
	width: 100%;
	height: 100svh;
	z-index: 999;
}
.fixed_menu .fixed_button {
	cursor: pointer;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	position: fixed;
	top: 0;
	right: 0;
	width: 60px;
	height: 60px;
	padding: 0;
	background: #1c1c1c;
	z-index: 1001;
}
.fixed_menu .fixed_button .fixed_bar {
	display: block;
	width: 30px;
	height: 2px;
	margin: 3px 0;
	background: #fff;
	transition: all .2s ease;
	transform-origin: center;
}
.fixed_menu .fixed_button.active .fixed_bar {
	width: 25px;
}
.fixed_menu .fixed_button.active .fixed_bar1 {
	transform: translateY(5.5px) rotate(45deg);
}
.fixed_menu .fixed_button.active .fixed_bar2 {
	opacity: 0;
}
.fixed_menu .fixed_button.active .fixed_bar3 {
	transform: translateY(-11px) rotate(-45deg);
}
.fixed_menu .fixed_button .fixed_text {
	display: block;
	margin-top: 2.5px;
	color: #fff;
	font-size: 10px;
	font-family: var(--font);
	font-weight: 700;
	text-align: center;
}
.fixed_menu .fixed_button.active .fixed_menu_text {
	display: none;
}
.fixed_menu .fixed_button .fixed_close {
	display: none;
	letter-spacing: .08em;
}
.fixed_menu .fixed_button.active .fixed_close {
	display: block;
}
.fixed_menu .fixed_nav_wrapper {
	position: fixed;
	top: 0;
	right: 0;
	background: url("images/common/bg-brick-dark.webp") left top / auto 100% no-repeat;
	width: 100%;
	max-width: 960px;
	height: 100svh;
	padding: 0 0 50px;
	box-sizing: border-box;
	overflow-y: scroll;
	scrollbar-color: var(--text-color) #fff;
	scrollbar-width: thin;
	opacity: 0;
	transition: opacity .8s cubic-bezier(.52, .08, .18, 1);
	transform: translateX(960px);
	z-index: 1000;
}
.fixed_menu .fixed_nav_wrapper.open {
	opacity: 1;
	transform: translateX(0);
}
.fixed_logo {
	display: flex;
	align-items: center;
	width: 100%;
	height: 60px;
	padding: 0 5.3333vw;
}
.menu_content {
	max-width: 720px;
	margin: 73px auto 0;
	padding: 0 50px;
}
/* global menu */
.global_menu,
.global_menu p {
	margin: 0;
}
.global_menu > li,
.global_menu p {
	border-bottom: 1px solid rgba(255, 255, 255, .1);
}
.global_menu li a,
.global_menu p {
	display: block;
	padding: 1em 0;
	color: #fff;
	font-size: 1rem;
	letter-spacing: .1em;
	text-indent: .1em;
	text-decoration: none;
	transition: opacity .3s ease;
}
.global_menu li a:hover,
.btn_reserv a:hover,
.header_info p a:hover {
	opacity: .6;
}
.global_menu p {
	position: relative;
}
.global_menu p::after {
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 0;
	right: 0;
	width: 2em;
	height: 2em;
	font-size: 2em;
	content: "＋";
	transition: all .3s ease;
}
.global_menu p.is-active::after {
	content: "－";
	transform: rotate(360deg);
}
.sub_menu {
	display: none;
}
.global_menu .sub_menu {
	margin-left: 0;
}
.sub_menu li {
	position: relative;
	padding-left: 2em;
}
.sub_menu li::before {
	display: flex;
	align-items: center;
	position: absolute;
	top: 50%;
	left: 1em;
	color: #fff;
	content: "-";
	transform: translateY(-50%);
}
.sub_menu li a {
	padding: .5em 0;
}
.header_info {
	margin-top: 50px;
}
.header_info .btn_reserv a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 275px;
	height: 70px;
	margin: 0 auto;
	border-radius: 5px;
	background: var(--main-color);
	color: #fff;
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: .1em;
	text-indent: .1em;
	text-decoration: none;
	transition: opacity .3s ease;
}
.header_info p {
	color: #fff;
	text-align: center;
}
.header_info .address {
	margin: 25px 0 10px;
	font-size: .875rem;
	white-space: nowrap;
	line-height: 1.5;
}
.btn_menu a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 160px;
	height: 40px;
	margin: 0 auto;
	border: 1px solid #fff;
	border-radius: 3px;
	box-sizing: border-box;
	color: #fff;
	font-size: 1rem;
	letter-spacing: .1em;
	text-indent: .1em;
	text-decoration: none;
	transition: all .3s ease;
}
.btn_menu.br a {
	border: 1px solid var(--text-color);
	color: var(--text-color);
}
.btn_menu.btn_map a {
	justify-content: flex-start;
	position: relative;
	padding: 0 1em;
}
.btn_menu.btn_map a::after {
	position: absolute;
	top: 50%;
	right: 15px;
	width: 18px;
	height: 18px;
	background: url("images/common/icon-link-wh.svg") center / contain no-repeat;
	content: "";
	transition: background .3s ease; 
	transform: translateY(-50%);
}
.btn_menu.btn_map.br a::after,
.btn_menu.btn_map a:hover::after {
	background: url("images/common/icon-link-br.svg") center / contain no-repeat;
}
.btn_menu a:hover {
	background: #fff;
	color: var(--text-color);
}
.btn_menu.br a:hover {
	background: var(--text-color);
	color: #fff;
}
.btn_menu.btn_map.br a:hover::after {
	background: url("images/common/icon-link-wh.svg") center / contain no-repeat;
}
.header_info .tel {
	margin: .5em 0 1em;
	font-size: 1.25rem;
}
.header_info p a {
	color: #fff;
	text-decoration: none;
	transition: opacity .3s ease;
}
.header_info .pp a {
	font-size: .875rem;
}
.header_menu {
	display: none;
}
/* sp menu */
.sp_menu {
	display: flex;
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 60px;
	background: url("images/common/bg-brick.webp") bottom left / 270% auto no-repeat;
	z-index: 10;
}
.sp_menu .tel {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 50%;
	margin: 0;
	color: #fff;
}
.sp_menu .tel a {
	color: #fff;
	font-size: 1rem;
	letter-spacing: .05em;
}
.sp_menu .tel a span {
	display: inline-block;
	position: relative;
	padding-left: 1.8em;
}
.sp_menu .tel a span::before {
	position: absolute;
	top: 50%;
	left: 0;
	width: 1.8em;
	height: 1.8em;
	background: url("images/common/icon-tel-wh.svg") center / contain no-repeat;
	content: "";
	transform: translateY(-50%);
}
.sp_menu .btn_reserve {
	width: calc(50% - 60px);
}
.sp_menu .btn_reserve a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 60px;
	background: var(--main-color);
	color: #fff;
	font-size: 1rem;
	font-weight: 500;
	letter-spacing: .1em;
	text-indent: .1em;
	text-decoration: none;
}
/* ----------
 * footer
 * ---------- */
/* page top */
#pageTop {
	position: fixed;
	bottom: 0;
	right: 0;
	z-index: 99;
}
#pageTop a {
	display: block;
	width: 60px;
	height: 60px;
	background: url("images/common/pagetop-sp.svg") center / contain no-repeat;
	transition: all .3s ease;
}
#pageTop a:hover {
	opacity: .6;
}
/* footer content */
.footer_content {
	padding: 50px 5.3333vw 30px;
	box-sizing: border-box;
	background: var(--text-color);
}
.footer_logo {
	width: 75%;
	margin: 0 auto;
}
.footer_logo img {
	margin: 0 auto;
}
.footer_content p {
	color: #fff;
	text-align: center;
}
.footer_menu li a,
.footer_content p a {
	color: #fff;
	text-decoration: none;
}
.footer_content .address {
	margin: 1em 0 .5em;
	font-size: .875rem;
}
.footer_content .btn_map {
	display: block;
	margin-top: 10px;
}
.footer_content .tel {
	margin: .5em 0;
	font-size: 1.5em;
}
.sns_list {
	display: flex;
	justify-content: center;
	margin: 0;
}
.sns_list li {
	width: 35px;
	aspect-ratio: 1 / 1;
	margin: 0 10px;
}
.sns_list li a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	margin: 0 auto;
	transition: background .3s ease;
}
.sns_list li.instagram a { background: url("images/common/icon-instagram.svg") center / contain no-repeat; }
.sns_list li.line a { background: url("images/common/icon-line.svg") center / contain no-repeat; }
.sns_list li.instagram a:hover { background: url("images/common/icon-instagram-hover.svg") center / contain no-repeat; }
.sns_list li.line a:hover { background: url("images/common/icon-line-hover.svg") center / contain no-repeat; }
/* footer menu */
.footer_menu_content {
	display: none;
}
.footer_menu * {
	font-size: .875rem;
}
.footer_menu,
.footer_menu .sub_menu {
	margin: 0;
}
.footer_menu li,
.footer_menu p {
	line-height: 2.25;
}
.footer_menu p {
	margin: 0;
}
.footer_menu li p {
	color: #fff;
}
.footer_menu li a {
	transition: opacity .3s ease;
}
.footer_menu li a:hover {
	opacity: .6;
}
.footer_menu .sub_menu li {
	padding-left: 1em;
}
.footer_menu .sub_menu li::before {
	left: 0;
}
/* copyright */
.copyright {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 60px;
	margin-bottom: 60px;
	background: #2e2429;
	color: #e2dbd9;
	font-size: .8125rem;
	letter-spacing: .1em;
	text-indent: .1em;
}
.copyright a {
	color: #e2dbd9;
	text-decoration: none;
}
/* ----------
 * top
 * ---------- */
/* main visual */
.main_visual {
	width: 100%;
	height: 100svh;
	margin: 0;
	padding: 0;
}
.mv_gallery {
	width: 100%;
	height: 100%;
	margin: 0;
	transition: opacity .8s ease;
}
.mv_gallery::after {
	pointer-events: none;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(35, 24, 29, .3);
	content: "";
}
.mv_gallery li,
.mv_gallery .slick-list,
.mv_gallery .slick-track {
	height: 100%;
}
.mv_gallery li img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.main_visual .content {
	position: absolute;
	top: 60px;
	left: 0;
	width: 100%;
	height: calc(100% - 60px);
	padding: 0 5.3333vw;
	box-sizing: border-box;
}
.best_rate {
	display: flex;
	justify-content: flex-end;
	width: 80%;
	margin: 2em 0 0 auto;
}
.best_rate a {
	transition: background .3s ease;
}
.best_rate a:hover {
	background: var(--text-color);
}
.main_visual .tel {
	display: none;
}
.main_visual .text * {
	color: #fff;
}
.main_visual .text {
	margin-top: 8em;
}
.main_visual h2 {
	font-size: 1.9em;
	font-weight: 500;
}
.main_visual p {
	line-height: 1.75;
}
/* top news */
.top_news {
	margin: 0;
	background: url("images/common/bg-brick.webp") top left / 270% auto no-repeat;
}
.top_news .inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	max-width: 1300px;
	padding: 1.85em 0;
}
.top_news h2 {
	width: 1em;
	margin: 0;
	color: #fff;
	font-size: 1.5rem;
	font-weight: 400;
	writing-mode: vertical-rl;
}
.top_news .content {
	width: calc(100% - 2.5em);
}
.top_news .content p {
	color: #fff;
}
.news_list li a {
	color: #fff;
	text-decoration: none;
	transition: all .3s ease;
}
.news_list li a time {
	font-size: 86%;
}
.news_list li a h3 {
	height: 3em;
	margin: 0;
	font-size: 95%;
	font-weight: 500;
	line-height: 1.5;
}
.news_list li a:hover h3 {
	text-decoration: underline;
}
.news_list .slick-arrow {
	position: absolute;
	top: 49%;
	transform: translateY(-50%);
}
.news_list .slick-arrow {
	cursor: pointer;
	width: 1em;
	height: 1em;
}
.news_list .arrow-prev {
	left: -1.2em;
	background: url("images/common/arrow-prev-wh.svg") center / contain no-repeat;
}
.news_list .arrow-next {
	right: -1.2em;
	background: url("images/common/arrow-next-wh.svg") center / contain no-repeat;
}
.top_news .btn_menu a {
	width: 120px;
	margin-right: 0;
	font-size: .75rem;
}
/* top plan */
.plan_list li {
	padding: 0 10px;
}
.plan_list li a {
	display: block;
	position: relative;
	padding: 10px;
	border: 1px solid var(--text-color);
	box-sizing: border-box;
	background: #fff;
	color: var(--text-color);
	text-decoration: none;
}
.plan_list li a .deco {
	position: absolute;
	inset: 0;
}
.plan_list li a .deco span {
	display: inline-block;
	position: absolute;
	width: 10px;
	height: 10px;
}
.plan_list li a figure {
	position: relative;
	width: 100%;
	aspect-ratio: 940 / 627;
	overflow: hidden;
}
.plan_list li a figure img {
	position: absolute;
	inset: 0;
	transition: transform .3s ease;
}
.plan_list li a:hover figure img {
	transform: scale(1.05);
}
.plan_list a h3 {
	min-height: 2.7em;
	margin: 1em 0 5px;
	font-size: clamp(.8125rem, calc((100vw - 375px) * (2 / 1065) + .8125rem), .9375rem);
	font-weight: 500;
	transition: color .3s ease;
}
.plan_list a:hover h3 {
	color: var(--main-color);
}
.plan_list .slick-arrow {
	position: absolute;
	top: 49%;
	transform: translateY(-50%);
}
.plan_list .slick-arrow {
	cursor: pointer;
	width: 1.25em;
	aspect-ratio: 40 / 70;
}
.plan_list .arrow-prev {
	left: -1.25em;
	background: url("images/common/arrow-prev.svg") center / contain no-repeat;
}
.plan_list .arrow-next {
	right: -1.25em;
	background: url("images/common/arrow-next.svg") center / contain no-repeat;
}
/* top room / top restaurant */
.rr h3 {
	color: var(--sub-color);
	line-height: 1.75;
	text-align: center;
}
.sec_gallery {
	margin: 0 -5.333vw;
	box-sizing: border-box;
}
.top_room .sec_gallery {
	padding: 6px 0 6px 6px;
	border-top: 1px solid var(--text-color);
	border-left: 1px solid var(--text-color);
	border-bottom: 1px solid var(--text-color);
}
.top_restaurant .sec_gallery {
	padding: 6px 6px 6px 0;
	border-top: 1px solid var(--text-color);
	border-right: 1px solid var(--text-color);
	border-bottom: 1px solid var(--text-color);
}
.sec_gallery::before,
.sec_gallery::after {
	pointer-events: none;
	position: absolute;
	width: 6px;
	height: 6px;
	content: "";
}
.top_room .sec_gallery::before {
	top: 0;
	left: 0;
	background: url("images/common/deco1.svg") top left / contain no-repeat;
}
.top_room .sec_gallery::after {
	bottom: 0;
	left: 0;
	background: url("images/common/deco4.svg") top left / contain no-repeat;
}
.top_restaurant .sec_gallery::before {
	top: 0;
	right: 0;
	background: url("images/common/deco2.svg") top left / contain no-repeat;
}
.top_restaurant .sec_gallery::after {
	bottom: 0;
	right: 0;
	background: url("images/common/deco3.svg") top left / contain no-repeat;
}
.sec_gallery .slick-dots {
	display: flex;
	padding: 0 5.3333vw;
}
.top_room .sec_gallery .slick-dots {
	justify-content: flex-end;
}
.sec_gallery .slick-dots li button::before {
	width: 15px;
	height: 15px;
	background: url("images/common/dot.svg") center / contain no-repeat;
	content: "";
}
.rr figure {
	display: flex;
	justify-content: center;
	position: relative;
}
.rr figure::after {
	pointer-events: none;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 43%;
	height: 43%;
	background: url("images/top/circle-room.webp") center / contain no-repeat;
	content: "";
	transform: translate(-50%, -50%);
	animation: roopCircle 12s linear infinite;
}
@keyframes roopCircle {
	0% {
		transform: translate(-50%, -50%) rotate(0deg);
	}
	100% {
		transform: translate(-50%, -50%) rotate(360deg);
	}
}
.rr p {
	font-size: .9375rem;
	font-weight: 700;
	text-align: center;
	line-height: 1.85;
}
.top_restaurant .top_title {
	margin-bottom: .2em;
}
.logo_restaurant img {
	width: 50%;
	margin: 0 auto;
}
/* top info */
.top_info {
	background: url("images/common/bg-gray.webp") center top / auto 100% repeat;
}
.link_list {
	margin: 0;
}
.link_list li {
	margin-top: 3.2em;
}
.link_list li:first-child {
	margin-top: 0;
}
.link_list a {
	display: block;
	position: relative;
	transition: all .3s ease;
}
.link_list a::after {
	pointer-events: none;
	position: absolute;
	bottom: 10.6666vw;
	left: 50%;
	width: 12.8vw;
	height: 7.5vw;
	background: url("images/common/arrow-down.svg") center / contain no-repeat;
	content: "";
	transition: background .3s ease;
	transform: translateX(-50%);
}
.link_list a:hover {
	box-shadow: rgba(50, 50, 93, .25) 0 50px 100px -20px, rgba(35, 24, 29, .3) 0px 30px 60px -30px;
	opacity: .6;
}
.link_list a h3 {
	margin: 0;
}
/* top sightseeing */
.top_sightseeing {
	padding-bottom: 3em;
}
.gallery_box {
	position: relative;
	margin: 3em -5.3333vw 0;
	padding: 6px;
	border: 1px solid var(--text-color);
	box-sizing: border-box;
	background: #fff;
}
.gallery_box > div span,
.feature_frame > div span,
.info_meeting > div span,
.spot_list li > div span,
.feature_container .img > div span {
	display: inline-block;
	position: absolute;
	width: 6px;
	height: 6px;
}
.plan_list li a .deco span:nth-child(1),
.gallery_box > div span:nth-child(1),
.feature_frame > div span:nth-child(1),
.info_meeting > div span:nth-child(1),
.spot_list li > div span:nth-child(1),
.feature_container .img > div span:nth-child(1) {
	top: 0;
	left: 0;
	background: url("images/common/deco1.svg") left top / contain no-repeat;
}
.plan_list li a .deco span:nth-child(2),
.gallery_box > div span:nth-child(2),
.feature_frame > div span:nth-child(2),
.info_meeting > div span:nth-child(2),
.spot_list li > div span:nth-child(2),
.feature_container .img > div span:nth-child(2) {
	top: 0;
	right: 0;
	background: url("images/common/deco2.svg") right top / contain no-repeat;
}
.plan_list li a .deco span:nth-child(3),
.gallery_box > div span:nth-child(3),
.feature_frame > div span:nth-child(3),
.info_meeting > div span:nth-child(3),
.spot_list li > div span:nth-child(3),
.feature_container .img > div span:nth-child(3) {
	bottom: 0;
	right: 0;
	background: url("images/common/deco3.svg") right bottom / contain no-repeat;
}
.plan_list li a .deco span:nth-child(4),
.gallery_box > div span:nth-child(4),
.feature_frame > div span:nth-child(4),
.info_meeting > div span:nth-child(4),
.spot_list li > div span:nth-child(4),
.feature_container .img > div span:nth-child(4) {
	bottom: 0;
	left: 0;
	background: url("images/common/deco4.svg") left bottom / contain no-repeat;
}
.spot {
	margin: 0;
}
.spot .slick-arrow,
.menu_gallery .slick-arrow {
	cursor: pointer;
	position: absolute;
	bottom: -43px;
	width: 80px;
	height: 28px;
}
.spot .arrow-prev,
.menu_gallery .arrow-prev {
	right: calc(50% + 50px);
	background: url("images/common/arrow-slide-prev.svg") center / contain no-repeat;
}
.menu_gallery.wh .arrow-prev {
	background: url("images/common/arrow-slide-prev-wh.svg") center / contain no-repeat;
}
.spot .arrow-next,
.menu_gallery .arrow-next {
	left: calc(50% + 50px);
	background: url("images/common/arrow-slide-next.svg") center / contain no-repeat;
}
.menu_gallery.wh .arrow-next {
	background: url("images/common/arrow-slide-next-wh.svg") center / contain no-repeat;
}
/* top access */
.top_access {
	margin-top: 0;
	padding: 0;
}
.top_access .text {
	padding: 60px 5.3333vw 50px;
	box-sizing: border-box;
	background: var(--text-color);
}
.top_access .text p,
.top_access .text li {
	color: #fff;
	text-align: center;
}
.top_access .btn_map {
	display: block;
	margin-top: 10px;
}
.access_list li {
	margin-top: 1em;
}
.map1 {
	margin: 1em 0;
}
/* ----------
 * page
 * ---------- */
 /* page header */
.page_header {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	height: 50svh;
	background: rgba(35, 24, 29, .2);
}
.page_header::before {
	position: absolute;
	inset: 0;
	background: url("images/top/mv1.webp") center / cover no-repeat;
	content: "";
	z-index: -1;
}
.room .page_header::before,
.room-en .page_header::before,
.room-zh-cn .page_header::before,
.room-zh-tw .page_header::before {
	background: url("images/room/page-header.webp") center / cover no-repeat;
}
.restaurant .page_header::before,
.restaurant-en .page_header::before,
.restaurant-zh-cn .page_header::before,
.restaurant-zh-tw .page_header::before {
	background: url("images/restaurant/page-header.webp") center / cover no-repeat;
}
.facility .page_header::before,
.facility-en .page_header::before,
.facility-zh-cn .page_header::before,
.facility-zh-tw .page_header::before {
	background: url("images/facility/page-header.webp") center / cover no-repeat;
}
.access .page_header::before,
.access-en .page_header::before,
.access-zh-cn .page_header::before,
.access-zh-tw .page_header::before {
	background: url("images/access/page-header.webp") center / cover no-repeat;
}
.sightseeing .page_header::before,
.sightseeing-en .page_header::before,
.sightseeing-zh-cn .page_header::before,
.sightseeing-zh-tw .page_header::before {
	background: url("images/sightseeing/page-header.webp") center / cover no-repeat;
}
.long-stay .page_header::before,
.long-stay-en .page_header::before,
.long-stay-zh-cn .page_header::before,
.long-stay-zh-tw .page_header::before {
	background: url("images/long-stay/page-header.webp") center / cover no-repeat;
}
.group .page_header::before,
.group-en .page_header::before,
.group-zh-cn .page_header::before,
.group-zh-tw .page_header::before {
	background: url("images/group/page-header.webp") center / cover no-repeat;
}
.page_title {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 50vw;
	max-width: 350px;
	aspect-ratio: 1 / 1;
	margin: 0;
	background: url("images/common/bg-page-title.webp") center / contain no-repeat;
	color: #fff;
	font-size: 1.5em;
	font-weight: 500;
	letter-spacing: .05em;
	text-indent: .05em;
	text-align: center;
}
/* breadcrumbs */
.breadcrumbs {
	display: flex;
	align-items: center;
	height: 40px;
	padding: 0 5.3333vw;
	background: var(--text-color);
}
.single .breadcrumbs {
	margin-top: 60px;
}
.aioseo-breadcrumbs span {
	color: #fff;
	font-size: clamp(.75rem, 3.2vw, .8125rem);
}
.aioseo-breadcrumbs span a {
	color: #fff;
	text-decoration: none;
	transition: color .3s ease;
}
.aioseo-breadcrumbs span:last-of-type,
.aioseo-breadcrumbs span a:hover {
	color: #e2dbd9;
}
.aioseo-breadcrumbs .aioseo-breadcrumb-separator {
	display: inline-block;
	margin: 0 1em;
}
/* multilingual support */
.room-en .room_box p,
.restaurant-en p,
.facility-en .facility_item p,
.access-en .direction_nav li p,
.access_en .access_box p,
.guide-en .service_box p,
.sightseeing-en .spot_list li p,
.long-stay-en .feature_list li *,
.group-en .feature_list li *,
.single .site-main p {
	text-align: left;
}
.sightseeing-en .spot_list li .access {
	text-align: center;
}
/* ----------
 * room
 * ---------- */
/* room feature */
.feature_box {
	padding: 40px 5.3333vw;
	box-sizing: border-box;
	background: url("images/common/bg-gray.webp") center top / auto 100% repeat;
}
.room_feature p {
	font-weight: 500;
	line-height: 1.5;
}
.feature_box .item02 {
	margin-left: 2em;
}
.feature_box .item02 p:last-of-type {
	margin-bottom: 0;
}
.feature_frame {
	position: relative;
	margin-top: 40px;
	padding: 30px 20px;
	border: 1px solid var(--text-color);
	box-sizing: border-box;
	background: #fff;
}
.feature_frame h3 {
	text-align: center;
}
.feature_frame h3 span {
	display: inline-block;
	position: relative;
	padding: 0 2.5em;
}
.feature_frame h3 span::before,
.feature_frame h3 span::after {
	pointer-events: none;
	position: absolute;
	top: 50%;
	width: 1.75em;
	height: 1px;
	background: var(--text-color);
	content: "";
	transform: translateY(-50%);
}
.feature_frame h3 span::before {
	left: 0;
}
.feature_frame h3 span::after {
	right: 0;
}
.feature_frame img {
	width: 100vw;
	margin: 0 0 1em;
}
.feature_frame p {
	margin: 0;
	font-size: 92.85%;
}
/* room content */
.room_menu,
.facility_guide {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	margin: 0 0 4em;
}
.room_menu li,
.facility_guide li {
	width: 26.6666vw;
	margin-top: 1em;
}
.room_menu li.s {
	margin-top: 0;
}
.room_menu li a,
.facility_guide li a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	aspect-ratio: 100 / 52;
	background: url("images/room/button-type-sp.svg") center / contain no-repeat;
	color: var(--text-color);
	font-size: .8125rem;
	font-weight: 700;
	letter-spacing: .05em;
	text-indent: .05em;
	text-align: center;
	text-decoration: none;
	line-height: 1.23;
	transition: all .3s ease;
}
.room_type {
	margin: 0;
}
.room_type li {
	margin: 50px 0 0;
}
.room_type li:first-child {
	margin: 0;
}
.room_name {
	margin: 0 0 .25em;
	font-size: 1.428em;
	letter-spacing: .05em;
	text-indent: .05em;
}
.room_name_jp {
	margin: 0 0 1.25em;
	font-size: 92.8%;
	letter-spacing: .05em;
}
.room_type .container {
	width: 100%;
	max-width: 840px;
}
.room_slide .img {
	margin-bottom: 5px;
}
.room_thumbnail {
	margin: 0 0 0 -2.5px;
}
.room_thumbnail .img {
	padding: 0 2.5px;
	box-sizing: border-box;
}
.room_box .em {
	margin: 1em 0 .25em;
	line-height: 1.5;
}
.room_box .em strong {
	color: #826941;
	font-size: 1.5em;
	font-weight: 500;
	text-shadow: 0 0 .15em rgba(35, 24, 29, .4);
}
.room_box p {
	font-weight: 500;
	line-height: 1.7;
}
dl.room {
	display: flex;
	flex-flow: row wrap;
	align-items: center;
	margin: 1.5em 0;
	padding-left: .5em;
	border-left: 1.5px solid var(--text-color);
	box-sizing: border-box;
}
dl.room dt, dl.room dd {
	margin: 0;
	padding: .3em 0;
	font-size: 92.85%;
	font-weight: 400;
	line-height: 1.6;
}
dl.room dt {
	position: relative;
	width: 7em;
	padding-left: 2em;
	letter-spacing: .05em;
}
dl.room dt::before {
	position: absolute;
	top: 50%;
	left: .25em;
	width: 1.2em;
	height: 1.2em;
	content: "";
	transform: translateY(-50%);
}
dl.room dt.area::before { background: url("images/room/icon-area.svg") center / contain no-repeat; }
dl.room dt.bed::before { background: url("images/room/icon-bed.svg") center / contain no-repeat; }
dl.room dt.capacity::before { background: url("images/room/icon-capacity.svg") center / contain no-repeat; }
dl.room dd {
	width: calc(100% - 7em);
	letter-spacing: .1em;
}
.smoke {
	width: 30px;
	height: 30px;
	background: url("images/room/icon-smoking.svg") center / contain no-repeat;
}
.smoke.non {
	background: url("images/room/icon-nonsmoking.svg") center / contain no-repeat;
}
.btn_room a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 330px;
	height: 60px;
	margin: 25px auto 0;
	border: 1px solid var(--main-color);
	border-radius: 10px;
	box-sizing: border-box;
	background: #fff;
	color: var(--main-color);
	font-size: 1.125rem;
	font-weight: 700;
	letter-spacing: .1em;
	text-indent: .1em;
	text-decoration: none;
	transition: all .3s ease;
}
.btn_room a:hover {
	background: var(--main-color);
	color: #fff;
}
/* modal */
.overlay {
	pointer-events: none;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
	height: 100%;
	background: url("images/common/bg-gray.webp") center top / auto 100% repeat;
	opacity: 0;
	transition: opacity .8s cubic-bezier(.52, .08, .18, 1);
	z-index: 1000;
}
.overlay.is-open {
	pointer-events: auto;
	opacity: 1;
}
.modal {
	display: flex;
	flex-direction: column;
	pointer-events: none;
	position: fixed;
	top: 50%;
	left: 50%;
	width: 88%;
	max-width: 1400px;
	height: 90svh;
	box-sizing: border-box;
	opacity: 0;
	transition: opacity .8s cubic-bezier(.52, .08, .18, 1);
	transform: translate(-50%, -50%);
	z-index: 1001;
}
.modal.is-open {
	pointer-events: auto;
	opacity: 1;
}
.modal_close_wrapper {
	outline: none;
	position: fixed;
	top: 0;
	right: 0;
}
.modal_close {
	cursor: pointer;
	display: block;
	width: 30px;
	height: 30px;
	margin: 0;
	padding: 0;
	border: none;
	background: transparent;
}
.modal_close:active {
	border: none;
}
.modal_close span {
	outline: none;
	display: block;
	position: relative;
	width: 100%;
	height: 2px;
	border-radius: 1px;
	box-sizing: border-box;
	background: var(--text-color);
	transition: transform .2s ease;
	transform-origin: center;
}
.modal_close span:nth-child(1) {
	transform: translateY(-3px) rotate(45deg);
}
.modal_close span:nth-child(2) {
	transform: translateY(-5px) rotate(-45deg);
}
.modal_open {
	display: block;
	cursor: pointer;
	position: relative;
	width: 10em;
	margin: 1.5em 0;
	padding: 0 10px .8em .75em;
	border: none;
	border-radius: 0;
	border-bottom: 1.5px solid var(--text-color);
	box-sizing: border-box;
	background: none;
	color: var(--text-color);
	font-family: var(--font);
	font-size: .8125rem;
	font-weight: 500;
	text-align: left;
	letter-spacing: .1em;
}
.modal_open::after {
	position: absolute;
	right: .5em;
	top: 0;
	width: 1.2em;
	height: 1.2em;
	font-weight: 700;
	content: "＋";
	transition: transform .3s ease;
}
.modal_open:hover::after {
	transform: rotate(360deg);
}
.modal .header {
	height: 10svh;
	margin: auto;
}
.modal_title {
	margin: 0;
	font-size: 1.4285em;
	text-align: center;
}
.wifi {
	margin-top: 0;
	text-align: center;
}
.modal_box {
	width: 100%;
	max-height: 80svh;
	padding: 40px 20px;
	box-sizing: border-box;
	background: #fff;
	overflow-y: scroll;
	scrollbar-color: var(--text-color) #fff;
	scrollbar-width: thin;
}
table.item {
	margin: 0;
}
table.item th,
table.item td {
	display: block;
	border-bottom: 1px solid #ccc;
}
table.item th {
	padding: 1.2em 0;
	font-size: 92.85%;
}
table.item td {
	padding: .75em 0;
}
table.item .row4 td {
	border-bottom:none;
}
table.item td ul {
	display: flex;
	flex-flow: row wrap;
	margin: 0 0 0 -32px;
}
table.item td li {
	position: relative;
	margin-left: 32px;
	padding-left: 1.9em;
	line-height: 2.5;
}
table.item td li::before {
	position: absolute;
	top: .55em;
	left: 0;
	width: 1.4em;
	height: 1.4em;
	content: "";
}
table.item .row1 td li:nth-child(1)::before { background: url("images/room/icon-tv.svg") center / contain no-repeat; }
table.item .row1 td li:nth-child(2)::before { background: url("images/room/icon-telephone.svg") center / contain no-repeat; }
table.item .row1 td li:nth-child(3)::before { background: url("images/room/icon-wifi.svg") center / contain no-repeat; }
table.item .row1 td li:nth-child(4)::before { background: url("images/room/icon-kettle.svg") center / contain no-repeat; }
table.item .row1 td li:nth-child(5)::before { background: url("images/room/icon-refrige.svg") center / contain no-repeat; }
table.item .row1 td li:nth-child(6)::before { background: url("images/room/icon-air.svg") center / contain no-repeat; }
table.item .row1 td li:nth-child(7)::before { background: url("images/room/icon-toilet.svg") center / contain no-repeat; }
table.item .row1 td li:nth-child(8)::before { background: url("images/room/icon-dryer.svg") center / contain no-repeat; }
table.item .row2 td li:nth-child(1)::before { background: url("images/room/icon-shampoo.svg") center / contain no-repeat; }
table.item .row2 td li:nth-child(2)::before { background: url("images/room/icon-conditioner.svg") center / contain no-repeat; }
table.item .row2 td li:nth-child(3)::before { background: url("images/room/icon-bodysoap.svg") center / contain no-repeat; }
table.item .row2 td li:nth-child(4)::before { background: url("images/room/icon-soap.svg") center / contain no-repeat; }
table.item .row2 td li:nth-child(5)::before { background: url("images/room/icon-toothbrush.svg") center / contain no-repeat; }
table.item .row2 td li:nth-child(6)::before { background: url("images/room/icon-razor.svg") center / contain no-repeat; }
table.item .row2 td li:nth-child(7)::before { background: url("images/room/icon-bathtowel.svg") center / contain no-repeat; }
table.item .row2 td li:nth-child(8)::before { background: url("images/room/icon-handtowel.svg") center / contain no-repeat; }
table.item .row2 td li:nth-child(9)::before { background: url("images/room/icon-gown.svg") center / contain no-repeat; }
table.item .row2 td li:nth-child(10)::before { background: url("images/room/icon-slippers.svg") center / contain no-repeat; }
table.item .row2 td li:nth-child(11)::before { background: url("images/room/icon-japanesetea.svg") center / contain no-repeat; }
table.item .row3 td li:nth-child(1)::before { background: url("images/room/icon-bathsalt.svg") center / contain no-repeat; }
table.item .row3 td li:nth-child(2)::before { background: url("images/room/icon-facewash.svg") center / contain no-repeat; }
table.item .row3 td li:nth-child(3)::before { background: url("images/room/icon-cleansing.svg") center / contain no-repeat; }
table.item .row3 td li:nth-child(4)::before { background: url("images/room/icon-lotion.svg") center / contain no-repeat; }
table.item .row3 td li:nth-child(5)::before { background: url("images/room/icon-emulsion.svg") center / contain no-repeat; }
table.item .row3 td li:nth-child(6)::before { background: url("images/room/icon-brush.svg") center / contain no-repeat; }
table.item .row3 td li:nth-child(7)::before { background: url("images/room/icon-cotton.svg") center / contain no-repeat; }
table.item .row3 td li:nth-child(8)::before { background: url("images/room/icon-sponge.svg") center / contain no-repeat; }
table.item .row3 td li:nth-child(9)::before { background: url("images/room/icon-cottonswab.svg") center / contain no-repeat; }
table.item .row3 td li:nth-child(10)::before { background: url("images/room/icon-earplugs.svg") center / contain no-repeat; }
table.item .row3 td li:nth-child(11)::before { background: url("images/room/icon-mask.svg") center / contain no-repeat; }
table.item .row3 td li:nth-child(12)::before { background: url("images/room/icon-coffee.svg") center / contain no-repeat; }
table.item .row3 td li:nth-child(13)::before { background: url("images/room/icon-milk.svg") center / contain no-repeat; }
table.item .row3 td li:nth-child(14)::before { background: url("images/room/icon-sugar.svg") center / contain no-repeat; }
table.item .row3 td li:nth-child(15)::before { background: url("images/room/icon-tea.svg") center / contain no-repeat; }
table.item .row3 td li:nth-child(16)::before { background: url("images/room/icon-houjitea.svg") center / contain no-repeat; }
table.item .row4 td li:nth-child(1)::before { background: url("images/room/icon-trouserpress.svg") center / contain no-repeat; }
table.item .row4 td li:nth-child(2)::before { background: url("images/room/icon-tablelamp.svg") center / contain no-repeat; }
table.item .row4 td li:nth-child(3)::before { background: url("images/room/icon-iron.svg") center / contain no-repeat; }
table.item .row4 td li:nth-child(4)::before { background: url("images/room/icon-humidifier.svg") center / contain no-repeat; }
table.item .row4 td li:nth-child(5)::before { background: url("images/room/icon-hairiron.svg") center / contain no-repeat; }
table.item .row4 td li:nth-child(6)::before { background: url("images/room/icon-blanket.svg") center / contain no-repeat; }
table.item .row4 td li:nth-child(7)::before { background: url("images/room/icon-airpurifier.svg") center / contain no-repeat; }
table.item .row4 td li:nth-child(8)::before { background: url("images/room/icon-extensioncord.svg") center / contain no-repeat; }
table.item .row4 td li:nth-child(9)::before { background: url("images/room/icon-mobilebattery.svg") center / contain no-repeat; }
table.item .row4 td li:nth-child(10)::before { background: url("images/room/icon-opener.svg") center / contain no-repeat; }
table.item .row4 td li:nth-child(11)::before { background: url("images/room/icon-thermometer.svg") center / contain no-repeat; }
table.item .row4 td li:nth-child(12)::before { background: url("images/room/icon-icebucket.svg") center / contain no-repeat; }
/* ----------
 * resutaurant
 * ---------- */
/* restaurant lead */
.restaurant_lead .logo {
	width: 64%;
	margin: 0 0 1.5em;
}
.link_detail {
	margin-bottom: 1.5em;
}
.link_detail a {
	display: inline-block;
	position: relative;
	width: 185px;
	padding-bottom: .75em;
	border-bottom: 2px solid var(--text-color);
	color: var(--text-color);
	font-size: 1.125rem;
	font-weight: 700;
	letter-spacing: 0;
	text-decoration: none;
	line-height: 1;
}
.link_detail a::after {
	pointer-events: none;
	position: absolute;
	top: 50%;
	right: 0;
	width: 20px;
	height: 1em;
	background: url("images/common/arrow-down.svg") center top / contain no-repeat;
	content: "";
	transform: translateY(-50%);
}
/* restaurant menu */
.menu_scroll {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-around;
	max-width: 1000px;
	margin: 0 auto;
}
.menu_scroll li {
	width: 50%;
	aspect-ratio: 5/1;
	margin-top: 1.2em;
}
.menu_scroll li a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	background: url("images/common/bg-button-wh-sp.svg") center / contain no-repeat;
	color: var(--text-color);
	font-size: .9375rem;
	font-weight: 700;
	letter-spacing: .1em;
	text-indent: .1em;
	text-decoration: none;
}
/* restaurant content */
.restaurant_content.breakfast.pd {
	padding-top: 0;
}
.restaurant_content.lunch {
	background: var(--main-color);
}
.restaurant_content.dinner {
	background: #333;
}
.restaurant_content.drink {
	background: #222;
}
.restaurant_content .inner {
	max-width: 1300px;
}
.restaurant_content .upper {
	position: relative;
	margin: 0 auto 2em;
}
.restaurant_content .upper::before {
	pointer-events: none;
	position: absolute;
	top: 0;
	right: 0;
	width: 20vw;
	aspect-ratio: 1 /1;
	content: "";
}
.restaurant_content.breakfast .upper::before { background: url("images/restaurant/illust-breakfast.svg") right top / contain no-repeat; }
.restaurant_content.lunch .upper::before { background: url("images/restaurant/illust-lunch.svg") right top / contain no-repeat; }
.restaurant_content.dinner .upper::before { background: url("images/restaurant/illust-dinner.svg") right top / contain no-repeat; }
.restaurant_content.takeaway .upper::before { background: url("images/restaurant/illust-takeaway.svg") right top / contain no-repeat; }
.restaurant_content .header {
	display: inline-block;
	margin: 0 0 1.2em;
}
h2.menu {
	margin: 0;
	font-size: clamp(32px, calc((100vw - 375px) * (16 / 1065) + 32px), 48px);
}
.menu_title_jp {
	margin: 0;
	font-size: clamp(.8125rem, calc((100vw - 375px) * (3 / 1065) + .8125rem), 1rem);
	font-weight: 700;
	text-align: center;
	line-height: 1.5;
}
.menu_title_jp span {
	position: relative;
	padding: 0 1.5em;
}
.menu_title_jp span::before,
.menu_title_jp span::after {
	position: absolute;
	top: 0;	
	content: "－";
}
.menu_title_jp span::before {
	left: 0;
}
.menu_title_jp span::after {
	right: 0;
}
.restaurant_content .item_r {
	position: relative;
}
.restaurant_content .item_r img {
	margin: 0 auto;
}
.restaurant_content .info {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 0;
	left: 50%;
	width: 100%;
	max-width: 520px;
	aspect-ratio: 13 / 4;
	padding: 0 1.5em;
	box-sizing: border-box;
	transform: translateX(-50%);
}
.restaurant_content .info * {
	color: #fff;
}
.restaurant_content .info.wh * {
	color: var(--text-color);
}
.restaurant_content .info dl {
	display: flex;
	width: 100%;
	margin: 0;
}
.restaurant_content .info dt,
.restaurant_content .info dd {
	margin: 0;
	font-size: clamp(.875rem, calc((100vw - 375px) * (4 / 1065) + .875rem), 1.125rem);
	font-weight: 500;
	text-align: left;
}
.restaurant_content .info dt {
	width: 7em;
}
.restaurant_content .info dd {
	width: calc(100% - 7em);
}
.restaurant_content .info .hour {
	padding-bottom: .6em;
}
.restaurant_content.dinner .info .hour,
.restaurant_content.takeaway .info .hour {
	padding-bottom: 0;
}
.restaurant_content .info .price {
	flex-flow: row wrap;
	padding-top: .6em;
	border-top: 1px solid #fff;
}
.restaurant_content .info.wh .price {
	border-top: 1px solid var(--text-color);
}
.restaurant_content.lunch .item_l *,
.restaurant_content.dinner .item_l *,
.restaurant_content.drink .item_l *,
.menu_gallery.wh .text * {
	color: #fff;
}
.restaurant_content.lunch .info .price dt {
	width: 12em;
}
.restaurant_content.lunch .info .price dd {
	width: calc(100% - 12em);
}
.menu_gallery {
	margin-bottom: 60px;
}
.menu_gallery .text {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: .75em 0;
	border-bottom: 1px solid var(--text-color);
}
.menu_gallery.wh .text {
	border-bottom: 1px solid #fff;
}
.menu_gallery .text * {
	font-weight: 400;
	line-height: 1.3;
}
.menu_gallery h3 {
	margin: 0;
	font-size: .9375rem;
}
.menu_gallery p {
	margin: 0;
	text-align: right;
}
dl.menu {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 0;
	padding: 1.5em 0;
	border-bottom: 1px solid rgba(255, 255, 255, .2);
}
.menu_detail.br dl.menu {
	border-bottom: 1px solid rgba(35, 24, 29, .2);
}
dl.menu dt,
dl.menu dd {
	margin: 0;
	color: #fff;
	font-size: .9375rem;
	font-weight: 500;
	letter-spacing: .1em;
}
.menu_detail.br dl.menu dt,
.menu_detail.br dl.menu dd {
	color: var(--text-color);
}
dl.menu dt {
	width: calc(100% - 4em);
}
dl.menu dd {
	width: 4em;
	text-align: right;
}
dl.menu dt span {
	font-size: 84%;
}
h3.menu_type {
	margin: 40px 0 .5em;
	color: #fff;
	font-size: clamp(1rem, calc((100vw - 375px) * (8 / 1065) + 1rem), 1.5rem);
	font-weight: 500;
	text-align: center;
}
h3.menu_type:first-of-type {
	margin-top: 75px;
}
/* restaurant info */
.restaurant_info,
.facility_outline,
.access_parking {
	background: url("images/common/bg-gray.webp") center top / auto 100% repeat;
}
table.info tr {
	display: flex;
	align-items: center;
	border-bottom: 1px solid var(--text-color);
}
table.info th,
table.info td {
	padding: 1.5em 0;
	font-size: clamp(.8125rem, calc((100vw - 375px) * (3 / 1065) + .8125rem), 1rem);
	font-weight: 500;
	letter-spacing: .1em;
	text-align: left;
}
table.info th {
	width: 9em;
}
table.info td {
	width: calc(100% - 9em);
}
table.info dl {
	display: flex;
	flex-flow: row wrap;
}
table.info dt,
table.info dd {
	margin: 0;
	font-weight: 500;
}
table.info dt {
	width: 8em;
}
table.info dd {
	width: calc(100% - 8em);
}
table.info a {
	color: var(--text-color);
	text-decoration: none;
}
table.info p {
	margin: 0;
}
.info_meeting {
	position: relative;
	max-width: 1300px;
	margin: 3em auto 0;
	padding: 38px 20px;
	border: 1px solid var(--text-color);
	box-sizing: border-box;
	z-index: 0;
}
.info_meeting::before {
	position: absolute;
	top: 8px;
	left: 8px;
	width: calc(100% - 16px);
	height: calc(100% - 16px);
	background: #fff;
	content: "";
	z-index: -1;
}
.info_meeting h2 {
	margin: 0 0 1.5em;
	font-size: clamp(1.25rem, calc((100vw - 375px) * (12 / 1065) + 1.25rem), 2rem);
	text-align: center;
}
.info_meeting img {
	width: 100vw;
}
.info_meeting .btn_link a {
	width: 100%;
	height: auto;
	aspect-ratio: 5 / 1;
}
/* ----------
 * facility
 * ---------- */
/* facility menu */
.facility_guide {
	justify-content: space-around;
}
.facility_guide li {
	width: 44.75%;
}
.facility_guide li a {
	aspect-ratio: 150 / 36;
	background: url("images/common/bg-button-wh-sp.svg") center / contain no-repeat;
}
/* facility guide */
.guide_menu {
	margin: 0 0 50px;
}
.guide_menu {
	display: flex;
	flex-flow: row wrap;
}
.guide_menu li,
.access_menu li {
	margin-top: 1em;
}
.guide_menu li {
	margin-right: 1.2em;
}
.guide_menu li a,
.access_menu li a {
	display: inline-block;
	position: relative;
	padding: 0 5em .5em .5em;
	border-bottom: 2px solid var(--text-color);
	color: var(--text-color);
	font-size: clamp(.8125rem, calc((100vw - 375px) * (3 / 1065) + .8125rem), 1rem);
	text-decoration: none;
}
.guide_menu li a::after,
.access_menu li a::after {
	pointer-events: none;
	position: absolute;
	top: .5em;
	right: .5em;
	width: 1.25em;
	aspect-ratio: 20 / 10.6723;
	background: url("images/common/arrow-down.svg") center / contain no-repeat;
	content: "";
}
.facility_item {
	padding: 30px 0;
	border-bottom: 1px solid var(--text-color);
}
.facility_item:first-of-type {
	border-top: 1px solid var(--text-color);
}
.facility_item h3 {
	font-size: clamp(1.25rem, calc((100vw - 375px) * (20 / 1065) + 1.25rem), 2.5rem);
}
.facility_item .img {
	position: relative;
	width: 100%;
	aspect-ratio: 84 / 49;
	margin-top: 2em;
}
.facility_item .img figure {
	position: absolute;
}
.facility_item .img figure:first-child {
	top: 0;
	left: 0;
	width: 75%;
}
.facility_item .img figure:last-child {
	bottom: 0;
	right: 0;
	width: 50%;
}
.facility_item p a {
	color: var(--text-color);
}
/* floor map */
.floor_map figure img {
	margin: 0 auto;
}
/* facility outline */
.facility_outline .btn_map a {
	margin: 10px 0 0;
}
/* ----------
 * access
 * ---------- */
/* access info */
.access_info .desc {
	font-size: clamp(.9375rem, calc((100vw - 375px) * (6 / 1065) + .9375rem), 1.3125rem);
	font-weight: 700;
	text-align: center;
}
.gmap {
	filter: grayscale(1);
}
.access_info .location p {
	margin: 0;
}
.access_info .btn_menu a {
	margin: .75em 0;
}
.access_info .tel a {
	color: var(--text-color);
}
/* access menu */
.access_menu {
	margin: 0;
	padding: 0 5.3333vw;
}
/* access content */
h2.access {
	position: relative;
	margin: 0 0 1.5em;
	padding: 0 0 .75em 1.5em;
	border-bottom: 1px solid var(--sub-color);
	font-size: clamp(1.25rem, calc((100vw - 375px) * (20 / 1065) + 1.25rem), 2.5rem);
	line-height: 1.5;
}
h2.access::before {
	pointer-events: none;
	position: absolute;
	top: 37%;
	left: 0;
	width: 1.25em;
	aspect-ratio: 1 / 1;
	content: "";
	transform: translateY(-50%);
}
.access_train h2.access::before { background: url("images/access/icon-train.svg") left center / contain no-repeat; }
.access_foot h2.access::before { background: url("images/access/icon-foot.svg") left center / contain no-repeat; }
.access_car h2.access::before { background: url("images/access/icon-car.svg") left center / contain no-repeat; }
.access_air h2.access::before { background: url("images/access/icon-airplane.svg") left center / contain no-repeat; }
.access_bus h2.access::before { background: url("images/access/icon-bus.svg") left center / contain no-repeat; }
.access_detail {
	margin: 1.5em 0 0;
}
.access_detail li,
.access_box .caution {
	font-size: clamp(.8125rem, calc((100vw - 375px) * (2 / 1065) + .8125rem), .9375rem);
	line-height: 2;
}
.access_detail.disc li::before {
	content: "▪";
}
.access_detail li a,
.access_box .caution a{
	color: var(--text-color);
}
.access_box {
	padding: 30px 12.5px 20px;
	box-sizing: border-box;
	background: #fff;
}
.access_box .item_l {
	margin: 0 0 1.5em;
}
.access_box h3 {
	font-size: clamp(.9375rem, calc((100vw - 375px) * (6 / 1065) + .9375rem), 1.3125rem);
}
.direction_nav {
	margin: 0;
	counter-reset: access 0; 
}
.direction_nav li,
.access_parking figcaption {
	margin-bottom: 2em;
	font-size: clamp(.8125rem, calc((100vw - 375px) * (2 / 1065) + .8125rem), .9375rem);
	font-weight: 500;
}
.direction_nav li p {
	margin: .5em 0 0;
	line-height: 1.5;
}
.direction_nav.ol li p {
	position: relative;
	padding-left: 1.5em;
}
.direction_nav.ol li p::before {
	pointer-events: none;
	position: absolute;
	top: 0;
	left: 0;
	counter-increment: access 1; 
	content: counter(access) ". "; 
}
.access_car figure:nth-of-type(2) {
	margin: 1.5em -5.3333vw 0;
}
.btn_menu.bus a {
	width: 215px;
	margin-left: 0;
}
.access_box .caution {
	margin-top: 0;
}
/* access parking */
.access_parking figcaption {
	margin-top: 1em;
	letter-spacing: .1em;
	text-indent: .1em;
	text-align: center;
}
.access_parking .access_box .item_r figure {
	margin-bottom: 1em;
}
.access_parking .access_box .caution {
	margin: 0;
	font-size: clamp(.8125rem, calc((100vw - 375px) * (2 / 1065) + .8125rem), 1rem);
}
/* ----------
 * sightseeing
 * ---------- */
/* sightseeing content */
.spot_list {
	margin: 0;
}
.spot_list li {
	position: relative;
	margin-top: 30px;
	padding: 20px;
	border: 1px solid var(--text-color);
	box-sizing: border-box;
}
.spot_list li::before {
	position: absolute;
	inset: 10px;
	background: #fff;
	content: "";
	z-index: -1;
}
.spot_list li figure img {
	width: 100vw;
}
.spot_list li h3 {
	margin: .6em 0;
	font-size: clamp(1rem, calc((100vw - 375px) * (2 / 1065) + 1rem), 1.125rem);
	text-align: center;
	line-height: 1;
}
.spot_list li p {
	margin: 0;
	font-size: clamp(.8125rem, calc((100vw - 375px) * (2 / 1065) + .8125rem), .9375rem);
	line-height: 1.5;
}
.spot_list li .access {
	margin: 1em 0;
	padding: .2em 0;
	border-radius: .2em;
	background: var(--text-color);
	color: #fff;
	font-size: clamp(.75rem, calc((100vw - 375px) * (2 / 1065) + .875rem), .75rem);
	text-align: center;
}
.link_spot {
	display: flex;
	justify-content: space-between;
}
.btn_spot {
	width: 47.45%;
}
.btn_spot a {
	display: flex;
	align-items: center;
	position: relative;
	width: 100%;
	padding: .5em 1.5em;
	border: 1px solid var(--text-color);
	border-radius: .2em;
	color: var(--text-color);
	font-size: clamp(.75rem, calc((100vw - 375px) * (3 / 1065) + .9375rem), .75rem);
	font-weight: 700;
	letter-spacing: .1em;
	text-decoration: none;
	transition: all .3s ease;
}
.btn_spot a::after {
	pointer-events: none;
	position: absolute;
	top: 50%;
	right: 1em;
	width: 1.2em;
	aspect-ratio: 1 / 1;
	background: url("images/common/icon-link-br.svg") center / contain no-repeat;
	content: "";
	transform: translateY(-50%);
	transition: background .3s ease;
}
.btn_spot a:hover {
	background: var(--text-color);
	color: #fff;
}
.btn_spot a:hover::after {
	background: url("images/common/icon-link-wh.svg") center / contain no-repeat;
}
/* ----------
 * long stay
 * ---------- */
/* page feature */
.page_feature.pd {
	padding-top: 0;
	padding-bottom: 0;
}
.feature_container .img {
	display: flex;
	flex-flow: row wrap;
	grid-template-columns: repeat(3, 1fr);
	gap: 5px;
	position: relative;
	padding: .75em;
	border: 1px solid var(--text-color);
	box-sizing: border-box;
	background: #fff;
}
.feature_container .img figure {
	width: calc((100% - 10px) / 3);
	aspect-ratio: 1 / 1;
}
.feature_container .img figure img {
	width: 100vw;
}
.feature_container .img > div {
	position: absolute;
	inset: 0;
}
.feature_list {
	margin: 0;
}
.feature_list li {
	margin-top: 1.5em;
}
.feature_list.disc li::before {
	content: "❋";
}
.feature_list li h3 {
	margin: 0 0 .5em;
	text-align: justify;
	font-size: 1em;
	line-height: 1.5;
}
.feature_list li p {
	margin: 0;
	font-size: 93%;
	line-height: 1.5;
}
/* long price */
.price_list {
	margin: 0;
}
.price_list li {
	margin-top: 35px;
	padding: 2.5em 1.5em;
	box-sizing: border-box;
	background: #fff;
}
.price_list li h3 {
	font-size: clamp(1.25rem, calc((100vw - 375px) * (12 / 1065) + 1.25rem), 2rem);
	text-align: center;
}
.price_list li p {
	margin: 0;
}
.price_list li .basic span {
	font-size: 1.5em;
	font-weight: 900;
}
.price_list li h4 {
	margin: 1.5em 0 0;
}
table.option {
	margin: 0;
}
table.option tr {
	display: flex;
	border-bottom: 1px solid var(--sub-color);
}
table.option th,
table.option td {
	padding: 1em 0;
	font-weight: 400;
	text-align: left;
}
table.option th {
	width: 8em;
}
table.option td {
	width: valc(100% - 8em);;
}
/* ----------
 * guide
 * ---------- */
.service_box {
	position: relative;
	padding: 50px 5vw;
}
.service_box::after {
	pointer-events: none;
	position: absolute;
	inset: -10px;
	border: 1px solid #cd9e58;
	content: "";
}
.service_box .deco {
	pointer-events: none;
	position: absolute;
	inset: 0;
}
.service_box .deco span {
	pointer-events: none;
	position: absolute;
	width: 15px;
	aspect-ratio: 1 / 1;
}
.service_box .deco span:nth-child(1) {
	top: -10px;
	left: -10px;
	background: url("images/common/deco1-gl.svg") left top / contain no-repeat;
}
.service_box .deco span:nth-child(2) {
	top: -10px;
	right: -10px;
	background: url("images/common/deco2-gl.svg") right top / contain no-repeat;
}
.service_box .deco span:nth-child(3) {
	bottom: -10px;
	right: -10px;
	background: url("images/common/deco3-gl.svg") right bottom / contain no-repeat;
}
.service_box .deco span:nth-child(4) {
	bottom: -10px;
	left: -10px;
	background: url("images/common/deco4-gl.svg") left bottom / contain no-repeat;
}
.bestrate_content .service_box {
	background: rgba(35, 24, 29, .9);
}
.apa_content .service_box {
	background: #fff;
}
.bestrate_content .service_box * {
	color: #fff;
}
.service_box figure {
	margin: 0 0 3em;
}
.service_box figure img {
	margin: 0 auto;
}
.service_box h2 {
	margin: 0 0 .5em;
	font-weight: 500;
	text-align: center;
}
.service_box .em {
	font-size: 110%;
	text-align: center;
	line-height: 1.5;
}
.service_box strong {
	font-weight: 400;
}
.bestrate_content .service_box h3 {
	margin: 1.5em 0 .5em;
	padding-bottom: .5em;
	border-bottom: 1px solid #fff;
	font-weight: 500;
}
.service_box .caution,
.service_box ul,
.apa_content p {
	margin: 0;
}
.apa_content h3 {
	color: var(--main-color);
	font-weight: 500;
	text-align: center;
}
.apa_content h3 span {
	display: inline-block;
	position: relative;
	padding: 0 1em;
}
.apa_content h3 span::before,
.apa_content h3 span::after {
	pointer-events: none;
	position: absolute;
	top: 50%;
	width: .7em;
	height: 1px;
	background: var(--main-color);
	content: "";
	transform: translateY(-50%);
}
.apa_content h3 span::before {
	left: 0;
}
.apa_content h3 span::after {
	right: 0;
}
/* ----------
 * faq
 * ---------- */
.faq_content h3 {
	margin: 3em 0 0;
	font-size: 1.5em;
}
dl.faq {
	margin: 0;
	padding: 1.5em 0;
	border-bottom: 1px solid var(--sub-color);
}
dl.faq dt, dl.faq dd {
	position: relative;
	margin: 0;
	padding: 1em 3.5em 1em 3.2em;
	font-weight: 400;
	line-height: 1.8;
}
dl.faq dd {
	display: none;
}
dl.faq dt::before, dl.faq dd::before {
	position: absolute;
	top: 0;
	left: 0;
	font-size: 2em;
}
dl.faq dt::before {
	color: var(--sub-color);
	content: "Q.";
}
dl.faq dd::before {
	color: var(--main-color);
	content: "A.";
}
dl.faq dt::after {
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: -.2em;
	right: 0;
	width: 2em;
	height: 2em;
	color: var(--sub-color);
	font-size: 2em;
	content: "＋";
	transition: all .3s ease;
}
dl.faq dt.is-active::after {
	content: "－";
	transform: rotate(360deg);
}
dl.faq dd a {
	color: var(--text-color);
	text-decoration: underline;
	transition: opacity .3s;
}
dl.faq dd a:hover {
	text-decoration: none;
	opacity: .6;
}
/* ----------
 * contact
 * ---------- */
/* form */
table.contact_form, table.contact_form tbody {
	display: block;
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
}
table.contact_form tr {
	display: flex;
	flex-direction: column;
}
table.contact_form th, table.contact_form td {
	padding: 1.5em .5em;
	border-bottom: 1px solid rgba(35, 24, 29, .1);
	box-sizing: border-box;
	font-size: 1em;
}
table.contact_form th {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	font-weight: 400;
	text-align: left;
}
table.contact_form th .req {
	display: inline-block;
	padding: .5em .3em .4em;
	background: var(--main-color);
	color: #fff;
	letter-spacing: .3em;
	text-indent: .3em;
	line-height: 1;
}
table.contact_form td {
	width: 100%;
}
.contact_form input[type="text"],
.contact_form input[type="email"],
.contact_form textarea {
	display: block;
	width: 100%;
	padding: 5px;
	border-radius: 0;
}
.contact_form input[type="text"]:focus,
.contact_form input[type="email"]:focus,
.contact_form textarea:focus,
.contact_form input[type="text"]:focus-visible,
.contact_form input[type="email"]:focus-visible
.contact_form textarea:focus-visible {
	outline-color: var(--sub-color);
}
.btn_form {
	display: flex;
	flex-direction: column;
	position: relative;
	width: 320px;
	margin: clamp(40px, 10.6666vw, 80px) auto 0;
}
.contact_form .btn {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 60px;
	margin: 1em auto 0;
	padding: 0;
	border: 2px solid var(--text-color);
	border-radius: .2em;
	box-sizing: border-box;
	background: var(--text-color);
	color: #fff;
	font-size: .9375rem;
	letter-spacing: .05em;
	transition: all .3s ease;
}
.contact_form .btn:hover {
	border: 2px solid var(--text-color);
	background: #fff;
	color: var(--text-color);
}
/* ----------
 * privacy policy
 * ---------- */
.pp_list {
	counter-reset: pp 0;
	margin: 0;
}
.pp_list li p,
.pp_list li li {
	font-size: 93.75%;
}
.pp_list > li {
	margin-top: 3em;
}
.pp_list li h3 {
	position: relative;
	font-size: 112.5%;
}
.pp_list li h3::before {
	counter-increment: pp 1;
	content: "第" counter(pp) "条　";
}
.privacy-policy-en .pp_list li h3::before {
	content: "Article " counter(pp) "　";
}
.privacy-policy-zh-tw .pp_list li h3::before {
	content: "第" counter(pp) "條　";
}
.pp_list p {
	margin: 0 0 .5em;
}
.pp_list li > ul {
	margin: 0;
}
.pp_list li li {
	line-height: 2;
}
.pp_list a {
	color: var(--text-color);
	text-decoration: none;
}
/* ----------
 * category
 * ---------- */
.post {
	margin: 0;
}
.content_post {
	margin: 0 auto;
	padding: 70px 5.3333vw;
}
.article_list.news,
.article_list.news-en,
.article_list.news-zh-cn,
.article_list.news-zh-tw {
	border-top: 1px solid rgba(255, 255, 255, .6);
}
.article_list.blog article,
.article_list.plan article,
.article_list.blog-en article,
.article_list.plan-en article,
.article_list.blog-zh-cn article,
.article_list.plan-zh-cn article,
.article_list.blog-zh-tw article,
.article_list.plan-zh-tw article {
	margin-top: 3em;
}
.article_list.blog article:first-of-type,
.article_list.plan article:first-of-type,
.article_list.blog-en article:first-of-type,
.article_list.plan-en article:first-of-type,
.article_list.blog-zh-cn article:first-of-type,
.article_list.plan-zh-cn article:first-of-type,
.article_list.blog-zh-tw article:first-of-type,
.article_list.plan-zh-tw article:first-of-type {
	margin-top: 0;
}
.article_list article a {
	display: block;
	text-decoration: none;
	transition: all .3s ease;
}
.article_list.news article a,
.article_list.news-en article a,
.article_list.news-zh-cn article a,
.article_list.news-zh-tw article a {
	padding: 2em 0;
	border-bottom: 1px solid rgba(35, 24, 29, .5);
}
.article_list.blog article a,
.article_list.plan article a,
.article_list.blog-en article a,
.article_list.plan-en article a,
.article_list.blog-zh-cn article a,
.article_list.plan-zh-cn article a,
.article_list.blog-zh-tw article a,
.article_list.plan-zh-tw article a {
	box-sizing: border-box;
	background: #fff;
	box-shadow: rgba(35, 24, 29, .2) 0 .15em .3em 0, rgba(35, 24, 29, .3) 0 .15em 1.5em 0;
}
.article_list.news article a:hover,
.article_list.news-en article a:hover,
.article_list.news-zh-cn article a:hover,
.article_list.news-zh-tw article a:hover {
	background: rgba(35, 24, 29, .5);
}
.article_list.blog article a:hover,
.article_list.plan article a:hover,
.article_list.blog-en article a:hover,
.article_list.plan-en article a:hover,
.article_list.blog-zh-cn article a:hover,
.article_list.plan-zh-cn article a:hover,
.article_list.blog-zh-tw article a:hover,
.article_list.plan-zh-tw article a:hover {
	box-shadow: none;
}
.article_list article a figure {
	position: relative;
	height: 0;
	margin: 0;
	padding-top: 66.6666%;
	overflow: hidden;
}
.article_list article a figure img,
.post-thumbnail img {
	position: absolute;
	inset: 0;
}
.article_list.blog article a .text,
.article_list.plan article a .text,
.article_list.blog-en article a .text,
.article_list.plan-en article a .text,
.article_list.blog-zh-cn article a .text,
.article_list.plan-zh-cn article a .text,
.article_list.blog-zh-tw article a .text,
.article_list.plan-zh-tw article a .text {
	padding: 10px 20px;
}
.article_list article a .date {
	color: var(--sub-color);
	font-size: clamp(.75rem, 3.2vw, .875rem);
}
.article_list.blog article a .date,
.article_list.plan article a .date,
.article_list.blog-en article a .date,
.article_list.plan-en article a .date,
.article_list.blog-zh-cn article a .date,
.article_list.plan-zh-cn article a .date,
.article_list.blog-zh-tw article a .date,
.article_list.plan-zh-tw article a .date {
	text-align: right;
}
.article_list article a h2 {
	margin-top: .5em;
	color: var(--text-color);
	font-size: 1em;
	font-weight: 500;
	line-height: 1.5;
	transition: all .3s ease;
}
.article_list.news article a:hover *,
.article_list.news article a:hover .more,
.article_list.news article a:hover .more::after,
.article_list.news-en article a:hover *,
.article_list.news-en article a:hover .more,
.article_list.news-en article a:hover .more::after,
.article_list.news-zh-cn article a:hover *,
.article_list.news-zh-cn article a:hover .more,
.article_list.news-zh-cn article a:hover .more::after,
.article_list.news-zh-tw article a:hover *,
.article_list.news-zh-tw article a:hover .more,
.article_list.news-zh-tw article a:hover .more::after {
	color: #fff;
}
.article_list article a .more {
	position: relative;
	padding-right: 24px;
	color: var(--text-color);
	font-size: .8125rem;
	letter-spacing: .2em;
	text-align: right;
	line-height: 1;
	transition: all .3s ease;
}
.article_list.blog article a .more,
.article_list.plan article a .more,
.article_list.blog-en article a .more,
.article_list.plan-en article a .more,
.article_list.blog-zh-cn article a .more,
.article_list.plan-zh-cn article a .more,
.article_list.blog-zh-tw article a .more,
.article_list.plan-zh-tw article a .more {
	padding-right: 5px;
}
.article_list article a .more::after {
	position: absolute;
	right: 10px;
	top: 50%;
	width: 12px;
	height: 12px;
	content: ">";
	transition: all .3s ease;
	transform: translateY(-50%);
}
.article_list.blog article a .more::after,
.article_list.plan article a .more::after,
.article_list.blog-en article a .more::after,
.article_list.plan-en article a .more::after,
.article_list.blog-zh-cn article a .more::after,
.article_list.plan-zh-cn article a .more::after,
.article_list.blog-zh-tw article a .more::after,
.article_list.plan-zh-tw article a .more::after {
	right: -10px;
}
.article_list article a:hover .more::after {
	right: 0;
}
.article_list.blog article a:hover .more::after,
.article_list.plan article a:hover .more::after,
.article_list.blog-en article a:hover .more::after,
.article_list.plan-en article a:hover .more::after,
.article_list.blog-zh-cn article a:hover .more::after,
.article_list.plan-zh-cn article a:hover .more::after,
.article_list.blog-zh-tw article a:hover .more::after,
.article_list.plan-zh-tw article a:hover .more::after {
	right: -15px;
}
/* pagenation */
.category .pagination {
	width: 100%;
	margin-top: 70px;
}
.category .nav-links {
	display: flex;
	justify-content: center;
}
.category .page-numbers {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 30px;
	height: 30px;
	margin: 0 10px;
	color: var(--text-color);
	font-weight: 500;
	line-height: 1;
	transition: all .3s ease;
}
.category .page-numbers.current, .category a.page-numbers:hover {
	border-radius: 50%;
	box-sizing: border-box;
	background: var(--text-color);
	color: #fff;
}
.category a.page-numbers {
	text-decoration: none;
}
.category .page-numbers:hover, .category a.page-numbers:hover {
	background: var(--sub-color);
}
/* ----------
 * sidebar
 * ---------- */
section.widget {
	margin: 0 auto 4em;
	padding: 0;
}
section.widget:first-of-type {
	margin-top: clamp(65px, 18.5vw, 110px);
}
section.widget:last-of-type {
	margin-bottom: 0;
}
.widget-title {
	position: relative;
	margin-bottom: 1em;
	padding: .25em 0 .25em .8em;
	border-left: 5px solid var(--sub-color);
	color: var(--text-color);
	font-size: clamp(1.5rem, 5.7vw, 1.125rem);
	line-height: 1;
}
.widget ul {
	list-style: none;
	margin: 0;
}
.widget li:last-child {
	margin-bottom: 0;
}
.widget li {
	margin-bottom: 1.5em;
	font-size: clamp(.8rem, 2.9vw, .875rem);
	line-height: 1.5;
}
.widget li a {
	color: var(--text-color);
	text-decoration: none;
	transition: all .3s ease;
}
.widget li a:hover {
	text-decoration: underline;
}
/* ----------
 * post
 * ---------- */
.post-thumbnail {
	position: relative;
	height: 0;
	margin: 0 0 1.5em;
	padding-top: 56.25%;
	overflow: hidden;
}
.single .site-main .entry-header {
	margin-bottom: 1.8em;
}
.single .site-main time {
	color: var(--sub-color);
	text-align: right;
}
.single .entry-title {
	font-size: clamp(1.125rem, 4.75vw, 1.75rem);
}
/* post content */
.single .site-main h2 {
	color: var(--text-color);
	padding: 0 0 0 .75em;
	border-left: .25em solid var(--sub-color);
}
.single .site-main h3 {
	padding-left: .6em;
	color: var(--main-color);
	border-left: .2em solid var(--sub-color);
}
.single .site-main h5 {
	color: var(--text-color);
	font-size: 1em;
}
.single .site-main p,
.single .site-main ul li,
.single .site-main ol li {
	color: var(--text-color);
}
/* pagenation */
.single .post-navigation {
	margin-top: 50px;
}
.single .nav-links {
	justify-content: space-between;
	align-items: center;
}
.single .nav-links > * {
	width: 48.5%;
}
.single .nav-links a {
	display: flex;
	align-items: center;
	color: var(--text-color);
	font-size: 93.3333%;
	text-decoration: none;
}
.single .nav-next a {
	justify-content: flex-end;
}
.single a .nav-title {
	transition: all .3s ease;
}
.single a:hover .nav-title {
	text-decoration: underline;
}
.single .nav-previous a .nav-subtitle,
.single .nav-next a .nav-subtitle {
	display: inline-block;
}
.single .nav-previous a .nav-subtitle {
	margin-right: .5em;
}
.single .nav-next a .nav-subtitle {
	margin-left: .5em;
}
/* ----------
 * responsive
 * ---------- */
@media (min-width: 768px) {
	/* ----------
	 * layout
	 * ---------- */
	section {
		margin: 70px auto;
	}
	section.pd {
		padding: 70px 5.3333vw;
	}
	/* ----------
	 * common
	 * ---------- */
	.sp {
		display: none !important;
	}
	.pc {
		display: block !important;
	}
	/* heading */
	.top_title {
		margin: 0 0 1.5em;
		font-size: 2.25em;
	}
	/* ----------
	 * header
	 * ---------- */
	/* fixed menu */
	.menu_content {
		display: flex;
		justify-content: space-between;
	}
	.menu_content > * {
		width: 48%;
	}
	.global_menu p::after {
		display: none;
	}
	.sub_menu {
		display: block;
	}
	.sub_menu li a {
		padding: 1em 0;
	}
	/* ----------
	 * top
	 * ---------- */
	/* main visual */
	.main_visual h2 {
		font-size: 3em;
	}
	.main_visual p {
		font-size: 1.5em;
		line-height: 1.5;
	}
	/* top news */
	.top_news .content {
		width: calc(100% - 3em);
	}
	.news_list li a h3 {
		height: auto;
		font-size: 1em;;
	}
	.news_list .slick-arrow {
		top: 73%;
		width: 1.5em;
		height: 1.5em;
	}
	.news_list .arrow-prev {
		left: -1.6em;
	}
	.news_list .arrow-next {
		right: -1.6em;
	}
	/* top plan */
	.plan_list .slick-arrow {
		width: 1.5em;
	}
	.plan_list .arrow-prev {
		left: -1.5em;
	}
	.plan_list .arrow-next {
		right: -1.5em;
	}
	/* top room / top restaurant */
	.top_room .sec_gallery {
		padding: 10px 0 10px 10px;
	}
	.top_restaurant .sec_gallery {
		padding: 10px 10px 10px 0;
	}
	.sec_gallery::before,
	.sec_gallery::after {
		width: 10px;
		height: 10px;
	}
	.sec_gallery.slick-dotted.slick-slider {
		margin-bottom: 50px;
	}
	.sec_gallery .slick-dots {
		bottom: -35px;
	}
	/* top info */
	.link_list {
		display: flex;
		flex-flow: row wrap;
		justify-content: space-between;
	}
	.link_list li {
		width: 47.5%;
	}
	.link_list li:nth-child(2) {
		margin-top: 0;
	}
	.link_list li:last-child {
		width: 100%;
		max-width: 1030px;
		margin-left: auto;
		margin-right: auto;
	}
	.link_list a::after {
		bottom: 5vw;
		width: 6.4vw;
		height: 3.25vw;
	}
	.link_list li:last-child a::after {
		bottom: .5vw;
	}
	/* top sightseeing */
	.gallery_box {
		padding: 10px;
	}
	.gallery_box > div span,
	.feature_frame > div span,
	.info_meeting > div span,
	.spot_list li > div span,
	.feature_container .img > div span {
		width: 10px;
		height: 10px;
	}
	.top_sightseeing p,
	.top_review p {
		text-align: center;
	}
	.spot .slick-arrow,
	.menu_gallery .slick-arrow {
		bottom: -50px;
	}
	/* ----------
	 * room
	 * ---------- */
	/* room feature */
	.feature_box {
		padding: 50px 5.3333vw;
	}
	.feature_box .wrap,
	.feature_frame .flex {
		display: flex;
		justify-content: space-between;
	}
	.feature_box .text,
	.feature_box figure {
		width: 50%;
	}
	.feature_box figure {
		display: flex;
		align-items: center;
	}
	.feature_frame {
		padding: 40px 20px;
	}
	.feature_frame h3 {
		margin: 0 0 2em;
	}
	.feature_frame .img {
		width: 46%;
	}
	.feature_frame .text {
		display: flex;
		flex-direction: column;
		justify-content: center;
		width: 50%;
	}
	.feature_frame img {
		margin: 0;
	}
	/* room content */
	.room_menu li {
		height: 5.3333vw;
		margin-top: 2em;
	}
	.room_menu li a {
		aspect-ratio: 300 / 60;
		background: url("images/room/button-type-pc.svg") center / contain no-repeat;
	}
	.room_name {
		font-size: 2em;
	}
	.room_name_jp {
		font-size: 1em;
	}
	.room_type li {
		margin-top: 60px;
	}
	.room_slide .img {
		margin-bottom: 10px;
	}
	.room_thumbnail {
		margin: 0 0 0 -5px;
	}
	.room_thumbnail .img {
		padding: 0 5px;
	}
	/* ----------
	 * restaurant
	 * ---------- */
	/* restaurant menu */
	.menu_scroll li {
		width: 33%;
	}
	/* restaurant content */
	.menu_gallery li {
		padding: 0 10px;
	}
	.menu_gallery .slick-list {
		margin-right: -20vw;
	}
	/* restaurant info */
	table.info th {
		width: 20%;
	}
	table.info td {
		width: 80%;
	}
	.info_meeting {
		padding: 92px 80px;
	}
	.info_meeting::before {
		top: 12px;
		left: 12px;
		width: calc(100% - 24px);
		height: calc(100% - 24px);
	}
	.info_meeting .btn_link a {
		width: 300px;
	}
	/* ----------
	 * facility
	 * ---------- */
	/* facility menu */
	.facility_guide {
		justify-content: space-between;
	}
	.facility_guide li {
		width: 23%;
	}
	/* facility guide */
	.facility_item {
		padding: 60px 0;
	}
	/* facility outline */
	.facility_outline .info tr.address td {
		display: flex;
		align-items: center;
	}
	.facility_outline .btn_map a {
		margin: 0 0 0 2em;
	}
	/* ----------
	 * access
	 * ---------- */
	/* access menu */
	.access_menu {
		display: flex;
		flex-flow: row wrap;
	}
	.access_menu li {
		margin-right: 2.5em;
	}
	/* access content */
	.access_box {
		padding: 50px 5.333vw 20px;
	}
	/* ----------
	 * guide
	 * ---------- */
	.service_box {
		padding: 70px 7vw;
	}
	.service_box h2 {
		font-size: 2.25em;
	}
	.bestrate_content .service_box h2 {
		margin: 1.25em 0;
	}
	.service_box h3 {
		font-size: 1.5em;
	}
	.apa_content h3 span {
		padding: 0 2em;
	}
	.apa_content h3 span::before,
	.apa_content h3 span::after {
		width: 1.5em;
	}
	/* ----------
	 * sightseeing
	 * ---------- */
	/* sightseeing content */
	.spot_list {
		display: flex;
		flex-flow: row wrap;
		justify-content: space-between;
	}
	.spot_list li {
		display: flex;
		flex-direction: column;
		width: 48%;
	}
	.spot_list li .text {
		display: flex;
		flex-direction: column;
		flex: 1;
	}
	.spot_list li p {
		margin-bottom: 1em;
	}
	.spot_list li .access {
		margin-top: auto;
	}
	/* ----------
	 * long stay
	 * ---------- */
	/* page feature */
	.feature_container .img {
		gap: 10px;
	}
	.feature_container .img figure {
		width: calc((100% - 20px) / 3);
	}
	/* long price */
	.price_list {
		display: flex;
		justify-content: space-between;
	}
	.price_list li {
		width: 48%;
		margin: 0;
	}
	/* ----------
	 * contact
	 * ---------- */
	/* form */
	table.contact_form tr {
		flex-direction: row;
	}
	table.contact_form th {
		width: 27%;
	}
	table.contact_form td {
		width: 73%;
	}
	/* ----------
	 * category
	 * ---------- */
	/* pagenation */
	.category .pagination {
		margin-top: 80px;
	}
	/* ----------
	 * sidebar
	 * ---------- */
	.content_post .widget-area {
		padding: 0 2vw;
	}
}
@media (min-width: 992px) {
	/* ----------
	 * layout
	 * ---------- */
	section {
		margin: 90px auto;
	}
	section.pd {
		padding: 90px 5.3333vw;
	}
	/* ----------
	 * common
	 * ---------- */
	.sp2 {
		display: none !important;
	}
	.pc2 {
		display: block !important;
	}
	/* ----------
	 * header
	 * ---------- */
	/* sp menu */
	.sp_menu {
		background: url("images/common/bg-brick.webp") bottom left / 100% auto no-repeat;
	}
	.sp_menu .tel a,
	.sp_menu .btn_reserve a {
		font-size: 1.5rem;
	}
	/* ----------
	 * top
	 * ---------- */
	/* main visual */
	.best_rate {
		width: 30%;
	}
	.main_visual .text {
		margin-top: 4em;
	}
	/* top news */
	.top_news {
		background: url("images/common/bg-brick.webp") bottom left / 150% auto no-repeat;
	}
	.top_news .content {
		width: calc(100% - 5em);
	}
	.news_list li a {
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	.news_list li a time {
		width: 8em;
	}
	.news_list li a h3 {
		width: calc(100% - 8em);
	}
	.news_list .slick-arrow {
		top: 50%;
	}
	.news_list .arrow-prev {
		left: -2em;
	}
	.news_list .arrow-next {
		right: -2em;
	}
	/* top info */
	.link_list li {
		width: 23%;
	}
	.link_list li:nth-child(3),
	.link_list li:nth-child(4) {
		margin-top: 0;
	}
	.link_list a::after {
		bottom: 17%;
		width: 3.8vw;
		height: 1.75vw;
	}
	.link_list li a img {
		width: 100vw;
	}
	/* top access */
	.top_access .content {
		display: flex;
		margin: 0 0 2em;
	}
	.top_access .text,
	.top_access .map1 {
		width: 50%;
	}
	.top_access .text {
		padding: 80px 5vw;
	}
	.top_access .map1 {
		display: flex;
		align-items: center;
		margin: 0;
		padding: 0 3vw;
		box-sizing: border-box;
	}
	.top_access .map1 img {
		margin: 0 auto;
	}
	/* ----------
	 * page
	 * ---------- */
	/* page header */
	.page_title {
		width: 20vw;
	}
	/* ----------
	 * room
	 * ---------- */
	/* room feature */
	.feature_box {
		padding: 80px 5.3333vw;
	}
	.feature_frame {
		margin-top: 60px;
		padding: 50px 6vw;
	}
	.feature_frame .img {
		width: 40%;
	}
	/* room content */
	.room_menu li a,
	.facility_guide li a {
		font-size: 1.125em;
	}
	.room_type li {
		margin-top: 80px;
	}
	.room_box {
		display: flex;
		justify-content: space-between;
	}
	.room_type .container {
		width: 57%;
	}
	.room_type .text {
		width: 38%;
	}
	.room_thumbnail {
		margin: 0 -5px;
	}
	.room_box .em {
		margin-top: 0;
	}
	/* modal */
	.modal_box {
		max-width: 1400px;
		padding: 40px 50px;
	}
	table.item tr {
		display: flex;
		align-items: center;
		border-bottom: 1px solid #ccc;
	}
	table.item th,
	table.item td {
		border: none;
	}
	table.item th {
		width: 25%;
		text-align: left;
	}
	table.item td {
		width: 75%;
	}
	/* ----------
	 * restaurant
	 * ---------- */
	/* restaurant menu */
	.menu_scroll {
		justify-content: space-between;
	}
	.menu_scroll li a {
		font-size: 1.125rem;
	}
	/* restaurant content */
	.restaurant_content .upper {
		display: flex;
		justify-content: space-between;
		margin-bottom: 60px;
	}
	.restaurant_content .upper::before {
		top: -7vw;
		width: 9.375vw;
	}
	.restaurant_content .item_l {
		width: 50%;
	}
	.restaurant_content .item_r {
		width: 45%;
		margin-top: 50px;
	}
	.menu_detail {
		display: flex;
		flex-flow: row wrap;
		justify-content: space-between;
	}
	.lunch .menu_detail,
	.takeaway .menu_detail {
		margin-top: 90px;
	}
	.menu_detail > dl {
		width: 47.5%;
	}
	h3.menu_type {
		margin-top: 60px;
	}
	h3.menu_type:first-of-type {
		margin-top: 110px;
	}
	/* ----------
	 * facility
	 * ---------- */
	/* facility guide */
	.guide_menu li {
		margin-right: 2.5em;
	}
	.facility_item {
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	.facility_item .text {
		width: 35%;
	}
	.facility_item:nth-of-type(even) .text {
		order: 1;
	}
	.facility_item .img {
		align-self: baseline;
		width: 60%;
	}
	/* ----------
	 * access
	 * ---------- */
	/* access content */
	.access_box {
		display: flex;
		justify-content: space-between;
		padding: 50px 50px 20px;
	}
	.access_box .item_l,
	.direction_nav li {
		width: 46.15%;
	}
	.access_box .item_r {
		width: 50%;
	}
	.direction_nav {
		display: flex;
		flex-flow: row wrap;
		justify-content: space-between;
	}
	.access_car figure:nth-of-type(2) {
		margin: 2em 0 0;
	}
	.access_bus .access_detail {
		margin: 0;
	}
	/* ----------
	 * sightseeing
	 * ---------- */
	/* sightseeing content */
	.sightseeing_content .desc {
		text-align: center;
	}
	.spot_list li {
		padding: 30px;
	}
	/* ----------
	 * long stay
	 * ---------- */
	/* long price */
	.price_list li {
		width: 47%;
		padding: 4em 3em;
	}
	/* ----------
	 * category
	 * ---------- */
	.content_post {
		padding: 100px 5.3333vw;
	}
	.article_list.blog,
	.article_list.plan,
	.article_list.blog-en,
	.article_list.plan-en,
	.article_list.blog-zh-cn,
	.article_list.plan-zh-cn,
	.article_list.blog-zh-tw,
	.article_list.plan-zh-tw {
		display: flex;
		flex-flow: row wrap;
		justify-content: space-between;
	}
	.article_list.blog article,
	.article_list.plan article,
	.article_list.blog-en article,
	.article_list.plan-en article,
	.article_list.blog-zh-cn article,
	.article_list.plan-zh-cn article,
	.article_list.blog-zh-tw article,
	.article_list.plan-zh-tw article {
		width: 46.8%;
	}
	.article_list.blog article:nth-of-type(2),
	.article_list.plan article:nth-of-type(2),
	.article_list.blog-en article:nth-of-type(2),
	.article_list.plan-en article:nth-of-type(2),
	.article_list.blog-zh-cn article:nth-of-type(2),
	.article_list.plan-zh-cn article:nth-of-type(2),
	.article_list.blog-zh-tw article:nth-of-type(2),
	.article_list.plan-zh-tw article:nth-of-type(2) {
		margin-top: 0;
	}
	.article_list.blog article a,
	.article_list.plan article a,
	.article_list.blog-en article a,
	.article_list.plan-en article a,
	.article_list.blog-zh-cn article a,
	.article_list.plan-zh-cn article a,
	.article_list.blog-zh-tw article a,
	.article_list.plan-zh-tw article a {
		height: 100%;
	}
	/* pagenation */
	.category .pagination {
		margin-top: 100px;
	}
}
@media (min-width: 1200px) {
	/* ----------
	 * layout
	 * ---------- */
	section {
		margin: 120px auto;
		padding: 0 3vw;
	}
	section.pd {
		padding: 120px 3vw;
	}
	/* ----------
	 * common
	 * ---------- */
	.sp3 {
		display: none !important;
	}
	.pc3 {
		display: block !important;
	}
	/* heading */
	.top_title {
		font-size: 2.5rem;
	}
	.top_title.title_l {
		padding: 0 0 0 .7em;
		text-align: left;
	}
	.top_title.title_l::before {
		top: 50%;
		bottom: auto;
		left: 0;
		width: .3em;
		height: .75em;
		background: url("images/common/deco-top-title-tate.svg") left center / contain no-repeat;
		transform: translate(0, -50%);
	}
	.top_title.wh::before {
		background: url("images/common/deco-top-title-tate-wh.svg") left center / contain no-repeat;
	}
	.sec_title {
		margin: 0 0 2em;
	}
	/* button */
	.btn_link a {
		margin-top: 60px;
	}
	/* language switcher */
	.fixed_nav_wrapper .lang {
		top: 100px;
		right: 50px;
	}
	/* ----------
	 * header
	 * ---------- */
	.site-header {
		display: flex;
		justify-content: space-between;
		align-items: center;
		height: 80px;
		padding: 0 80px 0 60px;
	}
	.site-header::before {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: url("images/common/bg-brick.webp") top left / 100% auto no-repeat;
		box-shadow: rgba(0, 0, 0, .45) 0 25px 20px -20px;
		content: "";
		transition: all 1s;
		z-index: -1;
	}
	.home .site-header::before {
		opacity: 0;
		box-shadow: none;
	}
	.home .site-header.is-scroll::before {
		box-shadow: rgba(0, 0, 0, .45) 0 25px 20px -20px;
		opacity: 1;
	}
	/* fixed menu */
	.fixed_menu .fixed_button {
		width: 80px;
		height: 80px;
		transition: background .3s ease;
	}
	.fixed_menu .fixed_button:hover {
		background: var(--sub-color);
	}
	.fixed_menu .fixed_button .fixed_bar {
		width: 40px;
		margin: 4px 0;
	}
	.fixed_menu .fixed_button.active .fixed_bar {
		width: 35px;
	}
	.fixed_menu .fixed_button.active .fixed_bar1 {
		transform: translate(1px, 9.1px) rotate(45deg);
	}
	.fixed_menu .fixed_button .fixed_text {
		font-size: .825rem;
	}
	.fixed_logo {
		height: 80px;
	}
	.fixed_logo a {
		width: 420px;
	}
	.menu_content {
		margin-top: 70px;
	}
	/* header menu */
	#site-navigation,
	.header_menu,
	.header_menu ul,
	.header_menu .btn_reserve,
	.header_menu .btn_reserve a {
		height: 100%;
	}
	.header_menu {
		display: flex;
		justify-content: flex-end;
		align-items: center;
		transition: opacity .5s ease;
	}
	.site-header.is-scroll .header_menu.item01,
	.header_menu.item02 {
		opacity: 0;
		visibility: hidden;
	}
	.site-header.is-scroll .header_menu.item02 {
		position: absolute;
		top: 0;
		right: 80px;
		opacity: 1;
		visibility: visible;
		transition-delay: .1s;
	}
	.header_menu ul {
		display: flex;
		align-items: center;
		margin: 0 .75em;
	}
	.header_menu li a {
		display: inline-block;
		position: relative;
		margin: 0 .75em;
		color: #fff;
		font-size: .875rem;
		font-weight: 500;
		text-decoration: none;
		transition: color .3s ease;
	}
	.header_menu li a::after {
		position: absolute;
		bottom: -.35em;
		left: 0;
		width: 100%;
		height: 1px;
		background: #fff;
		content: "";
		transition: transform .3s ease;
		transform: scale(0);
		transform-origin: center;
	}
	.header_menu li a:hover {
		color: #e8ded3;
	}
	.header_menu li a:hover::after {
		transform: scale(1);
	}
	.header_menu .btn_reserve a {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 170px;
		background: var(--main-color);
		color: #fff;
		font-size: 1rem;
		letter-spacing: .1em;
		text-indent: .1em;
		text-decoration: none;
		transition: background .3s ease;
	}
	.header_menu .btn_reserve a:hover {
		background: #993622;
	}
	.header_menu .tel a {
		display: inline-block;
		position: relative;
		margin-right: 1em;
		padding-left: 1.8em;
		color: #fff;
		font-size: 1.6rem;
		letter-spacing: .05em;
	}
	.header_menu .tel a::before,
	.main_visual .tel a span::before {
		position: absolute;
		top: 50%;
		left: 0;
		width: 1.8em;
		height: 1.8em;
		background: url("images/common/icon-tel-wh.svg") center / contain no-repeat;
		content: "";
		transform: translateY(-50%);
	}
	/* ----------
	 * footer
	 * ---------- */
	/* page top */
	#pageTop {
		display: flex;
		justify-content:center;
		position: static;
		width: 100%;
		height: 130px;
		background: url("images/common/bg-brick.webp") top left / 100% auto no-repeat;
	}
	#pageTop a {
		width: 100%;
		height: 100%;
		background: url("images/common/pagetop-pc.svg") center / auto 72px no-repeat;
	}
	/* footer content */
	.footer_content {
		display: flex;
		justify-content: space-between;
		padding: 100px 7.8125vw 50px;
	}
	.footer_info {
		width: 40%;
	}
	.footer_menu_content {
		width: 55%;
	}
	.footer_logo {
		margin: 0;
	}
	.footer_content p {
		text-align: justify;
	}
	.sns_list {
		justify-content: flex-start;
	}
	.sns_list li {
		width: 40px;
		margin: 0 20px 0 0;
	}
	/* footer menu */
	.footer_menu_content {
		display: flex;
		justify-content: space-between;
	}
	/* copyright */
	.copyright {
		margin: 0;
	}
	/* ----------
	 * top
	 * ---------- */
	/* main visual */
	.main_visual .content {
		top: 80px;
		height: calc(100% - 80px);
		padding: 0 3.125vw 0 7.8125vw;
	}
	.main_visual .tel {
		display: flex;
		justify-content: flex-end;
		margin: 0;
		color: #fff;
		font-size: 2.5em;
	}
	.main_visual .tel a {
		color: #fff;
	}
	.main_visual .tel a span {
		display: inline-block;
		position: relative;
		padding-left: 1.8em;
	}
	/* top news */
	.top_news {
		margin-top: -80px;
		height: 80px;
		background: rgba(35, 24, 29, .8);
	}
	.top_news .inner {
		height: 100%;
		padding: 0;
	}
	.top_news h2 {
		width: 6em;
		writing-mode: horizontal-tb;
	}
	.top_news .content {
		display: flex;
		justify-content: space-between;
		align-items: center;
		width: calc(100% - 11em);
		height: 100%;
	}
	.news_list {
		width: calc(100% - 170px);
		margin: 0;
	}
	.news_list li a * {
		font-size: .9375rem;
	}
	/* top plan */
	.plan_list .slick-arrow {
		width: 40px;
	}
	.plan_list .arrow-prev {
		left: -40px;
	}
	.plan_list .arrow-next {
		right: -40px;
	}
	/* top room / top restaurant */
	section.rr {
		display: flex;
		padding: 0;
	}
	.rr .header {
		width: 36.7188%;
		padding: 0 6%;
		box-sizing: border-box;
	}
	.top_restaurant .header {
		order: 1;
	}
	.logo_restaurant img {
		width: 12em;
		margin: 0 0 1.5em;
	}
	.rr h3 {
		text-align: left;
	}
	.rr .content {
		position: relative;
		width: 63.2812%;
	}
	.sec_gallery {
		margin: 0;
	}
	.rr figure {
		position: absolute;
		top: 17.5vw;
		width: 53.5%;
	}
	.top_room figure {
		left: -29%;
	}
	.top_restaurant figure {
		right: -29%;
	}
	.rr .text {
		width: 75%;
		padding-top: 3em;
	}
	.top_room .text {
		margin: 0 0 0 auto;
	}
	/* top sightseeing */
	.top_sightseeing {
		display: flex;
		justify-content: space-between;
	}
	.top_sightseeing .text {
		display: flex;
		flex-direction: column;
		justify-content: center;
		width: 27%;
	}
	.gallery_box {
		align-self: baseline;
		width: 70%;
		margin: 0;
	}
	.top_sightseeing p {
		text-align: justify;
	}
	.top_sightseeing .btn_link a {
		margin-left: 0;
	}
	/* top access */
	.top_access .text p, .top_access .text li {
		text-align: justify;
	}
	.top_access .text .address {
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	.top_access .btn_map {
		margin: 0;
	}
	/* ----------
	 * page
	 * ---------- */
	/* page header */
	.page_header {
		margin-top: 80px;
		height: calc(70svh - 80px);
	}
	.page_title {
		font-size: 2em;
	}
	/* breadcrumbs */
	.breadcrumbs {
		height: 60px;
		padding: 0 60px;
	}
	.single .breadcrumbs {
		margin-top: 80px;
	}
	/* ----------
	 * room
	 * ---------- */
	/* room feature */
	.room_feature p {
		line-height: 2;
	}
	.feature_box {
		padding: 100px 8.5vw;
		background: url("images/common/bg-gray.webp") center top / 100% auto repeat;
	}
	.feature_box .wrap.text {
		width: 40%;
	}
	.feature_box .wrap figure {
		width: 57%;
	}
	.feature_box .wrap p {
		font-size: 1.125rem;
	}
	.feature_frame {
		padding: 60px 80px;
	}
	.feature_frame h3 {
		font-size: 2rem;
	}
	.feature_frame .img {
		width: 41.5%;
	}
	.room_feature p {
		font-size: 1rem;
	}
	/* room content */
	.room_menu {
		margin-bottom: 100px;
	}
	.room_menu li a:hover,
	.facility_guide li a:hover {
		color: #fff;
		background: url("images/common/bg-btn-wh-hover.svg") center / contain no-repeat;
	}
	.room_name {
		font-size: 2.25em;
	}
	.room_name_jp {
		margin: 0 0 2em;
	}
	.room_type li {
		margin-top: 100px;
	}
	.room_type .container {
		width: 60%;
	}
	.room_type .text {
		width: 32%;
	}
	dl.room {
		border-left: 2px solid var(--text-color);
	}
	.modal_open {
		border-bottom: 2px solid var(--text-color);
	}
	/* modal */
	.modal {
		height: 85vh;
	}
	.modal_box {
		margin-top: auto;
		overflow: visible;
	}
	.modal_title {
		font-size: 1.75rem;
	}
	.wifi {
		font-size: 1rem;
	}
	.modal_box {
		padding: 50px;
	}
	table.item {
		max-width: 1200px;
		margin: 0 auto;
	}
	table.item th,
	table.item td {
		font-size: .9375rem;
		font-weight: 400;
	}
	/* ----------
	 * restaurant
	 * ---------- */
	/* restaurant lead */
	.restaurant_lead {
		display: flex;
		padding: 0;
	}
	.restaurant_lead figure {
		width: 45%;
		padding-left: 30px;
		box-sizing: border-box;
	}
	.restaurant_lead .text {
		display: flex;
		flex-direction: column;
		justify-content: center;
		order: 1;
		width: 55%;
		padding: 0 3%;
		box-sizing: border-box;
	}
	.link_detail {
		margin-bottom: 0;
	}
	/* restaurant menu */
	.menu_scroll li {
		width: 31%;
		margin-top: 2.5em;
	}
	.menu_scroll li a {
		background: url("images/room/button-type-pc.svg") center / contain no-repeat;
		transition: all .3s ease;
	}
	.menu_scroll li a:hover {
		background: url("images/common/bg-btn-wh-hover.svg") center / contain no-repeat;
		color: #fff;
	}
	/* restaurant content */
	.restaurant_content .item_l {
		width: calc(100% - 600px);
	}
	.restaurant_content .item_r {
		width: 520px;
	}
	.restaurant_content .info dt, .restaurant_content .info dd {
		line-height: 1.75;
	}
	.menu_gallery {
		left: calc(50% - 650px);
	}
	.menu_gallery .slick-list {
		margin-right: -15vw;
	}
	.menu_detail {
		justify-content: flex-start;
		gap: 0 45px;
	}
	.menu_detail > dl {
		flex: 0 0 calc((100% - 90px) / 3);
	}
	/* restaurant info */
	.restaurant_info,
	.facility_outline,
	.access_parking {
		background: url("images/common/bg-gray.webp") center top / 100% auto repeat;
	}
	.info_meeting {
		margin-top: 80px;
	}
	.meeting_box {
		display: flex;
		justify-content: space-between;
	}
	.meeting_box figure {
		order: 1;
		width: 46%;
	}
	.meeting_box .text {
		display: flex;
		flex-direction: column;
		justify-content: center;
		width: 46%;
	}
	/* ----------
	 * facility
	 * ---------- */
	/* facility guide */
	.access_menu,
	.guide_menu {
		padding: 0 3vw;
	}
	.guide_menu {
		margin: 0 0 75px;
	}
	.facility_guide li a {
		aspect-ratio: 300 /60;
		background: url("images/room/button-type-pc.svg") center / contain no-repeat;
	}
	/* ----------
	 * guide
	 * ---------- */
	.service_box {
		padding: 100px 8vw;
	}
	/* ----------
	 * sightseeing
	 * ---------- */
	/* sightseeing content */
	.spot_list li {
		width: 32%;
	}
	.spot_list li .access {
		padding: .3em 0;
	}
	/* ----------
	 * long stay
	 * ---------- */
	/* page feature */
	.page_feature .feature_box {
		padding: 100px 5vw;
	}
	.feature_container {
		display: flex;
		justify-content: space-between;
	}
	.feature_container .img {
		align-self: baseline;
		width: 45%;
	}
	.feature_list {
		width: 50%;
	}
	.feature_list li:first-child {
		margin-top: 0;
	}
	/* ----------
	 * category
	 * ---------- */
	.content_post {
		display: flex;
		justify-content: space-between;
		padding: 120px 3vw;
	}
	.content_post .site-main {
		width: 72.3076%;
	}
	.content_post .widget-area {
		width: 25%;
		padding: 0 25px 0 0;
		box-sizing: border-box;
	}
	.article_list.news article a,
	.article_list.news-en article a,
	.article_list.news-zh-cn article a,
	.article_list.news-zh-tw article a {
		padding: 2em 1em;
	}
	.article_list.news article a .text,
	.article_list.news-en article a .text,
	.article_list.news-zh-cn article a .text,
	.article_list.news-zh-tw article a .text {
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	.article_list.news article a .date,
	.article_list.news-en article a .date,
	.article_list.news-zh-cn article a .date,
	.article_list.news-zh-tw article a .date {
		width: 11%;
	}
	.article_list.news article a h2,
	.article_list.news-en article a h2,
	.article_list.news-zh-cn article a h2,
	.article_list.news-zh-tw article a h2 {
		width: 75%;
		margin: .5em 0;
	}
	.article_list.news article a .more,
	.article_list.news-en article a .more,
	.article_list.news-zh-cn article a .more,
	.article_list.news-zh-tw article a .more {
		width: 12%;
	}
	/* pagenation */
	.category .pagination {
		margin-top: 120px;
	}
	/* ----------
	 * sidebar
	 * ---------- */
	section.widget:first-of-type {
		margin-top: 0;
	}
}
@media (min-width: 1350px) {
	/* ----------
	 * layout
	 * ---------- */
	section {
		margin: 150px auto;
		padding: 0 3vw;
	}
	section.pd {
		padding: 150px 3vw;
	}
	.btn_spot a {
		padding: .85em 1.5em;
	}
	/* ----------
	 * header
	 * ---------- */
	.site-title a {
		width: 320px;
	}
	/* ----------
	 * footer
	 * ---------- */
	.footer_content .address {
		display: flex;
		flex-direction: column;
		justify-content: center;
		margin: 2em 0 0;
	}
	.footer_content .btn_map {
		margin: 0 0 0 .75em;
	}
	/* ----------
	 * top
	 * ---------- */
	/* main visual */
	.main_visual .text {
		margin-top: 0;
	}
	/* top room / top restaurant */
	.rr figure {
		top: 16.75vw;
	}
	/* top info */
	.top_info.pd {
		padding: 150px 7.8125vw;
	}
	/* top sightseeing */
	.top_sightseeing {
		padding: 0 7.8125vw;
	}
	/* ----------
	 * room
	 * ---------- */
	/* room content */
	.room_menu {
		margin-bottom: 120px;
	}
	.room_menu li {
		width: 21.4285%;
		height: 4.2857vw;
		max-height: 60px;
	}
	.room_menu li:nth-child(4) {
		margin-top: 0;
	}
	.room_type li {
		margin-top: 120px;
	}
	/* ----------
	 * restaurant
	 * ---------- */
	/* restaurant lead */
	.restaurant_lead .text {
		padding: 0 3%;
	}
	/* ----------
	 * category
	 * ---------- */
	.content_post {
		padding: 150px 0;
	}
	.content_post .widget-area {
		width: 21.1538%;
		padding: 0;
	}
}
@media (min-width: 1430px) {
	/* ----------
	 * layout
	 * ---------- */
	section {
		margin: 150px auto;
		padding: 0;
	}
	section.pd {
		padding: 150px 0;
	}
	/* ----------
	 * restaurant
	 * ---------- */
	/* restaurant lead */
	.restaurant_lead .text {
		padding: 0 5%;
	}
	/* ----------
	 * facility
	 * ---------- */
	/* facility guide */
	.access_menu,
	.guide_menu {
		padding: 0;
	}
	/* ----------
	 * sightseeing
	 * ---------- */
	/* sightseeing content */
	.spot_list li {
		width: 30%;
		margin-top: 60px;
	}
}
@media (min-width: 1920px) {
	/* ----------
	 * header
	 * ---------- */
	.site-title a {
		width: 420px;
	}
	.fixed_menu .fixed_nav_wrapper {
		overflow-y: visible;
	}
	.header_menu li a {
		font-size: .9375rem;
	}
	/* ----------
	 * top
	 * ---------- */
	/* top access */
	.top_access .text {
		padding: 80px 7.8125vw;
	}
	/* ----------
	 * room
	 * ---------- */
	/* modal */
	.modal_title {
		font-size: 2rem;
	}
	.wifi {
		font-size: 1.25rem;
	}
	/* ----------
	 * restaurant
	 * ---------- */
	/* restaurant lead */
	.restaurant_lead figure {
		width: 53.65%;
	}
	.restaurant_lead .text {
		width: 46.35%;
		padding: 0 6.7%;
	}
	/* restaurant content */
	.restaurant_content .upper::before {
		display: none;
	}
	.menu_gallery::before {
		position: absolute;
		top: 33px;
		left: -220px;
		width: 180px;
		aspect-ratio: 1/1;
		content: "";
	}
	.breakfast .menu_gallery::before { background: url("images/restaurant/illust-breakfast.svg") center / contain no-repeat; }
	.lunch .menu_gallery::before { background: url("images/restaurant/illust-lunch.svg") center / contain no-repeat; }
	.dinner .menu_gallery::before { background: url("images/restaurant/illust-dinner.svg") center / contain no-repeat; }
	.takeaway .menu_gallery::before { background: url("images/restaurant/illust-takeaway.svg") center / contain no-repeat; }
}
/* ----------
 * reservation system
 * ---------- */
.search_form {
	padding: 50px 5.3333vw;
	background: #fff;
}
.search_form .yprox_theme--default[data-calendar] .inner .js-yprox-searchForm__wrpCheckInn .flatpickr-wrapper,
.search_form select {
	border: 1px solid var(--text-color);
}
.search_form .yprox_theme--default .inner .js-yprox-searchForm__boxNoDate label {
	margin-bottom: .7em;
	color: var(--text-color);
}
.search_form label {
	color: var(--main-color);
	font-weight: 700;
}
.search_form .yprox_theme--default[data-calendar] .inner input[type="submit"] {
	height: 70px;
	margin-top: 1em;
	background: var(--main-color);
	transition: background .3s ease;
}
.search_form  .yprox_theme--default .inner input[type="submit"] {
	font-family: inherit;
	letter-spacing: .1em;
	text-indent: .1em;
}
.search_form .yprox_theme--default .inner input[type="submit"]:hover {
	background: #993622;
	opacity: 1;
}
.search_form > .inner {
	max-width: 1200px;
}
.check_in_out {
	margin-bottom: 0;
	font-size: clamp(.8125rem, calc((100vw - 375px) * (2 / 1065) + .8125rem), .9375rem);
}
.search_list {
	display: flex;
	flex-flow: row wrap;
	margin: 0;
}
.search_list li {
	position: relative;
	width: 50%;
	margin-top: 10px;
	padding-left: 1.3em;
	letter-spacing: .1em;
}
.search_form .search_list li::before {
	display: flex;
	justify-content: center;
	align-items: center;
	pointer-events: none;
	position: absolute;
	top: 0;
	left: 0;
	content: ">";
}
.search_list li a {
	color: var(--sub-color);
	font-size: clamp(.75rem, calc((100vw - 375px) * (3 / 1065) + .75rem), .9375rem);
	font-weight: 500;
	text-decoration: none;
}
.search_list li a:hover {
	text-decoration: underline;
}
@media (min-width: 768px) {
	.search_form {
		padding: 50px 10px;
	}
	.search_form .yprox_theme--default .inner .js-yprox-searchForm__boxNoDate label {
		margin-bottom: .3em;
	}
	.search_form .yprox_theme--default[data-calendar] .inner input[type="submit"] {
		height: 50px;
	}
	.search_list li {
		width: auto;
		margin-right: 3em;
	}
}
@media (min-width: 992px) {
	.search_form {
		padding: 50px 5.3333vw;
	}
}
@media (min-width: 1200px) {
	.search_form {
		padding: 60px 5.3333vw;
	}
	.search_form .yprox_theme--default[data-calendar] .inner input[type="submit"] {
		width: 20%;
	}
}