@charset "utf-8";


.wideonly {
  display: block;
}

.pcsponly {
  display: block;
}

.tabonly {
  display: none;
}

.tabsponly {
  display: none;
}

.sponly {
  display: none;
}

.sptabonly {
  display: none;
}

a:hover,
label:hover {
  text-decoration: none;
  opacity: 0.4;
  transition-property: opacity;
  -webkit-transition-property: opacity;
  transition-duration: 0.5s;
  -webkit-transition-duration: 0.5s;
}

label {
  cursor: pointer;
  display: block;
}

label a {
  color: #fff;
}

.pointer {
  cursor: pointer;
}

span {
  font-weight: normal;
}

/*PC用骨組
    ---------------------------------------------------------------------------*/
#container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 12px 0 0;
}

#contents {
  padding: 5px 4%;
  width: 960px;
  /* 親要素の幅を指定 */
  margin: 0 auto;
  /* 中央寄せなど */
}

#contents .hoteltop {
  padding: 5px;
  margin: 0 auto 0;
  max-width: 1200px;
}

#main {
  overflow: hidden;
  padding: 0 50px 0 50px;
  max-width: 1200px;
}

#main p {
  padding: 0px 15px;
}

/*PC用ヘッダー
    ---------------------------------------------------------------------------*/
header {
  height: 64px;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 100;
}

/*PC用ヘッダーロゴ
  ----------------------------------------*/
#logo {
  width: 100%;
  margin: auto;
  max-width: 960px;
  display: block;
}

/*トップナビ
----------------------------*/
#contents .shoplist_go_topnavi {
  position: fixed;
  top: 62px;
  height: 32px;
  z-index: 1800;
  font-size: 1.05em;
  width: 960px;
  left: 50%;
  transform: translateX(-50%);
  /* 中央寄せ */
}

.shoplist_go_topnavi ul {
  display: flex;
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
  list-style: none;
  width: 100%;
}

.shoplist_go_topnavi ul li {
  flex-grow: 1;
  flex-basis: 0;
  text-align: center;
  font-size: 1em;
  text-decoration: none;
  margin: 0;
  line-height: 1.25em;
  display: block;
  opacity: 1;
  padding: 6px 0;
  color: #fff;
}

.shoplist_go_topnavi ul li:hover {
  text-decoration: none;
  opacity: 0.5;
  transition-property: opacity;
  -webkit-transition-property: opacity;
  transition-duration: 0.5s;
  -webkit-transition-duration: 0.5s;
}

.shoplist_go_topnavi ul li.noopa:hover,
.shoplist_go_topnavi ul li label.noopa:hover {
  opacity: 1 !important;
  cursor: auto;
}

/*サブナビ
----------------------------*/
#contents .shoplist_go_subnavi {
  position: fixed;
  top: 93px;
  height: 50px;
  z-index: 1650;
  width: 960px;
  margin: auto;
  left: 50%;
  transform: translateX(-50%);
  /* 中央寄せ */
}

.shoplist_go_subnavi ul {
  display: flex;
  flex-wrap: wrap;
  margin: 0;
  /* fixed要素なので親のmarginは不要 */
  padding: 0;
  list-style: none;
  width: 100%;
}

.shoplist_go_subnavi ul li {
  flex-grow: 1;
  flex-basis: 0;
  text-align: center;
  font-size: 1em;
  text-decoration: none;
  margin: 0;
  display: block;
  opacity: 1;
  padding: 0;
  color: #fff;
}

.shoplist_go_subnavi ul label {
  padding: 5px 0;
}

.shoplist_go_subnavi ul label:hover {
  text-decoration: none;
  opacity: 0.5;
  transition-property: opacity;
  -webkit-transition-property: opacity;
  transition-duration: 0.5s;
  -webkit-transition-duration: 0.5s;
}

.shoplist_go_subnavi ul li.noopa:hover,
.shoplist_go_subnavi ul li label.noopa:hover {
  opacity: 1 !important;
  cursor: auto;
}

/*ラベルナビ共通
---------------------------------------*/
li label:hover {
  cursor: pointer;
}

/*見出し
---------------------------------------*/
/*PC用h1固定設定
-------------------------*/
#contents h1 {
  position: fixed;
  top: 36px;
  z-index: 1000;
  width: 960px;
  font-size: 1.25em;
  margin: auto;
  padding: 1px 0;
  text-align: center;
  border-bottom: 5px solid #f4edee;
}

#contents h1 a {
  color: #fff;
}

/*PC用h2固定設定
-------------------------*/
#contents h2 {
  position: fixed;
  top: 128px;
  z-index: 100000;
  width: 80%;
  max-width: 960px;
  margin: auto;
  padding: 3px 0;
  font-size: 1.2em;
  text-align: center;
}

/*PC用h2固定設定（TOPページ）
-------------------------*/
#contents h2.topstyle {
  position: fixed;
  top: 68px;
  z-index: 100000;
  width: 80%;
  max-width: 960px;
  margin: auto;
  padding: 3px 0;
  font-size: 1.2em;
  text-align: center;
}

