/* =====================================================================================
========================================================================================
   【Base】元ファイル：style.css（1024px〜）
========================================================================================
====================================================================================== */
/*
Theme Name: Precious Hotel
Description:
Version:
Author:
*/
@charset "utf-8";

body {
  margin: 0;
  max-width: 100%;
  height: 100%;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 300;
  color: #3a3a3a;
}

ul, h2, h3, p {
  margin: 0;
  padding: 0;
}

img {
  vertical-align: top;
}

a {
  text-decoration: none;
}

li {
  list-style: none;
}

/*********************************************************************
******************************** header *****************************＊
**********************************************************************/
.header {
  width: 100%;
  height: 100%;
}

.header-movie {
  width: 100%;
  height: auto;
  max-width: 100%;
  display: block;
}

.header-movie video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.header-movie-mobile {
  width: 100%;
  height: auto;
  display: none;
}

.header-movie video,
.header-movie-mobile video {
  display: block;
  background: #fff; /* 念のための保険 */
}

.header-movie-mobile video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* スクロールオブジェ */
.scroll-indicator {
  display: none;
  position: absolute;
  bottom: 40px;
  left: 50%;
  transform: translateX(-50%);

}

.indicator-container {
  height: 40px;
  border: 0.5px solid #fff;
  border-radius: 20px; /* 角丸 */
  padding: 20px 10px; /* 内側の余白 */
  display: flex; /* フレックスボックスを使用 */
  justify-content: center; /* 中央揃え */
  align-items: center; /* 垂直方向に中央揃え */
}

.arrow {
  width: 0;
  height: 0;
  border-left: 7px solid transparent;
  border-right: 7px solid transparent;
  border-top: 15px solid #fff;
  animation: bounce 2s infinite;
}

@keyframes bounce {
    0%, 100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(15px);
    }
}

.hidden {
  display: none; /* 矢印を非表示にするクラス */
}

.header-top-wrap {
  display: none;
}

.header-top {
  width: 100%;
  position: fixed;
  top: 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  z-index: 999;
  background: none;
}

.header-top.change-color {/*****スクロール後***** */
	align-items: center;
	top: 0;
	height: 60px;
	background: rgba(254, 104, 104, 0.5);
	transition: all .5s;
}

.header-top-brand {
  width: 200px;
  /* height: 100%; */
  margin-left: 30px;
}

.header-top-brand a {
  /* color: #fff;
  letter-spacing: 2px;
  font-size: 24px; */
}

.header-top-brand img {
  width: 100%;
}

.nav-wrap {
  /* display: none; */
}

/*****************************************************
******************** navメニュー **********************
******************************************************/
.burger-nav,
.drawer_hidden {
	display: none;
}

ul.nav {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

ul.nav>li {
  width: 100px;
  height: 100%;
  position: relative;
}

ul.nav>li:nth-of-type(7) {
  width: 80px;
}

ul.nav>li>a {
  /* padding: 8px; */
  display: block;
  text-align: center;
  color: #fff;
  font-size: 14px;
  letter-spacing: 2px;
  transition: all .5s;
}

ul.nav>li>a span.reserve {
  padding: 6px 24px;
  background: #e60012;
  border-radius: 15px;
}

ul.nav>li>a::after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: -5px;
  width: 0;
  height: 2px; /* 下線の太さ */
  background: #fff; /* 下線の色 */
  transition: 0.5s ease;
}

ul.nav>li>a:hover::after {
  width: 40%;
  left: 0;
  transform: translateX(-50%); /* 中央に寄せる */
}

ul.nav>li>a:hover::after {
  width: 40%;
  left: 50%;
  transform: translateX(-50%);
}

ul.nav i {
  font-size: 26px;
  color: #F167E1;
}

/************************************************************
****************************** 共通 **************************
*************************************************************/
.container {
  max-width: 1024px;
  width: 100%;
  margin-inline: auto;
  /* padding-inline: 16px; */
}

.group-hotel-wrap {
  text-align: center;
}

.group-hotel-inner {
  display: inline-block;
}

.group-hotel {
  margin-top: 64px;
  position: relative;
  padding: 8px 32px;
  font-size: 32px;
  color: #fff;
  letter-spacing: 0.1em;
  /* font-weight: bold; */
  text-align: center;
  background: #e60012;
}

.light-blue {
  background: #ffe9eb;
}

.middle-blue {
  background: #d4e6ff;
}

.sec-top {
  margin: auto;
  width: 100%;
  height: 80px;
  text-align: center;
}

h2.sec-top-tit {
  font-size: 40px;
}

.sec-top-subtit {
  font-size: 16px;
}

/* 下からフェードイン (早い)*/
.fast-fade-in {
  opacity: 0; /* 初めは透明 */
  transform: translateY(30px); /* 少し下に移動 */
  transition: opacity 1s ease, transform 1s ease; /* アニメーションの設定 */
}

.fast-fade-in.visible {
  opacity: 1; /* 表示 */
  transform: translateY(0); /* 元の位置に戻す */
}

