@charset "UTF-8";
@import url("/css/base-custom14.css");
html {
  font-size: 59%;
  line-height: 1.5;
}

@media only screen and (max-width: 768px) {
  html {
    font-size: 70%;
    line-height: 1.5;
  }
}

.flex_box {
  display: flex;
}

.flex_box_between {
  justify-content: space-between;
}

.flex_box_wrap {
  flex-wrap: wrap;
}

.left-box {
  float: left;
}

.right-box {
  float: right;
}

.btn > * {
  color: #fff;
  font-weight: 700;
  text-align: center;
  text-decoration: none;
  line-height: 1.5;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  max-width: 100%;
  min-height: 3.25em;
  padding: .75em 2.5em .875em 2.5em;
  position: relative;
  background: #024837;
  border-radius: 290486px;
}

.btn-clear > * {
  background: #b8b6a6;
  padding: .75em 1.5em .875em;
}

@media screen and (min-width: 960px) {
  .btn > * {
    font-size: 1.6rem;
    cursor: pointer;
  }
}

table {
  width: 100%;
}

.item-title a,
.plan-subnavi a,
.room-list-name a,
.rec_planbox a,
a.detail_btn,
a.resv_btn,
.reviews-wrap .reviews > a {
  text-decoration: none;
}

.right {
  text-align: right;
}

.color-red {
  color: #cc0000;
}

#Sorry-msg {
  font-size: 1.5em;
  color: #b8b6a6;
  text-align: center;
  padding: 50px 0 100px;
}

.accommodations-wrap select,
.accommodations-wrap input[type="date"] {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  font-size: 1.5rem;
  background: #fff;
  border: 1px solid #e3e2d4;
}

.accommodations-wrap * {
  outline: none;
  -moz-outline-style: none;
}

/* 検索窓 */
#search-result {
  background: #f6f7ee;
  padding: 1.5rem 2rem;
  margin-bottom: 2px;
}

#search-result dt,
.filter-wrap.accordion .sort-filter-tit {
  font-size: 1.2rem;
  text-align: center;
  font-weight: bold;
  color: var(--accent_color);
}

.filter-wrap.accordion .sort-filter-tit {
  font-size: 1.6rem;
}

#search-result.search-result-date dd {
  font-size: 1.5rem;
  line-height: 1.5;
  padding-top: 0;
}

#search-result dd .flex_box {
  display: flex;
  width: 100%;
  padding-top: 2em;
}

#search-result dd .flex_box > div {
  width: 100%;
  position: relative;
}

#search-result dd .flex_box > div.btn-clear {
  width: 50%;
}

#search-result dd .flex_box input,
#search-result dd .flex_box select {
  height: 100%;
  font-size: 1.6rem;
  font-family: var(--font);
}

#search-result dd .flex_box input[type="text"],
#search-result dd .flex_box input[type="date"] {
  background: #fff;
  /*  border: 1px solid #e3e2d4; */
  border: 1px solid #8b8a78;
  border-radius: 4px;
  padding: 0.25rem 1rem;
  width: 100%;
}

#search-result dd .flex_box input[type="date"] {
  min-height: 2.2em;
}

#search-result dd .flex_box select {
  cursor: pointer;
  width: 100%;
  padding: 0.25rem 1rem;
  border-radius: 4px;
  /*  border: 1px solid #e3e2d4; */
  border: 1px solid #8b8a78;
  background: #fff;
  background-image: none;
  appearance: none;
}

#search-result dd .flex_box select::before {
  content: "";
  display: block;
  width: 0.65em;
  height: 0.65em;
  /* background:url(../images/common/icon_form_select.svg) no-repeat 0 0/contain; */
  position: absolute;
  top: 54%;
  right: 1em;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

#search-result .room-search__checkin-jp::before,
#search-result .room-search__checkin-en::before,
#search-result .room-search__checkin-tc::before,
#search-result .room-search__checkout-jp::before,
#search-result .room-search__checkout-en::before,
#search-result .room-search__checkout-tc::before,
#search-result .room-search__select_ratetype-jp::before,
#search-result .room-search__select_ratetype-en::before,
#search-result .room-search__select_ratetype-tc::before,
#search-result .room-search__select_stayninzu-jp::before,
#search-result .room-search__select_stayninzu-en::before,
#search-result .room-search__select_stayninzu-tc::before {
  width: 100%;
  font-size: 1.5rem;
  /*  font-weight:700; */
  position: absolute;
  top: -2.0em;
  left: 0;
}

#search-result .room-search__checkin-jp::before {
  content: "チェックイン日";
}

#search-result .room-search__checkin-en::before {
  content: "Check-in";
}

#search-result .room-search__checkin-tc::before {
  content: "入住日期";
}

#search-result .room-search__checkout-jp::before {
  content: "チェックアウト日";
}

#search-result .room-search__checkout-en::before {
  content: "Check-out";
}

#search-result .room-search__checkout-tc::before {
  content: "退房日期";
}

#search-result .room-search__select_ratetype-jp::before {
  content: "食事区分";
}

#search-result .room-search__select_ratetype-en::before {
  content: "Meal plan option";
}

#search-result .room-search__select_ratetype-tc::before {
  content: "有無餐點";
}

#search-result .room-search__select_stayninzu-jp::before {
  content: "人数/部屋数";
}

#search-result .room-search__select_stayninzu-en::before {
  content: "Persons / room";
}

#search-result .room-search__select_stayninzu-tc::before {
  content: "人數/房間數";
}

#search-result dd small,
#search-result dd strong {
  font-weight: 700;
  color: #ffba00;
}

#search-result dd strong {
  font-size: 1.5em;
}

#search-result dd small {
  font-size: 1.2em;
}

#search-result input[type="button"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  font-family: inherit;
  border: none;
  font-size: 1.4rem;
}

#filter01-wrap {
  background: #f6f7ee;
  /*  margin: 20px auto 5px auto; */
  justify-content: center;
}

#meal-filter-wrap .sort-filter-tit,
#search-sort .sort-filter-tit {
  /*     background-color: #024837; */
  /*
    text-align: center;
    padding: 10px 10px 5px 0;
*/
  /* CHANGED */
}

#meal-filter-wrap .filter-wrap .sort-item,
#search-sort .filter-wrap .sort-item {
  background-color: none !important;
  padding: 20px !important;
}

/* エリア検索 */
#filter-wrap {
  /*  background: #f6f7ee; */
  margin-bottom: 50px;
}

#property-filter {
  text-align: center;
  background: var(--light_color);
  padding-bottom: 5px;
}

#meal-filter-wrap,
#filter01-wrap + #property-filter {
  margin-top: 2px;
}

#property-filter .sort-filter-tit {
  font-weight: 700;
  text-align: center;
}

#property-filter .flex_box {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: flex-start;
  /*     padding: 10px 20px 1px; */
  flex-wrap: wrap;
  row-gap: 10px;
}

.filter-wrap .sort-item {
  /*     padding: 15px 20px */
}

#property-filter .property-filter-list {
  background: #fff;
  border: 1px solid #8b8a78;
  border-radius: 5px;
  text-align: center;
  padding: 5px 30px;
  /* line-height: 42px; */
  font-size: 1.5rem;
  cursor: pointer;
  box-sizing: border-box;
}

.filter-wrap .sort-item a b {
  /*  color: #ffba00; */
  text-decoration: underline;
}

#property-filter .property-filter-list:hover,
#property-filter .property-filter-list.select-item {
  color: #fff;
  background: var(--accent_color);
}

.filter-wrap ul.flex_box li,
#search-sort .sort-item > a {
  /*     padding-right: 10px; */
  margin-right: 15px;
}

.filter-wrap ul.flex_box li a {
  box-sizing: border-box;
}

.filter-wrap ul.flex_box li a,
#search-sort .sort-item > a {
  text-decoration: none;
}

.filter-wrap ul.flex_box li:last-child {
  border-right: 0;
  padding-right: 0;
  margin-right: 0;
}

.yado-property-wrap {
  font-weight: 700;
  margin-bottom: 40px;
}

.yado-property-wrap .yado-property {
  margin-right: 1em;
}

p.yado-property-wrap {
  background-color: #eaefe1;
  border: 1px solid #ccc;
  padding: 8px 5px !important;
}

#room-search2 {
  margin: 0;
  font-family: brandon-grotesque, sans-serif;
}

@media screen and (min-width: 960px) {
  #search-result input[type="button"] {
    width: 100%;
    font-size: 1.6rem;
    cursor: pointer;
  }
  #search-result dl {
    display: flex;
    align-items: center;
  }
  #search-result dt {
    /*      width: 20%; */
    width: 200px;
  }
  #search-result dd {
    /*      width: 80%; */
    width: calc(100% - 200px);
    padding-top: 1.5em;
  }
  #search-result dd .flex_box {
    gap: 1rem;
  }
  #room-search2 {
    margin: 0;
  }
  #room-search2 select {
    height: 100%;
  }
  #filter01-wrap,
  #property-filter {
    display: flex;
    padding: 1.2rem 2rem;
  }
  #filter01-wrap {
    /*    padding-bottom:0; */
  }
  #filter01-wrap + #property-filter {
    /*    padding-top: 1.0rem; */
  }
  #search-sort,
  #filter01-wrap .outsize_mar #meal-filter-wrap {
    display: flex;
    align-items: center;
  }
  #search-sort {
    width: 40%;
  }
  #filter01-wrap .outsize_mar {
    width: 60%;
  }
  .filter-wrap.accordion .toggle {
    display: none;
  }
  #meal-filter-wrap .sort-filter-tit,
  #search-sort .sort-filter-tit,
  #property-filter .Label {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 200px;
    font-weight: bold;
  }
  #property-filter .Label span,
  #property-filter input[type="checkbox"] + label::before,
  #property-filter input[type="checkbox"] + label::after {
    display: none;
  }
}

/*
@media screen and (max-width: 1160px) {
  #search-result dt {
      width: 100%;
      padding-bottom: 10px;
  }
  #search-result dd {
      width: 100%;
    border-left:none;
  }
  #search-result {
      padding: 25px 10px 0px;
  }
}
*/
@media screen and (max-width: 959px) {
  #search-result input[type="text"] {
    padding: 14px 0px 14px 0px;
  }
  #room-search-btn2 {
    padding: 10px 20px 10px;
    width: auto;
  }
  #search-result .room-search__checkin-jp::before,
  #search-result .room-search__checkin-en::before,
  #search-result .room-search__checkin-tc::before,
  #search-result .room-search__checkout-jp::before,
  #search-result .room-search__checkout-en::before,
  #search-result .room-search__checkout-tc::before,
  #search-result .room-search__select_ratetype-jp::before,
  #search-result .room-search__select_ratetype-en::before,
  #search-result .room-search__select_ratetype-tc::before,
  #search-result .room-search__select_stayninzu-jp::before,
  #search-result .room-search__select_stayninzu-en::before,
  #search-result .room-search__select_stayninzu-tc::before {
    text-align: center;
  }
  #room-search2 select {
    height: auto;
    background: #fff;
    width: 100%;
    margin: 0px;
  }
  #room-search-btn,
  #room-search-btn2 {
    position: relative;
    width: 100%;
    margin: 10px 0 0px;
  }
  #search-result {
    padding: 10px 15px;
  }
  #search-result dt {
    text-align: center;
    padding: 0;
  }
  #search-result.search-result-date dd {
    font-size: 1.3rem;
  }
  #room-search2 .flex_box input,
  #room-search2 .flex_box select {
    font-size: 1.6rem;
  }
  #search-result input[type="text"] {
    padding: 8px 0px 8px 0px;
  }
  #room-search2 {
    margin: 10px 0 0;
  }
  #room-search2 select {
    height: auto;
    line-height: inherit;
    padding: 5px 20px;
  }
  #room-search2 #room-search-btn2 {
    font-size: 1.5rem;
    margin: 0;
    border: 0;
  }
  #room-search2 input[type="button"] {
    min-height: auto;
  }
  #search-result dd .flex_box {
    flex-wrap: wrap;
    justify-content: space-between;
  }
  #search-result dd .flex_box > div {
    width: 49%;
    margin-top: 1.8em;
    margin-bottom: 5px;
  }
  #search-result .room-search__checkin-jp::before,
  #search-result .room-search__checkin-en::before,
  #search-result .room-search__checkin-tc::before,
  #search-result .room-search__checkout-jp::before,
  #search-result .room-search__checkout-en::before,
  #search-result .room-search__checkout-tc::before,
  #search-result .room-search__select_ratetype-jp::before,
  #search-result .room-search__select_ratetype-en::before,
  #search-result .room-search__select_ratetype-tc::before,
  #search-result .room-search__select_stayninzu-jp::before,
  #search-result .room-search__select_stayninzu-en::before,
  #search-result .room-search__select_stayninzu-tc::before {
    font-size: 1.3rem;
  }
  #search-result dd .flex_box > div.btn {
    width: 75%;
    height: 100%;
    margin-top: 10px;
  }
  #search-result dd .flex_box > div.btn-clear {
    width: 22%;
  }
  #search-result dd .flex_box > div.btn-clear input[type="button"] {
    width: 100%;
    font-size: 1.3rem;
    margin: 0.25em 0 0;
    padding: 10px 5px;
  }
  #search-result dt {
    font-size: 1.6rem;
  }
  .filter-wrap.accordion .sort-filter-tit {
    font-size: 1.5rem;
  }
  #property-filter .property-filter-list {
    width: 48%;
  }
  #property-filter .flex_box {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    justify-content: space-between;
    display: flex;
    align-items: center;
    padding: 15px 15px 1px;
    row-gap: inherit;
  }
  #property-filter .property-filter-list {
    width: 48%;
    margin: 0px 0px 8px;
    font-size: 14px;
    padding: 5px;
    line-height: 1.6;
  }
  #property-filter .flex_box {
    padding: 0;
    margin-bottom: 10px;
  }
  /*ベース*/
  .accordion .toggle {
    display: none;
  }
  .accordion .sort-filter-tit {
    padding: 0.35em;
    display: block;
    color: #fff;
    background: #024837;
  }
  .accordion .sort-filter-tit::before {
    /*タイトル横の矢印*/
    border: none;
    background: transparent;
    border-radius: 0;
    margin-right: 0;
    content: "";
    width: 12px;
    height: 12px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(45deg);
    position: absolute;
    top: calc( 50% - 10px);
    right: 20px;
    transform: rotate(135deg);
  }
  .accordion .sort-filter-tit,
  .accordion .sort-item {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    transform: translateZ(0);
    transition: all 0.3s;
  }
  .accordion .sort-item {
    /*本文*/
    height: 0;
    padding: 0 20px;
    overflow: hidden;
  }
  .accordion .toggle:checked + .Label + .sort-item {
    /*開閉時*/
    height: auto;
    text-align: center;
    padding: 15px 20px 0;
    transition: all .3s;
    box-sizing: border-box;
  }
  #search-sort.accordion .toggle:checked + .Label + .sort-item,
  #meal-filter-wrap.accordion .toggle:checked + .Label + .sort-item {
    padding: 10px 20px;
  }
  .accordion .toggle:checked + .Label::before {
    transform: rotate(-45deg) !important;
    top: calc(50% - 3px) !important;
  }
  #search-sort.accordion,
  #property-filter.accordion {
    padding-bottom: 0;
  }
  #search-sort.accordion::after,
  #property-filter.accordion::after,
  .accordion input[type="checkbox"] + label::after {
    display: none;
  }
}

/* ここまで検索窓 */
/******************
宿一覧
*********************/
.yado-list-plan dd dt span.en-pdetail-btn {
  position: absolute;
  top: 50%;
  right: 0;
  /*  margin-top: -1.0em; */
  transform: translateY(-50%);
}

.yado-list-plan dd dt span.en-pdetail-btn a,
a.detail_btn {
  display: inline-block;
  color: #00673b;
  line-height: 1.2;
  text-align: center;
  background: #fff;
  border-radius: 25px;
  /*  border: solid 1px #00673b; */
  border: solid 1px rgba(0, 0, 0, 0.5);
  padding: 10px 30px;
  margin: 5px 0;
  padding: 5px 25px;
  font-size: 0.85em;
}

.yado-list-plan dd dt span.en-pdetail-btn a:hover,
a.detail_btn:hover {
  color: #fff;
  background: #00673b;
}

a.resv_btn {
  display: inline-block;
  color: #fff;
  line-height: 1.2;
  text-align: center;
  background: var(--orange_color);
  border-radius: 25px;
  border: solid 1px var(--orange_color);
  padding: 10px 30px;
  margin: 5px 0;
}

a.resv_btn:hover {
  color: var(--orange_color);
  background: #fff;
}

.yado-list-box a {
  text-decoration: none;
}

.list-item-header {
  background: #f6f7ee;
}

.yado-list-area {
  /* margin: 10px 20px 0px; */
  /* background: #f2f0e9; */
  color: #000;
  top: 0px;
  position: absolute;
  padding: 40px 20px 7px;
  right: 0;
  pointer-events: none;
}

.yado-detail-link ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.yado-detail-link ul.clearfix::after {
  display: none;
}
.yado-detail-link .unitBox ul li{
  margin-bottom: 0;
}

.yado-detail-link li a {
  display: block;
  height: auto;
  color: #00673b;
  line-height: 1.2;
  text-align: center;
  background: #fff;
  border-radius: 25px;
  /*  border: solid 1px #00673b; */
  padding: 8px 20px;
  text-decoration: none;
}

#yado-info .yado-detail-link {
  margin: 1.25em 0 0;
  right: 10px;
  bottom: 0;
  float: right;
  height: auto;
  width: auto;
}
/* PCのみ：タブナビを帯の中央に並べる。
   直前の #yado-info .yado-detail-link{float:right} を float:none で打ち消し、
   幅を内容ぴったり(fit-content)にして左右 auto マージンで中央寄せする。
   left/right + translateX(-50%) は float:right が残ると基準がずれるので使わない。
   SPでは同じ .yado-detail-link が画面下の固定バーになるため当てない。 */
@media only screen and (min-width: 960px) {
  body.en #yado-info .yado-detail-link,
  body.zh-tw #yado-info .yado-detail-link {
    float: none;
    margin: 1.25em auto 0;
    right: auto;
    left: auto;
    bottom: 0;
    transform: none;
    height: auto;
    width: fit-content;
  }
}

#yado-info .yado-detail-link li a {
  border: solid 1px #00673b;
}

/*
.yado-info-page #yado-info .yado-detail-link li#yado-detail-link02 a,
.yado-info-page #yado-info .yado-detail-link li#yado-detail-link03 a,
.yado-info-page #yado-info .yado-detail-link li#yado-detail-link04 a,
.yado-info-plan #yado-info .yado-detail-link li#yado-detail-link01 a,
.yado-info-plan #yado-info .yado-detail-link li#yado-detail-link03 a,
.yado-info-plan #yado-info .yado-detail-link li#yado-detail-link04 a,
.yado-info-room #yado-info .yado-detail-link li#yado-detail-link01 a,
.yado-info-room #yado-info .yado-detail-link li#yado-detail-link02 a,
.yado-info-room #yado-info .yado-detail-link li#yado-detail-link04 a,
.yado-info-cal #yado-info .yado-detail-link li#yado-detail-link01 a,
.yado-info-cal #yado-info .yado-detail-link li#yado-detail-link02 a,
.yado-info-cal #yado-info .yado-detail-link li#yado-detail-link03 a {
  background: #f6f7ee;
  border-bottom: 0;
  color: #000;
}
*/
.yado-info-plan #yado-info .yado-detail-link li#yado-detail-link01 a:hover,
.yado-info-plan #yado-info .yado-detail-link li#yado-detail-link03 a:hover,
.yado-info-room #yado-info .yado-detail-link li#yado-detail-link01 a:hover,
.yado-info-room #yado-info .yado-detail-link li#yado-detail-link02 a:hover,
.yado-room-page #yado-info .yado-detail-link li#yado-detail-link01 a:hover {
  /*
  color: #fff;
  background: rgba(2, 72, 55, 1);
*/
}

.yado-detail-link li a:hover,
.yado-info-page #yado-info .yado-detail-link li#yado-detail-link01 a,
.yado-info-plan #yado-info .yado-detail-link li#yado-detail-link02 a,
.yado-info-room #yado-info .yado-detail-link li#yado-detail-link03 a,
.yado-info-cal #yado-info .yado-detail-link li#yado-detail-link04 a {
  color: #fff;
  background: #00673b;
}

.yado-list-plan {
  margin-top: 1em;
}

.yado-list-plan > dt,
.item-title {
  font-size: 1.7rem;
  /*  font-weight:bold; */
  padding: 0 0 0.2em 1.59091em;
  position: relative;
}

.yado-list-plan > dt::before,
#enyado_info_title::before,
.item-title::before {
  content: '';
  display: block;
  width: 1em;
  height: 1px;
  background-color: var(--ttl-color, #024837);
  position: absolute;
  top: 0.9em;
  left: 0;
}

.plan-list-box a {
  text-decoration: none;
}

.yado-list-plan > dd {
  border-top: 1px solid #e3e2d4;
}

.yado-list-plan dd dl,
#plan-list .plan-list-box {
  margin: 0;
}

.yado-list-plan .en-pdetail-tit {
  font-weight: bold;
  line-height: 1.5;
}

.yado-list-plan > dd {
  position: relative;
  padding-bottom: 55px;
}

.accordion-btn-jp {
  text-align: center;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  box-sizing: border-box;
}

.accordion-btn-jp {
  font-size: 0.9em;
  line-height: 1;
  background: #f6f7ee;
  padding: 10px 20px;
  border-radius: 30px;
  cursor: pointer;
}

.accordion-btn-en {
  text-align: center;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}

.accordion-btn-en {
  font-size: 0.9em;
  line-height: 1;
  background: #f6f7ee;
  padding: 10px 20px;
  border-radius: 30px;
  cursor: pointer;
}

.accordion-btn-jp::after {
  content: '▼ プランをもっと見る';
}

.accordion-btn-en::after {
  content: '▼ See More Plans';
}

.accordion-btn-jp.open::after {
  content: '▲ 閉じる';
}

.accordion-btn-en.open::after {
  content: '▲ Close';
}

@media screen and (min-width: 1440px) {
  .yado-list-name__inner__text {
    width: 100%;
    margin-right: 20px;
  }
}

@media screen and (min-width: 960px) {
  .yado-list-box .yado-list-innerbox {
    background: #fff;
    position: relative;
    margin: 0 auto 1em;
  }
  h3.list-item-header {
    background: #f6f7ee;
  }
  h3.list-item-header a {
    display: block;
    font-size: 2.0rem;
    font-weight: bold;
    padding: 28px 24px 8px;
  }
  .en h3.list-item-header a,.zh-tw h3.list-item-header a {
    padding: 28px 24px;
  }
  #yado-list .yado-detail-link {
    width: auto;
    margin-top: 10px;
    position: absolute;
    top: 22px;
    right: 15px;
  }
  .yado-detail-link ul {
    margin-left: 1px;
  }
  .yado-detail-link ul li {
    min-width: 7.5em;
    padding: 0 10px 0 0;
  }
  .yado-list-area {
    font-size: 1.3rem;
    padding: 10px 24px 38px;
    left: 0;
    right: auto;
  }
  .yado-list-box .flex_box {
    justify-content: space-between;
  }
  .yado-list-box .flex_box .imagebox {
    width: 360px;
  }
  .yado-list-box .flex_box .item_box {
    width: calc(100% - 390px);
  }
  .plan-list-box,
  .yado-list-box .flex_box {
    padding: 20px 20px;
  }
  #plan-list .plan-list-box {
    padding: 20px 0;
  }
  .yado-list-ph > a {
    width: 34%;
    float: right;
    /*    padding-bottom: 32.2%; */
    padding-bottom: 33.75%;
    position: relative;
    overflow: hidden;
    margin-bottom: 2px;
  }
  .yado-list-ph > a:first-child {
    width: calc(66% - 2px);
    float: none;
    float: left;
    /*    padding-bottom: 65%; */
    padding-bottom: 68%;
    position: relative;
    overflow: hidden;
  }
  .yado-list-ph > a img {
    width: 100% !important;
    float: none !important;
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  .yado-list-plan dd dl,
  #plan-list .plan-list-box {
    position: relative;
    border-bottom: 1px solid #e3e2d4;
    padding: 10px 160px 10px 0;
  }
  .yado-list-plan dd dt {
    padding-top: 0;
    margin: 0px 0;
  }
  .yado-list-plan dd dt span.en-pdetail-tit a {
    display: block;
    font-size: 0.95em;
    line-height: 1.6;
    margin-right: 10px;
    margin-bottom: 5px;
  }
  .yado-list-plan dd dt span.en-pdetail-tit a:hover {
    opacity: .7;
  }
  .yado-list-plan dd dd {
    line-height: 1.4;
  }
  .yado-list-info .yado-list-name {
    position: static;
  }
  #yado-list .yado-detail-link {
    width: auto;
    margin-top: 0px;
    position: absolute;
    top: 18px;
    right: 15px;
  }
  #plan-info #plan-name {
    padding-bottom: 15px;
  }
  #plan-ph #plan-ph-left {
    width: 50%;
    margin-bottom: 0px;
  }
  #plan-ph #plan-ph-right {
    width: 47%;
  }
  #plan-ph #plan-ph-right p {
    line-height: 1.6;
    margin-top: 0.5em;
  }
  #plan-ph-right .unitBox ul{
    margin: 0;
  }
  .item-title {
    /*
    background: #fafbf6;
    border: 1px solid #ddd;
    color: #000;
*/
  }
  .item-title a {
    /*    color: #000 !important; */
  }
  #enyado_info_title {
    /*
    background: #fafbf6;
    color: #000;
    border-bottom: 1px solid #ddd;
    border-right: 1px solid #ddd;
    border-left: 1px solid #ddd;
    border-top: 1px solid #ddd;
*/
  }
  #yado-info2 {
    /*
    border-left: 1px solid #ddd;
    border-right: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
*/
  }
  .yado-detail-link a {
    border: none;
  }
  .yado-box {
    width: 93%;
    margin-left: auto;
    margin-right: auto;
  }
}

/******************
宿詳細
*********************/
.yado-detail-link {
  position: relative;
  z-index: 1;
}

.yado-detail-link ul {
  padding: 0;
  margin: 0;
  list-style: none;
}

#yado-info {
  /*   margin-bottom: 15px; */
  overflow: hidden;
}

#yado-info #yado-name h3 {
  margin: 0 .5em 0 0;
  display: inline;
}

#enyado_info_title,
.item-title {
  font-size: 2.4rem;
  /*  padding: 7px 10px; */
  margin-bottom: 20px;
}

#plan-ph-right,
#yado-info-phright {
  /*     width: 65% */
}

#plan-ph-left,
#yado-info-phleft {
  width: 30%;
}

#yado-info2 {
  width: 100%;
  overflow: hidden;
}

#yado-ph2 ul {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  list-style: none;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

#plan-ph li {
  width: 48%;
  margin-right: 2%;
  /* CHANGED */
  margin-bottom: 20px;
  list-style: none;
  /* CHANGED */
}

#yado-ph2 li {
  width: 48%;
  /* CHANGED */
  margin-bottom: 20px;
}

.yado-info-room .plan-subnavi a:active,
.yado-info-room .plan-subnavi a:hover,
.yado-info-room .plan-subnavi a:link,
.yado-info-room .plan-subnavi a:visited {
  /*     color: #9e782e; */
  text-decoration: underline;
}

#yado-info #yado-name h3 {
  font-size: 3rem;
  font-weight: bold;
  letter-spacing: .24em;
}

#yado-info .yado-text {
  width: 100%;
  margin: 15px 0px 20px 0px;
}

#yado-info .jpy {
  margin-bottom: 20px;
}

#enyado_info_title {
  margin-top: 0;
  /*   margin-bottom: 0; */
}

.yado-box #yado-info2 {
  /*
  padding: 30px;
  box-shadow: none;
*/
}

#yado-info2 {
  /*   background: #fff; */
  /*   padding: 20px; */
  /* CHANGED */
  margin-top: 0;
  margin-bottom: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  /*   box-shadow: 0 10px 20px rgba(0, 0, 0, 0.15); */
}

#yado-info-phleft {
  width: 360px;
  margin-right: 0;
}

#yado-info-phright {
  width: calc(100% - 390px);
}

#plan-ph-right table,
#yado-info2 table {
  width: 100%;
  border: 0;
  border-collapse: collapse;
  margin: 0;
}

#plan-ph-right table td,
#plan-ph-right table th,
#yado-info2 table td,
#yado-info2 table th {
  border: 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 0 10px;
  font-size: 12px;
}

#main .yado-box dd table td,
#main.yado-box dd table th,
.yado-box dd table tr {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  word-break: break-all;
  padding: 12px 10px !important;
}

.yado-box dd table {
  width: 100%;
}

#yado-info3 {
  /*   background-color: #fff; */
  padding-top: 0;
  margin-top: 80px;
}

#yado-info3 .item-box dl {
  border-top: 1px solid #e3e2d4;
  padding-top: 1.25em;
  padding-bottom: 1.25em;
}

#yado-info3 .item-box dl dt {
  font-weight: bold;
}

#yado-info3 .item-box dl dd {
  word-break: break-all;
}

#yado-info3 #yado-map {
  border-bottom: 0;
  padding-bottom: 0;
}

#yado-info3 #yado-map iframe {
  width: 100%;
}

#yado-info3.detail_roominfomation .item-box {
  /*   padding: 30px 0px; */
  /*
  background: #fff;
  border-left: 1px solid  #ddd;
  border-right: 1px solid  #ddd;
  border-bottom: 1px solid  #ddd;
  overflow: hidden;
*/
}

#yado-info3.detail_roominfomation .item-title {
  margin-top: 40px;
}

