@charset "UTF-8";
/* ========================================
  会社概要ページ MV
======================================== */
.subHero__ttlBox.company {
  max-width: 212px;
  width: 100%;
}
@media (min-width: 768px) {
  .subHero__ttlBox.company {
    max-width: 273px;
  }
}
.subHero__ttlBox.contact {
  max-width: 293px;
  width: 100%;
}
@media (min-width: 768px) {
  .subHero__ttlBox.contact {
    max-width: 376px;
  }
}
.subHero__ttlBox.group {
  max-width: 289px;
  width: 100%;
}
@media (min-width: 768px) {
  .subHero__ttlBox.group {
    max-width: 370px;
  }
}
.subHero__ttlBox.privacypolicy {
  max-width: 442px;
  width: 100%;
}
@media (min-width: 768px) {
  .subHero__ttlBox.privacypolicy {
    max-width: 567px;
  }
}
.subHero__ttlBox.capsuleRoom {
  max-width: 537px;
  width: 100%;
}
@media (min-width: 768px) {
  .subHero__ttlBox.capsuleRoom {
    max-width: 672px;
  }
}
.subHero__ttlBox.features {
  max-width: 422px;
  width: 100%;
}
@media (min-width: 768px) {
  .subHero__ttlBox.features {
    max-width: 527px;
  }
}
.subHero__ttlBox.conferenceRoom {
  max-width: 337px;
}
@media (min-width: 768px) {
  .subHero__ttlBox.conferenceRoom {
    max-width: 422px;
  }
}
.subHero__ttlBox.access {
  max-width: 436px;
  width: 100%;
}
@media (min-width: 768px) {
  .subHero__ttlBox.access {
    max-width: 546px;
  }
}
.subHero__ttlBox.experience {
  max-width: 422px;
  width: 100%;
}
@media (min-width: 768px) {
  .subHero__ttlBox.experience {
    max-width: 527px;
  }
}
.subHero__ttlBox.sports {
  max-width: 422px;
  width: 100%;
}
@media (min-width: 768px) {
  .subHero__ttlBox.sports {
    max-width: 527px;
  }
}
.subHero__ttlBox.room {
  max-width: 295px;
  width: 100%;
}
@media (min-width: 768px) {
  .subHero__ttlBox.room {
    max-width: 369px;
  }
}
.subHero__ttlBox.facilities {
  max-width: 295px;
  width: 100%;
}
@media (min-width: 768px) {
  .subHero__ttlBox.facilities {
    max-width: 369px;
  }
}
.subHero__ttlBox.dining {
  max-width: 174.4px;
  width: 100%;
}
@media (min-width: 768px) {
  .subHero__ttlBox.dining {
    max-width: 218px;
  }
}
.subHero__ttlBox.recruit {
  max-width: 229px;
  width: 100%;
}
@media (min-width: 768px) {
  .subHero__ttlBox.recruit {
    max-width: 286px;
  }
}
.subHero__ttlBox.saunaspa {
  max-width: 422px;
  width: 100%;
}
@media (min-width: 768px) {
  .subHero__ttlBox.saunaspa {
    max-width: 528px;
  }
}

/* ========================================
  会社概要セクション
======================================== */
.companyInfo #sub03 {
  max-width: 1072px;
  margin-inline: auto;
  padding-top: 1em;
}

.companyInfo__body {
  max-width: 966px;
  width: 100%;
  margin-inline: auto;
}

.companyInfo__table {
  max-width: 543px;
  width: 100%;
  margin-inline: auto;
}

.companyInfo__row {
  display: flex;
  flex-direction: column;
  gap: 1em;
  border-bottom: 1px solid #E6E6E6;
  padding-block: 2em 1.5em;
  padding-inline: 11.78%;
}
@media (min-width: 768px) {
  .companyInfo__row {
    flex-direction: row;
    align-items: flex-start;
    gap: 2em;
  }
}
.companyInfo__row:last-child {
  padding-bottom: 2em;
  border-bottom: none;
}
@media (min-width: 768px) {
  .companyInfo__row:last-child {
    border-bottom: 1px solid #E6E6E6;
  }
}

@media (min-width: 768px) {
  .companyInfo__label {
    width: 70px;
    flex-shrink: 0;
  }
}

.companyInfo__value > p + p {
  margin-top: 1em;
}

/* ========================================
  沿革セクション
======================================== */
.companyHistory #sub04 {
  border-top: 1px solid #CCCCCC;
  max-width: 1072px;
  margin-inline: auto;
}

.companyHistory__inner {
  max-width: 782px;
  width: 100%;
  margin-inline: auto;
}

.companyHistory__table {
  width: 100%;
  margin-inline: auto;
}

.companyHistory__row {
  display: flex;
  flex-direction: column;
  gap: 0.5em;
}
@media (min-width: 768px) {
  .companyHistory__row {
    flex-direction: row;
    align-items: flex-start;
    gap: 2em;
  }
}
.companyHistory__row + .companyHistory__row {
  margin-top: 1.5em;
}
@media (min-width: 768px) {
  .companyHistory__row + .companyHistory__row {
    margin-top: 0.8em;
  }
}

.companyHistory__date {
  white-space: nowrap;
}
@media (min-width: 768px) {
  .companyHistory__date {
    width: 90px;
    flex-shrink: 0;
  }
}

.companyHistory__linkWrap {
  max-width: 1008px;
  width: 100%;
  margin-inline: auto;
  text-align: right;
}

.companyHistory__link {
  position: relative;
  display: inline-block;
  font-size: 12px;
  color: #073484;
  text-decoration: underline;
}
.companyHistory__link::before {
  content: "›";
  position: absolute;
  top: 50%;
  left: -2em;
  transform: translateY(-50%);
  color: #B3B3B3;
}

/* ========================================
  企業理念セクション
======================================== */
.companyPhilosophy #sub05 {
  border-top: 1px solid #CCCCCC;
  max-width: 1072px;
  margin-inline: auto;
}

.companyPhilosophy__inner {
  max-width: 1011px;
  width: 100%;
  margin-inline: auto;
}

.companyPhilosophy__body {
  max-width: 955px;
  width: 100%;
  margin-inline: auto;
}

.companyPhilosophy__catchWrap {
  display: flex;
  flex-direction: column;
  gap: 1.5em 4.88%;
}
@media (min-width: 768px) {
  .companyPhilosophy__catchWrap {
    flex-direction: row;
  }
}

.companyPhilosophy__catchMain {
  max-width: 258px;
  width: 100%;
}
@media (min-width: 768px) {
  .companyPhilosophy__catchMain {
    max-width: 323px;
  }
}

.companyPhilosophy__catchSub {
  max-width: 191px;
  width: 100%;
}
@media (min-width: 768px) {
  .companyPhilosophy__catchSub {
    max-width: 239px;
  }
}

@media (min-width: 768px) {
  .companyPhilosophy__item:nth-child(odd) {
    padding-left: 17.67%;
  }
}
@media (min-width: 768px) {
  .companyPhilosophy__item:nth-child(even) {
    padding-right: 17.67%;
  }
}

/* ========================================
  行動指針セクション
======================================== */
.companyGuidelines #sub06 {
  border-top: 1px solid #CCCCCC;
  max-width: 1072px;
  margin-inline: auto;
}

.companyGuidelines__inner {
  max-width: 1016px;
  width: 100%;
  margin-inline: auto;
}

.companyGuidelines__body {
  width: 100%;
}
@media (min-width: 768px) {
  .companyGuidelines__body {
    padding-left: 3%;
  }
}

.companyGuidelines__catch {
  font-size: 30px;
  letter-spacing: 0.15em;
}
.companyGuidelines__catch > span {
  display: inline-block;
  font-size: 0.667em;
}

.companyGuidelines__cols {
  display: flex;
  flex-direction: column;
  gap: 1.5em;
}
@media (min-width: 768px) {
  .companyGuidelines__cols {
    flex-direction: row;
    align-items: flex-start;
    gap: 5%;
  }
}

@media (min-width: 768px) {
  .companyGuidelines__imgWrap {
    width: 41%;
    flex-shrink: 0;
  }
}
.companyGuidelines__imgWrap img {
  width: 100%;
  height: auto;
  display: block;
}

@media (min-width: 768px) {
  .companyGuidelines__values {
    flex: 1;
  }
}

/* ========================================
  お問い合わせページ
======================================== */
.contactMain #sub03 {
  padding-top: 1em;
  padding-bottom: 1.5em;
}

.contactForm #sub04 {
  max-width: 966px;
  margin-inline: auto;
}

.contactForm__inner {
  max-width: 896px;
  width: 100%;
  margin-inline: auto;
}

.contactTel__lead1 {
  text-align: center;
}
.contactTel__lead2 {
  text-align: left;
  margin-bottom: 3em;
}

.contactTel__bannerWrap {
  max-width: 703px;
  width: 100%;
  margin-inline: auto;
}

.contactTel__bannerLink {
  position: relative;
  display: block;
}

.contactTel__bannerImg {
  width: 100%;
  height: auto;
  display: block;
}

.contactTel__arrowIconWrap {
  position: absolute;
  top: 50%;
  right: 11%;
  transform: translateY(-50%);
  width: 22px;
}
@media (min-width: 768px) {
  .contactTel__arrowIconWrap {
    right: 11%;
    width: 28px;
  }
}
@media (min-width: 768px) {
  .contactTel__arrowIconWrap {
    width: 36px;
    right: 11%;
  }
}
.contactTel__arrowIconWrap img {
  width: 100%;
  height: auto;
  display: block;
}

.contactForm__lead {
  max-width: 726px;
  width: 100%;
  margin-inline: auto;
}

.contactForm__table {
  width: 100%;
  border: 1px solid #D0DBE8;
  border-bottom: none;
}

.contactForm__row {
  display: flex;
  flex-direction: column;
  border-bottom: 1px solid #D0DBE8;
}
@media (min-width: 768px) {
  .contactForm__row {
    flex-direction: row;
    align-items: stretch;
  }
}
.contactForm__row:last-child .contactForm__field, .contactForm__row:last-child .contactForm__field--mail {
  padding-bottom: 38px;
}

.contactForm__label {
  background: #fff;
  line-height: 1.6;
  letter-spacing: 0;
  padding-block: 20px 0;
  padding-inline: 1.5em;
}
@media (min-width: 768px) {
  .contactForm__label {
    border-right: 1px solid #D0DBE8;
    width: 228px;
    flex-shrink: 0;
    align-items: center;
    padding-block: 34px;
    padding-inline: 52px;
  }
}
.contactForm__label > span:first-child {
  margin-right: 10px;
}

.contactForm__required {
  display: inline-block;
  text-align: center;
  max-width: 43px;
  width: 100%;
  font-size: 10px;
  color: #fff;
  background: #C0392B;
  border-radius: 8.5px;
  padding-block: 0.1em;
  line-height: 1.6;
  white-space: nowrap;
}

.contactForm__field, .contactForm__field--mail {
  flex: 1;
  background: #fff;
  padding-block: 20px;
  padding-inline: 1.5em;
}
@media screen and (min-width: 768px) {
  .contactForm__field, .contactForm__field--mail {
    padding-block: 23px 20px;
    padding-inline: 37px;
  }
}
.contactForm__field--mail {
  padding-block: 20px 30px;
}
@media (min-width: 768px) {
  .contactForm__field--mail {
    padding-block: 23px 45px;
  }
}

.contactForm__row--required .contactForm__label,
.contactForm__row--required .contactForm__field,
.contactForm__row--required .contactForm__field--mail {
  background: #E4EFF4;
}

.contactForm__input {
  width: 100%;
  border: 1px solid #CCCCCC;
  border-radius: 27.5px;
  padding-block: 12px;
  padding-inline: 20px;
  font-size: 16px;
  font-weight: 500;
  color: #383838;
  background: #fff;
  outline: none;
}
@media (min-width: 768px) {
  .contactForm__input {
    padding-block: 17px;
    padding-inline: 43px;
  }
}
.contactForm__input::placeholder {
  color: #CCCCCC;
}
.contactForm__input--zip {
  width: auto;
  max-width: 155px;
  margin-right: 2%;
  padding-inline: 20px;
}
@media (min-width: 768px) {
  .contactForm__input--zip {
    padding-inline: 22px;
  }
}

.contactForm__textarea {
  width: 100%;
  border: 1px solid #CCCCCC;
  border-radius: 19.78px;
  padding: 0.8em 1em;
  font-size: 16px;
  font-weight: 500;
  color: #383838;
  resize: vertical;
  min-height: 218px;
  outline: none;
}
.contactForm__textarea::placeholder {
  color: #CCCCCC;
}

.contactForm__zipRow {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 1em;
}

.contactForm__zipLabel {
  white-space: nowrap;
  margin-right: 4%;
}

.contactForm__note {
  flex: unset;
  width: 100%;
}
@media (min-width: 768px) {
  .contactForm__note {
    flex: 1;
  }
}
.contactForm__note--mail {
  margin-left: 20px;
}

.contactForm__privacy > a:hover {
  text-decoration: underline;
}

.contactForm__btnWrap {
  text-align: center;
}

.contactForm__btn {
  display: inline-block;
  max-width: 240px;
  width: 100%;
  border: none;
  border-radius: 38px;
  color: #fff;
  cursor: pointer;
  background: linear-gradient(to right, #073484, #2E72C3);
  padding: 1.1em 3em;
}
@media (min-width: 768px) {
  .contactForm__btn {
    max-width: 310px;
  }
}

/* ========================================
  グループ事業ページ
======================================== */
.groupBusiness #sub03 {
  padding-top: 1em;
}

.groupBusiness__catTtl {
  padding-bottom: 1em;
  border-bottom: 1px solid #CCCCCC;
}