/* 下からフェードイン (遅い)*/
.slow-fade-in {
  opacity: 0; /* 初めは透明 */
  transform: translateY(30px); /* 少し下に移動 */
  transition: opacity 1s ease, transform 1s ease; /* アニメーションの設定 */
}

.slow-fade-in.visible {
  opacity: 1; /* 表示 */
  transform: translateY(0); /* 元の位置に戻す */
}

/******************************************************************
****************************** main *******************************
*******************************************************************/
.main {
  width: 100%;
}

/******************************************************************
****************************** room *******************************
*******************************************************************/
.room {
  margin: 64px 0;
  width: 100%;
  height: auto;
}

.room-inner {
  margin: auto;
  padding: 64px 0;
  width: 100%;
  height: 100%;

}

.room-first-content {
  margin: 0 auto;
  padding: 32px 0;
  /* width: 1200px; */
  height: auto;
}

.room-first-content-inner {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.room-contents {
  width: 55%;
}

.room-main-image {
  overflow: hidden;
}

.room-main-image img {
  width: 100%;
  /* max-width: 600px; */
  height: auto;
  /* border: 2px solid #e60012; */
  transition: transform 1s ease;
}

.room-main-image img:hover {
  transform: scale(1.05);
}

.room-thumbnails {
  display: flex;
  justify-content: center;
  margin-top: 10px;
}

.room-thumbnail {
  position: relative;
  width: 100px;
  height: auto;
  margin: 0 5px;
  cursor: pointer;
  overflow: hidden;
}

.room-thumbnail img {
  /* display: block;  */
  width: 100%; 
  height: auto;
}

.room-thumbnail::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  opacity: 0;
  pointer-events: none;
}

.room-thumbnail:hover {
  border-bottom: 2px solid #e60012; /* ホバー時の枠線 */
}


.room-first-content-article {
  width: 40%;
  height: 80%;
  padding: 64px 0;
}

.room-first-content-article-tit {
  padding-bottom: 12px;
  display: flex;
  align-items: center;
}

.room-first-content-article-tit-type {
  margin-right: 16px;
  padding: 2px 8px;
  background: #616161;
  border-radius: 5px;
  font-size: 20px;
  color: #fff;
}

.room-first-content-article-tit-name {
  font-size: 28px;
}

.room-first-content-article-tit-in {
  width: 160px;
  display: flex;
  align-items: center;
  /* justify-content: center; */
  font-size: 28px;
}

.room-first-content-article-tit-in::before,
.room-first-content-article-tit-in::after {
  content: '';
  flex: 1;
  height: 0.5px; /* ラインの太さ */
  background-color: #3a3a3a; /* ラインの色 */
  margin: 0 10px; /* テキストとの間隔 */
}

.room-first-content-article-features {
  padding-bottom: 32px;
  display: flex;
  align-items: center;
}

.room-first-content-article-features_one {
  padding: 4px;
  border: 1px solid #616161;
  border-radius: 5px;
  font-size: 12px;
  text-align: center;
}

.room-first-content-article-features_two {
  margin: 0 16px;
  padding: 9px;
  border: 1px solid #616161;
  border-radius: 5px;
  font-size: 18px;
}

.room-first-content-article-features_two br {
  display: none;
}

.room-first-content-article-features_three {
  padding: 4px 8px;
  border: 1px solid #616161;
  border-radius: 5px;
  font-size: 12px;
  text-align: center;
}

.room-first-content-article-text {
  /* padding: 16px 32px 0 144px; */
  font-size: 18px;
}

.reservation-btn {
  margin: 48px auto 0;
  width: 40%;
}

.reservation-btn button {
  width: 300px;
  background: #e60012;
  border: none;
  text-align: center;
  display: inline-block;
  border-radius: 30px;
  transition: background-color 0.5s ease, transform 0.5s ease; 
  cursor: pointer;
}

.reservation-btn button a {
  padding: 16px 40px;
  display: block;
  color: #fff;
  font-size: 16px;
}

.reservation-btn button:hover {
  background-color: #d80214;
  transform: scale(1.05);
}

.room-reverse {
  /* margin-top: 64px; */
  flex-direction: row-reverse; /* グループ2の内容を左右逆にする */
}

/*****************************************************************
***************************** amenities **************************
******************************************************************/
.amenities {
  margin: 80px auto 0;
  width: 800px;
  height: auto;
}

.amenities-top {
  width: 200px;
}

.amenities-tit-wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%; /* 必要に応じて幅を調整 */
}

span.amenities-tit-line {
  width: 30px;
  flex: 1; /* ラインを均等に広げる */
  height: 0.5px; /* ラインの太さ */
  background-color: black; /* ラインの色 */
  margin: 0 10px; /* テキストとの間隔 */
}

span.amenities-tit {
  white-space: nowrap; /* テキストが折り返さないようにする */
  font-size: 30px;
}

