@charset "utf-8";
/*
Theme Name: Asagirso ver3
Theme URI: http://example.com
Author: Your Name
Author URI: http://example.com
Description: asagiriso_test0407
Version: 1.0
*/

/* =============================================
BASE / RESET
============================================= */
html, body, p, ol, ul, li, dl, dt, dd, blockquote, figure, fieldset, legend,
textarea, pre, iframe, hr, h1, h2, h3, h4, h5, h6 {
  margin: 0;
  padding: 0;
}
ul{
    list-style: none;
}
h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: normal;
}
button, input, select, textarea {
  margin: 0;
}
select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-radius: 0;
}
select::-ms-expand {
    display: none;
}
input, textarea {
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -webkit-appearance: none;
  max-width: 100%;
  border: none;
  border-radius: 0;
}
html {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
*, *::before, *::after {
  -webkit-box-sizing: inherit;
  box-sizing: inherit;
}
img, video {
  height: auto;
  max-width: 100%;
}
img {
  vertical-align: bottom;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
iframe {
  border: 0;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
td, th {
  padding: 0;
}
td:not([align]), th:not([align]) {
  text-align: left;
}
td:not([align]), th:not([align]) {
  text-align: left;
}
a {
  color: #000;
  text-decoration: none;
}
.flex {
  display: flex;
}
.flex.c2{
	flex-wrap:wrap;
	justify-content: space-between;
	padding:30px 0;
}
:root{
--fz11: clamp(.9rem, 0.81vw, 1.1rem);
	--num35: clamp(16px, 2.56vw, 35px);
	--num40: clamp(18px, 2.93vw, 40px);
	--num50: clamp(23px, 3.66vw, 50px);
	--num60: clamp(27px, 4.39vw, 60px);
	--num70: clamp(32px, 5.12vw, 70px);
	--num80: clamp(36px, 5.86vw, 80px);
	--num90: clamp(41px, 6.59vw, 90px);
	--num100: clamp(45px, 7.32vw, 100px);
	--num120: clamp(54px, 8.78vw, 120px);
	--num135: clamp(61px, 9.88vw, 135px);
	--num150: clamp(68px, 10.98vw, 150px);
	--num170: clamp(77px, 12.45vw, 170px);
	--num190: clamp(86px, 13.91vw, 190px);
	--num200: clamp(90px, 14.64vw, 200px);
	--num235: clamp(106px, 17.2vw, 235px);
	--fz12: clamp(1rem, 0.88vw, 1.2rem);
	--fz13: clamp(1.1rem, 0.95vw, 1.3rem);
	--fz14: clamp(1.2rem, 1.02vw, 1.4rem);
	--fz15: clamp(1.3rem, 1.1vw, 1.5rem);
	--fz16: clamp(1.3rem, 1.17vw, 1.6rem);
	--fz17: clamp(1.3rem, 1.24vw, 1.7rem);
	--fz18: clamp(1.3rem, 1.32vw, 1.8rem);
	--fz19: clamp(1.3rem, 1.39vw, 1.9rem);
	--fz20: clamp(1.3rem, 1.46vw, 2rem);
	--fz21: clamp(1.3rem, 1.54vw, 2.1rem);
	--fz22: clamp(1.3rem, 1.61vw, 2.2rem);
	--fz23: clamp(1.3rem, 1.68vw, 2.3rem);
	--fz24: clamp(1.3rem, 1.76vw, 2.4rem);
	--fz25: clamp(1.3rem, 1.83vw, 2.5rem);
	--fz26: clamp(1.3rem, 1.9vw, 2.6rem);
	--fz27: clamp(1.3rem, 1.98vw, 2.7rem);
	--fz28: clamp(1.3rem, 2.05vw, 2.8rem);
	--fz29: clamp(1.3rem, 2.12vw, 2.9rem);
	--fz30: clamp(1.3rem, 2.2vw, 3rem);
	--fz31: clamp(1.3rem, 2.27vw, 3.1rem);
	--fz32: clamp(1.3rem, 2.34vw, 3.2rem);
	--fz33: clamp(1.3rem, 2.42vw, 3.3rem);
	--fz34: clamp(1.3rem, 2.49vw, 3.4rem);
	--fz35: clamp(1.3rem, 2.56vw, 3.5rem);
	--fz36: clamp(1.3rem, 2.64vw, 3.6rem);
	--fz37: clamp(1.3rem, 2.71vw, 3.7rem);
	--fz38: clamp(1.3rem, 2.78vw, 3.8rem);
	--fz39: clamp(1.3rem, 2.86vw, 3.9rem);
	--fz40: clamp(1.3rem, 2.93vw, 4rem);
	--fz41: clamp(1.3rem, 3vw, 4.1rem);
	--fz42: clamp(1.3rem, 3.07vw, 4.2rem);
	--fz43: clamp(1.3rem, 3.15vw, 4.3rem);
	--fz44: clamp(1.3rem, 3.22vw, 4.4rem);
	--fz45: clamp(1.3rem, 3.29vw, 4.5rem);
	--fz46: clamp(1.3rem, 3.37vw, 4.6rem);
	--fz47: clamp(1.3rem, 3.44vw, 4.7rem);
	--fz48: clamp(1.3rem, 3.51vw, 4.8rem);
	--fz49: clamp(1.3rem, 3.59vw, 4.9rem);
	--fz50: clamp(1.3rem, 3.66vw, 5rem);
	--fz51: clamp(1.3rem, 3.73vw, 5.1rem);
	--fz52: clamp(1.3rem, 3.81vw, 5.2rem);
	--fz53: clamp(1.3rem, 3.88vw, 5.3rem);
	--fz54: clamp(1.3rem, 3.95vw, 5.4rem);
	--fz55: clamp(1.3rem, 4.03vw, 5.5rem);
}
@media only screen and (max-width: 768px) {
	:root {
		--fz11: clamp(.9rem, 2.75vw, 1.1rem);
		--fz12: clamp(.9rem, 3vw, 1.2rem);
		--fz13: clamp(.9rem, 3.25vw, 1.3rem);
		--fz14: clamp(.9rem, 3.5vw, 1.4rem);
		--fz15: clamp(.9rem, 3.75vw, 1.5rem);
		--fz16: clamp(.9rem, 4vw, 1.6rem);
		--fz17: clamp(.9rem, 4.25vw, 1.7rem);
		--fz18: clamp(.9rem, 4.5vw, 1.8rem);
		--fz19: clamp(.9rem, 4.75vw, 1.9rem);
		--fz20: clamp(.9rem, 5vw, 2rem);
		--fz21: clamp(.9rem, 5.25vw, 2.1rem);
		--fz22: clamp(.9rem, 5.5vw, 2.2rem);
		--fz23: clamp(.9rem, 5.75vw, 2.3rem);
		--fz24: clamp(.9rem, 6vw, 2.4rem);
		--fz25: clamp(.9rem, 6.25vw, 2.5rem);
		--fz26: clamp(.9rem, 6.5vw, 2.6rem);
		--fz27: clamp(.9rem, 6.75vw, 2.7rem);
		--fz28: clamp(.9rem, 7vw, 2.8rem);
		--fz29: clamp(.9rem, 7.25vw, 2.9rem);
		--fz30: clamp(.9rem, 7.5vw, 3rem);
		--fz31: clamp(.9rem, 7.75vw, 3.1rem);
		--fz32: clamp(.9rem, 8vw, 3.2rem);
		--fz33: clamp(.9rem, 8.25vw, 3.3rem);
		--fz34: clamp(.9rem, 8.5vw, 3.4rem);
		--fz35: clamp(.9rem, 8.75vw, 3.5rem);
		--fz36: clamp(.9rem, 9vw, 3.6rem);
		--fz37: clamp(.9rem, 9.25vw, 3.7rem);
		--fz38: clamp(.9rem, 9.5vw, 3.8rem);
		--fz39: clamp(.9rem, 9.75vw, 3.9rem);
		--fz40: clamp(.9rem, 10vw, 4rem);
		--fz41: clamp(.9rem, 10.25vw, 4.1rem);
		--fz42: clamp(.9rem, 10.5vw, 4.2rem);
		--fz43: clamp(.9rem, 10.75vw, 4.3rem);
		--fz44: clamp(.9rem, 11vw, 4.4rem);
		--fz45: clamp(.9rem, 11.25vw, 4.5rem);
		--fz46: clamp(.9rem, 11.5vw, 4.6rem);
		--fz47: clamp(.9rem, 11.75vw, 4.7rem);
		--fz48: clamp(.9rem, 12vw, 4.8rem);
		--fz49: clamp(.9rem, 12.25vw, 4.9rem);
		--fz50: clamp(.9rem, 12.5vw, 5rem);
		--fz51: clamp(.9rem, 12.75vw, 5.1rem);
		--fz52: clamp(.9rem, 13vw, 5.2rem);
		--fz53: clamp(.9rem, 13.25vw, 5.3rem);
		--fz54: clamp(.9rem, 13.5vw, 5.4rem);
		--fz55: clamp(.9rem, 13.75vw, 5.5rem);
	}
}
.red{
	font-size:inherit !important;
	color:#cc0000 !important;
}
.w1100 {
  max-width: 1100px;
  width: 92%;
  margin: auto;
}
.p_w1100 {
  width: 100%;
  padding-right: calc((100% - 1100px) / 2);
  padding-left: calc((100% - 1100px) / 2);
}
@media only screen and (max-width: 1140px) {
    .p_w1100 {
        padding: 0 20px;
    }
}
html {
    font-size: 62.5%;
    scroll-behavior: smooth;
}
body {
  position: relative;
  color: #000;
  font-size: 1.6em;
  font-family: "游明朝", YuMincho, "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "MS PMincho", serif;
  font-weight: 300;
  line-height: 2;
  letter-spacing: 0;
  background-color: #fff;
}

/* =============================================
pagetop
============================================= */
.pagetop {
  bottom: 85px;
  position: fixed;
  right: 20px;
  z-index: 998 !important;
}
.pagetop > a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 55px;
    height: 55px;
    color: #fff;
    font-size: 2rem;
    background-color: #944260;
    border: 2px solid #944260;
    border-radius: 50%;
    transition: all .3s ease;
    box-sizing: border-box;
}
.pagetop > a:hover {
    color: #944260;
    background-color: #fff;
}

/* =============================================
privacy-policy
============================================= */
#privacy {
  padding: 50px 0 0;
  margin-bottom: 130px;
}
.privacy_wrap {
  padding-left: 25px;
}
.privacy_li {
  margin-bottom: 45px;
}
.privacy_cont dt {
  margin-bottom: 15px;
  font-weight: 700;
  line-height: 2.6;
  letter-spacing: 2.2px;
}
.privacy_li dd {
  margin-left: 20px;
  font-weight: 400;
  line-height: 2.1;
  letter-spacing: 2.2px;
}
.privacy_li dd a {
  opacity: 1;
  text-decoration: underline;
  -webkit-transition: all .3s ease;
  transition: all .3s ease;
}
.privacy_li dd a:hover {
  opacity: .6;
}
.privacy_li dd .list_parentheses {
  padding-left: 30px;
  margin-top: 10px;
}
.privacy_li dd ul.list_parentheses {
  list-style: disc;
}
#privacy > .txt {
    margin-bottom: 40px;
}
@media only screen and (max-width: 768px) {
  #privacy {
    padding: 0;
    margin-bottom: 80px;
  }
  .privacy_li {
    margin-bottom: 30px;
  }
  .privacy_cont dt {
    margin-bottom: 10px;
    line-height: 1.7;
  }
  .privacy_li dd {
    margin-left: -5px;
    font-size: 1.5rem;
    line-height: 1.7;
    letter-spacing: 0;
  }
}


/* =============================================
form
============================================= */
.contact_head {
	margin-bottom: 15px;
	font-size: 25px;
	font-weight: 600;
	text-align: center;
}
.contact_txt {
	margin-bottom: 15px;
	line-height: 2;
	text-align: center;
}
#contact {
    width: 100%;
    margin: auto;
}
.page-contact #conatct {
	padding: 100px 100px 65px;
}
#contact select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	padding: 15px 30px 15px 15px;
    font-size: 1.5rem;
    background-color: #fff;
	border: none;
    cursor: pointer;
}
#contact input, #contact textarea {
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-webkit-appearance: none;
}
#contact select::-ms-expand {
    display: none;
}
.contact_form dd > select {
	padding: 13px 15px;
	cursor: pointer;
}
.contact_note:first-of-type {
    margin-top: 10px;
}
.contact_note {
	font-size: 1.4rem;
	line-height: 1.7;
}
@media screen and (max-width: 860px) {
#contact {
	width: 95%;
}
}
.contact_form {
    display: flex;
	flex-wrap: wrap;
    justify-content: flex-start;
    width: 100%;
    padding: 20px 0;
}
.contact_form > dt {
    position: relative;
    width: 31%;
	padding-top: 10px;
    padding-right: 15px;
    line-height: 2;
}
.contact_form > dt:nth-of-type(n+2) {
    margin-top: 15px;
}
.mw_wp_form_confirm .contact_form > dt {
    padding-top: 0;
}
.contact_form > dd {
	width: 69%;
	font-size: 1.7rem;
}
.contact_form > dd:nth-of-type(n+2) {
    margin-top: 15px;
}
.contact_form > dd .flex {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
}
.contact_form > dd .flex > * + * {
    margin-left: 20px;
}
@media only screen and (max-width: 1060px) {
.contact_form > dd .flex.nyukokibobi {
    display: block;
}
.contact_form > dd .flex.nyukokibobi > * + * {
	margin-left: 0;
	margin-top: 10px;
}
}
.contact_form dt span {
    position: relative;
    top: 0;
    left: 0;
    padding: 5px 8px;
    margin-right: 10px;
    color: #fff;
    font-size: 1.4rem;
    font-weight: normal;
    line-height: 1;
    background-color: #804260;
}
.contact_form dd input {
    max-width: 100%;
    padding: 15px;
    font-size: 1.7rem;
    border: none;
    background-color: #fff;
}
@media all and (-ms-high-contrast: none) {
.contact_form dd input[size="20"] {
	max-width: 200px;
}
}s
.contact_form dd select {
    width: 100%;
    padding: 15px 30px 15px 15px;
	font-size: 1.6rem;
    border: none;
	border-radius: 10px;
}
.contact_form dd textarea {
    width: 100%;
    padding: 15px;
    font-size: 1.6rem;
    line-height: 1.7;
    background-color: #fff;
    border: none;
}
.contact_btn {
	display: flex;
	justify-content: center;
	margin-top: 55px;
}
.contact_btn input, .contact_btn a {
    font-size: 1.7rem;
    cursor: pointer;
    outline: none;
    transition: all .3s ease;
}
.mw_wp_form .back {
    display: none;
}
.mw_wp_form.mw_wp_form_confirm .back {
    display: block;
}
.contact_form dd .select {
    position: relative;
    display: inline-block;
}
.mw_wp_form_confirm .contact_form dd .select {
	border: none;
}
.contact_form dd .select::after {
    position: absolute;
    top: 50%;
    right: 9px;
    content: '\f107';
    font-size: 1.6rem;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    line-height: 1;
    transform: translate(0, -50%);
}
.contact_error span:last-of-type {
	margin-bottom: 25px;
}
.mw_wp_form_confirm .contact_form dd .select::after {
	display: none;
}
.contact_form .mwform-radio-field {
	display: block;
	margin-bottom: 15px;
}
.mwform-radio-field.horizontal-item {
    display: inline-block;
	padding-top: 10px;
    margin-bottom: 0;
}
.mwform-radio-field.horizontal-item + .mwform-radio-field.horizontal-item {
    margin-left: 20px;
}
.mwform-radio-field.horizontal-item label {
    display: flex;
	justify-content: flex-start;
	align-items: flex-start;
    line-height: 1.7;
}
.contact_form .mwform-radio-field input, .contact_form dd input[type="checkbox"],
.contact_policy_check input[type="checkbox"] {
	position: relative;
	width: 20px;
	height: 20px;
	padding: 0;
	margin: 3px 0 0;
	margin-right: 5px;
	vertical-align: middle;
	background-color: #fff;
	border: 1px solid #6d748e;
	border-radius: 50% !important;
	outline: none;
	cursor: pointer;
}
.contact_policy_check {
	margin: 55px 0 0;
    text-align: center;
}
.contact_policy_check + .contact_btn {
    margin-top: 30px;
}
.contact_policy_check input[type="checkbox"] {
	margin-right: 0;
}
.contact_btn #notpress {
	opacity: .4;
    pointer-events: none;
}
.contact_form dd input[type="checkbox"], .contact_policy_check input[type="checkbox"] {
	margin-top: -2px;
	border-radius: 0!important;
}
.contact_form .mwform-radio-field input[type=radio]:checked::before, .contact_form dd input[type="checkbox"]:checked::before,
.contact_policy_check input[type="checkbox"]:checked::before {
	position: absolute;
	top: 50%;
	left: 50%;
	content: '';
	display: block;
	width: 10px;
	height: 10px;
	background-color: #e3007f;
	border-radius: 50%;
	transform: translate(-50%, -50%);
}
.contact_form dd input[type="checkbox"]:checked::before, .contact_policy_check input[type="checkbox"]:checked::before {
	content: '\f00c';
	width: auto;
    height: auto;
    color: #009c94;
    font-size: 1.2rem;
	font-family: "Font Awesome 5 Free";
    font-weight: 900;
	background-color: #fff;
	border-radius: 0;
}
#contact .mwform-checkbox-field.horizontal-item {
	display: inline-block;
	margin-right: 10px;
	margin-bottom: 10px;
}
#contact .mwform-checkbox-field.horizontal-item + .horizontal-item {
	margin-left: 0;
}
.contact_code {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  margin-bottom: 20px;
}
.contact_form dd .contact_code input {
  max-width: 100px;
  margin: 05px;
  width: 90%;
}
.contact_pref, .contact_city {
  margin-bottom: 10px;
}
.contact_form dd .contact_pref input {
  max-width: 215px;
  width: 100%;
}
.contact_txt {
  margin: 0 0 20px;
  color: #333;
  font-size: 1.7rem;
  line-height: 2;
  text-align: center;
}
.contact_summary .btn-base {
  margin-top: 45px;
}
.contact_summary .btn-base a {
  padding: 17px 60px;
  font-size: 1.7rem;
  letter-spacing: 2px;
}
.contact_summary .btn-base a span::after {
  content: '\f105';
  margin-left: 20px;
  font-size: 2.3rem;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
}
.mw_wp_form span.error {
	margin-top: 5px;
	font-size: 1.6rem;
    line-height: 1.3;
}
.mw_wp_form .syobun span.error {
    margin: 0 0 10px;
}
.contact_form dd dl.yoko {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
}
.contact_form dd dl.yoko dt {
	flex-shrink: 0;
    padding: 10px 10px 0 0;
}
.mw_wp_form_confirm .contact_form dd dl.yoko dt {
    padding-top: 0;
}
.contact_form > .flex_end .flex {
    align-items: flex-end;
}
.contact_form > .syobun .flex .tate {
    width: 35%;
}
.contact_form > .syobun .flex .yoko {
    width: 65%;
}
@media only screen and (max-width: 930px) {
.contact_form > .flex_end .flex.tosya {
    display: block;
}
.contact_form > dd .flex > * + .tosya_num {
    margin-left: 0;
}
}
@media only screen and (max-width: 830px) {
.contact_form > .flex_end.syobun .flex {
    display: block;
}
.contact_form > dd.flex_end.syobun .flex > * + * {
    margin: 5px 0 20px 0;
}
.contact_form > .syobun .flex .tate {
    width: 100%;
}
.contact_form > .syobun .flex .yoko {
    width: 100%;
}
}
.contact_form > dt > small {
    display: block;
}
.contact_form > dd.point > .yoko {
    margin-bottom: 10px;
}

@media only screen and (max-width: 768px) {
/*form768px*/
.contact_form {
    display: block;
}
.contact_form > dt {
    width: 100%;
    padding-right: 0;
    margin-bottom: 10px;
}
.contact_form > dd {
    width: 100%;
}
.contact_form dd input {
    padding: 10px;
    font-size: 1.6rem;
}
.contact_btn {
    margin-top: 25px;
}
.contact_btn input, .contact_btn a {
    min-width: 100px;
    padding: 15px;
    font-size: 1.6rem;
    letter-spacing: 1px;
}
.contact_form dd textarea {
    padding: 7px 10px;
    font-size: 1.6rem;
}
.mwform-checkbox-field.horizontal-item {
    margin-bottom: 5px;
}
.contact_head {
    font-size: 1.9rem;
    line-height: 1.5;
    text-align: left;
}
.contact_txt {
    margin: 0 0 15px;
    font-size: 1.4rem;
    line-height: 1.7;
    letter-spacing: 0;
    text-align: left;
}
.mw_wp_form span.error {
    font-size: 1.4rem;
}
}

/* =============================================
header
============================================= */
#header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background-color: rgba(0,0,0,.35);
    transition: all .3s ease;
    z-index: 999;
}
/*英語の時*/
.page-id-2567 #header{
    background-color:rgba(255,255,255,.9);
}
body:not(.page-id-2567)  #header  a{
    color: #fff;
}
.fv_btn{
    display: block;
    padding: var(--fz16) 1.5em;
    margin: 0 1.5em;
    font-size: var(--fz17);
    color: #fff;
    line-height: 1.3;
    text-align: center;
    background-color: #994260;
    transition: all .3s ease;
    border-radius: 8px;
            white-space: nowrap; 
}
#gnav {
    position: relative;
}
#gnav ul {
    display: flex;
    gap: 1.2em; 
    justify-content: center;
    align-items: flex-start;
    list-content: none;
    flex-wrap: nowrap; }
#gnav li {
    list-style: none;
    white-space: nowrap; 
}
#gnav li a {
    opacity: 1;
    font-size: var(--fz16);
    font-weight:200;
    transition: all .3s ease;
    color: #fff;        
}
.page-id-2567 #gnav li a {
    color: #000;        
}

#gnav li a:hover {
    opacity: .5;
}

#gnav ul li {
  position: relative;
}
/* サブメニュー初期状態（非表示） */
#gnav ul li .sub-menu {
  position: absolute;
  top: 6.5rem;
  left: 0;
  opacity: 1;
  visibility: hidden;
  transform: translateY(10px);
  transition: 0.3s;
  background: rgba(0,0,0,.35);
  padding: 16px 0;
  z-index: 9999;
  display: flex;
  flex-direction: column;
}
/* サブメニューの中 */
#gnav ul li .sub-menu li {
  padding: 0px 20px;
  display: block;
    text-align: left;
}

#gnav ul li .sub-menu li a {
  color: #fff;
  font-size: 16px;
  display: block;
  text-align: left;
}

/* ホバー時に表示 */

#gnav ul li.has-sub:hover .sub-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
/* === 矢印 === */
#gnav ul li.has-sub > a {
  position: relative;
  padding-right: 18px;
}
#gnav ul li.has-sub > a::after {
    content: "";
  position: absolute;
  right: 0;
  top: 50%;
  width: 6px;
  height: 6px;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: translateY(-50%) rotate(45deg);
}
#gnav ul li.has-sub > a::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -0.5vw;
  width: 100%;
  height: 2px;
  background: #994260;

  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s ease;
}
/* ホバーで出現 */
#gnav ul li.has-sub:hover > a::before {
  transform: scaleX(1);
}

.h_en_btn a{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.h_en_btn p{
    color: #fff;
        font-size: var(--fz15);
}
.h_en_btn_sp{
    display: none;
}
.h_plan_btn {
    opacity: 0;
    position: absolute;
    top: 50%;
    right: 0;
    transform: scale(0) translateY(-50%);
    transition: all .3s ease;
    transform-origin: right top;
}
body:not(.page-id-2567) .h_scroll .h_plan_btn {
    opacity: 1;
    transform: scale(1) translateY(-50%);
}
#gnav .h_plan_btn a {
    opacity: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 20px;
    color: #fff;
    font-size: 1.4rem;
    line-height: 1.3;
    text-align: center;
    background: url(./img/back_purple.svg) center center/cover no-repeat;
    transition: all .3s ease;
}
#gnav .h_plan_btn a:hover {
    opacity: .6;
}
.h_inner {
    display: flex;
    justify-content: space-around;
    align-items: center;
    padding: 8px;
}
.h_inner_in{
    display: flex;
    align-items: center;
}
.h_inner h1{
    width: auto;
    opacity: 1;
    line-height: 1;
    transition: all .3s ease;
}
.logo{
    display: flex;
    justify-content: center;
    align-items: center;
    margin-right: 0.5em;
    /* min-width: 150px; */
}
.jalogo{
    width: 40px;
    margin-left: 0.5em;
}
.h_inner h1 a{
    display: flex;
    align-items: center;
}
.logo:hover {
    opacity: .5;
}
.tel_wrap .tel {
    display: flex;
    justify-content: center;
    align-items: center;
}
.tel_wrap .tel::before {
    content: '\f095';
    margin-right: 5px;
    font-size: 2.2rem;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    line-height: 1;
}
.tel_wrap .tel, .tel_wrap .tel a {
    font-size: 3rem;
    font-weight: bold;
    font-family: "游ゴシック体", "YuGothic", "Yu Gothic", "游ゴシック", "メイリオ", "Meiryo", sans-serif;
    line-height: 1;
}
.tel_wrap .tel a {
    opacity: 1;
    transition: all .3s ease;
}
.tel_wrap .tel a:hover {
    opacity: .5;
}
.tel_wrap span {
    display: block;
    margin-top: 5px;
    text-align: center;
}
.h_inner .tel_wrap {
    opacity: 1;
    height: 67px;
    transition-delay: .3s;
}
.h_btn > a {
    opacity: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 28px 20px 30px;
    font-size: 2rem;
    color: #fff;
    line-height: 1.3;
    text-align: center;
    background: url("./img/back_purple.svg") center center/cover no-repeat;
    transition: all .3s ease;
}
.h_btn > a span::before {
    content: '\30FB';
}
.h_btn > a:hover {
    opacity: .6;
}
.h_btn div a {
    display: flex;
    justify-content: center;
    align-items: center;
    color: #944260;
    width: auto;
    height: 48%;
    padding: 5px 10px;
    line-height: 1;
    text-align: center;
    background-color: #fff;
    border: 1px solid #944260;
    transition: all .3s ease;
}
.h_btn div a:hover {
    color: #fff;
    background-color: #944260;
}
.h_btn div {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    margin-left: 5px;
}
.h_btn {
    position: relative;
    top: 0;
    opacity: 1;
    align-self: flex-start;
    margin-top: 0;
    transition: all .3s ease;
}
a.hamburger { 
    position: relative; order: 3; display: none; width: 40px; height: 25px; padding: 0; opacity: 1;
} 
a.hamburger :hover{ 
    opacity: 1;
} 
div.hamburger__icon, div.hamburger__icon:after, div.hamburger__icon:before { 
    width: 100%; height: 2px; 
} 
div.hamburger__icon { 
    margin-top: 13px; margin-bottom: 13px; 
} 
div.hamburger__icon:before { 
    top: -13px; }
    
    div.hamburger__icon:after { top: 13px; }
.hamburger__icon {
    position: relative;
    margin: 7px 0;
}

.hamburger__icon,
.hamburger__icon:before,
.hamburger__icon:after {
    display: block;
    width: 25px;
    height: 2px;
    background-color: #fff;
    transition-property: background-color, transform;
    transition-duration: 0.4s;
}
.page-id-2567 .hamburger__icon,
.page-id-2567 .hamburger__icon:before,
.page-id-2567 .hamburger__icon:after {
    background-color: #000;
}

.hamburger__icon:before,
.hamburger__icon:after {
    content: "";
    position: absolute;
}

.hamburger__icon:before {
    top: -7px;
}

.hamburger__icon:after {
    top: 7px;
}

.hamburger.active div.hamburger__icon:before {
    background-color: #000;
    -moz-transform: translateY(13px)rotate(45deg);
    -ms-transform: translateY(13px)rotate(45deg);
    -webkit-transform: translateY(13px)rotate(45deg);
    transform: translateY(13px)rotate(45deg);
}

.hamburger.active div.hamburger__icon:after {
    background-color: #000;
    -moz-transform: translateY(-13px)rotate(-45deg);
    -ms-transform: translateY(-13px)rotate(-45deg);
    -webkit-transform: translateY(-13px)rotate(-45deg);
    transform: translateY(-13px)rotate(-45deg);
}
div.fat-nav {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999;
    display: none;
    width: 100%;
    /* height: 100%;  ←これをコメントアウトするか削除 */
    bottom: 0;        /* 代わりに下端を0に固定して画面いっぱいに広げる */
    background-color: rgba(255,255,255,.95);
    
    /* アニメーション用の設定
    transform: scale(1.4);
    transition: transform 0.4s; */z
    
    /* スクロール設定 */
    overflow-y: auto; 
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
}
div.fat-nav li {
    padding: 0;
    margin-bottom: 10px;
    font-size: 2.1rem;
    text-align: left;
}
div.fat-nav li, div.fat-nav li a {
    color: #000;
}
.menu_search_btn {
        pointer-events: auto;
        width: 85%;
        display: block;
       margin: 0 auto 5vw;
        padding: 10px 10px;
        text-align: center;
        background: #944260;
        color: #fff;
        font-size: 2.1rem;
        font-family: "游明朝体", "Yu Mincho", serif;
        text-decoration: none;
        border-radius: 8px;       /* 角丸 */
}
.menu_search_btn a::after {
    content: url(./img/add/search.svg);
    transform: translateY(-50%);
    padding-left: 3.5vw;
}
.spnav {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    padding-top: 20vw;
}
.fat-nav .spnav .s_main_nav{
    width: 80%;
    text-align: left;
}
.fat-nav ul.s_nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    max-width: 500px;
    width: 95%;
    padding-top: 15px;
    margin-top: 15px;
    margin-bottom: 30px;
    border-top: 1px dashed #000;
}
.s_main_nav {
    /* max-height: 100vh;  ← 削除して高さが伸びるようにする */
}
    /* ＝＝＝ 客室のアコーディオン部分のスタイル ＝＝＝ */
    .accordion-header {
        display: flex;
        justify-content: space-between; /* テキストは左、アイコンは右に配置 */
        align-items: center;
    }
    /* ＝＝＝ 開閉アイコン（＋と－）の描画 ＝＝＝ */
    .accordion-toggle {
        background: none;
        border: none;
        width: 40px;
        height: 40px;
        position: relative;
        cursor: pointer;
        padding: 0;
    }

    /* ＋の横線 */
    .accordion-toggle::before {
        content: "";
        position: absolute;
        top: 50%;
        left: 50%;
        width: 14px;
        height: 1px;
        background-color: #999;
        transform: translate(-50%, -50%);
    }

    /* ＋の縦線 */
    .accordion-toggle::after {
        content: "";
        position: absolute;
        top: 50%;
        left: 50%;
        width: 1px;
        height: 14px;
        background-color: #999;
        transform: translate(-50%, -50%);
        transition: transform 0.3s ease, opacity 0.3s ease;
    }
    .accordion-item.is-open .accordion-toggle::after {
        transform: translate(-50%, -50%) rotate(90deg);
        opacity: 0;
    }
    .accordion-content {
        display: grid;
        grid-template-rows: 0fr; 
        transition: grid-template-rows 0.3s ease;
    }
    .accordion-item.is-open .accordion-content {
        grid-template-rows: 1fr; 
        padding-left: 4vw;
    }
    .sub-menu {
        overflow: hidden;
        color: #DDDDDD;
    }
    .sub-menu li {
        margin-bottom: 0;
        padding-left: 1.5em;
    }
.fat-nav ul.s_nav li {
    margin-bottom: 0;
}
.fat-nav ul.s_nav a {
    padding: 15px;
    font-size: 1.6rem;
    font-family: "游ゴシック体", "YuGothic", "Yu Gothic", "游ゴシック", "メイリオ", Meiryo, sans-serif;
}
div.fat-nav__wrapper .tel_wrap {
    padding-bottom: 60px;
}

.page_temp.post_cont {
    margin-bottom: 120px;
}
/*top*/
#top_slide {
    position: relative;
}
.top_slide_container .swiper-slide {
	position: relative;
    width: 100%;
    height: 100vh;
	overflow: hidden;
	background: center center/cover no-repeat;
}
.top_slide_container .swiper-slide picture, .top_slide_container .swiper-slide img {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform: translate(-50%, -50%);
}

.swiper-container.top_news_container {
    height: 35px;
}
#top_slide > .head2 {
    position: absolute;
    top: calc(50% + 60px);
    left: 50%;
    width: 100%;
    padding: 0 20px;
    color: #fff;
    font-size: 4.8rem;
    font-weight: 600;
    line-height: 1.5;
    text-align: center;
    text-shadow: 0 0 10px #000;
    transform: translate(-50%, -50%);
    z-index: 1;
}

#top_slide.top_slide_new > .head2 {
    display: flex;
	justify-content: center;
	align-items: center;
}
#top_slide.top_slide_new > .head2 .ja-logo {
	max-width: 160px;
	min-width: 160px;
	margin-right: 0.5em;
}


#top_news {
    position: absolute;
    left: 0;
    bottom: 0;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    padding-top: 15px;
    padding-bottom: 15px;
    color: #fff;
    background-color: rgba(0,0,0,.5);
    z-index: 1;
}
#top_news > .head2 {
    flex-shrink: 0;
    padding-right: 20px;
    margin-right: 15px;
    font-size: 1.6rem;
    line-height: 1.6;
    white-space: nowrap;
    border-right: 1px solid #fff;
}
.top_news_container .date {
    margin-right: 30px;
}
.top_news_container .swiper-slide a {
    opacity: 1;
    color: #fff;
    transition: all .3s ease;
}
.top_news_container .swiper-slide a:hover {
    opacity: .6;
}
.swiper-pagination.top_slide_pagination {
    right: 30px;
    bottom: 90px;
    display: flex;
    flex-direction: column;
}
.top_slide_pagination span.swiper-pagination-bullet {
    opacity: 1;
    width: 10px;
    height: 10px;
    margin: 5px 0;
    background-color: #8c8c8c;
}
.top_slide_pagination span.swiper-pagination-bullet.swiper-pagination-bullet-active {
    background-color: #944260;
}

#top_bnr{
	text-align:center;
	margin-top:70px
}
#top_bnr > a {
    opacity: 1;
    display: block;
    margin: 0 auto 30px;
    transition: all .3s ease;
}
#top_bnr > a:hover {
    opacity: .6;
}

.top_campaign {
    flex-wrap: wrap;
    justify-content: space-between;
    padding-top: 50px;
    padding-bottom: 75px;
}
#top_campaign2 {
    padding-bottom: 0;
}
.top_campaign.top_campaign_slide {
    max-width: 1200px;
    margin: auto;
}
.top_campaign_block {
    width: 48.5%;
    font-family: "游ゴシック体", "YuGothic", "Yu Gothic", "游ゴシック", "メイリオ", Meiryo, sans-serif;
    line-height: 1;
    background-color: #fff;
    border-radius: 10px;
    border: 1px solid rgba(0,0,0,0.1);
    box-shadow: 0 0 10px rgb(0 0 0 / 20%);
    box-sizing: border-box;
    padding: 25px 25px 20px 30px;
    margin-bottom:30px;
	overflow: hidden;
}
.slick-slider .top_campaign_block {
    font-family: "游ゴシック体", "YuGothic", "Yu Gothic", "游ゴシック", "メイリオ", Meiryo, sans-serif;
    line-height: 1;
    border: none;
    box-shadow: none;
}
#top_campaign2 .top_campaign_block {
    padding: 25px 25px 30px 30px;
    margin: 15px 0;
}
.top_campaign.top_campaign_slide .slick-list {
    overflow: visible;
}
.top_campaign_wrap {
    width: 100%;
    overflow: hidden;
}
.top_campaign_inner {
    background-color: #fff;
    border-radius: 10px;
    border: 1px solid rgba(0,0,0,0.1);
    box-shadow: 0 0 10px rgb(0 0 0 / 20%);
    box-sizing: border-box;
    padding: 25px 25px 20px 30px;
    margin-bottom:30px;
	overflow: hidden;
}
.c1 .top_campaign_block {
    width: 100%;
}
.c1 .top_campaign_block + .top_campaign_block {
    margin-top: 30px;
}
.top_campaign_block .img {
    flex-shrink: 0;
    align-self: center;
    max-width: 55%;
    margin-bottom: 15px;
}
.top_campaign_block .img img {
    width:100%;
}
.top_campaign_block p {
    width: 100%;
    margin-bottom: 15px;
    line-height: 1.5;
}
.top_campaign_block.img_half > .flex{
	flex-wrap:wrap;
	justify-content: space-between;
}
#top_campaign2 .top_campaign_block.img_half > .flex {
    flex-wrap: nowrap;
    align-items: flex-start;
}
#top_campaign2 .top_campaign_block .img {
    align-self: flex-start;
    width: 35%;
    padding-right: 20px;
    margin-bottom: 0;
}
#top_campaign2 .top_campaign_block .img img {
    max-width: initial;
}
#top_campaign2 .top_campaign_block .txt_wrap {
    width: 65%;
}
#top_campaign2 .top_campaign_block .head3 {
    margin-bottom: 10px;
    text-align: left;
}
.top_campaign_block.img_half > .flex > *{
	width:48%;
}
.top_campaign_block.img_l > .flex{
	display:block;
}
.top_campaign_block.img_l .img{
	width:100%;
	max-width:none;
}
.top_campaign_block .img img{
	max-width: 264px;
}
.top_campaign_slide p.txt{
	max-width: 250px;
}
.top_campaign_block.img_l .img img,
.top_campaign_block.img_l p.txt{
	max-width: 479px;
}