#yado-info3.detail_roominfomation .item-box .left-box,
#yado-info3.detail_roominfomation .item-box .right-box {
  padding-left: 0px;
}

.item-box .left-box,
.item-box .right-box {
  width: 100%;
  float: none;
}

.l-footer-section--contact {
  margin-top: 60px;
}

#yado-map dd #map {
  width: 100% !important;
}

#yado-info3 .item-title,
.yado-info-plan #plan-info {
  position: relative;
}

#yado-info3 .checkin,
#yado-info3 .checkout,
.yado-info-plan #plan-info .checkin,
.yado-info-plan #plan-info .checkout {
  width: 200px;
  font-size: 1.3rem;
  text-align: center;
  font-weight: bold;
  line-height: 3em;
  color: #000;
  border-radius: 34px;
  background: #f2f0e9;
  /*  border: 1px solid #d9d7c8; */
  position: absolute;
}

#yado-info3 .checkin,
#yado-info3 .checkout {
  top: 0px;
}

.yado-info-plan #plan-info .checkin,
.yado-info-plan #plan-info .checkout {
  bottom: 0;
}

#yado-info3 .checkin,
.yado-info-plan #plan-info .checkin {
  right: 0;
  right: 220px;
}

#yado-info3 .checkout,
.yado-info-plan #plan-info .checkout {
  right: 10px;
}

.checkin dt,
.checkout dt {
  float: left;
  margin: 4px 10px 0;
}

.checkin dd,
.checkout dd {
  font-size: 0.9em;
  color: #bf0000;
  margin: 4px 10px 0 0;
}

@media screen and (min-width: 960px) {
  #yado-info3 .item-box dl {
    display: flex;
    flex-wrap: wrap;
  }
  #yado-info3 .item-box dl dt {
    width: 25%;
    font-weight: bold;
  }
  #yado-info3 .item-box dl dd {
    width: 75%;
  }
}

@media screen and (max-width: 959px) {
  #yado-info2 {
    display: block;
  }
  #yado-info-phleft,
  #yado-info-phright {
    width: 100%;
  }
  #yado-info #yado-name h3 {
    font-size: 1.9rem;
  }
  #enyado_info_title,
  .item-title {
    font-size: 2.0rem;
  }
  .yado-info-plan #enyado_info_title {
    margin-top: 0em;
  }
  #yado-info3,
  #yado-qa {
    margin-top: 30px;
  }
  #yado-info3 .checkin,
  #yado-info3 .checkout,
  .yado-info-plan #plan-info .checkin,
  .yado-info-plan #plan-info .checkout {
    position: static;
  }
  #yado-info .yado-text {
    margin-top: 10px;
    margin-bottom: 10px;
  }
  #yado-info .jpy {
    margin-bottom: 10px;
  }
}

/******************
一覧・詳細ページ共通
*********************/
.yado-info-plan #plan-info #plan-name {
  font-size: 2.8rem;
  font-weight: bold;
  line-height: 1.6;
}

.yado-info-plan #plan-info3 .item-title,
.rec_planbox .item-title,
#singleyado_informationbox > .flex_box .pic_txt .color_title {
  font-size: 2.2rem;
  font-weight: bold;
  line-height: 1.6;
}

.yado-box .plan-list-box .plan-list-info h3,
.yado-info-plan #plan-info4 .item-title,
.plan-img-title {
  font-size: 2.0rem;
  font-weight: bold;
  line-height: 1.6;
}

#price-table01 .price-table-room-name .color_title,
.yado-info-room .room-list-box .flex_box .room-list-info .room-list-name h3,
.rec_plan_innerbox h4.color_title {
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1.6;
}

.yado-info-page #enyado_info_title,
.yado-info-plan #enyado_info_title,
.yado-info-room #enyado_info_title{
  /* background: #f6f7ee; */
  padding: 15px 0px;
  margin-bottom: 0;
}

.yado-info-page #enyado_info_title::before,
.yado-info-plan #enyado_info_title::before,
.yado-info-room #enyado_info_title::before,
.yado-info-cal #enyado_info_title::before {
  display: none;
}

#plan-detail.yado-info-plan #enyado_info_title {
  padding-bottom: 0px;
}

.yado-info-plan #enyado_info_title {
  margin-top: -2.1em;
}

.yado-info-plan .plan-subnavi {
  text-align: center;
  /* background: var(--light_color); */
  padding: 0px 0px 10px;
  margin-bottom: 30px;
}

.yado-info-plan #enyado_info_title,
.yado-info-page #enyado_info_title,
.yado-info-room #enyado_info_title,
.yado-info-cal #enyado_info_title {
  margin-top: -2.1em;
  margin-bottom: 30px;
}

#plan-detail.yado-info-plan #enyado_info_title {
  margin-bottom: 0;
}

.yado-info-plan #plan-info3,
.yado-info-room .rec_planbox {
  border-radius: 5px;
  border: 1px solid #b8b6a6;
  /*  background: #f6f7ee; */
  padding: 15px 40px;
  margin: 30px 0;
}

.yado-info-plan #plan-info3 .item-title,
.rec_planbox .item-title {
  margin-bottom: 10px;
}

.yado-info-plan #plan-info3 .plan-list-box,
.rec_plan_innerbox {
  border-top: 1px solid #e3e2d4;
  padding: 0;
}

.yado-box .plan-list-box .plan-list-ph,
.yado-info-room .room-list-box .flex_box .room-list-ph {
  width: 250px;
}

.yado-box .plan-list-box .plan-list-info,
.yado-info-room .room-list-box .flex_box .room-list-info {
  width: calc(100% - 280px);
}

.yado-info-plan #plan-info3 .room_img,
.yado-info-plan .room-list-box .flex_box .room-list-ph,
.room-det-flex__img {
  width: 165px;
}

.yado-info-plan #plan-info3 .price-table-room-name,
.yado-info-plan .room-list-box .flex_box .room-list-info,
.room-det-flex__cntnt {
  width: calc(100% - 190px);
}

#singleyado_informationbox .items_table th,
#singleyado_informationbox .items_table td,
.yado-info-room .room-list-box .flex_box .room-list-info th,
.yado-info-room .room-list-box .flex_box .room-list-info td {
  /*  border-top: 1px solid #e3e2d4; */
  padding-top: 0.15em;
  padding-bottom: 0.15em;
}

#singleyado_informationbox .items_table th,
.yado-info-room .room-list-box .flex_box .room-list-info th {
  width: 20%;
}

@media screen and (min-width: 960px) {
  #plan-list .plan-list-box,
  .yado-info-plan #plan-info3 .price-table,
  .yado-info-room .room-list-box .flex_box .room-list-info,
  .rec_plan_innerbox {
    padding: 20px 0px 20px 0;
    position: relative;
  }
  .yado-info-room .room-list-box .flex_box .room-list-info {
    padding: 0px 0px 50px 0;
  }
  .plan-list-box .color_btn_wrap,
  .yado-info-room .room-list-box .flex_box .room-list-info .btn-wrap,
  .rec_plan_innerbox .color_btn_wrap {
    width: 180px;
    position: absolute;
    bottom: 0;
    right: 0;
    /*    transform: translateY(-50%); */
  }
}

@media screen and (max-width: 959px) {
  .yado-info-plan #plan-info #plan-name {
    font-size: 2.0rem;
  }
  .yado-info-plan #plan-info3 .item-title,
  .rec_planbox .item-title,
  #singleyado_informationbox > .flex_box .pic_txt .color_title {
    font-size: 1.45rem;
  }
  .yado-box .plan-list-box .plan-list-info h3,
  .yado-info-plan #plan-info4 .item-title,
  .plan-img-title {
    font-size: 1.45rem;
  }
  #price-table01 .price-table-room-name .color_title,
  .yado-info-room .room-list-box .flex_box .room-list-info .room-list-name h3,
  .rec_plan_innerbox h4.color_title {
    font-size: 1.6rem;
  }
  .yado-info-page #enyado_info_title,
  .yado-info-plan #enyado_info_title,
  .yado-info-room #enyado_info_title,
  .yado-info-cal #enyado_info_title {
    padding: 20px 0px 10px;
    font-size: 1.5rem;
  }
  #plan-detail.yado-info-plan #enyado_info_title{
    margin-top: 1em;
    padding-left: 10px;
  }
  #room-detail.yado-info-room #enyado_info_title {
    margin-top: 0;
    padding-left: 10px;
  }
  #enyado_info_title .go-to-calender a {
    min-height: auto;
    font-size: 1.4rem;
  }
  .yado-info-plan #plan-info3,
  .yado-info-room .rec_planbox {
    padding: 10px 20px;
  }
  .yado-info-plan .plan-subnavi {
    padding: 0px 10px 10px;
    margin-bottom: 20px;
  }
  /*
  .yado-box .plan-list-box .plan-list-ph,
  .yado-info-room .room-list-box .flex_box .room-list-ph {
    width: 35%;
  }
  .yado-box .plan-list-box .plan-list-info,
  .yado-info-room .room-list-box .flex_box .room-list-info {
    width: 60%;
  }
*/
  /*  .yado-box .plan-list-box .plan-list-ph, */
  .yado-info-room .room-list-box .flex_box .room-list-ph {
    width: 100%;
    margin: 0 auto 1.5em;
  }
  /*  .yado-box .plan-list-box .plan-list-info, */
  .yado-info-room .room-list-box .flex_box .room-list-info {
    width: 100%;
  }
  /*  .yado-info-plan #plan-info3 .room_img, */
  .yado-info-plan .room-list-box .flex_box .room-list-ph,
  .room-det-flex__img {
    width: 65%;
    margin: 0 auto 1.5em;
  }
  /*  .yado-info-plan #plan-info3 .price-table-room-name, */
  .yado-info-plan .room-list-box .flex_box .room-list-info,
  .room-det-flex__cntnt {
    width: 100%;
  }
  .yado-info-plan #plan-info3 .room_img {
    width: 35%;
  }
  .yado-info-plan #plan-info3 .price-table-room-name {
    width: 60%;
  }
  .yado-info-plan .plan-subnavi {
    display: none;
  }
}

/******************
プラン一覧
*********************/
.yado-box .plan-list-box .plan-list-info .plan-list-text {
  margin-bottom: 1em;
}

/******************
プラン詳細
*********************/
#plan-detail.yado-info-plan #plan-info {
  margin-bottom: 30px;
}

.yado-info-plan #plan-info4 dl {
  margin-bottom: 1.5em;
}

.yado-info-plan #plan-info4 .item-title {
  margin-bottom: 0px;
}

.yado-info-plan #plan-info3 .plan-list-box p {
  font-weight: bold;
  font-size: 1.1em;
  margin: 0 0 0.25em !important;
}

#plan-ph #plan-ph-left .plan-img {
  margin-bottom: 1em;
}

.fee_children {
  display: inline-block;
  font-size: 1.4rem;
  line-height: 1;
  border-radius: 25px;
  background: #f6f7ee;
  padding: 10px 30px;
  margin-top: 8px;
}

@media screen and (max-width: 959px) {
  .yado-info-plan #plan-info3 .plan-list-box {
    position: relative;
    padding-bottom: 3.5em;
  }
  .yado-info-plan #plan-info3 .plan-list-box p {
    font-size: 0.95em;
    margin: 0 !important;
  }
  .fee_children {
    font-size: 1.3rem;
    padding: 8px 20px;
  }
}

/******************
部屋一覧・詳細
*********************/
.yado-info-room .room-list-box {
  border-bottom: 1px solid #e3e2d4;
  padding: 20px 0;
}

.yado-info-room .room-list-box .flex_box .room-list-info .room-list-name {
  margin-bottom: 1em;
}

#singleyado_informationbox > .flex_box {
  flex-wrap: wrap;
}

#singleyado_informationbox > .flex_box .box-ph {
  width: 35%;
}

#singleyado_informationbox > .flex_box .pic_txt {
  width: 60%;
}

#singleyado_informationbox > .flex_box .pic_txt .color_title {
  margin-bottom: 1em;
}

.room-det-flex {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

@media screen and (max-width: 959px) {
  #singleyado_informationbox > .flex_box .box-ph,
  #singleyado_informationbox > .flex_box .pic_txt {
    width: 100%;
  }
  #singleyado_informationbox > .flex_box .box-ph {
    margin-bottom: 1em;
  }
  #singleyado_informationbox > .flex_box .pic_txt .color_title {
  margin-bottom: 0;
}
}

/* 追加
------------------------------ */
.yado-info-box.detail_roominfomation .item-box a {
  color: #000000;
}

.yado-info-box.detail_roominfomation .item-box a:hover {
  opacity: .7;
}

#price-table01 .price-table-room-name .color_title {
  font-size: 1.8rem;
}

.pm-cal-inquiry-btn {
  margin-top: 30px;
  text-align: center;
}

.pm-cal-inquiry-btn a {
  display: inline-block;
  border-radius: 0;
  background: #9e782e;
  color: #fff;
  font-size: 1.1rem;
  text-align: center;
  border: solid 1px;
  padding: 20px;
}

.list-review,
.list-review a {
  display: flex;
  align-items: center;
}

.list-review {
  padding: 0 20px;
  /*  margin-bottom:10px; */
  margin-top: 1em;
}

.list-review .rate {
  width: 80px;
  height: 17px;
  background: url(../img/rate_bg.png) left center no-repeat;
  margin-left: 5px;
}

.list-review .rate span {
  display: block;
  height: 100%;
  background: url(../img/rate_color.png) left center no-repeat;
}

.list-review .review-cnt {
  font-size: 0.85em;
}

.accommodation-footer_wrapper {
  width: 90%;
  max-width: calc(1200px - 20px);
  border: 2px solid rgba(0, 0, 0, 0.35);
  background: #f6f7ee;
  border-radius: 5px;
  padding: 25px 3% 15px;
  margin: 80px auto 0px;
}

.accommodation-footer_wrapper .l-cta-block__headline {
  font-size: 2.2rem;
  text-align: center;
}

.accommodation-footer_wrapper .l-cta-block__headline::after {
  content: "へのお問い合わせ";
  font-size: 0.8em;
  font-weight: normal;
  margin-left: 0.3em;
}

.accommodation-footer_wrapper .l-cta-action__label {
  font-size: 2.0rem;
}

.accommodation-footer_wrapper .l-cta-action__value {
  font-size: 2.8rem;
}

#yado-qa {
  margin-top: 120px;
}

#yado-qa .item-title {
  margin-bottom: 1.5em;
}

#yado-qa dl.faq {
  text-align: left;
  border-bottom: 1px solid rgba(0, 0, 0, 0.25);
  padding-left: 7%;
  padding-right: 3%;
  padding-bottom: 3em;
  margin-bottom: 3em;
}

#yado-qa dl.faq dt {
  font-size: 2.2rem;
  font-weight: bold;
  margin-bottom: 0.4em;
}

#yado-qa dl.faq dt,
#yado-qa dl.faq dd {
  position: relative;
}

#yado-qa dl.faq dt::before,
#yado-qa dl.faq dd::before {
  font-size: 2.2rem;
  font-weight: bold;
  position: absolute;
  top: -3px;
  left: -3.5%;
}

#yado-qa dl.faq dt::before {
  content: "Q";
}

#yado-qa dl.faq dd::before {
  content: "A";
}

@media screen and (max-width: 959px) {
  #yado-qa dl.faq {
    padding-left: 12%;
  }
  #yado-qa dl.faq dt {
    font-size: 1.2em;
  }
  #yado-qa dl.faq dt::before,
  #yado-qa dl.faq dd::before {
    left: -10%;
  }
}

.btn-wrap {
  /*  display:flex; */
}

.btn-wrap > * {
  margin-right: 10px;
}

.btn-wrap a {
  padding: 10px 30px;
  margin: 0;
}

@media screen and (max-width: 959px) {
  .btn-wrap {
    justify-content: space-between;
  }
  .btn-wrap > * {
    margin-right: 0px;
  }
  .btn-wrap a {
    padding: 8px 10px;
    margin: 0 auto;
  }
}

/******************
予約フォーム
*********************/
#resv #header-top {
  margin: 0 auto;
  padding: 20px 0;
  width: 100%;
  display: inline-block;
}

#resv #contents {
  display: flex;
  justify-content: space-between;
}

#resv #contents #contents-main {
  float: right;
  margin: 0 auto;
  padding: 0;
  width: 70%;
}

#resv .color_title {
  font-size: 1.6rem;
}

#resv #cal-box01 td select {
  /*     font-size: 1.1em; */
  /*     border: 1px solid #ccc; */
  padding: 8px 10px;
  border-radius: 3px;
  min-width: 100px;
}

#resv #cal-box01 td select[name="TransName"] {
  width: 100%;
}

#resv-flow li.resv-flow-current {
  background: #9e782e !important;
}

#resv-flow li.resv-flow-completed {
  background: #808080 !important;
}

#resv #header, #cal #header {
  height: auto;
  margin-bottom: 30px;
}

#cal #header-top {
  margin: 0 auto;
  padding: 20px 0;
  width: 100%;
  display: inline-block;
}

#cal input[type="button"] {
  font-size: 0.9em;
  border: 1px solid #CCC;
  padding: 8px 10px;
  margin: 2px 2px;
  border-radius: 5px;
  -webkit-border-radius: 0px;
  -moz-border-radius: 5px;
}

#cal #contents {
  display: flex;
  justify-content: space-between;
  margin-bottom: 60px;
}

#cal #cal-select select {
  font-size: 20px;
  font-weight: bold;
  border: 1px solid #CCC;
  background: #f6f7ee;
  padding: 10px;
  border-radius: 0px;
}

#cal #contents #contents-main {
  float: right;
  margin: 0 auto;
  padding: 0;
  width: 70%;
}

#cal-box01 #cal-box01-name {
  background: none !important;
}

#cal #cal-box01 table {
  margin: 15px 0 0px;
  background: #f6f7ee;
  padding: 30px;
}

#cal .color_title {
  font-size: 1.6rem;
}

#cal .resv_btn {
  height: 40px;
  line-height: 40px;
}

.cal-reload input {
  display: inline-block !important;
  margin-top: 10px !important;
}

#cal #cal-select {
  font-size: 20px;
  margin-bottom: 20px;
}

#cal #cal-box01 th {
  width: auto;
  color: #303028;
  font-weight: normal;
  font-size: 1.1rem;
  padding: 10px 0;
}

#cal #cal-box01 td select {
  font-size: 1.1em;
  border: 1px solid #ccc;
  padding: 13px 30px 10px 10px;
  border-radius: 0px;
}

.cal-reload .color-red {
  font-size: 14px !important;
  text-align: center;
}

.cal-reload {
  text-align: left;
  margin-bottom: 30px;
  background: #f6f7ee;
  padding: 0px 30px 30px;
  border-radius: 0px;
  letter-spacing: -0.01em;
  font-size: 0.9em;
}

#cal p {
  margin: 0;
}

.resv_tit {
  font-size: 1.4em;
  background: #000;
  color: #fff;
  margin-bottom: 20px;
  padding: 10px;
  line-height: 1.0em;
}

#resv #header, #cal #header {
  height: auto;
  margin-bottom: 30px;
}

.col-tit {
  background-color: #f6f7ee !important;
}

.green_box_form th {
  background: #f6f7ee;
}

.green_box_form td {
  padding: 20px 10px;
  font-size: 1rem;
}

.green_box_form th {
  padding: 20px 10px;
  font-size: 1rem;
}

.resv_btnwrap {
  text-align: center;
  margin-top: 30px;
}

.commit_table {
  width: 100% !important;
}

.tb-resv-info table td, .tb-resv-info table th {
  padding: 0px !important;
  vertical-align: middle !important;
}

#resv_commit_btn {
  /*  font-size: 16px; */
}

table.resv_last_tb {
  margin-bottom: 60px;
}

.detail_btn,
.resv_btn {
  width: 100%;
  max-width: 300px;
}

.green_box, .green_box2 {
  background: #f6f7ee !important;
}

.info_box_tit {
  font-size: 1.1em;
}

.tb-resv-info th {
  /*     padding: 20px 10px; */
  /*     font-size: 1rem; */
}

.tb-resv-info td {
  /*     padding: 20px 10px; */
  /*     font-size: 1rem; */
}

.SbpsType-wrap {
  margin-bottom: 1em;
}

.SbpsType-wrap label {
  display: inline-block;
  line-height: 1;
  font-weight: bold;
  border-radius: 5px;
  background: transparent;
  border: 1px solid #734a14;
  padding: 10px 15px 10px 10px;
  margin: 0 5px 0 0;
  transition: all 0.3s ease-in-out 0s;
}

.SbpsType-wrap label.SbpsType-active,
.SbpsType-wrap label:hover {
  color: #fff;
  background: #734a14;
}

.SbpsType-wrap input[type=radio] {
  /*  display:none; */
  margin-right: 5px;
}

#column-main {
  max-width: 1100px;
  width: 92%;
  margin: auto;
}

/*****************************
レスポンシブ
******************************/
@media screen and (min-width: 960px) {
  .btn > * {
    cursor: pointer;
  }
}