.groupBusiness__list {
  width: 92.54%;
  margin-inline: auto;
  margin-top: 1em;
}

.groupBusiness__detail {
  width: 100%;
  padding-left: 0;
}
@media (min-width: 768px) {
  .groupBusiness__detail {
    padding-left: 36px;
  }
}

.groupBusiness__detailRow {
  display: flex;
  gap: 1em;
}

.groupBusiness__detailLabel {
  width: 3em;
  flex-shrink: 0;
}

/* ========================================
  関連会社セクション
======================================== */
/* ========================================
  プライバシーポリシーページ
======================================== */
.privacyMain #sub03 {
  padding-top: 1em;
}

.privacyMain__section {
  width: 100%;
  margin-inline: auto;
}
@media (min-width: 768px) {
  .privacyMain__section {
    width: 85%;
  }
}

/* ========================================
  メンズ専用カプセルルームページ
======================================== */
.capsuleRoomIntro > #sub03 {
  padding-top: 2em;
}

.capsuleRoomIntro__imgBox {
  position: relative;
  width: 100vw;
  margin-left: calc(-50vw + 50%);
}
@media (min-width: 768px) {
  .capsuleRoomIntro__imgBox {
    width: 100%;
    margin-left: 0;
  }
}

.capsuleRoomIntro__img {
  max-width: 877px;
  width: 100%;
  margin-left: auto;
}

.capsuleRoomIntro__heading {
  position: absolute;
  top: 50%;
  left: 6%;
  transform: translateY(-50%);
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.5em;
  font-size: 16px;
  letter-spacing: 0.17em;
}
@media (min-width: 768px) {
  .capsuleRoomIntro__heading {
    font-size: 28px;
    left: 3%;
  }
}
.capsuleRoomIntro__heading > span {
  background: #fff;
  padding-block: 5px;
  padding-inline: 10px;
}
@media (min-width: 768px) {
  .capsuleRoomIntro__heading > span {
    padding-block: 10px;
    padding-inline: 18px;
  }
}
.capsuleRoomIntro__heading > span:last-child {
  margin-left: 1em;
}

.capsuleRoomIntro__txt {
  max-width: 877px;
  width: 100%;
  margin-left: auto;
}

.capsuleRoomPlan__price {
  position: relative;
  max-width: 912px;
  width: 100%;
  margin-left: auto;
}

.capsuleRoomPlan__priceImg {
  width: 100%;
  margin-left: auto;
}
@media (min-width: 768px) {
  .capsuleRoomPlan__priceImg {
    width: 83%;
  }
}

.capsuleRoomPlan__priceTexts {
  position: absolute;
  top: -2em;
  display: flex;
  flex-direction: column;
  gap: 1em;
}
@media (min-width: 768px) {
  .capsuleRoomPlan__priceTexts {
    top: 50%;
    transform: translateY(-50%);
  }
}

.capsuleRoomPlan__priceCatch {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  width: 160px;
  height: 160px;
  border-radius: 115px;
}
@media (min-width: 768px) {
  .capsuleRoomPlan__priceCatch {
    width: 230px;
    height: 230px;
  }
}
.capsuleRoomPlan__priceCatch > p {
  font-size: 12px;
}
@media (min-width: 768px) {
  .capsuleRoomPlan__priceCatch > p {
    font-size: 16px;
  }
}

.capsuleRoomPlan__priceNum {
  display: flex;
  align-items: center;
  font-size: 43px;
  font-weight: bold;
  line-height: 1;
  color: #000;
  padding-block: 10px;
  padding-inline: 10px;
  margin-left: 5px;
}
@media (min-width: 768px) {
  .capsuleRoomPlan__priceNum {
    font-size: 63px;
    padding-block: 13px;
    padding-inline: 12px;
    margin-left: 10px;
  }
}
.capsuleRoomPlan__priceNum > span:first-child {
  font-size: 0.3em;
  letter-spacing: 0.26em;
  margin-right: 0.5rem;
  padding-top: 1.5em;
}
.capsuleRoomPlan__priceNum .capsuleRoomPlan__priceUnit {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
  font-size: 0.3em;
  letter-spacing: 0.26em;
  padding-top: 0.5rem;
}
.capsuleRoomPlan__priceNum .capsuleRoomPlan__priceUnit > span:first-child {
  font-size: 0.718em;
  letter-spacing: 0.26em;
}
.capsuleRoomPlan__priceNum .capsuleRoomPlan__priceUnit > span:last-child {
  margin-left: 0.5rem;
}

.capsuleRoomPlan__list {
  display: flex;
  flex-direction: column;
  gap: 3em;
}
@media (min-width: 768px) {
  .capsuleRoomPlan__list {
    gap: 7em;
  }
}

.capsuleRoomPlan__item {
  display: flex;
  flex-direction: column;
  gap: 2em;
}
@media (min-width: 768px) {
  .capsuleRoomPlan__item {
    flex-direction: row;
    align-items: flex-start;
    gap: 54px;
  }
}
@media (min-width: 768px) {
  .capsuleRoomPlan__item:nth-child(even) {
    flex-direction: row-reverse;
  }
}
.capsuleRoomPlan__item:nth-child(even) .capsuleRoomPlan__listTexts {
  padding-left: 0;
}
@media (min-width: 768px) {
  .capsuleRoomPlan__item:nth-child(even) .capsuleRoomPlan__listTexts {
    padding-top: 2em;
    padding-left: 2.5em;
  }
}

.capsuleRoomPlan__listImg {
  width: 100%;
}
@media (min-width: 768px) {
  .capsuleRoomPlan__listImg {
    width: 50%;
  }
}

.capsuleRoomPlan__listTexts {
  flex: 1;
}
@media (min-width: 768px) {
  .capsuleRoomPlan__listTexts {
    padding-top: 1em;
  }
}

.capsuleRoomPlan__listTtl {
  font-size: 23px;
}
@media (min-width: 768px) {
  .capsuleRoomPlan__listTtl {
    font-size: 28px;
  }
}

.capsuleRoomPlan__listTxt {
  font-size: 12px;
}
@media (min-width: 768px) {
  .capsuleRoomPlan__listTxt {
    font-size: 14px;
  }
}

.capsuleRoomPlan__exampleBtn {
  max-width: 247px;
  width: 100%;
  margin-inline: auto;
}

.capsuleRoomPlan__example {
  border: 2px solid #F2F2F2;
  border-radius: 29.739px;
  max-width: 823px;
  width: 100%;
  margin-inline: auto;
  padding-block: 3em;
  padding-inline: 30px;
}
@media (min-width: 768px) {
  .capsuleRoomPlan__example {
    padding-inline: 72px;
  }
}
.capsuleRoomPlan__example > ul {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}
.capsuleRoomPlan__example > ul > li:before {
  content: "・";
  font-size: 14px;
  line-height: 2.375;
  color: #808080;
}
.capsuleRoomPlan__example > ul > li > a {
  text-decoration: underline;
  display: inline-block;
  font-size: 14px;
  line-height: 2.375;
  color: #808080;
}
@media (min-width: 768px) {
  .capsuleRoomPlan__example > ul > li > a {
    font-size: 16px;
  }
}

.capsuleRoomInfo__ttl {
  font-size: 24px;
}
@media (min-width: 768px) {
  .capsuleRoomInfo__ttl {
    font-size: 28px;
  }
}

.capsuleRoomInfo__cols {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2em;
}
@media (min-width: 768px) {
  .capsuleRoomInfo__cols {
    grid-template-columns: 1fr 1fr;
    gap: 3.09%;
  }
}

.capsuleRoomInfo__col {
  position: relative;
}

.capsuleRoomInfo__texts {
  width: 86.4%;
  margin-inline: auto;
}

.capsuleRoomInfo__attention {
  border-radius: 19.957px;
  position: absolute;
  top: 0;
  left: 14px;
  transform: translateY(-50%);
  padding-block: 2.5px;
  padding-inline: 1.5em;
}

.capsuleRoomInfo__details {
  border-radius: 21.227px;
  padding-block: 2.5em 3.5em;
  padding-inline: 8.2%;
}
@media (min-width: 768px) {
  .capsuleRoomInfo__details {
    padding-block: 3em 4em;
  }
}

.capsuleRoomInfo__timeBlock {
  position: relative;
  padding-bottom: 2.5em;
}
.capsuleRoomInfo__timeBlock::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 1px;
  color: #EAEAEA;
  background: repeating-linear-gradient(to right, currentColor 0, currentColor 4px, transparent 4px, transparent 12px);
}

.capsuleRoomInfo__timeList {
  display: flex;
  flex-direction: column;
  gap: 1em;
}
@media (min-width: 768px) {
  .capsuleRoomInfo__timeList {
    gap: 0;
  }
}

.capsuleRoomInfo__timeRow {
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  gap: 0.5em;
}
@media (min-width: 768px) {
  .capsuleRoomInfo__timeRow {
    flex-direction: row;
    align-items: center;
    gap: 0;
  }
}

.capsuleRoomInfo__timeDt {
  max-width: 154px;
  width: 100%;
}

.capsuleRoomInfo__timeDd {
  flex: 1;
}

.capsuleRoomInfo__noteItem {
  font-size: 12px;
  line-height: 2;
  letter-spacing: 0.1em;
}
@media (min-width: 768px) {
  .capsuleRoomInfo__noteItem {
    font-size: 14px;
  }
}

/* ========================================
  カプセルルームのご利用案内 追記分
======================================== */
.capsuleRoomInfo #sub05 {
  max-width: 1097px;
  margin-inline: auto;
}

.capsuleRoomInfo__colTtl {
  font-size: 18px;
}
@media (min-width: 768px) {
  .capsuleRoomInfo__colTtl {
    font-size: 22px;
  }
}

.capsuleRoomInfo__colTxt {
  font-size: 12px;
}
@media (min-width: 768px) {
  .capsuleRoomInfo__colTxt {
    font-size: 14px;
  }
}

.capsuleRoomInfo__imgWrap img {
  width: 100%;
  height: auto;
  display: block;
}

.capsuleRoomInfo__timeTtl {
  font-size: 18px;
}
@media (min-width: 768px) {
  .capsuleRoomInfo__timeTtl {
    font-size: 22px;
  }
}

.capsuleRoomInfo__noteTtl {
  font-size: 18px;
}
@media (min-width: 768px) {
  .capsuleRoomInfo__noteTtl {
    font-size: 22px;
  }
}

.capsuleRoomInfo__noteList {
  display: flex;
  flex-direction: column;
  gap: 0.3em;
}

/* ========================================
  そのほかのサービス / 1F ロビー・ラウンジ
======================================== */
.capsuleRoomService__banner {
  text-align: center;
}

.capsuleRoomService__bannerTxt {
  position: relative;
  display: inline-block;
  font-size: 14px;
  padding-inline: 25px;
}
@media (min-width: 768px) {
  .capsuleRoomService__bannerTxt {
    font-size: 20px;
    padding-inline: 57px;
  }
}
.capsuleRoomService__bannerTxt::before, .capsuleRoomService__bannerTxt::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 62%;
  width: 16px;
  aspect-ratio: 27/42;
  background: url("../img/common/icon_heading_ashirai.svg") center/contain no-repeat;
}
@media (min-width: 768px) {
  .capsuleRoomService__bannerTxt::before, .capsuleRoomService__bannerTxt::after {
    top: 71%;
    width: 27px;
  }
}
.capsuleRoomService__bannerTxt::before {
  left: 0;
  transform: translateY(-50%);
}
.capsuleRoomService__bannerTxt::after {
  right: 0;
  transform: translateY(-50%) scale(-1, 1);
}
.capsuleRoomService__bannerTxt > span {
  display: inline-block;
}

.capsuleRoomService__blockInner {
  display: flex;
  flex-direction: column;
  gap: 2em;
}
@media (min-width: 768px) {
  .capsuleRoomService__blockInner {
    flex-direction: row;
    align-items: flex-start;
    gap: 54px;
  }
}

.capsuleRoomService__blockImgWrap {
  width: 100%;
}
@media (min-width: 768px) {
  .capsuleRoomService__blockImgWrap {
    width: 50%;
    flex-shrink: 0;
  }
}
.capsuleRoomService__blockImgWrap img {
  width: 100%;
  height: auto;
  display: block;
}

.capsuleRoomService__blockTxts {
  flex: 1;
}
@media (min-width: 768px) {
  .capsuleRoomService__blockTxts {
    padding-top: 1em;
  }
}

.capsuleRoomService__blockTtl {
  font-size: 23px;
}
@media (min-width: 768px) {
  .capsuleRoomService__blockTtl {
    font-size: 28px;
  }
}

.capsuleRoomService__blockTxt {
  font-size: 12px;
}
@media (min-width: 768px) {
  .capsuleRoomService__blockTxt {
    font-size: 14px;
  }
}

.capsuleRoomService__imgList {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2em;
}
@media (min-width: 600px) {
  .capsuleRoomService__imgList {
    grid-template-columns: repeat(3, 1fr);
    gap: 1.82%;
  }
}

.capsuleRoomService__imgWrap img {
  width: 100%;
  height: auto;
  display: block;
}

.capsuleRoomService__imgCaption {
  width: 92%;
  margin-inline: auto;
  font-size: 12px;
  letter-spacing: 0.05em;
}
@media (min-width: 768px) {
  .capsuleRoomService__imgCaption {
    font-size: 14px;
  }
}