.top_campaign_block .btn_arrow {
    margin-top: 20px;
    text-align:center;
}
.top_campaign a.top_campaign_bnr.sp {
    display: none;
}
.btn_arrow {
    display: block;
    color: #944260;
    font-family: YuGothic, "YuGothic","Yu Gothic", Meiryo, sans-serif;
    font-weight: bold;
}
.btn_arrow::after {
    content: '\f105';
    position: relative;
    right: 0;
    margin-left: 5px;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    transition: all .3s ease;
}
.btn_arrow:hover::after {
    right: -5px;
}
.top_campaign_block .head3 {
    width: 100%;
    margin-bottom: 20px;
    font-size: 2.2rem;
    font-weight: bold;
    line-height: 1.3;
    text-align: center;
}
/* =============================================
予約エリア
============================================= */
#top_reserve1 {
    padding-top: 20px;
    padding-bottom: 35px;
    background: url("./img/back_pattern1.png") center center/auto repeat;
    border-top: 1px solid #944260;
    border-bottom: 1px solid #944260;
}
#top_reserve1 .head2 {
    line-height: 1;
}
#top_reserve1 .head2 img {
    display: block;
    max-width: 315px;
    width: 100%;
}
#top_reserve1 .head2 span {
    display: block;
    width: 100%;
    margin-top: 15px;
    font-size: 1.7rem;
    font-family: "游ゴシック体", "YuGothic", "Yu Gothic", "游ゴシック", "メイリオ", Meiryo, sans-serif;
    text-align: center;
}
#top_reserve1 .h_wrap {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    margin-bottom: 15px;
}
#top_reserve1 .h_wrap::before {
    content: '';
    flex-shrink: 0;
    display: block;
    width: 113px;
    height: 116px;
    margin-right: 15px;
    background: url("./img/icon_bestrate.svg") center center/contain no-repeat;
}
#top_reserve1 .form_block {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding: 25px 70px 25px 60px;
    background-color: #fff;
    box-shadow: 0 0 10px rgb(0 0 0 / 20%);
}
#top_reserve1 .head3 {
    font-size: 2rem;
    font-weight: 600;
    line-height: 1;
    text-align: center;
}
#top_reserve1 .head3::before {
    content: '\f002';
    display: block;
    margin-bottom: 10px;
    color: #944260;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
}
#top_reserve1 .form_wrap {
    padding-right: 75px;
    border-right: 1px solid #000;
}
.form_wrap form {
    display: flex;
    justify-content: flex-start;
    align-items: flex-end;
    font-family: "游ゴシック体", "YuGothic", "Yu Gothic", "游ゴシック", "メイリオ", Meiryo, sans-serif;
}
.form_wrap dt {
    font-size: 1.5rem;
}
.form_wrap select {
    padding: 10px 30px 10px 10px;
    font-size: 1.6rem;
    border-radius: 5px;
    cursor: pointer;
}
.date_489ban, .inbox_489ban {
    margin-right: 20px;
}
.form_wrap button {
    padding: 10px;
    color: #fff;
    font-weight: 600;
    text-align: center;
    background-color: #944260;
    border: 2px solid #944260;
    border-radius: 5px;
    transition: all .3s ease;
    cursor: pointer;
}
.form_wrap button:hover {
    color: #944260;
    background-color: #fff;
}
.date_489ban dd label {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    padding: 5px 5px 7px;
    font-size: 1.3rem;
}
.date_489ban dd input[type="checkbox"] {
    width: 20px;
    height: 20px;
    margin-right: 3px;
    cursor: pointer;
    -webkit-appearance: checkbox;
}
#top_about {
    padding-top: 95px;
    padding-bottom: 100px;
}
.top_about_block {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    width: 100%;
}
.top_about_block.b1 img {
    position: relative;
    display: block;
    max-width: 770px;
    width: 55%;
    z-index: 1;
}
.top_about_block.b1 .top_about_cont {
    position: relative;
    max-width: 680px;
    width: 48%;
    padding: 90px 70px 85px 100px;
    margin-top: 75px;
    margin-left: -105px;
    background-color: #fff;
    z-index: 2;
}
.top_about_block.b1::before, .top_about_block.b2::before {
    position: absolute;
    bottom: 65px;
    left: 0;
    content: '';
    display: block;
    width: 100%;
    height: 350px;
    background: url("./img/back_wave.svg") center center/cover no-repeat;
    z-index: 0;
}
.top_about_block.b1::after, .top_about_block.b2::after {
    content: '';
    position: absolute;
    bottom: -75px;
    right: 45px;
    display: block;
    width: 492px;
    height: 171px;
    padding-top: 12%;
    background: url(./img/figure_wave.svg) center center/contain no-repeat;
}
.top_about_block.b1 .head2 {
    margin-bottom: 35px;
    color: #994260;
    font-size: 4.4rem;
    font-weight: 600;
    line-height: 1.7;
}
.top_about_new .top_about_block.b1 .head2 {
    font-size: 3.8rem;
}
.top_about_block.b2 {
    flex-wrap: wrap;
    padding-top: 80px;
    padding-bottom: 85px;
}
.top_about_wrap {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    width: 100%;
}
.top_about_wrap img {
    flex-shrink: 0;
    display: block;
    margin-right: 50px;
    margin-left: 30px;
}
.top_about_block.b2 .head3 {
    margin-bottom: 45px;
    color: #944260;
    font-size: 3.3rem;
    font-weight: 600;
    line-height: 1.7;
}
.top_about_cont p {
    margin-bottom: 95px;
}
.top_about_img {
    position: relative;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    width: 100%;
    margin-top: -35px;
}
.top_about_img .ja-logo {
	position: absolute;
	left: 3%;
	bottom: 20px;
	width: 140px;
}
.top_about_img div.wine-img {
	position: absolute;
	left: 0;
	top: -30px;
	width: 220px;
}

.btn_wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}
/* =============================================
ボタン
============================================= */
body.home .btn1 {
    position: relative;
    display: inline-flex;
    justify-content: flex-start;
    align-items: center;
    width: auto;
    padding: 25px 70px 25px 35px;
    margin: 0 70px 0 20px;
    color: #944260;
    font-size: 1.8rem;
    font-weight: 600;
    line-height: 1.3;
    background: #fff;
    border: 1px solid #944260;
    transition: all .7s ease;
}
body.home .btn1 span {
    position: absolute;
    top: 50%;
    right: -50px;
    width: 100px;
    height: 1px;
    transform: translateY(-50%);
}
.btn1:hover span {
  -webkit-animation: scale-left-right 1s cubic-bezier(0.39, 0.575, 0.565, 1) both;
  animation: scale-left-right 1s cubic-bezier(0.39, 0.575, 0.565, 1) both;
}

.btn1 {
    position: relative;
    display: inline-flex;
    justify-content: flex-start;
    align-items: center;
    width: auto;
    padding: 25px 126px 25px 35px;
    margin: 1.5vw 43px 0 20px;
    color: #944260;
    font-size: 1.8rem;
    font-weight: 600;
    line-height: 1.3;
    background: #fff;
    border: 1px solid #944260;
    transition: all .7s ease;
}
.btn1 span {
    position: absolute;
    top: 50%;
    right: -50px;
    width: 100px;
    height: 1px;
    transform: translateY(-50%);
}
@-webkit-keyframes scale-left-right {
  10% {
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-transform-origin: 100% 50%;
    transform-origin: 100% 50%;
  }
  45% {
    -webkit-transform: scale(0);
    transform: scale(0);
    -webkit-transform-origin: 100% 50%;
    transform-origin: 100% 50%;
  }
  55% {
    -webkit-transform: scale(0);
    transform: scale(0);
    -webkit-transform-origin: 0% 50%;
    transform-origin: 0% 50%;
  }
  90% {
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-transform-origin: 0% 50%;
    transform-origin: 0% 50%;
  }
}

@keyframes scale-left-right {
  10% {
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-transform-origin: 100% 50%;
    transform-origin: 100% 50%;
  }
  45% {
    -webkit-transform: scale(0);
    transform: scale(0);
    -webkit-transform-origin: 100% 50%;
    transform-origin: 100% 50%;
  }
  55% {
    -webkit-transform: scale(0);
    transform: scale(0);
    -webkit-transform-origin: 0% 50%;
    transform-origin: 0% 50%;
  }
  90% {
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-transform-origin: 0% 50%;
    transform-origin: 0% 50%;
  }
}
.btn1 span::after {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background-color: #944260;
}
.btn1.s span {
    right: -25px;
    width: 50px;
}
.btn1.s {
    padding-right: 55px;
    margin-right: 55px;
}
.btn1.w_b {
    color: #fff;
    background-color: transparent;
    border: 1px solid #fff;
}
.btn1.w_b span::after {
    background-color: #fff;
}
.top_about_img .btn1 {
    width: 400px;
}
.top_about_block.b2::before {
    bottom: 0;
}
.top_about_block.b2::after {
    top: 50%;
    left: 0;
    width: 250px;
    height: 143px;
    transform: translateY(-50%);
    background-position: right center;
    background-size: 411px auto;
}
#top_contents {
    width: 100%;
    padding-top: 45px;
    padding-bottom: 50px;
    background: url("./img/back_wave.svg") center center/auto repeat;
}
.top_contents_li {
    width: 100%;
    list-style: none;
}
.top_contents_li li {
    position: relative;
    width: calc(100% / 3);
    height: 650px;
    background: center center/cover no-repeat;
}
.top_contents_li .head4 {
    position: absolute;
    top: -45px;
    left: 50%;
    width: auto;
    height: 440px;
    padding: 20px 40px;
    font-size: 3.3rem;
    font-weight: 600;
    line-height: 1.7;
    writing-mode: tb-rl;
    text-orientation: upright;
    background-color: #fff;
    transform: translateX(-50%);
}
.top_contents_li .head3 {
    position: absolute;
    top: 0;
    right: 0;
    width: auto;
    height: 130px;
    padding: 20px 15px;
    color: #fff;
    font-size: 2.6rem;
    font-weight: 600;
    writing-mode: tb-rl;
    background-color: #944260;
}
.top_contents_li .hover_block {
    opacity: 0;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding: 100px 70px 90px;
    color: #fff;
    background-color: rgba(0,0,0,.8);
    pointer-events: none;
    transition: all .3s ease;
}
.top_contents_li li:hover .hover_block {
    opacity: 1;
    pointer-events: inherit;
}
.top_contents_li .hover_block .txt {
    margin-bottom: 45px;
    line-height: 2.5;
}
#top_for {
    position: relative;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
    width: 100%;
    padding-top: 95px;
    padding-bottom: 120px;
    overflow: hidden;
}
#top_for .link_wrap {
    position: relative;
    width: 48%;
    z-index: 1;
}
#top_for .fb {
    width: 48%;
    overflow-x: auto;
}
#top_for .head2_1 {
    width: 100%;
    margin-bottom: 80px;
}
.head2_1 {
    color: #944260;
    font-size: 3.6rem;
    font-weight: 600;
    line-height: 1.4;
    text-align: center;
}
#top_for .link_wrap a {
    opacity: 1;
    display: block;
    margin-bottom: 20px;
    transition: all .3s ease;
}
#top_for .link_wrap a:hover {
    opacity: .6;
}
#top_for::before, #top_for::after {
    position: absolute;
    top: 75px;
    left: 0;
    content: '';
    display: block;
    width: 325px;
    height: 200px;
    background: url("./img/figure_wave_gl.svg") right center/445px auto no-repeat;
    z-index: 0;
}
#top_for::after {
    top: auto;
    bottom: -35px;
    left: auto;
    right: 0;
    background: url("./img/figure_wave_gr.svg") left center/445px auto no-repeat;
}

/* =============================================
footer
============================================= */
body.home #top_reserve2{
    display: none;
}
#top_reserve2 {
    position: relative;
    padding-bottom: 25px;
    margin-bottom: 95px;
    background: url(./img/back_pattern1.png) center center/auto repeat;
    border-bottom: 1px solid #944260;
}
#top_reserve2 .head2 {
    flex-shrink: 0;
    margin: 0 80px;
}
#top_reserve2 .head2 b {
    display: flex;
    justify-content: center;
    align-items: center;
}
#top_reserve2 .head2 b img {
    display: block;
    width: 288px;
}
#top_reserve2 .head2 b::before {
    content: '';
    display: block;
    width: 40px;
    height: 28px;
    margin-right: 5px;
    background: url("./img/icon_crown.svg") center center/contain no-repeat;
}
#top_reserve2 .head2 span {
    display: block;
    margin-top: 10px;
    font-size: 1.7rem;
    font-weight: bold;
    font-family: "游ゴシック体", "YuGothic", "Yu Gothic", "游ゴシック", "メイリオ", Meiryo, sans-serif;
    line-height: 1.5;
    text-align: center;
}
#top_reserve2 .h_wrap {
    position: relative;
    top: -35px;
    display: flex;
    justify-content: center;
    align-items: center;
}
#top_reserve2 .h_wrap::before, #top_reserve2 .h_wrap::after {
    content: '';
    display: block;
    width: 100%;
    height: 1px;
    background-color: #944260;
}
.top_reserve2_cont {
    display: flex;
    justify-content: space-between;
    margin: 0 15px;
}
.top_reserve2_cont > * {
    width: 32.5%;
}
.top_reserve2_cont > a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px;
    color: #fff;
    font-size: 2.8rem;
    font-weight: 600;
    line-height: 1.3;
    background-color: #944260;
}
.top_reserve2_cont > a::after {
    content: '\f105';
    position: relative;
    right: 0;
    margin-left: 15px;
    font-size: 2.8rem;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    transition: all .3s ease;
}
.top_reserve2_cont > a:hover::after {
    right: -5px;
}
.top_reserve2_cont > div {
    padding: 10px;
    line-height: 1.5;
    text-align: center;
    background-color: #fff;
    border: 1px solid #944260;
}
.top_reserve2_cont > div .head3 {
    margin-bottom: 10px;
    font-size: 2.2rem;
    font-weight: 600;
}
.top_reserve2_cont > div .tel::before {
    font-size: 2.8rem;
}
body:not(.page-id-2567) #footer {
    width: 100%;
    padding-top: 90px;
    padding-bottom: 120px;
    background: url(./img/add/tile_washi.webp) center center/auto repeat;
    overflow: hidden;
}
.page-id-2567 #footer {
    background: url(./img/back_pattern1.png) center center/auto repeat;
    padding-bottom: 30px;
    width: 100%;
    padding-top: 90px;
    overflow: hidden;
}
#fnav {
    display: flex;
    justify-content: flex-start;
}
#fnav ul {
    width: 200px;
    padding-left: 15px;
    font-size: 1.5rem;
    font-family: "游ゴシック体", "YuGothic", "Yu Gothic", "游ゴシック", "メイリオ", Meiryo, sans-serif;
    line-height: 1.5;
    border-left: 1px solid #000;
    list-style: none;
}
#fnav li {
    margin-bottom: 20px;
}
#fnav li:last-of-type {
    margin-bottom: 0;
}
#fnav li a {
    opacity: 1;
    transition: all .3s ease;
}
#fnav li a:hover {
    opacity: .6;
}
.fnav_wrap {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 60px;
}
.boka {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 15px;
    font-family: "游ゴシック体", "YuGothic", "Yu Gothic", "游ゴシック", "メイリオ", Meiryo, sans-serif;
    background-color: #fff;
}
.boka img {
    width: 158px;
    margin-right: 15px;
}
.boka p {
    margin-top: 15px;
    margin-bottom: 30px;
    font-size: 1.5rem;
    font-weight: bold;
    line-height: 1.4;
}
.boka dl {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    font-size: 1.4rem;
    line-height: 1.5;
}
.boka dt {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    width: 65px;
    margin-right: 5px;
}
.boka dt::after {
    content: ':';
    line-height: 1;
}
.f_logo {
    width: 271px;
    margin: 0 auto 20px;
}
.f_cont {
    position: relative;
    max-width: 1400px;
    width: 100%;
    margin: auto;
    font-family: "游ゴシック体", "YuGothic", "Yu Gothic", "游ゴシック", "メイリオ", Meiryo, sans-serif;
    line-height: 1.7;
}
.f_cont .address {
    margin-bottom: 10px;
    font-size: 1.5rem;
    text-align: center;
}
.f_cont .num {
    margin-bottom: 15px;
    font-size: 1.8rem;
    font-weight: bold;
    text-align: center;
}
.f_cont .wifi {
    margin-bottom: 30px;
    font-size: 1.5rem;
    text-align: center;
}
.f_cont .wifi::before {
    content: '\f1eb';
    margin-right: 5px;
    font-size: 2.2rem;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
}
.icon_btn a {
    font-size: 3rem;
    line-height: 1;
    margin: 0 10px;
}
.icon_btn a.sns-facebook {
}
.icon_btn a.sns-instagram {
    font-size: 3.7rem;
}
.icon_btn a.sns-line {
    font-size: 3.2rem;
}
.icon_btn a.sns-twitter {
    font-size: 3.1rem;
}
.f_cont .icon_btn a.sns-note img {
    width: 27px;
    height: 30px;
}
.f_cont .icon_btn {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 35px;
}
.ja_bnr {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 70px;
}
.ja_bnr a {
    opacity: 1;
    display: block;
    width: 208px;
    margin: 0 7px;
    transition: all .3s ease;
}
.ja_bnr a:hover {
    opacity: .6;
}
#footer small {
    display: block;
    font-size: 1.4rem;
    font-family: "游ゴシック体", "YuGothic", "Yu Gothic", "游ゴシック", "メイリオ", Meiryo, sans-serif;
    text-align: center;
}

/* =============================================
about　あさぎり荘について
============================================= */
.about_sec {
    counter-increment: cnt;
}
.about_sec {
    position: relative;
    padding-top: 40px;
    padding-bottom: 145px;
}
.about_sec::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 400px;
    background: url("./img/back_pattern2.svg") center center/cover no-repeat;
    z-index: -1;
}
.about_b1 img {
    display: block;
    margin-top: 220px;
    width: 80%;
}
.about_b1 {
    flex-direction: row-reverse;
    justify-content: center;
    align-items: flex-start;
    max-width: 1135px;
    width: 92%;
    margin: 0 auto 65px;
}
.about_b1 .head2 {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 40px 40px 35px;
    margin-left: -95px;
    width: 34%;
    font-size: 4rem;
    font-weight: 600;
    line-height: 1.7;
    letter-spacing: 3px;
    writing-mode: tb-rl;
    white-space: nowrap;
    background-color: #fff;
    z-index: 1;
}
.about_b1 .head2 span {
    display: block;
    padding-right: 40px;
    padding-bottom: 15px;
    margin-bottom: 35px;
    color: #804260;
    font-size: 3.6rem;
    font-weight: 600;
    line-height: 1.5;
    writing-mode: rl-tb;
    border-bottom: 2px solid #804260;
}
.about_b1 .head2 span::before {
    content: "0"counter(cnt)"";
    margin-right: 20px;
    font-size: 10rem;
    font-family: dnp-shuei-mincho-pr6n, sans-serif;
    font-style: italic;
    line-height: 1;
}
.about_b2 {
    justify-content: space-between;
    align-items: flex-start;
    max-width: 1135px;
    width: 92%;
    padding-right: 35px;
    margin: auto;
}
.about_txt {
    width: 54%;
}
.about_txt .txt {
    margin-bottom: 75px;
    font-size: 2rem;
    line-height: 1.7;
}

.about_cuisine_new .about_txt{
	position:relative;
}
.about_cuisine_new .about_txt .ja-logo{
	width: 140px;
	position: absolute;
	bottom: 400px;
	right: -30px;
}

.about_img {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 42%;



    margin-top: -110px;
}
.about_img > img:first-of-type {
    margin-bottom: 140px;
}
.about_img .img_wave {
    position: relative;
    padding-right: 50px;
    padding-bottom: 50px;
}
.about_img .img_wave::after {
    content: '';
    position: absolute;
    bottom: 0;
    right: 0;
    display: block;
    width: 243px;
    height: 243px;
    background: url("./img/back_wave.svg") center center/cover no-repeat;
    z-index: -1;
}
.about_b2 .btn_wrap {
    width: 100%;
    margin-top: 120px;
    margin-left: auto;
}
.about_b2 .btn_wrap .btn1 {
    max-width: 400px;
    width: 100%;
}
.about_sec:nth-of-type(even) .about_b1 {
    flex-direction: row;
}
.about_sec:nth-of-type(even) .about_b2 {
    flex-direction: row-reverse;
    padding-right: 0;
    padding-left: 35px;
}
.about_sec:nth-of-type(even) .about_b1 .head2 {
    margin-left: auto;
    margin-right: -95px;
}
#about_room .about_b1, #about_room .about_b2 {
    max-width: 1155px;
}
#about_room .about_img {
    width: 53%;
}
.about_point {
    position: relative;
    padding: 40px;
    background: url("./img/back_wave.svg") center center/cover no-repeat;
}
.about_point::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: calc(100% - 40px);
    height: calc(100% - 40px);
    background-color: #fff;
    transform: translate(-50%, -50%);
    z-index: 0;
}
.about_point .img_wrap {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: -90px 0 20px;
    z-index: 1;
}
.about_point .img_wrap img {
    display: block;
    width: 49%;
}
.about_point > p {
    position: relative;
    font-family: "游ゴシック体", "YuGothic", "Yu Gothic", "游ゴシック", "メイリオ", Meiryo, sans-serif;
    line-height: 1.7;
    text-align: center;
    z-index: 1;
}
#about_room .about_img > img:first-of-type {
    margin-bottom: 210px;
}
.page_about::after, .page_access::after {
    content: '';
    display: block;
    width: 100%;
    height: 100px;
    background: url("./img/back_wave.svg") center center/cover no-repeat;
    margin-bottom: 125px;
}

/* =============================================
セカンドページ　共通パーツ
============================================= */

/* ============
 header
============= */
.second_h_wrap {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 700px;
    padding-top: 165px;
    margin-bottom: 20px;
    background: center center/cover no-repeat;
}
/* .single .second_h_wrap,
.page-id-55 .second_h_wrap,
post-type-archive-voice ..second_h_wrap,
.post-type-archive-gallery .second_h_wrap{
    height: 400px;
} */
.second_h {
    color: #fff;
    font-size: 4rem;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: 10px;
    text-align: center;
    text-shadow: 0 0 10px #000;
}
.breadcrumbs_wrap {
    margin-bottom: 40px;
    font-size: 1.5rem;
}
.second_top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    margin-bottom: 75px;
}
.second_top::before, .second_top::after {
    content: '';
    display: block;
    width: 208px;
    height: 190px;
    background: url("./img/second_top_l.svg") left center/contain no-repeat;
}
.second_top::after {
    background: url("./img/second_top_r.svg") right center/contain no-repeat;
}
.second_top .head2 {
    color: #804260;
    font-size: 4rem;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: 3px;
    text-align: center;
}
.second_top .cuisine_top_head p {
	font-size: 2.3rem;
	margin-top: 1em;
}
.second_top_inner .sub-t{
    margin: 3vw 0 5vw;
}
/* ============
 page-title
============= */
.page-title{
    font-size: var(--fz32);
    letter-spacing: 2.2px;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
}
.page-title::before,
.page-title::after {
  content: "";
  flex: 0 0 32px;
  height: 2px;
  background: #000;
}
.page-title::before {
  margin-right: 24px;
}
.page-title::after {
  margin-left: 24px;
}
.head-photo-section .page-title{
    padding-top: 80px;
}
.page-sub-title{
    font-size: var(--fz22);
    color: #fff;
    letter-spacing: 2.2px;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
}
.page-sub-title::before,
.page-sub-title::after {
  content: "";
  flex: 0 0 32px;
  height: 1px;
  background: #fff;
}
.page-sub-title::before {
  margin-right: 24px;
}
.page-sub-title::after {
  margin-left: 24px;
}
.head-photo-section .page-sub-title{
    padding-top: 80px;
}

/* ============
ページのリード文
============= */
.page-lead .lead_section {
    width: 100%;
    padding: clamp(23px, 3.47vw, 50px) 0;
}
.page-lead .spa_lead {
    background: url("./img/spa_lead.webp") left center/71% auto no-repeat #DDE4E9;
}
.page-lead .cui_lead {
    background: url("./img/cui_lead.webp") left center/68% auto no-repeat #E8E8E8;
}
.page-lead .room_lead {
    background: url("./img/room_lead.webp") left center/74% auto no-repeat #E5D4C0;
}
.page-lead .facilities_lead {
    background: url("./img/facilities_lead.webp") center/100% auto no-repeat #CECD79;
    padding:0;
}
.page-lead .lead_section .inner {
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-start;
    align-items: flex-start;
    max-width: 1000px;
    width: 92%;
    margin: 0 auto clamp(52px, 7.99vw, 115px);
}
.page-lead .lead_section .tit {
    margin-left: 2em;
    font-size: var(--fz30);
    writing-mode: tb-rl;
    letter-spacing: .3em;
    line-height: 3;
}
.page-lead .lead_section .tit b {
    color: #994260;
    font-weight: 500;
}
.page-lead .lead_section .tit > span {
    padding: .5em .5em;
    background: #fff;
    border-radius: .2em;
}
.page-lead .lead_section .tit > span + br + span {
    margin-top: 3em;
}
.page-lead .lead_section .txt {
    margin-top: 6em;
    font-size: clamp(1.3rem, 1.25vw, 1.8rem);
    letter-spacing: .2em;
    line-height: 1.9;
    writing-mode: tb-rl;
}
/*.  ページのリード - お料理 */
.page_cuisine .lead_section .inner {
    max-width: 1064px;
}
.page_cuisine .lead_section .tit > span + br + span {
    margin-top: 7.5em;
}
.page_cuisine .lead_section .txt {
    margin-top: 5em;
}
.page_cuisine .lead_section .tit{
    line-height: 3;
}
/*.  ページのリード - 客室 */
.page_room .lead_section .tit > span + br + span {
    margin-top: 1em;
}
.page_room  .lead_section .txt {
    margin-top: 4em;
}

.page-lead .lead_section .link_wrap {
    display: flex;
    justify-content: space-between;
    max-width: 1100px;
    width: 100%;
    margin: auto;
}
.page-lead .lead_section .tit > span {
    padding: .8em .6em .7em;
    background: #fff;
    border-radius: .2em;
}
.page-lead .lead_section .link_wrap > a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 20%;
    padding: 0 .5em .5em;
    font-size: clamp(1.3rem, 1.04vw, 1.5rem);
    line-height: 1.35;
    border-bottom: 1px solid #994260;
    margin: 0 1vw;
}
.page-lead .lead_section .link_wrap > a:hover {
    opacity: 1;
    transform: scale(1);
}
.page-lead .lead_section .link_wrap > a > span {
    width: 100%;
    text-align: center;
}
.page-lead .lead_section .link_wrap > a::after {
    content: '\f078';
    position: relative;
    top: 0;
    color: #994260;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    transition: all .3s ease;
}
.page-lead .lead_section .link_wrap > a:hover::after {
    top: .3em;
}


/* ============
 共通パーツないのテキスト
============= */
h4{
    font-size: var(--fz24);
    text-align: center;
    margin: 1vw auto;
    color: #994260;
    font-weight: 600;
}
.sub-t{
    font-size: var(--fz22);
    text-align: center;
    margin: 1.5vw auto;
}
.sub-t-caution{
    font-size: var(--fz17);
}

/* ============
    詳細の表
============= */
.table_block1{
		max-width: 1100px;
		border-top: 1px solid #D7D7D7;
        margin: 3vw auto;
}
.table_block1 dl {
    display: flex;
    justify-content: flex-start;
    line-height: 1.7;
    border-bottom: 1px solid #949494;
    border-bottom: 1px solid #D7D7D7;
}
.table_block1 dt {
    display: flex;
    flex-direction: column;
    align-content: center;
    flex-shrink: 0;
    justify-content: center;
    width: 13em;
    padding: 1em 1em 1em 1.5em;
    background-color: #EFE7DD;
}
.table_block1 dd {
    width: 100%;
    padding: 1em 1em 1em 1.3em;
    background-color: #fff;
}
/* ============
    詳細の表　２列
============= */
.table_block2{
		max-width: 1100px;
        margin: 3vw auto;
        display: flex;
        flex-wrap: wrap;
        gap: 0px 40px;
}
.table_block2 dl {
    width: 48%;
    display: flex;
    justify-content: flex-start;
    line-height: 1.7;
    border-bottom: 1px solid #949494;
    border-bottom: 1px solid #D7D7D7;
}
.table_block2 dl:first-child,.table_block2 .column-start {
    border-top: 1px solid #D7D7D7;
}
.table_block2 dt {
    display: flex;
    flex-direction: column;
    align-content: center;
    flex-shrink: 0;
    justify-content: center;
    width: 10em;
    padding: 1em 1em 1em 1.5em;
    background-color: #EFE7DD;
}
.table_block2 dd {
    width: 100%;
    padding: 1em 1em 1em 1.3em;
    background-color: #fff;
        align-content: center;
}

/* =============================================
cuisine お料理
============================================= */
.page_cuisine .slide_block1{
    margin-top: 5vw;
}
.sec-kodawari{
    padding: 120px 0;
    background-image: url(./img/washi2.webp);
    background-repeat: repeat;
    background-position: center;
    background-size: auto;
}
.cisn_top_cont {
    display: flex;
    justify-content: center;
    align-items: center;
    padding-top: 3vw;
}

.cisn_top_cont .ja-logo {
    min-width: 120px;
    max-width: 120px;
	margin-right: 2.8em;
}
.cisn_top_cont .txt {
    font-size: var(--fz22);
}
.kodawari_list{
    width: 72%;
    margin: 0 auto;
}
.kodawari_illust{
    width: 50%;
    margin: 0 auto;
}
.kodawari_inner{
    display: flex;
    justify-content: space-between;
    gap: 4vw;
    padding-bottom: 6vw;
}
.kodawari_inner p{
    width: 70%;
    font-size: var(--fz18);
}
.kodawari_block{
    background-color: #fff;
    position: relative;
    border-radius: 8px;
    margin-top: 22vw;
}
.kodawari_item_wrap{
    display: flex;
    justify-content: center;
    position: absolute;
    top: -14vw;
}

.kodawari_item{
    position: relative;
    display: flex;
    justify-content: center;
}
.kodawari_item .kodawari_item_img{
    width:45%;
    z-index: 1;
}
.kodawari_item .kodawari_item_txt {
    position: relative;
        width:45%;
    z-index: 2;
}
.kodawari_item .kodawari_item_txt h3{
    position: absolute;
    top: -1vw;
    left: -5vw;
}
.kodawari_item .kodawari_item_txt h3 .bg-text{
    background: #994260;
    color: #fff;
    padding: 1.5vw 1vw;
    font-size: var(--fz27);
    letter-spacing: 2px;
    border-radius: 8px;
    white-space: nowrap;
}
.kodawari_item .kodawari_item_txt p{
    font-size: var(--fz19);
    background-color: #fff;
    border-radius: 8px;
    border: solid 1px #EFE7DD;
    padding: 40px;
    margin-left: -35px;
    margin-top: 2vw;
}
.kodawari_item .kodawari_item_txt .kodawari-photo{
    position: absolute;
    top: -120px;
    right: -40px;
    width: 47%;
    z-index: 3;
}
.kani_block .kodawari_item .kodawari_item_txt .kodawari-photo{
    top: -90px;
    right: -32px;
}
.kome_block .kodawari_item .kodawari_item_txt .kodawari-photo{
    top: -90px;
    right: -82px;
}

.kodawari_text{
    display: flex;
    padding: 200px 4vw 0vw;
}
.kani_block .kodawari_text{
    display: flex;
    padding: 186px 4vw 3vw;
}
.kome_block .kodawari_text{
    display: flex;
    padding: 186px 4vw 3vw;
}
.kodawari_text_left p{
    font-size: var(--fz22);
    width: 88%;
    padding-left: 3vw;
}
.kodawari_text_left p span{
    color:#994260;
}
.kodawari_text_left_img{
    width: 92%;
    padding: 4vw;
}
.kodawari_text_right{
    width: 85%;
    margin-right: 3vw;
    margin-top: -3vw;
}
.kani_block .kodawari_text_right,.kome_block .kodawari_text_right{
    width: 105%;
    margin-right: 3vw;
    margin-top: -3vw;
}
.kodawari_block .beef{
    padding: 0 0 120px 0;
    width: 60%;
    margin: 0 auto;
}

#cuisine_top_slide{
	margin-bottom:50px;
}
#cuisine_top_slide .slide-item{
	width:100%;
	max-width: 650px;
	padding: 0 35px;
}
#cuisine_top_slide .slide-item .slide-item-img{
	background-position:center center;
	background-size:cover;
	padding:0 40px 80%;
	margin: 20px 0;
	transition: all .3s ease;
}
#cuisine_top_slide .slide-item.slick-center .slide-item-img {
	-moz-transform: scale(1.2);
	-ms-transform: scale(1.2);
	-o-transform: scale(1.2);
	-webkit-transform: scale(1.2);
	transform: scale(1.2);
}
.cisn_top_wrap {
    justify-content: space-between;
    align-items: flex-start;
    text-align: center;
}
.cisn_top_block .head3 {
    justify-content: center;
    align-items: center;
    width: 200px;
    height: 200px;
    margin: 0 auto 20px;
    color: #fff;
    font-size: 2.8rem;
    font-weight: bold;
    font-family: "游ゴシック体", "YuGothic", "Yu Gothic", "游ゴシック", "メイリオ", Meiryo, sans-serif;
    line-height: 1.4;
    background-color: #804260;
    border-radius: 50%;
}
.cisn_top_wrap::after {
    content: '\f067';
    order: 2;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 45px;
    height: 45px;
    margin-top: 85px;
    color: #804260;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    line-height: 1;
    background-color: #fff;
    border: 2px solid #804260;
    border-radius: 50%;
}
.cisn_top_block:first-of-type {
    order: 1;
}
.cisn_top_block:last-of-type {
    order: 3;
}
#cuisine_top {
    position: relative;
}
#cuisine_top::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    display: block;
    width: 1px;
    height: 100px;
    background-color: #804260;
    transform: translate(-50%, 50%);
}

/* 地産地消へのこだわり */
#dinner {
    padding-top: 0px;
    padding-bottom: 120px;
}
#dinner .cui_photos{
    width: 100%;
    margin: 4vw auto;
}
/* お子様メニュー */
.kidsmenu{
    background-image: url(./img/washi2.webp);
    background-repeat: repeat;
    background-position: center;
    background-size: auto;
    padding: 3vw 4vw;
    border-radius: 8px;
}
.kidsmenu .sub-t{
    font-size: var(--fz19);
}
.cui_kidsmenu{
    display: flex;
    justify-content:center;
    align-items: center;
    gap: 2.5vw;
    padding-top: 1vw;
}
.cui_kidsmenu_inner{
    width: 27%;
}
.cui_kidsmenu_inner p{
    text-align: center;
    font-size: var(--fz18);
    padding-top: 1vw;
}

/* 朝食メニュー */
#breakfast{
    background: #EFE7DD;
    padding-bottom: 120px;
}
.bf-menu-card {
    display: grid;
    grid-template-columns: 1fr 0.85fr;
    max-width: 1100px;
    margin: 5vw auto;
    overflow: hidden;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}
.bf-menu-card--reverse{
    grid-template-columns: 0.85fr 1fr;
}
.bf-menu-card:last-child {
    margin-bottom: 0;
}
.bf-menu-card--reverse .bf-menu-card__text {
    order: 2;
}
.bf-menu-card--reverse .bf-menu-card__image {
    order: 1;
}
.bf-menu-card__text {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 55px 64px;
}
.bf-menu-card__text:first-child {
    padding: 2vw 3.5vw;
}
.bf-menu-card__text h4 {
    margin: 0 0 22px;
    text-align: left;
    font-weight: 600;
}
.bf-menu-card__text p {
    margin: 0;
    font-size: var(--fz22);
    line-height: 1.75;
    padding-bottom: 1vw;
    text-align: left;
}
.bf-menu-card__image {
    min-height: 340px;
}
.bf-menu-card__image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.morning-area{
    background-image: url(./img/washi2.webp);
    background-repeat: repeat;
    background-position: center;
    background-size: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 3vw 6vw;
    margin-top: 4vw;
    border-radius: 8px;
}
.morning-area h4{
    text-align: left;
    margin-top: 0;
}
.morning-area p{
    text-align: left;
    font-size: var(--fz22);
}
.morning-area-text{
    width: 116%;
    padding-right: 5vw;
}