@media screen and (max-width: 959px) {
  .yado-list-plan dd dt span.en-book-btn a {
    position: relative;
    left: 0;
  }
  #cal #contents {
    display: block;
  }
  #cal #contents #contents-main {
    float: none;
    margin: 0 auto;
    padding: 0;
    width: 94%;
  }
  #resv-flow li .resv-flow-text {
    display: block;
  }
  #resv #contents {
    display: block;
  }
  #resv #contents #contents-main {
    float: none;
    margin: 0 auto;
    padding: 0;
    width: 94%;
  }
  #resv #column-main, #resv #content, #resv #wrapper {
    width: 100%;
    padding: 0 0px;
  }
  #cal #column-main, #cal #content, #cal #wrapper {
    width: 100%;
    padding: 0 0px;
  }
  .find-room-date {
    width: 100%;
  }
  #column-main, #content, #wrapper {
    width: 100%;
    padding: 0 0px;
    padding-top:63px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }
  #plan-list #column-main,
  #room-list #column-main,
  #yado-list.accommodations-wrap #column-main {
    margin-top: 0;
    padding-top: 0;
  }
  .go-book.btn a,
  .plan-list-info {
    position: relative;
  }
  .go-book.btn a {
    bottom: unset;
    top: unset;
    right: unset;
    left: unset;
    width: 125px;
  }
  .yado-detail-link ul {
    /*         display: block */
    margin-left: 0px;
  }
  div.yado-list-ph {
    width: 100%;
    text-align: center;
    margin: 0 auto 20px;
  }
  div.yado-list-ph a:nth-child(2) img {
    width: 49.2%;
    float: left;
    /*         margin-left: 2px */
  }
  div.yado-list-ph a:nth-child(3) img {
    width: 49.2%;
    float: right;
  }
  .yado-list-box {
    position: relative !important;
    padding: 20px 0px !important;
  }
  #yado-list .yado-detail-link ul {
    gap: 8px;
  }
  #yado-list .yado-detail-link li:last-child {
    margin-left: 0;
  }
  #yado-list .yado-detail-link li a {
    padding: 0 5px !important;
    width: 100%;
    /*         height: 35px; */
    line-height: 1;
    font-size: 14px;
    border: solid 1px var(--accent_color) !important;
  }
  #yado-list .yado-detail-link {
    position: relative;
    z-index: 1;
    margin-top: 0;
  }
  .yado-detail-link ul li {
    width: 33%;
    text-align: center;
  }
  .fat-nav__wrapper {
    -webkit-transform: none !important;
    -ms-transform: none !important;
    transform: none !important;
  }
  .yado-list-ph {
    padding-top: 0;
  }
  .yado-list-plan dd dt span.en-pdetail-tit a {
    font-size: 1.8rem !important;
    padding: 5px 0 !important;
    margin-bottom: 10px !important;
    /*      color: #734a14; */
    font-weight: bold !important;
  }
  #yado-info {
    padding-bottom: 0;
    /*         padding: 0 3%; */
    margin-bottom: 0;
  }
  #plan-info #plan-name {
    font-weight: 700;
    /*         color: #9e782e; */
    margin-bottom: 20px;
    font-size: 1.5em;
    margin-top: 15px;
    /*    padding: 0 5% 15px; */
    text-align: left;
  }
  #plan-info4 .in-btn {
    float: none;
    margin-right: 0;
    margin: 0 10px 10px;
  }
  #plan-info4 .in-btn a {
    width: 100%;
    display: block;
    color: #fff;
    border-radius: 6px;
    background: url(/lodging/img/arrow.png) 8px no-repeat #9e782e;
    text-align: center;
    height: 20px;
    font-size: 15px;
    padding-left: 0;
    height: 40px;
    line-height: 40px;
    font-weight: 700;
    letter-spacing: -.01em;
    padding: 0 10px;
  }
  #price-table01 .price-table-room-name {
    width: 100%;
    float: none;
  }
  #price-table01 .room_img {
    width: 100%;
    float: none;
    text-align: center;
  }
  .plan-list-box #price-table01 .price-table-room-name a.color_title,
  .room-list-info .room-list-name h3 {
    /*
      font-size: 1.8rem;
      padding-left:8px;
      padding-bottom: 5px;
      line-height: 1.4;
*/
  }
  #plan-ph-left,
  #plan-ph-right {
    width: auto;
    float: none;
  }
  .room-list-info table th,
  .room-list-info table td {
    font-size: inherit;
  }
  #plan-info .checkin,
  #plan-info .checkout,
  #yado-info3 .checkin,
  #yado-info3 .checkout,
  .checkin, .checkout {
    /*
      float: none;
      width: 80%;
      line-height: 1.5em;
      padding: 10px 0px 5px;
      margin: 10px auto 20px;
*/
  }
  .flex_box {
    display: block;
  }
  .yado-box .plan-list-box .plan-list-ph {
    width: 100%;
  }
  .yado-box .plan-list-box .plan-list-info {
    width: 100%;
  }
  div.plan-list-ph, div.room-list-ph,
  div.yado-list-ph, #yado-ph1 {
    width: 100%;
    flex-shrink: 0;
  }
  #resv .green_box_form td {
    background: #fff;
    border-bottom: 1px solid #CCC;
    border-right: 1px solid #CCC;
  }
  .plan-list-box,
  .yado-list-box .flex_box,
  .room-list-box {
    padding: 18px;
    display: block;
    justify-content: space-between;
  }
  div.yado-list-ph a:first-child img {
    width: 100%;
    margin-bottom: 1px;
  }
  .plan-list-box, .yado-list-box .flex_box .imagebox {
    width: 100%;
  }
  .plan-list-box, .yado-list-box .flex_box .item_box {
    width: 100%;
  }
  .yado-box .plan-list-box,
  .room-list-box {
    /*      width: 92%; */
    /*      margin: 20px auto; */
  }
  #plan-detail .plan-list-box {
    padding-bottom: 60px;
  }
  #plan-detail .price-table-room-name {
    position: static;
  }
  #plan-detail .plan-list-box .color_btn_wrap {
    width: 96%;
    position: absolute;
    left: 2.5%;
    bottom: 10px;
  }
  .price-table-room-name .plan-kubun {
    font-size: 1.1em;
    float: none;
  }
  .fees_for_children {
    width: 45%;
  }
  .fees_for_children a.color_btn {
    font-size: 13px;
    padding: 5px 0px;
  }
  .yado-info-plan.accommodations-wrap .yado-box .color_btn_wrap a,
  .yado-info-plan #plan-info3 .color_btn_wrap a,
  .room-list-box .inner_box03 p a {
    font-size: 1.1em;
    padding: 10px 0px;
    margin: 10px auto 0px;
  }
  .yado-list-name__inner__text {
    width: 100%;
    margin-right: 0px;
    margin-bottom: 0px;
  }
  #yado-list.accommodations-wrap #column-main {
    margin-bottom: 0px;
  }
  #yado-info3.detail_roominfomation .item-box {
    padding: 0px 0px;
    box-shadow: none;
    /*background: #fff;*/
  }
  .yado-list-box h3 a {
    font-size: 2.0rem;
    text-decoration: none;
    padding: 30px 20px 5px;
    display: block;
  }
  .yado-list-area {
    /* margin: 10px 20px 0px; */
    /* background: #f2f0e9; */
    color: #ffffff;
    top: 0px;
    position: absolute;
    padding: 10px 20px 5px;
    right: inherit;
  }
  #ratetype ul {
    text-align: left;
    margin-left: -5px;
  }
  #meal-filter-wrap #ratetype ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
  }
  #yado-ph2 li {
    width: 100%;
    margin-bottom: 20px;
  }
  .yado-info-page #yado-info2 #yado-ph1 {
    margin: 0 0px 5px 0;
  }
  .plan-list-info,
  .room-list-info,
  .yado-list-info,
  #singleyado_informationbox .pic_txt {
    width: 100%;
  }
  .color_btn_wrap {
    text-align: center;
    margin-top: 10px;
    display: flex;
  }
  #plan-list #column-main,
  #room-list #column-main,
  #yado-list.accommodations-wrap #column-main {
    margin-bottom: 0px;
  }
  .rec_planbox .rec_plan_innerbox {
    padding: 15px 0;
    /*    margin: 20px auto; */
  }
  #room-detail .rec_planbox .room-det-flex .room-det-flex__img {
    width: 35%;
    margin: 0 0;
  }
  .room-det-flex__cntnt {
    width: 60%;
  }
  .color_title {
    font-size: 1.8rem;
  }
  .SbpsType-wrap label {
    display: block;
    width: 100%;
    padding: 10px 15px 10px 10px;
    margin: 0 0 10px 0;
  }
  /*
  #yado-list .yado-list-plan > dt,
  #yado-list .yado-list-plan dd dt,
*/
  /* SP/タブレット：施設情報・空室カレンダーを非表示にせず、4つを2×2の2段組みで表示 */
  #yado-list .yado-detail-link #yado-detail-link01,
  #yado-list .yado-detail-link #yado-detail-link04 {
    display: block;
  }
  /* この 0.9rem は日本語の「空室カレンダー」を縮めるための指定。
     言語の限定が無いため、英語・繁体字の宿一覧では 959px〜600px の帯で
     #yado-list .yado-detail-link li a{14px} と同詳細度(1,1,2)のまま後勝ちし、
     link04 だけ 8.64px（＝0.9rem／ルート9.6px）になって高さが揃わなかった。
     日本語に限定する（日本語側の実効指定は 51. にある）。 */
  /* TOPページ（宿一覧＝#yado-list）は 51. と同じく対象外にする。
     除外しないと link04 だけ 8.64px（＝0.9rem／ルート9.6px）になり、
     他のタブ（14px）と文字サイズが揃わない。 */
  body:not(.en):not(.zh-tw) .yado-detail-link ul #yado-detail-link04:not(#yado-list li) a{
    font-size: 0.9rem;
  }
  #yado-list .yado-detail-link ul {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    /* 2行とも同じ高さにする。これが無いと行ごとに高さが決まるため、
       link04 の文字サイズが他と違うとその行だけ高くなる／低くなる。 */
    grid-auto-rows: 1fr;
  }
  /* li を flex にして a を li いっぱいに伸ばす。
     .yado-detail-link ul li a の min-height:2.8em は「自分の font-size 基準」
     なので、link04 だけ文字サイズが違うとボタンの高さがずれてしまう。
     行の高さに合わせて伸ばすことで、文字サイズに関係なく4つとも同じ高さになる。 */
  #yado-list .yado-detail-link ul li,
  #yado-list .yado-detail-link ul li#stay-top,
  #yado-list .yado-detail-link ul li#yado-detail-link01,
  #yado-list .yado-detail-link ul li#yado-detail-link02,
  #yado-list .yado-detail-link ul li#yado-detail-link03,
  #yado-list .yado-detail-link ul li#yado-detail-link04 {
    /* 直前にある #yado-list .yado-detail-link #yado-detail-link01/04{display:block}
       （詳細度 2,1,0）に勝つため、id を含めた (2,1,2) で書く */
    display: flex;
  }
  #yado-list .yado-detail-link ul li a {
    flex: 1;
  }
  #yado-list .yado-detail-link ul li {
    width: auto;
    min-width: 0;
    margin: 0;
    padding: 0;
  }
  .yado-list-plan dd dt span.en-pdetail-btn {
    display: none;
  }
  .yado-list-box {
    padding: 0px !important;
    margin-bottom: 20px;
  }
  .yado-list-box .yado-list-innerbox {
    margin-bottom: 0;
  }
  .yado-list-box h3 a {
    font-size: 1.6rem;
    padding: 20px 12px 5px;
    font-weight: bold;
  }
  .yado-list-area {
    font-size: 1.2rem;
    color: #000;
    padding: 0;
    top: unset;
    left: 42%;
    bottom: 9px;
  }
  .yado-list-name__inner {
    margin-bottom: 0px;
  }
  .yado-list-name__inner {
    flex-direction: column;
  }
  .yado-list-name__inner__text {
    width: 100%;
    margin: 0 0 10px;
    display: flex;
    flex-direction: column-reverse;
  }
  .yado-list-name__inner .yado-list-text {
    font-size: 0.95em;
    line-height: 1.4;
  }
  .yado-list-box .flex_box {
    display: flex;
    padding: 12px 15px 10px;
  }
  .yado-list-box .flex_box .imagebox {
    width: 38%;
    margin: 0;
  }
  .yado-list-box .flex_box .item_box {
    width: 59%;
    padding-bottom: 18px;
    margin: 0;
    margin-left: 3%;
  }
  .yado-list-ph a:first-child {
    margin-top: 0;
  }
  .yado-detail-link {
    margin-bottom: 8px;
  }
  .yado-detail-link ul li {
    width: 50%;
  }
  dl.yado-list-plan {
    border: 0;
    border-radius: 0;
    margin-top: 0;
  }
  .yado-list-plan dd dl,
  .yado-list-plan dd dd {
    border: 0;
    padding: 0;
  }
  .yado-list-plan dd dl {
    display: none;
  }
  .yado-list-plan dd dl:first-child {
    display: block;
  }
  .yado-list-plan dd dd {
    font-size: 1.3rem;
    font-weight: 300;
  }
  .yado-list-plan .en-price-tit2, .yado-list-plan .en-price-tit1 {
    font-size: 1.2em;
    font-weight: 700;
    text-decoration: underline;
  }
  #singleyado_informationbox h4,
  #plan-info #plan-name {
    font-size: 1.25em;
  }
  .rec_plan_innerbox h4.color_title {
    font-size: 1.15em;
    line-height: 1.2;
  }
  #yado-detail .yado-detail-link,
  #plan-list .yado-detail-link,
  #plan-detail .yado-detail-link,
  #room-list .yado-detail-link,
  #room-detail .yado-detail-link,
  #cal-detail .yado-detail-link {
    position: fixed;
    left: 0;
    bottom: 0;
    z-index: 9999;
    width: 100%;
    border-top: solid 1px var(--light_color2);
    margin-top: 0;
  }
  #yado-detail .yado-detail-link ul li,
  #plan-list .yado-detail-link ul li,
  #plan-detail .yado-detail-link ul li,
  #room-list .yado-detail-link ul li,
  #room-detail .yado-detail-link ul li,
  #cal-detail .yado-detail-link ul li {
    padding: 0;
  }
  #yado-detail .yado-detail-link ul li#yado-detail-link04,
  #plan-list .yado-detail-link ul li#yado-detail-link04,
  #plan-detail .yado-detail-link ul li#yado-detail-link04,
  #room-list .yado-detail-link ul li#yado-detail-link04,
  #room-detail .yado-detail-link ul li#yado-detail-link04,
  #cal-detail .yado-detail-link ul li#yado-detail-link04 {
    letter-spacing: -2px;
  }
  #yado-detail .yado-detail-link ul li a,
  #plan-list .yado-detail-link ul li a,
  #plan-detail .yado-detail-link ul li a,
  #room-list .yado-detail-link ul li a,
  #room-detail .yado-detail-link ul li a,
  #cal-detail .yado-detail-link ul li a {
    font-weight: bold;
    border: 0;
    border-right: solid 1px #fff;
    border-radius: 0;
    font-size: 3vw;
    white-space: nowrap;
    height: 50px;
  }
  #yado-info .yado-detail-link li#yado-detail-link02 a,
  #yado-info .yado-detail-link li#yado-detail-link03 a,
  .yado-detail-link ul li a {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    min-height: 2.8em;
    padding: 0;
  }
  /* link03 が2回書かれていて link04 が抜けていた（コピペ漏れ）。
     日本語はラベルが1行に収まるので li もタブも 50px で差が出ないが、
     英語・繁体字は "Plan Packages" などが2行になって li が 70px に伸びるため、
     height:100% を受け取れない link04 だけ 50px のまま低く残っていた。 */
  #yado-info .yado-detail-link li#stay-top a,
  #yado-info .yado-detail-link li#yado-detail-link01 a,
  #yado-info .yado-detail-link li#yado-detail-link02 a,
  #yado-info .yado-detail-link li#yado-detail-link03 a,
  #yado-info .yado-detail-link li#yado-detail-link04 a {
    height: 100%;
    padding: 0 10px;
  }
  .yado-detail-link ul li:last-child a {
    border-right: 0px !important;
  }
  #plan-list .plan-list-box .plan-list-text {
    display: none;
  }
  #plan-list .plan-list-box .plan-list-name h3 {
    font-size: 1.5rem;
    border: 0;
    padding: 0;
    margin-bottom: 5px;
  }
  #plan-list .yado-box .plan-list-box .flex_box {
    display: block;
  }
  #plan-list .yado-box .plan-list-box .plan-list-ph {
    width: 92%;
    margin: 0 auto 1.5em;
  }
  #plan-list .yado-box .plan-list-box .plan-list-info {
    width: 100%;
  }
  #plan-list .color_btn_wrap {
    margin-top: 10px;
  }
  #plan-info {
    margin-bottom: 20px;
  }
  #plan-info #plan-name {
    line-height: 1.3;
    margin-bottom: 0.5em;
  }
  #plan-detail #yado-info #yado-name {
    margin-top: 40px;
  }
  #plan-info .checkin-out {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 0 5%;
  }
  #plan-info .checkin-out > * {
    width: 49%;
    font-size: 12px;
    margin: 0;
  }
  p.plan-kubun {
    font-size: 1.2em;
    padding: 5px 0;
  }
  #plan-ph {
    margin-bottom: 20px;
  }
  #plan-ph #plan-ph-right {
    padding-bottom: 50px;
    margin-top: 2em;
  }
  #plan-ph #plan-ph-right .flex_box {
    display: flex;
    margin: 0;
  }
  #plan-ph #plan-ph-right .flex_box li {
    width: 100%;
    margin: 0 0 1em;
  }
  #plan-ph #plan-ph-right .flex_box li p {
    /*    display: none; */
  }
  #plan-text {
    padding: 0 5%;
    margin-bottom: 30px;
  }
  .yado-box {
    margin: 10px auto;
  }
  .room-list-box {
    margin-top: 0;
  }
  .plan-list-box, .yado-list-box .flex_box, .room-list-box {
    padding: 10px 0;
  }
  .plan-list-box #price-table01 {
    display: flex;
    border-bottom: 0;
  }
  #price-table01 .room_img {
    width: 50%;
  }
  .plan-list-box #price-table01 .price-table-room-name a.color_title {
    font-size: 1.15em;
    padding-left: 0;
  }
  .price-table-room-name a {
    margin-bottom: 10px;
  }
  .fees_for_children {
    width: 100%;
  }
  #plan-info3 .price-table {
    padding: 15px 0 0;
    margin-bottom: 0px;
  }
  #plan-info3 .color_btn_wrap {
    margin-top: 0px;
  }
  .yado-info-plan.accommodations-wrap .yado-box .color_btn_wrap a,
  .yado-info-plan #plan-info3 .color_btn_wrap a,
  .room-list-box .inner_box03 p a,
  .rec_plan_innerbox .color_btn_wrap a {
    max-width: none;
    font-size: 1.3rem;
    font-weight: normal;
    padding: 8px 0px;
    margin: 0 10px;
  }
  #plan-info4 .item-box dd {
    text-align: left;
    margin-left: 0px;
  }
  .list-review {
    padding: 0 12px;
    margin-top: 0.7em;
    margin-bottom: 0px;
  }
  #cal #cal-box01 table {
    margin: 15px 0;
    padding: 15px;
  }
  .accommodation-footer_wrapper .l-cta-block__headline {
    font-size: 1.6rem;
  }
  .accommodation-footer_wrapper .l-cta-action__label {
    font-size: 1.5rem;
  }
  .accommodation-footer_wrapper .l-cta-action__value {
    font-size: 2.2rem;
  }
  .yado-list-plan > dt {
    padding-bottom: 0;
  }
  .yado-list-plan dd dl {
    display: block;
  }
  .yado-list-plan dd dl,
  #plan-list .plan-list-box {
    border-bottom: 1px solid #e3e2d4;
    padding: 7px 0;
  }
  .yado-list-plan > dt {
    font-size: 1.2rem;
  }
  .yado-list-plan > dd {
    padding-bottom: 45px;
  }
  .yado-list-plan dd dt span.en-pdetail-tit a {
    display: block;
    font-size: 1.3rem !important;
    line-height: 1.3;
    margin: 0 !important;
    padding: 0 !important;
  }
  .yado-list-plan dd dd {
    line-height: 1.3;
  }
  .yado-list-plan .en-price-tit2, .yado-list-plan .en-price-tit1 {
    font-size: 1.05em;
  }
  .yado-list-area {
    top: 5px;
    bottom: auto;
    left: 12px;
  }
  .accordion-btn-jp {
    width: 95%;
    padding: 10px 15px;
  }
  .accordion-btn-en {
    width: 95%;
    padding: 10px 15px;
  }
}

.preview-bnr {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  font-size: 1.2em;
  color: #fff;
  font-weight: bold;
  text-align: center;
  background: rgba(255, 0, 0, 0.9);
  padding: 5px;
  z-index: 1000;
  pointer-events: none;
}

.l-cta-block__body {
  padding: 1.25rem 1.25rem;
}

@media print, screen and (min-width: 1280px) {
  .l-cta-block__body {
    padding: 1.25rem 2.5rem;
  }
}

.l-cta-action__block {
  display: flex;
  justify-content: center;
  font-weight: 700;
  align-items: center;
  line-height: 1;
}

.l-cta-action__block:not(:last-child) {
  margin-bottom: 0.9375rem;
}

.l-cta-action__block.op-small .l-cta-action__label {
  font-size: 1.6rem;
}

.l-cta-action__block.op-small .l-cta-action__value {
  font-size: 2.0rem;
}

.l-cta-action__label {
  font-size: 1.25rem;
  color: #808080;
  margin-right: 0.625rem;
}

.l-cta-action__value {
  font-size: 1.75rem;
}

.l-cta-action__attention {
  margin-top: 0.5rem;
  font-size: 0.875rem;
}

/* 202410 追加分 */
@media screen and (min-width: 960px) {
  .btn > * {
    min-height: auto;
    font-size: 1.5rem;
    font-weight: normal;
  }
}

/* プラン・部屋　一覧 */
.plan-list-box a,
.room-list-box a {
  display: block;
  text-decoration: none;
}

.plan-list-box a img,
.room-list-box a img {
  display: block;
  width: 100%;
  aspect-ratio: 3/2;
  object-fit: cover;
}

#plan-list .plan-list-box,
#room-list .room-list-box {
  padding: 0;
  border-bottom: 0px;
  padding: 30px 20px 20px;
  margin-bottom: 64px;
  background: #fff;
}

@media screen and (max-width: 768px) {
  #plan-list .plan-list-box,
  #room-list .room-list-box {
    padding: 4vw 2.6vw 4vw;
  }
  #room-list .room-list-box {
  margin-bottom: 40px;
}
}

.yado-box .plan-list-box .plan-list-info,
.yado-info-room .room-list-box .flex_box .room-list-info {
  position: relative;
}

.plan-list-room,
.room-list-plan {
  margin-top: 2em;
}

.plan-list-room dt,
.room-list-plan dt {
  border-bottom: 1px solid #d9d7c8;
}

.list-inner-list {
  width: 93%;
  margin: 2.5em auto 0;
}

.list-inner-list .inner-title {
  font-weight: bold;
  border-bottom: 1px solid #d9d7c8;
}

.list-inner-item {
  display: flex;
  padding: 15px 0;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid #d9d7c8;
}

.list-inner-item .img {
  width: 140px;
}

.list-inner-item .text {
  width: calc(100% - 390px);
  line-height: 1.6;
  padding: 0 25px;
}

.list-inner-item .text .item-name {
  font-weight: bold;
}

.list-inner-item .text p {
  font-size: 1.4rem;
}

.list-inner-item .btn {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  width: 250px;
}

.list-inner-item .btn a {
  width: calc(50% - 5px);
  font-size: 1.5rem;
  padding: 7px 10px;
}

.list-inner-item .btn a + a {
  margin-left: 10px;
}

@media screen and (max-width: 959px) {
  #plan-list .plan-list-box,
  #room-list .room-list-box {
    padding-top: 20px;
  }
  .list-inner-item {
    flex-wrap: wrap;
  }
  .list-inner-item .img {
    width: 35%;
    margin: 0;
  }
  .list-inner-item .text {
    width: 65%;
    padding: 0 0 0 1em;
  }
  .list-inner-item .btn {
    justify-content: center;
    width: 100%;
    margin-top: 0.5em;
  }
  .list-inner-item .btn a {
    width: calc(50% - 5px);
    min-height: auto;
    padding: 5px 30px;
  }
}

/* SP/タブレット：.list-inner-item の「詳細」ボタンだけ右寄せ。
   .btn は justify-content:center だが、auto マージンは justify-content より優先されるため
   detail_btn 単体に margin-left:auto を指定するだけで右端に寄る（他のボタンは左のまま）。
   .btn 自体も幅 250px のまま折り返し行の左端に残るケース（room-list-plan など）があるので
   ボックスごと右へ寄せる。幅 100% の時と横並び最終列の時は auto マージンが効かず無害。 */
@media screen and (max-width: 959px) {
  .list-inner-item .btn {
    margin-left: auto;
    margin-right: 0;
  }
  .list-inner-item .btn a.detail_btn {
    margin-left: auto;
    margin-right: 0;
  }
}

/* プラン・部屋　詳細 */
#enyado_info_title .go-to-calender {
  position: absolute;
  right: 0;
  top: -2.2em;
}

#enyado_info_title .go-to-calender a {
  padding: .5em 2.5em .5em 2.5em;
}

#plan-detail #plan-ph {
  position: relative;
  max-height: 600px;
  overflow: hidden;
  transition: .4s;
}

#plan-detail #plan-ph:has(button[style="display: none;"]) {
  max-height: inherit;
}

#plan-detail #plan-ph.not-fold {
  position: static;
  height: auto;
}

#plan-detail #plan-ph:before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 100px;
  background: black;
  background: linear-gradient(0deg, white 50%, rgba(255, 255, 255, 0) 100%);
  transition: .4s;
}

#plan-detail #plan-ph:has(button[style="display: none;"]):before {
  display: none;
}

#plan-detail #plan-ph.active {
  max-height: inherit;
  padding-bottom: 10px;
  margin-bottom: 60px;
}

#plan-detail #plan-ph.active:before {
  opacity: 0;
  visibility: hidden;
}

#plan-detail #plan-ph button {
  position: absolute;
  right: 20px;
  bottom: 15px;
  /*
  width: 100px;
  height: 40px;
*/
  cursor: pointer;
  color: #fff;
  background: var(--accent_color);
  border: 1px solid var(--accent_color);
  border-radius: 35px;
  padding: 10px 30px;
  line-height: 1;
  transition: all .3s ease;
}

#plan-detail #plan-ph button:hover {
  color: var(--accent_color);
  background: #fff;
}

#plan-detail #plan-ph.active button {
  bottom: 0;
}

#calender {
  margin-top: 30px;
  margin-bottom: 80px;
}

#calender .block-title {
  font-size: 2.4rem;
  font-weight: bold;
  background: #f6f7ee;
  padding: 10px 30px;
  margin-bottom: 1.5em;
}

#calender img {
  width: auto;
}

#calender .firstinfo {
  display: flex;
  padding: 0 0 30px;
  gap: 25px;
  color: var(--text_color);
}

#calender .secondinfo-calenderpart-wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
  margin-top: 4em;
  margin-bottom: 1.5em;
}

#calender .secondinfo-calenderpart-wrap .secondinfo {
  width: 250px;
  background: #fff;
  border: 1px solid #d9d7c8;
}

#calender .secondinfo-calenderpart-wrap .calenderpart {
  width: calc(100% - 270px);
  position: relative;
  padding-top: 1.5em;
}

#calender .secondinfo-calenderpart-wrap .secondinfo .parts-title {
  font-weight: bold;
  line-height: 1;
  border-bottom: 1px solid #d9d7c8;
  padding: 15px 15px;
}

#calender .secondinfo-calenderpart-wrap .secondinfo .selectList {
  height: 540px;
  overflow-y: auto;
}

#calender .secondinfo-calenderpart-wrap .secondinfo .selectList li {
  line-height: 1.6;
  padding: 10px 15px;
  border-bottom: 1px solid #d9d7c8;
  cursor: pointer;
}

#calender .secondinfo-calenderpart-wrap .secondinfo .selectList li.selectedListitem {
  color: #fff !important;
  background: var(--accent_color) !important;
}

#calender .secondinfo-calenderpart-wrap .calenderheader {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  width: 100%;
  position: absolute;
  top: -3em;
  left: 50%;
  transform: translateX(-50%);
}

#calender .secondinfo-calenderpart-wrap .calenderheader #StayDate,
#calender .secondinfo-calenderpart-wrap .calenderheader #StayDateCal {
  font-size: 1.35rem;
  background: transparent;
  border: 0;
  margin: 0 3em;
  cursor: pointer;
}

#calender .secondinfo-calenderpart-wrap .calenderheader #StayDateCal-wrapper {
  margin: 0 1em;
  position: relative;
}

#calender .secondinfo-calenderpart-wrap .calenderheader #StayDateCal-wrapper::after {
  content: "";
  position: absolute;
  top: 5px;
  right: 16px;
  width: 12px;
  height: 12px;
  border-right: 1px solid #333;
  border-bottom: 1px solid #333;
  transform: rotate(45deg);
}

#calender .secondinfo-calenderpart-wrap .calenderheader #StayDateCal {
  background: #fff;
  margin: 0;
  padding: 7px 50px 7px 20px;
  border: 1px solid rgba(0, 103, 59, 0.22);
  border-radius: 5px;
}

#calender .secondinfo-calenderpart-wrap .calenderheader input {
  font-size: 1.3rem;
  line-height: 1;
  background: #fff;
  border-radius: 15px;
  border: 1px solid rgba(0, 103, 59, 0.22);
  padding: 5px 15px;
  cursor: pointer;
}

#calender .calenderbody table {
  margin-bottom: 10px;
  background: #fff;
}

#calender .calenderbody table thead {
  line-height: 1;
  background: #f6f7ee;
  border-bottom: 1px solid rgba(0, 103, 59, 0.22);
}

#calender .calenderbody table th {
  text-align: center;
  padding: 10px;
}

#calender .calenderbody table td {
  width: 14.29%;
  border-bottom: 1px solid rgba(0, 103, 59, 0.22);
}

#calender .calenderbody table td.cal-today {
  background: #f6f7ee;
}

#calender .calenderbody table td a,
#calender .calenderbody table td .no-link {
  display: block;
  height: 100%;
  padding: 10px;
}

#calender .calenderbody table td .no-link {
  min-height: 100px;
}

#calender .calenderbody table td + td {
  border-left: 1px solid rgba(0, 103, 59, 0.22);
}

#calender .calenderbody table td .cal-mark,
#calender .calenderbody table td .midasi,
#calender .calenderbody table td .cal-price {
  display: block;
  text-align: center;
}

#calender .calenderbody .cal-mark-info {
  display: flex;
  align-items: center;
}

#calender .calenderbody .cal-mark-info span {
  display: flex;
  align-items: center;
  font-size: 1.3rem;
  line-height: 1;
  margin-bottom: 5px;
}

#calender .calenderbody .cal-mark-info span + span {
  margin-left: 2em;
}

#calender .calenderbody .cal-mark-info span img {
  height: 1.2em;
}

#calender .calenderbody .cal-mark-info span b,
#calender .calenderbody .cal-mark-info span img {
  margin-right: 0.5em;
}

#calender .seconddetail {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: space-between;
  border-top: 1px solid #d9d7c8;
  border-bottom: 1px solid #d9d7c8;
  padding: 25px;
  margin-top: 2em;
}
body.en #calender .seconddetail , body.zh-tw #calender .seconddetail {
  padding: 25px 0px;
}


#calender .seconddetail .plan_img,
#calender .seconddetail .room_img {
  width: 160px;
}

#calender .seconddetail .text {
  width: calc(100% - 310px);
  padding: 0 2em;
}

#calender .seconddetail .text button {
  text-align: left;
}

#calender .seconddetail .detail_btn {
  width: min(100%, 220px);
  font-size: 0.9em;
  display: inline-block;
  color: #00673b;
  line-height: 1.2;
  text-align: center;
  background: #fff;
  border-radius: 25px;
  border: solid 1px #00673b;
  padding: 10px 30px;
  margin: 5px 0;
}

@media screen and (min-width: 960px) {
  #calender .firstinfo > * {
    display: flex;
  }
  #calender .firstinfo > * select {
    min-width: 6em;
    border-radius: 4px;
    border: 1px solid #8b8a78;
    padding: 3px 10px;
    margin-left: 1em;
    -webkit-appearance: none;
  }
  #calender .secondinfo-calenderpart-wrap .secondinfo .btn-open-close {
    display: none;
  }
}

@media screen and (max-width: 959px) {
  #plan-detail #plan-ph:has(button[style="display: none;"]) {
    margin-bottom: 0;
  }
  #plan-detail #plan-ph:has(button[style="display: none;"]) #plan-ph-right {
    padding-bottom: 0;
    margin-top: 0;
  }
  #enyado_info_title .go-to-calender {
    right: auto;
    top: -2.6em;
    left: 0;
  }
  #calender {
    margin-top: 15px;
  }
  #calender .block-title {
    font-size: 2.0rem;
    margin-left: -8vw;
    margin-right: -8vw;
  }
  #calender .firstinfo {
    padding: 0 0 20px;
    gap: 10px;
    margin-left: -4vw;
    margin-right: -4vw;
  }
  #calender .calenderbody .cal-mark-info span {
    font-size: 1.2rem;
  }
  #calender .firstinfo > * {
    width: 100%;
  }
  #calender .firstinfo > * div {
    font-size: 0.9em;
    text-align: center;
  }
  #calender .firstinfo > * select {
    width: 100%;
    height: 2.2em;
  }
  #calender td img {
    width: 40%;
    max-width: 22px;
  }
  #calender .secondinfo-calenderpart-wrap {
    display: block;
    margin-top: 2em;
  }
  #calender .secondinfo-calenderpart-wrap .secondinfo,
  #calender .secondinfo-calenderpart-wrap .calenderpart {
    width: 100%;
  }
  #calender .secondinfo-calenderpart-wrap .calenderpart {
    padding-top: 0;
  }
  #calender .secondinfo-calenderpart-wrap .secondinfo {
    border-width: 2px;
    margin-bottom: 5em;
    position: relative;
  }
  #calender .secondinfo-calenderpart-wrap .secondinfo .btn-open-close {
    padding: 15px 15px;
    line-height: 1;
    position: absolute;
    top: 0;
    right: 0;
  }
  #calender .secondinfo-calenderpart-wrap .secondinfo.open .btn-open-close i {
    transform: rotate(180deg);
  }
  #calender .secondinfo-calenderpart-wrap .secondinfo .selectList {
    height: auto;
    overflow-y: auto;
  }
  #calender .secondinfo-calenderpart-wrap .secondinfo .selectList li {
    height: 0px;
    border: 0;
    padding: 0;
    margin: 0;
    overflow: hidden;
  }
  #calender .secondinfo-calenderpart-wrap .secondinfo .selectList li.selectedListitem,
  #calender .secondinfo-calenderpart-wrap .secondinfo.open .selectList li {
    height: auto;
    border-bottom: 0px;
    border-radius: 0;
    padding: 10px 15px;
    margin: 0;
  }
  #calender .secondinfo-calenderpart-wrap .secondinfo.open .selectList li {
    border-bottom: 1px solid #d9d7c8;
  }
  #calender .secondinfo-calenderpart-wrap .secondinfo.open .selectList li:last-child {
    border-bottom: 0px;
  }
  #calender .secondinfo-calenderpart-wrap .calenderheader #StayDate,
  #calender .secondinfo-calenderpart-wrap .calenderheader #StayDateCal {
    margin: 0;
  }
  #calender .secondinfo-calenderpart-wrap .calenderpart .calenderbody {
    margin-left: -8vw;
    margin-right: -8vw;
  }
  #calender .secondinfo-calenderpart-wrap .calenderheader {
    justify-content: space-between;
    width: 115%;
    top: -3.5em;
  }
  #calender .secondinfo-calenderpart-wrap .calenderheader #StayDateCal-wrapper {
    margin: 0 0.25em;
  }
  #calender .secondinfo-calenderpart-wrap .calenderheader #StayDateCal {
    font-size: 1.8rem;
    padding: 7px 40px 7px 10px;
  }
  #calender .secondinfo-calenderpart-wrap .calenderheader #StayDateCal-wrapper::after {
    top: 8px;
    width: 8px;
    height: 8px;
  }
  #calender .calenderbody table td a,
  #calender .calenderbody table td .no-link {
    padding: 2px;
  }
  #calender .calenderbody table td .no-link {
    min-height: 74px;
  }
  #calender .calenderbody table td .cal-price {
    font-size: 0.85em;
    line-height: 1.2;
  }
  #calender .calenderbody .cal-mark-info {
    flex-wrap: wrap;
    padding: 0 3%;
  }
  #calender .seconddetail {
    display: block;
    text-align: center;
  }
  #calender .seconddetail .plan_img,
  #calender .seconddetail .room_img {
    width: 65%;
    margin: 0 auto 1em;
  }
  #calender .seconddetail .plan_img *,
  #calender .seconddetail .room_img * {
    width: 100%;
  }
  #calender .seconddetail .text {
    width: 100%;
    padding: 0;
  }
  #calender .secondinfo-calenderpart-wrap .secondinfo .parts-title {
    padding: 10px 15px;
  }
  #calender .secondinfo-calenderpart-wrap .secondinfo .btn-open-close {
    padding: 10px 15px;
  }
}

/* 詳細ページモーダル */
.stay-modal-block {
  display: none;
  position: fixed;
  justify-content: center;
  align-items: center;
  z-index: 99999;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  margin: 0 auto;
  overflow: auto;
  background-color: rgba(0, 0, 0, 0.8);
}

.children-modal-block {
  display: none;
  position: fixed;
  justify-content: center;
  align-items: center;
  z-index: 99999;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  margin: 0 auto;
  overflow: auto;
  background-color: rgba(0, 0, 0, 0.8);
}

.stay-modal-content {
  width: 90%;
  max-width: 800px;
  height: 80vh;
  background: #fff;
  border-radius: 10px;
  position: relative;
}

.stay-modal-content .stay-modal-close {
  display: block;
  width: 50px;
  height: 50px;
  border: 0;
  background: var(--accent_color);
  padding: 6px 12px;
  border-radius: 0px 0px 0px 3px;
  position: absolute;
  top: 0;
  right: 0;
  cursor: pointer;
  transition: all 150ms ease;
}