.amenities-subtit {
  font-size: 16px;
  text-align: center;
}

.amenities-img-grp {
  margin-top: 32px;
  width: 100%;
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  align-content: space-between;
}

.amenities-img {
  margin: 16px;
  width: 16%;
  height: auto;
}

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

/******************************************************************
***************************** equipment ***************************
*******************************************************************/
.equipment {
  margin-top: 144px;
  width: 100%;
  height: auto;
}

.equipment-inner {
  margin: auto;
  /* max-width: 1200px; */
  height: 100%;
}

.equipment-first-content {
  padding-top: 64px;
  width: 100%;
  height: auto;
  /* display: flex;
  justify-content: center;
  align-items: center; */
}

.equipment-first-content-article {
  padding: 32px;
  /* width: 100%; */
  height: 100%;
}

.equipment-first-content-article-top {
  margin: auto;
  width: 500px;
}

.equipment-first-content-article-tit {
  display: flex;
  align-items: center;
  /* justify-content: left; */
  font-size: 30px;
}

.equipment-first-content-article-tit::before,
.equipment-first-content-article-tit::after {
  content: '';
  flex: 1;
  height: 0.3px; /* ラインの太さ */
  background-color: #3a3a3a; /* ラインの色 */
  margin: 0 20px; /* テキストとの間隔 */
}

.equipment-first-content-article-subtit {
  font-size: 16px;
  text-align: center;
}

.equipment-first-content-article-item-grp-wrap {
  margin-top: 64px;
  width: 100%;
  height: 400px;
  display: flex;
  justify-content: center;
  /* align-items: center; */
}

.equipment-first-content-img {
  width: 50%;
  height: auto;
  overflow: hidden;
}

.equipment-first-content-img img {
  width: 100%;
  height: 100%;
	object-fit: cover;
	transition: transform 1s ease;
}

.equipment-first-content-img img:hover {
  transform: scale(1.1);
}

.equipment-first-content-article-item-grp {
  padding: 8px 0 0 32px;
  width: 50%;
  height: auto;
  position: relative;
  background: #fff;
}

.equipment-first-content-article-item-grp::after{
  content: '';
  position: absolute;
  top: 50%; /* 矢印を中央に配置 */
  right: 100%; /* 右に移動 */
  transform: translateY(-50%); /* 矢印を垂直方向に中央揃え */
  width: 0;
  height: 0;
  border-top: 70px solid transparent; /* 上の三角形部分 */
  border-bottom: 70px solid transparent; /* 下の三角形部分 */
  border-right: 15px solid #fff; /* 左の三角形部分 */
}

.equipment-first-content-article-item {
  font-size: 22px;
}

.equipment-first-content-article-item-side {
  padding-top: 16px;
  font-size: 16px;
}

.equipment-first-content-article-item-note {
  font-size: 12px;
}

.equipment-first-content-article-item-more {
  padding-top: 16px;
  display: flex;
  align-items: center;
}

.equipment-first-content-article-item-more-img {
  width: 30px;
  height: 30px;
}

.equipment-first-content-article-item-more-img img {
  width: 100%;
  height: 100%;
}

.equipment-first-content-article-item-more-text {
  padding-left: 8px;
  font-size: 16px;
}

.equipment-first-content-article-item-other {
  margin-top: 16px;
  width: 100%;
  display: flex;
  align-items: flex-end;
}

.equipment-first-content-article-item-other-img {
  margin-right: 16px;
  width: 40%;
  overflow: hidden;
}

.equipment-first-content-article-item-other-img img {
  width: 100%;
  height: 100%;
	object-fit: cover;
}

/*****************************************************************
***************************** instagram **************************
******************************************************************/
.instagram {
  margin: 144px 0;
  width: 100%;
  height: auto;
}

.instagram-inner {
  margin: auto;
  padding: 64px 0;
  width: 80%;
  height: auto;
}

.instagram-content {
  padding-top: 64px;
}

/*******************************************************************
****************************** spot ********************************
********************************************************************/
.spot {
  margin: 144px 0;
  width: 100%;
  height: auto;
}

.spot-inner {
  margin: auto;
  /* width: 1200px; */
  height: 100%;
}

.spot-intro {
  margin: 32px auto;
  width: 60%;
  font-size: 18px;
}

.spot-item-grp {
  padding-top: 32px;
  width: 100%;
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
  align-content: space-between;
}

.spot-item {
  margin: 16px 0;
  width: 22%;
  height: auto;
  box-shadow: 0px 3px 10px rgba(0, 0, 0, 0.3);
}

.spot-item-img {
  width: 100%;
  height: 210px;
}

.spot-item-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.spot-item-article {
 padding: 8px;
 height: 160px;
 position: relative;
}

.spot-item-article-tit {
  font-size: 18px;
}

.spot-item-article-subtit {
  padding-top: 8px;
  font-size: 10px;
}

.spot-item-article-desc {
  padding-top: 16px;
  font-size: 14px;
  position: absolute;
  bottom: 10px;
}

