@charset "utf-8";
/***************************************************************************
*
* TRIPLA STYLE (最終確定版・完全修正コード)
*
***************************************************************************/

/* ===== Language バー内スタイル ===== */

/* header {
  min-width: 1080px; /* 崩れが始まる前のデザインが保たれる数値を指定 */
} */

/* バーをrelativeにしてLanguageを右端に絶対配置 */
header.top section.form.pc {
  position: relative !important;
}

/* wrapMenuLang 全体の位置 */
header.top section.form.pc .wrapMenuLang {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  z-index: 9999 !important;
  margin-left: 30px !important;
}

/* Languageボタン */
header.top section.form.pc .wrapMenuLang .maiMenu {
  margin-bottom: 0 !important;
  padding: 10px !important;
}

header.top section.form.pc .wrapMenuLang .maiMenu a {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #064157 !important;
  color: #fff !important;
  height: 44px !important;
  padding: 0 20px !important;
  font-size: 14px !important;
  border-radius: 0 !important;
  white-space: nowrap !important;
  text-decoration: none !important;
  cursor: pointer !important;
}

/* ドロップダウンリスト（初期非表示） */
header.top section.form.pc .wrapMenuLang ul.menuLang {
  display: none;
  position: absolute !important;
  top: 100% !important;
  bottom: auto !important;
  left: 0 !important;
  right: auto !important;
  transform: none !important;
  margin-top: 4px !important;
  margin-bottom: 0 !important;
  background: transparent !important;
  border: none !important;
  list-style: none !important;
  padding: 0 !important;
  min-width: 160px !important;
  z-index: 100000 !important;
  box-shadow: none !important;
}

/* 各項目にグレー背景＋下にmarginで切り離す */
header.top section.form.pc .wrapMenuLang ul.menuLang li {
  background: #d3d3d3 !important;
  margin: 0 0 4px 0 !important;
}

header.top section.form.pc .wrapMenuLang ul.menuLang li:last-child {
  margin-bottom: 0 !important;
}

header.top section.form.pc .wrapMenuLang ul.menuLang li a {
  display: block !important;
  padding: 10px 20px !important;
  color: #333 !important;
  text-align: center !important;
  font-size: 18px !important;
  white-space: nowrap !important;
}

header.top section.form.pc .wrapMenuLang ul.menuLang li:hover {
  background: #d0d0d0 !important;
}

header.top section.form.pc .wrapMenuLang ul.menuLang li a:hover {
  background: transparent !important;
}

header.top {
  padding: 0 !important;
}

/***************************************************************************
*
* 予約バー（.barWrap）基本レイアウト・背景調整
*
***************************************************************************/

/* 外枠（.barWrap）にサーバーから直接画像を読み込んで敷き詰める */
.barWrap {
  display: flex !important;
  flex-wrap: nowrap !important;
  justify-content: center !important;
  gap: 0 !important;
  text-align: center;
  padding: 15px 0 !important;
  background-image: url('https://sv3035.wpx.ne.jp/nagasaki-rch.jp/public_html/assets/img/common/footer_bg.jpg') !important;
  background-image: url(/assets/img/common/footer_bg.jpg) !important;
  background-repeat: repeat !important;
  background-position: center center !important;
}

.barWrap .barTitle {
  width: 100%;
}
.barWrap .barTitle .titleJp {
  font-size: 120%;
}
.barWrap .barTitle .titleEn {
  font-size: 80%;
}
.barWrap #search-bar-container {
  width: auto !important;
  max-width: 800px !important;
  flex: 0 1 auto !important;
}
.barWrap #search-bar-container #tripla-searching-app {
  width: 100%;
  margin: 0 auto;
}

/* フォーム本体：背景を透明化して和紙を透かす */
form.search-widget-search-container-bf1818 {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: flex-end !important;
  width: 100% !important;
  max-width: 960px !important;
  margin: 0 auto !important;
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
}