/* 追加料理 */
#additional .page-title {
    padding-top: 120px;
    
}
#additional {
    position: relative;
    overflow: hidden;
    background: #fff;
}
#additional .wrapper {
    max-width: 980px;
}
.add-dish-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 44px 36px;
    padding: 64px 0 100px;
    margin: 0;
    list-style: none;
}
.add-dish-item {
    width: calc((90% - 72px) / 3);
    min-width: 0;
}
.add-dish-item figure {
    margin: 0;
}
.add-dish-image {
    width: 100%;
}
.add-dish-image img {
    display: block;
    width: 100%;
    aspect-ratio: 350 / 249;
    object-fit: cover;
    border-radius: 4px;
}
.add-dish-image img + img {
    display: none;
}
.add-dish-item figcaption {
    display: flex;
    flex-direction: column;
    padding-top: 10px;
    line-height: 1.5;
}
.add-dish-name {
    color: #111;
    font-size: var(--fz21);
    letter-spacing: 0.04em;
}
.add-dish-price {
    color: #994260;
    font-size: var(--fz19);
    letter-spacing: 0.03em;
    text-align: right;
}
/* 朝食メニュー */
#anniversary{
    background: #EFE7DD;
    padding-bottom: 120px;
}
#sake {
	    background-image: url(./img/washi2.webp);
    background-repeat: repeat;
    background-position: center;
    background-size: auto;
    padding-bottom: 120px;
}
#sake > img {
	width: 100%;
}
#sake .head3 {
	margin-bottom: 25px;
	font-size: 3.2rem;
	font-weight: 600;
}
#sake .back_wave{
	padding-top:30px;
	padding-bottom:1px;
}
.sake-list {
    max-width: 1060px;
    padding: 70px 0 20px;
    margin: 0 auto;
    list-style: none;
}
.sake-item {
    display: grid;
    grid-template-columns: minmax(320px, 42%) 1fr;
    gap: 48px;
    align-items: start;
    margin-bottom: 54px;
}
.sake-item:last-child {
    margin-bottom: 0;
}
.sake-item.no-img {
    grid-template-columns: 1fr;
}
.sake-item__image img {
    display: block;
    width: 100%;
    aspect-ratio: 450 / 450;
    object-fit: cover;
    border-radius: 8px;
}
.sake-item__body {
    padding-top: 4px;
}
.sake-item__title {
    margin: 0 0 22px;
    padding-bottom: 9px;
    color: #994260;
    font-size: var(--fz22);
    line-height: 1.5;
    text-align: left;
    border-bottom: 1px solid #994260;
}
.sake-item__toggle {
    display: none;
}
.sake-item__detail {
    display: block;
}
.sake-item__text {
    color: #111;
    font-size: var(--fz18);
    line-height: 2;
}
.sake-item__text strong{
    font-weight: bold;
}
.sake-item__text ul,
.sake-item__text ol {
    margin-bottom: 1.1em;
}
.sake-item__price {
    margin: 20px 0 0;
    color: #111;
    font-size: var(--fz18);
    font-weight: bold;
    line-height: 1.7;
}
/* アレルギー */
.Allergie_card{
    max-width: 1000px;
    margin: 120px auto;
    border: 1px solid #d66b7a;
    border-radius: 8px;
    background: #fff;
    overflow: hidden;
    }

    .Allergie_card-header {
    background: #9b3f5c;
    color: #fff;
    padding: 12px 16px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    font-size: var(--fz24);
    }
    .Allergie_card-header img{
        padding-bottom: 1vw;
    }

    .Allergie_card-body {
    padding: 3.5vw;
    font-size: var(--fz22);
    color: #333;
    line-height: 1.7;
    }
.cisn_covid {
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    max-width: 1200px;
    width: 92%;
    padding: 0 50px 15px;
    margin: auto;
    background-color: #fff;
}
.h_border {
    margin-bottom: 20px;
    font-size: 2.6rem;
    font-weight: 600;
    line-height: 1.3;
    border-bottom: 2px solid #804260;
}
.cisn_covid li {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    padding-bottom: 30px;
    box-shadow: 0 0 10px #ccc;
}
.cisn_covid .cont {
    padding: 0 20px;
    margin: auto;
    font-size: 2.2rem;
}
.cisn_mzen {
    padding-top: 50px;
    padding-bottom: 45px;
    margin-top: 95px;
    margin-bottom: 130px;
}
.cisn_mzen_inner {
    justify-content: center;
    max-width: 1000px;
    width: 92%;
    margin: auto;
    box-shadow: 0 0 10px #ccc;
}
.cisn_mzen_inner > img {
    flex-shrink: 0;
}
.cisn_mzen_inner .h_txt_wrap {
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    padding: 20px;
}
.h_txt_wrap.center {
    text-align: center;
}
.cisn_mzen_inner .h {
    margin-bottom: 10px;
    font-size: 3rem;
}




/* =============================================
room 客室
============================================= */
.page_room a{
    transition: all 0.15s ease;
}
/* ホバーで少し浮く */
.page_room  a:hover {
  transform: translateY(-2px);
}
/* クリック時に押し込まれる */
.page_room a:active {
  transform: translateY(1px);
}
.wa-modern_section{
    background-image: url("./img/wa-modern-bg.webp") ;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: top center;
    padding-top: 34vw;
}
.room-sub-title{
    font-size: var(--fz37);
    color: #fff;
    text-align: center;
    padding-top: 1vw;
}
.wa-modern_section .sub-t{
    color: #fff;
}
.room_kodawari {
    position: relative;
    margin: 70px auto 0;
}
.room_kodawari br.sp {
	display: none;
}
.room_kodawari_inner {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    background-color: #fff;
    border-radius: 8px;
}
.room_kodawari .block_wrap {
    display: flex;
	flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    margin: 0 auto;
}
.room_kodawari .block_wrap .block_wrap_title {
    width: 56%;
    padding-top: 3vw;
}
.room_kodawari .block_wrap .block {
    border: #C78F2E solid 1px;
    position: relative;
    overflow: visible;
    border-radius: 8px;
    margin: 0 1vw;
    width: 30%;
    height: 408px;
}
.room_kodawari .block_wrap .kodawari-point {
    position: absolute;
        top: 0;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 10;
}
.kodawari-point img {
    display: block;
    width: 70px;
    height: auto;
}
.room_kodawari .swiper-container {
    overflow: visible;
    padding: 4vw 2vw;
    z-index: 1;
}
.room_kodawari .swiper-pagination {
    position: static;
    bottom: auto;
    left: auto;
    width: auto;
    display: none;
    justify-content: center;
    margin: 0 auto 3vw;
}
.room_kodawari .swiper-pagination-bullet {
    width: 10px;
    height: 10px;
    margin: 0 5px;
    background-color: #c4c4c4;
    opacity: 1;
    border-radius: 50%;
}
.room_kodawari .swiper-pagination-bullet-active {
    background-color: #C78F2E;
}
.room_kodawari .block_wrap .img {
    position: relative;
    width: 100%;
    overflow: hidden;
}
.room_kodawari .block_wrap .cont {
    padding: 1vw;
}
.room_kodawari .block_wrap .head4 {
    font-size: var(--fz18);
    color: #C78F2E;
    margin: 0;
    text-align: left;
}
.room_kodawari .block_wrap .txt {
    font-size: var(--fz17);
    line-height: 2.2;
}
.room_kodawari .block_wrap .block-wrapper {
	justify-content: center;
    max-width: 1000px;
}
/* 部屋リスト */
.room-cards {
    display: flex;
    gap: 24px;
    justify-content: center;
    flex-wrap: wrap;
    padding: 4vw 0 140px;
}
.room-card {
    width: 340px;
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
    position: relative;
}
.room-img img {
    width: 100%;
    height: 160px;
    object-fit: cover;
    display: block;
}
.room-body {
    padding: 10px 16px;
    position: relative;
}
.room-title {
    font-size: 16px;
    font-weight: bold;
    color: #333;
    margin-bottom: 4px;
}
.room-title span{
    font-size: 14px;
}
.tags {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}
.tags span {
    border: 1px solid #994260;
    color: #994260;
    font-size: var(--fz13);
    padding: 1px 14px;
    border-radius: 2px;
    background: #fff;
}
.arrow {
    position: absolute;
    right: 16px;
    bottom: 16px;
    width: 32px;
    height: 1px;
    border-radius: 9999px;
    background-color: #000000;
    margin-top: 0;
}
.arrow::before {
    content: "";
    position: absolute;
    top: calc(50% - 0.5px);
    right: 0;
    width: 10px;
    height: 1px;
    border-radius: 9999px;
    background-color: #000000;
    transform: rotate(45deg);
    transform-origin: calc(100% - 0.5px) 50%;
}
/* リバービュー和室 */
.river_view_section{
    background-image: url("./img/river_view_bg.webp") ;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: top center;
    padding-top: 32vw;
}
.river_view_section .sub-t{
    color: #fff;
}
/* 広々ルーム */
.barrier_free_room_section{
    background-color: #EFE7DD;
}
.barrier_free_room_section .page-sub-title,
.wa_noview_section .page-sub-title{
    color: #000;
}
.barrier_free_room_section .page-sub-title::before,
.barrier_free_room_section .page-sub-title::after,
.wa_noview_section .page-sub-title::before,
.wa_noview_section .page-sub-title::after
{
    background: #000;
}
.barrier_free_room_section .room-sub-title,
.wa_noview_section .room-sub-title{
    color: #944260;
    line-height: 1.5;
    padding-top: 2vw;
}
/* 和室（眺望なし） */
.wa_noview_section {
    background-image: url(./img/washi2.webp);
    background-repeat: repeat;
    background-position: center;
    background-size: auto;
}
/* 客室概要 */
#room_overview {
    padding: 120px 0;
}
.facility-caution{
    display: flex;
    justify-content: center;
    align-self: center;
    gap: 2vw;
    padding-top: 2vw;
}
.facility-icon{
    padding: 0.8vw 1.5vw;
    border-radius: 8px;
    border: #994260 solid 1px;
    color: #994260;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-size: var(--fz18);
    margin-top: 1vw;
    background-color: #fff;
}

.h_txt_img.center, .h_txt_lr {
    max-width: 1100px;
    width: 92%;
    margin: auto;
}
.h_txt_img {
    margin-bottom: 10px;
}
.h_txt_wrap .h {
    color: #884260;
    font-weight: 600;
    line-height: 1.5;
}
.h_txt_wrap {
    position: relative;
    background-color: #fff;
    z-index: 1;
}
.center .h_txt_wrap .h {
    margin-bottom: 30px;
    font-size: 3.6rem;
}
.center .h_txt_wrap {
    max-width: 840px;
    width: 90%;
    padding: 60px 50px 55px;
    margin: -65px auto 0;
    text-align: center;
}
.h_txt_lr img {
    flex-shrink: 0;
}
.h_txt_lr .h_txt_wrap {
    width: 100%;
    padding: 35px 50px 50px;
    margin-top: 45px;
    margin-left: -35px;
}
.h_txt_lr .h_txt_wrap .h {
    margin-bottom: 15px;
    font-size: 3.3rem;
}
.h_txt_lr .h_txt_img {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
}
.h_txt_lr .h_txt_img:nth-of-type(even) {
    flex-direction: row-reverse;
}
.h_txt_lr .h_txt_img:nth-of-type(even) .h_txt_wrap {
    margin-left: auto;
    margin-right: -35px;
}
.link_block .head2_1 {
    width: 100%;
    margin-bottom: 35px;
}
.link_block.c2 a {
    width: 47%;
}
.link_block.c3 a {
    width: 30%;
}
.alink_img {
    width: 100%;
    height: 160px;
    background: center center/cover no-repeat;
}
.feature_wrap {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 20px;
}
.ftr_p, .ftr_w {
    min-width: 110px;
    padding: 5px;
    margin: 5px 10px;
    line-height: 1.5;
    text-align: center;
    border-radius: 2px;
    border: 1px solid #884260;
}
.ftr_p {
    color: #fff;
    background-color: #884260;
}
.ftr_w {
    color: #884260;
    background-color: #fff;
}
.main_slide_wrap {
    position: relative;
    margin-bottom: 35px;
}
.main_slide .swiper-slide {
    max-width: 1000px;
    width: 85%;
    height: 600px;
    margin: 0 40px;
}
.main_slide .swiper-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.main_slide_wrap .swiper-button-next, .main_slide_wrap .swiper-button-prev {
    top: 50%;
    width: 40px;
    height: 40px;
    background-image: none;
    border-bottom: 1px solid #000;
}
.main_slide_wrap .swiper-button-next {
    right: calc(50% - 545px);
    border-right: 1px solid #000;
    transform: translateY(-50%) rotate(-45deg) skew(5deg, 5deg);
    transform-origin: center right;
}
.main_slide_wrap .swiper-button-prev {
    left: calc(50% - 545px);
    border-left: 1px solid #000;
    transform: translateY(-50%) rotate(45deg) skew(-5deg, -5deg);
    transform-origin: center left;
}
.thumb_slide .swiper-slide {
    width: 160px;
    margin: 0 15px;
    cursor: pointer;
}
.thumb_slide_wrap .swiper-wrapper {
    justify-content: center;
}
.slide_block1 {
    position: relative;
    padding-bottom: 35px;
}
.slide_block1::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 400px;
    background: url("./img/back_wave.svg") center center/100% repeat;
    z-index: -1;
}
.room_cont {
    max-width: 1000px;
    width: 92%;
    padding-top: 45px;
    margin: auto;
}
.room_sec_temp {
    padding-bottom: 90px;
}
.room_info {
    font-family: "游ゴシック体", "YuGothic", "Yu Gothic", "游ゴシック", "メイリオ", Meiryo, sans-serif;
}
.room_row.c2 {
    display: flex;
    justify-content: center;
    align-items: flex-start;
}
.c2 .room_block .txt {
    max-width: 515px;
    width: 100%;
}
.room_block.l.in_txt {
    margin-right: auto;
}
.room_block.r.in_txt {
    margin-left: auto;
}
.room_info_table dl {
    display: flex;
    width: 320px;
    margin-bottom: 15px;
    line-height: 1.5;
    border-top: 1px solid #9a9a9a;
    border-bottom: 1px solid #9a9a9a;
}
.room_info_table dt, .room_info_table dd {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    width: 50%;
    padding: 20px 15px;
}
.room_info_table dt {
    background-color: #e5e5e5;
}
.room_sec_temp .btn1.tel_btn {
    width: auto;
    padding: 25px 40px;
}
.room_sec_temp .tel_btn b {
    margin-left: 10px;
    font-family: "游ゴシック体", "YuGothic", "Yu Gothic", "游ゴシック", "メイリオ", Meiryo, sans-serif;
}
.room_sec_temp .tel_btn b::before {
    content: '\f095';
    margin-right: 5px;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
}
.room_sec_temp .tel_btn:hover {
    color: #fff;
    background-color: #944260;
}
.room_info_h .type {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    margin-top: 10px;
    margin-right: 15px;
    font-size: 2rem;
    font-weight: bold;
    font-family: "游ゴシック体", "YuGothic", "Yu Gothic", "游ゴシック", "メイリオ", Meiryo, sans-serif;
    line-height: 1.3;
}
.room_info_h .type::before {
    content: '';
    display: block;
    width: 15px;
    height: 15px;
    margin-top: 7px;
    margin-right: 5px;
    background-color: #884260;
}
.room_info_h {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    margin-bottom: 15px;
    line-height: 1.3;
}
.room_block.l {
    margin-right: 90px;
}
.room_block.r {
    margin-left: 25px;
}
.room_block > * {
    margin-bottom: 45px;
}
.back_wave {
    background: url("./img/back_wave.svg") center center/auto repeat;
}
#room_facility {
    padding-top: 50px;
    padding-bottom: 45px;
    margin-bottom: 130px;
}
.room_facility_wrap {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-content: flex-start;
    max-width: 1000px;
    width: 92%;
    padding: 35px;
    margin: auto;
    background-color: #fff;
}
.room_facility_wrap::before, .room_facility_wrap::after {
    content: '';
    position: absolute;
    display: block;
    width: 30px;
    height: 50px;
}
.room_facility_wrap::before {
    top: 0;
    left: 0;
    border-top: 1px solid #884260;
    border-left: 1px solid #884260;
}
.room_facility_wrap::after {
    bottom: 0;
    right: 0;
    border-bottom: 1px solid #884260;
    border-right: 1px solid #884260;
}
.room_facility_li {
    font-family: "游ゴシック体", "YuGothic", "Yu Gothic", "游ゴシック", "メイリオ", Meiryo, sans-serif;
    line-height: 1.5;
    list-style: none;
}
.room_facility_li li {
    margin-bottom: 30px;
}
.room_facility_li li:last-of-type {
    margin-bottom: 0;
}
#room_facility .head2_1 {
    margin-bottom: 45px;
}
.room_sec_temp .btn1 {
    min-width: 400px;
}


/* =============================================
room-****. 客室詳細
============================================= */

/* ============
    詳細の表　２列
============= */
.table_block_room{
  max-width: 1100px;
  margin: 3vw auto;
    display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto auto;
  column-gap: 40px;
  row-gap: 0;
}
.table_block_room dl {
    display: flex;
  justify-content: flex-start;
  line-height: 1.7;
  border-bottom: 1px solid #D7D7D7;
}
.table_block_room dl:nth-child(1) {
  grid-column: 1;
  grid-row: 1;
}

.table_block_room dl:nth-child(2) {
  grid-column: 1;
  grid-row: 2;
}

.table_block_room dl:nth-child(3) {
  grid-column: 2;
  grid-row: 1;
}

.table_block_room dl:nth-child(4) {
  grid-column: 2;
  grid-row: 2;
}
.table_block_room dl:first-child , .table_block_room .column-start{
  border-top: 1px solid #D7D7D7;
}

.table_block_room dt {
    display: flex;
    flex-direction: column;
    align-content: center;
    flex-shrink: 0;
    justify-content: center;
    width: 10em;
    padding: 1em 1em 1em 1.5em;
}
.table_block_room dd {
    width: 100%;
    padding: 1em 1em 1em 1.3em;
}
.page_room_detail .btn_wrap .btn1{
    margin: 0 auto;
    padding: 25px 93px 25px 35px;
}
.room_detail_sec_temp{
        background-image: url(./img/washi2.webp);
    background-repeat: repeat;
    background-position: center;
    background-size: auto;
    padding: 80px 0 120px;
}
.room_detail_head{
    font-size: var(--fz36);
    text-align: center;
    color: #944260;
    font-weight: 600;
    padding-bottom: 1vw;
}
.room_detail_sec_wrap .txt {
    text-align: center;
    font-size: var(--fz19);
    padding: 1vw 0 2vw;
}
.room_list_section{
    padding: 120px 0;
    background-color: #EFE7DD;
}
.page_room_detail .swiper-container {
max-width: 100vw;
}
.page_room_detail  .facility-caution{
    padding-top: 0;
}
.page_room_detail .room-cards{
    padding-bottom: 80px;
}
/* =============================================
spa 温泉
============================================= */
.page_spa .link_block {
    padding-right: calc((100% - 900px) / 2);
    padding-left: calc((100% - 900px) / 2);
}
@media only screen and (max-width: 940px) {
    .page_spa .link_block {
        padding: 30px 20px 10px;
    }
}
.page_spa .link_block.c2 a {
    width: 45%;
}
.page_spa .link_block a p {
    font-size: 3rem;
}
.page_spa .page-title {
    padding:80px 0 56px
}
.spa_head {
    position: relative;
    flex-direction: row-reverse;
    justify-content: space-between;
    width: 100%;
    height: 400px;
    padding-top: 20px;
    padding-bottom: 20px;
    margin-bottom: 85px;
    overflow: hidden;
}
.spa_head::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 70%;
    height: 100%;
    z-index: 0;
}
#spa_genbu .spa_head::before {
    background: url("./img/spa_genbu_h.jpg") center center/cover no-repeat;
}
#spa_maruyama .spa_head::before {
    background: url("./img/spa_maru_h.jpg") center center/cover no-repeat;
}
.spa_head .head2 {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 30%;
    padding-right: 145px;
    color: #824260;
    font-size: 4rem;
    font-weight: 600;
    letter-spacing: 3px;
    writing-mode: tb-rl;
    text-orientation: upright;
    z-index: -1;
}
.spa_head .head2 span {
    position: absolute;
    top: 0;
    right: 145px;
    display: block;
    width: auto;
    height: 70px;
    color: #000;
    font-size: 2.4rem;
    font-weight: 300;
    line-height: 1.5;
    border-right: 5px solid #824260;
}
.spa_h_inner {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    width: auto;
    height: 100%;
    padding: 25px;
    margin-left: calc((100% - 1000px) / 2);
    writing-mode: tb-rl;
    background-color: rgba(255,255,255,.8);
    z-index: 1;
}
.spa_h_inner .txt {
    align-self: flex-end;
}
.spa_h_inner .head3 {
    margin-left: 25px;
    font-size: 2.6rem;
    font-weight: 600;
    line-height: 1.5;
}
.spa_head .head2::before {
    content: '';
    position: absolute;
    bottom: 0;
    right: -200px;
    display: block;
    width: 592px;
    height: 206px;
    background: url("./img/figure_wave.svg") center center/contain no-repeat;
    z-index: -1;
}
.thumb_slide .swiper-slide.bg {
    height: 95px;
    background: center center/cover no-repeat;
}
.spa_sec .slide_block1::after {
    display: none;
}
.spa_cont {
    justify-content: space-between;
    align-items: center;
    max-width: 1050px;
    width: 92%;
    margin: 0 auto 125px;
}
.spa_cont .h_txt_wrap {
    width: 48%;
}
.spa_cont img {
    width: 47%;
}
.spa_cont .h {
    font-size: 3.3rem;
}
.spa_cont .feature_wrap {
    justify-content: flex-start;
    margin-left: -10px;
}
#spa_info {
    padding-top: 70px;
    padding-bottom: 65px;
    margin-bottom: 100px;
}
#spa_kashikiri {
    width: 100%;
    padding-top: 45px;
    padding-bottom: 40px;
    margin-bottom: 130px;
    background: url("./img/back_purple2.svg") center center/auto repeat;
}
#spa_kashikiri .h_sideline {
    margin-bottom: 50px;
}
.h_sideline {
    display: flex;
    justify-content: center;
    align-items: center;
    color: #824260;
    font-size: 3.6rem;
    font-weight: 600;
}
.h_sideline::before, .h_sideline::after {
    content: '';
    display: block;
    width: 1px;
    height: 50px;
    background-color: #824260;
}
.h_sideline::before {
    margin-right: 40px;
    transform: rotate(-45deg);
}
.h_sideline::after {
    margin-left: 40px;
    transform: rotate(45deg);
}
.h_sideline.w {
    color: #fff;
}
.h_sideline.w::before, .h_sideline.w::after {
    background-color: #fff;
}
.spa_kashikiri_inner {
    padding-top: 45px;
    padding-bottom: 50px;
    background-color: #fff;
}
.spa_kashikiri_inner > * {
    max-width: 770px;
    width: 95%;
    margin: auto;
}
.spa_kashikiri_inner .h_border.p {
    padding-bottom: 20px;
    margin-bottom: 30px;
    font-size: 3.2rem;
    text-align: center;
}
	.breadcrumbs_wrap {
		max-width: 1050px;
		margin-bottom: 30px;
	}
	.spa_section {
		width: 100%;
		padding-bottom: clamp(59px, 9.03vw, 120px);
	}
	.spa_section .obi {
		width: 100%;
		padding-top: 28%;
		background: center center/cover no-repeat;
	}
	#maruyama.spa_section .obi {
		background-image: url("./img/spa_sec1_obi.webp");
	}
	#genbu.spa_section .obi {
		background-image: url("./img/spa_sec2_obi.webp");
	}
	.spa_section .tit {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 92%;
		margin: 2.5em auto 1.7em;
		font-size: clamp(1.3rem, 2.22vw, 3.2rem);
		line-height: 1.3;
	}
	.spa_section .tit::before, .spa_section .tit::after {
		content: '';
		display: block;
		width: 1em;
		height: 1px;
		margin: 0 .5em;
		background: #000;
	}
	.spa_section .tit br.sp {
		display: none;
	}
	.page-lead .main_slide {
		margin-bottom: 0;
	}
	.page-lead .main_slide .swiper-slide {
		border-radius: 10px;
		overflow: hidden;
	}
	.page-lead .main_slide_wrap + .swiper-pagination {
		position: relative;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		width: 92%;
		margin: auto;
	}
	.page-lead .main_slide_wrap + .swiper-pagination .swiper-pagination-bullet {
		opacity: 1;
		width: 11px;
		height: 11px;
		margin: 0 5px;
		background: #fff;
		border: 1px solid #E5E5E5;
	}	
	.page-lead .main_slide_wrap + .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
		background: #994260;
		border-color: #994260;
	}
	#maruyama.spa_section, #spa_overview.spa_section {
		background: url("./img/spa_back.webp") center center/cover no-repeat;
	}
    .spa_section .table_block1{
        margin-top: 0;
    }
	.spa_section .cont {
		max-width: 970px;
		width: 92%;
		margin: auto;
	}
	.spa_section .cont_tit ,.page_family .cont_tit {
		margin: .5em 0;
		color: #994260;
		font-size: clamp(1.3rem, 1.94vw, 2.8rem);
		text-align: center;
	}
	.spa_section .cont .txt {
		font-size: clamp(1.3rem, 1.53vw, 2.2rem);
		line-height: 1.7;
	}
	.spa_section .slide_block1 {
		margin-bottom: 0;
	}
	.spa_section .slide_block1::after {
		display: none;
	}
	#spa_overview.spa_section .slide_block1 {
		max-width: 1100px;
		width: 92%;		
		margin: clamp(23px, 3.47vw, 50px) auto 0;
	}
	.swiper-container.overview_slide .swiper-slide {
		width: 31%;
		padding-top: 18%;
		margin: 0 1%;
		border-radius: 5px;
		overflow: hidden;
	}
	.swiper-container.overview_slide .swiper-slide img {
		position: absolute;
		top: 50%;
		left: 50%;
		width: 100%;
		height: 100%;
		object-fit: cover;
		transform: translate(-50%, -50%);
	}
	#massage_room .bnr {
		opacity: 1;
		display: block;
		max-width: 461px;
		width: 92%;
		margin: clamp(23px, 3.47vw, 50px) auto 0;
		transition: all .3s ease;
	}
	#massage_room .bnr:hover {
		opacity: .6;
		transform: scale(1);
	}
	#massage_room.spa_section .cont {
		margin-bottom: clamp(36px, 5.56vw, 80px);
	}
	#massage_room.spa_section .cont_tit {
		margin-bottom: 1em;
        margin-top: -2vw;
	}
	#spa_overview.spa_section .tit {
		margin-bottom: 1.2em;
	}
	#spa_overview.spa_section .main_slide_wrap {
		margin-bottom: 20px;
	}


/* =============================================
facilities 館内施設
============================================= */

.page_facilities .lead_section .link_wrap{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    max-width: 1100px;
    width: 100%;
    margin: auto;
    padding-bottom: 3vw;
}
.page_facilities .lead_section .link_wrap > a{
    width: 14%;
    margin: .5vw 1vw;
    padding: 1em .5em;
}
.page_facilities .lead_section .inner{
    padding-top: 2vw;
    margin: 0 auto 20px;
}
.page_facilities .swiper-container{
    width: 100vw;
}
.page-lead .slide_block1::after {
    background: none;
}
.page_facilities .bf-menu-card__image {
    position: relative;
    min-height: 340px;
    overflow: hidden; /* 追加 */
}
.page_facilities .bf-slider {
    width: 100%;
    height: 100%;
    position: relative;
        overflow: hidden;
}

.bf-slider__track {
    display: flex;
    height: 100%;
    transition: transform 0.4s ease;
}
.bf-menu-card__image {
    position: relative;
    min-height: 340px;
    overflow: hidden;
}
.bf-slider__track img {
    width: 100%;
    height: 100%;
    flex-shrink: 0;
    display: block;
    object-fit: cover;
}
.page_facilities .swiper-pagination-bullet-active {
    background: #fff;
}
.facilities_section{
    padding: 120px 0;
}
.sec_washi{
    background-image: url(./img/washi2.webp);
    background-repeat: repeat;
    background-position: center;
    background-size: auto;
}
.sec_beige{
    background-color: #EFE7DD;
}
.sec_gray{
    background-color: #F1F1F1;
}
.facilities_section .page-title{
    padding-bottom: 2vw;
}
.fac_list{
    display: flex;
    align-items: center;
    gap: 4vw;
}
.fac_img{
    width: 45%;
    overflow: hidden;
    border-radius: 8px;
}
.fac_txt{
    width: 45%;
}
.fac_txt .facility-icon{
    display: inline-block;
    padding: 0.5vw 1.5vw;
}
.fac_txt .facility-icon div{
    display: flex;
}
.fac_txt ul{
    font-size: var(--fz22);
}
.fac_txt ul li{
    position: relative;
    padding-left: 1.2em; /* 丸の分スペース確保 */
}
.fac_txt ul li::before {
    content: "";
    width: 6px;
    height: 6px;
    background: #D9D9D9;
    border-radius: 50%;
    position: absolute;
    left: .2em;
    top: 0.8em;
}
.sec_shop .table_block2 dl,.sec_banquet .bf-menu-card .table_block2 dl{
    width: 100%;
}
.sec_banquet .bf-menu-card .table_block2,.facilities_section .fac_list .table_block2{
    margin: 1vw 0;
    column-count: 1;
}
.facilities_section .bf-menu-card__text p{
    font-size: var(--fz19);
}
.facilities_section .bf-menu-card{
    grid-template-columns: 1fr 0.9fr;
}
.facilities_section .bf-menu-card--reverse{
    grid-template-columns: 0.9fr 1fr;
}

/* お問い合わせ */
.contact_card{
    max-width: 1000px;
    margin: 120px auto;
    border: 1px solid #d66b7a;
    border-radius: 8px;
    background: #fff;
    overflow: hidden;
}
.contact_card-header {
background: #9b3f5c;
color: #fff;
padding: 12px 16px;
display: flex;
justify-content: center;
align-items: center;
gap: 8px;
font-size: var(--fz24);
}
.contact_card-body {
    padding: 1.5vw;
    font-size: var(--fz22);
    color: #333;
    line-height: 1.7;
}
.contact_card-body .under_tel .tel_wrap,.contact_card-body .under_tel .tel_wrap a{
    color: #000;
}
.contact_card-body .under_tel .tel_wrap a{
    font-size: var(--fz42);
    color: #000;
}
.fac_list .sub-t{
    text-align: left;
    margin-bottom: 1vw;
}

.facilities_section .table_block2{
        max-width: 1100px;
        margin: 3vw auto;
        display: block;
        column-count: 2;
        column-gap: 40px;
}
.facilities_section .table_block2 dl {
    width: 100%;
    justify-content: flex-start;
    line-height: 1.7;
    break-inside: avoid;
    border-bottom: 1px solid #D7D7D7;
    box-sizing: border-box;
}
.sec_facilities_overview .table_block2 dt {
    display: flex;
    flex-direction: column;
    justify-content: center;
    flex-shrink: 0;
    width: 10em;
    min-width: 10em;
    padding: 1em 1em 1em 1.5em;
    background-color: #EFE7DD;
    box-sizing: border-box;
}
.sec_facilities_overview .table_block2 dd {
    width: calc(100% - 10em);
    padding: 1em 1em 1em 1.3em;
    background-color: #fff;
    box-sizing: border-box;
    align-content: center;
}
.sec_facilities_overview .table_block2 ul{
    list-style-type: disc;
    padding-left: 1vw;
}
#faci_top {
    position: relative;
    justify-content: space-between;
    align-items: center;
    width: 90%;
    margin-left: auto;
    margin-bottom: 140px;
}
#faci_top::after {
    content: '';
    position: absolute;
    bottom: -50px;
    right: 0;
    display: block;
    width: 64%;
    height: 97%;
    background: url("./img/back_wave.svg") center center/auto repeat;
    z-index: -1;
}
#faci_top img {
    display: block;
    width: 60%;
}
#faci_top .h_txt_wrap {
    width: 32%;
}
#faci_top .h_txt_wrap .h {
    margin-bottom: 20px;
    font-size: 3.6rem;
}
.page_facilities .link_block {
    margin-bottom: 0;
}
#faci_garden {
    padding-top: 100px;
}
#faci_garden .head2_1 {
    margin-bottom: 40px;
}
#faci_garden .center .h_txt_wrap {
    padding: 75px 35px 70px;
    margin-top: 0;
}
#faci_bfree {
    padding-top: 85px;
    padding-bottom: 55px;
    background: url("./img/back_pattern1.svg") center center/auto repeat;
}
#faci_bfree .head2_1 {
    margin-bottom: 45px;
}
.non_step_li li {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    padding: 40px 30px;
    background-color: #fff;
}
.non_step_li li + li {
    margin-top: 35px;
}
.non_step_li li > * {
    width: 50%;
}
.non_step_li li > span {
    position: absolute;
    top: 0;
    left: 0;
    width: auto;
    padding: 0 15px;
    color: #fff;
    font-size: 3rem;
    font-weight: 600;
    line-height: 1.7;
    background-color: #804260;
}
.non_step_li .head3 {
    padding: 50px;
    font-size: 2.6rem;
    font-weight: 600;
    line-height: 1.7;
}
.non_step_li li::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 40px;
    height: 40px;
    border-left: 1px solid #000;
    border-bottom: 1px solid #000;
    transform: scaleX(.8) rotate(-45deg) translateX(-50%);
    transform-origin: left bottom;
}
.non_step_li li.goal::after {
    display: none;
}
.non_step_li li.goal {
    display: inline-block;
    width: auto;
    padding: 15px 30px;
    margin-top: 60px;
    color: #fff;
    font-size: 2.6rem;
    font-weight: 600;
    line-height: 1.5;
    background-color: #804260;
}
.non_step_li {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    margin-bottom: 60px;
}
.bfree_room {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    padding: 35px 45px 25px;
    margin-bottom: 60px;
    background-color: #fff;
}
.bfree_room ul {
    justify-content: space-between;
    width: 100%;
    list-style: none;
}
.bfree_room .h_border {
    padding-bottom: 20px;
    margin-bottom: 50px;
    font-size: 3.2rem;
}
.bfree_room li {
    width: 32.5%;
}
.bfree_room img {
    display: block;
    width: 100%;
    margin-bottom: 15px;
}
.bfree_room p {
    font-size: 2.2rem;
    line-height: 1.7;
    text-align: center;
}
#faci_bfree .btn1 {
    width: 440px;
}
#faci_bfree .btn_wrap {
    justify-content: flex-end;
    margin-right: -65px;
}
#faci_front {
    width: 100%;
    padding-top: 100px;
    padding-bottom: 95px;
}
.front_block {
    flex-direction: row-reverse;
    align-items: flex-start;
    width: 90%;
    margin-left: auto;
    margin-bottom: 90px;
}
.store_block {
    position: relative;
    flex-direction: row-reverse;
    justify-content: flex-end;
    align-items: center;
    width: 90%;
    z-index: 1;
}
.seiryu_block {
    justify-content: flex-start;
    align-items: center;
    width: 100%;
}
.front_block .img {
    position: relative;
    width: 40%;
    z-index: 0;
}
.front_block .img::before {
    content: '';
    position: absolute;
    bottom: -25%;
    left: -28%;
    display: block;
    width: 90%;
    height: 100%;
    background: url(./img/back_wave.svg) center center/cover no-repeat;
}
.front_block .img img {
    position: relative;
    display: block;
    width: 100%;
}
.front_cont {
    position: relative;
    width: 60%;
    z-index: 1;
}
.front_cont::before {
    content: '';
    position: absolute;
    bottom: -140px;
    left: -115px;
    display: block;
    width: 225px;
    height: 200px;
    background: url("./img/back_wave.svg") center center/1600px no-repeat;
}
.front_cont img {
    position: relative;
    display: block;
    width: 100%;
    margin-left: -50px;
}
#faci_front .h_txt_wrap {
    padding: 35px 45px;
}
#faci_front .h {
    margin-bottom: 15px;
    font-size: 3.6rem;
}
.front_cont::before {
    content: '';
    position: absolute;
    bottom: -22%;
    left: -20%;
    display: block;
    width: 30%;
    height: auto;
    padding-top: 28%;
    background: url(./img/back_wave.svg) center center/1600px repeat;
    z-index: -1;
}
.store_block > img {
    display: block;
    width: 48%;
}
.store_block .h_txt_wrap {
    width: 52%;
}
.seiryu_block > img {
    display: block;
    width: 45%;
}
#faci_front .seiryu_block .h_txt_wrap {
    width: 55%;
    padding: 0;
}
.seiryu_block .h, .seiryu_block .txt {
    max-width: 630px;
    width: 87%;
    margin: auto;
}
.seiryu_block .h{
	margin-top: 100px;
}
.seiryu_block .btn_wrap.back_wave {
    justify-content: flex-start;
    padding-top: 55px;
    padding-bottom: 55px;
    padding-left: calc((100% - 670px) / 2);
    margin-top: 40px;
    background-size: 1600px;
}
#faci_spa {
    position: relative;
    width: 100%;
    padding-top: 90px;
    padding-bottom: 60px;
}
#faci_spa::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 270px;
    background: url("./img/back_wave.svg") center center/ cover repeat;
    z-index: -1;
}
#faci_spa .head2_1 {
    margin-bottom: 30px;
}
.faci_spa_block .head3 {
    margin-bottom: 20px;
    font-size: 3.2rem;
    font-weight: 600;
    line-height: 1.5;
    text-align: center;
}
.faci_spa_block {
    width: 45%;
}
.faci_spa_wrap {
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 65px;
}
.faci_spa_block img {
    display: block;
    width: 100%;
    margin-bottom: 20px;
}
.faci_spa_block .txt {
    margin-bottom: 50px;
}
.faci_spa_block .btn1 {
    width: 80%;
}
.faci_spa_after {
    position: relative;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-start;
    padding-top: 45px;
    padding-bottom: 60px;
    padding-right: calc((100% - 785px) / 2);
    padding-left: calc((100% - 785px) / 2);
    overflow: hidden;
}
@media only screen and (max-width: 825px) {
    .faci_spa_after {
        padding-right: 20px;
        padding-left: 20px;
    }
}
.faci_spa_after .h_sideline {
    width: 100%;
    margin-bottom: 40px;
}
.faci_spa_after .img {
    position: relative;
    width: 48%;
    padding-bottom: 45px;
    text-align: right;
}
.faci_spa_after .img img {
    position: relative;
}
.faci_spa_after .img::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    display: block;
    width: 78%;
    height: auto;
    padding-top: 78%;
    background: url("./img/back_wave.svg") center center/1600px no-repeat;
    z-index: -1;
}
.faci_spa_after .cont {
    position: relative;
    width: 52%;
    z-index: 1;
}
.faci_spa_after .h_txt_wrap {
    padding: 45px 0 40px 50px;
}
.faci_spa_after .h {
    margin-bottom: 20px;
    color: #000;
    font-size: 3.3rem;
}
.faci_spa_after .cont img {
    display: block;
    margin-left: -60px;
}
.faci_spa_after::before, .faci_spa_after::after {
    content: '';
    position: absolute;
    display: block;
    width: 453px;
    height: 158px;
    background: url("./img/figure_wave.svg");
}
.faci_spa_after::before {
    top: 0;
    left: -170px;
    transform: rotate(180deg);
}
.faci_spa_after::after {
    bottom: 0;
    right: -170px;
}
#faci_hall {
    margin-bottom: 100px;
}
#faci_hall .head2_1 {
    width: 100%;
    margin-bottom: 60px;
}
.faci_hall_block .faci_hall_img, .faci_hall_block .txt {
    position: relative;
    width: 92%;
}
.faci_hall_block.block2 .faci_hall_img, .faci_hall_block.block2 .txt {
    margin-left: auto;
}
.faci_hall_block.block1 {
    position: relative;
    padding-top: 95px;
    padding-bottom: 45px;
}
.faci_hall_block.block2 {
    position: relative;
    padding-top: 45px;
    padding-bottom: 25px;
}
.faci_hall_block::before {
    content: '';
    position: absolute;
    top: 0;
    display: block;
    width: 23%;
    height: 100%;
    background: url("./img/back_wave.svg") center center/1600px repeat;
    z-index: -1;
}
.faci_hall_block.block1::before {
    left: 0;
}
.faci_hall_block.block2::before {
    right: 0;
}
.faci_hall_img {
    justify-content: space-between;
    align-items: flex-start;
    width: 100%;
    margin-bottom: 45px;
}
.faci_hall_img .img {
    width: 49%;
}
.faci_hall_img .img img {
    display: block;
    width: 100%;
    margin-bottom: 25px;
}
.faci_hall_img .img p {
    font-size: 3.2rem;
    font-weight: 600;
    line-height: 1.5;
    text-align: center;
}
.faci_hall_block > .txt {
    line-height: 1.7;
    text-align: center;
}
#faci_info {
    width: 100%;
    padding-top: 95px;
    padding-bottom: 45px;
    margin-bottom: 125px;
}
#faci_info .head2_1 {
    margin-bottom: 50px;
}
.table_block1_wrap {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
.c2 .table_block1 {
    width: 49%;
    margin: 0;
    font-size: 1.5rem;
}
.table_block1 dl.inner {
    border-bottom: none;
}
.table_block1 dl.inner dt, .table_block1 dl.inner dd {
    padding: 0;
    background-color: transparent;
}
.table_block1 dl.inner dd::before {
    content: ' ';
}
.table_block1 dd ul {
    list-style: none;
}
.table_block1 dd ul li::before {
    content: '\30FB';
}
.sp_br {
    display: none;
}

/* =============================================
barrier_free バリアフリー
============================================= */
    .page_barrier_free .head-photo-section,.page_family .head-photo-section{
        padding-top: 0;
    }
.section_temp{
    padding: 0 0 120px;
}
.sec_barrier_free{
    padding: 120px 0;
}
.sec_barrier_free .wrapper .bf-menu-card{
    margin: 2vw 0;
}
.sec_barrier_free .wrapper .bf-menu-card:first-child{
   margin-top: 4vw;
}
.sec_barrier_free_spa .wrapper .bf-menu-card{
    margin: 4vw 0;
}
.sec_barrier_free .bf-menu-card--reverse {
    grid-template-columns: 0.7fr 1fr;
}
.sec_barrier_free .bf-menu-card__image {
    min-height: 300px;
}
 /* 下向き矢印 */
.chevron {
  position: relative;
  width: 40px;
  height: 16px;
  margin: 0 auto;
}
.chevron::before,
.chevron::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 2px;
  height: 25px;
  background-color: #944260;
  transform-origin: bottom center;
}
/* 左側 */
.chevron::before {
  transform: translateX(-50%) rotate(-45deg);
}
/* 右側 */
.chevron::after {
  transform: translateX(-50%) rotate(45deg);
}
.sec_barrier_free .room-cards {
    padding: 2vw 0 0;
}
.sec_barrier_free .bf-menu-card__image {
    position: relative;
    min-height: 300px;
    overflow: hidden; /* 追加 */
}
.page_barrier_free .bf-slider {
    width: 100%;
    height: 100%;
    position: relative;
        overflow: hidden;
}
.page_barrier_free .swiper-pagination-bullet-active {
    background: #fff;
}
.page_barrier_free .fac_list{
    padding-top: 2vw;
}
.universal_banner_img{
    width: 90%;
    margin: 0 auto;
}