.stay-modal-content .stay-modal-close:hover {
  background: #ce181e;
}

.stay-modal-content .stay-modal-close::before,
.stay-modal-content .stay-modal-close::after {
  content: "";
  width: 70%;
  height: 2px;
  background: #fff;
  position: absolute;
  top: 47%;
  left: 15%;
}

.stay-modal-content .stay-modal-close::before {
  transform: rotate(45deg);
}

.stay-modal-content .stay-modal-close::after {
  transform: rotate(-45deg);
}

.stay-modal-content iframe {
  height: 100%;
}

body.detail_modal {
  font-family: sans-serif;
  text-align: inherit;
  padding: 2em;
  margin-bottom: 0 !important;
}

body.detail_modal img {
  width: 100%;
  max-width: 100%;
  height: auto;
  vertical-align: top;
}

body.detail_modal .yado-box {
  margin: 0px;
}

body.detail_modal #singleyado_informationbox .items_table th {
  width: 30%;
}

body.detail_modal .room-subimg {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 20px;
}

body.detail_modal .room-subimg .subimg {
  width: 48%;
  font-size: 0.9em;
  margin-right: 0;
  margin-bottom: 20px;
}

body.detail_modal .room-subimg .subimg:last-child {
  margin-right: 0em;
}

body.detail_modal .room-subimg .subimg .img {
  /*  text-align:center; */
  background: rgba(0, 0, 0, 0.025);
  padding-bottom: 100%;
  position: relative;
  margin-bottom: 10px;
}

body.detail_modal .room-subimg .subimg .img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  position: absolute;
}

body.detail_modal .yado-box {
  width: 100%;
}

body.detail_modal #plan-detail #plan-ph {
  position: stati;
  height: auto;
  overflow: auto;
}

body.detail_modal #plan-detail #plan-ph::before {
  display: none;
}

body.detail_modal .yado-info-plan #plan-info .checkin,
body.detail_modal .yado-info-plan #plan-info .checkout {
  font-size: 0.9rem;
  font-weight: normal;
}

body.detail_modal #singleyado_informationbox > .flex_box .pic_txt .color_title,
body.detail_modal .yado-info-plan #plan-info #plan-name {
  font-size: 1.5rem;
}

body.detail_modal .plan-img-title {
  font-size: 1.1rem;
}

body.detail_modal #plan-info-inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

body.detail_modal #plan-info-inner #plan-name,
body.detail_modal #plan-info-inner .plan-kubun {
  width: 100%;
  margin: 0;
}

body.detail_modal #plan-info-inner .checkin,
body.detail_modal #plan-info-inner .checkout {
  margin: 0;
  margin: 0 0.5em;
}

body.detail_modal #plan-ph #plan-ph-left {
  width: 60%;
}

body.detail_modal #plan-ph #plan-ph-right {
  width: 40%;
}

body.detail_modal #plan-ph #plan-ph-right .flex_box,
body.detail_modal #plan-ph #plan-ph-right {
  margin-top: 0;
  margin-left: 10px;
}
@media screen and (max-width: 768px) {
  body.detail_modal #plan-ph #plan-ph-right .flex_box,
  body.detail_modal #plan-ph #plan-ph-right {
  margin-left: 0px;
}
}

body.detail_modal #plan-ph #plan-ph-right .flex_box li p {
  margin-top: 5px;
}

@media screen and (min-width: 769px) {
  body.detail_modal .flex_box {
    display: flex;
  }
  body.detail_modal #singleyado_informationbox > .flex_box .box-ph {
    width: 48%;
  }
  body.detail_modal #singleyado_informationbox > .flex_box .pic_txt {
    width: 48%;
  }
}

@media screen and (max-width: 768px) {
  body.detail_modal {
    padding: 1em;
  }
  body.detail_modal #singleyado_informationbox > .flex_box .pic_txt .color_title,
  body.detail_modal .yado-info-plan #plan-info #plan-name {
    font-size: 1.2rem;
  }
  .yado-info-plan #plan-info #plan-name {
    font-size: 1.6rem;
  }
  body.detail_modal #plan-ph #plan-ph-left,
  body.detail_modal #plan-ph #plan-ph-right {
    width: 100%;
  }
  body.detail_modal .yado-info-plan #plan-info .checkin,
  body.detail_modal .yado-info-plan #plan-info .checkout {
    font-size: 0.8rem;
    font-weight: normal;
    width: auto;
    line-height: 1.4;
    padding: 10px 20px 5px;
  }
  body.detail_modal .yado-info-plan #plan-info .checkin span,
  body.detail_modal .yado-info-plan #plan-info .checkout span {
    display: block;
  }
  body.detail_modal #plan-ph #plan-ph-right ul {
    padding: 0;
  }
  body.detail_modal #plan-ph #plan-ph-right .flex_box li {
    width: 48%;
    margin: 0 0 0.5em;
  }
  body.detail_modal #plan-ph #plan-ph-right .flex_box li p {
    font-size: 0.9em;
  }
  body.detail_modal .flex_box {
    display: block;
  }
  body.detail_modal .room-subimg {
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: 30px;
  }
  body.detail_modal .room-subimg .subimg {
    width: 48%;
    margin-right: 0em;
    margin-bottom: 20px;
  }
  body.detail_modal .room-subimg:after {
    display: none;
  }
}

.low-wrap {
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  background-image: url(https://stafftest.xsrv.jp/lakeakan_wp/wp-content/themes/staffTemplate/assets/ja/imgs/common/bg-beige.jpg);
  background-repeat: repeat;
  background-size: auto;
  background-position: bottom left;
}

.footer {
  width: 100%;
}

.low-fv {
  padding-top: 190px;
  padding-bottom: 50px;
}

.low-fv_title--en {
  margin-bottom: 20px;
}

#search-result {
  background: #fff;
  padding: 4rem 2rem;
}

.yado-detail-link li > a {
  font-size: 1.6rem;
}

.yado-list-info .yado-list-name {
  font-size: 1.5rem;
}

.yado-list-plan dd dt span.en-pdetail-tit a {
  font-size: 1.4em;
}

.yado-list-plan dd dd {
  font-size: 1.3rem;
}

.yado-list-plan dd dt span.en-pdetail-btn a {
  font-size: 1.4rem;
}

div#column-main {
  padding-top:20px;
  padding-bottom: 50px;
}
.en div#column-main ,.zh-tw div#column-main {
  padding-top: 120px;
}

.item-title a, .plan-subnavi a, .room-list-name a, .rec_planbox a, a.detail_btn, a.resv_btn, .reviews-wrap .reviews > a {
  font-size: 1.25rem;
}
a.detail_btn {
  font-size: 1.5rem;
}

.yado-info-plan .plan-subnavi {
  padding: 20px 30px 15px;
}

.accommodations-wrap * {
  font-size: 1.5rem;
}

@media only screen and (max-width: 768px) {
  .accommodations-wrap * {
    font-size: clamp(11px, 3.4vw, 14px);
  }
}

#calender .firstinfo > div > div {
  margin-top: .3em;
}

#calender .secondinfo-calenderpart-wrap .calenderheader {
  top: -3.5em;
}

.yado-info-page #enyado_info_title, .yado-info-room #enyado_info_title {
  margin-top: 1.7em;
}

.accommodations-wrap img {
  max-width: 100%;
  width: 100%;
}

#enyado_info_title .go-to-calender {
  top: -3.2em;
}

#enyado_info_title:has(.go-to-calender) {
  margin-top: 2.2em;
}

#singleyado_informationbox > .flex_box .pic_txt {
  width: 62%;
}

#singleyado_informationbox .items_table th, .yado-info-room .room-list-box .flex_box .room-list-info th {
  width: 16%;
}

#singleyado_informationbox .items_table th, .yado-info-room .room-list-box .flex_box .room-list-info th, #singleyado_informationbox .items_table th, #singleyado_informationbox .items_table td, .yado-info-room .room-list-box .flex_box .room-list-info th, .yado-info-room .room-list-box .flex_box .room-list-info td {
  padding-bottom: 15px;
}

.plan-list-box a {
  font-size: 1em;
  letter-spacing: normal;
}

.yado-box .plan-list-box .plan-list-info h3, .yado-info-plan #plan-info4 .item-title, .plan-img-title {
  margin-bottom: .7em;
}

.list-inner-item .text .item-name {
  font-size: 1.1em;
  font-family: var(--h_font);
}

.plan-list-room dt, .room-list-plan dt {
  padding-bottom: .5em;
}

h3.list-item-header a {
  font-family: var(--h_font);
}

.yado-list-plan dd dt span.en-pdetail-tit a {
  font-size: 2rem;
  padding-top: .75em;
  font-family: var(--h_font);
}

.btn > * {
  background: #152828;
}

.yado-list-plan > dt, #enyado_info_title, .item-title {
  padding-bottom: .5em;
  font-family: var(--h_font);
  font-weight: 700;
}

.accommodations-wrap .yado-list-area {
  margin-bottom: .3em;
  color: var(--font_color);
  font-size: 1.2rem;
}

#enyado_info_title .go-to-calender a {
  font-family: "Zen Kaku Gothic New", sans-serif;
}

#yado-info #yado-name h3 {
  font-family: var(--h_font);
  font-weight: 700;
  letter-spacing: 0;
}

.yado-info-plan #plan-info #plan-name {
  font-size: 2rem;
}

#calender .block-title {
  font-family: var(--h_font);
}

.plan-list-room dt, .room-list-plan dt {
  font-size: 1.6rem;
  font-family: var(--h_font);
}

.room-list-name a {
  font-size: 2rem;
  font-family: var(--h_font);
}

.footer a, .footer__inner a {
  color: #fff;
}

@media only screen and (max-width: 1100px) {
  .low-fv {
    padding-top: 105px;
    padding-bottom: 0;
  }
  .low-fv_title--en {
    margin-bottom: 10px;
  }
}

@media only screen and (max-width: 959px) {
  #search-result dd .flex_box > div {
    margin-top: 3em;
  }
  #search-result .room-search__checkin-jp::before,
  #search-result .room-search__checkin-en::before,
  #search-result .room-search__checkin-tc::before,
  #search-result .room-search__checkout-jp::before,
  #search-result .room-search__checkout-en::before,
  #search-result .room-search__checkout-tc::before,
  #search-result .room-search__select_ratetype-jp::before,
  #search-result .room-search__select_ratetype-en::before,
  #search-result .room-search__select_ratetype-tc::before,
  #search-result .room-search__select_stayninzu-jp::before,
  #search-result .room-search__select_stayninzu-en::before,
  #search-result .room-search__select_stayninzu-tc::before {
    top: -1.5em;
  }
  .yado-list-box .yado-list-innerbox {
    background: #fff;
  }
  .plan-list-box, .yado-list-box .flex_box, .room-list-box {
    padding: 10px;
  }
  #plan-list #column-main {
    padding: 30px 20px;
  }
  #plan-detail #yado-info #yado-name {
    margin-top: 0;
  }
  #calender .block-title, #calender .firstinfo, #calender .secondinfo-calenderpart-wrap .calenderpart .calenderbody {
    margin-right: 0;
    margin-left: 0;
  }
  #calender .secondinfo-calenderpart-wrap .calenderheader {
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    top: -7.5em;
  }
  #calender .secondinfo-calenderpart-wrap .calenderheader #StayDateCal {
    margin-top: .3em;
    margin-bottom: .3em;
  }
  #calender .firstinfo > * select {
    padding: .3em .5em;
  }
  #singleyado_informationbox .items_table th, .yado-info-room .room-list-box .flex_box .room-list-info th {
    width: 28%;
  }
  #singleyado_informationbox > .flex_box .pic_txt {
    width: 100%;
  }
  #calender .secondinfo-calenderpart-wrap .secondinfo {
    margin-bottom: 9em;
  }
  .yado-info-plan #enyado_info_title {
    margin-top: 0;
  }
  #plan-list #column-main, #room-list #column-main, #yado-list.accommodations-wrap #column-main, div#column-main {
    padding: 20px 15px;
  }
    a.detail_btn {
  font-size: 1.3rem;
  }
}

@media only screen and (max-width: 750px) {
  .inner-1330 {
    width: calc(100% - 30px);
  }
  .low-fv__titleWrap {
    margin-bottom: 30px;
  }
}

/*base*/
.btn > * {
  color: #fff;
  background: var(--accent_color);
  border: 1px solid var(--accent_color);
  transition: all .3s ease;
}

.btn > *:hover {
  color: var(--accent_color);
  background: #fff;
}

.yado-detail-link li a:hover, .yado-info-page #yado-info .yado-detail-link li#yado-detail-link01 a, .yado-info-plan #yado-info .yado-detail-link li#yado-detail-link02 a, .yado-info-room #yado-info .yado-detail-link li#yado-detail-link03 a, .yado-info-cal #yado-info .yado-detail-link li#yado-detail-link04 a {
  color: var(--accent_color);
  background: #fff;
  border-color: var(--accent_color);
}

.yado-list-plan dd dt span.en-pdetail-btn a, a.detail_btn {
  color: #fff;
  background: var(--orange_color);
  border-color: var(--orange_color);
}

.yado-list-plan dd dt span.en-pdetail-btn a:hover, a.detail_btn:hover {
  color: var(--orange_color);
  background: #fff;
}

h3.list-item-header {
  background: var(--light_color);
}

h3.list-item-header a {
  font-family: var(--h_font);
}

#search-result dt {
  flex-shrink: 0;
  width: 7em;
  font-size: clamp(0.9rem, 1.5vw, 1.8rem);
  line-height: 1.2;
}

#search-result dd {
  width: 100%;
  margin-left: 40px;
}

#search-result .room-search__checkin-jp::before, #search-result .room-search__checkout-jp::before, #search-result .room-search__select_ratetype-jp::before, #search-result .room-search__select_stayninzu-jp::before {
  font-size: 1.2rem;
}

#search-result dd .flex_box input[type="text"], #search-result dd .flex_box input[type="date"], #search-result dd .flex_box input, #search-result dd .flex_box select {
  font-size: clamp(0.9rem, 1.2vw, 1.6rem);
  text-align: center;
  text-align-last: center;
  /*border: 1px solid var(--font_color);*/
  box-sizing: border-box;
}

#search-result dd .flex_box .btn input {
  padding: 8px 20px;
  font-size: clamp(0.9rem, 1.2vw, 1.5rem);
}

#search-result dd .flex_box .btn-clear input {
  color: var(--font_color);
  background: #fff;
  border: 1px solid var(--font_color);
}

.accordion-btn-jp {
  opacity: 1;
  transition: all .3s ease;
}

.accordion-btn-jp:hover {
  opacity: .6;
}

#yado-list .yado-detail-link li a {
  box-sizing: border-box;
}

.yado-list-plan > dd {
  margin-left: 0;
}

.yado-list-plan dd dd {
  margin-left: 0;
}

.yado-detail-link li a, .yado-list-plan dd dt span.en-pdetail-btn a {
  transition: all .3s ease;
}

.yado-detail-link li a, #yado-info .yado-detail-link li a {
  color: #fff;
  background: var(--accent_color);
  border: 1px solid var(--accent_color);
}

.yado-detail-link li a:hover, #yado-info .yado-detail-link li a:hover {
  color: var(--accent_color);
  background: #fff;
}

.yado-detail-link li a, #yado-info .yado-detail-link li a {
  color: #fff;
  background: var(--accent_color);
  border: 1px solid var(--accent_color);
}

.yado-detail-link li a:hover, #yado-info .yado-detail-link li a:hover {
  color: var(--accent_color);
  background: #fff;
}

#yado-info3 .checkin, #yado-info3 .checkout, .yado-info-plan #plan-info .checkin, .yado-info-plan #plan-info .checkout {
  top: auto;
  bottom: 0;
  color: #fff;
  background: var(--accent_color);
}

/* .yado-info-page #enyado_info_title, .yado-info-plan #enyado_info_title, .yado-info-room #enyado_info_title{
  background: var(--light_color);
} */

.yado-box #yado-info2 p {
  margin-top: .8em;
}

.yado-box #yado-info2 p#yado-text2 {
  margin-top: .5em;
}

#yado-info3.detail_roominfomation .item-title, #yado-qa .item-title {
  padding-bottom: 0;
  margin-bottom: 0;
  font-size: 2rem;
}

#yado-info3 .item-box dl {
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: flex-start;
  padding: 1.8em 0 1.3em;
}

#yado-info3 .item-box dl dt {
  flex-shrink: 0;
  width: 13em;
  padding-right: 2em;
  box-sizing: border-box;
}

#yado-info3 .item-box dl dd {
  /* width: 100%; */
  margin-left: 0;
}

#yado-qa dl.faq {
  padding: 1.8em 0 1.5em;
  margin: 0;
}

#yado-qa dl.faq dt, #yado-qa dl.faq dd {
  display: flex;
  justify-content: flex-start;
  align-items: baseline;
  margin-bottom: .7em;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.5;
}

#yado-qa dl.faq dt::before, #yado-qa dl.faq dd::before {
  position: relative;
  top: auto;
  left: auto;
  flex-shrink: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 2em;
  height: 2em;
  padding-top: .1em;
  margin-right: .5em;
  color: #fff;
  font-size: 1.3rem;
  font-weight: 700;
  line-height: 1;
  background: var(--accent_color);
  border-radius: 50%;
  box-sizing: border-box;
}

#yado-qa dl.faq dt {
  font-size: 1.7rem;
  font-weight: 700;
}

#yado-qa dl.faq dt::before {
  content: "Q";
}

#yado-qa dl.faq dd {
  margin-left: 0;
  margin-bottom: 0;
}

#yado-qa dl.faq dd::before {
  content: "A";
}

#yado-info3 .item-box dl, #yado-qa dl.faq {
  margin: 1em 0;
  border-top: 1px solid var(--light_color2);
  border-bottom: none;
}

.yado-box dd table tr {
  vertical-align: baseline;
}

#yado-info3 .item-box dl dd th {
  padding-right: .2em;
  padding-bottom: .3em;
}

#yado-info3 .item-box dl dd td {
  width: 50%;
  padding-right: 1em;
  padding-bottom: .3em;
  line-height: 1.2;
}

#yado-qa .item-title {
  padding-bottom: .8em;
}

.yado-info-plan #enyado_info_title, .yado-info-page #enyado_info_title, .yado-info-room #enyado_info_title, .yado-info-cal #enyado_info_title {
  margin-top: -2.1em;
}
.en .yado-info-page #enyado_info_title,.zh-tw .yado-info-page #enyado_info_title{
  margin-top: -3.1em;
}
.en .yado-info-plan #enyado_info_title,.zh-tw .yado-info-plan #enyado_info_title{
  margin-top: -3.1em;
}

.yado-box .plan-list-box .plan-list-info h3, .yado-info-plan #plan-info4 .item-title, .plan-img-title {
  font-family: var(--h_font);
}

.plan-list-room dt, .room-list-plan dt {
  font-weight: 700;
}

.list-inner-item .text p {
  margin: 0;
}

.list-inner-item .text .item-name {
  margin: 0;
  font-size: 1.2em;
  font-weight: 700;
}

.plan-list-room > dd {
  margin-left: 0;
}

.list-inner-item .text {
  box-sizing: border-box;
}

#price-table01 .price-table-room-name .color_title, .yado-info-room .room-list-box .flex_box .room-list-info .room-list-name h3, .rec_plan_innerbox h4.color_title {
  padding-bottom: .3em;
  padding-top: 0;
  margin-top: 0;
  border-bottom: 1px solid var(--light_color2);
}

#singleyado_informationbox .items_table th, .yado-info-room .room-list-box .flex_box .room-list-info th {
  width: 6em;
  text-align: left;
  vertical-align: top;
}

.yado-info-room .room-list-box .flex_box .room-list-info td > * {
  margin: 0;
}

a.detail_btn {
  width: 100%;
  box-sizing: border-box;
  transition: all .3s ease;
}

.room-list-plan > dd {
  margin-left: 0;
}

.yado-box .plan-list-box .plan-list-ph, .yado-info-room .room-list-box .flex_box .room-list-ph {
  flex-shrink: 0;
  margin-right: 30px;
}

.yado-box .plan-list-box .plan-list-info, .yado-info-room .room-list-box .flex_box .room-list-info {
  width: 100%;
}

.list-inner-item .btn a {
  width: auto;
  padding: 7px 2em;
  font-weight: 400;
}

.yado-info-plan .plan-subnavi {
  margin-top: 0;
}

#plan-ph #plan-ph-right p {
  margin-top: .3em;
}

.plan-img-title p {
  margin: 0;
  font-size: 1.1em;
}

.yado-info-plan #plan-info4 .item-title {
  border-bottom: 1px solid var(--light_color2);
}

.yado-info-plan #plan-info4 dl {
  margin-bottom: 3em;
}

.in-btn a {
  padding: 1em 3em;
  color: var(--font_color);
  background: #fff;
  border: 1px solid var(--font_color);
  border-radius: 9999px;
  text-decoration: none;
  transition: all .3s ease;
}

.in-btn a:hover {
  color: #fff;
  background: var(--accent_color);
  border: 1px solid var(--accent_color);
}

.yado-info-plan #plan-info4 dl > dd {
  margin-left: 0;
}

#calender .seconddetail .text .price-table-room-name button, #calender .seconddetail .text button {
  opacity: 1;
  padding: 0;
  font-size: 1.2em;
  font-family: var(--h_font);
  font-weight: 600;
  text-decoration: underline;
  background: transparent;
  border: none;
  transition: all .3s ease;
  cursor: pointer;
  line-height: 1.2;
}

#calender .seconddetail .text .price-table-room-name button:hover, #calender .seconddetail .text button:hover {
  opacity: .6;
}

#calender .seconddetail .text button.bttn.fee_children {
  padding: .8em 1.5em;
  font-size: .9em;
  font-family: var(--font);
  font-weight: 400;
  text-decoration: none;
  background: #fff;
  border: 1px solid var(--accent_color);
  transition: all .3s ease;
  cursor: pointer;
}
#calender .seconddetail .text button.bttn.fee_children:hover {
  color: var(--light_color);
  background: var(--accent_color);
}

#calender .seconddetail {
  flex-wrap: nowrap;
}

#calender .seconddetail .text .plan-kubun {
  margin-top: .7em;
  margin-bottom: .2em;
}

#calender .seconddetail .detail_btn {
  color: #fff;
  background: var(--orange_color);
  border-color: var(--orange_color);
  transition: all .3s ease;
  cursor: pointer;
}

#calender .seconddetail .detail_btn:hover {
  color: var(--orange_color);
  background: #fff;
}

#calender .seconddetail .room_img button.modal-open, #calender .seconddetail .plan_img button.modal-open {
  padding: 0;
  border: none;
}

#plan-info4 {
  margin-top: 60px;
}

.yado-info-plan #plan-info #plan-name {
  margin: 1.3em 0;
  font-family: var(--h_font);
}

#enyado_info_title .go-to-calender {
  top: -3.5em;
}

#calender .firstinfo > * select, #calender .secondinfo-calenderpart-wrap .calenderheader #StayDateCal, #calender .secondinfo-calenderpart-wrap .calenderheader input, #calender .secondinfo-calenderpart-wrap .calenderheader input, #calender .seconddetail .text .price-table-room-name button, #calender .seconddetail .text button {
  color: var(--font_color);
}

#calender .firstinfo > * select {
  padding: 3px 13px 3px 6px;
  text-align: center;
  text-align-last: center;
}

#StayNinzu-wrap, #StayRooms-wrap, #StayNights-wrap, #search-result dd .flex_box > div.room-search__select_ratetype-jp, #search-result dd .flex_box > div.room-search__select_stayninzu-jp {
  position: relative;
}

#StayNinzu-wrap::after, #StayRooms-wrap::after, #StayNights-wrap::after, #search-result dd .flex_box > div.room-search__select_ratetype-jp::after, #search-result dd .flex_box > div.room-search__select_stayninzu-jp::after, #search-result dd .flex_box > div.room-search__select_ratetype-en::after, #search-result dd .flex_box > div.room-search__select_stayninzu-en::after {
  content: '';
  position: absolute;
  top: 50%;
  right: .5em;
  display: block;
  width: 0;
  height: 0;
  border-top: 0.3em solid var(--font_color);
  border-right: .3em solid transparent;
  border-left: .3em solid transparent;
  border-bottom: none;
  transform: translateY(-50%);
}

#calender .secondinfo-calenderpart-wrap .secondinfo .selectList {
  padding-left: 0;
  margin-top: 0;
  margin-left: 0;
  list-style: none;
}

.stay-modal-content {
  padding-top: 60px;
}

.stay-modal-content .stay-modal-close {
  box-sizing: border-box;
}

.stay-modal-content iframe {
  border: none;
}

#inlineFrameChildren {
  display: block;
  max-width: 600px;
  width: 92%;
  margin: auto;
}

#singleyado_informationbox > .flex_box .pic_txt .color_title {
  /* margin-bottom: .7em; */
  font-family: var(--h_font);
  color: var(--text_color);
}

.yado-info-plan #plan-info .checkin .checkin_title, .yado-info-plan #plan-info .checkout .checkout_title {
  display: inline;
  font-size: 1em;
}

input#BeforeMonth[disabled], input#AfterMonth[disabled] {
  opacity: .5;
}

.room-search__checkdates.room-search__checkin-jp::after, .room-search__checkdates.room-search__checkin-en::after, .room-search__checkdates.room-search__checkout-jp::after, .room-search__checkdates.room-search__checkout-en::after {
  content: '';
  position: absolute;
  bottom: .9em;
  right: .5em;
  display: block;
  width: 1em;
  height: 1em;
  background: url(../img/icon_calendar.svg) center center/contain no-repeat;
}

#yado-info .yado-detail-link li#stay-top {
  display: none;
}

div#filter01-wrap {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
}

div#search-sort {
  width: 100%;
  margin-bottom: 1em;
}

#meal-filter-wrap .sort-filter-tit, #search-sort .sort-filter-tit, #property-filter .Label {
  flex-shrink: 0;
  padding: .5em;
  margin-right: 1.5em;
  color: #fff;
  line-height: 1.3;
  background: var(--accent_color);
  border-radius: 5px;
}

@media only screen and (min-width: 768px) {
  #meal-filter-wrap .sort-filter-tit, #search-sort .sort-filter-tit, #property-filter .Label {
    background: transparent;
    color: var(--font_color);
    border-bottom: 1px solid #009d73;
    border-radius: 0px;
  }
}

.filter-wrap .sort-item, .filter-wrap ul.flex_box {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  list-style: none;
}

.filter-wrap ul.flex_box li a, #search-sort .sort-item > a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: auto;
  color: var(--accent_color);
  white-space: nowrap;
  padding: .5em 1.5em;
  background: #fff;
  border: 1px solid var(--accent_color);
  border-radius: 9999px;
  transition: all .3s ease;
  overflow: hidden;
}

.filter-wrap ul.flex_box li a:has(b), #search-sort .sort-item > a:has(b) {
  padding: 0;
}

.filter-wrap ul.flex_box li a:hover, #search-sort .sort-item > a:hover {
  color: #fff;
  background: var(--accent_color);
}

.filter-wrap ul.flex_box li a b, #search-sort .sort-item > a b {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: .5em 1.5em;
  color: #fff;
  text-decoration: none;
  background: var(--accent_color);
}

.ui-datepicker.ui-datepicker-multi {
  font-size: 1.6rem;
}

#calender .calenderbody table td {
  position: relative;
}

#calender .calenderbody table td::before {
  content: '';
  position: relative;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  padding-top: 100%;
}

#calender .calenderbody table td a, #calender .calenderbody table td .no-link {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
}

#calender .calenderbody table td .cal-mark {
  width: 100%;
  margin: auto auto 0;
}

#calender .calenderbody table td .cal-price {
  margin: 5px auto auto;
}

#calender .calenderbody table td .no-link .cal-mark {
  margin: auto;
}
.yado-low-price {
  margin-bottom: 1em;
}

.yado-low-price > span {
  font-size: .85em;
}

#yado-info3 .item-box dl dd td br.mobile-only {
  display: none;
}

#calender .seconddetail .price-table-plan-name + p {
  margin: 1em 0;
}

.plan-subnavi a {
  opacity: 1;
  margin: 0 1em;
  border-bottom: 1px solid var(--font_color);
  transition: all .3s ease;
}

.plan-subnavi a:last-of-type {
  padding-right: .8em;
}

.plan-subnavi a:hover {
  opacity: .6;
}

#plan-detail .yado-box, #yado-detail .yado-box, #room-detail .yado-box {
  padding: 20px 30px;
  background: #fff;
}

@media only screen and (max-width: 1150px) {
  #calender .calenderbody table td::before {
    padding-top: 135%;
  }
  #calender .calenderbody table td a, #calender .calenderbody table td .no-link {
    padding: 5px;
  }
}

