@charset "utf-8";

body {
  margin: 0px;
  padding: 0px;
  color: #222;
  font-family: 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', 'メイリオ',
    Meiryo, Osaka, 'MS Pゴシック', 'MS PGothic', sans-serif;
  font-size: 16px;
  line-height: 1.6em;
  -webkit-text-size-adjust: none;
}

h1,
h2,
h3,
h4,
h5,
p,
ul,
ol,
li,
dl,
dt,
dd,
form,
figure,
form,
texthotel,
input {
  margin: 0px;
  padding: 0px;
  font-size: 100%;
  font-weight: normal;
}

h1,
h2,
h3,
h4,
h5 {
  font-weight: bold;
}

li {
  list-style: none;
  text-decoration: none;
}

li a {
  text-decoration: none;
}

img {
  border: none;
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}

table {
  border-collapse: collapse;
  font-size: 100%;
  border-spacing: 0;
}

th a,
td a {
  text-decoration: none;
}

iframe {
  width: 100%;
}

span {
  font-style: normal;
  font-weight: bold;
}

.clear {
  clear: both !important;
}

.tcent {
  text-align: center !important;
  line-height: 1.15em !important;
  margin-top: 5px;
  margin-bottom: 5px !important;
}

.tleft {
  text-align: left !important;
  line-height: 1.25em !important;
}

.tright {
  text-align: right !important;
  line-height: 1.25em !important;
}

a {
  font-weight: bold;
}

/* グーグルマップ
---------------------------------------*/
.google-map {
  width: 100%;
  height: 530px;
  margin-top: 20px;
}

.google-map iframe {
  pointer-events: none;
  /* 初期状態では操作不可 */
}

.google-map iframe.active {
  pointer-events: auto;
  /* 'active' クラスが付与されたら操作可能 */
}


/* もとlocal
---------------------------------------*/


.ta2 a,
.ta2 label,
.ta3 a,
.ta3 label,
nav,
a,
.bblue {
  color: #223072;
}

.bblue {
  color: #223072;
  font-weight: bold;
}

label.bblue {
  text-decoration: underline;
}

.info02 a {
  text-decoration: underline;
}

.info02 label,
.info03 label {
  color: #223072;
  font-weight: bold;
}

h1 {
  font-weight: bold;
  background: #001457;
  color: #fff;
}

nav.pagetop label {
  background: #08316d;
}

label.labelink {
  color: #ce3f50;
}

h2 {
  color: #ce3f50;
  border-top: 1px dashed #ce3f50;
  border-bottom: 1px dashed #ce3f50;
  font-weight: bold;
  background: #fff;
}

h3 {
  color: #ce3f50;
  font-weight: bold;
  background: #fffaee;
}

.hotelinfo h3,
.info06 h3 {
  color: #001457;
  background: #fff;
}

h4 {
  color: #ce3f50;
  font-weight: bold;
  border-top: 1px solid #f7dede;
  border-bottom: 1px solid #f7dede;
}

.hotelinfo .h4 {
  color: #ce3f50;
}

h4.tableh4 {
  color: #ce3f50;
  border-top: 1px solid #f4d8cc;
  border-bottom: 1px solid #f4d8cc;
}

h5,
h6 {
  color: #ce3f50;
}

.sub51 {
  color: #fff;
  background: #001457;
}

.sub04 {
  color: #fff;
  background: #a6595a;
}

.sub03 {
  color: #fff;
  background: #bc5454;
}

.sub02 {
  color: #fff;
  background: #c64246;
}

.sub01 {
  color: #fff;
  background: #b82b34;
}

li.hotel_label {
  background: #dc4649;
}

.sub00 {
  color: #fff;
  background: #051e44;
}

.subcolor,
.bottomcolor {
  color: #fff !important;
  background: #b82b34;
}

.bottomcolor02 {
  color: #fff !important;
  background: #c64246;
}

.bottomcolor03 {
  color: #fff !important;
  background: #bc5454;
}

.bottomcolor04 {
  color: #fff !important;
  background: #a6595a;
}

.subcolor,
.bottomcolor2 {
  color: #fff !important;
  background: #6d6d7f;
}

#localjump li {
  color: #fff;
  background: #b82b34;
}

strong {
  color: #000;
  font-weight: bold;
}

em {
  color: #000;
  font-weight: bold;
}

.ta2 th,
.ta3 th {
  color: #051e44;
}