/* 入力エリア全体 */
form.search-widget-search-container-bf1818 .search-widget-input-wrapper-eaf5bf {
  width: 72% !important;
  margin-bottom: 0 !important;
  margin-right: 15px !important;
  order: 1 !important;
  background: transparent !important;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}

/* 各入力欄 of コンテナの余白リセット */
form.search-widget-search-container-bf1818 .search-widget-input-wrapper-eaf5bf .input-container-input-container-da40af {
  margin: 0 !important;
}

/* チェックイン日付のみ */
form.search-widget-search-container-bf1818 .search-widget-input-wrapper-eaf5bf .search-widget-two-picker-wrapper-4ca735:first-of-type {
  width: 42%;
}
form.search-widget-search-container-bf1818 .search-widget-input-wrapper-eaf5bf .search-widget-two-picker-wrapper-4ca735:first-of-type .input-container-input-container-da40af {
  width: 100%;
}

/* 人数のみ */
form.search-widget-search-container-bf1818 .search-widget-input-wrapper-eaf5bf .search-widget-two-picker-wrapper-4ca735:nth-of-type(2) {
  width: 42%;
  display: flex;
  flex-direction: row;
  justify-content: center;
  gap: 5px;
  align-items: flex-end;
}
form.search-widget-search-container-bf1818 .search-widget-input-wrapper-eaf5bf .search-widget-two-picker-wrapper-4ca735:nth-of-type(2) .input-container-input-container-da40af {
  width: 47%;
  margin: 0;
}
form.search-widget-search-container-bf1818 .search-widget-input-wrapper-eaf5bf .search-widget-two-picker-wrapper-4ca735:nth-of-type(2) .input-container-input-container-da40af input {
  width: 100%;
  min-width: auto;
  height: 42px !important;
}