h3 {
  text-align: center;
  font-size: 1.15em;
  margin: 0.5em 0em 0.5em;
  padding: 2px;
  clear: both;
}

h2+h3 {
  margin-top: 5px;
}

h4 {
  text-align: center;
  margin: 15px 0 10px 0;
  font-size: 1.1em;
  width: 100%;
}

figure+h4 {
  margin-top: 10px;
}

iframe+h4,
table+h4 {
  margin-top: 30px;
}

h5 {
  font-weight: bold;
  font-size: 1.1em;
  text-align: left;
  margin: 0 0 0.25em 0.8em;
}

h6 {
  text-align: left;
  font-weight: bold;
  font-size: 1em;
  margin: 10px 0 0 0;
}

/*上に戻る矢印
------------------------------------*/
nav.pagetop {
  position: fixed;
  right: 10px;
  bottom: 15px;
}

nav.pagetop label {
  display: block;
  width: 55px;
  height: 35px;
  text-align: center;
  background: #006dd5;
  border-radius: 20%;
  opacity: 0.5;
  color: #fff;
  text-decoration: none;
  font-size: 2.5em;
  padding: 20px 4px 10px;
}

/*アコーディオン
---------------------------------------------------------------------------*/
.acd-check {
  display: none;
}

.acd-label {
  padding: 4px 2px;
  border-radius: 0;
  color: #fff;
  position: relative;
  display: block;
  font-size: 1em;
}

.acd-label02 {
  padding: 4px 2px;
  border-radius: 0;
  color: #fff;
  position: relative;
  display: block;
  font-size: 1em;
}

.acd-content {
  height: 0;
  opacity: 0;
  padding: 0;
  transition: 0.5s;
  visibility: hidden;
}

.acd-check:checked+.acd-label+.acd-content {
  height: auto;
  opacity: 1;
  padding: 0;
  visibility: visible;
}

.acd-check:checked+.acd-label02+.acd-content {
  height: auto;
  opacity: 1;
  padding: 0;
  visibility: visible;
}

.acd-content02 {
  height: 0;
  opacity: 0;
  padding: 0;
  transition: 0.5s;
  background: #fff;
  visibility: hidden;
}

.acd-check:checked+.acd-label+.acd-content02 {
  height: auto;
  opacity: 1;
  padding: 0px;
  visibility: visible;
}

.acd-check:checked+.acd-label02+.acd-content02 {
  height: auto;
  opacity: 1;
  padding: 0px;
  visibility: visible;
}

/*ラベル
---------------------------------------*/
label.acd-label {
  display: none;
}

label.acd-label02 {
  display: none;
}

/*listボックス
---------------------------------------------------------------------------*/
.list {
  position: relative;
  overflow: hidden;
  margin: 0px;
  padding: 148px 2% 10px;
  background: #fff;
}

.topstyle_list {
  padding: 88px 2% 10px;
}

.list p {
  padding: 0px 4px;
  margin-bottom: 0.5em;
  margin-left: 0;
  font-size: 1em;
  line-height: 1.6em;
}

.list>p:first-child {
  margin: 20px auto 0;
  width: 99%;
}

/*メイン部分
---------------------------------------------------------------------------*/
figure.info,
.info02 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.info02 {
  width: 90%;
  margin: auto;
  margin-bottom: 15px;
  border-bottom: 1px dashed #ccc;
  padding: 10px 0 20px;
}

.info02 figure {
  width: 22%;
  padding-top: 30px;
}

.info02 div {
  width: 75%;
}

article.hotel div {
  width: 100%;
}

.info02 figure figcaption {
  text-align: left;
  font-size: 0.8em;
  line-height: 1.25em;
  margin-top: 0.2em;
}

.info02 h4 {
  margin-top: 0;
}

.info02 label {
  display: inline;
  text-align: right;
}

.info03 {
  display: flex;
  flex-wrap: wrap;
}

.info03 {
  width: 90%;
  margin: 10px auto 10px;
  padding-bottom: 5px;
}

.info03 figure {
  width: 15%;
  line-height: 1em;
}

.info03 figure a {
  font-weight: bold;
  font-size: 0.8em;
}

.info03 div {
  width: 85%;
}

.info03 p {
  margin: 0;
  line-height: 1.4em;
}

.info03 a {
  font-weight: bold;
}

.info03 label {
  font-weight: bold;
}

.info03 nav {
  margin-top: 10px;
}

.info06 {
  width: 88%;
  margin: auto;
  padding: 10px;
  padding-bottom: 5px;
  border: 1px dashed #ccc;
}

.info06 figure,
.info06 picture {
  width: 10%;
  float: left;
  margin-top: 4px;
  margin-right: 18px;
  margin-left: 18px;
}

.info06 div {
  width: 90%;
}

.info06 a {
  font-weight: bold;
  text-decoration: none;
}

/*テーブル
---------------------------------------------------------------------------*/
.ta2 {
  width: 90%;
  margin: 10px auto 20px;
}

.ta2 tbody tr:nth-child(2n + 1) {
  border-top: 4px solid #ddd;
}