@media only screen and (max-width: 959px) {
  div#search-sort {
    margin-bottom: 0;
  }
  #search-result dt {
    width: 100%;
    font-size: 1.6rem;
  }
  #search-result dd {
    margin-left: 0;
  }
  #search-result .room-search__checkin-jp::before, #search-result .room-search__checkout-jp::before, #search-result .room-search__select_ratetype-jp::before, #search-result .room-search__select_stayninzu-jp::before {
    font-size: 1.4rem;
  }
  #search-result dd .flex_box input[type="text"], #search-result dd .flex_box input[type="date"], #search-result dd .flex_box input, #search-result dd .flex_box select {
    min-height: 2.4em;
    padding: .5em .6em;
    font-size: 1.3rem;
    line-height: 1.7;
  }
  #search-result dd .flex_box select {
    color: var(--c_black);
  }
  #search-result dd .flex_box > div {
    margin-top: 1.8em;
  }
  #room-search2 #room-search-btn2, #search-result dd .flex_box > div.btn-clear input[type="button"] {
    padding: 5px;
    margin-top: 0;
    font-size: 1.15em;
    line-height: 30px;
  }
  body.en #room-search2 #room-search-btn2, #search-result dd .flex_box > div.btn-clear input[type="button"],body.zh-tw #room-search2 #room-search-btn2, #search-result dd .flex_box > div.btn-clear input[type="button"]{
    font-size: 1em;
  }
  #search-result dd .flex_box > div.btn-clear {
    width: 23%;
  }
  #search-result .room-search__checkin-jp::before,
  #search-result .room-search__checkin-en::before,
  #search-result .room-search__checkin-tc::before,
  #search-result .room-search__checkout-jp::before,
  #search-result .room-search__checkout-en::before,
  #search-result .room-search__checkout-tc::before,
  #search-result .room-search__select_ratetype-jp::before,
  #search-result .room-search__select_ratetype-en::before,
  #search-result .room-search__select_ratetype-tc::before,
  #search-result .room-search__select_stayninzu-jp::before,
  #search-result .room-search__select_stayninzu-en::before,
  #search-result .room-search__select_stayninzu-tc::before {
    top: -1.7em;
  }
  #search-result dd .flex_box > div.btn, #search-result dd .flex_box > div.btn-clear {
    margin-top: .7em;
  }
  #plan-list #column-main, #room-list #column-main, #yado-list.accommodations-wrap #column-main, div#column-main {
    padding: 0px 10px;
  }
  .yado-list-area {
    top: 15px;
  }
  .yado-list-box h3 a {
    padding: 35px 12px 13px;
  }
  dl.yado-list-plan > dd > dl > dt {
    margin-bottom: .5em;
  }
  .yado-list-plan dd dl, #plan-list .plan-list-box {
    padding: 8px 0;
  }
  .yado-list-plan dd dt span.en-pdetail-tit a {
    font-size: 1.4rem !important;
  }
  .yado-list-plan > dt, #enyado_info_title, .item-title {
    font-size: 1.5rem;
  }
  .accordion-btn-jp:hover {
    opacity: 1;
  }
  #yado-detail-link01 + #yado-detail-link03 {
    margin-left: 0;
  }
  a.yado-list-ph-img-float {
    position: relative;
    display: block;
    width: 100%;
    margin-bottom: 1px;
  }
  a.yado-list-ph-img-float img, div.yado-list-ph a:nth-child(2) img, div.yado-list-ph a:nth-child(3) img {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: translate(-50%, -50%);
  }
  a.yado-list-ph-img-float:nth-of-type(1) {
    padding-top: 75%;
  }
  a.yado-list-ph-img-float:nth-of-type(2) {
    width: 49.2%;
    padding-top: 33%;
    margin-top: 1.2%;
    float: left;
  }
  a.yado-list-ph-img-float:nth-of-type(3) {
    width: 49.2%;
    padding-top: 33%;
    margin-top: 1.2%;
    float: right;
  }
  #yado-info {
    width: 100%;
    margin-right: auto;
    margin-left: auto;
  }
  .yado-box #yado-info2 p#yado-text2 {
    width: 94%;
    margin-right: auto;
    margin-left: auto;
    font-size: .95em;
  }
  #yado-ph2 ul {
    display: flex;
    width: 94%;
    margin-top: 25px;
    padding-left: 0;
    margin-right: auto;
    margin-left: auto;
  }
  #yado-ph2 li {
    width: 48%;
    margin-bottom: 15px;
  }
  .yado-box #yado-info2 p {
    margin-top: .6em;
    font-size: .95em;
  }
  #yado-info3, #yado-qa {
    width: 92%;
    margin-right: auto;
    margin-left: auto;
  }
  #yado-info3.detail_roominfomation .item-title, #yado-qa .item-title {
    padding-right: 1.3em;
    padding-bottom: 4.5em;
    font-size: 1.5rem;
  }
  .accommodations-wrap #yado-info3 .checkin, .accommodations-wrap #yado-info3 .checkout {
    position: absolute;
    width: 49%;
  }
  .accommodations-wrap #yado-info3 .checkin, .accommodations-wrap #yado-info3 .checkin span, .accommodations-wrap #yado-info3 .checkout, .accommodations-wrap #yado-info3 .checkout span {
    font-size: 1rem;
    margin: 0;
  }
  .accommodations-wrap #yado-info3 .checkin {
    bottom: 1.5em;
    right: auto;
    left: 0;
  }
  .accommodations-wrap #yado-info3 .checkout {
    bottom: 1.5em;
    right: 0;
  }
  #yado-info3 .item-box dl {
    padding: 15px 0;
    margin: 0;
  }
  #yado-info3 .item-box dl dt {
    width: 100%;
    margin-bottom: .7em;
    font-size: 1.4rem;
  }
  #yado-info3 .item-box dl dd {
    font-size: 1.3rem;
  }
  #yado-info3 .item-box dl > dd + dt {
    margin-top: 1.7em;
  }
  #yado-qa .item-title {
    padding-bottom: 1em;
  }
  #yado-qa dl.faq {
    padding: 15px 0;
  }
  #yado-qa dl.faq dt, #yado-qa dl.faq dd {
    font-size: 1.4rem;
  }
  #plan-detail .yado-box, #yado-detail .yado-box, #room-detail .yado-box {
    padding: 20px 10px;
  }
  #yado-qa {
    margin-top: 50px;
  }
  .yado-info-plan #enyado_info_title, .yado-info-page #enyado_info_title, .yado-info-room #enyado_info_title, .yado-info-cal #enyado_info_title {
    margin-top: 0;
  }
  #plan-list .yado-box .plan-list-box .plan-list-info > * {
    width: 92%;
    margin-right: auto;
    margin-left: auto;
  }
  dl.plan-list-room {
    width: 90%;
    margin-right: auto;
    margin-left: auto;
  }
  .plan-list-room .list-inner-item {
    flex-wrap: nowrap;
  }
  .list-inner-item .btn {
    width: 250px;
  }
  .list-inner-item .text {
    font-size: 1.2rem;
  }
  .list-inner-item .text p, .list-inner-item .plan-kubun-price {
    font-size: .95em;
  }
  .list-inner-item .btn a {
    font-size: 1.3rem;
  }
  .yado-box .plan-list-box .plan-list-info, .yado-info-room .room-list-box .flex_box .room-list-info {
    width: 92%;
    margin-right: auto;
    margin-left: auto;
  }
  dl.room-list-plan {
    width: 92%;
    margin-right: auto;
    margin-left: auto;
  }
  #singleyado_informationbox .items_table th, .yado-info-room .room-list-box .flex_box .room-list-info th {
    width: 5em;
    padding-bottom: 5px;
    font-size: 1.2rem;
  }
  body.en #singleyado_informationbox .items_table th, body.zh-tw #singleyado_informationbox .items_table th {
    width: 7em;
  }
  #singleyado_informationbox .items_table th, .yado-info-room .room-list-box .flex_box .room-list-info th, #singleyado_informationbox .items_table th, #singleyado_informationbox .items_table td, .yado-info-room .room-list-box .flex_box .room-list-info th, .yado-info-room .room-list-box .flex_box .room-list-info td {
    padding-bottom: 5px;
    font-size: 1.2rem;
  }
  .yado-info-room .room-list-box .flex_box .room-list-info td p {
    font-size: 1.2rem;
  }
  .list-inner-item .text .item-name {
    line-height: 1.4;
  }
  .yado-info-room .room-list-box .flex_box .room-list-ph {
    margin-bottom: .7em;
  }
  .room-list-name a {
    font-size: 1.5rem;
  }
  .yado-info-room .room-list-box .flex_box .room-list-info .room-list-name {
    margin-bottom: .5em;
  }
  .list-inner-item {
    align-items: flex-start;
  }
  #price-table01 .price-table-room-name .color_title, .yado-info-room .room-list-box .flex_box .room-list-info .room-list-name h3, .rec_plan_innerbox h4.color_title {
    margin-bottom: 0;
  }
  .plan-list-room dt, .room-list-plan dt {
    font-size: 1.5rem;
  }
  #plan-info4 {
    width: 92%;
    margin: 40px auto 0;
  }
  #plan-info4 .in-btn a {
    width: auto;
    height: auto;
    padding: 1em;
    color: var(--accent_color);
    font-size: 1.5rem;
    font-weight: 400;
    line-height: 1.5;
    text-decoration: none;
    background: #fff;
    border: 1px solid var(--accent_color);
    border-radius: 9999px;
    transition: all .3s ease;
  }
  #plan-info4 .in-btn a:hover {
    color: #fff;
    background: var(--accent_color);
  }
  #calender .seconddetail .text .plan-kubun {
    padding: 0;
  }
  #calender .seconddetail .detail_btn {
    margin-top: 1em;#globalNavigation #headerSearch #s
  }
  #calender .secondinfo-calenderpart-wrap .calenderheader {
    flex-direction: row;
    justify-content: center;
    align-items: flex-end;
    top: -3.5em;
  }
  body.en #calender .secondinfo-calenderpart-wrap .calenderheader, body.zh-tw #calender .secondinfo-calenderpart-wrap .calenderheader {
    top: -4.5em;
  }
  #calender .secondinfo-calenderpart-wrap .calenderheader #StayDateCal {
    margin: 0;
  }
  #calender .secondinfo-calenderpart-wrap .calenderheader input {
    padding: 5px;
    font-size: clamp(0.9rem, 3.2vw, 1.3rem);
  }
  #calender .secondinfo-calenderpart-wrap .calenderheader #StayDateCal {
    font-size: clamp(0.9rem, 4.4vw, 1.35rem);
  }
  #calender .firstinfo > * div {
    font-size: clamp(0.9rem, 3.4vw, 1.2rem);
  }
  #enyado_info_title .go-to-calender {
    top: -3.7em;
    left: 4%;
  }
  .yado-info-plan .plan-subnavi {
    padding: 10px 15px 10px;
  }
  .plan-subnavi a {
    display: inline-block;
    padding: .6em .7em;
    margin: 0 .2em 1em;
    color: var(--accent_color);
    font-size: .85em;
    background: #fff;
    border: 1px solid var(--accent_color);
    border-radius: 9999px;
  }
  .plan-subnavi a:last-of-type {
    padding-right: 1em;
  }
  .plan-subnavi a:hover {
    opacity: 1;
    color: #fff;
    background: var(--accent_color);
  }
  #plan-detail.yado-info-plan #plan-info {
    width: 98%;
    margin: 20px auto 15px;
  }
  #calender .firstinfo {
    width: 100%;
    margin-right: 0;
    margin-left: 0;
    align-items: flex-end;
    line-height: 1.5;
  }
  .accommodations-wrap #calender .calenderbody table td span.cal-price, .accommodations-wrap #calender .calenderbody table td a {
    font-size: 2.2vw;
  }
  .accommodations-wrap #calender .calenderbody table th span, .accommodations-wrap #calender .calenderbody table td span {
    font-size: clamp(0.9rem, 3.3vw, 1.4rem);
    line-height: 1;
  }
  #calender .secondinfo-calenderpart-wrap .secondinfo {
    width: 92%;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 5em;
  }
  #calender .secondinfo-calenderpart-wrap .secondinfo .selectList {
    padding: 0;
    margin: 0;
  }
  #plan-detail #plan-ph {
    width: 100%;
    margin-right: auto;
    margin-left: auto;
  }
  #calender .calenderbody .cal-mark-info span + span {
    margin-left: 0;
  }
  #calender .calenderbody .cal-mark-info span {
    margin-right: 1.5em;
  }
  #calender .calenderbody .cal-mark-info {
    padding: 0 4%;
    margin-top: 25px;
  }
  #singleyado_informationbox > .flex_box .pic_txt {
    width: 92%;
    margin-right: auto;
    margin-left: auto;
  }
  .room-subimg {
    width: 92%;
    margin-right: auto;
    margin-left: auto;
  }
  #plan-info-inner {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
  }
  .yado-info-plan #plan-info #plan-name, .yado-info-plan #plan-info p.plan-kubun {
    width: 100%;
  }
  #yado-info3 .checkin, #yado-info3 .checkout, .yado-info-plan #plan-info .checkin, .yado-info-plan #plan-info .checkout {
    width: 48%;
    font-size: clamp(0.9rem, 3vw, 1.4rem);
  }
  #yado-info3 .checkin span, #yado-info3 .checkout span, .yado-info-plan #plan-info .checkin span, .yado-info-plan #plan-info .checkout span {
    font-size: clamp(0.9rem, 3vw, 1.4rem);
  }
  #StayNinzu-wrap::after, #StayRooms-wrap::after, #StayNights-wrap::after {
    top: auto;
    bottom: 1em;
  }
  #calender .secondinfo-calenderpart-wrap .secondinfo .selectList li.selectedListitem {
    position: relative;
    padding-right: 2em;
  }
  #calender .secondinfo-calenderpart-wrap .secondinfo .selectList li.selectedListitem::after {
    content: '';
    position: absolute;
    top: 50%;
    right: .7em;
    display: block;
    width: 0;
    height: 0;
    border-top: .4em solid #fff;
    border-right: .4em solid transparent;
    border-left: .4em solid transparent;
    border-bottom: none;
    transform: translateY(-50%);
    transition: all .3s ease;
  }
  #calender .secondinfo-calenderpart-wrap .secondinfo.open .selectList li.selectedListitem::after {
    transform: translateY(-50%) scale(1, -1);
  }
  #yado-info #yado-name h3 {
    line-height: 1.4;
    margin-top: 20px;
  }
  #calender .block-title {
    padding: 10px 15px;
  }
  #calender .block-title {
    font-size: 1.5rem;
  }
  #calender .firstinfo > div > div {
    margin-bottom: .4em;
    line-height: 1.1;
  }
  #calender .firstinfo > div#StayNinzu-wrap > div {
    margin-bottom: .5em;
    /* font-size: clamp(0.9rem, 3vw, 1.4rem); */
    line-height: 1.2;
  }
  #yado-info .yado-detail-link li#stay-top {
    display: block;
    width: 12%;
  }
    #yado-info .yado-detail-link li{
    margin-bottom: 0;
  }
  #yado-info .yado-detail-link li#stay-top > a {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 100%;
    min-height: 5em;
    padding: 0;
    font-size: 10px;
  }
  #yado-info .yado-detail-link li#stay-top > a::before {
    content: '';
    display: block;
    width: 1.8em;
    height: 1.8em;
    margin-bottom: .3em;
    background: url("../img/icon_home.svg") center center/contain no-repeat;
    filter: brightness(0) saturate(100%) invert(100%) sepia(100%) saturate(2%) hue-rotate(305deg) brightness(106%) contrast(101%);
    transition: all .3s ease;
  }
  #yado-info .yado-detail-link li#stay-top > a:hover::before {
    filter: none;
  }
  #yado-info .yado-detail-link li#yado-detail-link01,
  #yado-info .yado-detail-link li#yado-detail-link02,
  #yado-info .yado-detail-link li#yado-detail-link03,
  #yado-info .yado-detail-link li#yado-detail-link04 {
    width: 22%;
  }
  #yado-info .yado-detail-link .no-plan li#stay-top, #yado-info .yado-detail-link .no-plan li#yado-detail-link01, #yado-info .yado-detail-link .no-plan li#yado-detail-link03 {
    width: 100%;
  }
  .room-search__checkdates.room-search__checkin-jp::after, .room-search__checkdates.room-search__checkin-en::after, .room-search__checkdates.room-search__checkout-jp::after, .room-search__checkdates.room-search__checkout-en::after {
    bottom: .7em;
  }
  .yado-detail-link li a, #yado-info .yado-detail-link li a {
    color: #fff;
    background: var(--accent_color);
  }
  .yado-detail-link li a:hover, .yado-info-page #yado-info .yado-detail-link li#yado-detail-link01 a, .yado-info-plan #yado-info .yado-detail-link li#yado-detail-link02 a, .yado-info-room #yado-info .yado-detail-link li#yado-detail-link03 a, .yado-info-cal #yado-info .yado-detail-link li#yado-detail-link04 a, .yado-detail-link li a:hover, #yado-info .yado-detail-link li a:hover {
    color: var(--accent_color);
    background: #fff;
  }
  #meal-filter-wrap .sort-filter-tit, #search-sort .sort-filter-tit, #property-filter .Label {
    margin-right: 0;
  }
  .filter-wrap .sort-item, .filter-wrap ul.flex_box, #meal-filter-wrap #ratetype ul {
    justify-content: center;
    flex-wrap: wrap;
  }
  #search-sort .sort-item > a, .filter-wrap ul.flex_box li {
    margin: 0 .3em .5em;
    line-height: 1.5;
  }
  .filter-wrap ul.flex_box li a {
    width: 100%;
    margin: 0;
  }
  .filter-wrap ul.flex_box li a b, #search-sort .sort-item > a b {
    width: 100%;
  }
  .outsize_mar {
    width: 100%;
  }
  #calender .seconddetail {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: inherit;
    padding: 20px 10px;
    margin-top: 40px;
  }
  #calender .seconddetail .plan_img, #calender .seconddetail .room_img {
    position: relative;
    width: 55%;
    margin: 0;
    overflow: hidden;
  }
  #calender .seconddetail .plan_img::before {
    content: '';
    opacity: 0;
    position: relative;
    display: block;
    width: 100%;
    padding-top: 56%;
    pointer-events: none;
  }
  #calender .seconddetail .room_img button.modal-open, #calender .seconddetail .plan_img button.modal-open {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #fff;
  }
  #calender .seconddetail .plan_img *, #calender .seconddetail .room_img * {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  #calender .seconddetail .text {
    width: 40%;
  }
  #calender .seconddetail .text:not(:has(button.bttn.fee_children)) {
    padding-bottom: 3em;
  }
  #calender .seconddetail .text .price-table-room-name button, #calender .seconddetail .text button {
    font-size: clamp(0.9rem, 4vw, 1.2em);
  }
  #calender .seconddetail .text .plan-kubun {
    font-size: clamp(0.9rem, 3vw, 1.2em);
  }
  #calender .seconddetail .text button.bttn.fee_children {
    width: 100%;
    padding: .9em;
    margin-bottom: 4.2em;
    text-align: center;
    font-size: clamp(0.9rem, 2.8vw, 0.9em);
  }
  #calender .seconddetail .detail_btn {
    width: 40%;
    padding: .9em;
    margin-left: auto;
    margin-top: -3.5em;
    font-size: clamp(0.9rem, 2.8vw, 0.9em);
  }
  .yado-info-plan #plan-info #plan-name {
    margin: 0;
    line-height: 1.3;
    font-size: 1.5rem;
  }
  .yado-info-plan #plan-info p.plan-kubun {
    margin-top: 0;
    margin-bottom: 10px;
  }
  #calender .firstinfo > * select {
    font-size: clamp(0.9rem, 4.4vw, 1.6rem);
  }
  #calender .seconddetail .price-table-plan-name + p {
    text-align: left;
  }
  .yado-info-plan #plan-info4 dl {
    margin-bottom: 1.5em;
  }
}

@media only screen and (max-width: 500px) {
  /*.plan-list-box, .yado-list-box .flex_box, .room-list-box {
    flex-direction: column;
    padding: 10px 15px;
  }
  .yado-list-box .flex_box .imagebox {
    width: 100%;
  }
  .yado-list-box .flex_box .item_box {
    width: 98%;
    margin: 20px auto 0;
  }*/
  .yado-list-name__inner .yado-list-text {
    font-size: .85em;
  }
  #yado-list .yado-detail-link li a {
    font-size: .85em;
  }
  .yado-list-plan dd dl, #plan-list .plan-list-box {
    padding: 8px 0;
  }
  .yado-list-plan dd dt span.en-pdetail-tit a {
    font-size: 1.2rem !important;
  }
  .yado-list-plan dd dd {
    font-size: 1.1rem;
  }
  .accordion-btn-jp {
    font-size: 1.2rem;
  }
  .yado-list-box h3 a {
    font-size: 1.6rem;
    padding: 12px 12px 0;
  }
  .yado-list-box h3 {
    margin: 0;
  }
  .yado-list-plan > dt::before, #enyado_info_title::before, .item-title::before {
    top: .7em;
  }
  .yado-list-plan > dt, #enyado_info_title, .item-title {
    font-size: 1.3rem;
  }
  .plan-list-room .list-inner-item {
    flex-wrap: wrap;
  }
  .list-inner-item .btn {
    width: 100%;
  }
  /*.yado-box dd table tr {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
    padding: 0!important;
  }
  #yado-info3 .item-box dl dd td {
    width: calc(100% - 2em);
  }*/
  #yado-info3 .item-box dl dd td br.mobile-only {
    display: block;
  }
  #yado-info3 .item-box dl dd td {
    font-size: clamp(0.9rem, 3.6vw, 1.4rem);
  }
}

.maintenance_jp {
  padding: 100px 0;
  text-align: center;
}

.maintenance_jp > h1 {
  margin-bottom: 1em;
  font-weight: 700;
}

.maintenance_jp > p {
  line-height: 1.7;
}

@media only screen and (max-width: 500px) {
  .maintenance_jp {
    padding: 70px 0;
  }
  .maintenance_jp > h1 {
    margin-bottom: .6em;
    font-size: clamp(1em, 6vw, 2em);
  }
}

.top-search .tit {
  font-weight: 700;
}

.top-search #search-result {
  padding: 0;
  background: none;
}

.top-search #search-result dl {
  display: block;
}

.top-search #search-result .inn-room-wrap dd, .top-search #search-result .inn-number-wrap dd {
  padding-top: 0;
}

.top-search #search-result dd {
  margin-left: 0;
}

.top-search #search-result dt {
  width: 100%;
  font-size: 13px;
  font-weight: 400;
  text-align: left;
}

.top-search #search-result .inn-day-wrap dd {
  padding-top: 10px;
}

.top-search-sp__link {
  display: none;
}

.header-ham a {
  color: #fff;
}

.bnr_marimoPay {
  opacity: 1;
  display: block;
  width: calc(100% - 52px);
  max-width: 1330px;
  margin: 0 auto 40px;
  transition: all .3s ease;
}

.bnr_marimoPay:hover {
  opacity: .6;
}

.bnr_marimoPay picture, .bnr_marimoPay img {
  display: block;
  width: 100%;
}

@media only screen and (max-width: 1100px) {
  .header-low .header__left .header__logoImg {
    opacity: 0;
    visibility: hidden;
  }
  .header-low .header__left .header__logoImg--change {
    opacity: 1;
    visibility: visible;
  }
  .header-low .header__left .header__logoLink {
    width: 100px;
    height: 31px;
  }
  .low-fv {
    padding-top: 80px;
  }
}

@media only screen and (max-width: 768px) {
  .bnr_marimoPay {
    margin-bottom: 20px;
  }
  .low-fv__wrap {
    display: none;
  }
}

@media only screen and (max-width: 500px) {
  .low-fv {
    padding-top: 60px;
  }
  .header__logoImg--change {
    width: 100px;
  }
}

[data-mesh-id=SITE_HEADERinlineContent-gridContainer] > [id="comp-mfozbygy"] {
  margin-bottom: 0;
}

@media only screen and (max-width: 959px) {
  #room-search2 {
    margin-top: 0;
  }
  #search-result {
    padding: 1.5rem 2rem;
  }
}

#BACK_TO_TOP_BUTTON, #QUICK_ACTION_BAR {
  display: none;
}

#comp-mfozbyh92moreContainer > li > a {
  display: block;
  padding: 8px 14px;
  color: #666;
  text-decoration: none;
  white-space: nowrap;
  font-size: 14px;
  line-height: 1.1;
  background: transparent;
  box-sizing: border-box;
  cursor: pointer !important;
}

#comp-mfozbyh92moreContainer > li > a:hover {
  background: #eae7dc;
  color: #444;
  outline: none;
  pointer-events: auto;
}

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

original

---------------------------------- */
body {
  overflow-x: hidden;
}

html {
  font-size: 70%;
}

@media only screen and (min-width: 768px) {
  html {
    font-size: 60%;
  }
}

footer {
  position: relative;
}

/* @media only screen and (min-width: 768px) {
  footer::after {
    content: "";
    display: block;
    background: #333;
    position: absolute;
    bottom: -30px;
    width: 100%;
    height: 30px;
  }
} */

div.contents {
  max-width: 100%;
  margin: 0;
  padding: 0;
}

#room-search2 .btn #room-search-btn2 {
  font-weight: bold;
  color: #fff;
  background: var(--orange_color);
  border: 1px solid var(--orange_color);
}

#room-search2 .btn #room-search-btn2:hover {
  color: var(--orange_color);
  background: #fff;
}

.calenderbody td a {
  transition: .2s;
}

.calenderbody td a:hover {
  background: rgba(0, 157, 115, 0.1);
}
/* SP: 英語版ページの特定メニューだけ単語ごとに改行させる（HTML変更なし）
   - a[href^="/en/"] で「リンク先が/en/で始まる=英語版」だけに限定（日本語版には効かない）
   - word-spacing を画面幅より大きくすると半角スペースの位置で必ず折り返す
   - 対象を変える/増やすときは li#yado-detail-link04 のIDを変更・追加する */
@media only screen and (max-width: 959px) {
  #yado-info .yado-detail-link li#yado-detail-link02 a[href^="/en/"],
  #yado-info .yado-detail-link li#yado-detail-link04 a[href^="/en/"] {
    white-space: normal;  /* 別ルールのnowrap(改行禁止)を解除。これが無いと横にあふれて崩れる */
    word-spacing: 100vw;  /* Plan/Packages、Booking/Calendar の2行になる */
  }
  /* 英語版のメニュー全ボタンの文字間を少し広げる（日本語版には効かない） */
  #yado-info .yado-detail-link li a[href^="/en/"] {
    letter-spacing: .05em;
  }
}



/* 2025.6.31追加分(隠岐の島旅特典表示のコピー) */
.cam-txt-yado-wrap{
	display:flex;
	flex-wrap:wrap;
	font-size: 1.3rem;
/* 	font-weight: bold; */
	line-height:1.3;
}
.yado-list-box > .cam-txt-yado-wrap{
	margin-bottom:20px;
}
/* li が無い空の wrap は余白ごと消す */
.cam-txt-yado-wrap:not(:has(li)){
	display:none;
}
.cam-txt-yado-wrap li{
	margin-right:0.5em;
	margin-bottom: 15px;
}
.cam-txt-yado-wrap li:last-child{
	margin-right:0;
}
.cam-txt-yado-wrap span{
	display: flex;
	align-items: center;
	justify-content: center;
	height:100%;
	transition: 0.2s ease-in-out;
}
.cam-txt-yado-wrap a{
	text-decoration:none;
}
.cam-txt-yado-wrap .cam-txt span{
/*
	color:#fff;
	background:#024837;
	border-radius:3px;
	padding:2px 15px;
*/
	position:relative;
	color:var(--accent_color);
	font-weight:bold;
	background:#fff;
	border: solid 1px var(--accent_color);
	border-radius:999px;
	padding:4px 15px;
	white-space:nowrap;
}
.cam-txt-yado-wrap .cam-txt span::after{
	content:"";
	position:absolute;
	left:50%;
	bottom:-4px;
	width:5px;
	height:5px;
	background:#fff;
	border-right:1px solid var(--accent_color);
	border-bottom:1px solid var(--accent_color);
	transform:translateX(-50%) scaleX(0.8) scaleY(1.5) rotate(45deg);
	transition:0.2s ease-in-out;
}
.cam-txt-yado-wrap img{
	width:auto;
	height:27px;
	vertical-align:middle;
	border-radius:3px;
}

.yado-list-plan .cam-txt-yado-wrap span,
.plan-list-box .cam-txt-yado-wrap span,
#plan-info-inner .cam-txt-yado-wrap span,
.room-list-plan .cam-txt-yado-wrap span {
	font-size: 1.2rem;
	background: #fff;
	border: 1px solid rgba(0,0,0,0.2);
	padding: 5px 8px;
	border-radius: 3px;
}
.cam-txt-yado-wrap .cam-txt span::before,
.yado-list-plan .cam-txt-yado-wrap span::before,
.plan-list-box .cam-txt-yado-wrap span::before,
#plan-info-inner .cam-txt-yado-wrap span::before,
.room-list-plan .cam-txt-yado-wrap span::before{
	content:"#";
	font-family: "Montserrat",sans-serif;
	font-weight: 600;
}

.cam-txt-yado-wrap .cam-txt-plan{
	position:relative;
	display:inline-block;
	max-width:100%;
	box-sizing:border-box;
	color:var(--accent_color);
	font-weight:bold;
	background:#fff;
	border:solid 1px var(--accent_color);
	border-radius:999px;
	padding:4px 15px;
	font-size:1.2rem;
	white-space:normal;
	text-align:center;
	line-height:1.5;
}
.cam-txt-yado-wrap .cam-txt-plan::before{
	content:"#";
	font-family:"Montserrat",sans-serif;
	font-weight:600;
}
.cam-txt-yado-wrap .cam-txt-plan::after{
	content:"";
	position:absolute;
	left:50%;
	bottom:-4px;
	width:5px;
	height:5px;
	background:#fff;
	border-right:1px solid var(--accent_color);
	border-bottom:1px solid var(--accent_color);
	transform:translateX(-50%) scaleX(0.8) scaleY(1.5) rotate(45deg);
	transition:0.2s ease-in-out;
}

/* plan.html（#plan-list）のみ：プラン特典バッジのフォントを大きく */
#plan-list .cam-txt-yado-wrap .cam-txt-plan{
	font-size:1.3rem;
}
@media screen and (max-width: 768px) {
	#plan-list .cam-txt-yado-wrap .cam-txt-plan{
		font-size: clamp(10px, 3vw, 13px);
	}
}