/* ★子供のセレクトボックスの縦幅を大人と完璧に揃える修正 */
form.search-widget-search-container-bf1818 .search-widget-input-wrapper-eaf5bf .search-widget-select-75fb48 select {
  height: 36px !important;
  min-height: 36px !important;
  line-height: 1 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
form.search-widget-search-container-bf1818 .search-widget-input-wrapper-eaf5bf .search-widget-select-75fb48 {
  width: 100%;
}

/* 部屋数 */
form.search-widget-search-container-bf1818 .search-widget-input-wrapper-eaf5bf>.input-container-input-container-da40af {
  width: 15%;
}

/* 検索ボタン */
form.search-widget-search-container-bf1818 .search-widget-button-wrapper-d2b715 {
  width: 13% !important;
  margin-bottom: 0 !important;
  order: 2 !important;
}
form.search-widget-search-container-bf1818 .search-widget-button-wrapper-d2b715 .button-btn-f51c1a {
  width: 100% !important;
  margin: 0 !important;
  padding: 6px 15px !important;
}

/* 日付未定バー */
form.search-widget-search-container-bf1818 .search-widget-day-use-wrapper-fc1ff9 {
  width: 15% !important;
  text-align: left !important;
  margin-left: 15px !important;
  margin-bottom: 10px !important;
  font-family: 'fot-tsukuaoldmin-pr6n', serif;
  font-weight: 600;
  order: 3 !important;
  white-space: nowrap !important;
}

/* ラベル文字の調整 */
form.search-widget-search-container-bf1818 .search-widget-input-wrapper-eaf5bf .input-container-title-db81ec {
  font-family: 'fot-tsukuaoldmin-pr6n', serif;
  text-align: left;
  font-weight: 600;
  font-size: 90%;
  white-space: nowrap !important;
}

/* メインセクションの上部余白を100pxに固定（PC） */
@media screen and (min-width: 769px) {
  .mv_section {
    margin-top: 100px !important; 
  }
}

/***************************************************************************
*
* 予約オプション・各種ボックス・パーツの調整
*
***************************************************************************/

.barWrap .barOptions {
  width: 70%;
  margin: 0 auto 25px;
}
.barWrap .barOptions ul {
  width: 100%;
  display: flex;
  flex-direction: row;
  justify-content: center;
  list-style: none;
  gap: 10px;
}
.barWrap .barOptions ul li {
  display: block;
  list-style: none;
  text-align: center;
  font-size: 85%;
}
.barWrap .barOptions ul li:first-of-type {
  width: 30%;
  text-align: right;
}
.barWrap .barOptions ul li:nth-of-type(2) {
  width: 22%;
}
.barWrap .barOptions ul li:last-of-type {
  width: 43%;
  text-align: left;
}
.barWrap .barOptions ul li:after {
  content: ">";
  padding-left: 5px;
}

.barWrap .atentionBox .atentionBoxInner {
  width: 70%;
  margin: 0 auto;
  padding: 25px 10px;
  text-align: center;
  border: 1px solid rgb(59, 58, 58);
  max-width: 800px;
}
.barWrap .atentionBox .atentionBoxInner>span {
  font-size: 115%;
  padding: 8px 0 12px;
}
.barWrap .atentionBox .atentionBoxInner .atentionBoxText {
  padding: 10px;
  line-height: 2;
}
.barWrap .atentionBox .atentionBoxInner .atentionBoxText a {
  font-size: 90%;
  border-bottom: 1px solid rgb(59, 58, 58);
}
.barWrap .atentionBox .atentionBoxInner .atentionBoxText a:after {
  content: ">";
  padding-left: 5px;
}

.atentionBox {
  /* background-color: #F0EFEA; */
  padding: 30px 20px;
  text-align: center;
}
.atentionBoxInner > span {
  display: block;
  font-weight: bold;
  font-size: 18px;
  margin-bottom: 15px;
  color: #333;
}
.atentionBoxText {
  font-size: 15px;
  line-height: 1.8;
  text-align: center;
}
.atentionBoxText a {
  display: inline-block;
  margin-top: 10px;
  text-decoration: underline;
}
.atentionBoxInner {
  max-width: 900px;
  margin: 0 auto;
  padding: 25px;
  border: 1px solid rgb(0, 0, 0);
  text-align: center;
}

/* チャットbotアイコンの背景色を白に変更 */
.triplabot-icon-circle {
  background: #ffffff !important;
}

@media only screen and (max-width: 992px) {
  form.search-widget-search-container-bf1818 {
    width: 100% !important;
  }
}
@media screen and (max-width: 992px) and (min-width: 769px) {
  form.search-widget-search-container-bf1818 .search-widget-input-wrapper-eaf5bf>.input-container-input-container-da40af {
    width: 15%;
  }
}

/* Languageボタンのコンテナ・一覧メニュー配置 */
header.top section.form.pc .wrapMenuLang {
  position: relative !important;
  display: block !important;
  margin-bottom: 52px !important;
  margin-left: 8px !important;
  z-index: 9999 !important;
}
header.top section.form.pc .wrapMenuLang ul.menuLang {
  position: absolute !important;
  top: 60% !important;
  bottom: auto !important;
  left: 0 !important;
  right: auto !important;
  margin-top: 4px !important;
  margin-bottom: 0 !important;
  background: transparent !important;
}

/* 下層ページ用トリプラ予約バー追加スタイル */
header.has-tripla-bar section.form.pc {
  position: relative !important;
}
header.has-tripla-bar .barWrap {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: flex-end !important;
  justify-content: center !important;
  gap: 0 !important;
}
header.has-tripla-bar .barWrap #search-bar-container {
  width: auto !important;
  max-width: 800px !important;
  flex: 0 1 auto !important;
}
header.has-tripla-bar form.search-widget-search-container-bf1818 {
  margin-top: 8px !important;
}
header.has-tripla-bar form.search-widget-search-container-bf1818 .search-widget-input-wrapper-eaf5bf {
  margin-bottom: 4px !important;
}
header.has-tripla-bar form.search-widget-search-container-bf1818 .search-widget-button-wrapper-d2b715 {
  margin-bottom: 4px !important;
}
header.has-tripla-bar section.form.pc .wrapMenuLang {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  margin-left: 8px !important;
  margin-bottom: 54px !important;
  z-index: 9999 !important;
}
header.has-tripla-bar section.form.pc .wrapMenuLang .maiMenu {
  margin-bottom: 22px !important;
  padding: 0 !important;
}
header.has-tripla-bar section.form.pc .wrapMenuLang .maiMenu a {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #064157 !important;
  color: #fff !important;
  height: 44px !important;
  padding: 0 20px !important;
  font-size: 14px !important;
  border-radius: 0 !important;
  white-space: nowrap !important;
  text-decoration: none !important;
  cursor: pointer !important;
}
header.has-tripla-bar section.form.pc .wrapMenuLang ul.menuLang {
  display: none;
  position: absolute !important;
  top: auto !important;
  bottom: 100% !important;
  left: 0 !important;
  right: auto !important;
  margin-top: 0 !important;
  margin-bottom: 4px !important;
  background: transparent !important;
  border: none !important;
  list-style: none !important;
  padding: 0 !important;
  min-width: 160px !important;
  z-index: 100000 !important;
  box-shadow: none !important;
}
header.has-tripla-bar section.form.pc .wrapMenuLang ul.menuLang li {
  background: #d3d3d3 !important;
  margin: 0 0 4px 0 !important;
}
header.has-tripla-bar section.form.pc .wrapMenuLang ul.menuLang li:last-child {
  margin-bottom: 0 !important;
}
header.has-tripla-bar section.form.pc .wrapMenuLang ul.menuLang li a {
  display: block !important;
  padding: 10px 20px !important;
  color: #333 !important;
  text-align: center !important;
  font-size: 18px !important;
  white-space: nowrap !important;
}
header.has-tripla-bar section.form.pc .wrapMenuLang ul.menuLang li:hover {
  background: #d0d0d0 !important;
}
header.has-tripla-bar section.form.pc .wrapMenuLang ul.menuLang li a:hover {
  background: transparent !important;
}