/* ========================================
  2F 大浴場・サウナ（#sub06内のブロック）
======================================== */
.capsuleRoomBath .capsuleRoomService__blockInner {
  flex-direction: column-reverse;
}
@media (min-width: 768px) {
  .capsuleRoomBath .capsuleRoomService__blockInner {
    flex-direction: row;
    gap: 6.27%;
  }
}
@media (min-width: 768px) {
  .capsuleRoomBath .capsuleRoomService__blockTxts {
    padding-top: 2em;
    padding-left: 3.7%;
  }
}

.capsuleRoomBath__linkWrap {
  max-width: 248px;
  width: 100%;
  margin-left: auto;
}

.capsuleRoomBath__imgs {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2em;
}
@media (min-width: 600px) {
  .capsuleRoomBath__imgs {
    grid-template-columns: repeat(3, 1fr);
    gap: 1.82%;
  }
}

.capsuleRoomBath__imgWrap img {
  width: 100%;
  height: auto;
  display: block;
}

.capsuleRoomBath__imgCaption {
  font-size: 12px;
  letter-spacing: 0.05em;
}
@media (min-width: 768px) {
  .capsuleRoomBath__imgCaption {
    font-size: 14px;
  }
}

.capsuleRoomBath__subTxt {
  text-align: center;
  font-size: 12px;
}
@media (min-width: 768px) {
  .capsuleRoomBath__subTxt {
    font-size: 14px;
  }
}

/* ========================================
  ご注意事項
======================================== */
.capsuleRoomNote #sub07 {
  max-width: 1100px;
  margin-inline: auto;
}

.capsuleRoomNote__wrap {
  border: 1px solid #F2F2F2;
  border-radius: 21px;
  padding-block: 3em;
  padding-inline: 8.18%;
}

.capsuleRoomNote__item {
  display: flex;
  position: relative;
}
.capsuleRoomNote__item::before {
  content: "・";
  display: inline-block;
}

.capsuleRoomNote__note {
  font-size: 11px;
  line-height: 1.8;
  letter-spacing: 0.05em;
}

.capsuleRoomNote__btnWrap {
  max-width: 248px;
  width: 100%;
  margin-inline: auto;
}

/* ========================================
  プラザホテルの魅力
======================================== */
.featuresIntro > #sub03 {
  padding-top: 2em;
}

.featuresIntro__imgBox {
  position: relative;
  width: 100vw;
  margin-left: calc(-50vw + 50%);
}
@media (min-width: 768px) {
  .featuresIntro__imgBox {
    width: 100%;
    margin-left: 0;
  }
}

.featuresIntro__img {
  max-width: 877px;
  width: 100%;
  margin-left: auto;
}

.featuresIntro__heading {
  position: absolute;
  top: 50%;
  left: 6%;
  right: 6%;
  transform: translateY(-50%);
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.5em;
  font-size: 14px;
  letter-spacing: 0.17em;
}
@media (min-width: 768px) {
  .featuresIntro__heading {
    font-size: 28px;
    left: 3%;
  }
}
.featuresIntro__heading > span {
  background: #fff;
  padding-block: 5px;
  padding-inline: 10px;
}
@media (min-width: 768px) {
  .featuresIntro__heading > span {
    padding-block: 10px;
    padding-inline: 18px;
  }
}
.featuresIntro__heading > span:last-child {
  margin-left: 1em;
}

.featuresIntro__txt {
  max-width: 877px;
  width: 100%;
  margin-left: auto;
}

.featuresDetails {
  position: relative;
}
.featuresDetails::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background: #F2F2F2;
}
.featuresDetails #sub04 {
  position: relative;
  z-index: 1;
}

.featuresDetails__list {
  display: flex;
  flex-direction: column;
  gap: 5em;
}
@media (min-width: 768px) {
  .featuresDetails__list {
    gap: 7em;
  }
}

.featuresDetails__item {
  flex-wrap: nowrap !important;
  flex-direction: column-reverse;
  gap: 2em;
}
@media (min-width: 768px) {
  .featuresDetails__item {
    flex-direction: row;
    gap: 6.36%;
  }
}
.featuresDetails__item:nth-child(even) {
  flex-direction: column-reverse;
}
@media (min-width: 768px) {
  .featuresDetails__item:nth-child(even) {
    flex-direction: row-reverse;
  }
}

.featuresDetails__img {
  width: 100%;
}
@media (min-width: 768px) {
  .featuresDetails__img {
    width: 52.73%;
  }
}

.featuresDetails__content {
  flex: 1;
}

.featuresDetails__num {
  border-radius: 48.5px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.1em;
  width: 97px;
  height: 97px;
  background: linear-gradient(#fff, #fff) padding-box, linear-gradient(to right, #0071BC, #082A54) border-box;
  border: 2px solid transparent;
  padding-top: 0.5em;
}
.featuresDetails__num > span {
  line-height: 1;
}

.featuresDetails__heading, .featuresDetails__heading--nonIndent {
  font-size: 20px;
  line-height: 2.5;
}
@media (min-width: 768px) {
  .featuresDetails__heading, .featuresDetails__heading--nonIndent {
    font-size: 2.5454545455vw;
    white-space: nowrap;
  }
}
@media (min-width: 1100px) {
  .featuresDetails__heading, .featuresDetails__heading--nonIndent {
    font-size: 28px;
  }
}
.featuresDetails__heading > span:last-child, .featuresDetails__heading--nonIndent > span:last-child {
  display: block;
}
@media (min-width: 768px) {
  .featuresDetails__heading > span:last-child, .featuresDetails__heading--nonIndent > span:last-child {
    text-indent: 2em;
  }
}
.featuresDetails__heading--nonIndent > span:last-child {
  text-indent: 0;
}

.featuresDetails__btn {
  max-width: 247px;
  width: 100%;
  margin-left: auto;
}

.featuresOther {
  position: relative;
}
.featuresOther::before {
  content: "";
  position: absolute;
  top: 260px;
  left: 0;
  width: 100%;
  height: 100vh;
  background: #F2F2F2;
}
.featuresOther #sub05 {
  position: relative;
  z-index: 1;
}

.featuresOther__banner {
  text-align: center;
}

.featuresOther__bannerTxt {
  position: relative;
  display: inline-block;
  max-width: 290px;
  width: 100%;
  font-size: 16px;
  padding-inline: 30px;
}
@media (min-width: 768px) {
  .featuresOther__bannerTxt {
    max-width: none;
    width: auto;
    font-size: 20px;
    padding-inline: 57px;
  }
}
.featuresOther__bannerTxt::before, .featuresOther__bannerTxt::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 62%;
  width: 16px;
  aspect-ratio: 27/42;
  background: url("../img/common/icon_heading_ashirai.svg") center/contain no-repeat;
}
@media (min-width: 768px) {
  .featuresOther__bannerTxt::before, .featuresOther__bannerTxt::after {
    top: 71%;
    width: 27px;
  }
}
.featuresOther__bannerTxt::before {
  left: 0;
  transform: translateY(-50%);
}
.featuresOther__bannerTxt::after {
  right: 0;
  transform: translateY(-50%) scale(-1, 1);
}
.featuresOther__bannerTxt > span {
  display: inline-block;
}

.featuresOther__cols {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2em;
}
@media (min-width: 768px) {
  .featuresOther__cols {
    grid-template-columns: 1fr 1fr;
    gap: 3.3%;
  }
}

.featuresOther__body {
  padding-block: 3em;
  padding-inline: 7.3%;
}

.featuresOther__heading {
  font-size: 21px;
  line-height: 1;
}
@media (min-width: 768px) {
  .featuresOther__heading {
    font-size: 26px;
  }
}
.featuresOther__heading > span {
  display: block;
  font-size: 0.538em;
  letter-spacing: 0.05em;
  margin-top: 0.7em;
}

.featuresOther__btn {
  max-width: 247px;
  width: 100%;
  margin-inline: auto;
}

.featuresOther__3way {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.5em;
  max-width: 1045px;
  width: 100%;
  margin-inline: auto;
}
@media (min-width: 768px) {
  .featuresOther__3way {
    grid-template-columns: 1fr 1fr 1fr;
    gap: 9px 8px;
    width: 100%;
  }
}

.featuresOther__3wayItem, .featuresOther__3wayItem--noMask {
  position: relative;
  width: 100%;
  aspect-ratio: 376/271;
  display: flex;
  align-items: flex-end;
  padding-bottom: 9%;
}
.featuresOther__3wayItem.no01, .no01.featuresOther__3wayItem--noMask {
  background: url("../img/sub/features_img09.jpg") center/cover no-repeat;
}
.featuresOther__3wayItem.no02, .no02.featuresOther__3wayItem--noMask {
  background: url("../img/sub/features_img10.jpg") center/cover no-repeat;
}
.featuresOther__3wayItem.no02::before, .no02.featuresOther__3wayItem--noMask::before {
  content: "";
  display: inline-block;
  position: absolute;
  top: -3%;
  right: -4%;
  width: 56.1%;
  aspect-ratio: 427/308;
  background: url("../img/top/top04_img06_texts.png") center/contain no-repeat;
  z-index: 2;
}
.featuresOther__3wayItem.no03, .no03.featuresOther__3wayItem--noMask {
  background: url("../img/sub/features_img11.jpg") center/cover no-repeat;
}
.featuresOther__3wayItem.no04, .no04.featuresOther__3wayItem--noMask {
  background: url("../img/sub/features_img12.jpg") center/cover no-repeat;
}
.featuresOther__3wayItem.no05, .no05.featuresOther__3wayItem--noMask {
  background: url("../img/sub/features_img13.jpg") center/cover no-repeat;
}
.featuresOther__3wayItem.no06, .no06.featuresOther__3wayItem--noMask {
  background: url("../img/sub/features_img14.jpg") center/cover no-repeat;
}
.featuresOther__3wayItem.no07, .no07.featuresOther__3wayItem--noMask {
  background: url("../img/sub/features_img15.jpg") center/cover no-repeat;
}
.featuresOther__3wayItem.no08, .no08.featuresOther__3wayItem--noMask {
  background: url("../img/sub/features_img16.jpg") center/cover no-repeat;
}
.featuresOther__3wayItem.no09, .no09.featuresOther__3wayItem--noMask {
  background: url("../img/sub/features_img17.jpg") center/cover no-repeat;
}
.featuresOther__3wayItem::after, .featuresOther__3wayItem--noMask::after {
  content: "";
  display: inline-block;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0) 90%, transparent 90%, transparent 100%);
}
.featuresOther__3wayItem--noMask::after {
  content: unset;
}

.featuresOther__3wayTexts {
  position: relative;
  z-index: 1;
  width: 82.4%;
  margin-inline: auto;
}

.featuresOther__3wayTtl {
  font-size: 5.0769230769vw;
  line-height: 1.52538135;
  letter-spacing: 0.099em;
  font-weight: bold;
}
@media (min-width: 768px) {
  .featuresOther__3wayTtl {
    font-size: 1.375vw;
    line-height: 1.44;
    letter-spacing: 0.15em;
    font-weight: bold;
  }
}
@media (min-width: 1600px) {
  .featuresOther__3wayTtl {
    font-size: 22px;
  }
}

.featuresOther__3wayText, .featuresOther__3wayText--large {
  font-size: 2.5641025641vw;
  line-height: 1.68;
  letter-spacing: 0.15em;
  font-weight: bold;
}
@media (min-width: 768px) {
  .featuresOther__3wayText, .featuresOther__3wayText--large {
    font-size: 0.875vw;
    line-height: 1.63;
  }
}
@media (min-width: 1600px) {
  .featuresOther__3wayText, .featuresOther__3wayText--large {
    font-size: 14px;
  }
}
.featuresOther__3wayText--large {
  font-size: 3.4615384615vw;
  line-height: 2;
  font-weight: bold;
}
@media (min-width: 768px) {
  .featuresOther__3wayText--large {
    font-size: 1.0625vw;
  }
}

/* ========================================
  会議室・宴会場
======================================== */
.conferenceRoomIntro {
  max-width: 1100px;
  width: 100%;
  margin-inline: auto;
}
.conferenceRoomIntro #sub03 {
  padding-top: 0;
}

.conferenceRoomIntro__txt {
  font-size: 12px;
  padding-inline: 1em;
}
@media (min-width: 768px) {
  .conferenceRoomIntro__txt {
    font-size: 14px;
  }
}

.conferenceRoomDetails {
  position: relative;
}
.conferenceRoomDetails #sub04 {
  max-width: 1304px;
  margin-inline: auto;
}

.conferenceRoomDetails__infoImg {
  position: absolute;
  top: -7em;
  left: calc((100% - 100vw) / 2);
  width: 100%;
}
@media (min-width: 768px) {
  .conferenceRoomDetails__infoImg {
    top: -9em;
    width: 58%;
  }
}

.conferenceRoomDetails__infoTexts {
  display: flex;
  flex-direction: column;
  gap: 1.5em;
  position: relative;
  z-index: 1;
  max-width: 749px;
  width: 100%;
  margin-left: auto;
  padding-block: 2.5em 3em;
  padding-inline: 6.7%;
}
@media (min-width: 768px) {
  .conferenceRoomDetails__infoTexts {
    padding-block: 5.5em 5em;
    padding-inline: 8%;
  }
}

.conferenceRoomDetails__infoDl {
  display: flex;
  flex-direction: column;
  gap: 0.5em;
}

.conferenceRoomDetails__infoHeading {
  font-size: 16px;
}
@media (min-width: 768px) {
  .conferenceRoomDetails__infoHeading {
    font-size: 26px;
  }
}