/*****************************************************************
****************************** question **************************
******************************************************************/
.question {
  /* margin: 128px 0; */
  width: 100%;
  height: auto;
}

.question-inner {
  margin: auto;
  padding-bottom: 64px;
  /* width: 1200px; */
  height: 100%;
}

.s-offset {
  font-size: 32px !important;
}

.question-faq {
  border: 1px solid #ccc;
  margin: 16px 0;
  padding: 16px;
  cursor: pointer;
  background: #ffe9eb;
  overflow: hidden; /* 内容がはみ出さないように */
}

.question-answer {
  max-height: 0; /* 初期状態では高さを0に */
  margin-top: 8px;
  transition: max-height 0.8s ease-out; /* 高さのアニメーション */
  overflow: hidden; /* 内容がはみ出さないように */
}

.open .question-answer {
    max-height: 160px; /* 開いたときの最大高さ */
}

.question-arrow {
    float: right;
    transition: transform 0.5s;
}

.open .question-arrow {
    transform: rotate(180deg);
}

/***************************************************************
****************************** access **************************
****************************************************************/
.access {
  /* margin: 144px 0; */
  width: 100%;
  height: auto;
}

.access-inner {
  margin: auto;
  padding: 64px 0;
  /* width: 1200px; */
  height: 100%;
}

.access-content {
  margin-top: 32px;
  display: flex;
  justify-content: space-between;
}

.access-map iframe {
  max-width: 100%;
  /* height: auto; */
  aspect-ratio: 4/3;
}

.access-map {
  width: 50%;
  text-align: center;
}

.access-info {
  width: 50%;
}

table.access-info-lists {
  width: 100%;
  height: 100%;
  border-collapse: separate; /* デフォルトは separate */
  border-spacing: 0 8px;
}

table.access-info-lists br {
  display: none;
}

table.access-info-lists tr {

}

table.access-info-lists tr td {
  font-size: 18px;
  vertical-align: top;
  padding: 8px 16px;
  line-height: 1.4;
}

table.access-info-lists tr td:nth-of-type(1) {
  text-align: right;
  white-space: nowrap;
}

/**************************************************************
**************************** message **************************
***************************************************************/
.message {
  width: 100%;
  height: auto;
}

.message-inner {
  margin: auto;
  padding: 64px 0;
  /* width: 1200px; */
}

.message-content {
  width: 100%;
  height: 100%;
  margin-top: 64px;
  display: flex;
  justify-content: space-around;
}

.message-content-img {
  width: 25%;
  height: auto;

}

.message-content-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.message-content-intro {
  width: 60%;
  height: auto;
  position: relative;
}

.message-content-intro-text {
  font-size: 16px;
	line-height: 1.6em;
	letter-spacing: 0.1em;
  position: absolute;
  top: 10%;
  left: 0;
}

.message-content-intro-sin {
  text-align: right;
  position: absolute;
  bottom: 0;
  right: 0;
}

.message-content-intro-company {
  font-size: 22px;
}

.message-content-intro-name {
  font-size: 26px;
}

span.name-s {
  font-size: 18px;
}

/***************************************************************
*************************** footer *****************************
****************************************************************/
.footer {
  width: 100%;
  height: 300px;
  	background: rgba(254, 104, 104, 0.5);
  /* background: #e60012; */
}

.footer-inner {
  margin: auto;
  width: 1000px;
  height: 100%;
  display: flex;
  justify-content: space-around;
  align-items: center;
  color: #fff;
}

.footer-info {
  width: 50%;
}

.footer-info-header {
  font-size: 30px;
}

.footer-info-header-s {
  font-size: 24px;
}

.footer-info-content {
  padding: 16px 0;
  font-size: 14px;
}

.footer-info-content i {
  margin-right: 4px;
  font-size: 12px;
  color: #3a3a3a;
}

.footer-info-sns a {

}

.footer-info-sns i {
  font-size: 40px;
  color: #F167E1;
}

.footer-info-sns-instagram {
  margin-left: 8px;
  font-size: 14px;
}

.footer-contact {
  width: 50%;
}

.footer-contact-header {
  font-size: 22px;
}

ul.footer-contact-content {
  padding: 8px 0;
}

ul.footer-contact-content li {
  font-size: 16px;
}

ul.footer-contact-content li a {
  color: #fff;
}

.footer-reserve {
  padding-top: 16px;
}

.reserve-btn {
  width: 250px;
  background: #fff;
  border: none;
  text-align: center;
  display: inline-block;
  border-radius: 25px;

}

.reserve-btn a {
  padding: 10px 30px;
  display: block;
  color: #e60012;
  font-size: 16px;
  transition: font-weight 0.5s ease, transform 0.5s ease; 
  cursor: pointer;
}

.reserve-btn a:hover {
  font-weight: bold; /* ホバー時に太くする */
  transform: scale(1.05);
}

.privacy-policy {
  margin-top: 16px;

}