/* =============================================
family 赤ちゃん・お子様連れのお客様へ
============================================= */
.sec_family .kidsmenu{
    background-image: none;
    background-color: #fff;
    padding: 1vw 4vw;
    margin: 2vw 0;
}
.sec_family .cui_kidsmenu{
    padding-bottom: 1.5vw;
}
.sec_family .fac_list{
    padding: 3vw 0;
}
.sec_family .facilities_section{
    padding: 0;
}
.sec_family .facilities_section .table_block2{
    margin: 0;
}
.section_nomal{
    padding: 120px 0;
}
.page-title-red{
    text-align: center;
    padding-top: 80px;
    font-size: var(--fz18);
    color: #944260;
    margin-bottom: -76px;
}

/* =============================================
sightseeing 城崎観光
============================================= */
.sightseeing_title{
    font-size: var(--fz28);
    color: #944260;
    text-align: center;
}
.sightseeing_title p{
    font-size: var(--fz22);
    color: #000;
}
.page_sightseeing .bf-menu-card__text p {
    font-size: var(--fz19);
}
.page_sightseeing .bf-menu-card:first-child{
    margin-top: 2.5vw;
}
.page_sightseeing .bf-menu-card{
    margin: 2.5vw 0;
}
.page_sightseeing .bf-menu-card__text .text_pink{
    color: #944260;
}
.page_sightseeing .bf-menu-card--reverse {
    grid-template-columns: 0.9fr 1fr;
}
.page_sightseeing .bf-menu-card__image {
    position: relative;
    min-height: 340px;
    overflow: hidden;
}
.page_sightseeing .table_block2 {
    margin: 0;
}
.page_sightseeing .table_block2 dl {
    width: 100%;
}
/* 外湯のご案内 */
.sec_onsen_guide .onsen_cards {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 4rem;
    padding: 60px 0 40px;
}
.onsen_card {
    text-align: left;
    cursor: pointer;
}
.onsen_card_img {
    margin-bottom: 10px;
    overflow: hidden;
    border-radius: 8px;
    aspect-ratio: 1;
}
.onsen_card_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.3s ease;
}
.onsen_card:hover .onsen_card_img img {
    transform: scale(1.05);
}
.onsen_card_title {
    font-size: var(--fz22);
    color: #944260;
    margin-bottom: 4px;
    line-height: 1.4;
}
.onsen_card_desc {
    font-size: 1.4rem;
    line-height: 1.5;
}
.onsen_link_wrap {
    text-align: center;
    padding: 20px 0 40px;
}
/* 過ごし方 */
.time-title{
    padding: 0 3vw;
    border-radius: 8px;
    color: #fff;
    border: solid 1px #fff;
    display: inline-block;
    margin: 0 auto;
    font-size: var(--fz24);
    margin-bottom: 3vw;
}
.how_to_time{
    background-size: cover;
    background-position: center bottom;
    text-align: center;
}
.time_noon{
    padding: 8vw 0 29vw;
    background-image: url(./img/time_noon_bg.webp);
}
.time_night{
    padding: 8vw 0 36vw;
    background-image: url(./img/time_night.webp);
}
.time_morning{
    padding: 8vw 0 33vw;
    background-image: url(./img/time_morning.webp);
}
.how_to_time .sub-t{
    color: #fff;
    font-size: var(--fz19);
}


/* =============================================
lunch 日帰り昼食
============================================= */

.menu-season-container {
    width: 100%;
}
.menu-list-container {
    margin: 2vw 0 4vw;
}
.menu-list-container:last-child {
    margin: 2vw 0 0;
}
.lunch_title{
    font-size: var(--fz28);
    color: #944260;
    text-align: center;
    padding: 2vw 0;
}
/* メニューカード本体（横並びのレイアウト） */
.menu-card {
    display: flex;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05); /* ほんのり軽い影 */
    margin-bottom: 32px;
    overflow: hidden;
    min-height: 200px;
}
/* メニューカード本体（横並びのレイアウト） */
.menu-card:last-child{
    margin-bottom: 0;
}
.menu-thumb {
    flex: 0 0 47%; 
    max-width: 47%;
    position: relative;
    background: #f9f9f9;
}
.menu-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover; 
    display: block;
}
.menu-body {
    flex: 1; 
    padding:2vw 3.5vw;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
}
.menu-title {
    margin: 0 0 22px;
    text-align: left;
    font-weight: 600;
    font-size: var(--fz24);
    color: #994260;
}
.menu-price {
    margin: 0;
    font-size: var(--fz19);
    line-height: 1.75;
    padding-bottom: 1vw;
    text-align: left;
}
    .page_lunch .contact_card{
        margin-top: 0;
    }  
.menu-txt {
    font-size: var(--fz19);     /* 金額（.menu-price）と同じサイズ */
    color: #000;          /* 金額と同じ色（環境に合わせて適宜調整してください） */
    margin: 0 0 8px 0;    /* 下の金額との間に程よい隙間を空ける */
    line-height: 1.5;     /* 複数行になった時の行間 */
}
/* =============================================
access　アクセス
============================================= */
.second_top p {
    font-size: 2.6rem;
    line-height: 1.7;
    text-align: center;
}
.access_map {
    padding-bottom: 50px;
}
.access_map iframe {
    width: 100%;
    height: 620px;
}
.access_map .google_map {
    margin-bottom: 50px;
}
.access_map .btn_wrap .btn1 {
    max-width: 400px;
    width: 100%;
}
.link_block {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-end;
    width: 100%;
    padding-top: 60px;
    padding-bottom: 20px;
    margin-bottom: 100px;
    background: url("./img/back_pattern1.webp") center center/auto repeat;
    border-top: 1px solid #944260;
    border-bottom: 1px solid #944260;
}
.link_block a {
    margin-bottom: 40px;
}
.link_block a p {
    opacity: 1;
    margin-bottom: 20px;
    font-size: 2.6rem;
    line-height: 1.5;
    text-align: center;
    transition: all .3s ease;
}
.link_block a:hover p {
    opacity: .6;
}
.link_block.c4 a, .link_block.c4 .dummy {
    width: 21%;
}
.link_block.c4 a img {
    opacity: 1;
    display: block;
    width: 100%;
    transition: all .3s ease;
}
.link_block.c4 a:hover img {
    opacity: .7;
}
.link_block a::after {
    content: '\f107';
    position: relative;
    bottom: 0;
    display: block;
    margin-top: 15px;
    color: #804260;
    font-size: 2.6rem;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    line-height: 1;
    text-align: center;
    transition: all .3s ease;
}
.link_block a:hover::after {
    bottom: -5px;
}
.access_sec {
    width: 100%;
    padding-bottom: 145px;
}
.access_sec .pc_root {
    display: block;
}
.h_b_wave {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 45px;
}
.h_b_wave .head2_1 {
    flex-shrink: 0;
    margin: 0 50px;
}
.h_b_wave::before, .h_b_wave:after {
    content: '';
    display: block;
    width: 100%;
    height: 20px;
    background: url("./img/back_wave.svg") center center/cover repeat;
    z-index: -1;
}
.sp_root {
    opacity: 0;
    width: 100%;
    padding: 0 20px;
    height: 0;
    pointer-events: none;
}
.sp_root .acc-wrap {
    position: relative;
    margin-bottom: 20px;
}
.sp_root .acc-wrap::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    display: block;
    width: 1px;
    height: 100%;
    background-color: #000;
    transform: translateX(-50%);
    z-index: -1;
}
.sp_root .acc-btn {
    width: 100%;
    padding: 10px;
    font-size: 2rem;
    line-height: 1.5;
    color: #fff;
    text-align: center;
    background-color: #804260;
    cursor: pointer;
}
.sp_root .acc-btn span, .access_root_li li.goal span {
    display: block;
    font-size: 1.6rem;
    line-height: 1.5;
}
.access_root_li li.goal span {
    font-size: 1.4rem;
}
.acc-cont {
    display: none;
}
.access_root_li {
    list-style: none;
}
.access_root_li li {
    position: relative;
    padding: 5px;
    margin: 15px 0;
    line-height: 1.5;
    text-align: center;
    background-color: #fff;
    z-index: 1;
}
.access_root_li li.goal {
    color: #fff;
    padding: 5px 10px;
    color: #804260;
    font-size: 1.8rem;
    font-weight: 600;
    background-color: #fff;
    border: 2px solid #804260;
}
.access_bnr {
    opacity: 1;
    display: block;
    max-width: 500px;
    width: 90%;
    margin: 55px auto 0;
    transition: all .3s ease;
}
.access_bnr:hover {
    opacity: .6;
}

/* =============================================
contact お問い合わせ
============================================= */
#page_contact, #recruit_yoko, #recruit_contact {
    width: 100%;
    padding-top: 95px;
    padding-bottom: 95px;
    margin-bottom: 135px;
    background: url("./img/back_pattern1.svg");
}
#page_contact .head2_1, #recruit_contact .head2_1 {
    margin-bottom: 60px;
}
.contact_form_wrap {
    padding: 50px 55px 70px;
    background-color: #fff;
}
.contact_form dt span {
    font-family: "游ゴシック体", "YuGothic", "Yu Gothic", "游ゴシック", "メイリオ", Meiryo, sans-serif;
}
.contact_form {
    padding: 30px 10px;
    border-bottom: 1px solid #ababab;
}
.contact_form dd input, .contact_form dd textarea, #contact select {
    /*width: 100%;*/
    background-color: #e9eaef;
}
input#zip, input#zip1, select#pref, input#city {
    margin-bottom: 15px;
}
input#zip1 + span.error, select#pref + input[type="hidden"] + span.error, input#city + span.error {
    margin-top: -10px;
    margin-bottom: 15px;
}
.contact_form dd span.error + br {
    display: none;
}
#contact {
    border-top: 1px solid #ababab;
}
.mw_wp_form_complete #contact, .error404 #contact {
    border-top: none;
}
.btn2 {
    position: relative;
    min-width: 400px;
    padding: 25px 45px;
    color: #fff;
    font-size: 1.8rem;
    background-color: #944260;
}
.btn2::after {
    content: '\f105';
    position: relative;
    right: 0;
    margin-left: 15px;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    transition: all .3s ease;
}
.btn2:hover::after {
    right: -5px;
}
.contact_btn .btn2 {
    padding: 0;
}
.contact_btn .btn2::after {
    position: absolute;
    top: 50%;
    right: 45px;
    transform: translateY(-50%);
}
.contact_btn .btn2:hover::after {
    right: 40px;
}
.btn2 input, .btn2 a {
    width: 100%;
    padding: 25px 65px 25px 45px;
    color: #fff;
    font-size: 1.8rem;
    font-family: "貂ｸ譏取悃菴�", YuMincho, "YuMincho", "貂ｸ譏取悃", "Yu Mincho", "繝偵Λ繧ｮ繝取�譛� Pro", "Hiragino Mincho Pro", serif;
    text-align: left;
    background-color: transparent;
    border: none;
}
.contact_btn .btn2 {
    margin: 0 10px;
}
#contact .btn1 {
    width: 230px;
}
.pagetop > a {
    border-radius: 0;
}


/* =============================================
news　ニュース
============================================= */
.post_archive_wrap {
    padding-top: 100px;
    padding-bottom: 45px;
    margin-bottom: 130px;
    background: url("./img/back_pattern1.svg") center center/1400px auto repeat;
}
.post_archive {
    margin-bottom: 100px;
    list-style: none;
}
.post_archive li {
    width: 100%;
    margin-bottom: 15px;
}
.post_archive li a {
    position: relative;
    display: block;
    width: 100%;
    padding: 25px 60px 25px 20px;
    background-color: #fff;
}
.post_archive li a::after {
    content: '\f138';
    position: absolute;
    top: 50%;
    right: 25px;
    color: #804260;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    transform: translateY(-50%);
    transition: all .3s ease;
}
.post_archive li a:hover::after {
    right: 20px;
}
.post_archive .title {
    margin-top: 5px;
    font-size: 2rem;
    line-height: 1.5;
}
.post_cd .cat {
    padding: 5px;
    margin-right: 20px;
    color: #fff;
    font-size: 1.4rem;
    font-family: "游ゴシック体", "YuGothic", "Yu Gothic", "游ゴシック", "メイリオ", Meiryo, sans-serif;
}
.post_cd .cat.cat-news {
    background-color: #804260;
}
.post_cd .cat.cat-event {
    background-color: #175a66;
}
.post_cd .cat.cat-info {
    background-color: #2d3192;
}
div.wp-pagenavi {
    display: flex;
    justify-content: center;
    align-items: center;
    max-width: 550px;
    width: 90%;
    padding: 20px;
    margin: auto;
    background-color: #fff;
}
div.wp-pagenavi a, div.wp-pagenavi span {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    border: none;
}
div.wp-pagenavi span.current {
    font-weight: normal;
    background-color: #e5e5e5;
}
div.wp-pagenavi a.last, div.wp-pagenavi a.first {
    position: relative;
    color: #fff;
}
div.wp-pagenavi a.last::before, div.wp-pagenavi a.first::before {
    content: '\f138';
    position: absolute;
    top: 50%;
    left: 50%;
    color: #804260;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    transform: translate(-50%, -50%);
}
div.wp-pagenavi a.last::before {
    content: '\f138';
}
div.wp-pagenavi a.first::before {
    content: '\f137';
}

/*single*/
.post_cont {
    font-weight: normal;
}
.post_cont * {
    max-width: 100%;
    margin-bottom: 10px;
}
.post_cont img {
    margin-bottom: 15px;
}
.purple {
    color: #804260;
}
.post_cont .wp-block-group {
    margin-bottom: 40px;
}
.post_cont h1 {
    font-size: 1.5em;
    line-height: 1.4;
}
.post_cont h2 {
    font-size: 1.5em;
    font-weight: 600;
    line-height: 1.4;
}
.post_cont h3 {
    font-size: 1.35em;
    font-weight: 600;
    line-height: 1.6;
}
.post_cont h4, .post_cont h5, .post_cont h6 {
    font-size: 1.1em;
    font-weight: 600;
    line-height: 1.8;
}
.post_cont a {
    opacity: 1;
    color: #944260;
    font-family: "游ゴシック体", "YuGothic", "Yu Gothic", "游ゴシック", "メイリオ", Meiryo, sans-serif;
    font-weight: 600;
    text-decoration: underline;
    transition: all .3s ease;
}
.post_cont a:hover {
    opacity: .6;
}
.post_cont table th, .post_cont table td {
    border: solid 1px #999;
    padding: 10px 20px;
    line-height: 1.6;
}
.post_cont table th {
    background: #E6E6E6;
    text-align: center;
    white-space: nowrap;
}
.post_cont ol, .post_cont ul {
    padding-left: 20px;
}
.post_cont .table_wrap {
    width: 100%;
    overflow: auto;
}

.post_single {
    position: relative;
}
.post_contents {
    width: 64%;
}
.side {
    width: 27%;
}
.post_single_wrap {
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 60px;
}
.post_single::before {
    content: '';
    display: block;
    width: 100%;
    height: 80px;
    margin-bottom: 90px;
    background: url("./img/figure_wave_pattern1.svg") center center/cover no-repeat;
}
.post_contents .date {
    font-size: 2rem;
}
.post_title {
    width: 100%;
    padding-bottom: 10px;
    margin-top: 10px;
    margin-bottom: 25px;
    font-size: 2.6rem;
    font-weight: 600;
    line-height: 1.5;
    border-bottom: 2px solid #804260;
}
.post_cont p {
    line-height: 1.9;
}
.page-id-75 .post_cont img, .page-id-75 .post_cont .table_wrap {
    display: block;
    max-width: 865px;
    margin: 0 auto 15px;
}
.page-id-75 .post_cont img {
    width: 92%;
}
.widgettitle, .widget-title {
    padding-bottom: 10px;
    margin-bottom: 20px;
    color: #804260;
    font-size: 2.2rem;
    font-weight: 600;
    line-height: 1.5;
    border-bottom: 2px solid #804260;
}
.widget {
    margin-bottom: 80px;
}
.widget.widget_search {
    margin-bottom: 90px;
}
.widget.widget_recent_entries {
    margin-bottom: 55px;
}
form.search-form {
    position: relative;
    display: flex;
    justify-content: flex-start;
    border: 1px solid #b2b2b3;
}
form.search-form > label {
    display: block;
    width: 100%;
}
input.search-field {
    width: 100%;
    height: 100%;
    padding: 15px;
}
input.search-submit {
    flex-shrink: 0;
    width: 50px;
    height: 50px;
    color: #804260;
    background-color: #804260;
}
form.search-form::before {
    content: '\f002';
    position: absolute;
    top: 50%;
    right: 17px;
    display: block;
    color: #fff;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    transform: translateY(-50%);
}
.widget ul {
    list-style: none;
}
.widget li {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    margin-bottom: 20px;
}
.widget li::before {
    content: '\f0da';
    display: block;
    margin-right: 5px;
    color: #804260;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    line-height: 1.8;
}
.widget li a {
    opacity: 1;
    font-size: 1.8rem;
    line-height: 1.6;
    transition: all .3s ease;
}
.widget li a:hover {
    opacity: .6;
}
.widget .wp-block-categories-list li::before {
    display: none;
}
.widget select {
    width: 100%;
    padding: 15px 10px;
    border: 1px solid #b2b2b3;
    cursor: pointer;
}
.widget_archive {
    position: relative;
}
.widget_archive::after {
    content: '\f078';
    position: absolute;
    bottom: 15px;
    right: 10px;
    color: #804260;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    line-height: 1;
    pointer-events: none;
}
.single_pager {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    padding: 45px 20px;
    margin-bottom: 135px;
    background: url("./img/back_pattern1.svg") center center/cover no-repeat;
}
.pager_wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 550px;
    width: 90%;
    padding: 25px 130px;
    line-height: 1.5;
    background-color: #fff;
}
.pager_wrap a {
    opacity: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: all .3s ease;
}
.pager_wrap a:hover {
    opacity: .6;
}
.pager_wrap .prev, .pager_wrap .next {
    width: 55px;
}
.pager_wrap .prev a::before, .pager_wrap .next a::after {
    color: #804260;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
}
.pager_wrap .prev a::before {
    content: '\f137';
    margin-right: 5px;
}
.pager_wrap .next a::after {
    content: '\f138';
    margin-left: 5px;
}

/* =============================================
voice　お客様の声
============================================= */

.voice_archive {
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 25px;
    list-style: none;
}
.voice_archive li {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    width: 31%;
    margin-bottom: 25px;
    background-color: #fff;
    box-shadow: 0 0 10px #999;
}
.voice_archive li.dummy {
    height: 0;
    margin-bottom: 0;
    box-shadow: none;
}
.voice_archive .img {
    opacity: 1;
    width: 100%;
    height: auto;
    transition: all .3s ease;
    overflow: hidden;
}
.voice_archive .img:hover {
    opacity: .6;
}
.voice_archive .img a {
    position: relative;
    display: block;
    width: 100%;
    height: auto;
    padding-top: 58%;
}
.voice_archive .img img {
    position: absolute;
    top: 50%;
    left: 50%;
    max-width: inherit;
    width: auto;
    height: 100%;
    transform: translate(-50%, -50%);
}
.voice_archive .cont {
    width: 100%;
    border-top: 5px solid #944260;
    padding: 10px 18px 0;
}
.voice_archive li a {
	display:block;
	width: 100%;
	height:100%;
	position: relative;
	padding-bottom: 20px;
}
.voice_archive .date {
    font-size: 1.5rem;
}
.voice_archive .title {
    opacity: 1;
    margin-bottom: 20px;
    font-size: 2rem;
    color: #804260;
    font-weight: bold;
    line-height: 1.5;
    transition: all .3s ease;
}
.voice_archive .title:hover {
    opacity: .6;
}
.voice_archive li .btn-dummy {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    margin: auto;
    color: #804260;
    font-size: 1.5rem;
    line-height: 1.5;
    position: absolute;
	bottom: 10px;
	right: 15px;
}
.voice_archive li .btn-dummy::after {
    content: '\f105';
    position: relative;
    right: 0;
    margin-left: 15px;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    line-height: 1;
    transition: all .3s ease;
}
.voice_archive li .btn-dummy:hover::after {
    right: -5px;
}
.archive_voice .post_archive_wrap {
    padding-bottom: 95px;
}


/* =============================================
＜archive＞　gallery　ギャラリー
============================================= */
.gallery_archive {
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 25px;
    list-style: none;
}
.gallery_archive li {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    width: 31%;
    margin-bottom: 25px;
    background-color: #fff;
    box-shadow: 0 0 10px #999;
}
.gallery_archive li.dummy {
    height: 0;
    margin-bottom: 0;
    box-shadow: none;
}
.gallery_archive .img {
    opacity: 1;
    width: 100%;
    height: auto;
    transition: all .3s ease;
    overflow: hidden;
}
.gallery_archive .img:hover {
    opacity: .6;
}
.gallery_archive .img img {
		width:100%
}
.gallery_archive .cont {
    width: 100%;
    padding: 10px 18px 0;
}
.gallery_archive li a {
	display:block;
	width: 100%;
	height:100%;
	position: relative;
	padding-bottom: 20px;
}
.gallery_archive .date {
    font-size: 1.5rem;
}
.gallery_archive .title {
    opacity: 1;
    margin-bottom: 20px;
    font-size: 2rem;
    line-height: 1.5;
    transition: all .3s ease;
}
.gallery_archive .title:hover {
    opacity: .6;
}
.gallery_archive li .btn-dummy {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    margin: auto;
    color: #804260;
    font-size: 1.5rem;
    line-height: 1.5;
    position: absolute;
	bottom: 10px;
	right: 15px;
}
.gallery_archive li .btn-dummy::after {
    content: '\f105';
    position: relative;
    right: 0;
    margin-left: 15px;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    line-height: 1;
    transition: all .3s ease;
}
.gallery_archive li .btn-dummy:hover::after {
    right: -5px;
}
.archive_gallery .post_archive_wrap {
    padding-bottom: 95px;
}

.second_top .gallery-cat{
	padding:0;
	margin:0;
	list-style:none;
}
.second_top .gallery-cat{
	display:flex;
	margin-top:20px;
}
.second_top .gallery-cat li{
	padding:5px;
}
.second_top .gallery-cat li a{
	color: #804260;
	border-radius:5px;
	border:1px solid #804260;
	padding:10px 20px;
}
.second_top .gallery-cat li.current-cat a,
.second_top .gallery-cat li a:hover{
	color: #fff;
	background: #804260;
}


/* =============================================
faq　よくある質問
============================================= */
.page_faq {
    position: relative;
    padding-bottom: 190px;
    margin-bottom: 125px;
}
.page_faq::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100px;
    background: url("./img/back_wave.svg") center center/cover no-repeat;
}
.faq_temp {
    padding-top: 95px;
}
.faq_h {
    position: relative;
    padding-top: 50px;
    margin-bottom: 45px;
}
.faq_h::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 80px;
    background: url("./img/figure_wave_pattern1.svg") center center/cover no-repeat;
}
.faq_h img {
    position: relative;
    display: block;
    width: 244px;
    margin: auto;
}
.faq_temp .head3 {
    width: 100%;
    margin-bottom: 25px;
    font-size: 3.6rem;
    line-height: 1.3;
    border-bottom: 3px solid #804260;
}
.faq_li {
    list-style: none;
}
.faq_li li {
    margin-bottom: 25px;
}
.faq_li li:last-of-type {
    margin-bottom: 0;
}
.faq_li .acc-btn, .faq_li .acc-cont {
    position: relative;
    width: 100%;
    padding: 25px 65px 25px 95px;
    font-weight: 600;
    line-height: 1.7;
}
.faq_li .acc-btn {
    font-size: 2.2rem;
    background-color: #e5e5e5;
    cursor: pointer;
}
.faq_li .acc-cont {
    font-size: 1.9rem;
    background-color: #f2f2f2;
}
.faq_li .acc-btn::before, .faq_li .acc-cont::before {
    content: '';
    position: absolute;
    top: 10px;
    left: 20px;
    display: block;
    width: 60px;
    height: 60px;
}
.faq_li .acc-btn::before {
    background: url("./img/faq_q.svg") center center/contain no-repeat;
}
.faq_li .acc-cont::before {
    background: url("./img/faq_a.svg") center center/contain no-repeat;
}
.faq_li .acc-btn::after {
    content: '\f078';
    position: absolute;
    top: 50%;
    right: 25px;
    color: #804260;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    transition: all .3s ease;
    transform: translateY(-50%);
}
.faq_li .acc-btn.acc-open::after {
    content: '\f077';
}
.page_faq .link_block a p {
    margin-bottom: 0;
}
.page_faq .link_block a::after {
    margin-top: 0;
}
.page_faq .link_block {
    margin-bottom: 0;
}

/* =============================================
recruit　採用情報
============================================= */
#recruit_yoko {
    margin-bottom: 0;
}
.job_yoko_cat {
    max-width: 1100px;
    width: 92%;
    margin: 0 auto 80px;
}
.job_yoko {
    width: 100%;
    padding-top: 95px;
    padding-bottom: 135px;
    margin-bottom: 90px;
}
.job_yoko_block {
    margin-bottom: 25px;
    background-color: #fff;
}
.job_yoko_block .cont {
    padding: 15px 20px 40px;
}
.job_yoko_block .name {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 15px 45px;
    font-size: 2.4rem;
    font-weight: 600;
    line-height: 1.6;
    border-bottom: 2px solid #804260;
    cursor: pointer;
    transition: all .3s ease;
}
.job_yoko_block .name.acc-open {
    border-bottom: 1px dashed #804260;
}
.job_yoko_block .name::after {
    content: '\f13a';
    color: #804260;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    transition: all .3s ease;
}
.job_yoko_block .name.acc-open::after {
    content: '\f139';
}
.job_yoko_block .txt {
    padding: 0 20px;
    margin-bottom: 15px;
    font-family: "游ゴシック体", "YuGothic", "Yu Gothic", "游ゴシック", "メイリオ", Meiryo, sans-serif;
}
.job_yoko_info dt {
    padding: 10px 20px;
    color: #fff;
    font-size: 1.7rem;
    font-weight: bold;
    line-height: 1.4;
}
.job_yoko_info dt {
    background-color: #804260;
}
.job_yoko_info dd {
    padding: 10px 20px 30px;
    font-size: 1.7rem;
    font-family: "游ゴシック体", "YuGothic", "Yu Gothic", "游ゴシック", "メイリオ", Meiryo, sans-serif;
    line-height: 1.7;
}
.job_yoko .head2_1 {
    margin-bottom: 65px;
}
#recruit_flow {
    padding-top: 75px;
    padding-bottom: 85px;
}
.recruit_flow_li {
    justify-content: space-between;
    align-items: flex-start;
    list-style: none;
}
.recruit_flow_li li {
    position: relative;
    width: 29%;
    counter-increment: cnt;
}
.recruit_flow_li li::after {
    content: '\f138';
    position: absolute;
    top: 25px;
    right: -15%;
    color: #804260;
    font-size: 2.4rem;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
}
.recruit_flow_li li:last-of-type::after {
    display: none;
}
.recruit_flow_li .head3 {
    display: flex;
    justify-content: flex-start;
    width: 100%;
    margin-bottom: 25px;
    color: #fff;
    font-size: 2.8rem;
    font-weight: 600;
    line-height: 1.5;
    text-align: center;
    background-color: #804260;
}
.recruit_flow_li .head3 span {
    align-self: center;
    display: block;
    padding: 10px 20px;
    margin: auto;
}
.recruit_flow_li .head3::before {
    content: "0"counter(cnt)"";
    flex-shrink: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 90px;
    height: 90px;
    color: #fff;
    font-size: 3.6rem;
    background: url("./img/back_purple4.svg") center center/cover no-repeat;
}
.recruit_flow_li .head4 {
    font-size: 1.8rem;
    font-family: "游ゴシック体", "YuGothic", "Yu Gothic", "游ゴシック", "メイリオ", Meiryo, sans-serif;
    line-height: 1.5;
}
.recruit_flow_li p {
    font-size: 1.5rem;
    font-family: "游ゴシック体", "YuGothic", "Yu Gothic", "游ゴシック", "メイリオ", Meiryo, sans-serif;
    line-height: 1.7;
}
#recruit_flow .head2_1, #link_archive .head2_1 {
    margin-bottom: 50px;
}
#recruit_contact {
    background: url("./img/back_purple3.svg") center center/cover no-repeat;
}
#recruit_contact > .head2_1 {
    color: #fff;
}

/* =============================================
kessan　決算
============================================= */
.fs11pt_120 {
	font-size: 10pt;
	line-height: 1.8;
	color: #666;
}
#infomation a {
	color: #09C;
}

.fs11pt_120_i {
	font-size: 10pt;
	line-height: 1.8;
	padding-left: 22pt;
	color: #333;
}
#infomation h3 {
	font-size: 200%;
	font-weight: bolder;
	color: #969;
	padding-top: 20px;
	text-align: left;
}

.fs11pt_140 {
	font-size: 11pt;
	line-height: 140%;
	font-weight: bold;
	color: #969;
	padding-top: 30px;
	padding-bottom: 10px;
}
td {
	height: 16px;
}
.midashi1 {
	font-size: 18px;
	font-weight: bold;
	text-decoration: underline;
	text-align: center;
	margin-top: 20px;
}
.midashi1-1 {
	font-size: 16px;
	text-align: center;
	margin-bottom: 20px;
}
.midashi2 {
	font-size: 18px;
	font-weight: bold;
	text-decoration: underline;
	margin-top: 30px;
}
.fs_b {
	font-weight: bold;
}
.fs_bmt {
	font-weight: bold;
	margin-top: 20px;
	clear: both;
}
.ml_1 {
	margin-left: 1em;
}
.ml_2 {
	margin-left: 2em;
}
.ml_2_t {
	margin-left: 2em;
	float: left;
	width: 100px;
	clear: both;
}
.ml_2_m {
	margin-left: 2em;
	float: left;
	width: 380px;
}
.ml_2id {
	margin-left: 2em;
	text-indent: 1em;
	line-height: 1.4em;
}
.ml_3 {
	margin-left: 3em;
}
.ml_4 {
	margin-left: 4em;
}
.ml_4id{
	margin-left: 4em;
	text-indent: 1em;
}
.ml_5 {
	margin-left: 5em;
}
#box_outer {
	width: 550px;
	text-align: left;
	padding:30px;
	line-height:24px;
}
.table_outer {
    width: 90%;
    margin: auto;
	border: 2px solid #000000;
}
.td_kam_midashi {
	text-align: center;
	border-right: 1px solid #000000;
}
.td_kin_midashi1 {
	text-align: center;
	border-right: 1px solid #000000;
}
.td_kin_midashi2 {
	text-align: center;
}
.td_sisan {
	text-align: center;
	border-bottom: 1px solid #000000;
	border-top: 1px solid #000000;
	border-right: 1px solid #000000;
	font-weight: bold;
}
.td_fusai {
	text-align: center;
	border-bottom: 1px solid #000000;
	border-top: 1px solid #000000;
	font-weight: bold;
}
.td_kam_bl {
	border-right: 1px solid #000000;
	background-color: #CCFFFF;
	padding-left: 5px;
}
.td_kin1_bl {
	text-align: right;
	border-right: 1px solid #000000;
	background-color: #CCFFFF;
	padding-right: 5px;
}
.td_kin2_bl {
	text-align: right;
	background-color: #CCFFFF;
	padding-right: 5px;
}
.td_kam {
	border-right: 1px solid #000000;
	padding-left: 5px;
}
.td_kin1 {
	text-align: right;
	border-right: 1px solid #000000;
	padding-right: 5px;
}
.td_kin2 {
	text-align: right;
	padding-right: 5px;
}
.td_kam_ye {
	border-right: 1px solid #000000;
	background-color: #FFFF99;
	padding-left: 5px;
	border-top: 1px solid #000000;
}
.td_kam_ye_line {
	background-color: #FFFF99;
	padding-left: 5px;
	border-top-width: 1px;
	border-right-width: 1px;
	border-bottom-width: 1px;
	border-top-style: solid;
	border-right-style: solid;
	border-bottom-style: solid;
	border-top-color: #000000;
	border-right-color: #000000;
	border-bottom-color: #000;
}
.td_kam_ye_b {
	border-right: 1px solid #000000;
	background-color: #FFFF99;
	font-weight: bold;
	padding-left: 5px;
	border-top: 1px solid #000000;
}