.conferenceRoomDetails__infoBody > ul > li {
  font-size: 12px;
  padding-left: 8px;
}
@media (min-width: 768px) {
  .conferenceRoomDetails__infoBody > ul > li {
    font-size: 14px;
    padding-left: 10px;
  }
}
.conferenceRoomDetails__infoBody > ul > li::before {
  content: "";
  display: inline-block;
  width: 14px;
  aspect-ratio: 1/1;
  background: url("../img/common/icon_circle_cheak_black.svg") center/contain no-repeat;
  margin-right: 0.5em;
  transform: translateY(3px);
}
@media (min-width: 768px) {
  .conferenceRoomDetails__infoBody > ul > li::before {
    width: 17.87px;
    margin-right: 1em;
    transform: translateY(4px);
  }
}
.conferenceRoomDetails__infoBody > ul > li.fzLarge {
  font-size: 14px;
}
@media (min-width: 768px) {
  .conferenceRoomDetails__infoBody > ul > li.fzLarge {
    font-size: 17px;
  }
}
.conferenceRoomDetails__infoBody > ul > li.fzLarge:last-child {
  margin-top: 0.5em;
}
.conferenceRoomDetails__infoBody > ul > li > ul > li {
  font-size: 0.82352941em;
  padding-left: 21px;
}
@media (min-width: 768px) {
  .conferenceRoomDetails__infoBody > ul > li > ul > li {
    padding-left: 47px;
  }
}

.conferenceRoomDetails__list {
  display: flex;
  flex-direction: column;
  gap: 4em;
  max-width: 1100px;
  width: 100%;
  margin-inline: auto;
}
@media (min-width: 768px) {
  .conferenceRoomDetails__list {
    gap: 5em;
  }
}

.conferenceRoomDetails__heading {
  border-bottom: 1px solid #E2E2E2;
  padding-bottom: 0.3em;
}
@media (min-width: 768px) {
  .conferenceRoomDetails__heading {
    margin-left: 1em;
  }
}

.conferenceRoomDetails__cols {
  gap: 2em;
  flex-wrap: unset !important;
}
@media (min-width: 768px) {
  .conferenceRoomDetails__cols {
    gap: 46px;
  }
}

.conferenceRoomDetails__listImg {
  width: 100%;
}
@media (min-width: 768px) {
  .conferenceRoomDetails__listImg {
    max-width: clamp(350px, 36.3636363636vw, 400px);
  }
}

.conferenceRoomDetails__listTxts {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 1em;
}
.conferenceRoomDetails__listTxts > dl > dt {
  font-size: 16px;
  line-height: 1.75;
}
@media (min-width: 768px) {
  .conferenceRoomDetails__listTxts > dl > dt {
    font-size: 18px;
  }
}
.conferenceRoomDetails__listTxts > dl > dd > ul > li {
  font-size: 14px;
  line-height: 1.86;
}
@media (min-width: 768px) {
  .conferenceRoomDetails__listTxts > dl > dd > ul > li {
    font-size: 15px;
  }
}
.conferenceRoomDetails__listTxts > dl > dd > ul > li > span:first-child {
  display: inline-block;
  max-width: 155px;
  width: 100%;
}
.conferenceRoomDetails__listTxts > dl > dd > ul > li > span:last-child {
  text-align: right;
  display: inline-block;
  max-width: 135px;
  width: 100%;
}

.conferenceRoomService #sub05 {
  max-width: 1038px;
  margin-inline: auto;
}

.conferenceRoomService__rental,
.conferenceRoomService__catering {
  flex-direction: column;
  gap: 2em;
}
@media (min-width: 768px) {
  .conferenceRoomService__rental,
  .conferenceRoomService__catering {
    flex-direction: row;
    align-items: stretch;
    gap: 4.62%;
  }
}

@media (min-width: 768px) {
  .conferenceRoomService__catering {
    flex-direction: row-reverse;
  }
}

.conferenceRoomService__rentalImgWrap,
.conferenceRoomService__cateringImgWrap {
  width: 100%;
}
@media (min-width: 768px) {
  .conferenceRoomService__rentalImgWrap,
  .conferenceRoomService__cateringImgWrap {
    width: 53%;
  }
}

.conferenceRoomService__rentalContent,
.conferenceRoomService__cateringContent {
  flex: 1;
  padding-top: 0.7em;
}

.conferenceRoomService__heading {
  font-size: 18px;
  line-height: 2;
}
@media (min-width: 768px) {
  .conferenceRoomService__heading {
    font-size: 28px;
  }
}

.conferenceRoomService__dl {
  display: flex;
  flex-direction: column;
  font-size: 13px;
  line-height: 1.5;
}
@media (min-width: 768px) {
  .conferenceRoomService__dl {
    font-size: 14px;
  }
}

.conferenceRoomService__dlRow {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding-block: 0.3em;
}
.conferenceRoomService__dlRow > dt {
  position: relative;
  flex: 1;
  padding-right: 1.5em;
}
.conferenceRoomService__dlRow > dt::after {
  content: "/";
  display: inline-block;
  position: absolute;
  top: 0;
  right: 0;
}
.conferenceRoomService__dlRow > dt > span {
  display: block;
  font-size: 0.857em;
}
.conferenceRoomService__dlRow > dd {
  width: 108px;
  white-space: nowrap;
  text-align: right;
}
@media (min-width: 768px) {
  .conferenceRoomService__dlRow > dd {
    width: 128px;
  }
}

.conferenceRoomService__note {
  display: flex;
}

/* ========================================
  交通案内・周辺施設
======================================== */
.accessIntro {
  max-width: 1100px;
  width: 100%;
  margin-inline: auto;
}
.accessIntro #sub03 {
  padding-top: 0;
  padding-bottom: 1.5em;
}

.accessIntro__headingWrap {
  font-size: 44px;
  line-height: 1.9;
}
@media (min-width: 768px) {
  .accessIntro__headingWrap {
    font-size: 64px;
  }
}
.accessIntro__headingWrap > span:last-child {
  display: block;
  font-size: 0.28125em;
  line-height: 1;
  letter-spacing: 0.3em;
  padding-left: 1em;
  margin-top: -1em;
}

.accessIntro__inner {
  padding-inline: 0;
}
@media (min-width: 768px) {
  .accessIntro__inner {
    padding-inline: 1em;
  }
}

.accessIntro__map {
  width: 100%;
  aspect-ratio: 966/597;
}
.accessIntro__map > iframe {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.accessRoot #sub04 {
  max-width: 1100px;
  margin-inline: auto;
  padding-top: 0;
}

.accessRoot__list {
  display: flex;
  flex-direction: column;
  gap: 4em;
}
@media (min-width: 768px) {
  .accessRoot__list {
    gap: 6em;
  }
}

.accessRoot__rootHeading {
  border-bottom: 1px solid #CCCCCC;
  display: flex;
  align-items: flex-end;
  flex-wrap: wrap;
  gap: 0 1em;
  font-size: 20px;
  letter-spacing: 0.26em;
  padding-bottom: 0.1em;
  padding-left: 0;
}
@media (min-width: 768px) {
  .accessRoot__rootHeading {
    font-size: 28px;
    padding-left: 0.8em;
  }
}
.accessRoot__rootHeading > span {
  align-self: center;
  display: inline-block;
  font-size: 0.64em;
  font-weight: normal;
}

.accessNearby #sub05 {
  max-width: 1100px;
  margin-inline: auto;
  padding-top: 1em;
  padding-bottom: 4em;
}

.accessNearby__headingWrap {
  max-width: 998px;
  width: 100%;
  margin-inline: auto;
}

.accessNearby__heading {
  font-size: 44px;
  line-height: 1.9;
}
@media (min-width: 768px) {
  .accessNearby__heading {
    font-size: 64px;
  }
}
.accessNearby__heading > span:last-child {
  display: block;
  font-size: 0.28125em;
  line-height: 1;
  letter-spacing: 0.3em;
  padding-left: 1em;
  margin-top: -1em;
}

.accessNearby__catTtl {
  font-size: 22px;
  border-bottom: 1px solid #073484;
  padding-bottom: 0.4em;
}
@media (min-width: 768px) {
  .accessNearby__catTtl {
    font-size: 28px;
  }
}

.accessNearby__list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2em;
  width: 100%;
}
@media (min-width: 600px) {
  .accessNearby__list {
    grid-template-columns: repeat(2, 1fr);
    gap: 2em 9px;
  }
}
@media (min-width: 900px) {
  .accessNearby__list {
    grid-template-columns: repeat(3, 1fr);
    width: calc((100vw - 100%) / 2 * 0.56 + 100%);
  }
}

.accessNearby__body {
  width: 96%;
  margin-inline: auto;
}

/* ----------------------------------------
  レンタル自転車セクション（別 article）
---------------------------------------- */
.accessBike #sub06 {
  max-width: 1106px;
  margin-inline: auto;
  padding-top: 3em;
}

.accessBike__catTtl {
  font-size: 22px;
}
@media (min-width: 768px) {
  .accessBike__catTtl {
    font-size: 28px;
  }
}

.accessBike__inner {
  display: flex;
  flex-direction: column;
  gap: 2em;
}
@media (min-width: 768px) {
  .accessBike__inner {
    flex-direction: row;
    align-items: flex-start;
    gap: 4%;
  }
}

@media (min-width: 768px) {
  .accessBike__imgWrap {
    width: 43.5%;
    flex-shrink: 0;
  }
}
.accessBike__imgWrap img {
  width: 100%;
  height: auto;
  display: block;
}

@media (min-width: 768px) {
  .accessBike__txt {
    flex: 1;
    padding-top: 0.5em;
  }
}

.accessBike__detailRow {
  display: flex;
}
.accessBike__detailRow > dt {
  font-weight: normal;
}

/* ========================================
  会議室・宴会場
======================================== */
.experienceIntro #sub03 {
  max-width: 996px;
  margin-inline: auto;
  padding-top: 3em;
  padding-bottom: 0;
}
@media (min-width: 768px) {
  .experienceIntro #sub03 {
    padding-top: 4em;
  }
}

.experienceDays #sub04 {
  max-width: 996px;
  margin-inline: auto;
  padding-top: 2em;
}

.experience__heading {
  text-align: center;
  border: 1px solid #073484;
  border-radius: 21.6px;
  max-width: 144px;
  width: 100%;
  padding-block: 5px;
}

.experience__timeItem {
  display: grid;
  grid-template-columns: 21.2px 1fr;
  gap: 1em 4%;
}
@media (min-width: 768px) {
  .experience__timeItem {
    display: flex;
    gap: 0;
  }
}
.experience__timeItem:first-child .experience__timeDot::before {
  top: 0.3em;
}
@media (min-width: 768px) {
  .experience__timeItem:first-child .experience__timeDot::before {
    top: 41px;
  }
}
.experience__timeItem:first-child .experience__timeTxts {
  top: 0.3em;
}
@media (min-width: 768px) {
  .experience__timeItem:first-child .experience__timeTxts {
    padding-top: 1.5em;
  }
}

.experience__timeDot {
  position: relative;
  grid-row: 1/3;
  padding-top: 0.3em;
}
@media (min-width: 768px) {
  .experience__timeDot {
    order: 98;
    margin-left: 4.2%;
    margin-right: 4.5%;
    padding-top: 41px;
  }
}
.experience__timeDot::before {
  content: "";
  display: inline-block;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 1px;
  height: 100%;
  background: #082A54;
}
.experience__timeDot > span {
  display: inline-block;
  border-radius: 11px;
  width: 21.2px;
  height: 21.2px;
  background: #082A54;
}

@media (min-width: 768px) {
  .experience__timeTxts {
    order: 99;
    flex: 1;
    padding-top: 2.2em;
  }
}

.experience__timeImg {
  grid-column: 2/3;
  grid-row: 2/3;
  width: 100%;
  padding-bottom: 3em;
}
@media (min-width: 768px) {
  .experience__timeImg {
    width: 41.2%;
    padding-bottom: 2em;
  }
}

.experience__lastBox, .experience__lastBox--noImg {
  border: 1px solid #082A54;
  border-radius: 12px;
  align-items: center;
  padding-block: 2em;
  padding-inline: 6%;
  gap: 2em 5%;
}
@media (min-width: 768px) {
  .experience__lastBox, .experience__lastBox--noImg {
    padding-inline: 4.52%;
  }
}
.experience__lastBox--noImg {
  padding-block: 2em 2.5em;
  padding-inline: 6%;
}
@media (min-width: 768px) {
  .experience__lastBox--noImg {
    padding-block: 2.5em 3em;
    padding-inline: 14.8%;
  }
}

.experience__lastImg {
  width: 100%;
}
@media (min-width: 768px) {
  .experience__lastImg {
    width: 35%;
  }
}

.experience__caption {
  width: 95%;
  margin-inline: auto;
}

.experience__lastTxts {
  flex: 1;
}

/* ========================================
  団体・スポーツ合宿
======================================== */
@media (min-width: 768px) {
  .sportsIntro {
    padding-top: 4em;
  }
}
.sportsIntro #sub03 {
  position: relative;
}

.sportsIntro__img {
  max-width: 1010px;
  width: 100vw;
  margin-left: calc(50% - 50vw);
}
@media (min-width: 1100px) {
  .sportsIntro__img {
    width: 100%;
  }
}
@media (min-width: 1600px) {
  .sportsIntro__img {
    max-width: unset;
    width: 63.1vw;
  }
}

.sportsIntro__texts {
  position: relative;
  max-width: 694px;
  width: 100%;
  margin-top: -7em;
  margin-left: auto;
}
@media (min-width: 1200px) {
  .sportsIntro__texts {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    padding-top: 6em;
    margin-top: 0;
  }
}