.ta2 thead th,
.ta2 thead td {
  text-align: center;
}

.ta2 td,
.ta2 th {
  border: 1px solid #ccc;
  padding: 10px 15px;
  word-break: break-all;
  background: #fff;
  line-height: 1.6em;
}

.ta2 th {
  width: auto;
  padding: 2px;
  padding-top: 4px;
  vertical-align: middle;
  text-align: center;
  line-height: 1.4em;
  font-weight: bold;
  font-size: 0.9em;
}

.ta2 th:first-child {
  width: 20%;
  line-height: 1.25em;
}

.ta2 td {
  padding: 5px;
  text-align: center;
  width: 10%;
  line-height: 1.25em;
  font-size: 0.9em;
}

.ta2 td p {
  text-align: left;
  line-height: 1.5em;
}

.ta2 thead td {
  line-height: 1em;
}

.ta3 {
  width: 90%;
  margin: 10px auto 20px;
}

.ta3 th label {
  font-weight: bold;
  font-size: 1em;
  line-height: 1.5em;
}

.ta3 td label {
  font-weight: bold;
  font-size: 1.1em;
}

.ta3 td,
.ta3 th {
  border: 1px solid #ccc;
  padding: 10px;
  word-break: break-all;
  background: #fff;
  line-height: 1.6em;
  font-size: 1em;
}

.ta3 td {
  text-align: left;
}

.ta3 th:first-child {
  width: 25%;
  padding: 4px;
  vertical-align: middle;
  text-align: center;
  line-height: 1.2em;
}

.ta3 td:first-child {
  text-align: center;
}

.ta3 td figure,
.ta3 td picture {
  width: 100%;
  margin: auto;
  font-size: 0.9em;
}

.ta3 th figure,
.ta3 th picture {
  width: 100%;
  margin: auto;
  text-align: center;
  font-size: 0.9em;
}

.ta4 {
  width: 90%;
  margin: auto;
  margin: 10px auto 20px;
}

.ta4 td,
.ta4 th {
  border: 1px solid #ccc;
  padding: 6px;
  word-break: break-all;
  background: #fff;
  line-height: 1.6em;
  font-size: 0.9em;
}

.ta4 th:first-child {
  width: 30%;
  padding: 4px;
  vertical-align: middle;
  text-align: center;
  line-height: 1.25em;
}

.ta4 td:first-child {
  text-align: left;
}

.ta4 td:last-child {
  text-align: left;
}

.ta2 td p,
.ta3 td p,
.ta4 td p {
  padding: 0 !important;
  margin: 0 !important;
}

/*PC用サイド固定ナビ
---------------------------------------*/
#footnavi {
  position: fixed;
  top: 170px;
  right: -50px;
  width: 220px;
  z-index: 165000;
}

#footnavi.shoplist_go_footnavi ul.col3 li {
  writing-mode: horizontal-tb;
  margin: 12px 0;
}

#footnavi.shoplist_go_footnavi ul.col3 li a {
  display: block;
  padding: 15px 40px 15px 5px;
  color: #fff;
}

/*PC用サイド固定ナビ部品
---------------------------------------*/
.shoplist_go_footnavi {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  margin: 3px 0 0 0;
}

.shoplist_go_footnavi ul li {
  width: 100%;
  text-align: left;
  font-size: 0.9em;
  text-decoration: none;
  margin: 8px 0;
  line-height: 1.6em;
  opacity: 1;
  border-radius: 10px 0 0 10px;
}

.shoplist_go_footnavi ul li a {
  display: block;
  padding: 12px 20px 12px 6px;
  color: #fff;
}

.shoplist_go_footnavi ul li:hover {
  opacity: 0.5 !important;
  transition-property: all;
  transition-duration: 1s;
}

/*PC用サイド固定ナビ（パンくず）
---------------------------------------*/
#localjump {
  position: fixed;
  top: 72px;
  right: -60px;
  width: 190px;
  z-index: 15000;
}

#localjump ul li {
  width: 100%;
  text-align: left;
  font-size: 0.8em;
  text-decoration: none;
  margin: 6px 0;
  line-height: 1.6em;
  opacity: 1;
  border-radius: 10px 0 0 10px;
  padding: 3px 2px 3px 8px;
}

#localjump ul li a {
  display: block;
  color: #fff;
  padding-right: 70px;
}

#localjump ul li:hover {
  opacity: 0.5 !important;
  transition-property: all;
  transition-duration: 1s;
}

/*PC用フッター
  ---------------------------------------------------------------------------*/
footer {
  width: 960px;
  margin: -8px auto;
  z-index: 2000;
  color: #fff;
  text-align: center;
  padding: 4px 0;
  line-height: 1em;
}

footer p {
  padding: 0;
}

footer a {
  color: #fff;
  text-decoration: none;
}



/*臨時
  ---------------------------------------------------------------------------*/

p.chui {
  line-height: 1.2em;
  width: 90%;
  margin: 10px auto;
}

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

.ta2 th label,
.ta3 th label {
  display: block;
  margin: 0 5px;
}