/***************************************************************************
*
* スマホ専用スタイル（画面幅768px以下の完全制御・一元化）
*
***************************************************************************/
@media screen and (max-width: 768px) {
  
  /* 1. スマホの時は予約バー（帯）を丸ごと完全に非表示にしてフッター固定を守る */
  #search-bar-container,
  header.has-tripla-bar .barWrap,
  .barWrap {
    display: none !important; 
  }
  
  /* スマホのメインビジュアル上部余白を0pxにリセット */
  .mv_section {
    margin-top: 0px !important; 
  }

  
  /* 4. スマホ用 Languageボタン 表示設定 */
  .wrapMenuLang.sp {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    z-index: 9999 !important;
    width: auto !important;
  }
  .wrapMenuLang.sp .maiMenu a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #064157 !important;
    color: #fff !important;
    height: 44px !important;
    padding: 0 55px !important;
    font-size: 14px !important;
    white-space: nowrap !important;
    text-decoration: none !important;
  }
  .wrapMenuLang.sp ul.menuLang {
    position: fixed !important;
    right: 0 !important;
    top: 44px !important;
    width: 160px !important;
    background: transparent !important;
  }
  .wrapMenuLang.sp ul.menuLang li {
    background: #d3d3d3 !important;
    margin-bottom: 4px !important;
  }
  .wrapMenuLang.sp ul.menuLang li a {
    display: block !important;
    padding: 10px 20px !important;
    color: #333 !important;
    text-align: center !important;
    font-size: 14px !important;
  }
  
  /* 5. チャットbotアイコン スマホサイズ縮小 */
  .triplabot-icon-circle {
    width: 65px !important;
    height: 65px !important;
  }
  .triplabot-icon-circle img,
  .triplabot-icon-circle svg {
    width: 65px !important;
    height: 61px !important;
  }
}

/* トリプラ予約バーの背景 */
#search-bar-container {
  background-image: url(/assets/img/common/footer_bg.jpg);
  background-size: cover;
  background-position: center;
}