.td_kin1_ye {
	text-align: right;
	border-right: 1px solid #000000;
	background-color: #FFFF99;
	padding-right: 5px;
	border-top: 1px solid #000000;
}
.td_kin2_ye {
	text-align: right;
	background-color: #FFFF99;
	padding-right: 5px;
	border-top: 1px solid #000000;
}

.td_kin2_ye_line {
	text-align: right;
	background-color: #FFFF99;
	padding-right: 5px;
	border-top-width: 1px;
	border-bottom-width: 1px;
	border-top-style: solid;
	border-bottom-style: solid;
	border-top-color: #000000;
	border-bottom-color: #000;
}
/*----------------------------------------*/
.td2_kam_r {
	border-right: 1px solid #000000;
	padding-left: 5px;
}
.td2_kam_rb {
	border-bottom: 1px solid #000000;
	border-right: 1px solid #000000;
	padding-left: 5px;
}
.td2_kam_rb_ye {
	border-right: 1px solid #000000;
	border-bottom: 1px solid #000000;
	background-color: #FFFF99;
	padding-left: 5px;
}
.td2_kam_r_ye {
	border-right: 1px solid #000000;
	background-color: #FFFF99;
	padding-left: 5px;
}
.td2_kin_t {
	border-bottom: 1px solid #000000;
	text-align: center;
}
.td2_kin1_r {
	text-align: right;
	padding-right: 5px;
	border-right: 1px solid #000000;
}
.td2_kin1_rb {
	text-align: right;
	padding-right: 5px;
	border-bottom: 1px solid #000000;
	border-right: 1px solid #000000;
}
.td2_kin1_rb_ye {
	text-align: right;
	padding-right: 5px;
	border-bottom: 1px solid #000000;
	border-right: 1px solid #000000;
	background-color: #FFFF99;
}
.td2_kin1_r_ye {
	text-align: right;
	padding-right: 5px;
	border-right: 1px solid #000000;
	background-color: #FFFF99;
}
.td2_kin2 {
	text-align: right;
	padding-right: 5px;
}
.td2_kin2_b {
	text-align: right;
	padding-right: 5px;
	border-bottom: 1px solid #000000;
}
.td2_kin2_r_ye {
	text-align: right;
	padding-right: 5px;
	border-bottom: 1px solid #000000;
	background-color: #FFFF99;
}
.td2_kin2_ye {
	text-align: right;
	padding-right: 5px;
	background-color: #FFFF99;
}
.pdf .title::before {
    content: '\f1c1';
    margin-right: 10px;
    color: #804260;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
}
.page_link .ja_bnr {
    margin-bottom: 0;
}

.page-id-364 figure.wp-block-image.size-full {
    text-align: center;
}


@media only screen and (max-width: 1280px) {
    .back_wave {
        background: url(./img/back_wave.svg) center center/1600px repeat;
    }
    .top_contents_li .head4 {
        padding: 20px;
        font-size: 2.8rem;
        line-height: 1.5;
    }
    /*top-1280*/

    .about_b1 .head2 span {
        padding-right: 0;
    }
    .about_b1 .head2 span::before {
        font-size: 8rem;
    }
    #about_room .about_txt {
        width: 44%;
    }
}
@media only screen and (max-width: 1160px) {
    .main_slide .swiper-slide {
        margin: 0 15px;
        max-width: 90%;
        height: 50vw;
    }
    .main_slide_wrap .swiper-button-prev {
        left: 5%;
    }
    .main_slide_wrap .swiper-button-next {
        right: 5%;
    }
    /*room-1160*/

    .recruit_flow_li .head3 {
        font-size: 2.3rem;
    }
}
@media only screen and (min-width: 1025px) {
	.sp-content{
		display:none;
	}
}
@media only screen and (max-width: 1024px) {
	.pc-content{
		display:none;
	}
    html {
        font-size: 58%;
    }
    .h_inner .tel_wrap, #gnav, .h_btn div {
        display: none;
    }
    .jalogo{
    width:20%;
    }
    a.hamburger {
        display: block;
    }
      a.hamburger {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding-top: 4px;
    height: auto;
  }
    .page-id-2567 a.hamburger {
     order: 1;  
    } 
      .page-id-2567 .logo {
     order: 2;  
    } 

  body:not(.page-id-2567) a.hamburger::after {
    content: "Menu";
    color: #fff;
    font-size: 1.4rem;
  }
  body:has(.fat-nav.active) a.hamburger::after {
    content: "Close";
    color: #000;
}
  body:has(.fat-nav.active) a.hamburger{
    z-index: 10000;
}
    .h_btn > a span::before {
        display: none;
    }
    .h_btn > a span {
        display: block;
    }
    .h_btn > a {
        flex-direction: column;
        font-size: 1.6rem;
    }
    .h_btn {
        order: 3;
    }
    .fv_btn{
        display: none;
    }
    .logo {
        order: 2;
    }
    body:not(.page-id-2567) #header.h_scroll {
        top: 0;
    }
    .h_inner {
        width: 100%;
        padding-left: 25px;
        display: flex;
        flex-direction: row; 
        justify-content: space-around;
        gap: 2em;
    }
    .logo {
        order: 0;
    }
    .h_en_btn {
        order: 2;
        margin-left: 15em;
    }

    .h_btn {
        order: 3;
    }

    .logo {
        width: 190px;
    }
    body:not(.page-id-2567) .h_scroll .h_btn > a {
        padding: 20px 15px;
        font-size: 1.4rem;
    }
    body:not(.page-id-2567) .h_scroll .logo {
        width: 125px;
    }
    /*header-1024*/
    body:not(.page-id-2567) #header a{
    color: #000;
}
    body:not(.page-id-2567) #header .sub-menu li a{
        color: #6D6D6D;
        font-size: 1.75rem;
    }
    .sub-menu li:first-child {
        margin-top: 24px; /* 最初だけ上の余白を少し広めに */
    }
    body:not(.page-id-2567) #header .menu_search_btn a{
        color: #fff;
    }
    #top_slide > .head2 {
        top: calc(50% + 25px);
        font-size: 3.5rem;
    }
    .top_campaign_block .flex {
        flex-direction: column;
        align-items: center;
    }
    #top_campaign2 .top_campaign_block.img_half > .flex {
        flex-direction: row;
    }
    .top_campaign_block img {
        max-width: 100%;
        margin-right: 0;
    }
    .top_campaign_block p, .top_campaign_block img.top_covid + p {
        width: 100%;
    }
    .top_campaign_block .head3 {
        margin-bottom: 15px;
        font-size: 2rem;
    }
    .top_campaign {
        align-items: flex-start;
        padding-top: 40px;
        padding-bottom: 60px;
    }
    .top_campaign > a {
        margin-bottom: 35px;
    }
    #top_reserve1 .form_block {
        flex-wrap: wrap;
        justify-content: center;
    }
    #top_reserve1 .head3 {
        width: 100%;
        margin-bottom: 15px;
    }
    #top_reserve1 .form_wrap {
        padding-right: 35px;
        margin-right: 30px;
        border-right: 1px solid #000;
    }
    #top_reserve1 .h_wrap::before {
        width: 95px;
        height: 100px;
    }
    #top_reserve1 .head2 img {
        max-width: 270px;
    }
    #top_reserve1 .head2 span {
        margin-top: 10px;
        font-size: 1.6rem;
    }
    .top_reserve2_cont {
        flex-wrap: wrap;
        margin-top: -10px;
    }
    .top_reserve2_cont > a {
        width: 49%;
        margin-bottom: 15px;
        font-size: 2.3rem;
    }
    .top_reserve2_cont > div {
        width: 100%;
    }
    #top_reserve2 .head2 {
        margin: 0 30px;
    }
    #top_for .head2_1 {
        margin-bottom: 30px;
        font-size: 2.4rem;
    }
    #top_reserve2 .head2 b::before {
        width: 30px;
        height: 21px;
    }
    #top_reserve2 .head2 b img {
        width: 245px;
    }
    #top_reserve2 .head2 span {
        margin-top: 5px;
        font-size: 1.5rem;
    }
    #top_reserve2 .h_wrap {
        top: -26px;
    }
    #top_for {
        padding-top: 45px;
        padding-bottom: 80px;
    }
    #top_reserve2 {
        margin-bottom: 60px;
    }
    /*top-1024*/
    .page_temp.post_cont {
        margin-bottom: 70px;
    }

    #fnav {
        display: none;
    }
    .boka {
        margin: auto;
        margin-bottom: 6vw;
    }
    .fnav_wrap {
        margin-bottom: 45px;
    }
    #footer {
        padding-top: 50px;
    }
    /*footer-1024*/

    .second_h_wrap {
        height: 350px;
        padding-top: 97px;
        margin-bottom: 10px;
    }
    .second_h {
        font-size: 3.5rem;
        letter-spacing: 3px;
    }
    .second_top .head2 {
        font-size: 3rem;
        letter-spacing: 0;
    }
    .breadcrumbs_wrap {
        margin-bottom: 20px;
    }
    .second_top {
        margin-bottom: 40px;
    }
    .second_top p {
        font-size: 2rem;
        line-height: 1.7;
        text-align: center;
    }
    /*secondheader-1024*/

    .about_b1 .head2 span::before {
        margin-right: 10px;
        font-size: 6rem;
    }
    .about_b1 .head2 span {
        font-size: 3.1rem;
    }
    .about_sec {
        padding-bottom: 85px;
    }
    /*about-1024*/

    .cisn_top_cont .head2_1 {
        font-size: 2.2rem;
    }
    .head2_1 {
        font-size: 3rem;
    }
    .h_wave_line {
        padding: 20px 25px 25px;
        font-size: 2.8rem;
    }
    .cisn_kodawari_txt {
        padding-top: 35px;
    }
    .cisn_kodawari_txt .head4 {
        margin-bottom: 10px;
        font-size: 2.2rem;
    }
    .cisn_kodawari_txt .head4 br {
        display: none;
    }
    .cisn_kodawari_img {
        width: 75%;
        margin-top: -65px;
    }
    .cisn_img_li .img span, .cisn_menu_li .img span {
        padding: 10px;
        font-size: 1.8rem;
    }
    .cisn_img_li .img,.cisn_kidsmenu_li .img {
        margin-bottom: 15px;
    }
    .cisn_img_li .cont {
        font-size: 2rem;
    }
    .cisn_season {
        width: 95%;
    }
    .cisn_season_head .head4 {
        width: 220px;
        height: 220px;
        margin: 50px 30px 80px;
        font-size: 3.2rem;
    }
    .cisn_season_head img {
        width: 85%;
    }
    .cisn_season_cont {
        margin-top: -30px;
    }
    .cisn_season_cont .txt {
        width: 95%;
        margin-top: 25px;
        margin-bottom: 25px;
    }
    #additional .head2_1 {
        margin-bottom: 30px;
    }
    .cisn_menu_li .cont {
        padding: 15px 15px 20px;
        font-size: 2rem;
    }
    #additional .head3,
    #sake .head3 {
        margin-bottom: 15px;
        font-size: 2.5rem;
    }
    .cisn_menu_li .cont span {
        font-size: 1.7rem;
    }
    .cisn_menu_li.row .cont {
        padding: 30px;
    }
    .cisn_menu_li.row li {
        text-align: left;
    }
    .cisn_menu_li {
        margin-bottom: 50px;
    }
    #additional {
        padding-bottom: 45px;
    }
    .cisn_covid {
        padding: 0 20px 15px;
    }
    .cisn_covid li {
        padding-bottom: 20px;
    }
    .cisn_img_li .cont,.cisn_kidsmenu_li .cont {
        padding: 0 10px;
        font-size: 1.8rem;
    }
    .cisn_mzen {
        padding-top: 30px;
        padding-bottom: 35px;
        margin-top: 50px;
        margin-bottom: 100px;
    }
    .cisn_mzen_inner .h {
        margin-bottom: 5px;
        font-size: 2.6rem;
    }
    .cisn_mzen_inner .txt {
        text-align: left;
    }
    /*cuisine-1024*/

    .center .h_txt_wrap .h {
        margin-bottom: 15px;
        font-size: 3rem;
    }
    .h_txt_lr .h_txt_wrap .h {
        margin-bottom: 5px;
        font-size: 2.8rem;
    }
    .link_block a p {
        margin-bottom: 10px;
        font-size: 1.8rem;
    }
    .center .h_txt_wrap {
        padding: 30px 30px 45px;
    }
    .h_txt_lr .h_txt_wrap {
        width: 100%;
        padding: 25px 30px 45px;
        margin-top: 45px;
        margin-left: -35px;
    }
    .link_block {
        padding-top: 30px;
        padding-bottom: 10px;
        margin-bottom: 70px;
    }
    .link_block .head2_1 {
        margin-bottom: 15px;
    }
    .link_block a::after {
        margin-top: 5px;
    }
    .link_block a {
        margin-bottom: 20px;
    }
    .h_b_wave::before, .h_b_wave:after {
        background: url(./img/back_wave.svg) center center/1000px repeat;
    }
    .h_b_wave .head2_1 {
        margin: 0 25px;
    }
    .h_b_wave {
        margin-bottom: 10px;
    }
    .room_block > * {
        margin-bottom: 35px;
    }
    .room_block.l {
        margin-right: 40px;
    }
    #room_facility .head2_1 {
        margin-bottom: 20px;
    }
    .room_cont {
        padding-top: 30px;
    }
    #room_facility {
        padding-top: 30px;
    }
    .thumb_slide .swiper-slide {
        margin: 0 10px;
    }
    .thumb_slide_wrap {
        width: 95%;
        margin: auto;
    }
    /*room-1024*/

    .spa_h_inner {
        margin-left: 30px;
    }
    .page_spa .link_block a p {
        font-size: 1.8rem;
    }
    .spa_head .head2 {
        padding-right: 50px;
    }
    .spa_head .head2 span {
        right: 50px;
    }
    .spa_cont .feature_wrap {
        flex-wrap: wrap;
    }
    .spa_head .head2 {
        font-size: 3.2rem;
    }
    .spa_cont .h {
        font-size: 2.8rem;
    }
    #spa_kashikiri .h_sideline {
        margin-bottom: 20px;
        font-size: 2.8rem;
    }
    .spa_kashikiri_inner .h_border.p {
        padding-bottom: 10px;
        margin-bottom: 15px;
        font-size: 2.2rem;
    }
    .spa_head {
        margin-bottom: 45px;
    }
    .spa_cont {
        margin: 0 auto 75px;
    }
    #spa_info {
        padding-top: 30px;
        padding-bottom: 40px;
        margin-bottom: 70px;
    }
    #spa_kashikiri {
        padding-top: 30px;
        padding-bottom: 40px;
        margin-bottom: 100px;
    }
    .spa_kashikiri_inner {
        padding-top: 30px;
        padding-bottom: 30px;
    }
    /*spa-1024*/

    #faci_top {
        margin-bottom: 100px;
    }
    #faci_top .h_txt_wrap .h {
        margin-bottom: 10px;
        font-size: 2.8rem;
    }
    #faci_top .h_txt_wrap {
        width: 40%;
    }
    #faci_top img {
        width: 55%;
    }
    #faci_top::after {
        bottom: -20px;
        width: 58%;
        height: 85%;
    }
    .non_step_li li > span {
        font-size: 2.5rem;
    }
    .non_step_li .head3 {
        padding: 20px 30px 20px 0;
        font-size: 1.8rem;
    }
    .non_step_li li.goal {
        font-size: 2rem;
    }
    .bfree_room .h_border {
        padding-bottom: 10px;
        margin-bottom: 30px;
        font-size: 2.5rem;
    }
    .bfree_room img {
        margin-bottom: 10px;
    }
    .bfree_room p {
        font-size: 1.8rem;
        line-height: 1.5;
    }
    #faci_front .h {
        margin-bottom: 10px;
        font-size: 2.8rem;
    }
    .faci_spa_block .head3 {
        margin-bottom: 5px;
        font-size: 2.3rem;
    }
    .faci_spa_after .h_sideline {
        margin-bottom: 10px;
    }
    .faci_spa_after .h {
        margin-bottom: 5px;
    }
    .faci_spa_block {
        width: 48%;
    }
    .faci_spa_block .txt {
        margin-bottom: 25px;
    }
    .faci_spa_block .btn1 {
        padding-left: 15px;
        font-size: 1.6rem;
    }
    .h_sideline {
        font-size: 2.8rem;
    }
    .faci_spa_after .h {
        font-size: 2.5rem;
    }
    .faci_hall_img .img p {
        font-size: 2.3rem;
    }
    #faci_garden .head2_1 {
        margin-bottom: 20px;
    }
    #faci_garden .center .h_txt_wrap {
        width: 100%;
        padding: 30px 0 50px;
    }
    #faci_garden .center .h_txt_wrap .h {
        font-size: 2.8rem;
    }
    #faci_bfree {
        padding-top: 40px;
        padding-bottom: 55px;
    }
    #faci_bfree .head2_1 {
        margin-bottom: 25px;
        font-size: 2.8rem;
    }
    .seiryu_block {
        margin-top: 50px;
    }
    #faci_spa {
        padding-top: 45px;
        padding-bottom: 0;
    }
    #faci_spa .head2_1 {
        margin-bottom: 15px;
    }
    .faci_hall_block.block1 {
        padding-top: 40px;
        padding-bottom: 30px;
    }
    #faci_hall .head2_1 {
        margin-bottom: 25px;
    }
    .faci_hall_img .img img {
        margin-bottom: 10px;
    }
    .faci_hall_img {
        margin-bottom: 20px;
    }
    #faci_hall {
        margin-bottom: 70px;
    }
    #faci_info {
        padding-top: 40px;
        padding-bottom: 45px;
        margin-bottom: 100px;
    }
    #faci_info .head2_1 {
        margin-bottom: 20px;
    }
    #faci_bfree .btn_wrap {
        margin-right: -20px;
    }
    #faci_garden {
        padding-top: 70px;
    }
    /*facilities-1024*/

    .access_map iframe {
        height: 350px;
    }
    .access_map .google_map {
        margin-bottom: 20px;
    }
    .access_sec {
        padding-bottom: 85px;
    }
    .page_access::after {
        margin-bottom: 100px;
    }
    /*access-1024*/

    .post_archive {
        margin-bottom: 50px;
    }
    .post_archive_wrap {
        padding-top: 40px;
        margin-bottom: 90px;
    }
    /*archive-news-1024*/

    .post_contents {
        width: 67%;
    }
    .side {
        width: 29%;
    }
    .post_contents .date {
        font-size: 1.8rem;
    }
    .post_title {
        font-size: 2.3rem;
    }
    .widgettitle, .widget-title {
        padding-bottom: 7px;
        margin-bottom: 15px;
        font-size: 1.9rem;
    }
    .widget, .widget.widget_search, .widget.widget_recent_entries {
        margin-bottom: 50px;
    }
    .widget li a {
        font-size: 1.6rem;
    }
    .widget li {
        margin-bottom: 10px;
    }
    .single_pager {
        padding: 20px;
        margin-bottom: 90px;
    }
    .pager_wrap {
        padding: 20px 100px;
    }
    .post_single::before {
        margin-bottom: 50px;
    }
    /*single-1024*/

    .voice_archive .title {
        margin-bottom: 10px;
        font-size: 1.8rem;
    }
    .archive_voice .post_archive_wrap {
        padding-bottom: 75px;
    }
    /*archive-voice-1024*/

    .faq_temp {
        padding-top: 70px;
    }
    .page_faq .link_block a p {
        font-size: 2rem;
    }
    .faq_temp .head3 {
        font-size: 3rem;
    }
    .faq_li .acc-btn {
        font-size: 2rem;
    }
    .faq_li .acc-cont {
        font-size: 1.7rem;
    }
    .page_faq {
        padding-bottom: 160px;
        margin-bottom: 95px;
    }
    /*faq-1024*/

    .job_yoko {
        padding-top: 40px;
        padding-bottom: 40px;
        margin-bottom: 50px;
    }
    .job_yoko .head2_1 {
        margin-bottom: 40px;
    }
    .job_yoko_cat {
        margin: 0 auto 45px;
    }
    .job_yoko_block {
        margin-bottom: 15px;
        background-color: #fff;
    }
    .job_yoko_info dt {
        padding: 7px 15px;
        font-size: 1.6rem;
    }
    .job_yoko_info dd {
        padding: 10px 15px 20px;
        font-size: 1.6rem;
    }
    .recruit_flow_li .head3 {
        margin-bottom: 15px;
        font-size: 2rem;
    }
    .recruit_flow_li li::after {
        right: -16%;
    }
    /*recruit-1024*/
}
/*rsp-1024*/

@media only screen and (max-width: 950px) {
    .table_block1_wrap {
        flex-direction: column;
    }
    .c2 .table_block1 {
        width: 100%;
    }
    .c2 .table_block1 + .table_block1 {
        border-top: none;
    }
    /*facilities-950*/
}
/*rsp-950*/

@media only screen and (max-width: 850px) {
    .top_contents_li {
        flex-direction: column;
    }
    .top_contents_li li {
        width: 100%;
        height: auto;
        background: none!important;
    }
    .top_contents_li li::before {
        content: '';
        display: block;
        width: 100%;
        height: 300px;
    }
    .top_contents_li .head4 {
        position: relative;
        top: 0;
        left: 0;
        width: 100%;
        height: auto;
        padding: 20px 20px 0;
        font-size: 2.4rem;
        text-align: center;
        writing-mode: inherit;
        transform: translateX(0);
    }
    .top_contents_li li:nth-of-type(1)::before {
        background: url("./img/top_c_cuisine_sp.jpg") center center/cover no-repeat;
    }
    .top_contents_li li:nth-of-type(2)::before {
        background: url("./img/top_c_room_sp.jpg") center center/cover no-repeat;
    }
    .top_contents_li li:nth-of-type(3)::before {
        background: url("./img/top_c_spa_sp.jpg") center center/cover no-repeat;
    }
    .top_contents_li .hover_block {
        opacity: 1;
        position: relative;
        color: #000;
        background-color: transparent;
    }
    .top_contents_li .hover_block .btn1.w_b {
        color: #000;
        border: 1px solid #000;
    }
    .top_contents_li .hover_block .btn1.w_b span::after {
        background-color: #000;
    }
    .top_contents_li .head3 {
        left: 50%;
        display: inline-table;
        transform: translateX(-50%);
    }
    .top_contents_li .head4 br {
        display: none;
    }
    .top_contents_li .hover_block {
        padding: 10px 20px 40px;
        background-color: #fff;
    }
    .top_contents_li .hover_block .txt {
        margin-bottom: 20px;
    }
    #top_reserve1 .form_block {
        padding: 20px 20px 25px 15px;
    }
    /*top-850*/

    .about_b1 {
        flex-direction: column;
        width: 100%;
        margin-bottom: 30px;
    }
    .about_sec:nth-of-type(even) .about_b1 {
        flex-direction: column;
    }
    .about_b1 .head2 {
        flex-direction: column;
        width: 100%;
        padding: 15px 20px 20px;
        margin-left: 0;
        font-size: 2.8rem;
        line-height: 1.5;
        writing-mode: rl-tb;
        white-space: inherit;
    }
    .about_b1 .head2 span {
        padding-bottom: 5px;
        margin-bottom: 15px;
    }
    .about_sec:nth-of-type(even) .about_b1 .head2 {
        margin-right: 0;
    }
    .about_b1 img {
        margin-top: 20px;
        width: 100%;
    }
    .about_img {
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: flex-start;
        width: 100%;
        margin-top: 0;
    }
    .about_b2 {
        flex-direction: column;
        padding-right: 0;
    }
	.about_sec:nth-of-type(2n) .about_b2 {
		display: block;
		padding-right: 0;
		padding-left: 0px;
	}
    .about_txt {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        width: 100%;
    }
    .about_txt img {
        width: 39%;
    }
    .about_txt .txt {
        width: 59%;
        margin-bottom: 30px;
        font-size: 1.7rem;
        line-height: 1.5;
    }
    .about_img .img_wave::after {
        display: none;
    }
    .about_img .img_wave {
        width: 28%;
        padding-right: 0;
        padding-bottom: 0;
    }
    .about_img > img:first-of-type {
        margin-bottom: 0;
    }
    .about_b2 .btn_wrap {
        margin-top: 20px;
    }
    #about_room .about_b2 {
        flex-direction: column-reverse;
        padding-left: 0;
    }
    #about_room .about_img {
        width: 100%;
        margin-bottom: 20px;
    }
    .about_point {
        width: 57%;
        margin-top: 50px;
    }
    #about_room .about_img > img:first-of-type {
        width: 40%;
        margin-bottom: 0;
    }
    #about_room .about_txt {
        flex-direction: column;
        width: 100%;
    }
    #about_room .about_txt .txt {
        width: 100%;
        margin-bottom: 10px;
    }
    #about_room .about_txt .txt br:nth-of-type(-n+4) {
        display: none;
    }
	.seiryu_block .h{
		margin-top: 5px;
	}
    /*about-850*/
}
/*rsp-850*/