.cam-txt-yado-wrap a:hover span{
	color:#fff !important;
	background:var(--accent_color) !important;
}
.cam-txt-yado-wrap a:hover .cam-txt span::after,
.cam-txt-yado-wrap a:hover span::after{
	background:var(--accent_color);
	border-color:var(--accent_color);
}

@media screen and (max-width: 768px) {
	.cam-txt-yado-wrap{
		font-size: 1.15rem;
		margin-bottom: 15px;
		justify-content: center;
	}
	.cam-txt-yado-wrap li{
		margin-bottom: 5px;
	}
	.cam-txt-yado-wrap img{
		height:23px;
	}
	.cam-txt-yado-wrap .cam-txt span{
		padding: 4px 14px;
		font-size: clamp(9px, 2.8vw, 12px);
		white-space: nowrap;
		max-width: 100%;
	}
	.yado-list-plan .cam-txt-yado-wrap span,
	.plan-list-box .cam-txt-yado-wrap span,
	#plan-info-inner .cam-txt-yado-wrap span{
		font-size: 1.1rem;
	}
	.cam-txt-yado-wrap .cam-txt-plan{
		font-size: clamp(9px, 2.6vw, 12px);
		white-space: normal;
	}
	.yado-list-box .yado-list-innerbox {
		position: relative;
	}
}



/* =========================================================
   観光バナー（.banner > .slick）の矢印を本番サイトと同じに合わせる
   - 本番は custom slick-theme.css で「ホバーで出現する白い角丸ボタン＋
     緑ホバー＋CSSシェブロン」スタイル。
   - ローカルは CDN の素の slick-theme.css が後から読まれて上書きするため
     （矢印が常時表示・left/right:-25px ではみ出して横スクロール発生）、
     最後に読まれるこのファイルで本番のルールを .banner 限定で再現する。
   ========================================================= */
.banner { overflow: hidden; }
.banner .slick { position: relative; }

.banner .slick-prev,
.banner .slick-next {
  font-size: 0;
  line-height: 0;
  position: absolute;
  /* このローカル版は jQuery / slick を二重読み込みしており、矢印の基準となる
     .slick(slick-slider) 要素が見た目のバナーより高くなる。そのため公式の
     top:50% では上にズレるので、見た目の中央に合わせて top:95% にしている。 */
  top: 95%;
  display: block;
  width: 40px;
  height: 60px;
  margin-top: -30px;
  padding: 0;
  cursor: pointer;
  color: transparent;
  background: #fff;
  border: 1px solid #ccc;
  outline: none;
  z-index: 2;
  transition: all 0.2s ease-in-out;
}
.banner .slick-prev { left: 0; border-radius: 0 5px 5px 0; opacity: 0; }
.banner .slick-next { right: 0; border-radius: 5px 0 0 5px; opacity: 0; }

/* バナーにホバーした時だけ矢印を表示（本番と同じ） */
.banner:hover .slick-prev,
.banner:hover .slick-next { opacity: 1; }

/* stock(CDN) slick-theme のフォント矢印グリフを打ち消す
   （prev は ::before、next は ::before に '←/→' グリフが入り二重表示になる） */
.banner .slick-prev::after,
.banner .slick-next::before { content: none; display: none; }

/* CSS シェブロン（< >）。prev=::before / next=::after で1つずつ描画
   位置・サイズは公式 slick-theme.css と同一（top:18px / right:0・left:0） */
.banner .slick-prev::before,
.banner .slick-next::after {
  content: "";
  position: absolute;
  top: 18px;
  display: block;
  width: 20px;
  height: 20px;
  border-top: 2px solid #ccc;
  border-right: 2px solid #ccc;
  transition: all 0.2s ease-in-out;
}
.banner .slick-prev::before { right: 0; transform: rotate(-135deg); }
.banner .slick-next::after  { left: 0;  transform: rotate(45deg); }

/* 矢印ボタン自体のホバー：緑背景＋白シェブロン */
.banner .slick-prev:hover,
.banner .slick-next:hover { background: #009d73; border-color: #009d73; }
.banner .slick-prev:hover::before,
.banner .slick-next:hover::after { border-color: #fff; }

.banner .slick-slide img { max-width: 100%; height: auto; }

/* アンカーリンク（plan-subnavi）のジャンプ位置を固定ヘッダー分ずらす */
html {
  scroll-behavior: smooth;
}
#calender,
#notice,
#tax,
#charge,
#internet_cancellation {
  scroll-margin-top: 140px;
}



.bnr_domannaka{
  display: block;
  margin: 10px auto 0;
  max-width: 1100px;
  width: 90%;

}

    @media (min-width: 768px) {
  .bnr_domannaka{

  margin: 30px auto 0;


}    
    }

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

.bnr_domannaka:hover{
  opacity: .8;
}



/* 2026.8.27追記 */
#breadCrumb{
  font-size: 12.96px;
}
.unitBox dl {
    padding-bottom: 0px;
}

/* ==========================================================================
   common.css の rem 指定を本来の実寸（ルート16px相当）に戻す
   このサイトは html{font-size:60%} = ルート9.6px のため、common.css 由来の
   ヘッダー / フッター / ページタイトルが意図の約60%サイズで表示されていた。
   本文（style_merged14.css 側の rem）は 9.6px 前提の設計なので触らない。
   値はすべて「元の rem 値 × 16px」。
   ========================================================================== */


/* --- ヘッダー ------------------------------------------------------------ */
#header #headerLogo a {
  font-size: 19.2px;      /* 1.2rem  */
  letter-spacing: 1.6px;  /* 0.1rem  */
}
#header #headerLogo a span,
#headerWrapper.smaller #header #headerLogo a span {
  font-size: 12.8px;      /* 0.8rem  */
}
#globalNavigation ul.mainMenu li a {
  font-size: 15.36px;     /* 0.96rem */
}
#globalNavigation ul.mainMenu li a span {
  font-size: 14.4px;      /* 0.9rem  */
}
.langChanger .item a {
  font-size: 12.8px;      /* 0.8rem  */
  border-radius: 16px;    /* 1rem    */
  padding: 4px 15px 2px;
}

/* --- ページタイトル ------------------------------------------------------ */
body.second #pageHeader .pageTitle {
  font-size: 32px;        /* 2rem    */
}
body.second #pageHeader .headerCopy {
  font-size: 16px;        /* 1rem    */
}
body.second #pageHeader::after {
  line-height: 272px;     /* 17rem   */
  bottom: -128px;         /* -8rem   */
}

@media (max-width: 500px) {
  /* common.css の SP 指定と同詳細度のため、ここで再現しないと上書きしてしまう */
  body.second #pageHeader .pageTitle {
    font-size: 20.8px;    /* 1.3rem  */
  }
  body.second #pageHeader .headerCopy {
    font-size: 11.2px;    /* 0.7rem  */
  }
  #breadCrumb.footer{
    padding-bottom: 50px;
  }
}

@media (max-width: 959px) {
  body.second #pageHeader .headerCopy {
    display: none;
  }
}

/* --- フッター ------------------------------------------------------------ */
#footer #footerMenu ul.siteMap li a {
  font-size: 13.6px;      /* 0.85rem */
}
#footer #footerIndex .siteMapHome a {
  font-size: 12.8px;      /* 0.8rem  */
  line-height: 20.8px;    /* 1.3rem  */
}
#copyright {
  font-size: 12.8px;      /* 0.8rem  */
}


/* ==========================================================================
   ASO THEME LAYER
   サイト全体のデザインを統一する上書きレイヤー。
   全ページ（9ファイル）がこの1本を読むため、ここだけで効く。

   ■ 値の定義はすべて css/base-custom14.css の :root にあります。
     このレイヤーは値を持たず、var() で参照するだけです。
     色・角丸・文字サイズを調整するときは base-custom14.css を編集してください。

   ■ なぜ base-custom14.css 本体に置かないか
     base-custom14.css は style_merged14.css の先頭で @import されるため、
     このファイルの旧ルール（約1200件）より先に読み込まれます。
     つまり base-custom14.css に書いた上書きは旧ルールに負けます。
     「後から勝つ必要がある指定」だけをここに置いています。
     （@import は CSS 仕様上ファイル先頭にしか書けないため、
       base-custom14.css を末尾で読み直すことはできません）

   ※ 元に戻す場合はこのブロック以降を削除、または _backup_* から復元。
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. 本文の行間・余白（common.css 準拠）
   ※ body / a / h1-h5 の基本指定は base-custom14.css 側にあります
   -------------------------------------------------------------------------- */
#contents p,
.accommodations-wrap p {
  line-height: 2;                        /* common.css p{line-height:2rem} 相当 */
  padding-bottom: 0px;
}
#contents li,
#contents dd,
.accommodations-wrap li,
.accommodations-wrap dd,
#yado-list li,
#yado-list dd { line-height: 1.9; }
#contents .items_table th,
#contents .items_table td,
#contents dl.faq dd { line-height: 1.9; }
/* カレンダーはセルがアスペクト比固定（td::before padding-top:135%）のため行間は触らない */

/* --------------------------------------------------------------------------
   2. 見出しサイズ（common.css の body.second .unitBox 準拠 / px で実寸固定）
   -------------------------------------------------------------------------- */
#contents h2,
.accommodations-wrap h2 { font-size: 30.4px; padding: 30px 0; letter-spacing: 0.05em; }
#contents h3,
.accommodations-wrap h3 { font-size: 18.7px; }
#contents h4,
.accommodations-wrap h4 { font-size: 16px; }
@media (max-width: 500px) {
  #contents h2, .accommodations-wrap h2 { font-size: 24px; }
  #contents h3, .accommodations-wrap h3 { font-size: 19.2px; }
  #contents h4, .accommodations-wrap h4 { font-size: 16px; }
}
@media (max-width: 400px) {
  #contents h2, .accommodations-wrap h2 { font-size: 19.2px; }
  #contents h3, .accommodations-wrap h3 { font-size: 17.6px; }
}

/* セクション見出し（ローカルのクラス見出し）に共通の色と余白リズムを与える */
#calender .block-title,
.color_title,
.parts-title,
.item-title,
.plan-img-title {
  color: var(--accent_color);
  font-weight: 600;
  letter-spacing: 0.05em;
  padding: 0;
}
#calender .block-title {
  background: var(--light_color);
  /* border-left: 4px solid var(--accent_color); */
  padding: 20px 24px;
  margin: 40px 0 20px;
}

/* --------------------------------------------------------------------------
   3. ボタン（common.css の a.button / a.buttonS / a.button3 準拠：角丸3px・ベタ塗り）
   詳細・一覧系＝グリーン / 予約・空室検索＝ゴールド で役割を統一
   -------------------------------------------------------------------------- */
a.detail_btn,
a.color_btn,
.color_btn_wrap a,
#calender .seconddetail .detail_btn,
.yado-list-plan dd dt span.en-pdetail-btn a {
  background-color: var(--orange_color);
  color: #fff;
  border: 1px solid var(--orange_color);
  border-radius: var(--radius);
  font-family: var(--btn_font);
  font-weight: bold;
  letter-spacing: 0.04em;
  text-decoration: none !important;
  transition: background-color 0.2s ease-out, color 0.2s ease-out;
}
a.detail_btn:hover,
a.color_btn:hover,
.color_btn_wrap a:hover,
#calender .seconddetail .detail_btn:hover,
.yado-list-plan dd dt span.en-pdetail-btn a:hover {
  background-color: var(--orange_color_dark);
  border-color: var(--orange_color_dark);
  color: #fff;
}

/* 主要アクション（予約・空室検索）はゴールド */
a.resv_btn,
#room-search .btn #room-search-btn,
#room-search2 .btn #room-search-btn2,
.room-search-btn,
input.room-search-btn {
  background-color: var(--orange_color) !important;
  border: 1px solid var(--orange_color) !important;
  color: #fff !important;
  border-radius: var(--radius) !important;
  font-family: var(--btn_font);
  font-weight: bold;
  letter-spacing: 0.04em;
  text-decoration: none !important;
  transition: background-color 0.2s ease-out;
}
a.resv_btn:hover,
#room-search .btn #room-search-btn:hover,
#room-search2 .btn #room-search-btn2:hover,
.room-search-btn:hover,
input.room-search-btn:hover {
  background-color: var(--orange_color_dark) !important;
  border-color: var(--orange_color_dark) !important;
}

.btn-clear > * {
  background: var(--back_color);
  color: var(--accent_color);
  border: 1px solid var(--line_color);
  border-radius: var(--radius);
}

/* --------------------------------------------------------------------------
   4. パネル・カード（白面＋細い暖色罫、角丸3px、やわらかい影）
   -------------------------------------------------------------------------- */

#calender .secondinfo-calenderpart-wrap .secondinfo {
  border: 1px solid var(--line_color);
  box-shadow: var(--shadow);
}
#calender .secondinfo-calenderpart-wrap .secondinfo .parts-title {
  background: var(--light_color);
  border-bottom: 1px solid var(--line_color);
}
#search-result {
  background: var(--light_color);
  /* border: 1px solid var(--line_color); */
  padding: 20px 24px;
  margin-bottom: 40px;

}

/* --------------------------------------------------------------------------
   5. テーブル（common.css の table.dataTable 準拠：点線罫＋ゆったり padding）
   ※ .yado-box dd table は元から padding:12px 10px で同等のため据え置き
   -------------------------------------------------------------------------- */
/* ↓ 13. で common.css の table.dataTable 準拠に置き換え */

/* --------------------------------------------------------------------------
   6. ラベル・タグ（common.css の .catLabel 準拠：緑ベタのピル）
   -------------------------------------------------------------------------- */
/* .cal-mark,
.mark-ari,
.selectedListitem {
  border-radius: var(--radius_pill);
} */
.selectedListitem {
  background: var(--accent_color);
  color: var(--bg_color);
}

/* --------------------------------------------------------------------------
   7. 余白リズム（セクション間をゆったり取る）
   -------------------------------------------------------------------------- */
body.second .unitBox { padding: 0 0 30px; }
#yado-list,
#singleyado_informationbox,
#calender,
#yado-qa { margin-bottom: 60px; }

.yado-box h4{padding: 0;}
@media (max-width: 767px) {
  #yado-list,
  #singleyado_informationbox,
  #calender,
  #yado-qa { margin-bottom: 40px; }

  body.en #yado-list,body.zh-tw #yado-list {
  margin-top: 40px;
}
}


/* --------------------------------------------------------------------------
   8. dt 見出しの装飾線と文字の重なりを解消
   .yado-list-plan > dt / .item-title には
     padding: 0 0 0.2em 1.59091em  ＋  ::before{width:1em; left:0} の装飾線
   という組み合わせが指定されているが、common.css 側の
     .unitBox dl dt { font-weight: bold; padding: 10px 0; }
   の方がセレクタ詳細度が高く（0,1,2 対 0,1,1）padding-left が 0 に潰される。
   その結果、左端の装飾線と見出し文字が同じ位置から始まり重なっていた。
   dt の場合だけ左余白を復元する（div の #enyado_info_title 等は元から無傷）。
   -------------------------------------------------------------------------- */
/* ↓ 12. で flex 方式に置き換えたため、ここでは指定しない */

/* --------------------------------------------------------------------------
   9. .yado-detail-link のタブボタン（施設情報／宿泊プラン／お部屋／空室カレンダー）
   ここだけ角丸 --radius_tab（50px）＋オレンジアクセントにする。
   他のボタン（.detail_btn 等）はグリーン・角丸 --radius のまま。
   -------------------------------------------------------------------------- */
.yado-detail-link li a,
#yado-info .yado-detail-link li a {
  background-color: var(--accent_color);
  color: #fff;
  border: 1px solid var(--accent_color);
  border-radius: var(--radius_tab);
  font-family: var(--btn_font);
  font-weight: bold;
  letter-spacing: 0.04em;
  text-decoration: none !important;
  transition: all .3s ease;
}

/* ホバー／現在表示中のタブ ＝ 白抜き＋オレンジ */
.yado-detail-link li a:hover,
#yado-info .yado-detail-link li a:hover,
.yado-info-page #yado-info .yado-detail-link li#yado-detail-link01 a,
.yado-info-plan #yado-info .yado-detail-link li#yado-detail-link02 a,
.yado-info-room #yado-info .yado-detail-link li#yado-detail-link03 a,
.yado-info-cal #yado-info .yado-detail-link li#yado-detail-link04 a {
  background: var(--back_color);
  color: var(--accent_color);
  border-color: var(--accent_color);
}

/* 一覧ページのSP表示は既存CSSが border を !important で指定しているため合わせる */
@media screen and (max-width: 959px) {
  #yado-list .yado-detail-link li a {
    border: solid 1px var(--accent_color) !important;
  }
}

/* --------------------------------------------------------------------------
   10. 表組み（お部屋情報の「収容人数」「詳細」など）の行位置を揃える
   ・th は vertical-align:top、td は middle と基準が食い違っていた
   ・td 内の <p> が本文用の行間と padding-bottom:20px を受け取り、
     th の行間と大きく差が出て、ラベルと値の文字上端が約10px ずれていた
   セル内の <p> は本文段落ではなく値の入れ物なので、本文用の指定を外す。
   -------------------------------------------------------------------------- */
#contents .room-list-info table th,
#contents .room-list-info table td,
#contents .items_table th,
#contents .items_table td {
  vertical-align: top;
  line-height: 1.9;
}
#contents .room-list-info table th > p,
#contents .room-list-info table td > p,
#contents .items_table th > p,
#contents .items_table td > p {
  line-height: inherit;
  padding: 0;
  margin: 0;
}
/* セル内に段落が複数あるときだけ間隔を空ける */
#contents .room-list-info table td > p + p,
#contents .items_table td > p + p {
  padding-top: .8em;
}

/* --------------------------------------------------------------------------
   11. 詳細系ページの見出し領域をカードの外に見せる
   #plan-detail / #yado-detail / #room-detail は .yado-box 自体に白背景があり、
   宿名・補足文・タブナビまで白カードの内側に入っていた。
   一覧系（#plan-list / #room-list / #cal-detail）では同じマークアップが
   地色の上に置かれており、扱いが揃っていなかった。
   タブナビは「カードの中身を切り替えるナビ」なのでカードの外が正しい。
   .yado-box の左右 padding をネガティブマージンで打ち消し、
   先頭の #yado-info だけ地色を全幅で敷いて一覧系と同じ見え方にする。
   -------------------------------------------------------------------------- */
#plan-detail #yado-info,
#yado-detail #yado-info,
#room-detail #yado-info {
  background: var(--bg_color);
  margin: -20px -30px 0;     /* .yado-box の padding: 20px 30px を打ち消す */
  padding: 20px 0;      /* 下は 0。タブ(float)と次の見出しの
                                margin-top:-2.1em による回り込みを崩さないため */
}
/* 見出し帯も同じ幅に合わせる（一覧系では .yado-box に padding が無く全幅のため） */
#plan-detail #enyado_info_title,
#yado-detail #enyado_info_title,
#room-detail #enyado_info_title {
  margin-left: -30px;
  margin-right: -30px;
}
@media only screen and (max-width: 959px) {
  #plan-detail #yado-info,
  #yado-detail #yado-info,
  #room-detail #yado-info {
    width: auto;             /* 既存の width:100% だと全幅に広がらないため */
    margin: -20px -10px 0;   /* SP は .yado-box の padding が 20px 10px */
    padding: 20px 0px 0;
  }
  #plan-detail #enyado_info_title,
  #yado-detail #enyado_info_title,
  #room-detail #enyado_info_title {
    margin-left: -10px;
    margin-right: -10px;
  }
}

/* --------------------------------------------------------------------------
   12. 見出しの装飾線を文字と同じ行に中央揃えで並べる
   ::before は position:absolute + top:0.9em で置かれていたため、
   文字との縦位置が合わず、左余白が無いと重なってもいた。
   flex の並びに変えて、線と文字を必ず同じ行の中央に揃える。
   （#enyado_info_title はタブナビの回り込みを使っているため対象外）
   -------------------------------------------------------------------------- */
#contents .yado-list-plan > dt,
#contents .item-title,
.accommodations-wrap .yado-list-plan > dt,
.accommodations-wrap .item-title {
  display: flex;
  align-items: center;
  gap: .7em;
  padding-left: 0;
}
#contents .yado-list-plan > dt::before,
#contents .item-title::before,
.accommodations-wrap .yado-list-plan > dt::before,
.accommodations-wrap .item-title::before {
  position: static;
  flex: 0 0 1em;
}

/* --------------------------------------------------------------------------
   13. 表組みを common.css の table.dataTable と同じ体裁にする
   参照: https://www.asocity-kanko.jp/hots/daikansou/ の <table class="dataTable">
     tr { border-bottom: 1px dotted #bbb } / th・td { padding: 20px }
   マークアップが <tr><th>ラベル</th><td>値</td></tr> で同型のためそのまま流用できる。
   -------------------------------------------------------------------------- */
#contents .items_table {
  width: 100%;
  margin-bottom: 40px;
}
#contents .items_table tr {
  border-bottom: 1px dotted var(--line_soft);
}
#contents .items_table th,
#contents .items_table td {
  padding: 10px;
  border-bottom: 0;
}
#contents .items_table th {
  font-weight: bold;
  color: var(--accent_color);
}
#contents .items_table th:first-child {
  padding-left: 0;   /* ラベル列はカード左端に揃える */
}

/* --------------------------------------------------------------------------
   14. dl の dd の余白を上下均等にする
   common.css の .unitBox dl dd { padding: 0 20px 20px } は下だけ 20px のため、
   本文が上に寄って下が空いて見えていた。
   -------------------------------------------------------------------------- */
#contents dl dd,
.accommodations-wrap dl dd {
  padding: 0px;   /* common.css は 0 20px 20px（下だけ 20px）*/
}
 body.en .accommodations-wrap dl dd , body.zh-tw .accommodations-wrap dl dd {
    padding: 0px; 
  }
  
@media only screen and (max-width: 959px) {
  #contents dl dd {
  padding: 0px;
  }
  .unitBox dl dd {
    padding: 0px;
  }
}


/* --------------------------------------------------------------------------
   15. チェックイン／チェックアウトはボタンではないので角丸にしない
   -------------------------------------------------------------------------- */
#yado-info3 .checkin,
#yado-info3 .checkout,
.yado-info-plan #plan-info .checkin,
.yado-info-plan #plan-info .checkout {
  border-radius: 0;
}

/* --------------------------------------------------------------------------
   16. shukuhaku_detail のページ内リンク（plan-subnavi）は白カードの外に置く
   白は plan-subnavi の下から始める。
   -------------------------------------------------------------------------- */
#plan-detail .plan-subnavi {
  background: var(--bg_color);
  margin-left: -30px;
  margin-right: -30px;
  margin-bottom: 0;
  padding-top: 30px;
  padding-left: 30px;
  padding-right: 30px;
  border-bottom: 30px solid var(--bg_color);
}
body.en #plan-detail .plan-subnavi a, body.zh-tw #plan-detail .plan-subnavi a {
  font-size: 16px;
}
@media only screen and (max-width: 959px) {
  #plan-detail .plan-subnavi {
    margin-left: -10px;
    margin-right: -10px;
    padding-left: 10px;
    padding-right: 10px;
  }
}

/* --------------------------------------------------------------------------
   17. セクション見出しと、その下の白いコンテンツ面との間隔
   見出し下の余白を「地色で塗った border」で作る。
   一覧系（.yado-box に背景なし）でも詳細系（.yado-box が白）でも同じ見え方になり、
   PC・SP でも同一。数値はここ1箇所で調整できる。
   -------------------------------------------------------------------------- */
#contents #enyado_info_title {
  margin-bottom: 30px;
  border-bottom: 30px solid var(--bg_color);
  padding-left: 0px;
}
@media only screen and (max-width: 959px) {
  #contents #enyado_info_title {
    border-bottom-width: 0px;
    margin-bottom: 10px;
  }
}

/* --------------------------------------------------------------------------
   18. room-subimg のサムネイルを画像本来のサイズで表示する
   既存CSSは .img を padding-bottom:100% で正方形に固定し、
   object-fit:contain で画像を内側に収めていたため、
   4:3 の画像では上下にグレー（rgba(0,0,0,0.025)）の帯が出ていた。
   枠の固定をやめ、画像の縦横比そのままで表示する。
   -------------------------------------------------------------------------- */
#contents .room-subimg .subimg .img {
  background: none;
  padding-bottom: 0;
  position: static;
  height: auto;
}
#contents .room-subimg .subimg .img img {
  position: static;
  width: 100%;
  height: auto;
  object-fit: fill;
  display: block;
}

/* --------------------------------------------------------------------------
   19. カレンダー左サイドバーのリストだけ行間の余白を詰める
   common.css の .unitBox ul li { margin-bottom: 15px } が効いていたため、
   選択リストの各行が離れすぎていた。
   -------------------------------------------------------------------------- */
#contents #calender .secondinfo ul li {
  margin-bottom: 0;
}

/* --------------------------------------------------------------------------
   20. ページ内アンカー（空室カレンダー／追加料金など）の動きを滑らかにする
   common.js が jQuery で $("html,body").animate({scrollTop:…},450,"swing")
   を実行している。そこに CSS の scroll-behavior:smooth が乗ると、
   animate が 1フレームごとに設定する scrollTop を
   ブラウザがさらにスムーズスクロールしようとして競合し、動きがぎこちなくなる。
   CSS 側のスムーズ指定を外すと、jQuery のアニメーションだけが素直に走る。
   -------------------------------------------------------------------------- */
html {
  scroll-behavior: auto;
}

/* --------------------------------------------------------------------------
   21. モーダル内のサムネイル枠のグレーも 18. と揃える
   （モーダルは iframe で別ページを読み込むため body.detail_modal で当たる）
   -------------------------------------------------------------------------- */
body.detail_modal .room-subimg .subimg .img {
  background: none;
  padding-bottom: 0;
  position: static;
  height: auto;
}
body.detail_modal .room-subimg .subimg .img img {
  position: static;
  width: 100%;
  height: auto;
  object-fit: fill;
  display: block;
}

/* --------------------------------------------------------------------------
   22. ヘッダーだけコンテナ幅をサイトTOPと同じ 1240px にする
   common.css は .inner を max-width:1240px と定義しているが、
     body.second .inner { max-width: 1100px }
   で下層ページだけ 1100px に絞られる。これはヘッダーの .inner にも効くため、
   ヘッダーがサイトTOP（body.second が付かない）より 140px 狭くなっていた。
   本文（#contents 側の .inner）は 1100px のまま据え置く。
   -------------------------------------------------------------------------- */
#headerWrapper #header .inner {
  max-width: 1240px;
}

/* --------------------------------------------------------------------------
   23. ヘッダー検索窓の文字サイズ
   #s は CSS の font-size 指定が無く、ブラウザのフォーム既定値 13.33px。
   これは既存サイトと同値だが、隣のナビ（15.36px）より小さく見えるため引き上げる。
   ★ 既存サイトより大きくなる。元に戻すならこのブロックを削除。
   -------------------------------------------------------------------------- */
#globalNavigation #headerSearch #s {
  font-size: 15px;
  padding: 7px 12px 7px 30px;
  font-family: Arial, Helvetica, sans-serif;
}

/* --------------------------------------------------------------------------
   25. モーダル本体（iframe で読み込まれる body.detail_modal のページ）
   ・font-family が sans-serif 固定でサイトの書体から外れていた
   ・common.css の body{width:100%} と padding:1em が content-box で加算され、
     横に約22px はみ出していた
   ・地色が出るとモーダル内に緑の帯が見えるため、面は白に統一する
   -------------------------------------------------------------------------- */
body.detail_modal {
  font-family: var(--font);
  box-sizing: border-box;
  background: var(--back_color);
}

/* --------------------------------------------------------------------------
   26. モーダルでは写真エリアの折りたたみを解除する
   通常ページの #plan-detail #plan-ph は max-height:600px + overflow:hidden で
   「続きを読む」ボタンにより展開する設計。
   モーダル用に解除する既存ルールが2点で機能していなかった：
     ・position: stati  … "static" のタイポで宣言が無効
     ・height: auto     … 効いているのは max-height なので解除にならない
   max-height を none にして中身を最後まで表示する。
   -------------------------------------------------------------------------- */
body.detail_modal #plan-detail #plan-ph {
  position: static;
  max-height: none;
  overflow: visible;
}

/* --------------------------------------------------------------------------
   27. モーダル内の文字サイズを通常のプラン詳細ページに揃える
   モーダル用に縮小する既存指定が効きすぎて、主見出しが本文(14.4px)より
   小さいなど破綻していたため、通常ページの実測値に合わせる。
     #plan-name      13.44px → 19.2px / 700
     .checkin/.out    8.64px → 12.48px
     .plan-img-title 10.56px → 14.4px / 600
   -------------------------------------------------------------------------- */
body.detail_modal .yado-info-plan #plan-info #plan-name {
  font-size: 19.2px;
  font-weight: 700;
}
body.detail_modal .yado-info-plan #plan-info .checkin,
body.detail_modal .yado-info-plan #plan-info .checkout,
body.detail_modal .yado-info-plan #plan-info .checkin span,
body.detail_modal .yado-info-plan #plan-info .checkout span {
  font-size: 12.48px;
  font-weight: 700;   /* 既存が font-weight:normal にしていたため戻す */
}
body.detail_modal #plan-ph .plan-img-title,
body.detail_modal .plan-img-title {
  font-size: 14.4px;
  font-weight: 600;
}
.room_detail_modal #room-detail .flex_box.flex_box_between .color_title{
  font-family: var(--font)!important;
}
.room_detail_modal #room-detail .flex_box.flex_box_between{
  align-items: flex-start;
}
.room_detail_modal #room-detail, .plan_detail_modal #plan-detail{
  padding: 0px 5px;
}