.ta3 th,
td {
  font-weight: normal;
}

.ta3 th a {
  font-weight: bold;
}

.ta3 td a {
  font-weight: bold;
}

/*画面幅601px以上
------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (min-width: 601px) {
  body {
    background: #f4edee;
  }

  .shoplist_go_topnavi,
  .shoplist_go_subnavi {
    background: #f4edee;
  }

  #contents {
    background: #f4edee;
  }

  header {
    background: #f4edee;
  }

  .labelbutton,
  nav.button a {
    display: block;
    background: #223072;
    width: 300px;
    padding: 5px;
    text-align: center;
    color: #fff;
    border-radius: 5px;
    font-size: 1.1em;
  }

  footer {
    background: #051e44;
  }
}

/*画面幅600px以下
------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width: 600px) {
  body {
    background: #fff;
  }

  .shoplist_go_topnavi,
  .shoplist_go_subnavi {
    background: #fff;
  }

  .labelbutton,
  nav.button a {
    display: block;
    background: #223072;
    width: 220px;
    padding: 5px;
    text-align: center;
    color: #fff;
    border-radius: 5px;
    font-size: 1em;
  }

  footer {
    background: #051e44;
  }
}

/*アフィリエイトリンク
  ---------------------------------------------------------------------------*/
.hotel-booking-div {
  width: 100% !important;
}

.hotel-booking-links {
  list-style: none;
  /* リストの黒点を消す場合 */
  padding: 0;
  margin: 20px 0;
  display: flex;
  /* 横並びにする場合など */
  flex-wrap: wrap;
  /* 画面幅に応じて折り返す場合 */
  gap: 15px;
  /* アイテム間の余白 */
  justify-content: center;
  /* アイテムを水平方向の中央に配置 */
}

.hotel-booking-links li a {
  display: block;
  /* リンク全体をクリック可能に */
  padding: 10px 15px;
  border: 1px solid #ddd;
  border-radius: 5px;
  text-decoration: none;
  color: #001457;
  background-color: #f9f9f9;
  transition: background-color 0.3s ease;
  font-size: 1.2em;
}

/* 戻るリンク
---------------------------------------------------------------------------*/
.return-link-section {
  /* 旧 .hotel-booking-div の役割 */
  width: 100% !important;
}

.return-link-section p {
  /* 旧 .hotel-booking-links の役割を一部引き継ぎ */
  padding: 0;
  margin: 20px 0;
  display: flex;
  /* 横並びにする場合など */
  flex-wrap: wrap;
  /* 画面幅に応じて折り返す場合 */
  gap: 15px;
  /* アイテム間の余白 */
  justify-content: center;
  /* アイテムを水平方向の中央に配置 */
}

.return-link-section p a {
  /* 旧 .hotel-booking-links li a の役割 */
  display: block;
  /* リンク全体をクリック可能に */
  padding: 5px 10px;
  border: 1px solid #ddd;
  border-radius: 5px;
  text-decoration: none;
  color: #001457;
  background-color: #f9f9f9;
  transition: background-color 0.3s ease;
  font-size: 1em;
}

/*ボタン
  ---------------------------------------------------------------------------*/

.ta2 td p.td_link,
.ta3 td p.td_link {
  text-align: right;
  margin-top: 8px !important;
  margin-bottom: 5px !important;
}

.ta2 td p.td_link a,
.ta3 td p.td_link a {
  /* リンク全体をクリック可能に */
  padding: 5px 10px;
  border: 1px solid #ddd;
  border-radius: 5px;
  text-decoration: none;
  color: #001457;
  background-color: #f9f9f9;
  transition: background-color 0.3s ease;
  font-size: 1.1em;
}

.ta2 label,
.ta3 label,
.info02 label {
  padding: 5px 10px;
  border: 1px solid #ddd;
  border-radius: 5px;
  text-decoration: none;
  color: #001457;
  background-color: #f9f9f9;
  transition: background-color 0.3s ease;
  font-size: 1.1em;
  display: inline;
  line-height: 2.5em;
}

.ta2 th label,
.ta3 th label,
.info02 label {
  font-size: 1.1em !important;
  margin: auto;
  text-align: center;
  line-height: 1.2em;
}

/*強制
  ---------------------------------------------------------------------------*/

.al_right {
  text-align: right !important;
}

.al_cent {
  text-align: center !important;
}