.sportsIntro__heading {
  background: #fff;
  gap: 0;
  font-size: 16px;
  padding-block: 1em;
  padding-inline: 6%;
}
@media (min-width: 768px) {
  .sportsIntro__heading {
    background: transparent;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    gap: 0.1em;
    font-size: 24px;
    padding-block: 0;
    padding-inline: 0;
  }
}
.sportsIntro__heading > span {
  display: block;
  background: #fff;
  padding-block: 0;
  padding-inline: 0;
  margin-left: auto;
}
@media (min-width: 768px) {
  .sportsIntro__heading > span {
    display: inline-block;
    padding-block: 0.3em;
    padding-inline: 5%;
  }
}
.sportsIntro__heading > span:first-child {
  margin-right: 0;
}
@media (min-width: 768px) {
  .sportsIntro__heading > span:first-child {
    margin-right: 2em;
  }
}

.sportsIntro__txt {
  background: #fff;
  padding-top: 2em;
}
@media (min-width: 768px) {
  .sportsIntro__txt {
    padding-block: 2em 1.5em;
    padding-inline: 5.5%;
    margin-top: 4em;
  }
}

/* ========================================
  スポーツ合宿 設備・サービス一覧
======================================== */
.sportsDetails #sub04 {
  max-width: 994px;
  margin-inline: auto;
}

.sportsDetails__list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2em;
}
@media (min-width: 768px) {
  .sportsDetails__list {
    grid-template-columns: repeat(3, 1fr);
    gap: 2em 2.92%;
  }
}

.sportsDetails__item {
  background: #fff;
}

.sportsDetails__imgWrap {
  width: 100%;
}
.sportsDetails__imgWrap > img {
  width: 100%;
  height: auto;
  display: block;
}

.sportsDetails__ttl {
  line-height: 1.6;
}

/* ========================================
  スポーツ合宿 料金シミュレーション
======================================== */
.sportsSimulation #sub05 {
  max-width: 1060px;
  margin-inline: auto;
}

.sportsSimulation__ttl {
  position: relative;
}

.sportsSimulation__list {
  display: flex;
  flex-direction: column;
  gap: 3em;
}
@media (min-width: 768px) {
  .sportsSimulation__list {
    gap: 5em;
  }
}

.sportsSimulation__item {
  display: flex;
  flex-direction: column;
  gap: 1.5em;
}
@media (min-width: 768px) {
  .sportsSimulation__item {
    flex-direction: row;
    align-items: center;
    gap: 5.66%;
  }
}

.sportsSimulation__imgWrap {
  width: 100%;
}
@media (min-width: 768px) {
  .sportsSimulation__imgWrap {
    width: 48%;
    flex-shrink: 0;
  }
}
.sportsSimulation__imgWrap img {
  width: 100%;
  height: auto;
  display: block;
}

.sportsSimulation__content {
  flex: 1;
}

.sportsSimulation__subTtl {
  line-height: 1.6;
}

.sportsSimulation__dlRow {
  display: flex;
  gap: 0.5em;
  padding-block: 0.5em;
}
.sportsSimulation__dlRow > dt {
  width: 6em;
  flex-shrink: 0;
  font-weight: 500;
  padding-top: 0.1em;
}
.sportsSimulation__dlRow > dd {
  flex: 1;
  line-height: 1.7;
  font-weight: 500;
}

.sportsSimulation__exampleList {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2em;
}
@media (min-width: 768px) {
  .sportsSimulation__exampleList {
    grid-template-columns: repeat(3, 1fr);
    gap: 3.5em 2.9%;
  }
}

.sportsSimulation__exampleImgWrap {
  width: 100%;
}
.sportsSimulation__exampleImgWrap img {
  width: 100%;
  height: auto;
  display: block;
}

.sportsSimulation__exampleBody {
  width: 90%;
  margin-inline: auto;
}

.sportsSimulation__exampleTxt {
  margin-top: 0.2em;
}

/* ========================================
  スポーツ合宿 近隣施設
======================================== */
.sportsNearbyFacilities__list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
}
@media (min-width: 768px) {
  .sportsNearbyFacilities__list {
    grid-template-columns: repeat(2, 1fr);
  }
}

.sportsNearbyFacilities__link {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  gap: 0.5em 1em;
  text-decoration: none;
  padding-block: 0.5em;
}
@media (min-width: 768px) {
  .sportsNearbyFacilities__link {
    flex-direction: row;
    align-items: flex-end;
    padding-block: 1em;
  }
}
.sportsNearbyFacilities__link:hover .sportsNearbyFacilities__iconWrap img {
  transform: translateY(0);
}

.sportsNearbyFacilities__nameWrap {
  display: flex;
  align-items: center;
  gap: 0.5em;
}

.sportsNearbyFacilities__name {
  font-size: 14px;
}
@media (min-width: 768px) {
  .sportsNearbyFacilities__name {
    font-size: 16px;
  }
}

.sportsNearbyFacilities__iconWrap {
  width: 12px;
  flex-shrink: 0;
}
.sportsNearbyFacilities__iconWrap img {
  width: 100%;
  height: auto;
  display: block;
}

.sportsNearbyFacilities__address {
  display: block;
}

/* ========================================
  スポーツ合宿 お問い合わせCTA
======================================== */
.sportsContact #sub07 {
  border-radius: 28.421px;
  max-width: 940px;
  margin-inline: auto;
  padding-block: 4em 3em;
  padding-inline: 9%;
}

.sportsContact__telWrap {
  display: block;
  max-width: 559px;
  width: 100%;
  margin-inline: auto;
}
.sportsContact__telWrap > a {
  display: block;
  border-radius: 26.202px;
  padding-block: 1.5em;
}
.sportsContact__telWrap > a:hover .sportsContact__telImg > img {
  transform: translateY(0);
}

.sportsContact__telImg {
  max-width: 200px;
  width: 100%;
  margin-inline: auto;
}
@media (min-width: 768px) {
  .sportsContact__telImg {
    max-width: 244px;
  }
}
.sportsContact__telImg img {
  width: 100%;
  height: auto;
  display: block;
}

/* ========================================
  客室のご案内
======================================== */
.roomIntro > #sub03 {
  padding-top: 2em;
}

.roomIntro__imgBox {
  position: relative;
  width: 100vw;
  margin-left: calc(-50vw + 50%);
}
@media (min-width: 768px) {
  .roomIntro__imgBox {
    width: 100%;
    margin-left: 0;
  }
}

.roomIntro__img {
  max-width: 877px;
  width: 100%;
  margin-left: auto;
}

.roomIntro__heading {
  position: absolute;
  top: 50%;
  left: 6%;
  right: 6%;
  transform: translateY(-50%);
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.5em;
  font-size: 14px;
  letter-spacing: 0.17em;
}
@media (min-width: 768px) {
  .roomIntro__heading {
    font-size: 28px;
    left: 3%;
  }
}
.roomIntro__heading > span {
  background: #fff;
  padding-block: 5px;
  padding-inline: 10px;
}
@media (min-width: 768px) {
  .roomIntro__heading > span {
    padding-block: 10px;
    padding-inline: 18px;
  }
}
.roomIntro__heading > span:last-child {
  margin-left: 1em;
}

.roomIntro__txt {
  max-width: 877px;
  width: 100%;
  margin-left: auto;
}

.roomList__list {
  display: flex;
  flex-direction: column;
  gap: 4em;
}

.roomList__heading {
  border-bottom: 1px solid #CCCCCC;
  padding-bottom: 0.6em;
}

.roomList__cols {
  gap: 5.55%;
}

.roomList__img {
  width: 100%;
}
@media (min-width: 768px) {
  .roomList__img {
    width: 50.3%;
  }
}

.roomList__texts {
  flex: 1;
  padding-top: 2em;
}
@media (min-width: 768px) {
  .roomList__texts {
    padding-right: 6%;
  }
}

.roomList__text {
  border-bottom: 1px solid #F2F2F2;
}

.roomList__btn {
  max-width: 247px;
  width: 100%;
  margin-inline: auto;
  padding-top: 2em;
}
@media (min-width: 768px) {
  .roomList__btn {
    padding-top: 3em;
  }
}

.roomCommitment > #sub05 {
  max-width: 1140px;
  margin-inline: auto;
}

.roomCommitment__ttl {
  font-size: 20px;
}
@media (min-width: 768px) {
  .roomCommitment__ttl {
    font-size: 28px;
    letter-spacing: 0.15em;
  }
}

.roomCommitment__sleepList {
  display: grid;
  grid-template-columns: 1fr;
  gap: 3em;
}
@media (min-width: 768px) {
  .roomCommitment__sleepList {
    grid-template-columns: 1fr 1fr 1fr;
    gap: 3.6%;
  }
}

.roomCommitment__sleepImgWrap {
  width: 70%;
  margin-inline: auto;
}
@media (min-width: 768px) {
  .roomCommitment__sleepImgWrap {
    width: 100%;
  }
}
.roomCommitment__sleepImgWrap img {
  width: 100%;
  height: auto;
  display: block;
}

.roomCommitment__sleepBody {
  width: 86%;
  margin-inline: auto;
}

.roomCommitment__sleepTtl {
  text-align: center;
}
@media (min-width: 768px) {
  .roomCommitment__sleepTtl {
    text-align: left;
  }
}

.roomCommitment__equipList {
  display: grid;
  grid-template-columns: 1fr;
  gap: 3em;
  max-width: 823px;
  width: 100%;
  margin-inline: auto;
}
@media (min-width: 768px) {
  .roomCommitment__equipList {
    grid-template-columns: 1fr 1fr;
    gap: 3em 5.59%;
  }
}

.roomCommitment__equipImgWrap {
  width: 100%;
}
.roomCommitment__equipImgWrap img {
  width: 100%;
  height: auto;
  display: block;
}

.roomCommitment__equipBody {
  width: 88%;
  margin-inline: auto;
}

.roomBanner #sub06 {
  max-width: 807px;
  margin-inline: auto;
}

.roomBanner__link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-inline: 8% 2%;
  width: 100%;
  aspect-ratio: 807/269;
  background-image: url("../img/sub/room_banner_img.jpg");
  background-size: cover;
  background-position: center;
}
.roomBanner__link:hover .roomBanner__iconWrap img {
  transform: translateY(0);
}

.roomBanner__texts {
  font-size: 9.375vw;
}
@media (min-width: 768px) {
  .roomBanner__texts {
    font-size: 72px;
  }
}

.roomBanner__en {
  letter-spacing: 0.02em;
  margin-top: -3%;
  margin-bottom: -6%;
}

.roomBanner__ttl {
  font-size: 0.25em;
}

.roomBanner__sub {
  font-size: 0.41666667em;
}

.roomBanner__iconWrap {
  width: 70px;
  flex-shrink: 0;
  margin-top: 7%;
}
@media (min-width: 768px) {
  .roomBanner__iconWrap {
    width: 100px;
  }
}
.roomBanner__iconWrap img {
  width: 100%;
  height: auto;
  display: block;
}

/* ========================================
  館内のご案内
======================================== */
.facilitiesIntro > #sub03 {
  padding-top: 2em;
}

.facilitiesIntro__imgBox {
  position: relative;
  width: 100vw;
  margin-left: calc(-50vw + 50%);
}
@media (min-width: 768px) {
  .facilitiesIntro__imgBox {
    width: 100%;
    margin-left: 0;
  }
}

.facilitiesIntro__img {
  max-width: 877px;
  width: 100%;
  margin-left: auto;
}

.facilitiesIntro__heading {
  position: absolute;
  top: 50%;
  left: 6%;
  right: 6%;
  transform: translateY(-50%);
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.5em;
  font-size: 14px;
  letter-spacing: 0.17em;
}
@media (min-width: 768px) {
  .facilitiesIntro__heading {
    font-size: 28px;
    left: 3%;
  }
}
.facilitiesIntro__heading > span {
  background: #fff;
  padding-block: 5px;
  padding-inline: 10px;
}
@media (min-width: 768px) {
  .facilitiesIntro__heading > span {
    padding-block: 10px;
    padding-inline: 18px;
  }
}
.facilitiesIntro__heading > span:last-child {
  margin-left: 1em;
}

.facilitiesIntro__txt {
  max-width: 877px;
  width: 100%;
  margin-left: auto;
}

/* ========================================
  館内のご案内 - ご宿泊・駐車場
======================================== */
.facilitiesStay > #sub04 {
  max-width: 1100px;
}

.facilitiesStay__inner {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2em;
}
@media (min-width: 768px) {
  .facilitiesStay__inner {
    grid-template-columns: 1fr 50%;
    align-items: flex-start;
    gap: 4.27%;
  }
}

@media (min-width: 768px) {
  .facilitiesStay__body {
    padding-top: 2em;
    padding-left: 9%;
  }
}

.facilitiesStay__ttl {
  font-size: 22px;
  letter-spacing: 0.26em;
}
@media (min-width: 768px) {
  .facilitiesStay__ttl {
    font-size: 28px;
  }
}

.facilitiesStay__imgWrap img {
  width: 100%;
  height: auto;
  display: block;
}

.facilitiesParking > #sub05 {
  max-width: 1100px;
}

.facilitiesParking__inner {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2em;
}
@media (min-width: 768px) {
  .facilitiesParking__inner {
    grid-template-columns: 50% 1fr;
    align-items: flex-start;
    gap: 4.27%;
  }
}

.facilitiesParking__imgWrap {
  order: 99;
}
@media (min-width: 768px) {
  .facilitiesParking__imgWrap {
    order: unset;
  }
}
.facilitiesParking__imgWrap img {
  width: 100%;
  height: auto;
  display: block;
}

@media (min-width: 768px) {
  .facilitiesParking__body {
    padding-top: 2em;
  }
}

.facilitiesParking__ttl {
  font-size: 22px;
  letter-spacing: 0.26em;
}
@media (min-width: 768px) {
  .facilitiesParking__ttl {
    font-size: 28px;
  }
}