.privacy-policy a {
  font-size: 14px;
  color: #fff;
}

/***********************************************************
*************************** page ***************************
************************************************************/
.page-content {
	margin: 64px auto;
	width: 1024px;
	letter-spacing: 0.1em;
}

.page-content p {
  margin: 8px 0;
}

.page-content ol li {
	margin: 0.5em 0;
  list-style-type: none;
  counter-increment: cnt;
}

.page-content ol li:before {
	content: "("counter(cnt)")";
}

.page-header {
  width: 100%;
  height: 300px; /* 高さはお好みで */
  background-color: #ffe9eb;
  display: flex;
  justify-content: center;
  align-items: center;
}

.page-header-title {
  font-size: 2rem;
  font-weight: bold;
}


/* =====================================================================================
========================================================================================
   style-m.css（769px〜1024px）
========================================================================================
====================================================================================== */
@media (max-width: 1024px) {
  .nav-wrap {
    display: none;
  }

  /*********************************************************
  ************************ ハンバーガー **********************
  **********************************************************/
  /* チェックボックスを非表示にする */
  .drawer_hidden {
    display: none;
  }

  /* 既存のCSSに追加 */
  .menu-background {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5); /* 半透明の背景 */
    display: none; /* 初期状態では非表示 */
    z-index: 98; /* メニューより下に */
  }

  /* メニューが開いているときに背景を表示 */
  #drawer_input:checked ~ .menu-background {
    display: block; /* メニューが開いているときに表示 */
  }

  /* ハンバーガーアイコンの設置スペース */
  .drawer_open {
    display: flex;
    height: 25px;
    width: 60px;
    justify-content: center;
    align-items: center;
    position: relative;
    z-index: 100;/* 重なり順を一番上にする */
    cursor: pointer;
  }

  .drawer_open:after {
    display: block;
    content:"MENU";
    width: 35px;
    margin-top: 35px;
    margin-left: 0;
    font-size: 10px;
    color: #e60012;
    font-family: 'Hiragino';
    letter-spacing: 1.2px;
  }

  /* ハンバーガーメニューのアイコン */
  .drawer_open span,
  .drawer_open span:before,
  .drawer_open span:after {
    content: '';
    display: block;
    height: 3px;
    width: 35px;
    border-radius: 3px;
    background: #e60012;
    transition: 0.5s;
    position: absolute;
  }

  /* 三本線の一番上の棒の位置調整 */
  .drawer_open span:before {
    bottom: 9px;
  }

  /* 三本線の一番下の棒の位置調整 */
  .drawer_open span:after {
    top: 9px;
  }

  /* アイコンがクリックされたら真ん中の線を透明にする */
  #drawer_input:checked ~ .drawer_open span {
    background: rgba(255, 255, 255, 0);
  }

  /* アイコンがクリックされたらアイコンが×印になように上下の線を回転 */
  #drawer_input:checked ~ .drawer_open span::before {
    bottom: 0;
    transform: rotate(45deg);
  }

  #drawer_input:checked ~ .drawer_open span::after {
    top: 0;
    transform: rotate(-45deg);
  }

  #drawer_input:checked ~ .drawer_open:after {
    display: block;
    content:"閉じる";
    width: 25px;
    margin-top: 35px;
    margin-left: 0;
    font-size: 7px;
    color: #e60012;
    font-family: 'Hiragino';
    letter-spacing: 1px;
  }

  .burger-nav {
    width: 65%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 100%; /* メニューを画面の外に飛ばす */
    z-index: 99;
    background: #ffe9eb;
    transition: .5s;
    display: block;
  }

  .burger-nav li {
    border-bottom: 0.5px solid #fff;
  }
  .burger-nav li:nth-of-type(13) {
    /* background: #ffa9a1; */
  }

  .burger-nav li a {
    display: block;
    padding: 16px 0 16px 32px;
    font-size: 14px;
    color: #e60012;
    letter-spacing: 1px;
  }

  .burger-nav li:nth-of-type(3) a,
  .burger-nav li:nth-of-type(4) a,
  .burger-nav li:nth-of-type(5) a,
  .burger-nav li:nth-of-type(6) a,
  .burger-nav li:nth-of-type(8) a,
  .burger-nav li:nth-of-type(9) a,
  .burger-nav li:nth-of-type(10) a,
  .burger-nav li:nth-of-type(11) a {
    /* padding-left: 64px;
    font-size: 12px; */
  }

  /* アイコンがクリックされたらメニューを表示 */
  #drawer_input:checked ~ .burger-nav {
    left: 35%;/* メニューを画面に入れる */
  }
  /****************************************************
  ********************* ハンバーガー了********************
  **************************************************** */

  /************************************************************
  ****************************** 共通 **************************
  *************************************************************/
  .group-hotel {
    font-size: 28px;
  }

  h2.sec-top-tit {
    font-size: 38px;
  }
  
  .sec-top-subtit {
    font-size: 14px;
  }

  /******************************************************************
  ****************************** room *******************************
  *******************************************************************/
  .room-first-content {
    margin: 0 auto;
    width: 90%;
  }
  
  .room-first-content-inner {
    display: block;
  }
  
  .room-contents {
    width: 100%;
  }

  .room-thumbnail {
    width: 12%; /* サムネイルの幅 */
    border: 2px solid transparent; /* 初期状態の枠線 */
    transition: border 0.3s;
  }

  .room-thumbnail:hover {
    border: 2px solid #e60012; /* ホバー時の枠線 */
  }

  .room-first-content-article {
    width: 100%;
    padding: 32px 0;
  }

  .room-first-content-article-tit-type {
    font-size: 18px;
  }
  
  .room-first-content-article-tit-name {
    font-size: 24px;
  }

  .room-first-content-article-tit-in {
    font-size: 24px;
  }

  .room-first-content-article-features_one {
    padding: 1px 4px;
    font-size: 14px;
  }

  .room-first-content-article-features_two {
    font-size: 16px;
  }

  .room-first-content-article-text {
    font-size: 16px;
  }

  .reservation-btn {
    margin: 32px auto 0;
  }

  .reservation-btn button {
    width: 280px;
  }

  .reservation-btn button a {
    padding: 12px 40px;
    font-size: 14px;
  }

  .room-reverse {
    margin-top: 64px;
    flex-direction: row; /* グループ2の内容を左右逆にする */
  }

  /*****************************************************************
  ***************************** amenities **************************
  ******************************************************************/
  .amenities {
    margin: 32px auto 0;
    width: 80%;
  }

  span.amenities-tit {
    font-size: 28px;
  }
  
  .amenities-subtit {
    font-size: 14px;
  }

  .amenities-img-grp {
    justify-content: space-around;
  }

  .amenities-img {
    width: 13%;
  }

  /******************************************************************
  ***************************** equipment ***************************
  *******************************************************************/
  .equipment {
    margin-top: 112px;
  }
  
  .equipment-inner {
    width: 95%;
  }

  .equipment-first-content {
    margin-bottom: 32px;
    padding-top: 32px;
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .equipment-first-content-article {
    padding: 16px;
    position: relative;
    background: #fff;
    z-index: 1;
  }

  .equipment-first-content-article::after {
    content: '';
    position: absolute;
    top: 50%; /* 矢印を中央に配置 */
    left: 100%; /* 右に移動 */
    transform: translateY(-50%); /* 矢印を垂直方向に中央揃え */
    width: 0;
    height: 0;
    border-top: 50px solid transparent; /* 上の三角形部分 */
    border-bottom: 50px solid transparent; /* 下の三角形部分 */
    border-left: 25px solid #fff; /* 左の三角形部分 */
  }

  .equipment-first-content-article-top {
    width: 400px;
  }

  .equipment-first-content-article-item-grp-wrap {
    margin-top: 32px;
    height: auto;
  }

  .equipment-first-content-article-item-grp {
    padding-top: 0;
    width: 50%;
    height: auto;
  }

  .equipment-first-content-article-item {
    font-size: 22px;
  }
  
  .equipment-first-content-article-item-side {
    padding-top: 8px;
    font-size: 16px;
  }
  
  .equipment-first-content-article-item-note {
    font-size: 12px;
  }
  
  .equipment-first-content-article-item-more {
    padding-top: 16px;
    display: flex;
    align-items: center;
  }
  
  .equipment-first-content-article-item-more-img {
    width: 30px;
    height: 30px;
  }
  
  .equipment-first-content-article-item-more-img img {
    width: 100%;
    height: 100%;
  }
  
  .equipment-first-content-article-item-more-text {
    padding-left: 8px;
    font-size: 16px;
  }
  
  .equipment-first-content-img {
    height: 320px;
  }

  /*****************************************************************
  ***************************** instagram **************************
  ******************************************************************/
  .instagram {
    margin: 96px 0;
  }
  
  .instagram-inner {
    width: 90%;
  }

  /*******************************************************************
  ****************************** spot ********************************
  ********************************************************************/
  .spot {
    margin: 112px 0;
  }
  
  .spot-inner {
    width: 95%;
  }

  .spot-intro {
    width: 80%;
  }

  .spot-item-grp {
    padding-top: 0;
  }

  .spot-item-img {
    height: 140px;
  }

  .spot-item-article {
    margin: 8px;
    padding: 0;
    height: 130px;
  }

  .spot-item-article-tit {
    font-size: 14px;
  }
  
  .spot-item-article-subtit {
    padding-top: 4px;
  }
  
  .spot-item-article-desc {
    font-size: 12px;
    bottom: 2px;
  }

  /******************************************************************
  ***************************** equipment ***************************
  *******************************************************************/
  .question-inner {
    width: 90%;
  }

  .s-offset {
    font-size: 30px !important;
  }

  .question-faq {
    font-size: 16px;
  }

  /***************************************************************
  ****************************** access **************************
  ****************************************************************/
  .access-inner {
    width: 90%;
  }

  .access-content {
    display: block;
  }

  .access-map {
    margin-bottom: 16px;
    padding: 0;
    width: 100%;
  }

  .access-map iframe {
    width: 100%;
  }

  .access-info {
    width: 100%;
  }

  table.access-info-lists tr {
    margin: 16px;
  }

  table.access-info-lists tr td {
    font-size: 16px;
  }

  /**************************************************************
  **************************** message **************************
  ***************************************************************/
  .message-inner {
    width: 90%;
    height: 100%;
  }

  .message-content {
    margin-top: 32px;
  }

  .message-content-img {
    width: 35%;
  }

  .message-content-intro-text {
    line-height: 1.2em;
    letter-spacing: 0em;
    top: 6%;
  }

  .message-content-intro-sin {
    padding-top: 24px;
  }

  .message-content-intro-company {
    font-size: 16px;
  }
  
  .message-content-intro-name {
    font-size: 18px;
  }
  
  span.name-s {
    font-size: 16px;
  }
  
  .message-reverse {
    flex-direction: row-reverse;
  }

  /***************************************************************
  *************************** footer *****************************
  ****************************************************************/
  .footer-inner {
    width: 95%;
  }

  .footer-info {
    padding: 16px;
  }
  
  .footer-info-header {
    font-size: 24px;
  }
  
  .footer-info-header-s {
    font-size: 20px;
  }

  .footer-contact {
    padding-left: 32px;
  }

  .footer-contact-header {
    font-size: 20px;
  }

  /***********************************************************
  *************************** page ***************************
  ************************************************************/
  .page-content {
    width: 90%;
  }

}