/* --------------------------------------------------------------------------
   29. お部屋詳細（#room-detail）の余白を一覧ページ寄りに詰める
   詳細ページはセクション間の余白が積み上がって間延びしていた。
     #singleyado_informationbox 下  60px → 40px
     .room-subimg 上（HTML内の <style> 由来）50px → 30px
     #calender .block-title 上      50px → 30px（下 30px → 20px）
   ヘッダー帯（.yado-box / #yado-info の padding 20px）は
   地色帯のネガティブマージンと対で成立しているため触らない。
   -------------------------------------------------------------------------- */
#room-detail #singleyado_informationbox {
  margin-bottom: 40px;
}
#room-detail .room-subimg {
  margin-top: 30px;
}
#room-detail #calender {
  margin-top: 20px;
}
#room-detail #calender .block-title {
  margin-top: 30px;
  margin-bottom: 20px;
}

/* --------------------------------------------------------------------------
   30. 施設情報ページの見出しにSPだけ左余白を入れる
   #plan-detail / #room-detail には既存CSSで padding-left:10px があるが、
   施設情報（#yado-detail.yado-info-page）だけ抜けていた。同じ形で揃える。
   ベースの #contents #enyado_info_title{padding-left:0} は ID2つ(2,0,0,0)。
   こちらは ID2つ＋クラス1つ(2,1,0,0)で詳細度が上回るため確実に効く。
   -------------------------------------------------------------------------- */
@media screen and (max-width: 959px) {
  #yado-detail.yado-info-page #enyado_info_title {
    padding-left: 10px;
  }
}

/* --------------------------------------------------------------------------
   31. 検索パネルの dd は本文用の余白を当てない（en/tc のはみ出し修正）
   14番で dl の dd に padding:12px 20px を入れたが、#search-result の dd は
   本文ではなくレイアウト用のコンテナ。日本語ページは common.css のリセットで
   box-sizing が効くため実害が出なかったが、common.css を読まない en/tc では
   width:100% + padding が content-box で加算され、横に 40px はみ出していた。
   -------------------------------------------------------------------------- */
#contents #search-result dl dd,
.accommodations-wrap #search-result dl dd,
#yado-list #search-result dl dd {
  padding: 0;
}
/* en/tc は common.css（リセット）を読まないため、この範囲だけ border-box を保証 */
.accommodations-wrap #search-result,
.accommodations-wrap #search-result * {
  box-sizing: border-box;
}
.plan_detail_modal #plan-detail #plan-info-inner{
  flex-direction: column;
}
.plan_detail_modal #plan-detail #plan-info-inner .checkin, .plan_detail_modal #plan-detail #plan-info-inner .checkout{
  width: 50%;
  background: var(--accent_color);
  color: var(--back_color);
  margin-bottom: 8px;
  border-radius: 0px;
}
@media only screen and (max-width: 768px) {
  .plan_detail_modal #plan-detail #plan-info-inner .checkin, .plan_detail_modal #plan-detail #plan-info-inner .checkout{
    width:95%;
}
}

.body.detail_modal .plan_detail_modal #plan-detail #plan-info-inner .checkin,.body.detail_modal .plan_detail_modal #plan-detail #plan-info-inner .checkout{
  width: 50%;
}

#children{
  font-family: var(--font);
  background: var(--back_color);
}
#children .resv_tit{
  background: var(--accent_color);
  padding: 0px;
}
#children table.fee_child_box th{
  border: none;
  background: var(--light_color);
}
#children table.fee_child_box{
  border: none;
}
#children table.fee_child_box th, #children table.fee_child_box td{
  border: none;
}

/* --------------------------------------------------------------------------
   32. SP：宿カード見出しでエリア表示と宿名が重なるのを解消（en/tc）
   .yado-list-area は position:absolute; top:15px。その高さが言語で変わり
   （日本語 15px / 英語 21px）、英語だけ h3 の文字位置(上から30px)に食い込んでいた。
   行間を固定して高さを言語非依存にし、h3 の上余白で確実にクリアさせる。
   -------------------------------------------------------------------------- */
@media only screen and (max-width: 959px) {
  .yado-list-area {
    line-height: 1.2;
  }
  /* .yado-list-box h3 a,
  .yado-list-box .list-item-header a {
    padding-top: 34px;
  } */
}

/* --------------------------------------------------------------------------
   33. SP：おすすめプランの dd が右に寄って窮屈になるのを解消
   カード右カラムは幅59%しかなく、そこへ左右20pxの本文用余白が入るため
   実際の文字幅が狭くなっていた。SPではこの余白を外して端まで使う。
   -------------------------------------------------------------------------- */
@media only screen and (max-width: 959px) {
  #contents .yado-list-plan > dd,
  .accommodations-wrap .yado-list-plan > dd,
  #yado-list .yado-list-plan > dd {
    padding-left: 0;
    padding-right: 0;
  }
}

/* --------------------------------------------------------------------------
   34. en / zh-tw の詳細ページ：SPで見出しが本文に重なるのを解消
   #enyado_info_title には margin-top:-2.1em（見出しをタブ行に食い込ませる指定）
   があり、SPでは .yado-info-plan / .yado-info-page などを条件に 0 へ戻される。
   ところが en / zh-tw の詳細ページはそのラッパークラスを持たないため
   リセットが当たらず、-52px のまま本文（.yado-text）に約42px重なっていた。
   body.en / body.zh-tw 限定なので日本語ページには影響しない。
   -------------------------------------------------------------------------- */
@media only screen and (max-width: 959px) {
  body.en .yado-box #enyado_info_title,
  body.zh-tw .yado-box #enyado_info_title {
    margin-top: 0;
    margin-bottom: 8px;  
  }
}

/* --------------------------------------------------------------------------
   35. en / zh-tw の各ページで SP の上余白を揃える
   .en/.zh-tw div#column-main の padding-top が 120px あり、SPでは空きすぎていた。
   #plan-list / #room-list / #yado-list.accommodations-wrap は ID 指定の既存ルールが
   勝つので SP は元から 0。残る詳細系（#yado-detail / #cal-detail / #room-detail /
   #plan-detail）だけ 120px が残っていたため、ここで揃える。
   PC（960px以上）は従来どおり 120px。日本語ページには影響しない。
   -------------------------------------------------------------------------- */
  body.en #calender .secondinfo-calenderpart-wrap .calenderheader #StayDateCal-wrapper::after,
  body.zh-tw #calender .secondinfo-calenderpart-wrap .calenderheader #StayDateCal-wrapper::after {
    content: "";
    position: absolute;
    top: 9px;
    right: 16px;
    width: 12px;
    height: 12px;
    border-right: 1px solid #333;
    border-bottom: 1px solid #333;
    transform: rotate(45deg);
  }
  body.en .yado-list-plan dd dt span.en-pdetail-btn a,
  body.zh-tw .yado-list-plan dd dt span.en-pdetail-btn a {
    font-size: 1.75rem;
  }
  @media only screen and (max-width: 959px) {
  body.en #yado-detail div#column-main,
  body.en #cal-detail div#column-main,
  body.en #room-detail div#column-main,
  body.en #plan-detail div#column-main,
  body.zh-tw #yado-detail div#column-main,
  body.zh-tw #cal-detail div#column-main,
  body.zh-tw #room-detail div#column-main,
  body.zh-tw #plan-detail div#column-main {
    padding-top: 0px;
  }
  body.en #yado-detail #yado-info,
  body.zh-tw #yado-detail #yado-info{
    padding: 0px;
  }
  body.en #yado-list .yado-list-box h3 a,
  body.zh-tw #yado-list .yado-list-box h3 a {
    padding: 42px 10px 18px;
  }
}

/* --------------------------------------------------------------------------
   36. en / zh-tw のお部屋詳細：中身が空の .room-subimg を畳んで
       items_table 下の余白をなくす
   .room-subimg は「部屋タイプ画像」の並び。日本語ページは .subimg（画像）が入るが、
   en / zh-tw は画像が未登録で <div>&nbsp;</div> のダミーだけが残り、
   margin-top:30px（SP）＋ダミーの行高ぶんが丸ごと空白になっていた。
   :has(.subimg) で「画像が1枚もない時だけ」畳むので、後から画像を登録すれば元に戻る。
   -------------------------------------------------------------------------- */
@media only screen and (max-width: 959px) {
  body.en #singleyado_informationbox .room-subimg:not(:has(.subimg)),
  body.zh-tw #singleyado_informationbox .room-subimg:not(:has(.subimg)) {
    display: none;
  }
}

/* --------------------------------------------------------------------------
   37. en / zh-tw のヘッダー・フッターの文字サイズを本番サイトに合わせる
   本番（https://www.asocity-kanko.jp/en/ , /zh-tw/）は theme.css しか読まないため
   root font-size はブラウザ既定の 16px。一方このページは予約システムの
   style_merged14.css も後から読み、そちらの html{font-size:70%(SP)/60%(PC)} が
   勝って root が 11.2px / 10px になる。theme.css は font-size を rem でしか
   指定していない（16箇所すべて rem・余白や幅は px）ので、ヘッダーとフッターの
   文字だけが本番の 6〜7割に縮んでいた。
   予約システム側のCSSも rem 前提なので root は触らず、ヘッダー・フッターだけ
   本番の実測値を px で固定する。em 指定（letter-spacing / line-height）は
   自身の font-size 基準なので自動的に本番と一致する。
   本番実測値（390 / 768 / 1200 / 1400px すべて同値、en・tc 共通）:
     .l-header / .l-footer 配下の継承 = 16px
     .l-nav__link = 19px / .p-lang summary = 18px / .l-footer__txt = 12px
   -------------------------------------------------------------------------- */
body.en .l-header,
body.en .l-footer,
body.zh-tw .l-header,
body.zh-tw .l-footer {
  font-size: 16px;
}

/* この3つは theme.css 側が @layer layout / component の中で !important 付きで
   指定している。CSS カスケードでは !important の場合だけレイヤーの優先順が逆転し、
   「レイヤー無しの !important」が最下位になるため、ここで普通に !important を
   書いても theme.css に勝てない。theme.css の宣言順
   （@layer foundation, layout, component, project, page, utilities）で
   最初＝!important 時に最強の foundation レイヤーに入れて上書きする。 */
body.en .p-lang summary,
body.zh-tw .p-lang summary {
  border-radius: 50px ;
}
  
  @layer foundation {
  body.en .l-nav__link,
  body.zh-tw .l-nav__link {
    font-size: 19px !important;
  }

  /* ドロップダウン（.l-nav__item-child）の中のリンクだけ小さくする。
     子リンクにも .l-nav__link が付いているので上の 19px を受け取ってしまう。
     詳細度 (0,3,1) で上の (0,2,1) を上回る。
     !important の場合はレイヤーの優先順が逆転し「レイヤー無しの !important」が
     最下位になるため、この指定も foundation レイヤーの中に置く必要がある。 */
  body.en .l-nav__item-child .l-nav__link,
  body.zh-tw .l-nav__item-child .l-nav__link {
    font-size: 15.9px !important;
  }

  /* SP：グローバルメニューの文字に影を付ける。
     theme.css は @layer layout で
       .l-header.smaller .l-nav__link { text-shadow: none !important }
     としており、スクロールして .smaller が付くと影が消える
     （実測：通常 rgba(0,0,0,.5) 2px 2px 3px → .smaller で none）。
     SPではメニューが緑の半透明パネルの上に開くため、影が無いと読みにくい。
     !important 同士ではレイヤーの優先順が逆転し、最初に宣言された
     foundation が最強になるので、この foundation ブロックの中で上書きする。 */
  @media only screen and (max-width: 959px) {
    body.en .l-nav__list,
    body.en .l-nav__list .l-nav__link,
    body.en .l-header.smaller .l-nav__list .l-nav__link,
    body.zh-tw .l-nav__list,
    body.zh-tw .l-nav__list .l-nav__link,
    body.zh-tw .l-header.smaller .l-nav__list .l-nav__link {
      text-shadow: 2px 2px 3px rgba(0, 0, 0, 0.5) !important;
    }
  }

  body.en .p-lang summary,
  body.zh-tw .p-lang summary {
    font-size: 18px !important;
  }

  body.en .l-footer__txt,
  body.zh-tw .l-footer__txt {
    font-size: 12px !important;
  }
}

/* --------------------------------------------------------------------------
   38. en / zh-tw の施設情報ページ（#yado-detail）で、宿名 h3 の位置を
       一覧系ページ（#plan-list など）と揃える【PCのみ】
   11. で #plan-detail / #yado-detail / #room-detail の #yado-info に
     margin: -20px -30px 0;  padding: 20px 0;
   を当てている。margin-top:-20px は .yado-box の padding-top:20px を打ち消すが、
   そのあと padding-top:20px が中身を再び 20px 押し下げるため、
   一覧系（.yado-box に padding 無し・#yado-info に padding 無し）より
   h3 が 20px 下がっていた。
     PC実測: rn_demo(#yado-detail) h3.top=200 / demo2(#plan-list) h3.top=180
             shukuhaku_detail(#plan-detail) 607 / shukuhaku(#plan-list) 587
   SPは 35. の body.en/.zh-tw #yado-detail #yado-info{padding:0} で既に揃っている
   （実測どちらも h3.top=70）ので、ここではPCだけを対象にする。
   左右のネガティブマージンによる全幅の地色帯は 11. のまま維持する。
   -------------------------------------------------------------------------- */
@media only screen and (min-width: 960px) {
  body.en #yado-detail #yado-info,
  body.zh-tw #yado-detail #yado-info {
    padding: 0;
    padding-bottom: 20px;
  }
}

/* ==========================================================================
   39. en / zh-tw の本文エリアを観光サイト（/en/ , /zh-tw/）のテイストに合わせる
   参考: https://www.asocity-kanko.jp/zh-tw/ , /zh-tw/experiences/
   参考サイトから実測したデザイントークン:
     背景 #fff / 本文 #353535 / 本文 16px・行間 1.55
     見出し .p-ttl-01 = 48px(PC) 32px(SP) / weight 900 / 下に 88x2px の下線（中央）
     小見出し .p-ttl-03 = 下罫線 1px #B5B5B5 + padding-bottom 20px
     文字サイズ段階(PC) 48 / 40 / 30 / 24 / 20 / 18 / 16 / 12 px
                  (SP) 32 / 30 / 26 / 24 / 20 / 18 / 16 / 12 px
     ボタン .p-btn-01 = 2px枠 + 塗り + radius 4〜8px + padding 10px 40px
   ・このページ群は root font-size が 10px(PC)/11.2px(SP) に上書きされていて
     rem が参考サイトと一致しないため、サイズはすべて px で指定する。
   ・予約システム側の既存CSSは同じ要素に多数の rem 指定を持ち詳細度もまちまちなので、
     本文サイズと色は #column-main 配下に限って !important で確定させる。
     （theme.css は @layer 内なのでヘッダー・フッターには影響しない）
   ・ヘッダー・フッター（.l-header / .l-footer）には一切手を入れない。
   ・ベースの緑 #00673b は据え置き、参考サイトの茶色ボタンの役割を緑が担う。
   ・地色は白。従来の薄緑パネルは #F2F0E9 に置き換える。
   ========================================================================== */

/* en は参考サイトと同じ欧文フォント Lato を使う（theme.css の
   --en-sans: "Lato", sans-serif 相当）。theme.css 側にも
   body.en{font-family:var(--en-sans)} があるが、あちらは @layer 内、
   base-custom14.css の body{font-family:var(--font)} はレイヤー無しで
   常に勝つため効いていなかった。トークン --font 自体を差し替えることで
   var(--font) を参照している既存ルールすべてに行き渡らせる。
   zh-tw は中国語グリフを持たないので対象外（現状のままにする）。 */
body.en {
  --font: "Lato", sans-serif;
  --h_font: "Lato", sans-serif;
  --btn_font: "Lato", sans-serif;
}

body.en,
body.zh-tw {
  --font_color: #353535;
  --text_color: #353535;
  --link_color: #353535;
  --bg_color: #fff;
  --light_color: #F2F0E9;
  --accent_color2: #F2F0E9;
  --radius: 4px;
  --radius_tab: 4px;
  --line_color: #B5B5B5;
  background: #fff;
}

/* --- letter-spacing は全部 0 -------------------------------------------
   theme.css（.l-footer__txt 0.04em など）と予約システム側（.item-title /
   .checkin / a など）の双方で字間が開いていたので、擬似要素まで含めて 0 に。
   theme.css は @layer 内なので、レイヤー無しのこの指定が無条件で勝つ。 */
body.en,
body.zh-tw,
body.en *,
body.zh-tw *,
body.en *::before,
body.en *::after,
body.zh-tw *::before,
body.zh-tw *::after {
  /* .yado-detail-link li a{letter-spacing:.04em} などは詳細度(0,1,2)で
     body.en *(0,1,1)に勝つため、!important で確定させる */
  letter-spacing: 0 !important;
}

/* --- 本文の既定：16px / 行間1.55 / #353535 ----------------------------- */
body.en #column-main,
body.zh-tw #column-main {
  color: #353535;
  font-size: 16px;
  line-height: 1.55;
}
body.en #column-main p,
body.en #column-main td,
body.en #column-main dd,
body.en #column-main li,
body.en #column-main div,
body.en #column-main span,
body.zh-tw #column-main p,
body.zh-tw #column-main td,
body.zh-tw #column-main dd,
body.zh-tw #column-main li,
body.zh-tw #column-main div,
body.zh-tw #column-main span {
  color: #353535;
  font-size: 16px;
  line-height: 1.55;
}
/* button はフォームコントロールなので font-size を継承せず、
   .price-table-plan-name の中のプラン名のように本文として置かれた button が
   本文サイズにならない。さらに
     #calender .seconddetail .text button { font-size: 1.2em }
     （SPでは clamp(0.9rem, 4vw, 1.2em) → 390pxで15.6px）
   が詳細度(1,2,2)で body.en #column-main button(1,1,2)に勝つため、
   button のサイズだけ !important で確定させる。
   塗りボタン（.color_btn / .bttn など）は後段のより詳細な !important が優先。 */
body.en #column-main button,
body.zh-tw #column-main button {
  color: #353535;
  line-height: 1.55;
  font-size: 16px !important;
}
body.en #column-main th,
body.en #column-main dt,
body.zh-tw #column-main th,
body.zh-tw #column-main dt {
  color: #353535;
  font-size: 16px;
  font-weight: 700;
}

/* --- 宿名（ページタイトル）= セクション見出しと同じ大きさ（text-size1） --- */
body.en #column-main #yado-name h3,
body.zh-tw #column-main #yado-name h3 {
  color: #353535 !important;
  font-size: 48px !important;
  font-weight: 900;
  line-height: 1.2;
}
body.en #column-main .yado-text,
body.zh-tw #column-main .yado-text {
  color: #353535 !important;
  font-size: 16px !important;
}

/* --- 宿名・説明文・タブをまとめた #yado-info の塊に #F2F0E9 の背景 -----
   11. で #plan-detail / #yado-detail / #room-detail の #yado-info には
   .yado-box の左右 padding を打ち消すネガティブマージンが入っていて全幅に
   なる。一覧系（#plan-list / #room-list）は .yado-box に padding が無く
   元から全幅なので、どちらも背景色を足すだけで帯になる。 */
/* ブラウザ幅いっぱいの帯にする。#column-main（max-width:1100px / width:92%）の
   中にある要素を左右いっぱいに広げるため、100vw にして
   margin-left/right: calc(50% - 50vw) で親の外へ引き出す。
   横方向の padding は calc(50vw - 50%) で、中身を元の列の左右位置に戻す
   （% は包含ブロックの幅基準）。
   100vw はスクロールバー幅を含むが、body{overflow-x:hidden} があるので
   横スクロールは出ない。
   11. の margin:-20px -30px 0 と 38. の padding:0 はここで上書きする。 */
body.en #column-main #yado-info,
body.zh-tw #column-main #yado-info {
  /* --band-reach : 帯の上端を現在位置から何px引き上げるか
       PC = ヘッダー高 58px + #column-main の padding-top 120px = 178px
            → 帯の上端がページ最上部(y=0)＝ヘッダーの後ろまで届く
       SP = 10px（#column-main の上の余白ぶんだけ）
            → 帯の上端はヘッダーのすぐ下で止まる
     --band-extra : 詳細系ページの .yado-box が持つ padding-top 20px のぶん
     --band-pad   : 帯の中の上下余白（この値ぶん h3 が下がる）
     padding-top を引き上げ量ぶん増やすので、宿名 h3 の位置は変わらない。 */
  --band-reach: 178px;
  --band-extra: 0px;
  --band-pad: 40px;
  background: #F2F0E9;
  box-sizing: border-box;
  width: 100vw;
  margin-top: calc(-1 * (var(--band-reach) + var(--band-extra)));
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding-top: calc(var(--band-reach) + var(--band-extra) + var(--band-pad));
  padding-right: calc(50vw - 50%);
  padding-bottom: var(--band-pad);
  padding-left: calc(50vw - 50%);
  /* 宿名・説明文・タブをまとめて中央揃え。
     以前は詳細系（#plan-detail / #yado-detail / #room-detail）だけに
     付けていたため、一覧系（#plan-list / #room-list）が左寄せのままで
     ページごとにタイトル部分の見え方が違っていた。ここに移して全ページ共通にする。 */
  text-align: center;
}
/* 詳細系は .yado-box に padding:20px 30px があり、その 20px ぶん余分に上げる */
body.en #plan-detail #yado-info,
body.en #yado-detail #yado-info,
body.en #room-detail #yado-info,
body.zh-tw #plan-detail #yado-info,
body.zh-tw #yado-detail #yado-info,
body.zh-tw #room-detail #yado-info {
  --band-extra: 20px;
}
@media only screen and (max-width: 959px) {
  body.en #column-main #yado-info,
  body.zh-tw #column-main #yado-info {
    --band-reach: 10px;
    --band-pad: 24px;
  }
}

/* --- セクション見出し = 参考の .p-ttl-01（大きく＋中央下線） ----------- */
/* 既存の .en .yado-info-page #enyado_info_title{margin-top:-3.1em}（見出しを
   タブの横まで引き上げる指定）は詳細度(1,2,0)で body.en #enyado_info_title(1,1,1)
   に勝つため、ページ種別クラスを含めた同形の詳細度で打ち消し、
   参考サイトと同じ「独立した行に中央寄せ」に戻す。 */
body.en .yado-info-page #enyado_info_title,
body.en .yado-info-plan #enyado_info_title,
body.en .yado-info-room #enyado_info_title,
body.en .yado-info-cal #enyado_info_title,
body.zh-tw .yado-info-page #enyado_info_title,
body.zh-tw .yado-info-plan #enyado_info_title,
body.zh-tw .yado-info-room #enyado_info_title,
body.zh-tw .yado-info-cal #enyado_info_title {
  margin-top: 40px;
}
body.en #column-main #enyado_info_title,
body.zh-tw #column-main #enyado_info_title {
  position: relative;
  clear: both;
  margin-bottom: 55px;
  padding-bottom: 40px;
  color: #353535 !important;
  font-size: 48px !important;
  font-weight: 900;
  line-height: 1.2;
  text-align: center;
}
body.en #column-main #enyado_info_title::before,
body.zh-tw #column-main #enyado_info_title::before {
  content: none;   /* 既存の装飾ダッシュは参考サイトに無い */
}
body.en #column-main #enyado_info_title::after,
body.zh-tw #column-main #enyado_info_title::after {
  content: "";
  display: block;
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  width: 88px;
  height: 2px;
  margin: auto;
  background-color: var(--accent_color);
}

/* --- 中見出し = 参考の text-size4 + .p-ttl-03 の下罫線 ----------------- */
body.en #column-main .item-title,
body.en #column-main .color_title,
body.en #column-main .block-title,
body.zh-tw #column-main .item-title,
body.zh-tw #column-main .color_title,
body.zh-tw #column-main .block-title {
  color: #353535 !important;
  font-size: 24px !important;
  font-weight: 800;
  line-height: 1.2;
  padding-bottom: 20px;
}

/* --- 小見出し = 参考の text-size5（カード内の宿名・プラン名・部屋名） --- */
body.en #column-main .item-name,
body.en #column-main .room-list-name,
body.en #column-main .plan-list-name,
body.en #column-main .parts-title,
body.zh-tw #column-main .item-name,
body.zh-tw #column-main .room-list-name,
body.zh-tw #column-main .plan-list-name,
body.zh-tw #column-main .parts-title {
  color: #353535 !important;
  font-size: 20px !important;
  font-weight: 800;
  line-height: 1.3;
}
body.en #column-main .item-name a,
body.en #column-main .room-list-name a,
body.en #column-main .plan-list-name a,
body.en #column-main .color_title a,
body.zh-tw #column-main .item-name a,
body.zh-tw #column-main .room-list-name a,
body.zh-tw #column-main .plan-list-name a,
body.zh-tw #column-main .color_title a {
  color: inherit !important;
  font-size: inherit !important;
  font-weight: inherit;
}

/* --- h4（部屋名・プラン名など）は 30px ---------------------------------
   直前の .item-name(20px) / .color_title(24px) は詳細度(1,2,1)なので、
   h4 を含めた (1,2,2) で上書きする。 */
body.en #column-main h4,
body.en #column-main h4.item-name,
body.en #column-main h4.color_title,
body.zh-tw #column-main h4,
body.zh-tw #column-main h4.item-name,
body.zh-tw #column-main h4.color_title{
  font-size: 20px !important;
}
body.en #column-main .room-list-name a,
body.zh-tw #column-main .room-list-name a {
  font-size: 30px !important;
}
@media only screen and (max-width: 959px) {
  body.en #column-main .room-list-name a,
  body.zh-tw #column-main .room-list-name a {
    font-size: 24px !important;
  }
}

/* --- ボタン = 参考の .p-btn-01 ---------------------------------------- */
body.en #column-main a.detail_btn,
body.en #column-main a.resv_btn,
body.en #column-main a.color_btn,
body.en #column-main .bttn,
body.en #column-main button.color_btn,
body.zh-tw #column-main a.detail_btn,
body.zh-tw #column-main a.resv_btn,
body.zh-tw #column-main a.color_btn,
body.zh-tw #column-main .bttn,
body.zh-tw #column-main button.color_btn {
  border: 2px solid var(--orange_color);
  background-color: var(--orange_color);
  border-radius: 4px;
  padding: 10px 31px;
  color: #fff;
  font-size: 18px !important;
  line-height: 1.4;
}
body.en #column-main a.detail_btn:hover,
body.en #column-main a.resv_btn:hover,
body.en #column-main a.color_btn:hover,
body.en #column-main .bttn:hover,
body.en #column-main button.color_btn:hover,
body.zh-tw #column-main a.detail_btn:hover,
body.zh-tw #column-main a.resv_btn:hover,
body.zh-tw #column-main a.color_btn:hover,
body.zh-tw #column-main .bttn:hover,
body.zh-tw #column-main button.color_btn:hover {
  border-color: var(--accent_color_dark);
  background-color: var(--accent_color_dark);
  color: #fff !important;
}
/* 塗りボタンの中の文字は白のまま（上の div/span 一括指定に負けないように） */
body.en #column-main a.detail_btn *,
body.en #column-main a.resv_btn *,
body.en #column-main a.color_btn *,
body.en #column-main .bttn *,
body.zh-tw #column-main a.detail_btn *,
body.zh-tw #column-main a.resv_btn *,
body.zh-tw #column-main a.color_btn *,
body.zh-tw #column-main .bttn * {
  color: #fff !important;
  font-size: inherit !important;
}

/* --- タブナビもボタン意匠に合わせる（ピル→角丸4px・2px枠） ------------
   SPでは同じ .yado-detail-link が画面下の固定バーになり、16pxだと項目名が
   折り返すため、文字サイズの変更はPCだけに限定する。 */

@media only screen and (min-width: 960px) {
  body.en #column-main .yado-detail-link li a,
  body.zh-tw #column-main .yado-detail-link li a {
    font-size: 18px;
    padding: 10px 24px;
  }
}

/* --- 緑塗りのチェックイン/アウト表示は中の文字まで白にする ------------- */
body.en #column-main .checkin,
body.en #column-main .checkout,
body.en #column-main .checkin *,
body.en #column-main .checkout *,
body.zh-tw #column-main .checkin,
body.zh-tw #column-main .checkout,
body.zh-tw #column-main .checkin *,
body.zh-tw #column-main .checkout * {
  color: #fff !important;
}

body.en h3.list-item-header a, body.zh-tw h3.list-item-header a{
    padding: 40px 24px 16px;
    font-size: 24px;
}

@media screen and (max-width: 959px) {
    body.en #yado-info .yado-detail-link li#stay-top a, body.en #yado-info .yado-detail-link li#yado-detail-link01 a, body.en #yado-info .yado-detail-link li#yado-detail-link02 a, body.en #yado-info .yado-detail-link li#yado-detail-link03 a, body.en #yado-info .yado-detail-link li#yado-detail-link04 a,
    body.zh-tw #yado-info .yado-detail-link li#stay-top a, body.zh-tw #yado-info .yado-detail-link li#yado-detail-link01 a, body.zh-tw #yado-info .yado-detail-link li#yado-detail-link02 a, body.zh-tw #yado-info .yado-detail-link li#yado-detail-link03 a, body.zh-tw #yado-info .yado-detail-link li#yado-detail-link04 a {
        font-size: 14px;
        word-spacing: 100vw;
    }
    body.en #yado-list .yado-detail-link #yado-detail-link02, #yado-list .yado-detail-link #yado-detail-link04 {
        word-spacing: 100vw;
        display: block;
    }
}

/* #headerWrapper{
  background-color: #edf1e4;
} */