@media only screen and (max-width: 767px) {
    html {
        font-size: 57%;
    }
    .sp-none{
	    display:none;
    }

    .h_inner {
        width: 100%;
        padding: 0px 15px;
        justify-content: space-between;
    }
    .h_en_btn{
        padding-left: 3em;
        margin-left: 0;
    }
     .h_en_btn p{
        font-size: 1.4rem;
     }       
        .logo{
    margin-right: 0;
    width: 60%;
}
.jalogo{
    width: 24%;
    margin-left: 1em;
}
    .h_btn > a {
        padding: 22px 10px;
        font-size: 1.3rem;
    }
    body:not(.page-id-2567) .h_scroll .logo {
        width: 115px;
        margin: 10px 0;
    }
    body:not(.page-id-2567) .h_scroll .h_btn > a {
        padding: 16px 10px;
        font-size: 1.2rem;
    }
    .fat-nav ul.s_nav {
        padding-top: 10px;
        margin-top: 5px;
        margin-bottom: 20px;
    }
    .fat-nav ul.s_nav a {
        padding: 15px 10px;
        font-size: 1.5rem;
    }
    div.fat-nav__wrapper .tel_wrap span {
        margin-top: 0;
    }
    /*header-767*/

    #top_slide > .head2 {
        top: 50%;
		padding: 0 15px;
        font-size: clamp(1.6rem, 6vw, 2.3rem);
    }
    #top_news {
        flex-direction: column;
        align-items: flex-start;
        padding: 10px 20px 7px;
    }
    #top_news > .head2 {
        padding-right: 0;
        margin-right: 0;
        border-right: none;
    }
    .top_news_container .date {
        margin-right: 10px;
        font-size: 1.5rem;
    }
    .swiper-container.top_news_container {
        height: 45px;
    }
    .top_news_container .swiper-slide a {
        display: flex;
        justify-content: flex-start;
        align-items: flex-start;
        height: 45px;
        font-size: 1.5rem;
        line-height: 1.5;
        overflow: hidden;
    }
    .top_campaign {
        padding-top: 20px;
        padding-bottom: 30px;
    }
    .top_campaign > a {
        margin-bottom: 20px;
    }
    .top_campaign a.top_campaign_bnr.pc {
        display: none;
    }
    .top_campaign a.top_campaign_bnr.sp {
        display: block;
    }
    .top_campaign_block {
        width: 100%;
        padding: 15px 20px 20px;
        margin-bottom: 20px;
    }
    .c1 .top_campaign_block + .top_campaign_block {
        margin-top: 0;
    }
    .top_campaign_block img {
        margin-bottom: 10px;
    }
    .top_campaign_block .head3 {
        margin-bottom: 10px;
        font-size: 1.7rem;
    }
	.top_campaign_block.img_half > .flex > * {
		width: 100%;
	}
	.top_campaign_block .img,
	.top_campaign_block .img img,
	.top_campaign_block p.txt,
	.top_campaign_block.img_l .img img,
	.top_campaign_block.img_l p.txt{
		max-width: none;
	}
    #top_campaign2 .top_campaign_block .img {
        padding-right: 10px;
    }

    #top_reserve1 .h_wrap::before {
        width: 65px;
        height: 78px;
        margin-right: 10px;
    }
    #top_reserve1 .head2 span {
        font-size: 1.3rem;
        text-align: center;
    }
    #top_reserve1 .h_wrap {
        margin-bottom: 10px;
    }
    #top_reserve1 {
        padding-top: 10px;
        padding-bottom: 25px;
    }
    #top_reserve1 .form_block {
        padding: 15px 20px;
    }
    #top_reserve1 .link_wrap .btn_arrow + .btn_arrow {
        margin-left: 0;
    }
    #top_reserve1 .link_wrap {
        display: block;
        line-height: 1.7;
    }
    .btn1 {
        padding: 15px 35px 15px 15px;
        margin: 0 50px 0 10px;
        font-size: 1.7rem;
    }
    .btn1 span {
        width: 60px;
        right: -30px;
    }
    .top_contents_li .head3 {
        height: 95px;
        padding: 15px 10px;
        font-size: 2.2rem;
    }
    .top_contents_li .head4 {
        padding: 10px 15px 0;
        font-size: 1.9rem;
        line-height: 1.5;
        text-align: left;
    }
    .top_contents_li .hover_block {
        padding: 5px 20px 35px;
    }
    .top_contents_li .hover_block .txt {
        margin-bottom: 15px;
        line-height: 2;
    }
    #top_for::before, #top_for::after {
        display: none;
    }
    #top_for .head2_1 {
        margin-bottom: 15px;
        font-size: 2.1rem;
    }
    #top_for .link_wrap, #top_for .fb {
        max-width: 500px;
        width: 100%;
        margin: 0 auto 10px;
    }
    #top_for .link_wrap {
        margin-bottom: 10px;
    }
    #top_for .link_wrap a {
        margin-bottom: 15px;
    }
    #top_for {
        padding-top: 25px;
        padding-bottom: 50px;
    }
    #top_contents {
        padding-top: 25px;
        padding-bottom: 35px;
    }
    #top_reserve2 .head2 b img {
        width: 155px;
    }
    #top_reserve2 .head2 b::before {
        width: 20px;
        height: 14px;
    }
    #top_reserve2 .head2 {
        margin: 0 10px;
    }
    #top_reserve2 .h_wrap {
        top: -20px;
    }
    #top_reserve2 .head2 span {
        margin-top: 5px;
        font-size: 1.3rem;
    }
    .top_reserve2_cont > a {
        width: 100%;
        padding: 15px 10px;
        margin-bottom: 10px;
        font-size: 1.6rem;
    }
    .top_reserve2_cont > a::after {
        margin-left: 10px;
        font-size: 1.6rem;
    }
    .top_reserve2_cont > div .head3 {
        margin-bottom: 5px;
        font-size: 1.8rem;
    }
    .tel_wrap .tel, .tel_wrap .tel a {
        font-size: 2.5rem;
    }
    .top_reserve2_cont > div .tel::before {
        font-size: 1.8rem;
    }
    .tel_wrap span {
        font-size: 1.4rem;
    }
    #top_reserve2 {
        margin-bottom: 50px;
    }
    #top_reserve1 .form_block {
        flex-direction: column;
    }
    #top_reserve1 .form_wrap {
        padding-right: 0;
        margin-right: 0;
        margin-bottom: 15px;
        border-right: none;
    }
    .date_489ban dd label {
        font-size: 1.5rem;
    }
    #top_reserve1 .head3 {
        margin-bottom: 10px;
    }
    .form_wrap form {
        flex-wrap: wrap;
        justify-content: center;
        align-items: flex-start;
    }
    .date_489ban {
        margin-right: 5px;
    }
    .inbox_489ban {
        margin-right: 0;
    }
    /* .date_489ban dd label {
        display: flex;
    } */
    .form_wrap dt, .form_wrap dd {
        text-align: center;
    }
    body.home .form_wrap dd{
    display: flex;
}
/*英語の時*/
.page-id-2567 .form_wrap dd{
    display: block;
}
    .inbox_489ban {
        margin-bottom: 15px;
    }
	#top_bnr > a {
		margin-bottom: 15px;
	}
    /*top-767*/
    .page_temp.post_cont {
        margin-bottom: 50px;
    }

    #footer {
        padding-top: 30px;
    }
    .boka {
        max-width: 400px;
        width: 100%;
        padding: 15px;
    }
    .boka img {
        display: block;
        width: 80px;
        margin: 0 10px 0 0;
    }
    .boka p {
        margin-top: 0;
        margin-bottom: 10px;
        font-size: 1.4rem;
    }
    .boka p br {
        display: none;
    }
    .boka dl {
        font-size: 1.3rem;
    }
    .boka dt {
        width: 55px;
    }
    .fnav_wrap {
        margin-bottom: 25px;
    }
    .f_logo {
        width: 200px;
        margin: 0 auto 15px;
    }
    .f_cont .address {
        margin-bottom: 0px;
        font-size: 1.4rem;
    }
    .f_cont .num {
        margin-bottom: 0px;
        font-size: 1.4rem;
    }
    .f_cont .wifi {
        margin-bottom: 10px;
        font-size: 1.4rem;
    }
    .f_cont .wifi::before {
        font-size: 2rem;
    }
    .f_cont .icon_btn {
        margin-bottom: 10px;
    }
    .ja_bnr {
        width: 92%;
        margin: 0 auto 15px;
    }
    .ja_bnr a {
        margin: 0 5px;
    }
    /*footer-768*/

    .second_h {
        font-size: 2.8rem;
        letter-spacing: 0;
    }
    .second_h_wrap {
        height: 220px;
        padding-top: 74px;
    }
    .second_top::before, .second_top::after {
        display: none;
    }
    .second_top {
        justify-content: center;
        margin-bottom: 25px;
    }
    .second_top .head2 {
        font-size: 2.2rem;
    }
    /*secondheader-767*/

    .about_b1 .head2 span::before {
        margin-right: 5px;
        font-size: 4rem;
    }
    .about_b1 .head2 {
        padding: 15px 15px 20px;
        font-size: 1.9rem;
    }
    .about_b1 img {
        margin-top: 0;
    }
    .about_txt {
        flex-direction: column;
    }
    .about_b1 {
        margin-bottom: 15px;
    }
    .about_txt .txt {
        width: 100%;
        margin-bottom: 10px;
        font-size: 1.5rem;
    }
    .about_txt img {
        width: 100%;
        margin-bottom: 10px;
    }
    .about_img > img:first-of-type {
        width: 69%;
    }
    .about_sec {
        padding-bottom: 55px;
    }
    #about_room .about_img {
        flex-direction: column;
        margin-bottom: 0;
    }
    #about_room .about_img > img:first-of-type {
        width: 100%;
        margin-bottom: 15px;
    }
    .about_point {
        width: 100%;
        padding: 15px 20px;
        margin-top: 0;
        background: none;
    }
    .about_point .img_wrap {
        margin: 0 0 10px;
    }
    .about_point > p {
        font-size: 1.3rem;
        text-align: left;
    }
    .about_point > p br {
        display: none;
    }
    #about_cuisine .about_img > img:first-of-type {
        width: 53%;
    }
    #about_cuisine .about_img .img_wave {
        width: 44.5%;
    }
    .about_b1 .head2 span {
        font-size: 2.5rem;
    }


    .page-id-1388 #about_view .about_b2{
	    display:block;
	    padding-left: 0;
    }
    #about_cuisine .about_txt .txt {
		margin-bottom: 20px;
	}
	.about_cuisine_new .about_txt .ja-logo {
		width: 100px;
		bottom: 32%;
		right: 10px;
	}


    /*about-767*/

    .second_top p,
    .second_top .cuisine_top_head p {
        padding: 0 15px;
        font-size: 1.6rem;
    }
    /*secondheader-767*/

    .center .h_txt_wrap .h {
        margin-bottom: 5px;
        font-size: 2.2rem;
    }
    .h_txt_lr .h_txt_wrap .h {
        font-size: 2rem;
    }
    .link_block a p {
        margin-bottom: 5px;
        font-size: 1.4rem;
    }
    .link_block a {
        margin-bottom: 10px;
    }
    .link_block {
        padding-top: 20px;
        padding-bottom: 5px;
        margin-bottom: 40px;
    }
    .link_block a::after {
        margin-top: 2px;
    }
    .h_b_wave::before, .h_b_wave:after {
        display: none;
    }
    .h_b_wave .head2_1 {
        flex-shrink: initial;
        margin: 0 10px 10px;
        font-size: 2rem;
    }
    .h_b_wave {
        justify-content: center;
        margin-bottom: 5px;
    }
    .room_sec_wrap .txt {
        padding: 0 15px;
        margin-bottom: 10px;
        line-height: 1.5;
        text-align: left;
    }
    .feature_wrap {
        flex-wrap: wrap;
    }
    .ftr_p, .ftr_w {
        padding: 3px 5px;
        margin: 3px 5px;
        font-size: 1.4rem;
    }
    .main_slide .swiper-slide {
        margin: 0 10px;
        max-width: 88%;
        height: 60vw;
    }
    .main_slide_wrap .swiper-button-next, .main_slide_wrap .swiper-button-prev {
        display: none;
    }
    .main_slide_wrap {
        position: relative;
        margin-bottom: 20px;
    }
    .thumb_slide .swiper-slide {
        width: 100px;
        margin: 0 3px;
    }
    .room_row.c2 {
        flex-direction: column;
    }
    .room_block.r {
        width: 100%;
        margin-left: 0;
    }
    .room_info_table dt, .room_info_table dd {
        padding: 15px 10px;
    }
    .room_info_table dt {
        flex-shrink: 0;
        width: 100px;
    }
    .room_info_table dd {
        width: 100%;
    }
    .room_info_table dl {
        width: 100%;
        margin-bottom: 10px;
    }
    .room_block > * {
        margin-bottom: 20px;
    }
	.room_sec_temp .btn1 {
		min-width: inherit;
	}
    .room_sec_temp .btn1.tel_btn {
        flex-direction: column;
        max-width: 400px;
        width: 100%;
        padding: 15px;
        margin: 0 20px;
    }
    .room_sec_temp .tel_btn b {
        margin-top: 5px;
        margin-left: 0;
    }
    .slide_block1 {
        padding-bottom: 25px;
          width: 100vw;
  margin-left: calc(50% - 50vw);
    }
    .room_cont {
        padding-top: 10px;
    }
    .room_sec_temp .btn_wrap {
        margin-top: 5px;
    }
    .room_block.l {
        width: 100%;
        margin-right: 0;
    }
    .room_info_h .type {
        margin-top: 5px;
        margin-right: 5px;
        font-size: 1.8rem;
    }
    .room_info_h .type::before {
        width: 13px;
        height: 13px;
        margin-top: 4px;
    }
    .room_info_h {
        margin-bottom: 10px;
    }
    .room_sec_temp {
        padding-bottom: 65px;
    }
    .room_facility_wrap {
        flex-wrap: wrap;
        padding: 20px 30px;
    }
    .room_facility_li {
        width: 48%;
    }
    .room_facility_li li {
        margin-bottom: 5px;
    }
    #room_facility {
        padding-top: 20px;
        padding-bottom: 30px;
        margin-bottom: 80px;
    }
    #room_facility .head2_1 {
        margin-bottom: 10px;
    }
    .center .h_txt_wrap {
        width: 93%;
        padding: 10px 15px 25px;
        margin-top: -15px;
    }
    .h_txt_lr img {
        width: 70%;
    }
    .h_txt_lr .h_txt_wrap {
        width: 80%;
        padding: 15px;
        margin-top: -25px;
        margin-left: auto;
    }
    .h_txt_lr .h_txt_img, .h_txt_lr .h_txt_img:nth-of-type(even) {
        flex-direction: column;
    }
    .h_txt_lr .h_txt_img:nth-of-type(even) img {
        margin-left: 0;
    }
    .h_txt_lr .h_txt_img:nth-of-type(even) .h_txt_wrap {
        margin-left: auto;
        margin-right: 0;
    }
    .h_txt_lr .h_txt_wrap .h {
        margin-bottom: 0;
    }
    .h_txt_lr .h_txt_wrap .txt {
        line-height: 1.6;
    }
    .slide_block1::after {
        display: none;
    }
    .slide_block1 {
        padding-bottom: 20px;
    }
    .c2 .room_block .txt {
        font-size: 1.5rem;
        line-height: 1.7;
    }
    /*room-767*/

    .page_spa .link_block {
        padding: 15px 20px 5px;
        margin-bottom: 30px;
    }
    .spa_head {
        flex-direction: column;
    }
    .spa_head .head2::before {
        display: none;
    }
    .spa_head::before {
        order: 2;
        position: relative;
        width: 100%;
    }
    .spa_h_inner {
        order: 3;
        align-items: center;
        height: auto;
        padding: 10px 20px 15px;
        margin-left: 0;
        writing-mode: inherit;
    }
    .spa_head .head2 {
        order: 1;
        flex-direction: row;
        justify-content: flex-start;
        width: 100%;
        padding: 0 20px;
        margin-bottom: 5px;
        font-size: 2.5rem;
        writing-mode: rl-tb;
        text-orientation: inherit;
    }
    .spa_head .head2 span {
        position: relative;
        right: 0;
        height: auto;
        padding-right: 10px;
        margin-right: 15px;
    }
    .spa_h_inner .txt {
        align-self: flex-start;
        width: 100%;
    }
    .spa_h_inner .txt br {
        display: none;
    }
    .spa_h_inner .head3 {
        margin-left: 0;
        margin-bottom: 7px;
        font-size: 2.5rem;
        line-height: 1.3;
    }
    .spa_head {
        padding-bottom: 0;
        margin-bottom: 0;
    }
    .thumb_slide .swiper-slide.bg {
        height: 60px;
    }
    .spa_cont {
        margin: 20px auto 40px;
    }
    .spa_cont {
        flex-direction: column;
    }
    .spa_cont .h_txt_wrap {
        width: 100%;
        margin-bottom: 10px;
    }
    .spa_cont img {
        width: 100%;
    }
    .spa_cont .h {
        margin-bottom: 5px;
        font-size: 2.1rem;
    }
    .spa_cont .feature_wrap {
        margin-left: 0;
        margin-bottom: 5px;
    }
    .table_block1{
        width: 88%;
        margin: 10vw auto;
    }
    .table_block1 dt {
        width: 100%;
        padding: 10px 24px;
    }
    .table_block1 dd {
        padding: 20px 24px;
    }
    .table_block1 dl {
        flex-wrap: wrap;
    }
    #spa_info {
        margin-bottom: 50px;
    }
    #spa_kashikiri .h_sideline {
        margin-bottom: 10px;
        font-size: 2rem;
        line-height: 1.5;
        text-align: center;
    }
    #spa_kashikiri .h_sideline span {
        display: none;
    }
    .h_sideline::before, .h_sideline::after {
        display: none;
    }
    .spa_kashikiri_inner {
        padding: 20px 15px;
    }
    .spa_kashikiri_inner .h_border.p {
        padding-bottom: 5px;
        font-size: 1.7rem;
        text-align: left;
    }
    .spa_kashikiri_inner .txt {
        font-size: 1.5rem;
    }
    /*spa-767*/

    #faci_top {
        flex-direction: column-reverse;
        width: 92%;
        margin: 0 auto 50px;
    }
    #faci_top img {
        width: 100%;
        margin-bottom: 10px;
    }
    #faci_top .h_txt_wrap {
        width: 100%;
    }
    #faci_top::after {
        display: none;
    }
    #faci_top .h_txt_wrap .h {
        margin-bottom: 5px;
        font-size: 2.3rem;
    }
    .txt {
        font-size: 1.5rem;
        line-height: 1.7;
    }
    .link_block.c3 a {
        width: 48%;
    }
    #faci_garden .center .h_txt_wrap .h {
        font-size: 2rem;
    }
    #faci_garden .center .h_txt_wrap .txt {
        text-align: left;
    }
    #faci_bfree .head2_1 {
        margin-bottom: 15px;
        font-size: 2rem;
    }
    #faci_bfree {
        padding-top: 20px;
        padding-bottom: 35px;
    }
    .non_step_li li > span {
        font-size: 1.8rem;
    }
    .non_step_li li {
        flex-direction: column-reverse;
        padding: 40px 20px 20px;
    }
    .non_step_li li > * {
        width: 100%;
    }
    .non_step_li .head3 {
        padding: 15px 0 0;
        font-size: 1.6rem;
    }
    .non_step_li li::after {
        bottom: -5px;
        width: 30px;
        height: 30px;
    }
    .non_step_li li.goal {
        padding: 15px 15px;
        margin-top: 35px;
        font-size: 1.7rem;
    }
    .non_step_li {
        margin-bottom: 45px;
    }
    .bfree_room {
        padding: 20px 20px 0;
        margin-bottom: 25px;
    }
    .bfree_room .h_border {
        padding-bottom: 5px;
        margin-bottom: 20px;
        font-size: 1.8rem;
    }
    .bfree_room ul {
        flex-wrap: wrap;
    }
    .bfree_room li {
        width: 100%;
        max-width: 400px;
        margin-bottom: 25px;
    }
    .bfree_room img {
        margin-bottom: 5px;
    }
    .bfree_room p {
        font-size: 1.6rem;
    }
    .front_block, .store_block, .seiryu_block {
        flex-direction: column-reverse;
        width: 92%;
        margin: 0 auto 25px;
    }
    .front_cont, #faci_front .h_txt_wrap, #faci_front .seiryu_block .h_txt_wrap {
        width: 100%;
    }
    .front_block .img, .store_block > img, .seiryu_block > img {
        width: 100%;
    }
    .seiryu_block > img {
        margin-bottom: 5px;
    }
    .seiryu_block .h, .seiryu_block .txt {
        width: 100%;
    }
    .front_block .img::before, .front_cont::before {
        display: none;
    }
    #faci_front .h_txt_wrap {
        padding: 10px 0 0;
    }
    #faci_front .h {
        margin-bottom: 5px;
        font-size: 2rem;
    }
    .front_cont img {
        display: none;
    }
    .seiryu_block .btn_wrap.back_wave {
        background: none;
    }
    .faci_spa_block .btn1 {
        width: 100%;
        padding-left: 10px;
        padding-right: 20px;
        margin-left: 0;
        margin-right: 15px;
        font-size: 1.3rem;
    }
    .faci_spa_block .btn1 span {
        width: 25px;
        right: -15px;
    }
    #faci_spa {
        padding-top: 20px;
    }
    .faci_spa_block .head3 {
        font-size: 1.8rem;
    }
    .faci_spa_after .h_sideline {
        margin-bottom: 10px;
        font-size: 2rem;
    }
    .faci_spa_after .img {
        width: 100%;
        padding-bottom: 0;
    }
    .faci_spa_after .img img {
        width: 100%;
    }
    .faci_spa_after .cont {
        width: 100%;
    }
    .faci_spa_after .cont img {
        display: none;
    }
    .faci_hall_img .img p {
        font-size: 1.7rem;
    }
    .faci_hall_block .faci_hall_img, .faci_hall_block .txt {
        width: 100%;
        margin: 0 auto 20px;
    }
    .faci_hall_block > .txt {
        margin-bottom: 0;
        text-align: left;
    }
    .faci_hall_block.block1, .faci_hall_block.block2 {
        padding-top: 25px;
        padding-bottom: 15px;
    }
    .faci_spa_after .img::before, .faci_spa_after::after {
        display: none;
    }
    .faci_spa_after .h_txt_wrap {
        padding: 10px 0 0;
    }
    .faci_spa_after .h {
        font-size: 2rem;
    }
    .faci_spa_after {
        padding-bottom: 30px;
    }
    #faci_front {
        padding-top: 40px;
        padding-bottom: 0;
    }
    .seiryu_block .btn_wrap.back_wave {
        width: 100%;
        margin-top: 10px;
        padding: 0;
        background: none;
    }
    .seiryu_block .btn_wrap.back_wave .btn1 {
        margin: auto;
    }
    .seiryu_block {
        margin-bottom: 40px;
    }
    .faci_spa_wrap {
        margin-bottom: 0px;
    }
    .faci_spa_block .txt {
        margin-bottom: 10px;
    }
    .faci_spa_block + .faci_spa_block {
        margin-top: 25px;
    }
    #faci_hall {
        margin-bottom: 40px;
    }
    #faci_info {
        margin-bottom: 70px;
    }
    .faci_hall_img .img {
        width: 48%;
    }
    #faci_hall .head2_1 {
        margin-bottom: 15px;
    }
    #faci_garden .head2_1 {
        margin-bottom: 10px;
    }
    #faci_garden .center .h_txt_wrap {
        padding: 20px 0 30px;
    }
    #faci_garden {
        padding-top: 40px;
    }
    /*facilities-767*/

    .access_sec .pc_root {
        display: none;
    }
    .sp_root {
        opacity: 1;
        height: auto;
        pointer-events: inherit;
    }
    .access_bnr {
        margin: 30px auto 0;
    }
    .access_sec {
        padding-bottom: 50px;
    }
    .access_map .btn_wrap .btn1 {
        margin: 0 40px;
    }
    /*access-767*/

    #page_contact {
        padding-right: 15px;
        padding-left: 15px;
    }
    .contact_form {
        padding: 10px 0 15px;
    }
    .contact_form_wrap {
        padding: 25px 10px 35px;
    }
    #page_contact .head2_1, #recruit_contact .head2_1 {
        margin-bottom: 20px;
    }
    #page_contact, #recruit_yoko, #recruit_contact {
        padding-top: 30px;
        padding-bottom: 45px;
    }
    .contact_btn .btn2 {
        min-width: 125px;
        margin: 5px;
    }
    .btn2 input, .btn2 a {
        padding: 10px 35px 10px 20px;
        font-size: 1.5rem;
    }
    .contact_btn .btn2::after {
        right: 20px;
        font-size: 1.5rem;
    }
    .contact_btn .btn2:hover::after {
        right: 15px;
    }
    #page_contact, #recruit_contact {
        margin-bottom: 75px;
    }
    .mw_wp_form_confirm .contact_form > dt {
        margin-bottom: 0;
    }
    .mw_wp_form_confirm .contact_form {
        padding: 10px 0;
    }
    .contact_btn.btn_wrap {
        margin-top: 20px;
    }
    /*contact-767*/

    .post_archive li a {
        padding: 15px 50px 15px 15px;
    }
    .post_cd .cat {
        margin-right: 10px;
    }
    .post_archive .title {
        font-size: 1.6rem;
    }
    .post_archive li a::after {
        right: 20px;
    }
    .post_archive li a:hover::after {
        right: 15px;
    }
    .post_archive {
        margin-bottom: 30px;
    }
    div.wp-pagenavi {
        padding: 10px;
    }
    .post_archive_wrap {
        padding-top: 30px;
        padding-bottom: 35px;
        margin-bottom: 70px;
    }
    /*archive-news-767*/

    .post_single::before {
        height: 50px;
        margin-bottom: 20px;
    }
    .post_contents {
        width: 100%;
        margin-bottom: 30px;
    }
    .post_single_wrap {
        display: block;
        margin-bottom: 50px;
    }
    .post_title {
        padding-bottom: 5px;
        margin-top: 5px;
        margin-bottom: 15px;
        font-size: 1.9rem;
    }
    .post_cont {
        font-size: 1.5rem;
    }
    .side {
        width: 88%;
    }
    .widgettitle, .widget-title {
        padding-bottom: 5px;
        font-size: 1.7rem;
    }
    .widget, .widget.widget_search, .widget.widget_recent_entries {
        margin-bottom: 25px;
    }
    input.search-field {
        padding: 10px;
    }
    input.search-submit {
        width: 37px;
        height: 37px;
    }
    form.search-form::before {
        right: 12px;
    }
    .widget select {
        padding: 12px 10px;
    }
    .widget_archive::after {
        bottom: 10px;
    }
    .single_pager.sp + .side {
        margin-bottom: 80px;
    }
    /*single-767*/

    .voice_archive li {
        width: 48%;
    }
    .voice_archive .cont {
        padding: 10px 15px;
    }
    .voice_archive .title {
        margin-bottom: 5px;
        font-size: 1.6rem;
    }
    /*archive-voice-767*/

    .faq_h img {
        max-width: 244px;
        width: 60%;
    }
    .faq_h {
        padding-top: 25px;
        margin-bottom: 25px;
    }
    .faq_h::before {
        height: 50px;
    }
    .faq_temp {
        padding-top: 45px;
    }
    .page_faq .link_block a p {
        font-size: 1.8rem;
    }
    .faq_temp .head3 {
        margin-bottom: 20px;
        font-size: 2.5rem;
    }
    .faq_li .acc-btn::before, .faq_li .acc-cont::before {
        left: 10px;
        width: 40px;
        height: 40px;
    }
    .faq_li .acc-btn::after {
        right: 15px;
    }
    .faq_li .acc-btn, .faq_li .acc-cont {
        padding: 20px 40px 20px 55px;
    }
    .faq_li li {
        margin-bottom: 15px;
    }
    .faq_li .acc-btn {
        font-size: 1.7rem;
        line-height: 1.5;
    }
    .faq_li .acc-cont {
        font-size: 1.5rem;
        line-height: 1.5;
    }
    .page_faq::after {
        height: 70px;
    }
    .page_faq {
        padding-bottom: 120px;
        margin-bottom: 75px;
    }
    /*faq-767*/

    job_yoko {
        padding-top: 30px;
        padding-bottom: 20px;
        margin-bottom: 40px;
    }
    .job_yoko_block .name {
        padding: 15px 20px;
    }
    .job_yoko_block .txt {
        padding: 0 5px;
    }
    .job_yoko_info dt {
        padding: 7px 10px;
    }
    .job_yoko_info dd {
        padding: 10px 10px 20px;
    }
    .job_yoko_cat {
        margin: 0 auto;
    }
    .job_yoko .head2_1 {
        margin-bottom: 20px;
    }
    .job_yoko_block .name {
        font-size: 1.8rem;
    }
    .recruit_flow_li {
        flex-wrap: wrap;
    }
    .recruit_flow_li li {
        width: 100%;
        margin-bottom: 50px;
    }
    .recruit_flow_li li:last-of-type {
        margin-bottom: 0;
    }
    #recruit_flow .head2_1, #link_archive .head2_1 {
        margin-bottom: 20px;
    }
    #recruit_flow {
        padding-top: 30px;
        padding-bottom: 45px;
    }
    .recruit_flow_li .head3::before {
        width: 60px;
        height: 60px;
        font-size: 2.6rem;
    }
    .recruit_flow_li .head3 {
        margin-bottom: 10px;
    }
    .recruit_flow_li p {
        font-size: 1.4rem;
    }
    .recruit_flow_li .head4 {
        font-size: 1.6rem;
    }
    .recruit_flow_li li::after {
        content: '\f13a';
        top: auto;
        bottom: -35px;
        right: auto;
        left: 50%;
        line-height: 1;
        transform: translateX(-50%);
    }
    #recruit_contact .head2_1 {
        margin-right: 20px;
        margin-left: 20px;
    }
    /*recruit-767*/
}
/*rsp-767*/

@media only screen and (max-width: 520px) {
    .top_contents_li li::before {
        height: 200px;
    }
    .thumb_slide_wrap .swiper-wrapper {
        justify-content: flex-start;
    }
    #top_for .fb {
        height: 300px;
    }
    /*top-520*/

    .cisn_img_li li {
        max-width: 320px;
        width: 100%;
        margin: 0 auto 25px;
    }
	.cisn_kidsmenu_li li {
        width: 100%;
        margin: 0 auto 25px;
    }
    .cisn_img_li .img,.cisn_kidsmenu_li .img {
        margin-bottom: 10px;
    }
    .cisn_menu_li li {
        max-width: 320px;
        width: 100%;
        margin: 0 auto 25px;
    }
    .cisn_menu_li {
        flex-wrap: wrap;
        margin-bottom: 10px;
    }
    /*cuisine-520*/

    .alink_img {
        height: 90px;
    }
    .room_facility_li {
        width: 100%;
    }
    /*room-520*/

    .faci_spa_wrap {
        flex-wrap: wrap;
    }
    .faci_spa_block {
        width: 100%;
        max-width: 400px;
    }
    /*facilities-520*/

    .link_block.c4 a, .link_block.c4 .dummy {
        width: 48%;
    }
    /*access-520*/

    .pager_wrap {
        width: 100%;
        padding: 15px 20px;
    }
    .single_pager {
        padding: 15px 20px;
        margin-bottom: 60px;
    }
    /*single-520*/
}
/*rsp-520*/

@media only screen and (max-width: 370px) {
    .form_wrap form {
        flex-direction: column;
        align-items: center;
    }
    .date_489ban {
        margin-right: 0;
    }

    .job_yoko_block .cont {
        padding: 15px 15px 25px;
    }
    /*recruit-370*/
}
/*rsp-370*/


/*221005*/
.top_campaign_slide .top_campaign_block {
    margin: 0;
    padding: 0 15px;
}
.top_campaign .slick-next {
	right: 50px;
    width: 50px;
    height: 50px;
	z-index:1;
}
.top_campaign .slick-prev {
	left: 50px;
    width: 50px;
    height: 50px;
	z-index:1;
}
.top_campaign .slick-prev::before, .top_campaign .slick-next::before {
    content: '\f053';
    opacity: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    background-color: #944260;
}
.top_campaign .slick-prev::before {
    content: '\f053';
}
.top_campaign .slick-next::before {
    content: '\f054';
}
.top_campaign .slick-dots {
    position: relative;
    bottom: 0;
}
.top_campaign .slick-dots li.slick-active button:before, .slick-dots li button:hover:before, .slick-dots li button:focus:before {
    opacity: 1;
    color: #944260;
}
.top_campaign .slick-dots li button:before {
    font-size: 15px;
}
.top_campaign_slide .top_campaign_block.img_l .img {
    height: 250px;
}
.top_campaign_slide .top_campaign_block.img_l .img img {
    width: 100%;
    height: 100%;
    margin: auto;
    object-fit: contain;
}
.top_campaign_slide .top_campaign_block .txt + .rm_btn[data-readmore-toggle] {
    /*position: absolute;
    bottom: 0;
    left: 50%;*/
    width: 85px;
    padding: 10px;
    color: #fff;
    font-size: 1.3rem;
    text-align: center;
    background-color: #944260;
    cursor: pointer;
    transition: all .3s ease;
    z-index: 1;
}
.top_campaign_slide .top_campaign_block .txt[aria-expanded="false"] {
    position: relative;
    transition: all .3s ease;
}
.top_campaign_slide .top_campaign_block .txt[aria-expanded="false"]::after {
    content: '';
    opacity: 1;
    position: absolute;
    bottom: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 35px;
    background: linear-gradient(180deg, transparent 0%, #fff 60%, #fff 100%);
    transition: all .3s ease;
}
.top_campaign_slide .top_campaign_block .txt[aria-expanded="true"]::after {
    content: '';
    opacity: 0;
    position: absolute;
    bottom: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 35px;
    background: linear-gradient(180deg, transparent 0%, #fff 60%, #fff 100%);
    transition: all .3s ease;
}
/*
.top_campaign_block .txt[aria-expanded="true"] {
    margin-bottom: 35px;
}
*/
.top_campaign_inner > .flex {
    position: relative;
    flex-direction: column;
    align-items: center;
}
.top_campaign_slide .top_campaign_block p {
    margin-bottom: 7px;
}
#top_campaign2 .top_campaign_block p {
    margin-bottom: 0;
}
@media only screen and (max-width: 1000px) {
    .top_campaign_slide .top_campaign_block.img_l .img {
        height: 190px;
    }
    #top_campaign2 .top_campaign_block {
        padding: 20px;
        margin: 10px 0;
    }
}
@media only screen and (max-width: 767px) {
    .top_campaign_slide .top_campaign_block {
        padding: 0 10px;
    }
    .top_campaign_inner {
        padding: 15px 20px 25px;
    }
    .top_campaign_slide .top_campaign_block.img_l .img {
        height: 165px;
    }
}
@media only screen and (max-width: 479px) {
    .top_campaign_slide .top_campaign_block {
        padding: 0 5px;
    }
    #top_campaign2 .top_campaign_block.img_half > .flex {
        flex-direction: column;
    }
    #top_campaign2 .top_campaign_block {
        padding: 15px;
    }
    #top_campaign2 .top_campaign_block .img {
        align-self: center;
        width: 70%;
        padding-right: 0;
    }
    #top_campaign2 .top_campaign_block .txt_wrap {
        width: 100%;
    }
}
/*//221005*/


/*
font-family: "Font Awesome 5 Free";font-weight: 900;
font-family: "Font Awesome 5 Brands";font-weight: 400;
-----------------------------------------------------------
font-family: "貂ｸ譏取悃菴�", YuMincho, "YuMincho", "貂ｸ譏取悃", "Yu Mincho", "繝偵Λ繧ｮ繝取�譛� Pro", "Hiragino Mincho Pro", serif;
-----------------------------------------------------------
font-family: "游ゴシック体", "YuGothic", "Yu Gothic", "游ゴシック", "メイリオ", Meiryo, sans-serif;
-----------------------------------------------------------
font-family: dnp-shuei-mincho-pr6n, sans-serif;
*/




/* 2024.07.30*/

/*.gradient{
  background-color: #FBF9F4;
}*/
.pc-br {
  display: none;
}

@media only screen and (min-width: 1025px) {
  .pc-br {
    display: block;
  }
}

.dis-pc {
  display: none;
}

@media only screen and (min-width: 1025px) {
  .dis-pc {
    display: block;
  }
}

@media only screen and (min-width: 1025px) {
  .dis-sp {
    display: none;
  }
}

.img-width {
  width: 100%;
  height: auto;
}

.img-width img {
  width: 100%;
  height: auto;
}

#cuisine_top::after {
  display: none;
}

.link-dish {
  padding-top: 50px;
  padding-bottom: 20px;
  background: url(https://www.asagiriso.com/wp-content/themes/asagiriso/img/back_pattern1.png);
}

@media only screen and (min-width: 1025px) {
  .link-dish {
    padding-top: 100px;
    padding-bottom: 50px;
  }
}

.link-dish ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-flex-flow: wrap;
  -ms-flex-flow: wrap;
  flex-flow: wrap;
  max-width: 1100px;
  margin: auto;
  width: 90%;
  list-style: none;
}

@media only screen and (min-width: 1025px) {
  .link-dish ul {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
}

.link-dish ul li {
  width: 47%;
  margin-bottom: 30px;
  position: relative;
  margin-bottom: 60px;
}

@media only screen and (min-width: 1025px) {
  .link-dish ul li {
    width: 30%;
    margin-bottom: 60px;
  }
}

.link-dish ul li img {
  width: 100%;
  height: auto;
  -webkit-transition: .5s;
  transition: .5s;
}

.link-dish ul li img:hover {
  opacity: .8;
}

.link-dish ul li span {
  display: block;
  font-size: 1.5rem;
  text-align: center;
  margin-bottom: 10px;
  font-weight: normal;
  line-height: 1.3;
}

@media only screen and (min-width: 1025px) {
  .link-dish ul li span {
    font-size: 2.3rem;
    white-space: nowrap;
  }
}

.link-dish ul li a {
  display: block;
}

.link-dish ul li a::before {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f107";
  position: absolute;
  bottom: -50px;
  left: 50%;
  font-size: 3rem;
  color: #804260;
  -webkit-transition: .2s;
  transition: .2s;
}

.link-dish ul li a:hover::before {
  bottom: -55px;
}

@media only screen and (min-width: 1025px) {
  .link-dish ul li:nth-child(2) {
    margin-left: 2vw;
    margin-right: 2vw;
  }
}

@media only screen and (min-width: 1025px) {
  .link-dish ul li:nth-child(4) {
    margin-right: 1vw;
  }
}

@media only screen and (min-width: 1025px) {
  .link-dish ul li:nth-child(5) {
    margin-left: 1vw;
  }
}

.tit-bf {
  margin-bottom: 20px;
  font-weight: bold;
  font-size: 1.9rem;
  line-height: 1.3;
  padding-left: 1.3em;
  text-indent: -0.7em;
}

@media only screen and (min-width: 1025px) {
  .tit-bf {
    font-size: 3rem;
    margin-left: 3vw;
  }
}

.tit-bf span {
  display: inline-block;
  color: #804260;
  margin-right: 1rem;
}

.sub-tit-bf {
  margin-top: 50px;
}

@media only screen and (min-width: 1025px) {
  .sub-tit-bf {
    margin-top: 100px;
  }
}

#bf-wrap {
  max-width: 1100px;
  margin: auto;
}

.bf-column {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-bottom: 40px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-flow: column;
  -ms-flex-flow: column;
  flex-flow: column;
}

@media only screen and (min-width: 1025px) {
  .bf-column {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-flow: row;
    -ms-flex-flow: row;
    flex-flow: row;
    margin-bottom: 100px;
  }
}

.bf-column .bf-r {
  text-align: left;
}

@media only screen and (min-width: 1025px) {
  .bf-column .bf-r {
    width: 45%;
    padding-top: 30px;
  }
}

@media only screen and (min-width: 1025px) {
  .bf-column .bf-r p.txt {
    margin-left: 3vw;
    line-height: 2;
    font-size: 1.6rem;
  }
}

.bf-column .bf-r .bf-pic02.dis-sp {
  width: 70%;
  margin: 50px auto 0;
}

.bf-column .bf-r .bf-pic03 {
  margin-top: 30px;
}

@media only screen and (min-width: 1025px) {
  .bf-column .bf-r .bf-pic03 {
    margin-top: 120px;
  }
}

@media only screen and (min-width: 1025px) {
  .bf-column .bf-l {
    width: 55%;
  }
}

.bf-column .bf-l .bf-pic02 {
  width: 50%;
  float: right;
  margin-right: 3vw;
}

.bf-column img {
  height: auto;
  width: 100%;
}

.bf-column .thumbnail .slick-track {
  -webkit-transform: unset !important;
  transform: unset !important;
}

.bf-column .thumbnail-img {
  opacity: 0.3;
  -webkit-transition: opacity .3s linear;
  transition: opacity .3s linear;
  width: 100px !important;
  margin-right: 5px;
  margin-top: 5px;
}

.bf-column .thumbnail .slick-current {
  opacity: 1;
}

.bf-column .thumbnail {
  margin-bottom: 30px;
}

.bf-column02 {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-flow: column;
  -ms-flex-flow: column;
  flex-flow: column;
  margin-bottom: 50px;
}

@media only screen and (min-width: 1025px) {
  .bf-column02 {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-flow: row;
    -ms-flex-flow: row;
    flex-flow: row;
    margin-bottom: 50px;
  }
}

.bf-column02:last-child {
  margin-bottom: 0;
}

@media only screen and (min-width: 1025px) {
  .bf-column02 p.txt {
    line-height: 2;
    font-size: 1.6rem;
  }
}

.bf-column02 .bf-l {
  text-align: left;
  margin-bottom: 10px;
  padding-top: 50px;
}

@media only screen and (min-width: 1025px) {
  .bf-column02 .bf-l {
    width: 42%;
    margin-bottom: 0;
    padding-top: 50px;
  }
}

.bf-column02 .bf-l .tit-bf {
  margin-left: 0;
}

.bf-column02 .bf-l .tit-bf span::before {
  content: "02";
}

.bf-column02 .bf-l .tit-bf span.num03::before {
  content: "03";
}

.bf-column02 .bf-l .tit-bf span.num04::before {
  content: "04";
}

@media only screen and (min-width: 1025px) {
  .bf-column02 .bf-r {
    width: 52%;
  }
}

@media only screen and (min-width: 1025px) {
  .bf-column02:nth-child(odd) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -webkit-flex-flow: row-reverse;
    -ms-flex-flow: row-reverse;
    flex-flow: row-reverse;
  }
}

.bf-gallery {
  background: url(https://www.asagiriso.com/wp-content/themes/asagiriso/img/second_top_r.svg) right bottom no-repeat;
  background-size: 100px;
  position: relative;
  top: -50px;
}

@media only screen and (min-width: 1025px) {
  .bf-gallery {
    top: -100px;
    background-size: 200px;
  }
}

.bf-gallery .bf-gallery-inner {
  background: url(https://www.asagiriso.com/wp-content/themes/asagiriso/img/second_top_l.svg) left top 0px no-repeat;
  background-size: 100px;
  padding-top: 80px;
}

@media only screen and (min-width: 1025px) {
  .bf-gallery .bf-gallery-inner {
    background-size: 200px;
  }
}

.bf-gallery ul {
  max-width: 1100px;
  margin: auto;
  width: 90%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-flex-flow: wrap;
  -ms-flex-flow: wrap;
  flex-flow: wrap;
  list-style: none;
}

.bf-gallery ul li {
  width: 32%;
  margin-bottom: 10px;
}

@media only screen and (min-width: 1025px) {
  .bf-gallery ul li {
    margin-bottom: 15px;
  }
}

.bf-gallery ul li img {
  cursor: pointer !important;
}

.cisn_mzen {
  margin-top: 0;
}

@media only screen and (min-width: 1025px) {
  .sp-br {
    display: none;
  }
}

span.cap {
  color: #FFFFFF;
  text-align: left;
  margin-top: 10px;
  display: block;
}

#popup, #popup02, #popup03, #popup04, #popup05, #popup06, #popup07, #popup08 {
  display: none;
}

.popup-open {
  cursor: pointer;
}

.popup-overlay {
  opacity: 0;
  visibility: hidden;
  -webkit-transition: .2s;
  transition: .2s;
}

#popup:checked ~ .popup-overlay {
  z-index: 99999;
  background-color: rgba(0, 0, 0, 0.8);
  position: fixed;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
  opacity: 1;
  visibility: visible;
}

#popup02:checked ~ .popup-overlay {
  z-index: 99999;
  background-color: rgba(0, 0, 0, 0.8);
  position: fixed;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
  opacity: 1;
  visibility: visible;
}

#popup03:checked ~ .popup-overlay {
  z-index: 99999;
  background-color: rgba(0, 0, 0, 0.8);
  position: fixed;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
  opacity: 1;
  visibility: visible;
}

#popup04:checked ~ .popup-overlay {
  z-index: 99999;
  background-color: rgba(0, 0, 0, 0.8);
  position: fixed;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
  opacity: 1;
  visibility: visible;
}

#popup05:checked ~ .popup-overlay {
  z-index: 99999;
  background-color: rgba(0, 0, 0, 0.8);
  position: fixed;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
  opacity: 1;
  visibility: visible;
}

#popup06:checked ~ .popup-overlay {
  z-index: 99999;
  background-color: rgba(0, 0, 0, 0.8);
  position: fixed;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
  opacity: 1;
  visibility: visible;
}

#popup07:checked ~ .popup-overlay {
  z-index: 99999;
  background-color: rgba(0, 0, 0, 0.8);
  position: fixed;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
  opacity: 1;
  visibility: visible;
}

#popup08:checked ~ .popup-overlay {
  z-index: 99999;
  background-color: rgba(0, 0, 0, 0.8);
  position: fixed;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
  opacity: 1;
  visibility: visible;
}

.popup-window {
  width: 90vw;
  max-width: 1000px;
  padding: 20px;
  border-radius: 6px;
  position: fixed;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.popup-text {
  margin: 0;
  color: #FFFFFF;
}

.popup-text:not(:last-of-type) {
  margin-bottom: 1em;
}

.popup-close {
  cursor: pointer;
  position: absolute;
  top: -5px;
  right: 0;
  background: #944260;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 20px;
}

/*250513*/
#top_beef {
    position: relative;
    width: 100%;
}
#top_beef::before {
    position: absolute;
    bottom: 65px;
    left: 0;
    content: '';
    display: block;
    width: 100%;
    height: 230px;
    background: url("./img/back_wave.svg") center center/cover no-repeat;
    z-index: 0;
}
#top_beef .wrap {
    position: relative;
    display: flex;
    justify-content: space-between;
    max-width: 1020px;
    width: 92%;
    padding-bottom: clamp(30px, 10vw, 150px);
	margin: auto;
    z-index: 1;
}
#top_beef .img {
    width: 41%;
}
#top_beef .img > .img1 {
    display: block;
    width: 100%;
}
#top_beef .img > .img2 {
    display: block;
    width: 70%;
	margin-top: -10%;
	margin-left: auto;
}
#top_beef .cont {
    position: relative;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: flex-start;
    width: 52%;
	margin-top: clamp(20px, 5vw, 65px);
}
#top_beef .cont::before {
    content: '';
    position: absolute;
	top: 0;
    right: 0;
    display: block;
    width: 21.36vw;
    height: calc(21.36vw * .36);
    background: url(./img/figure_wave.svg) center center / contain no-repeat;
    transform: translate(60%, -50%);
}
#top_beef .cont > img {
    display: block;
    max-width: 378px;
    width: 100%;
    margin-top: clamp(20px, 6.54vw, 110px);
}
#top_beef .cont_img {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    width: 100%;
	margin-top: auto;
}
#top_beef .cont .img1 {
    display: block;
	width: 100%;
}
#top_beef .cont .img2 {
    display: none;
}
#top_beef .tit {
    margin-bottom: 25px;
    color: #944260;
    font-size: 3.3rem;
    font-weight: 600;
    line-height: 1.7;
}
#top_beef .txt > span {
	color: #000;
	vertical-align: top;
}
@media only screen and (max-width: 1024px) {
	#top_beef .tit {
		margin-bottom: 15px;
		font-size: 2.5rem;
	}
}
@media only screen and (max-width: 767px) {
	#top_beef .tit {
		margin-bottom: 10px;
		font-size: 1.8rem;
		line-height: 1.5;
	}
	#top_beef::before, #top_beef .cont::before {
		display: none;
	}
	#top_beef .wrap {
		flex-direction: column;
		justify-content: flex-start;
	}
	#top_beef .img {
		width: 100%;
		margin-bottom: 10px;
	}
	#top_beef .img > .img2 {
		display: none;
	}
	#top_beef .cont {
		width: 100%;
		margin-top: 15px;
	}
	#top_beef .cont .img1 {
		width: 61%;
		margin-left: 0;
	}
	#top_beef .cont .img2 {
		display: block;
		width: 35%;
		margin-bottom: 0;
	}
}
/*//250513*/