.facilitiesParking__noteBox {
  background: #f0f1f3;
  border-radius: 39.913px;
  max-width: 937px;
  width: 100%;
  margin-inline: auto;
  padding-block: 3em;
  padding-inline: 6.14%;
}
@media (min-width: 768px) {
  .facilitiesParking__noteBox {
    padding-block: 4em 4em;
    padding-inline: 10.14%;
  }
}

.facilitiesParking__notePriceBlock {
  background: #ffffff;
  border-radius: 29.739px;
  padding-block: 2em;
  padding-inline: 13.82%;
}
@media (min-width: 768px) {
  .facilitiesParking__notePriceBlock {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
  }
  .facilitiesParking__notePriceBlock dt {
    grid-column: 1;
    grid-row: 1/3;
    padding-right: 30px;
    margin-right: 0;
  }
  .facilitiesParking__notePriceBlock dd {
    grid-column: 2;
    padding-left: 30px;
  }
}

.facilitiesParking__noteTelBlock {
  max-width: 639px;
  width: 100%;
  margin-inline: auto;
}
.facilitiesParking__noteTelBlock > a {
  display: block;
  background: #ffffff;
  border-radius: 42.761px;
  padding-block: 1.6em;
  padding-inline: 9.7%;
}
.facilitiesParking__noteTelBlock > a:hover img {
  transform: translateY(0);
}

.facilitiesParking__noteTelTtl {
  font-size: 11px;
  line-height: 1.6;
  letter-spacing: 0.03em;
}
@media (min-width: 768px) {
  .facilitiesParking__noteTelTtl {
    order: 1;
  }
}

.facilitiesParking__noteTelTime {
  font-size: 11px;
  letter-spacing: 0.03em;
}
@media (min-width: 768px) {
  .facilitiesParking__noteTelTime {
    order: 3;
  }
}

.facilitiesParking__noteTel {
  font-size: 22px;
  letter-spacing: 0.05em;
  display: flex;
  align-items: center;
  gap: 10px;
}
@media (min-width: 768px) {
  .facilitiesParking__noteTel {
    font-size: 30px;
    order: 2;
  }
  .facilitiesParking__noteTel::before {
    content: "☎";
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #073484;
    color: #ffffff;
    font-size: 18px;
  }
}

/* ========================================
  館内のご案内 - フロア詳細
======================================== */
.facilitiesDetails > #sub06 {
  max-width: 1100px;
  margin-inline: auto;
}

.facilitiesDetails__ttl {
  font-size: 22px;
  letter-spacing: 0.26em;
}
@media (min-width: 768px) {
  .facilitiesDetails__ttl {
    font-size: 28px;
  }
}

.facilitiesFloor__header {
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  gap: 0.5em;
}
@media (min-width: 768px) {
  .facilitiesFloor__header {
    flex-direction: row;
    align-items: flex-end;
    gap: 2.36%;
    padding-left: 5.64%;
  }
}

.facilitiesFloor__num {
  font-size: 50px;
  line-height: 1;
  flex-shrink: 0;
}
@media (min-width: 768px) {
  .facilitiesFloor__num {
    font-size: 64px;
  }
}

.facilitiesFloor__largeList {
  display: grid;
  grid-template-columns: 1fr;
  gap: 3em;
}
@media (min-width: 768px) {
  .facilitiesFloor__largeList {
    grid-template-columns: 1fr 1fr;
    gap: 3.5em 2.73%;
  }
}

.facilitiesFloor__largeItem {
  display: flex;
  flex-direction: column;
}
@media (min-width: 768px) {
  .facilitiesFloor__largeItem {
    display: block;
  }
}

.facilitiesFloor__imgWrap {
  order: 98;
  margin-top: 1em;
}
@media (min-width: 768px) {
  .facilitiesFloor__imgWrap {
    order: unset;
    margin-top: 0;
  }
}

.facilitiesFloor__texts {
  display: contents;
  width: 94%;
  margin-inline: auto;
}
@media (min-width: 768px) {
  .facilitiesFloor__texts {
    display: block;
    width: 86%;
  }
}

.facilitiesFloor__name {
  padding-left: 0.5em;
}

.facilitiesFloor__smallList {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2em 0.5em;
}
@media (min-width: 600px) {
  .facilitiesFloor__smallList {
    grid-template-columns: 1fr 1fr;
    gap: 2em 0.5em;
  }
}
@media (min-width: 768px) {
  .facilitiesFloor__smallList {
    grid-template-columns: repeat(4, 1fr);
    gap: 1.81%;
  }
}
.facilitiesFloor__smallList .facilitiesFloor__name {
  padding-left: 0;
  width: 96%;
  margin-inline: auto;
  margin-top: 0;
}
@media (min-width: 768px) {
  .facilitiesFloor__smallList .facilitiesFloor__name {
    width: 92%;
    margin-top: 1em;
  }
}

.facilitiesFloor__smallItem {
  display: flex;
  flex-direction: column;
}
@media (min-width: 768px) {
  .facilitiesFloor__smallItem {
    display: block;
  }
}

.facilitiesFloor__imgWrap img {
  width: 100%;
  height: auto;
  display: block;
}

.facilitiesFloor__infoBox {
  order: 99;
  background: #f0f1f3;
  border-radius: 15.261px;
  padding: 1.4em 24px;
}
@media (min-width: 768px) {
  .facilitiesFloor__infoBox {
    order: unset;
    padding: 1.4em 33px;
  }
}
.facilitiesFloor__infoBox > p > span {
  font-weight: 500;
}

@media (min-width: 768px) {
  .facilitiesFloor__smallList--3col {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (min-width: 768px) {
  .facilitiesFloor__largeList--1item {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* ========================================
  館内のご案内 - フロアマップ
======================================== */
.facilitiesFloorMap__heading {
  max-width: 1004px;
  width: 100%;
  margin-inline: auto;
  display: flex;
  align-items: baseline;
  gap: 0.5em;
}

.facilitiesFloorMap__headingEn {
  font-size: 50px;
}
@media (min-width: 768px) {
  .facilitiesFloorMap__headingEn {
    font-size: 64px;
  }
}

.facilitiesFloorMap__headingJa {
  font-size: 14px;
  letter-spacing: 0.3em;
}
@media (min-width: 768px) {
  .facilitiesFloorMap__headingJa {
    font-size: 18px;
  }
}

.facilitiesFloorMap__container {
  max-width: 698px;
  width: 100%;
  margin-inline: auto;
}

.facilitiesFloorMap__imgWrap img {
  width: 100%;
  height: auto;
  display: block;
}

.facilitiesFloorMap__imgWrap--1f {
  width: 85%;
}

.facilitiesFloorMap__imgWrap--2f {
  width: 90.1%;
}

.facilitiesFloorMap__imgWrap--3f {
  width: 100%;
}

.facilitiesFloorMap__imgWrap--4f {
  width: 100%;
}

.facilitiesFloorMap__roomBox {
  max-width: 667px;
  width: 100%;
  background: #f0f1f3;
  border-radius: 15.3px;
  padding-block: 2em;
  padding-inline: 8%;
}
@media (min-width: 768px) {
  .facilitiesFloorMap__roomBox {
    padding-block: 3em;
  }
}

.facilitiesFloorMap__roomTtl {
  letter-spacing: 0.05em;
}

/* ========================================
  お食事
======================================== */
.diningIntro__headingWrap {
  max-width: 1020px;
  width: 100%;
  margin-inline: auto;
}

.diningIntro > #sub03 {
  padding-top: 0;
}
@media (min-width: 1600px) {
  .diningIntro > #sub03 {
    max-width: 67vw;
  }
}

.diningIntro__imgBox {
  position: relative;
  width: 100vw;
  margin-left: calc(-50vw + 50%);
}
@media (min-width: 768px) {
  .diningIntro__imgBox {
    width: calc((100vw - 100%) / 2 + 100%);
    margin-left: 0;
  }
}

.diningIntro__img {
  max-width: 1107px;
  width: 100%;
  aspect-ratio: 1/1;
  margin-left: auto;
}
@media (min-width: 768px) {
  .diningIntro__img {
    aspect-ratio: unset;
  }
}
@media (min-width: 1600px) {
  .diningIntro__img {
    max-width: unset;
    width: 69.2vw;
  }
}
.diningIntro__img > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
@media (min-width: 768px) {
  .diningIntro__img > img {
    height: auto;
  }
}

.diningIntro__texts {
  position: absolute;
  bottom: 1em;
  left: 6%;
  right: 6%;
}
@media (min-width: 768px) {
  .diningIntro__texts {
    bottom: unset;
    top: 32%;
    left: 5%;
    transform: translateY(-50%);
  }
}

.diningIntro__catchTtl {
  display: inline-block;
  font-size: 16px;
  letter-spacing: 0.26em;
  background: rgba(255, 255, 255, 1);
  padding-block: 5px;
  padding-inline: 10px;
}
@media (min-width: 768px) {
  .diningIntro__catchTtl {
    font-size: 34px;
    padding-block: 13px;
    padding-inline: 18px;
  }
}

.diningIntro__catchTxt {
  display: inline-block;
  background: rgba(255, 255, 255, 1);
  margin-top: 1em;
  padding-block: 5px;
  padding-inline: 10px;
}
@media (min-width: 768px) {
  .diningIntro__catchTxt {
    margin-top: 3em;
    padding-block: 10px;
    padding-inline: 18px;
  }
}

/* ========================================
  diningWakuya セクション
======================================== */
.diningWakuya > #sub04 {
  width: 100%;
  max-width: 100%;
}

.diningWakuya__inner {
  max-width: 1100px;
  width: 88%;
  margin-inline: auto;
}

.diningWakuya__restaurant {
  display: flex;
  flex-direction: column;
  gap: 2em;
}
@media (min-width: 768px) {
  .diningWakuya__restaurant {
    flex-direction: row;
    align-items: flex-end;
    gap: 3.6%;
    width: calc((100vw - 100%) / 2 * 0.144 + 100%);
  }
}

.diningWakuya__menuItem {
  display: flex;
  flex-direction: column-reverse;
  gap: 0.5em;
}
@media (min-width: 768px) {
  .diningWakuya__menuItem {
    flex-direction: column;
  }
}

.diningWakuya__mainImgWrap {
  width: 100%;
}
@media (min-width: 768px) {
  .diningWakuya__mainImgWrap {
    width: 42.3%;
  }
}
.diningWakuya__mainImgWrap img {
  width: 100%;
  height: auto;
  display: block;
}

.diningWakuya__info {
  flex: 1;
}

.diningWakuya__name {
  font-size: 22px;
}
@media (min-width: 768px) {
  .diningWakuya__name {
    font-size: 28px;
  }
}

.diningWakuya__subImgs {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}
@media (min-width: 768px) {
  .diningWakuya__subImgs {
    gap: 12px;
  }
}

.diningWakuya__subImgWrap img {
  width: 100%;
  height: auto;
  display: block;
}

.diningWakuya__menuTtl {
  border-bottom: 1px solid #CCCCCC;
  margin-left: 0.5em;
  padding-bottom: 0.3em;
}

.diningWakuya__menuList {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2em 8px;
}
@media (min-width: 600px) {
  .diningWakuya__menuList {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 768px) {
  .diningWakuya__menuList {
    grid-template-columns: repeat(3, 1fr);
    gap: 2em 10px;
    width: calc((100vw - 100%) / 2 * 0.48 + 100%);
  }
}

.diningWakuya__menuImgWrap img {
  width: 100%;
  height: auto;
  display: block;
}

.diningWakuya__menuName {
  width: 90%;
  margin-inline: auto;
}

.diningWakuya__banner {
  max-width: 1355px;
  width: 88%;
  margin-inline: auto;
  position: relative;
}

.diningWakuya__bannerInner {
  position: relative;
  display: block;
}
.diningWakuya__bannerInner img:first-child {
  width: 100%;
  height: auto;
  display: block;
}

.diningWakuya__bannerArrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: -8px;
  width: 60px;
}
@media (min-width: 768px) {
  .diningWakuya__bannerArrow {
    top: 55%;
    right: -16px;
    width: 111px;
  }
}
.diningWakuya__bannerArrow img {
  width: 100%;
  height: auto;
  display: block;
}

/* ========================================
  diningBreakfast セクション
======================================== */
.diningBreakfast > #sub05 {
  max-width: 1100px;
  margin-inline: auto;
}

.diningBreakfast__headingWrap {
  max-width: 1020px;
  width: 100%;
  margin-inline: auto;
}

.diningBreakfast #sub05 {
  max-width: 1310px;
}

.diningBreakfast__imgBox {
  position: relative;
  width: 100vw;
  margin-left: calc(-50vw + 50%);
}
@media (min-width: 768px) {
  .diningBreakfast__imgBox {
    width: calc((100vw - 100%) / 2 + 100%);
  }
}

.diningBreakfast__img {
  max-width: 1108px;
  width: 100%;
  aspect-ratio: 1/1;
}
@media (min-width: 768px) {
  .diningBreakfast__img {
    aspect-ratio: unset;
  }
}
@media (min-width: 1600px) {
  .diningBreakfast__img {
    max-width: unset;
    width: 69.25vw;
  }
}
.diningBreakfast__img img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
@media (min-width: 768px) {
  .diningBreakfast__img img {
    height: auto;
  }
}

.diningBreakfast__texts {
  max-width: 623px;
  width: auto;
  position: absolute;
  bottom: 1em;
  right: 6%;
  left: 6%;
}
@media (min-width: 768px) {
  .diningBreakfast__texts {
    width: 100%;
    top: 56%;
    bottom: 2.5em;
    left: unset;
    right: -1em;
  }
}