/* --- SP は参考サイトの段階に合わせて縮める ---------------------------- */
@media only screen and (max-width: 959px) {
  /* SPの本文標準は 18px */
  body.en #column-main,
  body.zh-tw #column-main,
  body.en #column-main p,
  body.en #column-main td,
  body.en #column-main dd,
  body.en #column-main li,
  body.en #column-main div,
  body.en #column-main span,
  body.en #column-main th,
  body.en #column-main dt,
  body.zh-tw #column-main p,
  body.zh-tw #column-main td,
  body.zh-tw #column-main dd,
  body.zh-tw #column-main li,
  body.zh-tw #column-main div,
  body.zh-tw #column-main span,
  body.zh-tw #column-main th,
  body.zh-tw #column-main dt {
    font-size: 18px;
  }
  body.en #column-main button,
  body.zh-tw #column-main button {
    font-size: 18px !important;
  }
  body.en #column-main .yado-text,
  body.zh-tw #column-main .yado-text {
    font-size: 18px !important;
  }
  body.en #column-main #yado-name h3,
  body.zh-tw #column-main #yado-name h3 {
    font-size: 32px !important;
  }
  body.en #column-main h4,
  body.en #column-main h4.item-name,
  body.en #column-main h4.color_title,
  body.zh-tw #column-main h4,
  body.zh-tw #column-main h4.item-name,
  body.zh-tw #column-main h4.color_title {
    font-size: 24px !important;
  }
  body.en #column-main #enyado_info_title,
  body.zh-tw #column-main #enyado_info_title {
    font-size: 32px !important;
    margin-bottom: 30px;
    padding-bottom: 30px;
  }
  body.en #column-main .item-title,
  body.en #column-main .color_title,
  body.en #column-main .block-title,
  body.zh-tw #column-main .item-title,
  body.zh-tw #column-main .color_title,
  body.zh-tw #column-main .block-title {
    font-size: 24px !important;
    padding-bottom: 15px;
  }
  /* チェックイン/アウトの帯の SP レイアウトは 44. にまとめた */
}

/* --------------------------------------------------------------------------
   40. 温泉・宿ページヘッダー（#pageHeader.hots）の見出し文字と背景画像を差し替え
   元の指定は外部の common.css（asocity-kanko.jp/assets/css/common.css）にある:
     #pageHeader.hots .headerBG { background-image: url(../img/bg_hots.jpg); }
     #pageHeader.hots::after    { content: "hotspring"; }
   style_merged14.css は common.css より後に読み込まれるため、
   同じ詳細度のまま後勝ちで上書きできる。
   ※ url(../img/…) はこのファイル（/css/style_merged14.css）からの相対パスなので
     参照先は /img/bg_booking.png になる。
   -------------------------------------------------------------------------- */
#pageHeader.hots .headerBG {
  background-image: url("https://asocity.hi5.jp/img/14/bg_booking.png");
}

#pageHeader.hots::after {
  content: "Accommodations";
}

/* --------------------------------------------------------------------------
   41. en / zh-tw のヘッダー：最初（スクロール前）の背景を #F2F0E9 にする
   （#yado-info の帯や検索パネルと同じベージュ）
   theme.css の .l-header は背景なし（透明）で、スクロールすると
   navToggle が .smaller を付け、.l-header__bg（#fff / opacity .7）の高さが
   0% → 100% に伸びて白くなる、という作りになっている。
   ここでは .l-header 自体に #f6f7ee を敷いて初期状態だけ色を付け、
   .smaller が付いたら透明に戻す。こうするとスクロール後の見え方は
   従来どおり（下のコンテンツが透ける半透明の白）のまま変わらない。
   transition は theme.css の .l-header__bg と同じカーブ・時間に合わせる。
   -------------------------------------------------------------------------- */
body.en .l-header,
body.zh-tw .l-header {
  background-color: #F2F0E9;
  transition: background-color 0.4s cubic-bezier(0.8, 0, 0.2, 1);
}

body.en .l-header.smaller,
body.zh-tw .l-header.smaller {
  background-color: transparent;
}

/* SPは従来どおりの薄い緑。39. で --bg_color を #fff にする前は、
   .l-header が透明でページ地色 #edf1e4 が透けてこの色に見えていた。
   スクロール後に .smaller で透明へ戻る挙動はPCと同じ。 */
@media only screen and (max-width: 959px) {
  body.en .l-header,
  body.zh-tw .l-header {
    background-color: #edf1e4;
  }
}

/* --------------------------------------------------------------------------
   42. en / zh-tw ＋SPのみ：#yado7 の中の空室カレンダーの上に余白を入れる
   （#calender を持つのは en_2 のようなお部屋詳細ページ）
   -------------------------------------------------------------------------- */
@media only screen and (max-width: 959px) {
  body.en #yado7 #calender,
  body.zh-tw #yado7 #calender {
    margin-top: 55px;
  }
}

/* --------------------------------------------------------------------------
   43. en / zh-tw：カード内の見出しの大小関係を入れ替える
   .room-list-name h3（部屋名）/ .plan-list-name h3（プラン名）は、そのカードの
   主役の見出しなのに 1.8rem（PC で約17px）しか無く、カードの中の副項目である
   .item-name（h4／おすすめプラン名・部屋名）が 30px と、大小が逆になっていた。
   ページ内で重要な h3 を大きく、副項目の .item-name を小さくして順序を戻す。
   ※ .yado-info-room … .room-list-name h3 は詳細度(0,4,1)なので、
     id を含む (1,2,2) で確実に上書きする。
   -------------------------------------------------------------------------- */
body.en #column-main .room-list-name h3,
body.en #column-main .plan-list-name h3,
body.zh-tw #column-main .room-list-name h3,
body.zh-tw #column-main .plan-list-name h3 {
  font-size: 30px !important;
  font-weight: 800;
  line-height: 1.3;
  font-color: #353535;
}
body.en #column-main .room-list-name h3 a,
body.en #column-main .plan-list-name h3 a,
body.zh-tw #column-main .room-list-name h3 a,
body.zh-tw #column-main .plan-list-name h3 a {
  font-size: inherit !important;
  font-weight: inherit;
}
body.en #column-main .item-name,
body.en #column-main h4.item-name,
body.zh-tw #column-main .item-name,
body.zh-tw #column-main h4.item-name {
  font-size: 20px !important;
  font-weight: 800;
  line-height: 1.4;
}

@media only screen and (max-width: 959px) {
  body.en #column-main .room-list-name h3,
  body.en #column-main .plan-list-name h3,
  body.zh-tw #column-main .room-list-name h3,
  body.zh-tw #column-main .plan-list-name h3 {
    font-size: 24px !important;
  }
  body.en #column-main .item-name,
  body.en #column-main h4.item-name,
  body.zh-tw #column-main .item-name,
  body.zh-tw #column-main h4.item-name {
    font-size: 20px !important;
  }
}

/* --------------------------------------------------------------------------
   44. en / zh-tw：.item-title の装飾線（::before）と文字を SP でも同じ行に
   12. で .item-title を display:flex にして線と文字を並べているが、flex では
   「線」と「文字」が別々の flex アイテムになるため、SP の狭い幅で英語の長い
   見出し（例: Facility Information）が入りきらないと、文字ごと次の行へ
   折り返して線の下に落ちてしまう。
   SP では flex をやめ、元の作り（position:absolute の線＋左パディング）に
   戻す。この形なら文字が何行になっても線は必ず1行目の左に並ぶ。
   あわせて checkin / checkout の line-height:3em（＝高さ 3em 相当）の
   高さ指定を外し、パディングだけで高さが決まるようにする。
   -------------------------------------------------------------------------- */
body.en #column-main .checkin,
body.en #column-main .checkout,
body.zh-tw #column-main .checkin,
body.zh-tw #column-main .checkout {
  box-sizing: border-box;   /* PCの width:200px と 10px の間隔を保つ */
  height: auto;
  line-height: 1.5;
  padding: 8px 16px;
  font-size: 16px;
}

@media only screen and (max-width: 959px) {
  body.en #column-main .item-title,
  body.en #column-main .yado-list-plan > dt,
  body.zh-tw #column-main .item-title,
  body.zh-tw #column-main .yado-list-plan > dt {
    display: block;
    position: relative;
    padding-left: 1.7em;
    line-height: 1.4;
  }
  body.en #column-main .item-title::before,
  body.en #column-main .yado-list-plan > dt::before,
  body.zh-tw #column-main .item-title::before,
  body.zh-tw #column-main .yado-list-plan > dt::before {
    position: absolute;
    top: .7em;          /* line-height 1.4em の中央 */
    left: 0;
    width: 1em;
    height: 1px;
    margin: 0;
    flex: none;
  }
  /* 見出しの中に入っている checkin / checkout は見出し文字の下に流す。
     SPの幅では "Check-in: 16:00 ～" が2カラムに収まらず折り返すので、
     1行1枚の帯にして高さを内容ぶんだけにする。 */
  body.en #column-main #yado-info3 .checkin,
  body.en #column-main #yado-info3 .checkout,
  body.en #column-main .yado-info-plan #plan-info .checkin,
  body.en #column-main .yado-info-plan #plan-info .checkout,
  body.zh-tw #column-main #yado-info3 .checkin,
  body.zh-tw #column-main #yado-info3 .checkout,
  body.zh-tw #column-main .yado-info-plan #plan-info .checkin,
  body.zh-tw #column-main .yado-info-plan #plan-info .checkout {
    position: static;
    display: block;
    box-sizing: border-box;
    width: auto;
    margin: 10px 0 0;
    padding: 6px 12px;
    line-height: 1.5;
    font-size: 16px;
  }
    body.en #column-main #yado-info3 .checkin span,
    body.en #column-main #yado-info3 .checkout span,
    body.zh-tw #column-main #yado-info3 .checkin span,
  body.zh-tw #column-main #yado-info3 .checkout span {
      font-size: 16px;
    },

}

body.en #calender .seconddetail .text button.bttn.fee_children, body.zh-tw #calender .seconddetail .text button.bttn.fee_children {
  color: var(--accent_color);
}

/* --------------------------------------------------------------------------
   45. 外国語（en / zh-tw）のモーダルの中を 18px・モノクロにする
   モーダルは iframe で別ページを読み込む作りで、その body には
   detail_modal / plan_detail_modal（room_detail_modal）が付く。
   本番ではそこに言語クラスも付くので、
     body.en.detail_modal / body.zh-tw.detail_modal
   の複合クラスで「外国語 ＋ モーダル」を条件にする。
   色は :root のカスタムプロパティをこのモーダルの中だけ差し替えることで、
   var(--accent_color) などを参照している既存指定をまとめてモノクロにする。
   （写真とカレンダーの○×マーク画像は情報なのでグレースケールにしない）
   -------------------------------------------------------------------------- */
body.en.detail_modal,
body.zh-tw.detail_modal {
  /* --- 配色をモノクロに差し替え（緑 #00673b / 金 #9e782e → グレー） --- */
  --font_color: #353535;
  --text_color: #353535;
  --link_color: #353535;
  --accent_color: #353535;
  --accent_color_dark: #000;
  --orange_color: #555;
  --orange_color_dark: #333;
  --accent_color2: #f2f2f2;
  --light_color: #f2f2f2;
  --light_color2: rgba(0, 0, 0, 0.15);
  --back_color: #fff;
  --bg_color: #fff;
  --line_color: #ddd;
  --line_soft: #bbb;
  --ttl-color: #353535;

  color: #353535;
  background: #fff;
  font-size: 18px;
}

/* --- 本文は 18px ------------------------------------------------------- */
body.en.detail_modal p,
body.zh-tw.detail_modal p,
body.en.detail_modal td,
body.zh-tw.detail_modal td,
body.en.detail_modal th,
body.zh-tw.detail_modal th,
body.en.detail_modal dt,
body.zh-tw.detail_modal dt,
body.en.detail_modal dd,
body.zh-tw.detail_modal dd,
body.en.detail_modal li,
body.zh-tw.detail_modal li,
body.en.detail_modal div,
body.zh-tw.detail_modal div,
body.en.detail_modal span,
body.zh-tw.detail_modal span,
body.en.detail_modal a,
body.zh-tw.detail_modal a,
body.en.detail_modal b,
body.zh-tw.detail_modal b {
  color: #353535;
  font-size: 18px;
  line-height: 1.6;
}
/* button は font-size を継承しないので個別に指定する（27. と同じ理由） */
body.en.detail_modal button,
body.zh-tw.detail_modal button {
  color: #353535;
  font-size: 18px !important;
}

/* --- 太字・大きい見出しは 18px より大きく ------------------------------ */
/* モーダルの主タイトル（プラン名・部屋名）＝ 22px */
body.en.detail_modal #plan-info-inner #plan-name,
body.zh-tw.detail_modal #plan-info-inner #plan-name,
body.en.detail_modal .yado-info-plan #plan-info #plan-name,
body.zh-tw.detail_modal .yado-info-plan #plan-info #plan-name,
body.en.detail_modal #room-detail #yado-name h3,
body.zh-tw.detail_modal #room-detail #yado-name h3 {
  color: #353535 !important;
  font-size: 22px !important;
  font-weight: 700;
  line-height: 1.35;
}
/* 中見出し（セクション見出し・画像キャプション見出しなど）＝ 20px */
body.en.detail_modal h3,
body.zh-tw.detail_modal h3,
body.en.detail_modal h4,
body.zh-tw.detail_modal h4,
body.en.detail_modal h5,
body.zh-tw.detail_modal h5,
body.en.detail_modal .color_title,
body.zh-tw.detail_modal .color_title,
body.en.detail_modal .item-title,
body.zh-tw.detail_modal .item-title,
body.en.detail_modal .block-title,
body.zh-tw.detail_modal .block-title,
body.en.detail_modal .parts-title,
body.zh-tw.detail_modal .parts-title,
body.en.detail_modal .plan-img-title,
body.zh-tw.detail_modal .plan-img-title,
body.en.detail_modal #enyado_info_title,
body.zh-tw.detail_modal #enyado_info_title {
  color: #353535 !important;
  font-size: 20px !important;
  font-weight: 700;
  line-height: 1.4;
}body.en.detail_modal h3 a,
body.zh-tw.detail_modal h3 a,
body.en.detail_modal h4 a,
body.zh-tw.detail_modal h4 a,
body.en.detail_modal h5 a,
body.zh-tw.detail_modal h5 a,
body.en.detail_modal .color_title a,
body.zh-tw.detail_modal .color_title a {
  color: inherit !important;
  font-size: inherit !important;
}
/* .plan-img-title の中の <p> も見出し扱い（マークアップが p 入れ子のため） */
body.en.detail_modal .plan-img-title p,
body.zh-tw.detail_modal .plan-img-title p {
  font-size: 20px;
  font-weight: 700;
}

/* --- チェックイン／アウトの帯もモノクロ・18px -------------------------- */
body.en.detail_modal .checkin,
body.zh-tw.detail_modal .checkin,
body.en.detail_modal .checkout,
body.zh-tw.detail_modal .checkout,
body.en.detail_modal .checkin span,
body.zh-tw.detail_modal .checkin span,
body.en.detail_modal .checkout span,
body.zh-tw.detail_modal .checkout span,
body.en.detail_modal .checkin div,
body.zh-tw.detail_modal .checkin div,
body.en.detail_modal .checkout div,
body.zh-tw.detail_modal .checkout div {
  /* 27. の body.detail_modal .yado-info-plan #plan-info .checkin{12.48px} が
     id を含む詳細度(1,3,1)で勝つため !important で確定させる */
  font-size: 18px !important;
  font-weight: 700;
}body.en.detail_modal .checkin,
body.zh-tw.detail_modal .checkin,
body.en.detail_modal .checkout,
body.zh-tw.detail_modal .checkout {
  background: #353535;
  color: #fff;
}body.en.detail_modal .checkin span,
body.zh-tw.detail_modal .checkin span,
body.en.detail_modal .checkout span,
body.zh-tw.detail_modal .checkout span,
body.en.detail_modal .checkin div,
body.zh-tw.detail_modal .checkin div,
body.en.detail_modal .checkout div,
body.zh-tw.detail_modal .checkout div {
  color: #fff;
}
/* dd の赤文字（#bf0000）もモノクロに寄せる */
body.en.detail_modal .checkin dd,
body.zh-tw.detail_modal .checkin dd,
body.en.detail_modal .checkout dd,
body.zh-tw.detail_modal .checkout dd {
  color: inherit;
}

/* --- var() を使っていない直書きの色（緑の罫・薄緑の地）もモノクロに ---- */
body.en.detail_modal #calender .calenderbody table thead,
body.zh-tw.detail_modal #calender .calenderbody table thead,
body.en.detail_modal #calender .calenderbody table td.cal-today,
body.zh-tw.detail_modal #calender .calenderbody table td.cal-today {
  background: #f2f2f2;
}body.en.detail_modal #calender .calenderbody table thead,
body.zh-tw.detail_modal #calender .calenderbody table thead,
body.en.detail_modal #calender .calenderbody table td,
body.zh-tw.detail_modal #calender .calenderbody table td,
body.en.detail_modal #calender .calenderbody table td + td,
body.zh-tw.detail_modal #calender .calenderbody table td + td {
  border-color: #ddd;
}body.en.detail_modal .room-subimg .subimg .img,
body.zh-tw.detail_modal .room-subimg .subimg .img {
  background: rgba(0, 0, 0, 0.04);
}

/* --------------------------------------------------------------------------
   46. 外国語（en / zh-tw）の空室カレンダーの中身は 14px
   39. で本文を 16px（SPは18px）にしたぶんがカレンダーのセルにも効いて、
   日付＋料金＋マークがセルの高さ（.no-link の min-height:100px）から
   はみ出していた。カレンダー表の中だけ 14px に落として収める。
   ページ内のカレンダーとモーダル内のカレンダーの両方を対象にする。
   -------------------------------------------------------------------------- */
body.en #column-main #calender .calenderbody,
body.en #column-main #calender .calenderbody th,
body.en #column-main #calender .calenderbody td,
body.en #column-main #calender .calenderbody div,
body.en #column-main #calender .calenderbody span,
body.en #column-main #calender .calenderbody a,
body.en #column-main #calender .calenderbody b,
body.en #column-main #calender .calenderbody p,
body.zh-tw #column-main #calender .calenderbody,
body.zh-tw #column-main #calender .calenderbody th,
body.zh-tw #column-main #calender .calenderbody td,
body.zh-tw #column-main #calender .calenderbody div,
body.zh-tw #column-main #calender .calenderbody span,
body.zh-tw #column-main #calender .calenderbody a,
body.zh-tw #column-main #calender .calenderbody b,
body.zh-tw #column-main #calender .calenderbody p{
  font-size: 14px !important;
  line-height: 1.4;
}

/* セレクタ末尾の余分なカンマでルール全体が無効になっていたので直した。
   ただし #children のページは style_merged14.css を読まないので、
   実際に効かせるための同等指定は css/resv14.css 側にも置いてある。 */
body.en#children table.fee_child_box th,
body.zh-tw#children table.fee_child_box th {
  background: var(--light_color);
}
/* 外国語の #children の表は 18px（resv14.css と同内容。本番でこのファイルが
   読まれる場合にも効くように両方に置く） */
body.en#children table.fee_child_box,
body.en#children table.fee_child_box th,
body.en#children table.fee_child_box td,
body.zh-tw#children table.fee_child_box,
body.zh-tw#children table.fee_child_box th,
body.zh-tw#children table.fee_child_box td {
  font-size: 18px;
  color: #353535;
}

/* --------------------------------------------------------------------------
   47. 外国語（en / zh-tw）のお部屋詳細：スペック表（.items_table）を 18px
   .room_detail_modal … というセレクタでは当たらない。
   お部屋詳細は body に付くのが .en / .zh-tw だけで（en_2.html を参照）、
   .room_detail_modal（＝日本語のモーダル専用テンプレートの body class）は
   外国語ページには存在しないため。
   また #room-detail は #column-main の「親」なので、
   #column-main #room-detail … の順で書いても当たらない。
   PCだけ 16px（39. の body.en #column-main th / td）のままだったので 18px に
   揃える。SPは 39. の SP 指定で既に 18px。
   詳細度は body.en #column-main th …(1,1,1) に対して (2,4,2) なので
   !important は不要。
   -------------------------------------------------------------------------- */
body.en #room-detail #column-main .flex_box.flex_box_between .items_table th,
body.en #room-detail #column-main .flex_box.flex_box_between .items_table td,
body.en #room-detail #column-main .flex_box.flex_box_between .items_table th p,
body.en #room-detail #column-main .flex_box.flex_box_between .items_table td p,
body.zh-tw #room-detail #column-main .flex_box.flex_box_between .items_table th,
body.zh-tw #room-detail #column-main .flex_box.flex_box_between .items_table td,
body.zh-tw #room-detail #column-main .flex_box.flex_box_between .items_table th p,
body.zh-tw #room-detail #column-main .flex_box.flex_box_between .items_table td p {
  font-size: 18px;
}

/* モーダル側（本番では body に .room_detail_modal が付く）。
   モーダルの body には .en / .zh-tw が付かないことがあるため、
   言語は <html lang> で判定する（45. と同じ条件）。
   body 自身に .en / .zh-tw も付く構成でも当たるよう、両形を並べる。
   詳細度 (1,6,2) なので、SPの #singleyado_informationbox .items_table th
   (1,1,1) や 39. の body.en #column-main th (1,1,1) には確実に勝つ。 */
.room_detail_modal #room-detail .flex_box.flex_box_between .items_table th,.room_detail_modal #room-detail .flex_box.flex_box_between .items_table td{
  font-size: 14.4px;
}

body.en.room_detail_modal #room-detail .flex_box.flex_box_between .items_table th,
body.en.room_detail_modal #room-detail .flex_box.flex_box_between .items_table td,
body.en.room_detail_modal #room-detail .flex_box.flex_box_between .items_table th p,
body.en.room_detail_modal #room-detail .flex_box.flex_box_between .items_table td p,
body.zh-tw.room_detail_modal #room-detail .flex_box.flex_box_between .items_table th,
body.zh-tw.room_detail_modal #room-detail .flex_box.flex_box_between .items_table td,
body.zh-tw.room_detail_modal #room-detail .flex_box.flex_box_between .items_table th p,
body.zh-tw.room_detail_modal #room-detail .flex_box.flex_box_between .items_table td p {
  font-size: 18px;
}


/* --------------------------------------------------------------------------
   48. 外国語モーダルの checkin / checkout を他ページと同じ体裁にそろえる
   崩れていた原因は2つ。
     ・resv.css の
         .plan_detail_modal #plan-detail #plan-info-inner .checkin/.checkout
         { border-radius: 9999px }            ← 詳細度 (2,3,0)
       が効いて左右が丸い帯になっていた。15.（角丸を外す指定）は
       #yado-info3 .checkin …(1,1,0) 止まりで、こちらに勝てていない。
     ・45. のモノクロ化で背景が #353535 になり、さらに2本の帯が
       上下に隙間なく並ぶため、ひとつながりの塊に見えていた。
   他ページ（#yado-info3 .checkin）と同じ「緑ベタ・角R無し・白文字」に戻し、
   18px に固定したうえで、2本が地続きに見えないよう下に隙間を入れる。
   緑は base-custom14.css の --accent_color と同じ #00673b。45. がモーダル内で
   --accent_color をグレーに差し替えているため、ここは実値で指定する。
   詳細度は #yado-info3 .checkin(1,1,0) や resv.css(2,3,0) を確実に上回る必要が
   あり、要素ごとに経路が違う（#plan-info-inner / #yado-info3）ので !important で
   確定させる。
   -------------------------------------------------------------------------- */
body.en.plan_detail_modal .checkin,
body.en .plan_detail_modal .checkin,
body.en.plan_detail_modal .checkout,
body.en .plan_detail_modal .checkout,
body.en.room_detail_modal .checkin,
body.en .room_detail_modal .checkin,
body.en.room_detail_modal .checkout,
body.en .room_detail_modal .checkout,
body.zh-tw.plan_detail_modal .checkin,
body.zh-tw .plan_detail_modal .checkin,
body.zh-tw.plan_detail_modal .checkout,
body.zh-tw .plan_detail_modal .checkout,
body.zh-tw.room_detail_modal .checkin,
body.zh-tw .room_detail_modal .checkin,
body.zh-tw.room_detail_modal .checkout,
body.zh-tw .room_detail_modal .checkout {
  background: #00673b !important;
  color: #fff !important;
  border-radius: 0 !important;
  font-size: 18px !important;
  /* 既存の margin ショートハンド（body.detail_modal #plan-info-inner .checkin
     { margin: 0 .5em }）が margin-bottom を 0 に戻すので !important で確定 */
  margin-bottom: 8px !important;
}
/* 中の <div class="checkin_title"> と <span> も白・18px に揃える */
body.en.plan_detail_modal .checkin *,
body.en .plan_detail_modal .checkin *,
body.en.plan_detail_modal .checkout *,
body.en .plan_detail_modal .checkout *,
body.en.room_detail_modal .checkin *,
body.en .room_detail_modal .checkin *,
body.en.room_detail_modal .checkout *,
body.en .room_detail_modal .checkout *,
body.zh-tw.plan_detail_modal .checkin *,
body.zh-tw .plan_detail_modal .checkin *,
body.zh-tw.plan_detail_modal .checkout *,
body.zh-tw .plan_detail_modal .checkout *,
body.zh-tw.room_detail_modal .checkin *,
body.zh-tw .room_detail_modal .checkin *,
body.zh-tw.room_detail_modal .checkout *,
body.zh-tw .room_detail_modal .checkout * {
  color: #fff !important;
  font-size: 18px !important;
}

/* --------------------------------------------------------------------------
   49. 外国語（en / zh-tw）：カレンダーの各段の高さをそろえ、文字のはみ出しを直す
   原因は2つ。
   (1) セルはアスペクト比固定で、td::before{padding-top:100%（1150px以下は135%）}
       というスペーサーだけが高さを作り、日付や料金を入れている a / .no-link は
       position:absolute + height:100% で「乗っているだけ」。
       そのため中身が入りきらなくてもセルは高くならず、文字がはみ出す。
       実測（390px 幅）：セルの高さ 68px に対して中身は 88px 必要。
   (2) 1段目と最終段にある .non-month（&nbsp; だけの空セル）は、スペーサーの
       下にもう1行ぶんの行ボックスを作るため、その段だけ約1行ぶん高くなる。
       実測：1段目 87px / 2段目以降 68px（PCでは 138px / 118px）。
   スペーサーをやめて中身の高さでセルを決め、空セルの行ボックスを消す。
   どの段も中身は「日付＋ASK＋料金」で同じなので、これで全段が同じ高さになり、
   中身が増えてもセルが伸びるためはみ出さない。
   min-height は元の .no-link に付いていた 100px をそのまま床として使う。
   -------------------------------------------------------------------------- */
body.en #column-main #calender .calenderbody table td::before,
body.zh-tw #column-main #calender .calenderbody table td::before {
  display: none;
}
body.en #column-main #calender .calenderbody table td a,
body.en #column-main #calender .calenderbody table td .no-link,
body.zh-tw #column-main #calender .calenderbody table td a,
body.zh-tw #column-main #calender .calenderbody table td .no-link {
  position: static;
  height: auto;
  min-height: 100px;
}
/* &nbsp; だけの空セルは行ボックスを作らせない（この段だけ高くなるのを防ぐ） */
body.en #column-main #calender .calenderbody table td.non-month,
body.zh-tw #column-main #calender .calenderbody table td.non-month {
  font-size: 0;
  line-height: 0;
}

/* --------------------------------------------------------------------------
   50. SP：アコーディオンのボタンが .accordion__wrap の中身に重なるのを直す
   「もっと見る」ボタン（.accordion-btn-jp / -en / -tc）は
     position: absolute; bottom: 0
   で dd の下端に置かれ、dd 側は
     .yado-list-plan > dd { padding-bottom: 55px }（SPは 45px）
   でその場所を空ける、という作りになっている。
   ところが 14. で入れた
     #contents dl dd, .accommodations-wrap dl dd { padding: 0 }
   が後から効いて、この padding-bottom ごと消してしまうため、
   ボタンが .accordion__wrap の中身の上に乗ってしまっていた。
   実測（390px 幅）：dd の padding-bottom = 0、ボタンの高さ 48px、
   .accordion__wrap との重なり 48px。
   ボタンの高さ（48px）＋間隔（16px）ぶんを確保し直す。
   絶対配置の基準は dd のパディングボックスなので、padding-bottom を戻すと
   ボタンはその余白の中に収まり、中身との間に 16px の隙間ができる。
   -------------------------------------------------------------------------- */
@media only screen and (max-width: 959px) {
  .accordion__wrap{
    padding-bottom: 64px;
  }
}

/* --------------------------------------------------------------------------
   51. SP：#yado-detail-link04 の 0.9rem を日本語だけに効かせる
   既存の
     .yado-detail-link ul #yado-detail-link04 a { font-size: 0.9rem }（1,1,2）
   は、後ろにある
     #room-list .yado-detail-link ul li a … { font-size: 3vw }（1,1,3）
   に詳細度で負けて効いていなかった（日本語 390px で実測 11.7px＝3vw）。
   日本語だけ詳細度を上げて 0.9rem を通す。
   英語・繁体字は #yado-list .yado-detail-link li a{0.85em} などが効いている
   現状のままにしたいので、body:not(.en):not(.zh-tw) で日本語に限定する。
   （日本語ページの body には言語クラスが付かないため、
     「en でも zh-tw でもない＝日本語」で判定する）
   詳細度は (1,3,4) で、負けていた #room-list … ul li a (1,1,3) を上回る。
   TOPページ（宿一覧＝#yado-list）だけは対象外にする。
   :not(#yado-list li) で「#yado-list の中の li ではない」ことを条件に加える。 */
@media only screen and (max-width: 959px) {
  body:not(.en):not(.zh-tw) .yado-detail-link ul li#yado-detail-link04:not(#yado-list li) a {
    font-size: clamp(0.8rem, 2.5vw, 2rem);
  }
}