.table_block1 dd ul li::before {
    content: '\30FB'; /* ← これが「・」 */
}
.table_block1 dl.inner dd::before {
    content: '　';
}
a:hover {
    opacity: 0.7;
    transform: scale(0.97); /* 少し縮小して反応をつける */
}



/* ==========================================================================



共通 - スマホ



   ========================================================================== */
/* --- Mobile Standard (768px以下) --- */
@media only screen and (max-width: 768px) {
    /* ============
    SPーpage-title
    ============= */
    .page-title{
        font-size: var(--fz23);
        line-height: 1.45;
    }
    .page-title::before,
    .page-title::after {
    flex: 0 0 27px;
    }
    .page-title::before {
    margin-right: 16px;
    }
    .page-title::after {
    margin-left: 16px;
    }
    .page-title::before, .page-title::after {
        height: 1px;
    }
    .page-sub-title{
        font-size: var(--fz16);
    }
    .page-sub-title::before {
        margin-right: 12px;
    }
    .page-sub-title::after {
        margin-left: 12px;
    }
    .page-sub-title::before, .page-sub-title::after {
        flex: 0 0 30px;
    }
    /* ============
    SPー共通パーツ
    ============= */
    .head-photo-section .page-title{
        padding-top: 64px;
    }
    .sub-t{
        font-size: var(--fz17);
        margin: 2vw;
        text-align: left;
        padding-top: 2vw;
    }
    h4{
        font-size: var(--fz19);
    }
    .btn1 {
        padding: 20px 41px 20px 30px;
        margin: 20px 50px 0 10px;
        font-size: var(--fz15);
    }
    /* ============
    SPーセカンド共通パーツ
    ============= */
    .second_h_wrap {
        height: 210px;
        margin-bottom: 15px;
    }
    .breadcrumbs_wrap {
        margin-bottom: 20px;
    }
    .page-lead .lead_section {
        padding-top: clamp(45px, 6.94vw, 100px);
        padding-bottom: clamp(32px, 17.95vw, 70px);
        white-space: nowrap;
    }
    .page-lead .spa_lead {
        background: url("./img/spa_lead_sp.webp") center top/100% auto no-repeat #DDE4E9;
    }
    .page-lead .cui_lead {
        background: url("./img/cui_lead_sp.webp") center top/100% auto no-repeat #E8E8E8;
    }
    .page-lead .room_lead {
        background: url("./img/room_lead_sp.webp") center top/100% auto no-repeat #E5D4C0;
        padding-top: 20vw;
    }
    .page-lead .facilities_lead {
        background: url("./img/facilities_lead_sp.webp") center top/100% auto no-repeat #CECD79;
        padding-top: 7vw;
    }
    .page-lead .lead_section .inner {
        width: 80%;
        margin-bottom: clamp(36px, 5.56vw, 80px);
    }
    .page-lead .lead_section .link_wrap {
        flex-wrap: wrap;
        row-gap: 2em;
        padding: 0 7vw;
    }
    .page-lead .lead_section .link_wrap > a {
        width: 45%;
        font-size: clamp(.9rem, 3.85vw, 1.5rem);
    }
    .page-lead .lead_section .tit {
        margin-left: .8em;
        font-size: var(--fz24);
        letter-spacing: .5em;
        line-height: 3.1;
    }
    .page-lead .lead_section .tit > span{
        letter-spacing: 10px;
    }
    .page-lead .lead_section .tit > span + br + span {
        margin-top: 5.5em;
    }
    .page_room .lead_section .tit {
        margin-left: 1.2em;
    }
    .page_room .lead_section .tit > span + br + span {
        margin-top: 3.5em;
    }
    .page-lead .facilities_lead .tit > span + br + span{
        margin-top: 3.5em;
    }
    .page-lead .lead_section .txt {
        margin-top: 38vw;
        font-size: clamp(.9rem, 3.85vw, 1.5rem);
        letter-spacing: .2em;
        line-height: 2;
    }
    .page-lead .facilities_lead .txt {
        margin-top: 31vw;
    }
    .page_cuisine .lead_section .txt {
        margin-top: 54vw;
        padding-bottom: 20vw;
        white-space: nowrap;
    }
    .page_room .lead_section .txt {
        padding-bottom: 14vw;
    }
    .head-photo-section .page-sub-title{
        padding-top: 40px;
    }
    /* ============
    詳細の表　２列
    ============= */
    .table_block2{
            margin: 5vw auto;
            display: flex;
            flex-direction: column;
            flex-wrap: nowrap;
    }
    .table_block2 dl {
        width: 95%;
        margin: 0 auto;
        display: flex;
        flex-direction: column;
    }
    .table_block2 dl:nth-child(2) {
        border-top: none;
    }
    .table_block2 dt {
        display: flex;
        align-content: center;
        flex-shrink: 0;
        justify-content: center;
        width: 100%;
        padding: 1em 1em 1em 1.5em;
        background-color: #EFE7DD;
    }
    .table_block2 dd {
        width: 100%;
        padding: 1em 1em 1em 1.3em;
        background-color: #fff;
    }

    /* ============
    SPーお料理
    ============= */
	#cuisine_top_slide{
		margin-bottom:20px;
	}
	#cuisine_top_slide .slide-item{
		width: 80vw;
		padding: 0 15px;
	}
	#cuisine_top_slide .slide-item .slide-item-img {
		padding-bottom: 65%;
	}
	#cuisine_top_slide .slide-item.slick-center .slide-item-img {
		-moz-transform: scale(1.15);
		-ms-transform: scale(1.15);
		-o-transform: scale(1.15);
		-webkit-transform: scale(1.15);
		transform: scale(1.15);
	}
    .sec-kodawari{
        padding: 80px 0;
    }
    .cisn_top_cont {
        flex-direction: column;
        padding-top: 7vw;
    }
    .cisn_top_cont .ja-logo {
        min-width: 100px;
        max-width: 100px;
        margin-right: 0em;
    }
    .cisn_top_cont .txt {
        font-size: var(--fz18);
        padding: 7vw 6vw 0;
        text-align: center;
        line-height: 7vw;
    }
    .kodawari_list{
        width: 100%;
    }
    .kodawari_illust{
        width: 100%;
        margin: 0 auto;
    }
    .kodawari_inner{
        display: flex;
        gap: 0;
        justify-content: space-around;
    }
    .kodawari_inner p{
        width: 43%;
        font-size: var(--fz14);
    }
    .kodawari_block{
        background-color: #fff;
        position: relative;
        padding: 20vw 5vw 7vw;
        border-radius: 8px;
        margin-top: 32vw;
    }
    .kani_block, .kome_block{
        background-color: #fff;
        position: relative;
        padding: 0;
        border-radius: 8px;
        margin-top: 40vw;
    }
    .kodawari_item_wrap{
        display: flex;
        justify-content: center;
        position: absolute;
        top: -24vw;
    }
    .kodawari_item{
        position: relative;
        display: flex;
        width: 100%;
    }
    .kodawari_item .kodawari_item_img{
        width:50%;
        padding-left: 1vw;
        z-index: 1;
    }

    .kodawari_item .kodawari_item_txt {
        position: relative;
        z-index: 2;
        width: 100%;
    }
    .kodawari_item .kodawari_item_txt .kodawari-photo{
        position: inherit;
        top: 10px;
        right: 18px;
        width: 100%;
        z-index: 1;
    }
    .kani_block .kodawari_item .kodawari_item_txt .kodawari-photo,
    .kome_block .kodawari_item .kodawari_item_txt .kodawari-photo{
            position: inherit;
        top: 0px;
        right: -4vw;
        width: 90%;
        z-index: 1;
}
    .kodawari_item .kodawari_item_txt h3{
        top: -3vw;
        left: -3vw;
        z-index: 2;
    }
    .kani_block .kodawari_item .kodawari_item_txt h3,
    .kome_block .kodawari_item .kodawari_item_txt h3{
            top: -6vw;
            left: 4vw;
            z-index: 2;
    }
    .kodawari_item .kodawari_item_txt h3 .bg-text {
        padding: 3vw 2.5vw;
        letter-spacing: 0.25vw;
        font-size: var(--fz20);
        border-radius: 4px;
        white-space: nowrap;
    }
    .kodawari_text {
        display: flex;
        flex-direction: column;
        padding: 8vw 0vw;
    }
    .kome_block .kodawari_text, .kani_block .kodawari_text{
        display: flex;
        padding: 100px 5vw 5vw;
    }
    .kodawari_text_inner{
        font-size: var(--fz16);
        background-color: #fff;
        border-radius: 8px;
        border: solid 1px #EFE7DD;
        padding: 6vw;
        line-height: 1.8;
        order: 1;
    }
    .kodawari_text_left{
        order: 3;
    }
    .kodawari_text_right{
        order: 2;
        width: 100%;
        margin-right: 0vw;
        margin-top: 0vw;
        padding: 6vw 0;
    }
    .kodawari_text_left p {
        font-size: var(--fz16);
        width: 103%;
        padding-left: 0;
        padding-right: 4px;
    }
    .kodawari_text_left_img{
        width: 100%;
        padding: 8vw 0 0;
    }
    .kodawari_block .beef{
        padding: 0 0 2vw 0;
        width: 100%;
        margin: 0 auto;
    }
    .kodawari_text_left p span {
        color: #994260;
    }
    #dinner .cui_photos{
        width: 100%;
        margin: 10vw auto;
    }
    #dinner {
        padding-bottom: 80px;
    }
    /* お子様メニュー */
    .kidsmenu{
        padding: 7vw;
    }
    .kidsmenu .sub-t{
        font-size: var(--fz16);
    }
    .cui_kidsmenu{
        flex-direction: column;
    }
    .cui_kidsmenu_inner{
        width: 100%;
    }
    .cui_kidsmenu_inner p {
        font-size: var(--fz14);
        padding-top: 1vw;
    }
    /* 記念日*/
    #cuisine_anniversary{
        padding-bottom: 80px;
    }

    #cuisine_top::after {
        height: 50px;
    }
    .cisn_top_cont .head2_1 {
        padding: 0 20px;
        margin-bottom: 10px;
        font-size: 1.8rem;
        line-height: 1.5;
        text-align: left;
    }
	.cuisine_top_new .cisn_top_cont .head2_1 {
		display: block;
		margin-bottom: 20px;
	}
	.cuisine_top_new .cisn_top_cont .head2_1 .ja-logo {
		min-width: 100px;
		max-width: 100px;
		margin: 0 auto 10px;
	}
    .cisn_top_wrap {
        flex-direction: column;
        align-items: center;
    }
    .cisn_top_wrap .cisn_top_block {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: space-between;
	}
    .cisn_top_block .head3 {
        width: 170px;
        height: 170px;
/*         margin-bottom: 10px; */
        font-size: 2.4rem;
        margin: 0;
    }
    .cisn_top_block .txt {
        max-width: 250px;
        width: calc(100% - 185px);
        text-align: left;
    }
    .cisn_top_block .txt br {
        display: none;
    }
    .cisn_top_wrap .cisn_top_block:nth-child(even) {
		flex-direction: row-reverse;
	}
    .cisn_top_wrap .cisn_top_block:nth-child(even) .txt {
		text-align:right;
	}

    .cisn_top_wrap::after {
        margin: 5px 0;
    }

    /* 追加料理 */
        #additional .wrapper {
        max-width: 100%;
    }

    #additional .page-title {
        padding-top: 55px;
        font-size: 2.1rem;
        letter-spacing: 0.12em;
    }
    #additional .page-title::before,
    #additional .page-title::after {
        flex-basis: 28px;
        height: 1px;
    }
    #additional .page-title::before {
        margin-right: 12px;
    }
    #additional .page-title::after {
        margin-left: 12px;
    }
    .add-dish-list {
        display: block;
        padding: 36px 0 70px;
        margin: 0;
    }
    .add-dish-slider:not(.slick-initialized) {
        display: flex;
        overflow: hidden;
    }
    .add-dish-slider:not(.slick-initialized) .add-dish-item {
        flex: 0 0 76%;
        margin: 0 11px;
    }
    .add-dish-slider .slick-list {
        overflow: visible;
    }
    .add-dish-slider .slick-track {
        display: flex;
        align-items: stretch;
    }
    .add-dish-item,
    .add-dish-slider .add-dish-item {
        width: auto;
        min-width: 0;
        padding: 0 11px;
    }
    .add-dish-item figcaption {
        gap: 16px;
        padding-top: 22px;
    }
    .add-dish-name {
        font-size: var(--fz19);
    }
    .add-dish-price {
        font-size: var(--fz19);
        text-align: right;
    }
    .add-dish-slider .slick-dots {
        position: static;
        display: flex;
        justify-content: center;
        gap: 14px;
        padding-top: 24px;
    }
    .add-dish-slider .slick-dots li {
        width: 8px;
        height: 8px;
        margin: 0;
    }
    .add-dish-slider .slick-dots button {
        width: 8px;
        height: 8px;
        padding: 0;
    }
    .add-dish-slider .slick-dots button::before {
        width: 8px;
        height: 8px;
        color: transparent;
        line-height: 8px;
        opacity: 1;
        background: #e9e4e1;
        border-radius: 50%;
        content: '';
    }
    .add-dish-slider .slick-dots .slick-active button::before {
        background: #994260;
    }
    .sp_br {
        display: block;
    }
    .h_wave_line.center {
        margin-bottom: 25px;
    }
    #anniversary{
    padding-bottom: 80px;
}   
#anniversary .btn_wrap{
    margin-top: 10px;
}
    #sake {
        padding-bottom: 70px;
    }
    #sake .wrapper {
        max-width: 100%;
    }
    #sake .sub-t ,#anniversary .sub-t {
        width: 88%;
        margin: 18px auto 0;
        font-size: 1.5rem;
        line-height: 1.8;
    }
    .sake-list {
        width: min(88%, 380px);
        padding: 32px 0 0;
    }
    .sake-item {
        display: block;
        margin-bottom: 20px;
        overflow: hidden;
        border-radius: 2px;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);
    }
    .sake-item__image img {
        aspect-ratio: 340 / 340;
        border-radius: 8px 8px 0 0;
    }
    .sake-item__body {
        padding: 0;
    }
    .sake-item__title {
        display: none;
    }
    .sake-item__toggle {
        position: relative;
        display: flex;
        justify-content: space-between;
        align-items: center;
        width: 100%;
        min-height: 44px;
        padding: 10px 42px 10px 16px;
        color: #111;
        line-height: 1.5;
        letter-spacing: 0.04em;
        text-align: left;
        background: #fff;
        border: 0;
        border-top: 1px solid #eee;
        cursor: pointer;
        font-weight: bold;
    }
    .sake-item__toggle::before,
    .sake-item__toggle::after {
        content: '';
        position: absolute;
        top: 50%;
        right: 20px;
        width: 19px;
        height: 2px;
        background: #994260;
        transform: translateY(-50%);
    }
    .sake-item__toggle::after {
        transform: translateY(-50%) rotate(90deg);
        transition: transform .2s ease;
    }
    .sake-item.is-open .sake-item__toggle::after {
        transform: translateY(-50%) rotate(0deg);
    }
    .sake-item__detail {
        display: block;
        max-height: 0;
        overflow: hidden;
        padding: 0 16px 0;
        background-color: #fff;
        transition: max-height .5s ease, padding .5s ease;
    }
    .sake-item.is-open .sake-item__detail {
        max-height: 600px;
        padding: 0 16px 18px;
    }
    .sake-item__text {
        padding-top: 8px;
        font-size: 1.35rem;
        line-height: 1.9;
    }
    .sake-item__price {
        margin-top: 14px;
        font-size: 1.35rem;
    }

    .cisn_season .h_wave_line {
        padding: 15px 15px 20px;
    }
    .cisn_season .h_wave_line::after {
        left: 50%;
    }
    .cisn_season {
        width: 92%;
        margin: auto;
    }
    .cisn_season_head .head4 {
        width: 90px;
        height: 90px;
        margin: 0;
        font-size: 1.8rem;
    }
    .cisn_season_head img {
        display: none;
    }
    .cisn_season_wrap {
        position: relative;
        flex-direction: column;
    }
    .cisn_season_head {
        position: absolute;
        top: 0;
        left: 0;
        z-index: 1;
    }
    .cisn_season_cont {
        margin-top: 0;
    }
    .cisn_season_cont img {
        width: 100%;
    }
    .cisn_season_cont img:last-of-type {
        margin-top: 10px;
        margin-left: 0;
    }
    .cisn_season_cont .txt {
        width: 100%;
        margin: 10px 0;
    }
/* 朝食メニュー */
    .bf-menu-cards {
        margin:7vw auto;
        width: 95%;
    }

    .bf-menu-card {
        display: flex;
        flex-direction: column;
        min-height: 0;
        margin: 0 auto 42px;
        border-radius: 6px;
    }

    .bf-menu-card__image {
        min-height: 0;
        aspect-ratio: 336 / 217;
        order: 1;
    }

    .bf-menu-card__text {
        padding: 6vw 3.5vw;
        order: 2;
    }
    .bf-menu-card__text:first-child {
        padding: 6vw 5vw;
}
    .bf-menu-card__text h4 {
        margin-bottom: 20px;
        line-height: 1.45;
        text-align: center;
    }

    .bf-menu-card__text p {
        font-size: var(--fz15);
        padding-bottom: 3vw;
    }

    #additional .head2_1 {
        margin-bottom: 15px;
    }
    .cisn_menu_li .cont {
        padding: 15px 10px;
        font-size: 1.8rem;
    }
    .cisn_menu_li .cont span {
        margin-top: 5px;
        font-size: 1.6rem;
    }
    #additional .head3 {
        margin-bottom: 10px;
        font-size: 1.9rem;
        text-align: center;
    }
    .cisn_menu_li.row li {
        flex-direction: column;
        max-width: 400px;
        margin:0 auto 2em;
    }
    .cisn_menu_li.row li > * {
        width: 100% !important;
    }
    .cisn_menu_li.row .cont {
        padding: 20px 15px 15px;
        font-size: 1.6rem;
    }
    .cisn_menu_li.row .cont .cont-txt{
	    font-size:inherit;
    }
    .cisn_menu_li.row .cont ul {
        font-size: 1.6rem;
        padding-left: 20px;
        list-style: disc;
    }
    .cisn_menu_li.row .cont p {
        margin-bottom: 10px;
    }
    .cisn_menu_li .cont span {
        margin-top: 10px;
        font-size: 1.5rem;
    }
    .morning-area{
        width: 95%;
        margin: 0 auto;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        padding: 6vw;
    }
    .morning-area-text{
        padding-right: 0;
        width: 100%;
    }
    .morning-area-text h4{
        text-align: center;
    }
    .morning-area p {
        text-align: left;
        font-size: var(--fz15);
        padding: 2vw 0 6vw;
    }
    #breakfast{
        padding-bottom: 80px;
    }
    .h_border {
        margin-bottom: 20px;
        font-size: 2rem;
    }
    .cisn_img_li .cont,.cisn_kidsmenu_li .cont {
        font-size: 1.6rem;
    }
    .cisn_img_li .img,.cisn_kidsmenu_li .img {
        margin-bottom: 15px;
    }
    .cisn_covid li {
        padding-bottom: 15px;
        margin-bottom: 20px;
    }
    #additional {
        padding-bottom: 0px;
    }
    .cisn_mzen {
        margin-top: 30px;
        margin-bottom: 70px;
    }
    .cisn_mzen_inner {
        flex-direction: column-reverse;
        max-width: 500px;
    }
    .cisn_mzen_inner .h_txt_wrap {
        padding: 10px 20px;
    }
    .cisn_mzen_inner .h {
        font-size: 2.2rem;
    }
    /* アレルギー */
    .Allergie_card{
        width: 90%;
        margin: 64px auto;
        }
        .Allergie_card-header {
        font-size: var(--fz18);
        }

        .Allergie_card-body {
        padding: 4vw;
        font-size: var(--fz15);
        }
    
    /* ============
    SPー客室
    ============= */
    .wa-modern_section {
        background-image: url(./img/sp-wa-modern-bg.webp);
        padding-top: 52vw;
    }
    .room-sub-title {
        font-size: var(--fz24);
        padding-top: 7vw;
        line-height: 1.75;
    }
    .page_room .sub-t {
        margin: 4vw 3vw;
        text-align: center;
        font-size: var(--fz16);
    }
    .room_kodawari {
        margin: 24px auto 0;
    }
    .room_kodawari .block_wrap .block {
    margin: 0 1vw;
    width: 100%;
    height: 95vw;
}
    .room_kodawari .block_wrap .block_wrap_title {
        padding-top: 5vw;
        width: 70%;
    }
    .room_kodawari .block_wrap .block-wrapper {
        justify-content: flex-start;
        max-width: 100vw;
    }
    .room_kodawari br.sp {
		display: block;
	}
	.room_kodawari .head2 {
		margin-bottom: 1em;
		font-size: 2.1rem;
	}
        .room-cards {
        padding: 4vw 0 80px;
    }
	.room_kodawari .head2::before {
		top: -30%;
		left: 0;
		width: 4.5em;
		height: 2.1em;
	}
	.room_kodawari .head2::after {
		top: -15%;
		left: auto;
		right: 0;
		width: 4.8em;
        height: 2em;
	}
	.room_kodawari::before {
		top: -7px;
		left: -7px;
	}
	.room_kodawari::after {
		top: -7px;
		right: -7px;
	}
	.room_kodawari_inner::before {
		bottom: -7px;
		left: -7px;
	}
	.room_kodawari_inner::after {
		bottom: -7px;
		right: -7px;
	}
    .room_kodawari .swiper-container {
        overflow-x: hidden;
        width: 90vw;
        padding: 13vw 2vw 4vw;
        z-index: 1;
    }
    .kodawari-point img {
        width: 58px;
    }
	.room_kodawari_inner {
		padding-bottom: 24px;
	}
	.room_kodawari .main_wrap {
		flex-direction: column;
		justify-content: flex-start;
	}
	.room_kodawari .main_wrap .img {
		width: 100%;
		margin-bottom: 12px;
		padding-top: 64%;
	}
	.room_kodawari .main_wrap .cont {
		width: 100%;
	}
	.room_kodawari .block_wrap {
		width: 100%;
	}
    .room_kodawari .swiper-slide {
        width: 80% !important;
        margin-left: 4vw!important;
    }
    .room_kodawari .block_wrap .txt {
        font-size: var(--fz17);
    }
    .room_kodawari .block_wrap .cont {
        padding: 3.5vw;
    }
    .room_kodawari .swiper-pagination {
        display: flex;
    }
    .river_view_section {
        background-image: url(./img/sp-river_view_bg.webp);
        padding-top: 55vw;
    }
    .river_view_section .room-cards{
        padding: 19vw 0 80px;
    }
    .barrier_free_room_section .room-sub-title, .wa_noview_section .room-sub-title{
        padding-top: 5vw;
    }
    .page_room .table_block1{
        width: 100%;
    }

    /* ============
        客室詳細　詳細の表　２列
    ============= */
    .table_block_room{
            max-width: 1100px;
            margin: 4vw auto;
            display: flex;
            flex-wrap: nowrap;
            flex-direction: column;
            gap: 0px 40px;
    }
    .table_block_room dl {
        width: 95%;
        margin: 0 auto;
    }
    .table_block_room dl:nth-child(2){
        border-top: none;
    }
    .table_block_room dt {
        width: 7em;
        padding: 1.1em 1em 1.1em 1.3em;
    }
    .table_block_room dd {
        width: 100%;
        padding: 1.1em 1em 1.1em 1.3em;
    }
    .page_room_detail .slide_block1{
        max-width: 100vw;
        overflow: hidden;
    }
    .page_room_detail .btn_wrap .btn1{
        margin: 2vw auto;
        padding: 17px 77px 16px 30px;
    }
    .room_list_section{
        padding: 56px 0;
    }
    .room_list_section .room-cards{
        padding: 8vw 0;
    }
    .room_detail_sec_temp{
        padding: 56px 0 ;
    }
    .room_detail_sec_temp .ftr_p{
        min-width: 26%;
    }
    .room_detail_head{
        font-size: var(--fz26);
        line-height: 1.25;
        padding-bottom: 4vw;
    }
    .room_detail_sec_wrap .txt {
        font-size: var(--fz17);
        padding: 1vw 0 8vw;
    }

    /* ============
    SPー温泉
    ============= */
    .spa_section {
        padding-bottom: clamp(81px, 12.5vw, 120px);
    }
    .page_spa .sub-t{
        margin: 2vw;
    }
    .spa_section .tit {
        margin: 3.2em auto 1.2em;
        font-size: clamp(.9rem, 5.38vw, 2.1rem);
        letter-spacing: .15em;
        text-align: center;
    }
    .spa_section .main_slide_wrap {
        margin-bottom: 25px;
    }
    .spa_section .tit::before, .spa_section .tit::after {
        width: 1.4em;
        margin: 0 .8em;
    }
    .spa_section .tit br.sp {
        display: block;
    }
    .spa_section .cont_tit {
        margin-top: 0;
        margin-bottom: 1.3em;
        font-size: clamp(.9rem, 5.13vw, 2rem);
    }
    .spa_section .cont .txt {
        font-size: clamp(.9rem, 3.85vw, 1.5rem);
    }
    .spa_section .obi {
        padding-top: 65%;
    }
    #maruyama.spa_section .obi {
        background-image: url("./img/spa_sec1_obi_sp.webp");
    }
    #genbu.spa_section .obi {
        background-image: url("./img/spa_sec2_obi_sp.webp");
    }
    #spa_overview.spa_section .slide_block1 {
        width: 100%;
    }
    .swiper-container.overview_slide .swiper-slide {
        width: 85%;
        padding-top: 56%;
        margin: 0 5px;
    }
    #massage_room.spa_section .cont {
        margin-bottom: clamp(27px, 4.17vw, 60px);
    }
    .page_spa .page-title {
        padding:64px 0 24px
    }
    .page_spa .table_block1{
        margin-top: 6vw;
    }
    #room_overview{
        padding: 64px 0 80px;
    }

    /* ============
    SPー館内施設
    ============= */
    .facilities_section{
        padding: 64px 0;
    }
    .facilities_section .page-title{
        padding-bottom: 8vw;
    }
    .facility-caution{
        gap: 6vw;
    }
    .page_facilities .bf-menu-card__image{
        min-height: auto;
    }
    .facilities_section .bf-menu-card__text p {
        font-size: var(--fz15);
    }
    .facility-icon{
        padding: 2vw 4vw;
        border-radius: 4px;
        gap: 8px;
        font-size: var(--fz15);
    }
    .facility-icon img {
        width: 30px;
    }
    .fac_list{
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 4vw;
    }
    .fac_img{
        width: 95%;
        overflow: hidden;
        border-radius: 8px;
    }
    .fac_txt{
        width: 95%;
    }
    .fac_txt .facility-icon{
        padding: 2vw 1.5vw;
        display: flex;
        margin: 5vw 16vw;
    }
    .fac_txt .facility-icon img{
        width: 40px;
        margin-right: 2vw;
    }
    .fac_txt .facility-icon_inner{
        margin: 0 auto;  
        text-align: center;  
    }
    .fac_txt .facility-icon div{
        display: flex;
    }
    .fac_txt ul{
        font-size: var(--fz17);
    }
    .fac_txt ul li{
        position: relative;
        padding-left: 1.2em; /* 丸の分スペース確保 */
    }
    .fac_txt ul li::before {
        content: "";
        width: 6px;
        height: 6px;
        background: #D9D9D9;
        border-radius: 50%;
        position: absolute;
        left: .2em;
        top: 0.8em;
    }
    .facilities_section .table_block2{
        column-count: 1;
    }
    .sec_facilities_overview .table_block2 dt {
        width: 100%;
    }
    .sec_facilities_overview .table_block2 dd {
        width: 100%;
    }
    
    .table_block2 .column-start , .table_block_room .column-start{
        border-top: none;
    }

    /* お問い合わせ */
    .contact_card{
        width: 90%;
        margin: 64px auto;
        }
        .contact_card-header {
        font-size: var(--fz18);
        text-align: center;
        }

        .contact_card-body {
        padding: 4vw;
        font-size: var(--fz15);
        }
    /* ============
    SPーバリアフリー
    ============= */
    .section_temp{
        padding: 64px 0;
    }
    .sec_barrier_free .bf-menu-card__image {
        min-height: 210px;
    }
    .sec_barrier_free .wrapper .bf-menu-card{
        margin: 2% 0 0;
    }
        .sec_barrier_free .wrapper .bf-menu-card__text{
            padding: 4vw 5vw 2vw;
    }
    .sec_barrier_free_spa .wrapper .bf-menu-card{
    margin: 8vw 0;
}
    .sec_barrier_free .bf-menu-card--reverse {
        grid-template-columns: 0.7fr 1fr;
    }
    .sec_barrier_free .wrapper  .bf-menu-card__text h4 {
        margin-bottom: 10px;
    }
    .page_barrier_free .fac_list {
    padding-top: 8vw;
}

    /* 下向き矢印 */
    .chevron {
    height: 21px;
        margin: 5vw auto 4vw;
    }
    .chevron::before,
    .chevron::after {
    height: 15px;
        margin: 0 auto 1vw;
    }
    .universal_banner_img{
    width: 100%;
    margin: 8vw auto 0;
}
    /* ============
    SPーノーマルテンプレ
    ============= */
    .section_nomal{
        padding: 64px 0;
    }
    /* ============
    SPーファミリー
    ============= */
    .sec_family .kidsmenu{
        padding: 6vw;
        margin: 7vw 0;
    }
    .sec_family .cui_kidsmenu{
        padding-bottom: 1.5vw;
    }
    .sec_family .fac_list{
        padding: 7vw 0;
    }
    .sec_family .facilities_section{
        padding: 0;
    }
    .sec_family .facilities_section .table_block2{
        margin: 0;
    }
    .page-title-red{
        padding-top: 40px;
        margin-bottom: -36px;
    }
    .sec_family .cui_kidsmenu_inner{
        margin-top: 2vw;
    }
    .page_family .head-photo-section .page-title {
        padding-top: 40px;
    }
        .sec_family  .cont_tit {
        margin-bottom: 1.3em;
        font-size: clamp(.9rem, 5.13vw, 2rem);
    }

    /* ============
    SPー城崎観光
    ============= */
    .sightseeing_title{
        font-size: var(--fz23);
        line-height: 1.5;
        padding-bottom: 8vw;
    }
    .sightseeing_title p{
        font-size: var(--fz18);
        color: #000;
        padding-bottom: 4vw;
    }
    .page_sightseeing .sub-t-caution {
        font-size: var(--fz14);
    }
    .page_sightseeing .bf-menu-card__image {
        min-height: auto;
    }
    .page_sightseeing .bf-menu-card__text p {
        font-size: var(--fz15);
    }
    .sec_onsen_guide .onsen_cards {
        width: 95%;
        margin: 0 auto;
        grid-template-columns: repeat(2, 1fr);
        gap: 3rem;
        padding: 0px 0 30px;
    }
    .onsen_card {
        text-align: center;
    }
    .page_sightseeing .bf-menu-card {
        margin: 7vw 0;
    }
    .onsen_card_title {
        font-size: var(--fz18);
        text-align: left;
        margin-bottom: 1px;
    }
    .onsen_card_desc {
        font-size: 1.3rem;
        text-align: left;
    }
    .onsen_link_wrap {
        padding: 15px 0 30px;
    }
    /* 過ごし方 */
    .time-title{
        padding: 1vw 11vw;
        font-size: var(--fz18);
        margin-bottom: 10vw;
    }
    .how_to_time{
        background-size: cover;
        background-position: center bottom;
        text-align: center;
    }
    .time_noon{
        padding: 15vw 0 60vw;
        background-image: url(./img/sp-time_noon.webp);
    }
    .time_night{
        padding: 15vw 0 65vw;
        background-image: url(./img/sp-time_night.webp);
    }
    .time_morning{
        padding: 15vw 0 67vw;
        background-image: url(./img/sp-time_morning.webp);
    }
    .how_to_time .sub-t{
        font-size: var(--fz16);
        text-align: center;
        padding: 3vw;
    }
    .sec_how_to_time .room-sub-title{
        font-size: var(--fz25);
        padding-top: 3vw;
    }

    /* ============
    SPー日帰り昼食
    ============= */
    .page_sightseeing .bf-menu-card {
        margin: 8.5vw 0;
    }
    .menu-list-container {
        margin: 2vw 0 13vw;
    }
    .lunch_title{
        font-size: var(--fz23);
        line-height: 1.5;
        padding: 8vw 0 6vw;
    }
    .menu-card {
        flex-direction: column;
    }
    .menu-title{
        font-size: var(--fz20);
        margin: 0;
    }
    .menu-thumb {
        flex: 0 0 auto;
        max-width: 100%;
        height: 220px; 
    }
    /* テキストエリアの余白を少し狭く調整 */
    .menu-body {
        padding: 5vw;
    }

}




/* ==========================================================================
   TOP
   ========================================================================== */
.top_slide_new{
    position: relative;
    width: 100vw;
    margin-left: calc(50% - 50vw);
}
#top_slide {
    position: relative;
    width: 100vw;
    margin-left: calc(50% - 50vw);
}
.top_slide_container .swiper-slide {
    position: relative;
    width: 100%;
    height: 100vh;
    overflow: hidden;
    background: center center/cover no-repeat;
}

.top_slide_container .swiper-slide picture, .top_slide_container .swiper-slide img {
    position: absolute;
    top: 50%;
    left: 50%;
    object-fit: cover;
    transform: translate(-50%, -50%);
}
.swiper-container.top_news_container {
    height: 35px;
}
#top_slide > .head2 {
    position: absolute;
    top: calc(50% + 60px);
    left: 50%;
    width: 100%;
    padding: 0 20px;
    color: #fff;
    font-size: 4.8rem;
    font-weight: 600;
    line-height: 1.5;
    text-align: center;
    text-shadow: 0 0 10px #000;
    transform: translate(-50%, -50%);
    z-index: 1;
}

#top_slide.top_slide_new > .head2 {
    display: flex;
    justify-content: center;
    align-items: center;
}
#top_slide.top_slide_new > .head2 .ja-logo {
    max-width: 160px;
    min-width: 160px;
    margin-right: 0.5em;
}
.swiper-pagination.top_slide_pagination {
    right: 30px;
    bottom: 90px;
    display: flex;
    flex-direction: column;
}
.top_slide_pagination span.swiper-pagination-bullet {
    opacity: 1;
    width: 10px;
    height: 10px;
    margin: 5px 0;
    background-color: #8c8c8c;
}
.top_slide_pagination span.swiper-pagination-bullet.swiper-pagination-bullet-active {
    background-color: #944260;
}
.head_main{
    position: absolute;
    top: 45%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #fff;
    font-family: shippori mincho, "Noto Serif JP", serif;
    font-size: 1.9em;
    font-weight: 400;
    line-height: 1.5;
    text-align: center;
    writing-mode: vertical-rl;
    text-orientation: upright;
    letter-spacing: 0.4em;
    text-shadow: var(--shadow-hero-title);
    z-index: 1;
}
.head_main span{
    font-size: 1em;
}
/* ==========================================================================
   top-共通パーツ
   ========================================================================== */