.diningBreakfast__catchTtl {
  display: inline-block;
  font-size: 16px;
  letter-spacing: 0.26em;
  background: rgba(255, 255, 255, 1);
  padding-block: 5px;
  padding-inline: 10px;
}
@media (min-width: 768px) {
  .diningBreakfast__catchTtl {
    font-size: 34px;
    padding-block: 12px;
    padding-inline: 18px;
  }
}

.diningBreakfast__catchTxt {
  display: inline-block;
  background: rgba(255, 255, 255, 1);
  padding-block: 5px;
  padding-inline: 10px;
}
@media (min-width: 768px) {
  .diningBreakfast__catchTxt {
    padding-block: 10px;
    padding-inline: 18px;
  }
}

.diningBreakfast__restaurant {
  max-width: 1100px;
  width: 100%;
  margin-inline: auto;
}

.diningBreakfast__restaurantInner {
  display: flex;
  flex-direction: column;
  gap: 2em;
}
@media (min-width: 768px) {
  .diningBreakfast__restaurantInner {
    flex-direction: row;
    align-items: flex-end;
    gap: 4%;
    width: calc((100vw - 100%) / 2 * 0.144 + 100%);
  }
}

.diningBreakfast__mainImgWrap {
  width: 100%;
}
@media (min-width: 768px) {
  .diningBreakfast__mainImgWrap {
    width: 42.3%;
  }
}
.diningBreakfast__mainImgWrap img {
  width: 100%;
  height: auto;
  display: block;
}

.diningBreakfast__info {
  flex: 1;
}

.diningBreakfast__name {
  font-size: 22px;
}
@media (min-width: 768px) {
  .diningBreakfast__name {
    font-size: 28px;
  }
}

.diningBreakfast__subImgs {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}
@media (min-width: 768px) {
  .diningBreakfast__subImgs {
    gap: 12px;
  }
}

.diningBreakfast__subImgWrap img {
  width: 100%;
  height: auto;
  display: block;
}

/* ========================================
  diningBeerGarden セクション
======================================== */
.diningBeerGarden > #sub06 {
  padding-top: 2em;
}
@media (min-width: 1600px) {
  .diningBeerGarden > #sub06 {
    max-width: 67vw;
  }
}

.diningBeerGarden__headingWrap {
  max-width: 1020px;
  width: 100%;
  margin-inline: auto;
}

.diningBeerGarden__imgBox {
  position: relative;
  width: 100vw;
  margin-left: calc(-50vw + 50%);
}
@media (min-width: 768px) {
  .diningBeerGarden__imgBox {
    width: calc((100vw - 100%) / 2 + 100%);
    margin-left: 0;
  }
}

.diningBeerGarden__img {
  max-width: 1107px;
  width: 100%;
  aspect-ratio: 1/1;
  margin-left: auto;
}
@media (min-width: 768px) {
  .diningBeerGarden__img {
    aspect-ratio: unset;
  }
}
@media (min-width: 1600px) {
  .diningBeerGarden__img {
    max-width: unset;
    width: 69.2vw;
  }
}
.diningBeerGarden__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
@media (min-width: 768px) {
  .diningBeerGarden__img img {
    height: auto;
  }
}

.diningBeerGarden__texts {
  position: absolute;
  bottom: 1em;
  left: 6%;
  right: 6%;
}
@media (min-width: 768px) {
  .diningBeerGarden__texts {
    transform: translateY(-50%);
    bottom: unset;
    top: 35%;
    left: 4%;
  }
}

.diningBeerGarden__catchTtl {
  display: inline-block;
  font-size: 16px;
  background: rgba(255, 255, 255, 1);
  padding-block: 5px;
  padding-inline: 10px;
}
@media (min-width: 768px) {
  .diningBeerGarden__catchTtl {
    font-size: 41px;
    padding-block: 10px;
    padding-inline: 18px;
  }
}

.diningBeerGarden__catchTxt {
  max-width: 642px;
  width: 100%;
  display: inline-block;
  background: rgba(255, 255, 255, 1);
  margin-top: 1em;
  padding-block: 5px;
  padding-inline: 10px;
}
@media (min-width: 768px) {
  .diningBeerGarden__catchTxt {
    margin-top: 3em;
    padding-block: 10px;
    padding-inline: 18px;
  }
}

.diningBeerGarden__btnWrap {
  max-width: 531px;
  width: 100%;
  margin-inline: auto;
}

.diningBeerGarden__btn {
  display: block;
  width: 100%;
  text-decoration: none;
  text-align: center;
  border-radius: 43.2px;
  padding: 22px 1em;
}
@media (min-width: 768px) {
  .diningBeerGarden__btn {
    padding: 28.5px 1em;
  }
}

/* ========================================
  求人情報
======================================== */
.recruitIntro > #sub03 {
  padding-top: 0;
}
@media (min-width: 1600px) {
  .recruitIntro > #sub03 {
    max-width: 67vw;
  }
}

.recruitIntro__imgBox {
  position: relative;
  width: calc((100vw - 100%) / 2 + 100%);
}
@media (min-width: 768px) {
  .recruitIntro__imgBox {
    margin-left: 0;
  }
}

.recruitIntro__img {
  position: relative;
  max-width: 849px;
  width: 100%;
  margin-left: auto;
}
@media (min-width: 768px) {
  .recruitIntro__img {
    aspect-ratio: unset;
  }
}
@media (min-width: 1600px) {
  .recruitIntro__img {
    max-width: unset;
    width: 53vw;
  }
}
.recruitIntro__img::before {
  content: "";
  display: block;
  width: 32.39%;
  aspect-ratio: 275/258;
  background: #F2F2F2;
  position: absolute;
  top: -1em;
  left: -1.3em;
}
@media (min-width: 768px) {
  .recruitIntro__img::before {
    top: -2.2em;
    left: -2.2em;
  }
}
.recruitIntro__img > img {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
@media (min-width: 768px) {
  .recruitIntro__img > img {
    height: auto;
  }
}

.recruitIntro__subImg {
  position: relative;
  width: 40%;
  position: absolute;
  bottom: -3em;
  left: 13%;
}
@media (min-width: 1200px) {
  .recruitIntro__subImg {
    width: 34.4%;
    left: 12.4em;
  }
}
.recruitIntro__subImg::before {
  content: "";
  display: block;
  width: 59%;
  aspect-ratio: 273/258;
  background: #F2F2F2;
  position: absolute;
  bottom: -1em;
  left: -1.3em;
}
@media (min-width: 768px) {
  .recruitIntro__subImg::before {
    bottom: -1.5em;
    left: -2.6em;
  }
}
.recruitIntro__subImg > img {
  position: relative;
  z-index: 1;
}

.recruitIntro__texts {
  position: absolute;
  bottom: -13em;
  left: 0%;
  right: 6%;
  z-index: 2;
}
@media (min-width: 768px) {
  .recruitIntro__texts {
    bottom: unset;
    top: 31%;
    left: 1.5%;
    transform: translateY(-50%);
  }
}

.recruitIntro__catchTxt {
  width: 100%;
  margin-left: auto;
}
@media (min-width: 768px) {
  .recruitIntro__catchTxt {
    width: 56.62%;
    margin-left: 0;
  }
}

/* ========================================
  recruitDescription セクション
======================================== */
.recruitDescription {
  position: relative;
}
.recruitDescription > #sub04 {
  max-width: 860px;
  padding-top: 1.5em;
}

@media (min-width: 768px) {
  .recruitDescription__introWrap {
    padding-left: 5%;
  }
}

.recruitDescription__imgWrap01 {
  max-width: 400px;
  width: 100%;
  margin-top: 0.5em;
  margin-inline: auto;
}
@media (min-width: 990px) {
  .recruitDescription__imgWrap01 {
    margin-top: 0;
    margin-left: 0;
    margin-right: 0;
    position: absolute;
    top: 5em;
    right: -3em;
    max-width: 770px;
    width: 40.13%;
    z-index: 1;
  }
}
@media (min-width: 1600px) {
  .recruitDescription__imgWrap01 {
    max-width: unset;
    right: 0;
    width: 35.13%;
  }
}

.recruitDescription__imgWrap02 {
  max-width: 500px;
  width: 100%;
  margin-inline: auto;
  transform: translateX(6%);
}
@media (min-width: 990px) {
  .recruitDescription__imgWrap02 {
    transform: unset;
    margin-left: 0;
    position: absolute;
    bottom: 20em;
    right: 6em;
    width: 30%;
    max-width: 955px;
    z-index: 1;
  }
}
@media (min-width: 1601px) {
  .recruitDescription__imgWrap02 {
    max-width: unset;
    right: 6em;
    width: 30%;
  }
}

.recruitDescription__left {
  width: 100%;
}

.recruitDescription__ttl {
  font-size: 19px;
  padding-bottom: 0.2em;
  border-bottom: 1px solid #CCCCCC;
}
@media (min-width: 768px) {
  .recruitDescription__ttl {
    font-size: 24px;
  }
}

@media (min-width: 768px) {
  .recruitDescription__list {
    padding-left: 5%;
  }
}

.recruitDescription__item {
  display: grid;
  grid-template-columns: 1fr;
  padding-block: 0.8em;
}

.recruitDescription__label {
  color: #808080;
}

.recruitDescription__content {
  max-width: 730px;
  width: 100%;
  line-height: 2;
}

.recruitDescription__txtsWrap {
  padding-left: 1em;
}

.recruitDescription__right {
  display: none;
}
@media (min-width: 768px) {
  .recruitDescription__right {
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    width: 36%;
  }
}

.recruitDescription__imgWrap img {
  width: 100%;
  height: auto;
  display: block;
}

/* ========================================
  recruitFlow セクション
======================================== */
.recruitFlow > #sub05 {
  max-width: 100%;
  width: 100%;
  margin-inline: auto;
  padding-inline: 6%;
}
@media (min-width: 768px) {
  .recruitFlow > #sub05 {
    padding-inline: 0 2%;
  }
}

.recruitFlow__body {
  display: flex;
  flex-direction: column-reverse;
  gap: 1em;
}
@media (min-width: 768px) {
  .recruitFlow__body {
    flex-direction: row;
    align-items: flex-start;
    gap: 39px;
  }
}

.recruitFlow__imgWrap {
  width: 100%;
}
@media (min-width: 768px) {
  .recruitFlow__imgWrap {
    width: 42.5%;
    flex-shrink: 0;
  }
}
.recruitFlow__imgWrap img {
  width: 100%;
  height: auto;
  display: block;
}

@media (min-width: 768px) {
  .recruitFlow__right {
    flex: 1;
  }
}

.recruitFlow__ttl {
  font-size: 19px;
  padding-bottom: 0.2em;
  border-bottom: 1px solid #CCCCCC;
}
@media (min-width: 768px) {
  .recruitFlow__ttl {
    font-size: 24px;
  }
}

.recruitFlow__item {
  display: grid;
  grid-template-columns: 3em 1fr;
  align-items: baseline;
  gap: 25px;
}
@media (min-width: 768px) {
  .recruitFlow__item {
    grid-template-columns: 6.5em 1fr;
    gap: 30px;
  }
}
.recruitFlow__item:last-child .recruitFlow__content {
  grid-column: 1/3;
  grid-row: 1/2;
}
@media (min-width: 768px) {
  .recruitFlow__item:last-child .recruitFlow__content {
    grid-column: unset;
    grid-row: unset;
  }
}

.recruitFlow__time {
  text-align: right;
  font-weight: 500;
}

.recruitFlow__content {
  line-height: 1.8;
  font-weight: 500;
}

/* ========================================
  メンズサウナプラザ
======================================== */
/* ========================================
  saunaspaIntro セクション
======================================== */
.saunaspaIntro > #sub03 {
  max-width: 1012px;
  margin-inline: auto;
  padding-top: 1em;
}

.saunaspaIntro__hours {
  border-radius: 22.168px;
  border: 1px solid #E2E2E2;
  display: flex;
  gap: 9.52%;
  padding: 2.5em 9.02%;
}

.saunaspaIntro__hoursItem {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.2em;
}
@media (min-width: 600px) {
  .saunaspaIntro__hoursItem {
    grid-template-columns: max-content 1fr;
    align-items: baseline;
  }
}

.saunaspaIntro__hoursLabel,
.saunaspaIntro__hoursTime {
  line-height: 1.8;
}

.saunaspaIntro__hoursNote {
  display: inline-block;
}

@media (min-width: 768px) {
  .saunaspaIntro__hoursInfo {
    padding-left: 1em;
  }
}

.saunaspaIntro__navBtns {
  display: flex;
  flex-wrap: wrap;
  gap: 1em;
  justify-content: center;
}

.saunaspaIntro__navBtnLink {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 280px;
  padding: 1.1em 2em;
  border-radius: 50px;
  border: 2px solid transparent;
  background: linear-gradient(#fff, #fff) padding-box, linear-gradient(to right, #0052a0, #082a54) border-box;
  color: #082a54;
  letter-spacing: 0.1em;
  transition: background 0.3s, color 0.3s;
}
@media (min-width: 600px) {
  .saunaspaIntro__navBtnLink {
    min-width: 248px;
  }
}
.saunaspaIntro__navBtnLink:hover > span::after {
  top: 70%;
}
.saunaspaIntro__navBtnLink > span {
  position: relative;
  display: flex;
  align-items: center;
  gap: 12px;
}
.saunaspaIntro__navBtnLink > span::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: -18.5px;
  width: 6.5px;
  aspect-ratio: 6.5/3.8;
  background: url("../img/common/icon_arrow_navy.svg");
  transition: all 0.3s ease;
}