/* =====================================================================================
========================================================================================
   （700px〜768px）
========================================================================================
====================================================================================== */
@media (max-width: 768px) {
  /*******************************************************************
  ****************************** spot ********************************
  ********************************************************************/
  .spot-item-img {
    height: 120px;
  }

  .spot-item-article {
    margin: 8px 4px;
    height: 120px;
  }


}

/* =====================================================================================
========================================================================================
   （451px〜699px）
========================================================================================
====================================================================================== */
@media (max-width: 699px) {
  /*********************************************************************
  ******************************** header *****************************＊
  **********************************************************************/
  .header-movie {
    display: none;
  }

  .header-movie-mobile {
    width: 100%;
    height: 100%;
    object-fit: cover;
    overflow: hidden; 
    display: block;
  }
  
  .header-movie-mobile video {
    width: 100%; /* 最小幅を100%に設定 */
    height: 100%; /* 最小高さを100%に設定 */
  }

  /*****スクロール後***** */
  .header-top.change-color {
    height: 50px;
  }

  .header-top-brand {
    width: 140px;
    height: 100%;
    margin-left: 16px;
  }

  .header-top-brand a {
    display: inline-block;
  }

  .header-top-brand img {
    height: 100%;
  }
  
  /*********************************************************
  ************************ ハンバーガー **********************
  **********************************************************/
  .drawer_open:after {
    width: 25px;
    margin-top: 30px;
    font-size: 6.5px;
  }

  /* ハンバーガーメニューのアイコン */
  .drawer_open span,
  .drawer_open span:before,
  .drawer_open span:after {
    height: 2.5px;
    width: 25px;
  }

  /* 三本線の一番上の棒の位置調整 */
  .drawer_open span:before {
    bottom: 7px;
  }

  /* 三本線の一番下の棒の位置調整 */
  .drawer_open span:after {
    top: 7px;
  }
  /****************************************************
  ********************* ハンバーガー了********************
  **************************************************** */

  /************************************************************
  ****************************** 共通 **************************
  *************************************************************/
  .group-hotel {
    margin-top: 48px;
    padding: 8px 24px;
    font-size: 20px;
  }

  h2.sec-top-tit {
    font-size: 32px;
  }
  
  .sec-top-subtit {
    font-size: 12px;
  }

  /* 下からフェードイン (早い)*/
  .fast-fade-in {
    transform: translateY(0);
  }

  /******************************************************************
  ****************************** room *******************************
  *******************************************************************/
  .room {
    margin: 48px 0;
  }
  
  .room-inner {
    padding: 32px 0;
  }
  
  .room-first-content {
    padding: 16px 0;
  }

  .room-thumbnail {
    margin: 0 3px;
  }

  .room-first-content-article-tit-type {
    font-size: 16px;
  }
  
  .room-first-content-article-tit-name {
    font-size: 22px;
  }

  .room-first-content-article-tit-in {
    font-size: 22px;
  }

  .room-first-content-article-features {
    display: block;
  }

  .room-first-content-article-features_one {
    padding: 9px;
  }

  .room-first-content-article-features_one br {
    display: none;
  }

  .room-first-content-article-features_two {
    margin: 16px 0;
    font-size: 14px;
  }

  .room-first-content-article-features_three {
    padding: 9px;
    text-align: left;
  }
  
  .room-first-content-article-features_three br {
    display: none;
  }

  .reservation-btn {
    width: 60%;
  }

  .reservation-btn button {
    width: 100%;
  }

  .room-reverse {
    margin-top: 32px;
  }

  /*****************************************************************
  ***************************** amenities **************************
  ******************************************************************/
  .amenities {
    width: 90%;
  }

  span.amenities-tit {
    font-size: 26px;
  }
  
  .amenities-subtit {
    font-size: 12px;
  }

  .amenities-img-grp {
    margin-top: 16px;
  }

  .amenities-img {
    margin: 8px;
    width: 18%;
  }

  /******************************************************************
  ***************************** equipment ***************************
  *******************************************************************/
  .equipment {
    margin-top: 80px;
  }
  
  .equipment-inner {
    width: 90%;
  }

  .equipment-first-content-article {
    padding: 0;
    padding-bottom: 32px;
  }

  .equipment-first-content-article-top {
    width: 80%;
  }

  .equipment-first-content-article-tit {
    font-size: 26px;
  }

  .equipment-first-content-article-item-grp-wrap {
    display: block;
  }

  .equipment-first-content-article-item-grp {
    padding-top: 16px;
    padding-left: 0;
    width: 100%;
  }

  .equipment-first-content-article-item {
    font-size: 20px;
  }

  .equipment-first-content-img {
    width: 100%;
    height: 350px;
    overflow: hidden;
  }
  
  .equipment-first-content-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 1s ease;
  }
  
  .equipment-first-content-img img:hover {
    transform: scale(1.1);
  }

  /*****************************************************************
  ***************************** instagram **************************
  ******************************************************************/
  .instagram-content {
    padding-top: 32px;
  }

  /*******************************************************************
  ****************************** spot ********************************
  ********************************************************************/
  .spot {
    margin: 80px 0;
  }

  .spot-inner {
    width: 90%;
  }

  .spot-intro {
    margin: 0 auto;
    padding-top: 32px;
    width: 95%;
    font-size: 16px;
  }

  .spot-item-grp {
    padding-top: 16px;
  }

  .spot-item {
    width: 47%;
  }
  
  .spot-item-img {
    height: 210px;
  }

  .spot-item-article {
    margin: 6px;
    height: 130px;
  }

  .spot-item-article-tit {
    font-size: 16px;
  }

  /*****************************************************************
  ****************************** question **************************
  ******************************************************************/
  .s-offset {
    font-size: 28px !important;
  }

  .question-faq {
    padding: 8px;
    font-size: 14px;
  }

  .open .question-answer {
    max-height: 210px; /* 開いたときの最大高さ */
  }

  /***************************************************************
  ****************************** access **************************
  ****************************************************************/
  .access-inner {
    padding: 32px 0;
  }

  table.access-info-lists tr {
    margin: 8px;
  }
  
  table.access-info-lists tr td {
    padding: 4px 6px 4px 0;
    font-size: 14px;
  }

  table.access-info-lists tr td:nth-of-type(1) {
    width: 18%;
    vertical-align: top;
  }

  /**************************************************************
  **************************** message **************************
  ***************************************************************/
  .message-inner {
    padding: 32px 0;
  }

  .message-content {
    margin-top: 16px;
    display: block;
    align-items: flex-end;
  }

  .message-content-img {
    margin: auto;
  }

  .message-content-intro {
    width: 100%;
    margin-top: 32px;
    position: static;
  }

  .message-content-intro-text {
    position: static;
  }

  .message-content-intro-sin {
    position: static;
  }

  .message-content-intro-company {
    font-size: 16px;
  }

  /***************************************************************
  *************************** footer *****************************
  ****************************************************************/
  .footer {
    height: auto;
  }

  .footer-inner {
    padding: 32px 0;
    width: 90%;
    display: block;
  }

  .footer-info {
    padding: 0;
    width: 100%;
  }

  .footer-info-content i {
    font-size: 10px;
  }

  .footer-info-content br:nth-of-type(2) {
    display: none;
  }

  .footer-info-sns i {
    font-size: 38px;
  }

  .footer-info-sns-instagram {
    font-size: 12px;
  }

  .footer-contact {
    padding-top: 32px;
    padding-left: 0;
    width: 100%;
  }

  .footer-reserve {
    text-align: center;
  }

  .privacy-policy {
    margin-top: 16px;
  }
}

/* =====================================================================================
========================================================================================
   （〜450px）
========================================================================================
====================================================================================== */
@media (max-width: 450px) {
  /******************************************************************
  ***************************** equipment ***************************
  *******************************************************************/
  .equipment-first-content-img {
    height: 250px;
  }

  /*******************************************************************
  ****************************** spot ********************************
  ********************************************************************/
  .spot-item-img {
    height: 130px;
  }

  .spot-item-article {
    margin: 6px 4px;
    height: 140px;
  }

  .spot-item-article-subtit {
    padding-top: 2px;
  }
}