.pc{
    display: block;
}
.sp{
    display: none;
}
/* ボタン */
.btn_wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}
body.home .btn1 {
    position: relative;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    width: auto;
    padding: 24px 200px 24px 32px;
    margin: 0 60px 0 30px;
    color: #944260;
    font-size: 2rem;
    line-height: 1.3;
    background: #fff;
    border: 1px solid #944260;
    transition: all .7s ease;
}
.btn1 span {
    position: absolute;
    top: 50%;
    right: -50px;
    width: 100px;
    height: 1px;
    transform: translateY(-50%);
}
/* 各ページ */
.content{
    width: 100vw;
    margin-left: calc(50% - 50vw);
}
/* sec_head */
.sec_title {
    position: relative;
}
.sec_head{
    font-size: 36px;
    writing-mode: vertical-rl;
    letter-spacing: 1.8rem;
    padding: 7rem 2px 1rem;
    border-radius: 4px;
    background-color: #fff;
    position: absolute;
    top: -20px;
    left: 10%;
}
.section_img{
    width: 100vw;
    margin-left: calc(50% - 50vw);
    height: 590px; /* 好きな高さに固定 */
    background-size: cover;
    background-position: center;
}
.sec_content{
    position: absolute;
    bottom: -125px;
    left: 10%;
    display: block;
    font-size: 3rem;
}
.sec_content p{
    display: block;
    width: fit-content;
    background: #fff;
    border-radius: 3px;
    margin-bottom: -2px;
    padding: 0 0.6em;
    letter-spacing: 0.05em;
}
.sec_content p span{
    color: #994260;
}
/* 共通デザイン */
.contents{
    padding-top: 8em;
}
.wrapper{
    max-width: 1100px;
    margin: 0 auto;
}
body.home .wrapper {
    max-width: 1200px;
}
.footer-wrapper {
  max-width: 1200px;
  margin: 0 auto;
}
footer .wrapper{
    max-width: 1200px;
}
.flex_contents{
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.flex_column{
    display: flex;
    flex-direction: column;
}
.flex_contents p span{
    color: #994260;
}
.right{
    text-align: right;
    align-items: center;
}
.contents_text{
    padding: 0 0 40px 40px;
    font-size: 19px;
}
.subtitle {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    font-size: 2rem;
    padding: 6em 0 2em;
    letter-spacing: 0.08em;
}

.subtitle::before,
.subtitle::after {
    content: "";
    height: 1px;
    width: 2em;
    background: #000;
}
 /* フェードイン */
.fade-in {
  opacity: 0;
  transform: translateY(20px); /* 少し下から */
  transition: opacity 0.8s ease, transform 0.8s ease;
}
.fade-in.show {
  opacity: 1;
}
/* ============
top- コンセプト
============= */
.intro {
    background-image: url("./img/add/intro-bg-6ecabb.webp");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: relative;
    min-height: 1052px;
    color: var(--color-white);
    font-size: 19px;
    line-height: 40px;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    height: 100vh;
}

.intro__inner {
    position: relative;
    z-index: 1;
    text-align: center;
    max-width: 400px;
    margin: 0 auto;
}

.intro__content {
    padding: 9rem 0 10rem 0;
    color: #fff;
    text-align: center;
    margin: 0 auto;
}

.intro__lead {
    margin: 0 0 2em;
    text-shadow: var(--shadow-intro);
}

.intro__lead span {
    font-size: 24px;
}
body.home .intro .btn1 {
    color: #fff;
    background: rgba(255, 255, 255, 0.2);
    border: 1px solid #fff;
}
.intro .btn1 span::after {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background-color: #fff;
}
.h_btn {
    position: relative;
    top: 0;
    align-self: flex-start;
    margin-top: 0;
    opacity: 1;
    transition: all .3s ease;
}
.h_btn > a {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 28px 20px 30px;
    color: #fff;
    font-size: 2rem;
    line-height: 1.3;
    text-align: center;
    background: url("./img/back_purple.svg") center center / cover no-repeat;
    opacity: 1;
    transition: all .3s ease;
}

.h_btn > a span::before {
    content: '・';
}

.h_btn > a:hover {
    opacity: .6;
}

/* サブボタン(div内) */
.h_btn div {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

/* ============
top- お料理
============= */
.cuisine_bg{
    background-image: url(./img/add/cui_bg.webp);
    background-size: cover;
    padding-bottom: 5em;
}
.cuisine{
    background-image: url(./img/add/cuisine_bgbase.webp);
    background-size: cover;
    padding-bottom: 16em;
    background-position: center;
}
.cuisine1{
    width: 50%;
    padding-left: 40px;
    margin-top: -2em;
}
.cuisine .section_img{
    background-image: url("./img/add/cuisine_bg.webp");
}
.kani{
    width: 50%;
    padding-top: 40px;
}
.cuisine2{
    width: 80%;
    padding-right: 2em;
}
.kaninabe{
    width: 70%;
}
.cuisine3{
    width: 50%;
    padding-top: 2em;
}
.beef{
    padding: 6em 0;
    width: 60%;
    margin: 0 auto;
}

/* ============
top- 客室
============= */
body:not(.page-id-2567) .room{
    background-color: #EFE7DD;
    background-size: cover;
    padding-bottom: 8em;
}
.room1{
    width: 30%;
    padding-right: 20px;
}
.room .section_img{
    background-image: url("./img/add/room_bg.webp");
}
.room .contents_text{
    width: 56%;
    padding-right: 40px;
}
.room2{
    width: 50%;
    padding-left: 80px;
    margin-top: -4em;
}
/* 部屋リスト */
.row1 .slide_track{
    display: flex;
    justify-content: center;
    gap: 40px;
    margin: 0 auto 4em;
}
.row2 .slide_track{
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 40px;
    margin: 2em auto;
    text-align: left;
}
.room_list {
    width: 250px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
}
.room_list  p span{
    font-size: 14px;
}
.room_item{
    font-size: 12px;
    display: inline-flex;
    gap: 8px;
}
.room_item li{
    color: #994260;
    list-style: none;
    padding: 3px 14px;
    border-radius: 2px;
    border: solid 1px #994260;
    background-color: rgba(255, 255, 255, 0.4);
}
.room_dx{
    font-size: 16px;
    padding-bottom: 4px;
}
.room .btn_wrap{
    padding-top: 4em;
}


/* ============
top- 温泉
============= */
.onsen{
    background-color: #F6F7F8;
    background-size: cover;
}
.onsen .section_img{
    background-image: url("./img/add/onsen_bg.webp");
}
.onsen .contents_text{
    text-align: right;
    padding-right: 6em;
}
.onsen .contents{
    position: relative;
    z-index: 2;
}
.onsen .contents_text span{
    color: #994260;
}
.onsen .contents img{
    width: 80%;
    margin: 1em auto 8em 1em;
    z-index: 2;
}
.onsen_img {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-top: -30em;
    position: relative;
    z-index: 1;
}
/* ============
top- 子供、バリアフリー
============= */
.link{
    display: flex;
    gap: 60px;
    justify-content: center;
    padding: 8em 0 8em 0;
}
.link a{
    width: 40%;
    display: block;
    transition: opacity 0.3s ease, transform 0.3s ease;
}
.link a:hover {
    opacity: 0.7;
    transform: scale(0.97); /* 少し縮小して反応をつける */
}
/* ============
top- 予約
============= */
.reserve_top{
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 40px;
}
.best_rate{
    width: 5.5em;
    padding-bottom: 8px;
}
.reserve_top p{
    color: #fff;
    font-size: 2.25rem;
}
.reserve_top p span{
    font-size: 3.5rem;
}

/* 予約フォーム 前回HTMLまま引き継ぎ*/
body:not(.page-id-2567) #top_reserve1 {
    padding-top: 8em;
    padding-bottom: 8em;
    border: none;
    /* 背景色＋和風パターン画像 */
    background:
        url('./img/add/wa_pattern.webp') repeat; /* 和柄パターン */
    background-position: center center;
    background-size: 300px 300px; /* ← ここを大きくして存在感UP */
}
#top_reserve1 .reserve_form {
    width: 100%;
    padding: 25px 70px;
    background-color: #fff;
    box-shadow: 0 0 10px rgb(0 0 0 / 20%);
    margin: 20px auto 40px;
    border-radius: 4px;
}
body:not(.page-id-2567) #top_reserve1 .form_block {
    display: flex;
    justify-content: space-between;
    align-items: center;
    box-shadow: none;
    padding: 1em 0;
}
body:not(.page-id-2567) #top_reserve1 .head3 {
    font-size: 3rem;
    font-weight: normal;
    color: #944260;
    text-align: center;
}
body:not(.page-id-2567) #top_reserve1 .head3::before {
    content: '';
}
body:not(.page-id-2567) #top_reserve1 .form_wrap {
    padding-right: 11px;
    border-right: none;
}
body:not(.page-id-2567) .form_wrap form {
    display: flex;
    justify-content: center;
    align-items: center;
    font-family: "游ゴシック体", YuGothic, "YuGothic", "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, sans-serif;
}
body:not(.page-id-2567) .form_wrap dt {
    font-size: 1.5rem;
}
body:not(.page-id-2567) .form_wrap select {
    padding: 20px 20px;
    font-size: 1.6rem;
    border-radius: 2px;
    cursor: pointer;
    margin-right:4px;
        border: 1px solid #E0E0E0;
}
.inbox_489ban {
    display: flex;
}
.form_wrap button {
    padding: 10px;
    color: #fff;
    font-size: 2rem;
    text-align: center;
    background-color: #944260;
    border: 2px solid #944260;
    border-radius: 5px;
    transition: all .3s ease;
    cursor: pointer;
}
.form_wrap button:hover {
    color: #944260;
    background-color: #fff;
}
body:not(.page-id-2567).date_489ban dd label {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    font-size: 1.3rem;
}
.date_489ban dd input[type="checkbox"] {
    width: 20px;
    height: 20px;
    margin-right: 3px;
    cursor: pointer;
    -webkit-appearance: checkbox;
}
.person_489ban dt {
  visibility: hidden;
  position: relative;
}

.person_489ban dt::after {
  content: "人数";
  visibility: visible;
  position: absolute;
  left: 0;
}

.btn_arrow::after {
    display: none;
}
body:not(.page-id-2567) .btn_arrow{
    background-color: #fff;
    border: 1px solid #944260;
    padding: 4px 20px;
    margin: 8px 0;
    font-weight: normal;
    border-radius: 4px;
    font-family: "游明朝体", "Yu Mincho", serif;
}
body:not(.page-id-2567) .btn_arrow_under{
    background-color: #fff;
    color: #944260;
    border: 1px solid #944260;
    padding: 4px 20px;
    margin: 2px 0;
    font-weight: normal;
    border-radius: 4px;
    font-family: "游明朝体", "Yu Mincho", serif;
}
/* ボタンの文字を明朝体に */
body:not(.page-id-2567) #top_reserve1 .form_wrap button {
    font-family: "游明朝体", "Yu Mincho", serif;
    position: relative;       /* 疑似要素用 */
    padding: 16px 4em 16px 2.5em;  
}
/* 虫眼鏡アイコンをボタンの左に表示 */
body:not(.page-id-2567) #top_reserve1 .form_wrap button::before {
    content: url('./img/add/search.svg'); /* 好きな虫眼鏡アイコンURLに変更可 */
    position: absolute;
    right: 10%;               /* アイコンの左余白 */
    top: 40%;
    transform: translateY(-50%); /* 垂直中央揃え */
    width: 18px;               /* アイコンサイズ調整 */
    height: 18px;
}

/* 予約特典*/
.reserve_tokuten{
    font-size: 3rem;
    text-align: center;
    color: #fff;
}
.tokuten_title{
    display: flex;
    align-items: center;
    justify-content: center;
    padding-top: 64px;
}
.reserve_tokuten .tokuten_hane{
    padding: 17px 19px;
    width:57px;
}
.reserve_tokuten .tokuten_hane:last-child{
    transform: scaleX(-1);
}
.tokuten_content{
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 60px;
    padding-top: 24px;
}
.tokuten_content .tokuten{
    width: 40%;
}
.small{
    color: #fff;
    font-size: 15px;
    padding-top: 24px;
}
.reserve_tel{
    display: flex;
    justify-content: center;
    align-items: center;
   padding-top: 4em;
    gap: 40px;
}
.reserve_tel_block{
    display: flex;
    flex-direction: column;
    align-items: center;
    color: #fff;
}
.reserve_tel_block a{
    font-size: 42px;
    color: #fff;
}
.reserve_link_block{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
}
.reserve_link_block a{
    padding: 0.5em 0;
    color: #944260;
    width: 300px;
    font-size: 1.8rem;
    text-align: center;
    background-color: #fff;
    border: 1px solid #944260;
    transition: all .3s ease;
}
.small{
    padding-top: 4em;
}
/* ============
top- トピックス
============= */
   .topics{
    padding-bottom: 6em;
    padding-top: 3em;
    background-image: url(./img/add/topics_bg.webp);
    background-size: cover;
}
.topics .subtitle {
    color: #fff;
}

.topics .subtitle::before,
.topics .subtitle::after {
    content: "";
    height: 1px;
    width: 2em;
    background: #fff;
}
.topics .link{
    padding-top: 4em;
}
/* ============
top- アクセス
============= */
.access{
    padding-bottom: 8em;
    background-image: url(./img/add/tile_washi.webp);
    background-size: cover;
    background-repeat: repeat;
}
.access_info{
    display: flex;
    align-items: flex-start;
    font-size: 19px;
    gap: 56px;
    justify-content: center;
    color: #944260;
    padding-bottom: 40px;
}
.access_info img{
    width: 26px;
}
.access_info_block{
    display: flex;
    align-items: flex-start;
    gap: 16px;
}
.access_info_block p{
    padding-top: 8px;
}
.access_info_black{
    color: #000;
}
.access_map{
    padding-bottom: 0;
}
.access_map .google_map {
    position: relative;
    height: 350px;
    overflow: hidden;
    width: 80%;
    margin: 0 auto 4em;
}

.access_map .google_map iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}
/* ============
top- お知らせ
============= */
.news{
    padding-bottom: 8em;
}
.news_thumb {
  width: 100%;
  height: 200px;
  overflow: hidden;
  margin-bottom: 10px;
}
.news_thumb img {
  width: 90%;
  height: 100%;
  object-fit: cover;
}
.news .btn_wrap{
    padding: 4em 0 0;
}
/* ============
top- ３列表示
============= */
@media (min-width: 768px) {
  .news_swiper .swiper-wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
  }
  .news_swiper .swiper-slide {
    width: calc((100% - 40px)/3); /* 3列表示 */
    flex-shrink: 0;
    box-sizing: border-box;
  }
}

/* ============
top- お客様の声
============= */
.voices{
  background: url('./img/add/koe_bg_sp.webp') no-repeat center center;
  background-size: cover;
  padding-bottom: 8em;
}
  .voices .subtitle {
    color: #fff;
  }
.voices .subtitle::before,
.voices .subtitle::after {
    content: "";
    height: 1px;
    width: 2em;
    background: #fff;
}
    .voices a:hover {
    opacity: 0.6;
    transform: none;
}

@media (min-width: 768px) {
  .voices{
    background: url('./img/add/koe_bg.webp') no-repeat center center;
    background-size: cover;
    padding-bottom: 10em;
  }
.top_voices {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch; /* 子要素の高さを揃える */
  margin: -20px; /* 子のmargin分を引く */
}

.voice_item {
  flex: 1 1 calc((33.333% - 40px)); /* 3列、左右margin考慮 */
  margin: 20px; /* 外側の余白 */
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid #944260;
  border-radius: 4px;
  padding: 2em 3em;
  position: relative;
  color: #000;
  min-width: 250px;
  box-sizing: border-box;
  height: 200px; /* ← 高さを固定したい場合 */
}
  .voice_thumb {
    flex: 0 0 120px;
    height: 120px;
    overflow: hidden;
    margin-right: 12px;
  }
  .voice_thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 4px;
  }
  .voice_title {
    font-size: 18px;
    margin-bottom: 8px;
  }
  .voice_excerpt {
    margin: 0;
  }
  .voice_date {
    position: absolute;
    bottom: 12px;
    right: 1.5em;
    font-size: 18px;
    color: #909090;
  }
  .voices .btn_wrap{
    padding-top: 2em;
  }

}
  .under_tel{
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .under_tel .tel_wrap{
        color: #fff;
        padding-right: 4em;
        text-align: center;
    }
  .under_tel .tel_wrap a{
    font-size: 40px;
     color: #fff;
  }
  .under_tel .tel_wrap p{
    font-size: 20px;
     color: #fff;
  }
    .under_tel  .link_wrap{
    text-align: center;
  }
  .under_tel  .link_wrap a{
    padding: 0.35em 2em;
    font-size: 20px;
    margin: 0.5em;
  }
  .under_tel .link_wrap{
    display: flex;
    flex-direction: column;
  }


/* ==========================================================================



TOP - タブレット



   ========================================================================== */

/* --- Tablet / Desktop Small (1024px以下) --- */
@media only screen and (max-width: 1024px) {
    .row2 .slide_track {
        display: grid;
        grid-template-columns: repeat(3, 1fr); /* 上段3列 */
        grid-template-rows: auto auto;         /* 2行に分ける */
        gap: 30px;
    }
    .room_kodawari .swiper-slide {
        height: 31%;
    }
}



/* ==========================================================================



TOP - スマホ



   ========================================================================== */
/* --- Mobile Standard (768px以下) --- */
@media only screen and (max-width: 768px) {
    body { font-size: 1.6rem; }
/* ==========================================================================
   コンセプトセクション
   ========================================================================== */
.intro {
    background-image: url("./img/add/intro-bg-6ecabb_sp.webp");
}
.intro__inner {
    font-size: 16px;
}
.intro__lead {
    margin: 0 0 1em;
}
.intro__content{
    padding: 10em 0 2em ;
}
/* ==========================================================================
   共通パーツ
   ========================================================================== */
.pc{
    display: none;
}
.sp{
    display: block;
}
/* ボタン */
.btn_wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}
body.home .btn1 {
    width: 250px;
    padding: 20px 55px 22px 28px;
    font-size: 1em;
}
body.home .intro .btn1 {
        font-size: 0.8em;
}
.btn1 span {
    right: -30px;
    width: 50px;
}
.sec_head{
    font-size: 2.4rem;
    padding: 4rem 1px 0.5rem;
    left: 10%;
    letter-spacing: 0.5em;
}
.section_img{
    height: 400px;
}
.sec_content{
    bottom: -100px;
    left: 5%;
    font-size: 2.5rem;
}
/* 共通デザイン */
.wrapper{
    max-width: 90%;
}
body.home .wrapper {
    max-width: 95%;
}
footer .wrapper{
    max-width: 90%;
}
.subtitle {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    font-size: 21px;
    padding: 6em 0 2em;
}
.subtitle::before,
.subtitle::after {
    content: "";
    height: 1px;
    width: 2em;
    background: #000;
}
.flex_contents p{
    padding: 1em;
}
/* sec_head */
sec_head{
    font-size: 20px;
    letter-spacing: 1rem;
    padding: 4rem 2px 1rem;
    top: -20px;
    left: 10%;
}
.section_img{
    height: 390px; /* 好きな高さに固定 */
}
.sec_content{
    position: absolute;
    bottom: -100px;
    left: 5%;
    font-size: 22px;
}
.contents_text{
    padding: 0 0 40px 40px;
    font-size: 16px;
}

/* ==========================================================================
   お料理
   ========================================================================== */
.kani_block .kodawari_text_right,.kome_block .kodawari_text_right{
    width: 100%;
    margin-right: 5vw;
    margin-top: -3vw;
}
.cuisine{
    background-image: url(./img/add/cui_bg_sp.webp);
    padding-bottom: 8em;
}
.cuisine1{
    width: 100%;
    margin: 0;
    padding: 1em  0;
}
.cuisine .section_img{
    background-image: url("./img/add/cuisine_bg_sp.webp");
}
.cuisine .right_flex{
    display: flex;
    justify-content: flex-end;
}
.kani{
    width: 50%;
    text-align: right;
    margin-left: 50%;
    margin-top: -60px;
}
.cuisine2{
    width: 100%;
    margin: 0;
    padding: 1em  0;
}
.kaninabe{
    width: 40%;
}
.cuisine3{
    width: 90%;
    margin: 0 auto;
}
.beef{
    padding: 3em 0;
    width: 90%;
    margin: 0 auto;
}

/* ==========================================================================
   客室
   ========================================================================== */
.room{
    padding-bottom: 8em;
}
.room3{
    width: 90%;
    padding-left: 20px;
}
.room .contents_text{
    width: 100%;
    padding: 24px 24px 30px;
}
.room .section_img{
    background-image: url("./img/add/room_bg_sp.webp");
}
.row1, .row2 {
    overflow: hidden;
}
.slide_track {
    display: flex;
    width: max-content;
}
/* 部屋リスト */
.row1 .slide_track{
    display: flex;
    justify-content: center;
    gap: 14px;
    margin: 0 auto 4em;
}
    .row2 .slide_track {
        display: flex;           /* 横スクロール */
        overflow-x: auto;        /* はみ出す場合スクロール */
        width: max-content;      /* アイテム幅に合わせる */
        gap: 14px;               /* アイテム間隔 */
        margin: 0 auto 4em;
    }

    .row2 .slide_track > .room_list {
        flex: 0 0 250px;         /* スライド1枚の幅 */
        margin-right: 16px;      /* アイテム間隔 */
    }
.room_list {
    width: 250px;
    flex-shrink: 0;
    margin-right: 16px;
}
.slide_track.left {
    animation: slideLeft 20s linear infinite;
}
.slide_track.right {
    animation: slideRight 25s linear infinite;
}
.row1.room-swiper-ready .slide_track,
.row2.room-swiper-ready .slide_track {
    animation: none !important;
}
.row1.room-swiper-ready .room_list,
.row2.room-swiper-ready .room_list {
    width: 250px;
    flex: 0 0 250px;
    margin-right: 0;
}
.row1.room-swiper-ready .swiper-wrapper,
.row2.room-swiper-ready .swiper-wrapper {
    gap: 0;
    width: 100%;
    overflow: visible;
    justify-content: flex-start;
    margin: 0 auto 4em;
    transition-timing-function: linear !important;
}
.row1.room-swiper-ready,
.row2.room-swiper-ready {
    touch-action: pan-y;
}
.room_dx{
    font-size: 14px;
}

@keyframes slideLeft {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

@keyframes slideRight {
    0% { transform: translateX(-50%); }
    100% { transform: translateX(0); }
}
.room .btn_wrap{
    padding-top: 2em;
}
.room .subtitle{
        padding: 4em 0 2em;
}
/* ==========================================================================
   温泉
   ========================================================================== */
.onsen .section_img{
    background-image: url("./img/add/onsen_bg_sp.webp");
}
.onsen .contents img{
    width: 95%;
    padding-left: 20px;
    padding-bottom: 40px;
    margin: 0;
}
.onsen_img {
    margin-top: -5em;
}
.onsen .contents_text {
    text-align: left;
    padding: 24px 24px 30px;
}
/* ==========================================================================
   子供、barrier freeリンク
   ========================================================================== */
.link{
    display: flex;
    flex-direction: column;
    gap: 60px;
    justify-content: center;
    padding: 6em 0;
}
.link a{
    width: 90%;
    margin: 0 auto;
}
/* ==========================================================================
  予約エリア
   ========================================================================== */
#top_reserve1 {
    padding-top: 4em;
    padding-bottom: 4em;
}
.reserve_top{
    gap: 20px;
}
.best_rate{
    width: 6em;
}
body:not(.page-id-2567) #top_reserve1 .reserve_form{
    width: 90%;
    padding: 50px 0px 20px;
}
.reserve_top p{
    font-size: 2rem;
    line-height: 2em;
}
.reserve_top p span{
    font-size: 3rem;
}
body:not(.page-id-2567) #top_reserve1 .form_block {
    display: flex;
    flex-direction: column;
}
#top_reserve1 .form_wrap {
    padding-right: 0px;
}
.inbox_489ban {
    display: flex;
}
.room_489ban{
    margin-right: 1em;
}
.person_489ban{
    margin-right: 2em;
}
.form_wrap button {
    width: 90%;
    margin: 1em 0 0;
}
body:not(.page-id-2567).form_wrap form {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-start;
}

.form_wrap dt {
    font-size: 1.5rem;
    text-align: left;
}
.btn_arrow{
    padding: 1em 5.5em;
    margin: 8px 0;
}
body:not(.page-id-2567) .btn_arrow{
    padding: 1em 5.5em;
}
/* ボタンの文字を明朝体に */
body:not(.page-id-2567) #top_reserve1 .form_wrap button {
    padding: 16px 5em; 
}
body:not(.page-id-2567) #top_reserve1 .form_wrap{
    padding-right: 0;
}
/* 予約特典*/
.tokuten_title{
    padding-top: 0;
}
.reserve_tokuten{
    font-size: 2.5rem;
}
.reserve_tokuten .tokuten_hane{
    padding: 0.4em;
    width: 32px;
}
.tokuten_content{
    flex-direction: column;
    gap: 24px;
    padding-top: 24px;
}
.tokuten_content .tokuten{
    width: 90%;
}
.reserve_tel{
    display: flex;
    justify-content: center;
    align-items: center;
   padding-top: 4em;
    gap: 40px;
}
.reserve_tel_block{
    display: flex;
    flex-direction: column;
    align-items: center;
    color: #fff;
}
.reserve_tel_block a{
    font-size: 42px;
    color: #fff;
}
.reserve_link_block{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
}
.reserve_link_block a{
    padding: 0.5em 0;
    color: #944260;
    width: 300px;
    font-size: 1.8rem;
    text-align: center;
    background-color: #fff;
    border: 1px solid #944260;
    transition: all .3s ease;
}
/* -------------------------------
   スマホ下部固定ボタン
------------------------------- */
 .sp_fixed_btn {
        display: flex;
        justify-content: center;   /* 中央寄せ */
        position: fixed;
        bottom: 15px;              /* 下に少し余白 */
        left: 0;
        width: 100%;
        z-index: 998;
        pointer-events: none;      /* 親はクリック無効 */
    }

    .sp_fixed_btn a {
        pointer-events: auto;      /* ボタンだけクリック可 */
        display: block;
        width: 90%;                /* 左右余白 */
        max-width: 400px;
        padding: 10px 10px;
        text-align: center;
        background: #944260;
        color: #fff;
        font-size: 17px;
        font-family: "游明朝体", "Yu Mincho", serif;
        text-decoration: none;
        border-radius: 8px;       /* 角丸 */
    }
      .under_tel{
    flex-direction: column;
  }
  .under_tel .tel_wrap{
        padding-right: 0em;
    }
  .under_tel .tel_wrap{
        color: #fff;
        padding-right: 0;
        text-align: center;
    }
  .under_tel .tel_wrap a{
    font-size: 40px;
     color: #fff;
  }
  .under_tel .tel_wrap p{
    font-size: 20px;
     color: #fff;
  }
    .under_tel  .link_wrap{
    text-align: center;
  }
#top_reserve1 .link_wrap{
    display: flex;
    flex-direction: column;
}
.under_tel .link_wrap a{
    padding: 1em 5.5em;
    font-size: 1em;
}

/* ========================================================================
  トピックス
   ========================================================================== */
.topics{
    padding-bottom: 0em;
    background-image: url(./img/add/topics_bg_sp.webp);
}
.topics .link{
    padding-top: 1em;
}
/* ========================================================================
  アクセス
   ========================================================================== */
.access_info{
    display: flex;
    flex-direction: column;
    font-size: 18px;
    gap: 10px;
    padding-left: 1em;
}
.access_info img{
    width: 24px;
    padding-top: 8px;
}
.access_map .google_map {
    height: 350px;
    width: 100%;
    margin: 0 auto 1em;
}

/* ==========================================================================
   お知らせ
   ========================================================================= */
  .news_swiper .swiper-wrapper {
    display: flex; 
  }
  .news_swiper .swiper-slide {
    width: 80%; 
    flex-shrink: 0;
    margin-left: 40px; 
  }
/* ==========================================================================
   お客様の声
   ========================================================================= */
.voices{
  background: url('./img/add/koe_bg_sp.webp') no-repeat center center;
  background-size: cover;
  padding-bottom: 8em;
}
  .voices_swiper .swiper-wrapper {
    display: flex;
  }
  .voices_swiper .swiper-slide {
    width: 70%;
    flex-shrink: 0;
    margin: 0 0px 0 30px;
  }
  .voice_item {
    display: flex;
    flex-direction: column;
    padding: 2.5em;
    background: #fff;
    border-radius: 4px;
    position: relative;
  }
  .voice_thumb {
    width: 100%;
    height: 120px;
    overflow: hidden;
    margin-bottom: 12px;
  }
  .voice_thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .voice_title {
    font-size: 16px;
    margin-bottom: 8px;
  }
  .voice_excerpt {
    font-size: 14px;
  }
  .voice_date {
    position: absolute;
    bottom: 8px;
    right: 1.5em;
    font-size: 14px;
    color: #909090;
  }
  .voices .btn_wrap{
    padding-top: 4em;
  }

    #back-top {
    display: none !important;
  }

}


/* --- Mobile Small (520px以下) --- */
@media only screen and (max-width: 520px) {
    .room_facility_li,
    .faci_spa_block {
        width: 100%;
    }
    .alink_img { height: 90px; }

    .link_block.c4 a {
        width: 100%;
        margin-bottom: 10px;
    }
    .room_kodawari .swiper-slide {
        height: 95vw;
    }
}

/* --- Extra Small (370px以下) --- */
@media only screen and (max-width: 370px) {
    .form_wrap form {
        flex-direction: column;
        align-items: center;
    }
    .date_489ban { margin-right: 0; }

    .head2 { font-size: 1.8rem; }
    
}





html {
	line-height: 1.15;
	-webkit-text-size-adjust: 100%;
}

/* Sections
	 ========================================================================== */

/**
 * Remove the margin in all browsers.
 */
body {
	margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
	display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
	font-size: 2em;
	margin: 0.67em 0;
}

/* Grouping content
	 ========================================================================== */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
	box-sizing: content-box;
	height: 0;
	overflow: visible;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
	font-family: monospace, monospace;
	font-size: 1em;
}

/* Text-level semantics
	 ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */
a {
	background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
	border-bottom: none;
	text-decoration: underline;
	text-decoration: underline dotted;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
	font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
	font-family: monospace, monospace;
	font-size: 1em;
}

/**
 * Add the correct font size in all browsers.
 */
small {
	font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

/* Embedded content
	 ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */
img {
	border-style: none;
}

/* Forms
	 ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
	font-family: inherit;
	font-size: 100%;
	line-height: 1.15;
	margin: 0;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
	overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
	text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
	-webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
	outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
	padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *		`fieldset` elements in all browsers.
 */
legend {
	box-sizing: border-box;
	color: inherit;
	display: table;
	max-width: 100%;
	padding: 0;
	white-space: normal;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
	vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
	overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
	box-sizing: border-box;
	padding: 0;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
	-webkit-appearance: textfield;
	outline-offset: -2px;
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit;
}
/* Navigation
--------------------------------------------- */
.main-navigation {
	display: block;
	width: 100%;
}

.main-navigation ul {
	display: none;
	list-style: none;
	margin: 0;
	padding-right: 0;
}

.main-navigation ul ul {
	box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
	float: right;
	position: absolute;
	top: 100%;
	right: -999em;
	z-index: 99999;
}

.main-navigation ul ul ul {
	right: -999em;
	top: 0;
}

.main-navigation ul ul li:hover > ul,
.main-navigation ul ul li.focus > ul {
	display: block;
	right: auto;
}

.main-navigation ul ul a {
	width: 200px;
}

.main-navigation ul li:hover > ul,
.main-navigation ul li.focus > ul {
	right: auto;
}

.main-navigation li {
	position: relative;
}

.main-navigation a {
	display: block;
	text-decoration: none;
}

/* Small menu. */
.menu-toggle,
.main-navigation.toggled ul {
	display: block;
}

@media screen and (min-width: 37.5em) {

	.menu-toggle {
		display: none;
	}

	.main-navigation ul {
		display: flex;
	}
}

.site-main .comment-navigation,
.site-main
.posts-navigation,
.site-main
.post-navigation {
	margin: 0 0 1.5em;
}

.comment-navigation .nav-links,
.posts-navigation .nav-links,
.post-navigation .nav-links {
	display: flex;
}

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
	flex: 1 0 50%;
}

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
	text-align: end;
	flex: 1 0 50%;
}

/* Posts and pages
--------------------------------------------- */
.sticky {
	display: block;
}

.post,
.page {
	margin: 0 0 1.5em;
}

.updated:not(.published) {
	display: none;
}

.page-content,
.entry-content,
.entry-summary {
	margin: 1.5em 0 0;
}

.page-links {
	clear: both;
	margin: 0 0 1.5em;
}

/* Comments
--------------------------------------------- */
.comment-content a {
	word-wrap: break-word;
}

.bypostauthor {
	display: block;
}

/* Widgets
--------------------------------------------- */
.widget {
	margin: 0 0 1.5em;
}

.widget select {
	max-width: 100%;
}

/* Media
--------------------------------------------- */
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
	border: none;
	margin-bottom: 0;
	margin-top: 0;
	padding: 0;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
	display: inline-block;
}

/* Captions
--------------------------------------------- */
.wp-caption {
	margin-bottom: 1.5em;
	max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin-right: auto;
	margin-left: auto;
}

.wp-caption .wp-caption-text {
	margin: 0.8075em 0;
}

.wp-caption-text {
	text-align: center;
}

/* Galleries
--------------------------------------------- */
.gallery {
	margin-bottom: 1.5em;
	display: grid;
	grid-gap: 1.5em;
}

.gallery-item {
	display: inline-block;
	text-align: center;
	width: 100%;
}

.gallery-columns-2 {
	grid-template-columns: repeat(2, 1fr);
}

.gallery-columns-3 {
	grid-template-columns: repeat(3, 1fr);
}

.gallery-columns-4 {
	grid-template-columns: repeat(4, 1fr);
}

.gallery-columns-5 {
	grid-template-columns: repeat(5, 1fr);
}

.gallery-columns-6 {
	grid-template-columns: repeat(6, 1fr);
}

.gallery-columns-7 {
	grid-template-columns: repeat(7, 1fr);
}

.gallery-columns-8 {
	grid-template-columns: repeat(8, 1fr);
}

.gallery-columns-9 {
	grid-template-columns: repeat(9, 1fr);
}

.gallery-caption {
	display: block;
}

/*--------------------------------------------------------------
# Plugins
--------------------------------------------------------------*/

/* Jetpack infinite scroll
--------------------------------------------- */

/* Hide the Posts Navigation and the Footer when Infinite Scroll is in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
	display: none;
}

/* Re-display the Theme Footer when Infinite Scroll has reached its end. */
.infinity-end.neverending .site-footer {
	display: block;
}

/*--------------------------------------------------------------
# Utilities
--------------------------------------------------------------*/

/* Accessibility
--------------------------------------------- */

/* Text meant only for screen readers. */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	clip-path: none;
	color: #21759b;
	display: block;
	font-size: 0.875rem;
	font-weight: 700;
	height: auto;
	right: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}

/* Do not show the outline on the skip link target. */
#primary[tabindex="-1"]:focus {
	outline: 0;
}

/* Alignments
--------------------------------------------- */
.alignleft {
	float: left;
	margin-right: 1.5em;
	margin-bottom: 1.5em;
}

.alignright {
	float: right;
	margin-left: 1.5em;
	margin-bottom: 1.5em;
}

.aligncenter {
	clear: both;
	display: block;
	margin-right: auto;
	margin-left: auto;
	margin-bottom: 1.5em;
}



/* ##########################################################################
   FILE: top-rsp.css (All contents merged below)
   ########################################################################## */

/* CSS Document */
@media only screen and (max-width: 1280px) {
    .top_about_block.b1 .top_about_cont {
        padding: 50px 30px 50px 50px;
    }
}
@media only screen and (max-width: 1024px) {
    .top_about_block.b1 .head2 {
        margin-bottom: 25px;
        font-size: 3.3rem;
    }
    .top_about_block.b2 .head3 {
        margin-bottom: 25px;
        font-size: 2.5rem;
    }
    .top_about_img .btn1 {
        width: auto;
    }
}
@media only screen and (max-width: 850px) {
    .top_about_block.b1 .top_about_cont {
        width: 50%;
        padding: 40px 30px;
    }
    .top_about_wrap {
        align-items: center;
    }
    .top_about_wrap img {
        width: 45%;
        margin-right: 20px;
    }
    .top_about_img img {
        width: 60%;
    }
}


/* ##########################################################################
   FILE: top-mobile.css (All contents merged below)
   ########################################################################## */

/* CSS Document */
@media only screen and (max-width: 1024px) {
    .top_about_block {
        flex-direction: column;
        justify-content: flex-start;
        align-items: center;
        margin-bottom: 30px;
    }
    .top_about_block.b1 img {
        width: 93%;
        margin-bottom: 20px;
    }
    .top_about_block.b1 .top_about_cont {
        width: 93%;
        padding: 0;
        margin: 0 auto;
    }
    .top_about_block.b1 .head2 {
        margin-bottom: 25px;
        font-size: 2.8rem;
        line-height: 1.5;
        text-align: center;
    }
    .top_about_block.b1::before, .top_about_block.b2::before, .top_about_block.b1::after, .top_about_block.b2::after {
        display: none;
    }
    .top_about_cont p {
        margin-bottom: 0;
    }
    .top_about_block.b2 {
        padding-top: 0;
        padding-bottom: 0;
    }
    .top_about_wrap {
        flex-wrap: wrap;
        justify-content: space-between;
    }
    .top_about_block.b2 .head3 {
        margin-bottom: 20px;
        font-size: 2.3rem;
        text-align: center;
    }
    .top_about_wrap img {
        width: 49%;
        margin: 0 0 20px;
    }
    .top_about_img {
        flex-wrap: wrap;
        justify-content: space-between;
        margin-top: 20px;
    }
    .top_about_img img {
        width: 48%;
        margin-bottom: 20px;
    }
    .tb_n {
        display: none;
    }
    .top_about_wrap img:nth-of-type(1) {
        order: 1;
    }
    .top_about_wrap img:nth-of-type(2) {
        order: 2;
    }
    .top_about_cont {
        order: 3;
    }
    .top_about_block.b2 .btn_wrap {
        width: 100%;
    }
    #top_about {
        padding-top: 45px;
        padding-bottom: 40px;
    }
}
@media only screen and (max-width: 767px) {
	#top_slide.top_slide_new > .head2 .ja-logo {
		max-width: inherit;
        min-width: inherit;
        width: clamp(40px, 21vw, 80px);
	}
	
    #top_about {
        padding-top: 30px;
        padding-bottom: 20px;
    }
    .top_about_block.b1 .head2,
    .top_about_new .top_about_block.b1 .head2 {
        margin-bottom: 15px;
        font-size: 2.3rem;
        padding: 0 3%;
    }
    .top_about_block.b1 img {
        margin-bottom: 10px;
    }
    .top_about_block {    
        margin-bottom: 25px;
    }
    .top_about_block.b2 .head3 {
        margin-bottom: 10px;
        font-size: 1.8rem;
        line-height: 1.5;
    }
    .top_about_new .top_about_block.b2 .head3{
	    display: flex;
		text-align: left;
		align-items: center;
    }
    .top_about_new .top_about_block.b2 .head3 .ja-logo{
	    max-width: 65px;
		min-width: 65px;
		margin-right: 10px;
    }
    .top_about_wrap img {
        margin: 0 0 10px;
    }
}