/* ========================================
  saunaspaPrice セクション
======================================== */
.saunaspaPrice > #sub04 {
  padding-top: 2em;
}

.saunaspaPrice__inner {
  max-width: 1008px;
  margin-inline: auto;
}

@media (min-width: 768px) {
  .saunaspaPrice__heading > span:last-child {
    display: inline-block;
    text-indent: 2em;
  }
}

.saunaspaPrice__img img {
  width: 100%;
  height: auto;
  display: block;
}

.saunaspaPrice__table {
  border-radius: 22px;
  border: 1px solid #E2E2E2;
  padding-block: 2.5em 3em;
  padding-inline: 7% 5%;
}

.saunaspaPrice__row {
  display: flex;
  flex-direction: column;
  gap: 2em;
}
@media (min-width: 768px) {
  .saunaspaPrice__row {
    flex-direction: row;
    align-items: flex-start;
    gap: 9.22%;
  }
}

.saunaspaPrice__ttl {
  flex-shrink: 0;
  line-height: 1.6;
}
@media (min-width: 768px) {
  .saunaspaPrice__ttl {
    width: max-content;
  }
}

@media (min-width: 768px) {
  .saunaspaPrice__body {
    flex: 1;
  }
}

.saunaspaPrice__cols {
  display: flex;
  flex-direction: column;
  gap: 0;
}
@media (min-width: 600px) {
  .saunaspaPrice__cols {
    flex-direction: row;
    gap: 2em;
  }
}

.saunaspaPrice__list {
  flex: 1;
}
.saunaspaPrice__list:first-child {
  flex: 0.8;
}

.saunaspaPrice__item {
  line-height: 2;
}

/* ========================================
  saunaspaSauna セクション
======================================== */
.saunaspaSauna__inner {
  max-width: 1008px;
  margin-inline: auto;
}

.saunaspaSauna__cols {
  display: flex;
  flex-direction: column;
  gap: 2em;
}
@media (min-width: 768px) {
  .saunaspaSauna__cols {
    flex-direction: row;
    align-items: flex-start;
    gap: 5%;
  }
}

@media (min-width: 768px) {
  .saunaspaSauna__imgWrap {
    width: 36.9%;
    flex-shrink: 0;
  }
}
.saunaspaSauna__imgWrap img {
  width: 100%;
  height: auto;
  display: block;
}

@media (min-width: 768px) {
  .saunaspaSauna__body {
    flex: 1;
  }
}

.saunaspaSauna__ttl {
  line-height: 1.8;
  font-size: 14px;
}
@media (min-width: 768px) {
  .saunaspaSauna__ttl {
    font-size: 16px;
  }
}

/* ========================================
  saunaspaEffects セクション
======================================== */
.saunaspaEffects {
  max-width: 754px;
  width: 100%;
  margin-inline: auto;
}

.saunaspaEffects__headingWrap {
  border-radius: 25.011px;
  text-align: center;
  display: inline-block;
  max-width: 309px;
  width: 100%;
  padding-block: 0.9em;
}

.saunaspaEffects__ttl {
  line-height: 1.6;
}

@media (min-width: 768px) {
  .saunaspaEffects__body {
    width: calc((100vw - 100%) / 2 * 0.2 + 100%);
  }
}

.saunaspaEffects__inner {
  padding-inline: 2%;
}

.saunaspaEffects__list {
  list-style: none;
}

.saunaspaEffects__itemTtl {
  line-height: 1.6;
}

.saunaspaEffects__txt {
  padding-left: 0;
}
@media (min-width: 768px) {
  .saunaspaEffects__txt {
    padding-left: 1em;
  }
}

/* ========================================
  saunaspaDaiyokujou セクション
======================================== */
.saunaspaDaiyokujou__inner {
  max-width: 1008px;
  margin-inline: auto;
}

.saunaspaDaiyokujou__ttl {
  font-size: 22px;
}
@media (min-width: 768px) {
  .saunaspaDaiyokujou__ttl {
    font-size: 28px;
  }
}

.saunaspaDaiyokujou__topImg img {
  width: 100%;
  height: auto;
  display: block;
}

.saunaspaDaiyokujou__featureList {
  max-width: 1008px;
  margin-inline: auto;
  display: grid;
  grid-template-columns: 1fr;
  gap: 2em 3.2%;
}
@media (min-width: 768px) {
  .saunaspaDaiyokujou__featureList {
    grid-template-columns: 1fr 1fr;
  }
}

.saunaspaDaiyokujou__featureItem {
  display: flex;
  flex-direction: column-reverse;
  gap: 1em;
}
@media (min-width: 768px) {
  .saunaspaDaiyokujou__featureItem {
    flex-direction: column;
  }
}

.saunaspaDaiyokujou__featureImgWrap img {
  width: 100%;
  height: auto;
  display: block;
}

.saunaspaDaiyokujou__featureLabel {
  line-height: 1.6;
  width: 96%;
  margin-inline: auto;
}
@media (min-width: 768px) {
  .saunaspaDaiyokujou__featureLabel {
    width: 100%;
  }
}

/* ========================================
  saunaspaAmenities セクション
======================================== */
.saunaspaAmenities__inner {
  max-width: 1008px;
  margin-inline: auto;
}

.saunaspaAmenities__ttl {
  font-size: 22px;
}
@media (min-width: 768px) {
  .saunaspaAmenities__ttl {
    font-size: 28px;
  }
}

.saunaspaAmenities__row {
  display: flex;
  flex-direction: column;
  gap: 0.4em;
  padding-block: 0.5em;
}
@media (min-width: 600px) {
  .saunaspaAmenities__row {
    flex-direction: row;
    align-items: baseline;
    gap: 2em;
  }
}

.saunaspaAmenities__label {
  flex-shrink: 0;
}
@media (min-width: 600px) {
  .saunaspaAmenities__label {
    width: 140px;
  }
}

/* ========================================
  多言語ページ
======================================== */
.otherLang {
  padding-top: 46px;
}
@media (min-width: 768px) {
  .otherLang {
    padding-top: 0;
  }
}

.otherLangMv {
  width: 100%;
  aspect-ratio: 10/6;
  background: url("../img/sub/otherLang_mv_bg.jpg") center/cover no-repeat;
}
@media (min-width: 768px) {
  .otherLangMv {
    aspect-ratio: unset;
    min-height: 657.7px;
  }
}
@media (min-width: 1600px) {
  .otherLangMv {
    min-height: unset;
    aspect-ratio: 1600/657.7;
  }
}

.otherLangMv__ttl {
  opacity: 0;
  visibility: hidden;
}

.otherLangIntro--chaina .otherLangIntro__texts {
  margin-top: -15%;
}
@media (min-width: 768px) {
  .otherLangIntro--chaina .otherLangIntro__texts {
    max-width: 685px;
    top: 71%;
    margin-top: 0;
  }
}
.otherLangIntro--chaina .otherLangIntro__texts > span {
  padding-inline: 1.3rem;
}
@media (min-width: 768px) {
  .otherLangIntro--chaina .otherLangIntro__texts > span {
    padding-inline: 1.5rem;
  }
}

.otherLangIntro__inner {
  max-width: 774px;
  width: 100%;
  margin-inline: auto;
}

.otherLangIntro__cols {
  position: relative;
  width: 100vw;
  margin-left: calc(50% - 50vw);
}
@media (min-width: 768px) {
  .otherLangIntro__cols {
    width: calc((100vw - 100%) / 2 + 100%);
  }
}

.otherLangIntro__img {
  width: 100%;
}
@media (min-width: 768px) {
  .otherLangIntro__img {
    width: 84%;
  }
}

.otherLangIntro__texts {
  position: static;
  top: 65%;
  right: 0;
  width: 88%;
  font-size: 4.6vw;
  line-height: 1.8;
  font-weight: 900;
  margin-inline: auto;
  margin-top: -14%;
}
@media (min-width: 768px) {
  .otherLangIntro__texts {
    transform: translateY(-50%);
    position: absolute;
    max-width: 630px;
    width: 100%;
    font-size: 37px;
    margin-inline: 0;
    margin-top: 0;
  }
}
.otherLangIntro__texts > span {
  display: inline-block;
  background-color: #082A54;
  padding-inline: 1.5rem;
  padding-block: 0.25em;
}
.otherLangIntro__texts > span:last-child {
  transform: translateY(-3%);
}
@media (min-width: 768px) {
  .otherLangIntro__texts > span:last-child {
    transform: translateY(-24%);
  }
}

.otherLangIntro__contents {
  max-width: 1080px;
  width: 100%;
  margin-inline: auto;
}

/* ========================================
  英語ページ セクション共通ヘッダー帯
  （Our Rooms / Dining / Attractions / Hotel Facilities）
======================================== */
.otherLangSection__header, .otherLangSection__header--bgLong {
  position: relative;
  display: inline-block;
  width: auto;
  margin-left: calc(50% - 50vw);
  background: #082A54;
  padding-block: 12px;
  padding-inline: calc(50vw - 50%) 70px;
}
@media (min-width: 768px) {
  .otherLangSection__header, .otherLangSection__header--bgLong {
    background: #082A54;
    width: calc(50vw - 50% + 270px);
    padding-block: 16px;
    padding-inline: calc(50vw - 50% + 35px) 0;
  }
}
@media (min-width: 1020px) {
  .otherLangSection__header, .otherLangSection__header--bgLong {
    background: #082A54;
  }
}
.otherLangSection__header--bgLong {
  width: auto;
}
@media (min-width: 768px) {
  .otherLangSection__header--bgLong {
    width: calc(50vw - 50% + 306px);
  }
}

.otherLangSection__ttl {
  display: inline-block;
}

/* ========================================
  英語ページ Our Rooms セクション
======================================== */
.otherLangRooms #sub03 {
  max-width: 1020px;
}

.otherLangRooms__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 3em 14px;
}
@media (min-width: 768px) {
  .otherLangRooms__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 6em 14px;
  }
}

.otherLangRooms__imgWrap img {
  width: 100%;
  height: auto;
  display: block;
}

.otherLangRooms__body {
  width: 96%;
  margin-inline: auto;
}

.otherLangRooms__btnWrap {
  display: inline-block;
  max-width: 202px;
  width: 100%;
}

.otherLangRooms__btn {
  text-align: center;
  display: block;
  width: 100%;
  background: #1A1A1A;
  padding-block: 0.45em;
  padding-inline: 1em;
  white-space: nowrap;
}

.otherLangRooms__amenities {
  padding-block: 2em;
  padding-inline: 5%;
}
@media (min-width: 768px) {
  .otherLangRooms__amenities {
    padding-inline: 2.5em;
  }
}

.otherLangRooms__amenitiesTtl {
  letter-spacing: 0.05em;
}

.otherLangRooms__amenitiesTxt {
  letter-spacing: 0.03em;
}

/* ========================================
  英語ページ Dining セクション
======================================== */
.otherLangDining #sub04 {
  max-width: 1020px;
}

.otherLangDining__lead {
  max-width: 900px;
}

.otherLangDining__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 3em 14px;
}
@media (min-width: 768px) {
  .otherLangDining__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 3em 14px;
  }
}

.otherLangDining__imgWrap img {
  width: 100%;
  height: auto;
  display: block;
}

.otherLangDining__caption {
  letter-spacing: 0.05em;
  width: 94%;
  margin-inline: auto;
}

/* ========================================
  英語ページ - Attractions
======================================== */
.otherLangAttractions #sub05 {
  max-width: 1020px;
}

.otherLangAttractions__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 3em 14px;
}
@media (min-width: 768px) {
  .otherLangAttractions__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 3em 14px;
  }
}

.otherLangAttractions__imgWrap img {
  width: 100%;
  height: auto;
  display: block;
}

.otherLangAttractions__body {
  width: 93%;
  margin-inline: auto;
}

/* ========================================
  英語ページ - Hotel Facilities
======================================== */
.otherLangFacilities #sub06 {
  max-width: 1020px;
}

.otherLangFacilities__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 3em 14px;
}
@media (min-width: 768px) {
  .otherLangFacilities__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 4em 14px;
  }
}

.otherLangFacilities__imgWrap img {
  width: 100%;
  height: auto;
  display: block;
}

.otherLangFacilities__body {
  width: 92%;
  margin-inline: auto;
}

/* ========================================
  404ページ
======================================== */
.subHero__ttlBox.notFound {
  display: flex;
  align-items: center;
}

.notFound__heroNum {
  background: #082A54;
  font-size: 60px;
  font-weight: 600;
  color: #fff;
  letter-spacing: 0.1em;
  line-height: 1;
  padding-block: 0.5rem 0.8rem;
  padding-inline: 4rem;
}
@media (min-width: 768px) {
  .notFound__heroNum {
    font-size: 80px;
  }
}

.notFoundContent #sub03 {
  padding-top: 0;
}

.notFoundContent__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding-block: 60px;
}
@media (min-width: 768px) {
  .notFoundContent__inner {
    padding-block: 80px;
  }
}

.notFoundContent__num {
  font-size: 100px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.05em;
  background: linear-gradient(135deg, #082A54, #29ABE2);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
@media (min-width: 768px) {
  .notFoundContent__num {
    font-size: 160px;
  }
}

.notFoundContent__ttl {
  font-size: 18px;
  margin-top: 0.5em;
  color: #1A1A1A;
}
@media (min-width: 768px) {
  .notFoundContent__ttl {
    font-size: 22px;
  }
}

.notFoundContent__btnWrap {
  display: inline-block;
}

.notFoundContent__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 14px 50px;
  border: 2px solid #082A54;
  color: #082A54;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.2em;
  transition: background 0.3s, color 0.3s;
}
.notFoundContent__btn:hover {
  background: #082A54;
  color: #fff;
}