@charset "UTF-8";
/* CSS Document */

body {
  color: #333;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium",
    "游ゴシック", "Yu Gothic", sans-serif;
}

body #google_language_translator {
  position: absolute;
  z-index: -1;
  height: 0px !important;
  opacity: 0;
  overflow: hidden;
}

.skiptranslate {
  position: absolute;
  z-index: -1;
  height: 1px !important;
  opacity: 0;
  overflow: hidden;
}

/* マージン

------------------------------- */

.mt-8 {
  margin-top: 8px;
}

.mt-16 {
  margin-top: 16px;
}

.mt-24 {
  margin-top: 24px;
}

.mt-32 {
  margin-top: 32px;
}

.mt-40 {
  margin-top: 40px;
}

.mt-64 {
  margin-top: 64px;
}

.mt-80 {
  margin-top: 80px;
}

.mt-120 {
  margin-top: 120px;
}

.mt-210 {
  margin-top: 210px;
}

/* 余白

------------------------------- */

.ptb-35 {
  padding: 32px 0;
}

/* 文字

------------------------------- */

.fw-none {
  font-weight: normal;
}

/* -------------------------------- PC版のスタイルここから ------------------------------------*/

@media print, screen and (min-width: 751px) {
  /* ----------------------------------------

全体

---------------------------------------- */

  body.is-locked {
    position: fixed;
    width: 100%;
  }

  main.lity-hidden {
    position: fixed;
    width: 100%;
  }

  footer.lity-hidden {
    position: fixed;
    width: 100%;
    bottom: 0;
  }

  /* PC・SPの表示切り替え

------------------------------- */
  .pc {
    display: block !important;
  }
  .sp {
    display: none !important;
  }

  p + p {
    margin-top: 24px;
  }

  p + div,
  p + ul,
  section + ul,
  p + section,
  section + a,
  a + p,
  div + a,
  section + p,
  a + h4,
  a + h5,
  div + p,
  p + h4,
  p + h5,
  div + h5,
  div + h4,
  ol + a {
    margin-top: 32px;
  }

  ul + h4,
  ul + h5,
  div + section {
    margin-top: 64px;
  }

  /* メインコンテンツ

------------------------------- */

  main {
    width: 100%;
    margin: 0;
    padding: 0 0 200px 0;
    position: relative;
    overflow: hidden;
    background: #fff url("../img/common/contents-bt-bg.svg") no-repeat right
      bottom -2px;
    background-size: 60%;
  }

  main.hd-navy {
    margin-top: 78px;
    padding-top: 64px;
  }

  main.bg-gray {
    background: #fff;
    padding: 0;
  }

  main > article + article {
    margin-top: 80px;
  }

  main > article + article.article02 {
    margin-top: 48px;
  }

  main article.article03 {
    margin-top: 80px;
    margin-bottom: 80px;
  }

  main article.article04 {
    margin-top: 152px;
    margin-bottom: 152px;
  }

  main .bg-wh {
    background: #fff;
  }

  main .bg-gray01 {
    background: #f2f2f2;
  }

  main .bg-gray01 .ttl-txt02 {
    margin-top: 0;
  }

  main .bg-gray01 p + .slick-wrap {
    margin-top: 48px;
  }

  main .bg-gray02 {
    background: #f2f2f2 url("../img/common/contents-bt-bg.svg") no-repeat right
      bottom -2px;
    padding: 120px 0 200px 0;
    position: relative;
    background-size: 60%;
  }

  main .bg-gray02:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 80px 100vw;
    border-color: transparent transparent #fff transparent;
    transform: rotate(180deg);
  }

  main .bg-gray03 {
    background: #f2f2f2;
    padding: 100px 0 48px 0;
    position: relative;
  }

  main article.bg-gray03._last {
    margin-bottom: 160px;
  }

  main .bg-gray03:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 80px 100vw;
    border-color: transparent transparent #fff transparent;
    transform: rotate(180deg);
  }

  main .bg-gray03:after {
    content: "";
    position: absolute;
    bottom: -80px;
    left: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 80px 100vw;
    border-color: transparent transparent #f2f2f2 transparent;
    transform: rotateX(180deg);
  }

  main .bg-gray03 .ttl-txt02 {
    margin-top: 32px;
  }

  main .section-inner {
    max-width: 1198px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 24px;
    padding-right: 24px;
  }

  main .section-inner02 {
    max-width: 700px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 24px;
    padding-right: 24px;
  }

  main .section-inner-full {
    max-width: 1198px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 24px;
    padding-right: 24px;
  }

  article.bg-gray01 {
    padding: 64px 0;
  }

  section + section {
    margin-top: 40px;
  }
  section + section,
  section + iframe,
  iframe + .weather-info-wrap {
    margin-top: 40px;
  }
  #information-frame {
    width: 100%;
    max-width: 1150px;
    border: none;
    margin-left: auto;
    margin-right: auto;
    box-shadow: 0px 5px 4px rgba(0, 0, 0, 0.15);
  }
  #info-area {
    padding-bottom: 40px;
  }

  /* ----------------------------------------

ヘッダー

---------------------------------------- */
  header {
    width: 100%;
    background: url("../img/common/header-bg.png") repeat-x top;
    background-size: contain;
    color: #fff;
    margin: 0;
    padding: 0;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 999;
  }

  .drawer {
    display: none;
  }

  .sp-menu {
    display: none;
  }

  .sp-menu02 {
    display: none;
  }

  body.hd-bg-navy header {
    background: #1d315a;
    color: #fff;
    margin: 0;
    padding: 0;
  }

  header.is-animation {
    background: #fff;
    color: #1d315a;
    margin: 0;
    padding: 0;
    box-shadow: 0 4px 4px -4px rgba(0, 0, 0, 0.15);
  }

  body.hd-bg-navy header.is-animation {
    background: #fff;
    color: #1d315a;
    box-shadow: 0 4px 4px -4px rgba(0, 0, 0, 0.15);
  }

  .header-inner {
    max-width: 1198px;
    margin: 0 auto;
    padding: 0 24px;
    position: relative;
    display: flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
  }

  .header-inner h1 {
    width: 20%;
    max-width: 224px;
    margin: 0;
    padding: 20px 0;
  }

  .header-inner h1 a.hd-logo {
    margin: 0;
    padding: 0;
  }

  .header-inner h1 a.hd-logo img {
    width: 100%;
    transition: 0.3s;
  }

  .header-inner h1 a.hd-logo:hover img {
    opacity: 0.7;
  }

  /* グローバルナビ

------------------------------- */
  #gNav {
    width: 48%;
    margin-left: 5%;
  }

  #gNav > ul {
    width: 100%;
    height: 100%;
    display: flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    padding: 0;
    margin-bottom: 0;
  }

  #gNav li.sub-nav {
    width: 18%;
    display: inline-block;
    margin: 0;
    padding: 20px 0;
    cursor: pointer;
    line-height: 1.1em;
  }

  #gNav .sub-nav + .sub-nav {
    margin-left: 0;
  }

  /**/

  #gNav li.sub-nav:first-child,
  #gNav li.sub-nav:last-child {
    width: 22%;
  }

  #gNav li.sub-nav:nth-child(2),
  #gNav li.sub-nav:nth-child(4) {
    width: 20%;
  }

  #gNav li.sub-nav .box-arrow {
    width: 100%;
    height: 20px;
    overflow: hidden;
    z-index: -1;
    position: absolute;
    top: -20px;
  }

  #gNav li.sub-nav .box-arrow:before {
    content: "";
    width: 20px;
    height: 20px;
    background: #fff;
    transform: rotate(45deg) translateX(-50%);
    box-shadow: rgba(122, 122, 122, 0.0588235) 0px 0px 6px 3px;
    -webkit-box-shadow: rgba(122, 122, 122, 0.0588235) 0px 0px 6px 3px;
    -moz-box-shadow: rgba(122, 122, 122, 0.0588235) 0px 0px 6px 3px;
    position: absolute;
    top: 17px;
  }

  #gNav li.sub-nav:first-child .box-arrow:before {
    left: 32%;
  }

  #gNav li.sub-nav:nth-child(2) .box-arrow:before {
    left: 54%;
  }

  #gNav li.sub-nav:nth-child(3) .box-arrow:before {
    left: 67%;
  }

  #gNav li.sub-nav:nth-child(4) .box-arrow:before {
    left: 79%;
  }

  #gNav li.sub-nav:last-child .box-arrow:before {
    left: 93%;
  }

  #gNav > ul > li span {
    font-size: 14px;
    line-height: 1.2em;
    position: relative;
  }

  /*
    #gNav .sub-nav-wrap{
        visibility: hidden;
        transition: 0.1s;
        width: auto;
        height: 0;
        opacity: 0;
        position: absolute;
        top:88px;
        left: 0;
    }
    */

  #gNav .sub-nav-wrap {
    display: none;
    width: auto;
    height: auto;
    background: #fff url("../img/common/hd-bg.svg") no-repeat bottom right;
    background-size: 678px;
    position: absolute;
    top: 88px;
    left: 0;
    padding: 0;
    z-index: 2;
    box-shadow: rgba(0, 0, 0, 0.15) 0px 4px 4px;
    -webkit-box-shadow: rgba(0, 0, 0, 0.15) 0px 4px 4px;
    -moz-box-shadow: rgba(0, 0, 0, 0.15) 0px 4px 4px;
    cursor: default;
  }

  #gNav .sub-nav-wrap > ul {
    width: 100%;
    overflow: hidden;
    padding-inline-start: 0;
    padding: 40px 40px 80px 40px;
    margin-bottom: 0;
  }

  #gNav .sub-nav-wrap > ul > li {
    float: left;
    width: 200px;
    color: #000;
    font-size: 16px;
    text-align: left;
    list-style: none;
    font-family: "M PLUS 1p", sans-serif;
    font-weight: 700;
  }

  #gNav .sub-nav-wrap > ul > li + li {
    margin-left: 32px;
  }

  #gNav .sub-nav-wrap > ul > li > ul {
    border-top: 1px solid #898989;
    margin-top: 10px;
    padding-top: 10px;
    padding-left: 0;
    padding-right: 0;
    padding-inline-start: 0;
  }

  #gNav .sub-nav-wrap > ul > li > ul > li {
    list-style: none;
    font-size: 15px;
    display: block;
    line-height: 1.5em;
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium",
      "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
    font-weight: normal;
  }

  #gNav .sub-nav-wrap > ul > li > ul > li + li {
    margin-top: 8px;
  }

  #gNav .sub-nav-wrap > ul > li > ul > li a {
    padding: 2px 0;
    color: #000;
    position: relative;
    transition: 0.3s;
    display: block;
  }

  #gNav .sub-nav-wrap > ul > li > ul > li a:hover {
    text-decoration: none;
    color: #1d315a;
  }

  #gNav .sub-nav-wrap > ul > li > ul > li a:before {
    content: "";
    transition: 0.3s;
    width: 0;
    height: 1px;
    background: #1d315a;
    position: absolute;
    left: 0;
    bottom: 0;
  }

  #gNav .sub-nav-wrap > ul > li > ul > li a:hover:before {
    width: 100%;
  }

  /* 翻訳・天気・宿泊予約ナビ

------------------------------- */

  #gNav02 {
    width: 35%;
    margin-left: 2%;
  }

  #gNav02 > ul {
    width: 100%;
    height: 100%;
    display: flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-end;
    justify-content: flex-end;
    margin-block-start: 0;
    margin-block-end: 0;
    padding-inline-start: 0;
    position: relative;
    padding: 0;
    margin-bottom: 0;
  }

  #gNav02 > ul > li {
    list-style: none;
    text-align: center;
    display: block;
    cursor: pointer;
    padding: 0;
  }

  #gNav02 > ul > li + li:after {
    background: #fff;
    width: 1px;
    height: 40%;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    content: "";
  }

  header.is-animation #gNav02 > ul > li + li:after {
    background: #1d315a;
    width: 1px;
    height: 40%;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    content: "";
  }

  #gNav02 > ul > li.language-nav,
  #gNav02 > ul > li.weather-nav {
    width: 25%;
    height: 100%;
    position: relative;
    display: flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    align-items: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
  }

  #gNav02 > ul > li.hotel-nav {
    width: 44%;
    position: relative;
    padding: 0 2%;
    display: flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    align-items: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
  }

  /*

    body._hotel-box-type #gNav02 > ul > li.hotel-nav{
        display: none;
    }

    */

  body._hotel-box-type header .hotel-wrap {
    display: none;
  }

  #gNav02 > ul > li.language-nav span {
    vertical-align: middle;
    font-size: 16px;
  }

  #gNav02 > ul > li.language-nav span:after {
    content: "";
    width: 0;
    height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 8px solid #fff;
    display: inline-block;
    margin-left: 5px;
    vertical-align: middle;
  }

  header.is-animation #gNav02 > ul > li.language-nav span:after {
    content: "";
    width: 0;
    height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 8px solid #1d315a;
    display: inline-block;
    margin-left: 5px;
    vertical-align: middle;
  }

  #gNav02 > ul > li.hotel-nav > span {
    vertical-align: middle;
    position: relative;
    padding-left: 32px;
    font-size: 16px;
  }

  #gNav02 > ul > li.hotel-nav > span:before {
    content: "";
    width: 22px;
    height: 22px;
    background: url("../img/common/hotel-icon.svg") no-repeat center center;
    background-size: cover;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
  }

  header.is-animation #gNav02 > ul > li.hotel-nav > span:before {
    content: "";
    width: 22px;
    height: 22px;
    background: url("../img/common/hotel-icon-navy.svg") no-repeat center center;
    background-size: cover;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
  }

  #gNav02 > ul > li.weather-nav span {
    vertical-align: middle;
    position: relative;
  }

  #gNav02 > ul > li.weather-nav span svg,
  #gNav02 > ul > li.weather-nav span img {
    width: 26px;
    height: 26px;
  }

  #gNav02 > ul > li.weather-nav span svg.img-svg path,
  #gNav02 > ul > li.weather-nav span svg.img-svg rect,
  #gNav02 > ul > li.weather-nav span svg.img-svg polygon,
  #gNav02 > ul > li.weather-nav span svg.img-svg circle {
    fill: #fff;
  }

  header.is-animation #gNav02 > ul > li.weather-nav span svg.img-svg path,
  header.is-animation #gNav02 > ul > li.weather-nav span svg.img-svg rect,
  header.is-animation #gNav02 > ul > li.weather-nav span svg.img-svg polygon,
  header.is-animation #gNav02 > ul > li.weather-nav span svg.img-svg circle {
    fill: #1d315a;
  }

  /*
    #gNav02 > ul > li.language-nav > .language-wrap{
        visibility: hidden;
        transition: 0.1s;
        opacity: 0;
        width: 380px;
        position: absolute;
        top:58px;
        right: 0;
    }
    #gNav02 > ul > li.weather-nav > .weather-wrap{
        visibility: hidden;
        transition: 0.1s;
        opacity: 0;
        width: 980px;
        position: absolute;
        top:58px;
        right: 0;
    }

    #gNav02 > ul > li.hotel-nav > .hotel-wrap{
        visibility: hidden;
        transition: 0.1s;
        opacity: 0;
        width: 490px;
        position: absolute;
        top:58px;
        right: 0;
    }
    */

  #gNav02 .language-wrap h3,
  #gNav02 .weather-wrap h3 {
    text-align: center;
    font-size: 20px;
    font-family: "Montserrat", sans-serif;
    font-weight: 900;
    color: #000;
    display: block;
  }

  #gNav02 .language-wrap .box-arrow {
    width: 100%;
    height: 20px;
    overflow: hidden;
    z-index: -1;
    position: absolute;
    top: -20px;
    left: 0;
  }

  #gNav02 .language-wrap .box-arrow:before {
    content: "";
    width: 20px;
    height: 20px;
    background: #fff;
    transform: rotate(45deg) translateX(-50%);
    box-shadow: rgba(122, 122, 122, 0.0588235) 0px 0px 6px 3px;
    -webkit-box-shadow: rgba(122, 122, 122, 0.0588235) 0px 0px 6px 3px;
    -moz-box-shadow: rgba(122, 122, 122, 0.0588235) 0px 0px 6px 3px;
    position: absolute;
    top: 17px;
    left: 18%;
  }

  body._hotel-box-type #gNav02 .language-wrap .box-arrow:before {
    left: 58%;
  }

  #gNav02 > ul > li.language-nav .language-wrap {
    display: none;
    width: 380px;
    height: auto;
    background: #fff;
    position: absolute;
    top: 88px;
    right: -250px;
    padding: 40px;
    z-index: 2;
    box-shadow: rgba(0, 0, 0, 0.15) 0px 4px 4px;
    -webkit-box-shadow: rgba(0, 0, 0, 0.15) 0px 4px 4px;
    -moz-box-shadow: rgba(0, 0, 0, 0.15) 0px 4px 4px;
    cursor: default;
  }

  body._hotel-box-type #gNav02 > ul > li.language-nav .language-wrap {
    right: -100px;
  }

  #gNav02 .language-wrap h3 {
    border-bottom: 1px solid #ccc;
    padding-bottom: 8px;
  }

  #gNav02 .language-wrap ul {
    padding-inline-start: 0;
    margin-top: 16px;
    padding-left: 0;
    padding-right: 0;
  }

  #gNav02 .language-wrap li {
    text-align: center;
    height: 40px;
  }

  #gNav02 .language-wrap li a {
    color: #000;
    font-size: 15px;
    position: relative;
    padding-bottom: 10px;
    transition: 0.3s;
  }

  #gNav02 .language-wrap li a:hover {
    text-decoration: none;
  }

  #gNav02 .language-wrap li a:before {
    content: "";
    transition: 0.3s;
    width: 0;
    height: 1px;
    background: #1d315a;
    position: absolute;
    left: 0;
    bottom: 0;
  }

  #gNav02 .language-wrap li a:hover:before {
    width: 100%;
  }

  #gNav02 .weather-wrap .box-arrow {
    width: 100%;
    height: 20px;
    overflow: hidden;
    z-index: -1;
    position: absolute;
    top: -20px;
    right: 0;
  }

  #gNav02 .weather-wrap .box-arrow:before {
    content: "";
    width: 20px;
    height: 20px;
    background: #fff;
    transform: rotate(45deg) translateX(-50%);
    box-shadow: rgba(122, 122, 122, 0.0588235) 0px 0px 6px 3px;
    -webkit-box-shadow: rgba(122, 122, 122, 0.0588235) 0px 0px 6px 3px;
    -moz-box-shadow: rgba(122, 122, 122, 0.0588235) 0px 0px 6px 3px;
    position: absolute;
    top: 17px;
    right: 19.5%;
  }

  body._hotel-box-type #gNav02 .weather-wrap .box-arrow:before {
    right: 3.1%;
  }

  #gNav02 > ul > li.weather-nav .weather-wrap {
    display: none;
    width: 950px;
    height: auto;
    background: #fff;
    position: absolute;
    top: 88px;
    right: -165px;
    padding: 40px;
    z-index: 2;
    box-shadow: rgba(122, 122, 122, 0.0588235) 0px 0px 6px 3px;
    -webkit-box-shadow: rgba(122, 122, 122, 0.0588235) 0px 0px 6px 3px;
    -moz-box-shadow: rgba(122, 122, 122, 0.0588235) 0px 0px 6px 3px;
    cursor: default;
  }

  #gNav02 > ul > li.weather-nav .weather-wrap._summer {
    width: 350px;
    right: -130px;
  }

  #gNav02 .weather-wrap._summer .box-arrow:before {
    right: 46%;
  }

  #gNav02 .weather-wrap._summer > ul > li {
    width: 100%;
  }

  body._hotel-box-type #gNav02 > ul > li.weather-nav .weather-wrap {
    right: 0;
  }

  #gNav02 .weather-wrap p {
    text-align: center;
    font-size: 12px;
    color: #000;
  }

  #gNav02 .weather-wrap a {
    float: right;
    font-size: 18px;
    color: #000;
    font-weight: bold;
    padding-right: 30px;
    position: relative;
    margin-left: 40px;
  }

  #gNav02 .weather-wrap a:after {
    content: "";
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
    width: 11px;
    height: 11px;
    border-top: 2px solid #000;
    border-right: 2px solid #000;
  }

  #gNav02 .weather-wrap > ul {
    width: 100%;
    isplay: flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    padding: 0;
    margin-bottom: 32px;
  }

  #gNav02 .weather-wrap > ul > li {
    width: 31%;
    color: #000;
    list-style: none;
    text-align: left;
    font-size: 16px;
    font-family: "Montserrat", sans-serif;
    font-weight: 900;
  }

  #gNav02 .weather-wrap > ul > li + li {
    margin-left: 3.5%;
  }

  #gNav02 .weather-wrap > ul > li > ul {
    border-top: 1px solid #ccc;
    margin-top: 8px;
    padding-top: 8px;
    padding-left: 0;
    padding-right: 0;
    padding-inline-start: 0;
  }

  #gNav02 .weather-wrap > ul > li > ul > li {
    width: 100%;
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium",
      "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
    list-style: none;
    font-weight: normal;
  }

  #gNav02 .weather-wrap > ul > li > ul > li.status01 {
    text-align: center;
    margin-top: 8px;
  }

  #gNav02 .weather-wrap > ul > li > ul > li.status01 .no-data {
    padding-right: 8px;
    font-size: 30px;
    font-weight: bold;
  }

  #gNav02 .weather-wrap > ul > li > ul > li.status01 .wi {
    width: 50px;
    height: 50px;
    display: inline-block;
    margin-right: 30px;
    font-size: 35px;
    font-family: "weathericons";
  }

  #gNav02 .weather-wrap > ul > li > ul > li.status01 .wi img,
  #gNav02 .weather-wrap > ul > li > ul > li.status01 .wi svg {
    width: 50px;
    height: 50px;
  }

  #gNav02 .weather-wrap > ul > li > ul > li.status01 .wi svg.img-svg path,
  #gNav02 .weather-wrap > ul > li > ul > li.status01 .wi svg.img-svg rect,
  #gNav02 .weather-wrap > ul > li > ul > li.status01 .wi svg.img-svg polygon {
    fill: #333;
  }

  #gNav02 .weather-wrap > ul > li > ul > li.status01 .temperature {
    font-size: 30px;
    font-weight: bold;
    position: relative;
    top: auto;
    left: auto;
    transform: none;
  }

  #gNav02 .weather-wrap > ul > li > ul > li.status02 {
    display: block;
    margin-top: 24px;
  }

  #gNav02 .weather-wrap > ul > li > ul > li.status02 dl {
    display: flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    align-items: flex-start;
    -webkit-align-items: flex-start;
    -ms-flex-align: flex-start;
    padding: 0 16px;
  }

  #gNav02 .weather-wrap > ul > li > ul > li.status02 dt {
    font-size: 14px;
    font-weight: normal;
    width: 50%;
  }

  #gNav02 .weather-wrap > ul > li > ul > li.status02 dd {
    font-size: 14px;
    font-weight: normal;
    width: 46%;
    margin-left: 4%;
    margin-bottom: 0;
  }

  /* 宿泊予約

------------------------------- */

  #gNav02 .hotel-wrap .box-arrow {
    width: 100%;
    height: 20px;
    overflow: hidden;
    z-index: -1;
    position: absolute;
    right: 0;
    top: -20px;
  }

  #gNav02 .hotel-wrap .box-arrow:before {
    content: "";
    width: 20px;
    height: 20px;
    background: #fff;
    transform: rotate(45deg) translateX(-50%);
    box-shadow: rgba(122, 122, 122, 0.0588235) 0px 0px 6px 3px;
    -webkit-box-shadow: rgba(122, 122, 122, 0.0588235) 0px 0px 6px 3px;
    -moz-box-shadow: rgba(122, 122, 122, 0.0588235) 0px 0px 6px 3px;
    position: absolute;
    top: 17px;
    right: 13%;
  }

  #gNav02 > ul > li.hotel-nav .hotel-wrap {
    display: none;
    width: 490px;
    height: auto;
    background: #fff;
    position: absolute;
    top: 88px;
    right: 0;
    padding: 40px;
    z-index: 2;
    box-shadow: rgba(122, 122, 122, 0.0588235) 0px 0px 6px 3px;
    -webkit-box-shadow: rgba(122, 122, 122, 0.0588235) 0px 0px 6px 3px;
    -moz-box-shadow: rgba(122, 122, 122, 0.0588235) 0px 0px 6px 3px;
    cursor: default;
  }

  #gNav02 > ul > li.hotel-nav .hotel-wrap .closeModal {
    display: none;
  }

  #gNav02 li.hotel-nav .tab-group {
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    align-items: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    margin-bottom: 16px;
    padding-inline-start: 0;
    padding-left: 0;
    padding-right: 0;
  }

  #gNav02 li.hotel-nav .tab-group li {
    width: 50%;
    border-left: 1px solid #898989;
    border-right: 1px solid #898989;
    font-weight: normal;
    font-size: 16px;
    color: #898989;
    cursor: pointer;
    text-align: center;
    line-height: 32px;
  }

  #gNav02 li.hotel-nav .tab-group li + li {
    width: 50%;
    border-left: none;
  }

  #gNav02 li.hotel-nav .tab-group li.is-active {
    font-size: 16px;
    color: #1d315a;
  }

  #gNav02 li.hotel-nav .tab.is-active.lodging-icon span {
    padding-left: 30px;
    position: relative;
  }

  #gNav02 li.hotel-nav .tab.lodging-icon span {
    padding-left: 30px;
    position: relative;
  }

  #gNav02 li.hotel-nav .tab.is-active.lodging-airplan-icon span {
    position: relative;
    padding-left: 30px;
  }

  #gNav02 li.hotel-nav .tab.lodging-airplan-icon span {
    position: relative;
    padding-left: 30px;
  }

  #gNav02 li.hotel-nav .tab.is-active.lodging-icon span:before {
    content: "";
    background: url("../img/common/lodging-icon_on.png") no-repeat center center;
    background-size: cover;
    display: inline-block;
    width: 30px;
    height: 30px;
    position: absolute;
    left: -10px;
    top: 50%;
    transform: translateY(-50%);
  }

  #gNav02 li.hotel-nav .tab.lodging-icon span:before {
    content: "";
    background: url("../img/common/lodging-icon_off.png") no-repeat center
      center;
    background-size: cover;
    display: inline-block;
    width: 30px;
    height: 30px;
    position: absolute;
    left: -10px;
    top: 50%;
    transform: translateY(-50%);
  }

  #gNav02 li.hotel-nav .tab.is-active.lodging-airplan-icon span:before {
    content: "";
    background: url("../img/common/lodging-airplan-icon_on.png") no-repeat
      center center;
    background-size: cover;
    display: inline-block;
    width: 25px;
    height: 30px;
    position: absolute;
    left: -10px;
    top: 50%;
    transform: translateY(-50%);
  }

  #gNav02 li.hotel-nav .tab.lodging-airplan-icon span:before {
    content: "";
    background: url("../img/common/lodging-airplan-icon_off.png") no-repeat
      center center;
    background-size: cover;
    display: inline-block;
    width: 25px;
    height: 30px;
    position: absolute;
    left: -10px;
    top: 50%;
    transform: translateY(-50%);
  }

  #gNav02 li.hotel-nav .panel form {
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    align-items: flex-start;
    -webkit-align-items: flex-start;
    -ms-flex-align: flex-start;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  #gNav02 li.hotel-nav dl {
    position: relative;
    margin-bottom: 0;
  }

  #gNav02 li.hotel-nav dl dt {
    width: 100%;
    display: block;
    text-align: left;
    font-size: 14px;
    line-height: 26px;
    font-weight: normal;
    color: #000;
  }

  #gNav02 li.hotel-nav dl dd {
    width: 100%;
    position: relative;
    margin-bottom: 0;
  }

  #gNav02 li.hotel-nav select,
  #gNav02 li.hotel-nav input {
    width: 100%;
    cursor: pointer;
    text-indent: 0.01px;
    text-overflow: ellipsis;
    border: 1px solid #b6b6b6;
    outline: none;
    background: transparent;
    background-image: none;
    -webkit-appearance: none;
    appearance: none;
    text-align: left;
    border-radius: 0;
    padding: 8px;
    position: relative;
    font-size: 14px;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  }

  #gNav02 li.hotel-nav select::-ms-expand {
    display: none;
  }

  #gNav02 li.hotel-nav dd:before {
    position: absolute;
    right: 8px;
    bottom: 15px;
    content: "";
    width: 0;
    height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 8px solid #898989;
    z-index: 2;
  }

  #gNav02 li.hotel-nav dl.check-out dd:before,
  #gNav02 li.hotel-nav dl.check-in dd:before {
    display: none;
  }

  #gNav02 li.hotel-nav dl.check-out.datepicker dd:before,
  #gNav02 li.hotel-nav dl.check-in.datepicker dd:before {
    position: absolute;
    right: 8px;
    bottom: 10px;
    content: "";
    width: 20px;
    height: 20px;
    background: url(https://rusutsu.com/assets/svg/icon_datepicker.svg)
      no-repeat center center;
    background-size: cover;
    z-index: 2;
    border: none;
    display: block;
  }

  #gNav02 li.hotel-nav button {
    border: 0;
    outline: none;
    background-image: none;
    box-shadow: none;
    -webkit-appearance: none;
    appearance: none;
    border-radius: 0;
    background: #a44949;
    color: #fff;
    font-weight: normal;
    font-size: 16px;
    line-height: 0px;
    padding: 16px 0;
    width: 220px;
    height: 46px;
    margin-top: 32px;
    cursor: pointer;
    transition: 0.3s;
    margin-left: auto;
    margin-right: auto;
  }

  #gNav02 li.hotel-nav .hotelsbox {
    display: block;
    text-align: center;
  }

  #gNav02 li.hotel-nav .hotelsbox p {
    color: #333;
    font-size: 14px;
  }

  #gNav02 li.hotel-nav a.hotel_submitlink {
    border: 0;
    background: #a44949;
    color: #fff;
    font-weight: normal;
    font-size: 16px;
    line-height: 46px;
    padding: 0;
    width: 220px;
    margin-top: 32px;
    cursor: pointer;
    transition: 0.3s;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    display: block;
  }

  #gNav02 li.hotel-nav button:hover {
    opacity: 0.7;
  }

  #gNav02 li.hotel-nav .hotel-select {
    width: 100%;
  }

  #gNav02 li.hotel-nav .check-in,
  #gNav02 li.hotel-nav .check-out,
  #gNav02 li.hotel-nav .airport-start,
  #gNav02 li.hotel-nav .airport-end,
  #gNav02 li.hotel-nav .member,
  #gNav02 li.hotel-nav .rooms-number,
  #gNav02 li.hotel-nav .adults-number,
  #gNav02 li.hotel-nav .children-number {
    width: 48%;
    margin-top: 8px;
  }

  #gNav02 li.hotel-nav .check-out,
  #gNav02 li.hotel-nav .airport-end,
  #gNav02 li.hotel-nav .rooms-number,
  #gNav02 li.hotel-nav .children-number {
    width: 48%;
    margin-left: 4%;
  }

  #ui-datepicker-div {
    left: 0 !important;
    top: 0 !important;
    /* transform: translate(-50%,-50%); */
    /* -webkit-transform: translate(-50%, -50%) !important; */
    z-index: 1000 !important;
    font-family: Verdana, Helvetica, Arial, sans-serif !important;
    position: absolute !important;
  }

  .ui-datepicker {
    z-index: 999 !important;
  }

  .ui-state-default,
  .ui-widget-content .ui-state-default,
  .ui-widget-header .ui-state-default,
  .ui-button,
  html .ui-button.ui-state-disabled:hover,
  html .ui-button.ui-state-disabled:active {
    background-color: #fff !important;
    border: none !important;
    text-align: center !important;
    color: #454545 !important;
  }

  .ui-state-highlight,
  .ui-widget-content .ui-state-highlight,
  .ui-widget-header .ui-state-highlight {
    color: #454545 !important;
  }

  #ui-datepicker-div .ui-datepicker-header {
    background-color: #eee !important;
    font-size: 1.5em;
    background-image: none;
    border: none;
    border-radius: 0 !important;
  }

  .ui-datepicker .ui-datepicker-title {
    font-size: 18px !important;
  }

  .ui-state-disabled,
  .ui-widget-content .ui-state-disabled,
  .ui-widget-header .ui-state-disabled {
    opacity: 0.35 !important;
  }

  /* ----------------------------------------

フッター

---------------------------------------- */

  footer {
    background: #373737;
    padding: 80px 0;
    margin: 0;
  }

  .footer-inner {
    width: 100%;
    max-width: 1198px;
    margin: 0 auto;
    padding-left: 24px;
    padding-right: 24px;
    display: flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    position: relative;
  }

  .footer-inner .l-box {
    width: 33%;
  }

  .footer-inner .l-box .ft-logo {
    width: 100%;
    max-width: 285px;
    margin: 0 0 20px 0;
    display: block;
  }

  .footer-inner .l-box .ft-logo img {
    width: 100%;
    height: auto;
  }

  .footer-inner .l-box p {
    font-size: 16px;
    line-height: 1.6em;
    color: #fff;
    margin: 0 0 20px 0;
  }

  .footer-inner .l-box .sns-link ul {
    width: 60%;
    display: flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    align-items: flex-start;
    -webkit-align-items: flex-start;
    -ms-flex-align: flex-start;
    padding-inline-start: 0;
    padding: 0;
  }

  .footer-inner .l-box .sns-link li {
    list-style: none;
    width: 18%;
  }

  .footer-inner .l-box .sns-link li a img {
    width: 100%;
  }

  .footer-inner .l-box .sns-link li + li {
    margin-left: 3%;
  }

  .footer-inner .r-box {
    width: 67%;
  }

  .footer-inner .r-box .bnr {
    width: 100%;
    display: flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-end;
    justify-content: flex-end;
    align-items: flex-start;
    -webkit-align-items: flex-start;
    -ms-flex-align: flex-start;
    padding-inline-start: 0;
  }

  .footer-inner .r-box .bnr + .bnr {
    margin-top: 16px;
  }

  .footer-inner .r-box .bnr li:first-child {
    width: 30%;
  }

  .footer-inner .r-box .bnr li:nth-child(2) {
    /* width: 26%;
    margin-left: 5%;
    width: 34%;
    margin-left: 5%;*/
    width: 32%;
    margin-left: 2%;
  }
  .footer-inner .r-box .bnr li:last-child {
    /*width: 26%;
    margin-left: 5%;*/
    width: 32%;
    margin-left: 2%;
  }

  .footer-inner .r-box .bnr + .bnr li {
    width: 18%;
  }

  .footer-inner .r-box .bnr + .bnr li:last-child {
    width: 20%;
    margin-left: 5%;
  }

  .footer-inner .r-box .bnr li {
    text-align: center;
  }

  .footer-inner .r-box .bnr li span {
    font-size: 14px;
    color: #fff;
    padding-top: 8px;
    display: block;
  }

  .footer-inner .r-box .bnr li img {
    width: 100%;
  }

  .footer-inner .r-box .fNav {
    width: 60%;
    position: absolute;
    right: 24px;
    bottom: -16px;
  }

  .footer-inner .r-box .fNav ul {
    width: 100%;
    display: flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-end;
    justify-content: flex-end;
    align-items: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    padding-inline-start: 0;
    margin-bottom: 0;
  }

  .footer-inner .r-box .fNav li {
    list-style: none;
    text-align: center;
    margin: 0 0 8px 0;
    padding: 0;
  }

  .footer-inner .r-box .fNav li a {
    color: #fff;
    font-size: 14px;
    text-decoration: none;
    padding: 5px 8px;
    text-align: center;
  }

  .footer-inner .r-box .fNav li + li {
    border-left: 1px solid #fff;
  }

  footer .copy {
    text-align: center;
    color: #fff;
    font-size: 14px;
    margin: 40px 0 0 0;
  }

  /* ----------------------------------------

テキスト

---------------------------------------- */

  .txt-small {
    font-size: 14px;
    line-height: 1.6em;
    margin-bottom: 0;
  }

  .txt-reg {
    font-size: 16px;
    line-height: 1.8em;
    margin-bottom: 0;
  }

  .txt-mid {
    font-size: 18px;
    line-height: 33px;
    margin-bottom: 0;
  }

  .txt-lg {
    font-size: 22px;
    line-height: 1.4em;
    margin-bottom: 0;
    display: block;
  }

  .txt-mid + .txt-mid {
    margin-top: 24px;
  }

  .txt-alg-c {
    text-align: center;
  }

  .txt-alg-l {
    text-align: left;
  }

  .txt-alg-r {
    text-align: right;
  }

  .txt-cl-gray {
    color: #898989;
  }

  .gray-inline {
    background: #898989;
    color: #fff;
    display: inline-block;
    padding: 4px;
    margin-right: 4px;
    font-size: 10px;
    line-height: 1em;
  }

  .blue-inline {
    background: #4477cc;
    color: #fff;
    display: inline-block;
    padding: 4px;
    margin-right: 4px;
    font-size: 10px;
    line-height: 1em;
  }

  .txt-shadow {
    text-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
  }

  /* ----------------------------------------

メインタイトル部分

---------------------------------------- */

  .main-ttl-wrap01 {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
    color: #fff;
    z-index: 3;
  }

  .main-ttl-wrap01 h2.ttl01 {
    width: 100%;
    max-width: 1198px;
    font-family: "M PLUS 1p", sans-serif;
    font-weight: 900;
    font-size: 40px;
    line-height: 1.2em;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
    text-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
    padding-left: 24px;
    padding-right: 24px;
    margin-bottom: 0;
  }

  .main-ttl-wrap01 .bg-img-wrap {
    width: 106%;
    height: 525px;
    overflow: hidden;
    margin: 0;
    padding: 0;
    position: relative;
    transform: rotate(2.5deg) translateX(-50%);
    left: 50%;
    top: 0;
  }

  .main-ttl-wrap01 .bg-img-wrap img {
    width: 100%;
    transform: translate(-50%, -50%) rotate(-2.5deg);
    position: absolute;
    top: 50%;
    left: 50%;
  }

  /*
    .main-ttl-wrap01 .bg-img-wrap:after{
        content:'';
        position: absolute;
        bottom: 0;
        left: 0;
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 0 0 80px 100vw ;
        border-color: transparent transparent #fff transparent;
        transform: rotateY(180deg);
    }
    */

  .main-ttl-wrap02 {
    position: relative;
    width: 100%;
    margin: 0 0 40px 0;
    padding: 0 0 40px 0;
    background: #1d315a;
  }

  .main-ttl-wrap02 .bg-img-wrap {
    width: 100%;
    height: 525px;
    overflow: hidden;
    margin: 0;
    padding: 0;
    position: relative;
  }

  .main-ttl-wrap02 .bg-img-wrap img {
    width: 100%;
    transform: translate(-50%, -50%);
    position: absolute;
    top: 50%;
    left: 50%;
  }

  .main-ttl-wrap02 .bg-img-wrap:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 80px 100vw;
    border-color: transparent transparent #1d315a transparent;
    transform: rotateY(180deg);
  }

  .main-ttl-wrap02 .txt-box {
    width: 100%;
    max-width: 1150px;
    background: #1d315a;
    margin: 0 auto;
    padding: 0;
    color: #fff;
    display: flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    position: relative;
  }

  .main-ttl-wrap02 .txt-box .l-box {
    width: 70%;
  }

  .main-ttl-wrap02 .txt-box .l-box p:last-child,
  .main-ttl-wrap02 .txt-box .r-box p:last-child {
    margin-bottom: 0;
  }

  .main-ttl-wrap02 .txt-box .r-box {
    width: 30%;
    margin-top: 40px;
  }

  .main-ttl-wrap02 .txt-box .ttl02 {
    font-family: "M PLUS 1p", sans-serif;
    font-weight: 900;
    font-size: 34px;
    line-height: 1.4em;
    margin-bottom: 0;
  }

  .main-ttl-wrap02 .txt-box .ttl-sub-txt01 {
    display: block;
    margin-top: 8px;
    font-weight: normal;
    font-size: 16px;
    line-height: 1.4em;
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium",
      "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  }

  .main-ttl-wrap02 .txt-box .ttl-sub-txt01 b {
    font-weight: normal;
  }

  .main-ttl-wrap02 .txt-box .ttl-sub-txt01 .breadth:before,
  .main-ttl-wrap02 .txt-box .ttl-sub-txt01 .number-rooms:before {
    display: inline-block;
    content: "/";
    margin-left: 16px;
    margin-right: 16px;
  }

  .main-ttl-wrap02 .txt-box .ttl-sub-txt01-2 {
    font-style: normal;
    font-weight: 500;
    font-size: 18px;
    line-height: 26px;
  }

  .main-ttl-wrap02 .txt-box .ttl02 + .ttl-sub-txt01-2 {
    margin-top: 24px;
  }

  .main-ttl-wrap02 .txt-box .ttl-sub-txt02 {
    font-family: "Montserrat", sans-serif;
    font-weight: bold;
    font-size: 20px;
    line-height: 24px;
    text-align: right;
    color: #ebc34a;
  }

  .main-ttl-wrap02 .txt-box .ttl-sub-txt02._close {
    color: #b6b6b6;
  }

  .main-ttl-wrap02 .txt-box .ttl-sub-txt03 {
    font-weight: bold;
    font-size: 18px;
    line-height: 26px;
    text-align: right;
  }

  .main-ttl-wrap02 .txt-box .ttl-time-txt {
    padding-inline-start: 0;
    margin-top: 20px;
  }

  .main-ttl-wrap02 .txt-box .ttl-time-txt li {
    font-weight: bold;
    font-size: 18px;
    line-height: 26px;
    text-align: right;
  }

  .main-ttl-wrap02 .txt-box .ttl-time-txt li + li {
    margin-top: 4px;
  }

  .main-ttl-wrap02 .txt-box a.btn-entry {
    position: absolute;
    bottom: -64px;
    right: 0;
    width: 250px;
    background: none;
    z-index: 1;
    line-height: 48px;
  }

  .main-ttl-wrap02 .txt-box a.btn-entry:before {
    position: absolute;
    left: 0;
    top: 0;
    content: "";
    background: #a44949;
    z-index: -1;
    width: 100%;
    height: 100%;
    transition: 0.3s;
  }

  .main-ttl-wrap02 .txt-box a.btn-entry:after {
    position: absolute;
    left: 0;
    top: 0;
    content: "";
    background: #fff;
    z-index: -2;
    width: 100%;
    height: 100%;
  }

  .main-ttl-wrap02 .txt-box a.btn-entry {
    opacity: 1;
  }

  .main-ttl-wrap02 .txt-box a.btn-entry:hover:before {
    opacity: 0.7;
  }

  /* 宿泊検索ボックス

------------------------------- */

  ._hotel-box {
    position: absolute;
    top: 1.6%;
    right: 4em;
    z-index: 888;
    margin: 0;
  }

  .openbtn {
    display: none;
  }

  .closeModal {
    display: none;
  }

  ._hotel-box .hotel-wrap {
    width: 460px;
    height: auto;
    background: #fff;
    padding: 24px;
    box-shadow: rgba(0, 0, 0, 0.25) 0px 0px 6px 3px;
    -webkit-box-shadow: rgba(0, 0, 0, 0.25) 0px 0px 6px 3px;
    -moz-box-shadow: rgba(0, 0, 0, 0.25) 0px 0px 6px 3px;
    cursor: default;
  }

  ._hotel-box .hotel-wrap h3 {
    display: none;
  }

  ._hotel-box .hotel-wrap .tab-group {
    width: 100%;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    align-items: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    margin-bottom: 16px;
    padding-inline-start: 0;
    padding-left: 0;
  }

  ._hotel-box .hotel-wrap .tab-group li {
    width: 50%;
    border-left: 1px solid #898989;
    border-right: 1px solid #898989;
    font-weight: normal;
    font-size: 16px;
    color: #898989;
    cursor: pointer;
    text-align: center;
  }

  ._hotel-box .hotel-wrap .tab-group li + li {
    width: 50%;
    border-left: none;
  }

  ._hotel-box .hotel-wrap .tab-group li.is-active {
    font-weight: normal;
    font-size: 16px;
    color: #1d315a;
  }

  ._hotel-box .hotel-wrap .tab.is-active.lodging-icon span,
  ._hotel-box .hotel-wrap .tab.lodging-icon span {
    padding-left: 30px;
    position: relative;
  }

  ._hotel-box .hotel-wrap .tab.is-active.lodging-airplan-icon span,
  ._hotel-box .hotel-wrap .tab.lodging-airplan-icon span {
    padding-left: 30px;
    position: relative;
  }

  ._hotel-box .hotel-wrap .tab.is-active.lodging-icon span:before {
    content: "";
    background: url("../img/common/lodging-icon_on.png") no-repeat center center;
    background-size: cover;
    display: inline-block;
    width: 30px;
    height: 30px;
    position: absolute;
    left: -10px;
    top: 50%;
    transform: translateY(-50%);
  }

  ._hotel-box .hotel-wrap .tab.lodging-icon span:before {
    content: "";
    background: url("../img/common/lodging-icon_off.png") no-repeat center
      center;
    background-size: cover;
    display: inline-block;
    width: 30px;
    height: 30px;
    position: absolute;
    left: -10px;
    top: 50%;
    transform: translateY(-50%);
  }

  ._hotel-box .hotel-wrap .tab.is-active.lodging-airplan-icon span:before {
    content: "";
    background: url("../img/common/lodging-airplan-icon_on.png") no-repeat
      center center;
    background-size: cover;
    display: inline-block;
    width: 25px;
    height: 30px;
    position: absolute;
    left: -10px;
    top: 50%;
    transform: translateY(-50%);
  }

  ._hotel-box .hotel-wrap .tab.lodging-airplan-icon span:before {
    content: "";
    background: url("../img/common/lodging-airplan-icon_off.png") no-repeat
      center center;
    background-size: cover;
    display: inline-block;
    width: 25px;
    height: 30px;
    position: absolute;
    left: -10px;
    top: 50%;
    transform: translateY(-50%);
  }

  ._hotel-box .hotel-wrap .panel form {
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    align-items: flex-start;
    -webkit-align-items: flex-start;
    -ms-flex-align: flex-start;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  ._hotel-box .hotel-wrap dl {
    position: relative;
    margin-bottom: 0;
  }

  ._hotel-box .hotel-wrap dl dt {
    width: 100%;
    display: block;
    text-align: left;
    font-size: 14px;
    line-height: 26px;
    font-weight: normal;
    color: #000;
  }

  ._hotel-box .hotel-wrap dl dt label {
    margin-bottom: 0;
    font-size: 14px;
  }

  ._hotel-box .hotel-wrap dl dd {
    width: 100%;
    position: relative;
    margin-bottom: 0;
  }

  ._hotel-box .hotel-wrap select,
  ._hotel-box .hotel-wrap input {
    width: 100%;
    cursor: pointer;
    text-indent: 0.01px;
    text-overflow: ellipsis;
    border: 1px solid #b6b6b6;
    outline: none;
    background: transparent;
    background-image: none;
    -webkit-appearance: none;
    appearance: none;
    text-align: left;
    border-radius: 0;
    padding: 8px;
    position: relative;
    font-size: 14px;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  }

  ._hotel-box .form-control {
    box-shadow: none;
    -webkit-appearance: none;
    appearance: none;
    border-radius: 0;
  }

  ._hotel-box .hotel-wrap select::-ms-expand {
    display: none;
  }

  ._hotel-box .hotel-wrap dd:before {
    position: absolute;
    right: 8px;
    bottom: 15px;
    content: "";
    width: 0;
    height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 8px solid #898989;
    z-index: 2;
  }

  /**/
  ._hotel-box .hotel-wrap .check-in.datepicker dd:before,
  ._hotel-box .hotel-wrap .check-out.datepicker dd:before {
    position: absolute;
    right: 8px;
    bottom: 10px;
    content: "";
    width: 20px;
    height: 20px;
    background: url(https://rusutsu.com/assets/svg/icon_datepicker.svg)
      no-repeat center center;
    background-size: cover;
    z-index: 2;
    border: none;
    display: block;
  }

  ._hotel-box .hotel-wrap .check-in dd:before,
  ._hotel-box .hotel-wrap .check-out dd:before {
    display: none;
  }

  ._hotel-box .hotel-wrap .datepicker.check-in dd:before,
  ._hotel-box .hotel-wrap .datepicker.check-out dd:before {
    position: absolute;
    right: 8px;
    bottom: 10px;
    content: "";
    width: 20px;
    height: 20px;
    background: url(https://rusutsu.com/assets/svg/icon_datepicker.svg)
      no-repeat center center;
    background-size: cover;
    z-index: 2;
    border: none;
    display: block;
  }

  ._hotel-box .hotel-wrap .hotelsbox {
    text-align: center;
  }

  ._hotel-box .hotel-wrap .hotelsbox .managed {
    font-size: 14px !important;
    margin: 16px 0 0 !important;
  }

  ._hotel-box .hotel-wrap button {
    border: 0;
    outline: none;
    background-image: none;
    box-shadow: none;
    -webkit-appearance: none;
    appearance: none;
    border-radius: 0;
    background: #a44949;
    color: #fff;
    font-weight: normal;
    font-size: 16px;
    line-height: 0px;
    padding: 16px 0;
    width: 220px;
    height: 46px;
    margin-top: 24px;
    cursor: pointer;
    transition: 0.3s;
    margin-left: auto;
    margin-right: auto;
  }

  ._hotel-box .hotel-wrap a.hotel_submitlink {
    background: #a44949;
    color: #fff;
    font-weight: normal;
    font-size: 16px;
    line-height: 46px;
    padding: 0;
    width: 220px;
    margin-top: 24px;
    cursor: pointer;
    transition: 0.3s;
    margin-left: auto;
    margin-right: auto;
    display: block;
    text-align: center;
  }

  ._hotel-box .hotel-wrap button:hover,
  ._hotel-box .hotel-wrap a.hotel_submitlink:hover {
    opacity: 0.7;
  }

  body.en ._hotel-box .hotel-wrap .hotel_westin {
    height: 150px;
  }

  body.en ._hotel-box .hotel-wrap .hotel_westin button {
    margin-top: 100px;
  }

  ._hotel-box .hotel-wrap .hotel-select {
    width: 100%;
  }

  ._hotel-box .hotel-wrap .hotel-select + .hotel-select {
    margin-top: 8px;
  }

  ._hotel-box .hotel-wrap .check-in,
  ._hotel-box .hotel-wrap .check-out,
  ._hotel-box .hotel-wrap .airport-start,
  ._hotel-box .hotel-wrap .airport-end,
  ._hotel-box .hotel-wrap .member,
  ._hotel-box .hotel-wrap .rooms-number {
    width: 48%;
    margin-top: 8px;
  }

  ._hotel-box .hotel-wrap .check-out,
  ._hotel-box .hotel-wrap .airport-end,
  ._hotel-box .hotel-wrap .rooms-number {
    width: 48%;
    margin-left: 4%;
  }

  ._hotel-box .hotel-wrap .panel:first-child .adults-number,
  ._hotel-box .hotel-wrap .panel:first-child .children-number {
    width: 48%;
    margin-top: 8px;
  }

  ._hotel-box .hotel-wrap .panel:first-child .children-number {
    margin-left: 4%;
  }

  body.en ._hotel-box .hotel-wrap .panel:first-child .rooms-number {
    margin-left: 0;
  }

  /*
    ._hotel-box .hotel-wrap .panel:nth-child(2) .adults-number,
    ._hotel-box .hotel-wrap .panel:nth-child(2) .children-number{
        width: 22%;
        margin-left: 4%;
        margin-top: 8px;
    }
    */

  ._hotel-box .hotel-wrap .l-mypage {
    margin-top: 16px;
  }

  ._hotel-box .hotel-wrap #mypage-link {
    font-size: 14px;
    transition: 0.3s;
    position: relative;
  }

  ._hotel-box .hotel-wrap #mypage-link:after {
    content: "";
    width: 8px;
    height: 8px;
    border-top: 1px solid #333;
    border-right: 1px solid #333;
    transform: rotate(45deg);
    display: inline-block;
    margin-left: 5px;
  }

  ._hotel-box .hotel-wrap #mypage-link:hover {
    color: #1d315a;
  }

  ._hotel-box .hotel-wrap #mypage-link:hover:after {
    border-top: 1px solid #1d315a;
    border-right: 1px solid #1d315a;
  }

  /* ----------------------------------------

パンくずリスト

---------------------------------------- */
  .pankuzu {
    width: 100%;
    margin: 0;
    padding: 0 0 48px 0;
    position: relative;
    z-index: 3;
  }

  .pankuzu + article .ttl-txt01 {
    margin-top: 0;
  }

  body.hd-bg-navy .pankuzu {
    margin-top: 120px;
  }

  .pankuzu ol {
    width: 100%;
    max-width: 1150px;
    margin: 0 auto;
    padding: 0;
    display: flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    list-style: none;
  }

  .pankuzu li {
    position: relative;
    padding-right: 16px;
    font-size: 14px;
    line-height: 1em;
    color: #898989;
  }

  .pankuzu li + li {
    margin-left: 16px;
  }

  .pankuzu li:after {
    content: "";
    position: absolute;
    top: 40%;
    right: 0;
    width: 8px;
    height: 8px;
    border-top: 1px solid #333;
    border-right: 1px solid #333;
    transform: rotate(45deg) translateY(-50%);
  }

  .pankuzu li:last-child:after {
    display: none;
  }

  .pankuzu li b,
  .pankuzu li span {
    font-weight: normal;
  }

  .pankuzu li a {
    font-weight: normal;
    font-size: 14px;
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium",
      "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
    color: #898989;
  }

  /* ----------------------------------------

共通パーツ

---------------------------------------- */

  /* インフォメーション

---------------------------------------- */

  .info-wrap01 {
    background: #ffffff;
    border: 1px solid #898989;
    box-shadow: 0px 5px 4px rgba(0, 0, 0, 0.15);
    padding: 24px;
    display: flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    align-items: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
  }

  .info-wrap01 h3 {
    font-family: "Montserrat", sans-serif;
    font-weight: 900;
    font-size: 20px;
    line-height: 24px;
    margin-bottom: 0;
    vertical-align: middle;
    color: #1d315a;
  }

  .info-wrap01 p {
    font-weight: normal;
    font-size: 16px;
    line-height: 26px;
    margin-bottom: 0;
    vertical-align: middle;
    margin-left: 35px;
    text-align: left;
    word-break: break-all;
  }

  .info-wrap02 {
    background: #ffffff;
    border: 1px solid #898989;
    box-shadow: 0px 5px 4px rgba(0, 0, 0, 0.15);
    padding: 24px;
  }

  .info-wrap02 .scroll-wrap {
    overflow-y: scroll;
    height: 150px;
    margin-top: 24px;
  }

  .info-wrap02 h3 {
    font-family: "Montserrat", sans-serif;
    font-weight: 900;
    font-size: 20px;
    line-height: 24px;
    margin-bottom: 0;
    vertical-align: middle;
    color: #1d315a;
  }

  .info-wrap02 h3 b.date {
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium",
      "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
    font-size: 16px;
    line-height: 30px;
    color: #898989;
    font-weight: normal;
    margin-left: 16px;
  }

  .info-wrap02 p {
    font-weight: normal;
    font-size: 16px;
    line-height: 26px;
    margin-top: 8px;
    margin-bottom: 0;
    vertical-align: middle;
    text-align: left;
  }

  .info-wrap02 a._arr {
    font-size: 16px;
    line-height: 30px;
    margin-top: 16px;
    margin-bottom: 0;
    vertical-align: middle;
    text-align: left;
    display: inline-block;
  }

  .info-wrap02 a._arr:after {
    content: "";
    display: inline-block;
    width: 8px;
    height: 8px;
    border-top: 2px solid #000;
    border-right: 2px solid #000;
    transform: rotate(45deg);
    position: relative;
    top: -2px;
    margin-left: 8px;
  }

  .info-wrap02 .info-list-item {
    width: 100%;
    margin-bottom: 0;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    align-items: flex-start;
    -webkit-align-items: flex-start;
    -ms-flex-align: flex-start;
  }

  .info-wrap02 .info-list-item:nth-child(2) {
    margin-top: 24px;
  }

  .info-wrap02 .info-list-item + .info-list-item {
    margin-top: 0;
  }

  .info-wrap02 .info-list-item dt {
    width: 10%;
    color: #898989;
    font-size: 16px;
    line-height: 30px;
    font-weight: normal;
    word-break: break-all;
  }

  .info-wrap02 .info-list-item dd {
    width: 89%;
    margin-left: 1%;
    margin-bottom: 0;
    font-size: 16px;
    line-height: 30px;
  }

  .info-wrap02 .info-list-item dd a:hover {
    color: #1d315a;
  }

  /* カレンダー

---------------------------------------- */

  .shop-calender-wrap {
    background: #fff;
    padding: 0 0;
  }

  .shop-calender-wrap table {
    width: 100%;
    background: #fff;
  }

  .shop-calender-wrap th,
  .shop-calender-wrap td {
    position: relative;
    vertical-align: middle;
  }

  .shop-calender-wrap tr:first-child th {
    text-align: center;
    font-size: 16px;
    font-weight: bold;
    padding: 16px 5px;
  }

  .shop-calender-wrap tr + tr th {
    padding: 8px 0 16px 16px;
    text-align: left;
    font-size: 16px;
  }

  .shop-calender-wrap tr + tr td {
    padding: 8px 0 16px 0;
    text-align: center;
    font-size: 16px;
  }

  .shop-calender-wrap .time-zone {
    font-weight: bold;
  }

  .shop-calender-wrap .business-time {
    font-weight: normal;
    display: block;
  }

  .shop-calender-wrap tr:first-child th:after {
    content: "";
    width: 80%;
    height: 1px;
    background: #898989;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
  }

  .shop-calender-wrap tr:first-child th:first-child:after {
    display: none;
  }

  .shop-calender-wrap .open-icon:before {
    content: "";
    width: 30px;
    height: 30px;
    border: 4px solid #ebc34a;
    border-radius: 50%;
    display: inline-block;
  }

  .shop-calender-wrap .close-icon:before {
    content: "";
    width: 30px;
    height: 4px;
    background: #898989;
    display: inline-block;
    border-radius: 5px;
    position: relative;
    top: -5px;
  }

  /* スライダー

---------------------------------------- */
  #slick01 div.slick-list:before,
  #slick02 div.slick-list:before {
    content: "";
    pointer-events: none;
    position: absolute;
    width: auto;
    height: 100%;
    opacity: 0.4;
    left: -1px;
    right: -1px;
    top: 10px;
    background-color: transparent;
    background-image: radial-gradient(
        ellipse farthest-side at 100% 50%,
        #030408 -30%,
        transparent 100%
      ),
      radial-gradient(
        ellipse farthest-side at 0 50%,
        #030408 -30%,
        transparent 100%
      );
    background-position: 100% 50%, 0 50%;
    background-size: 8px 100%, 8px 100%;
    background-repeat: no-repeat;
    z-index: 3000;
  }
  .slick-wrap {
    max-width: 1198px;
    overflow: hidden;
    margin: 0 auto 48px auto;
    padding: 0 24px;
    position: relative;
  }

  .slick-wrap-full {
    width: 100%;
    overflow: hidden;
    margin: 24px auto 48px auto;
    padding: 0;
    position: relative;
  }

  #slick01 .slick-slide {
    position: relative;
    transition: 0.3s ease;
    transform: scale(0.85);
    transform-origin: 80% 10%;
    opacity: 0.5;
    box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
  }

  #slick01 .slick-current {
    position: relative;
    z-index: 2;
    transform: scale(1);
    transform-origin: 50% 40%;
    opacity: 1;
  }

  #slick01 .slick-current + .slick-slide {
    transform-origin: 20% 10%;
  }

  #slick01 .slick-slide .caption {
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 2;
    width: 100%;
    padding: 32px;
    background: linear-gradient(
      180deg,
      rgba(255, 255, 255, 0) 0%,
      rgba(110, 110, 110, 0.283854) 28.13%,
      rgba(0, 0, 0, 0.5) 100%
    );
    color: #fff;
    font-size: 20px;
    opacity: 0;
    transition: 0.3s ease;
    margin-bottom: 0;
  }

  #slick01 .slick-current .caption {
    opacity: 1;
    transition-delay: 0.5s;
  }

  .arrows {
    width: 100%;
    max-width: 1198px;
    margin: 0 auto;
    padding: 0;
    position: absolute;
    left: 50%;
    bottom: 27px;
    transform: translateX(-50%);
  }

  .slick-arrow {
    width: 15px;
    position: absolute;
    top: 0;
    z-index: 100;
    padding: 4px 8px;
    text-indent: -999999999px;
    border: 0;
    cursor: pointer;
    line-height: 15px;
    color: transparent;
    outline: none;
    background: transparent;
  }

  .slick-next:before {
    content: "";
    width: 12px;
    height: 12px;
    border-top: 2px solid #000;
    border-right: 2px solid #000;
    transform: rotate(45deg);
    position: absolute;
    top: 0;
    right: 2px;
  }

  .slick-prev:before {
    content: "";
    width: 12px;
    height: 12px;
    border-bottom: 2px solid #000;
    border-left: 2px solid #000;
    transform: rotate(45deg);
    position: absolute;
    top: 0;
    right: 0;
  }

  .slick-arrow.slick-next:hover:before {
    border-top: 2px solid #1d315a;
    border-right: 2px solid #1d315a;
  }

  .slick-arrow.slick-prev:hover:before {
    border-bottom: 2px solid #1d315a;
    border-left: 2px solid #1d315a;
  }

  .arrows .slick-prev {
    top: 12px;
    left: 43%;
    color: transparent;
    outline: none;
    background: transparent;
  }

  .arrows .slick-next {
    top: 12px;
    right: 43%;
    color: transparent;
    outline: none;
    background: transparent;
  }

  .slick-slide img {
    width: 100%;
    height: auto;
  }

  .slick-counter {
    margin-top: 32px;
    font-size: 16px;
    line-height: 1em;
    text-align: center;
    font-weight: bold;
    vertical-align: bottom;
  }

  #slick02 .slick-slide {
    width: 300px;
    position: relative;
    transition: 0.3s ease;
    transform: scale(1) translateY(25%);
    opacity: 0.7;
    border-radius: 7px;
    box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
    overflow: hidden;
    margin-top: 0;
    margin-left: 24px;
    margin-right: 24px;
    outline: none;
  }

  #slick02 .slick-current {
    position: relative;
    z-index: 2;
    transform: scale(1) translateY(12%);
    opacity: 1;
    margin-top: 0;
  }

  #slick02 .slick-center {
    margin-left: 24px;
    margin-right: 24px;
  }

  #slick02 div.slick-list {
    height: 540px;
  }

  #slick02 .slick-slide .img-box {
    overflow: hidden;
  }

  #slick02 .slick-slide .txt-box {
    z-index: 2;
    width: 100%;
    padding: 16px;
    background: #fff;
    color: #000;
    font-size: 22px;
    transition: 0.3s ease;
    margin-bottom: 0;
    bottom: 0;
    position: relative;
  }

  #slick02 .slick-current .txt-box {
    background: #1d315a;
    color: #fff;
  }

  #slick02 .slick-slide h4 {
    font-size: 16px;
    color: #1d315a;
    font-weight: bold;
    margin-bottom: 0;
  }

  #slick02 .slick-current h4 {
    color: #fff;
    margin-bottom: 16px;
  }

  #slick02 .slick-slide .caption {
    height: 0;
    color: #fff;
    font-size: 16px;
    line-height: 1.6em;
    opacity: 0;
    transition: 0.3s ease;
    margin-bottom: 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    text-overflow: ellipsis;
    overflow: hidden;
  }

  #slick02 .slick-current .caption {
    height: auto;
    opacity: 1;
    transition-delay: 0.5s;
  }

  #slick03 .slick-slide .caption {
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 2;
    width: 100%;
    padding: 32px;
    background: linear-gradient(
      180deg,
      rgba(255, 255, 255, 0) 0%,
      rgba(110, 110, 110, 0.283854) 28.13%,
      rgba(0, 0, 0, 0.5) 100%
    );
    color: #fff;
    font-size: 26px;
    line-height: 30px;
    font-weight: bold;
    opacity: 0;
    transition: 0.3s ease;
    margin-bottom: 0;
  }

  #slick03 .slick-slide .caption b {
    display: block;
    font-size: 16px;
    line-height: 26px;
    font-weight: normal;
  }

  #slick03 .slick-current .caption {
    opacity: 1;
    transition-delay: 0.5s;
  }

  #slick03 .slick-slide {
    width: 765px;
    position: relative;
    margin-left: 0.05%;
    margin-right: 0.05%;
    outline: none;
    border: none;
    background: transparent;
  }

  #slick03 .slick-slide a:hover {
    outline: none;
    border: none;
    background: transparent;
  }

  .vale-roomlist-wrap #slick03 figure.slick-slide {
    outline: none;
    border: none;
    background: transparent;
  }

  .vale-roomlist-wrap #slick03 figure.slick-slide a {
    color: transparent;
    outline: none;
    background: transparent;
  }

  .plan-slick-wrap {
    padding-bottom: 40px;
  }

  .plan-slick-wrap ul.plan-slick {
    padding: 0;
    margin: 0;
  }

  .plan-slick-wrap .slick-slide {
    width: 100%;
    height: auto;
  }

  ul.plan-slick-wrap li img {
    width: 100%;
  }

  .plan-slick-wrap .slick-dots {
    position: absolute;
    bottom: -32px;
    display: block;
    width: 100%;
    padding: 0;
    list-style: none;
    text-align: center;
  }

  .plan-slick-wrap .slick-dots li {
    position: relative;
    display: inline-block;
    width: 10px;
    height: 10px;
    margin: 0 5px;
    padding: 0;
    cursor: pointer;
  }

  .plan-slick-wrap .slick-dots li button {
    font-size: 0;
    line-height: 0;
    display: block;
    width: 10px;
    height: 10px;
    padding: 2px;
    cursor: pointer;
    color: transparent;
    border: 0;
    outline: none;
    background: transparent;
  }

  .plan-slick-wrap .slick-dots li button:before {
    position: absolute;
    top: 0;
    left: 0;
    width: 10px;
    height: 10px;
    content: "";
    background: #333;
    border-radius: 50%;
    opacity: 0.25;
    -ms-filter: "alpha(opacity=25)";
    filter: alpha(opacity=25);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -ms-filter: "alpha(opacity=25)";
    filter: alpha(opacity=25);
  }

  .plan-slick-wrap .slick-dots li.slick-active button:before {
    opacity: 1;
    background: #1d315a;
  }

  /* タイトル系

---------------------------------------- */
  .img-ttl-wrap01 {
    width: 100%;
    position: relative;
    padding: 0;
    color: #fff;
  }

  .img-ttl-wrap01 h3 {
    width: 100%;
    max-width: 1198px;
    font-family: "M PLUS 1p", sans-serif;
    font-weight: 900;
    font-size: 40px;
    line-height: 1.2em;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
    margin: 0;
    padding: 0 24px;
  }

  .img-ttl-wrap01 h3 b {
    display: block;
    margin-top: 24px;
    font-weight: bold;
    font-size: 26px;
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium",
      "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  }

  .img-ttl-wrap01 .bg-img-wrap {
    width: 100%;
    height: 350px;
    overflow: hidden;
    position: relative;
  }

  .img-ttl-wrap01 .bg-img-wrap img {
    width: 100%;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
  }

  .img-ttl-wrap01 .bg-img-wrap:before {
    content: "";
    width: 100%;
    height: 100%;
    background: #000;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0.5;
    z-index: 1;
  }

  .img-ttl-wrap01 + section {
    margin-top: 40px;
  }

  article > .lg-link-wrap:first-child {
    margin-top: 152px;
  }

  .lg-link-wrap {
    width: 100%;
    position: relative;
    margin-bottom: 32px;
    padding: 0;
    color: #fff;
  }

  .lg-link-wrap h3 {
    width: 100%;
    max-width: 1150px;
    font-family: "M PLUS 1p", sans-serif;
    font-weight: 900;
    font-size: 40px;
    line-height: 1.2em;
    text-align: center;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
    margin: 0;
    padding: 0;
  }

  .lg-link-wrap h3 b {
    display: block;
    margin-top: 16px;
    font-weight: normal;
    font-size: 18px;
    line-height: 1.4em;
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium",
      "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  }

  .lg-link-wrap .bg-img-wrap {
    width: 100%;
    height: 400px;
    overflow: hidden;
    position: relative;
  }

  .lg-link-wrap .bg-img-wrap img {
    width: 100%;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
  }

  .lg-link-wrap .bg-img-wrap:before {
    content: "";
    width: 100%;
    height: 100%;
    background: #000;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0.4;
    z-index: 1;
  }

  .lg-link-wrap a {
    position: absolute;
    left: 50%;
    bottom: 16%;
    transform: translateX(-50%);
    z-index: 2;
    transition: 0.3s;
  }

  .lg-link-wrap a:hover {
    opacity: 0.7;
    color: #fff;
  }

  .lg-link-wrap02 {
    width: 100%;
    position: relative;
    margin-bottom: 32px;
    padding: 0;
    color: #fff;
  }

  .lg-link-wrap02 h3 {
    width: 100%;
    max-width: 1150px;
    font-family: "Montserrat", sans-serif;
    font-weight: 900;
    font-size: 40px;
    line-height: 1.2em;
    letter-spacing: 0.05em;
    text-align: center;
    position: absolute;
    left: 50%;
    top: 45%;
    transform: translate(-50%, -50%);
    z-index: 2;
    margin: 0;
    padding: 0;
  }

  .lg-link-wrap02 h3 b {
    display: block;
    margin-top: 16px;
    font-weight: normal;
    font-size: 18px;
    line-height: 1.2em;
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium",
      "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
    position: relative;
  }

  .lg-link-wrap02 h3 b:before {
    content: "";
    width: 12%;
    height: 1px;
    left: 25%;
    top: 50%;
    background: #fff;
    position: absolute;
    transform: translateY(-50%);
  }

  .lg-link-wrap02 h3 b:after {
    content: "";
    width: 12%;
    height: 1px;
    right: 25%;
    top: 50%;
    background: #fff;
    position: absolute;
    transform: translateY(-50%);
  }

  .lg-link-wrap02 .bg-img-wrap {
    width: 100%;
    height: 400px;
    overflow: hidden;
    position: relative;
  }

  .lg-link-wrap02 .bg-img-wrap img {
    width: 100%;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
  }

  .lg-link-wrap02 .bg-img-wrap:before {
    content: "";
    width: 100%;
    height: 100%;
    background: #000;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0.4;
    z-index: 1;
  }

  .lg-link-wrap02 a {
    position: absolute;
    left: 50%;
    bottom: 20%;
    transform: translateX(-50%);
    z-index: 2;
    transition: 0.3s;
  }

  .lg-link-wrap02 a:hover {
    opacity: 0.7;
    color: #fff;
  }

  main._home h3.ttl-txt01 {
    margin-bottom: 32px;
  }

  article.bg-gray03 h3.ttl-txt01 {
    margin-top: 32px;
  }

  article.bg-gray03 + article {
    margin-top: 160px;
  }

  .ttl-cate-txt01 {
    font-weight: bold;
    font-size: 24px;
    line-height: 1em;
    margin-bottom: 48px;
  }

  h3.ttl-txt01 {
    text-align: center;
    font-family: "Montserrat", sans-serif;
    font-weight: 900;
    font-size: 40px;
    line-height: 1em;
    color: #1d315a;
    letter-spacing: 0.05em;
    margin-top: 136px;
    margin-bottom: 0;
  }

  h3.ttl-txt01 b {
    display: block;
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium",
      "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
    font-weight: bold;
    font-size: 18px;
    line-height: 1em;
    position: relative;
    vertical-align: middle;
    z-index: 2;
    margin-top: 16px;
  }

  h3.ttl-txt01 b > b {
    padding-left: 80px;
    padding-right: 80px;
    z-index: -1;
    position: relative;
    display: inline-block;
    margin-top: 0;
  }

  h3.ttl-txt01 b:before {
    content: "";
    background: #1d315a;
    height: 1px;
    width: 14%;
    position: absolute;
    top: 50%;
    left: 20%;
    transform: translateY(-50%);
    z-index: -2;
  }

  h3.ttl-txt01 b:after {
    content: "";
    background: #1d315a;
    height: 1px;
    width: 14%;
    position: absolute;
    top: 50%;
    right: 20%;
    transform: translateY(-50%);
    z-index: -2;
  }

  h3.ttl-txt01 b > b:before,
  h3.ttl-txt01 b > b:after {
    display: none;
  }

  h3.ttl-txt01 + div {
    margin-top: 64px;
  }

  h3.ttl-txt01 + section {
    margin-top: 64px;
  }

  h3.ttl-txt01 + ul {
    margin-top: 64px;
  }

  .real-time-txt + div {
    margin-top: 32px;
  }

  .real-time-txt {
    font-size: 14px;
    line-height: 24px;
    text-align: center;
    margin-top: 16px;
  }

  .ttl-txt02 {
    font-family: "M PLUS 1p", sans-serif;
    font-weight: 700;
    font-size: 35px;
    line-height: 1.2em;
    text-align: center;
    color: #1d315a;
    margin: 136px 0 40px 0;
  }

  .ttl-txt02 b {
    display: block;
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium",
      "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
    font-weight: bold;
    font-size: 18px;
    line-height: 1.6em;
    position: relative;
    vertical-align: middle;
    z-index: 2;
    margin-top: 16px;
  }

  .ttl-txt02 b > b {
    padding-left: 80px;
    padding-right: 80px;
    z-index: -1;
    position: relative;
    display: inline-block;
    margin-top: 0;
  }

  .ttl-txt02 b > b:before,
  .ttl-txt02 b > b:after {
    display: none;
  }

  .ttl-txt02 b:before {
    content: "";
    background: #1d315a;
    height: 1px;
    width: 14%;
    position: absolute;
    top: 50%;
    left: 20%;
    transform: translateY(-50%);
    sz-index: -2;
  }

  .ttl-txt02 b:after {
    content: "";
    background: #1d315a;
    height: 1px;
    width: 14%;
    position: absolute;
    top: 50%;
    right: 20%;
    transform: translateY(-50%);
    z-index: -2;
  }

  .ttl-txt02._main {
    margin: 32px 0 80px 0;
  }

  article.bg-gray02 .ttl-txt02 {
    margin-top: 0;
  }

  article + article .ttl-txt02._main {
    margin: 152px 0 80px 0;
  }

  .ttl-txt02._left {
    text-align: left;
    font-size: 30px;
    line-height: 45px;
    margin-top: 0;
  }

  .ttl-txt02._bold {
    font-weight: 900;
  }

  .ttl-txt03 {
    display: block;
    width: 100%;
    font-style: normal;
    font-weight: bold;
    font-size: 24px;
    line-height: 1.4em;
    color: #000000;
    padding-left: 32px;
    margin-bottom: 40px;
    position: relative;
  }

  .ttl-txt03.acc-ttl02 i {
    display: block;
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    width: 15px;
    height: 15px;
  }

  .ttl-txt03.acc-ttl02.is-show i {
    top: 70%;
  }

  .ttl-txt03.acc-ttl02 i:before {
    content: "";
    position: absolute;
    bottom: 50%;
    left: 0;
    width: 15px;
    height: 15px;
    border-top: 2px solid #1d315a;
    border-right: 2px solid #1d315a;
    transform: rotate(135deg) translateY(-50%);
    transition: 0.3s;
    -webkit-transition: 0.3s;
  }

  .ttl-txt03.acc-ttl02.is-show i:before {
    bottom: 0;
    left: 8px;
    transform: rotate(-45deg) translateY(-50%);
  }

  div + .ttl-txt03 {
    margin-top: 40px;
  }

  a + .ttl-txt03 {
    margin-top: 80px;
  }

  .ttl-txt03:before {
    content: "";
    width: 10px;
    height: 100%;
    background: #1d315a;
    position: absolute;
    top: 0;
    left: 0;
  }

  .ttl-txt03._pre:before {
    background: #1d315a;
  }

  .ttl-txt03._gold:before {
    background: #ebc34a;
  }

  .ttl-txt03._stand:before {
    background: #898989;
  }

  .ttl-txt03:after {
    content: "";
    width: 100%;
    height: 1px;
    background: #898989;
    position: absolute;
    bottom: -16px;
    left: 0;
  }

  .ttl-txt03._no-bd:after {
    display: none;
  }

  .ttl-txt04 {
    font-weight: bold;
    font-size: 22px;
    line-height: 26px;
  }

  .ttl-txt05 {
    font-weight: 900;
    font-size: 40px;
    line-height: 40px;
    color: #1d315a;
    font-family: "Montserrat", sans-serif;
  }

  .ttl-txt05 b {
    font-weight: bold;
    font-size: 18px;
    line-height: 26px;
    color: #1d315a;
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium",
      "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
    display: block;
    margin-top: 16px;
  }

  /* ボタン系

---------------------------------------- */

  .btn-arr01 {
    border: 1px solid #ffffff;
    box-sizing: border-box;
    text-align: center;
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium",
      "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
    color: #fff;
    font-weight: bold;
    font-size: 16px;
    line-height: 40px;
    padding: 0 16px;
    position: relative;
    width: 90%;
    max-width: 300px;
  }

  .btn-arr01 i {
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    width: 10px;
    height: 10px;
  }

  .btn-arr01 i:before {
    content: "";
    width: 10px;
    height: 10px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(45deg);
    display: inline-block;
    position: absolute;
    left: 0;
    top: 0;
  }

  .btn-entry {
    background: #a44949;
    color: #fff;
    text-align: center;
    line-height: 40px;
    vertical-align: middle;
    max-width: 300px;
    display: block;
    transition: 0.3s;
    font-size: 16px;
  }

  .btn-entry:hover {
    opacity: 0.7;
    color: #fff;
  }

  .btn-entry.no-active {
    color: #fff;
    cursor: default;
    background: #b6b6b6;
  }

  a.btn-entry.no-active:not([href]):not([tabindex]) {
    color: #fff;
  }

  .btn-entry.no-active:hover {
    opacity: 1;
    color: #fff;
  }

  .btn-entry02 {
    background: #fff;
    border: #a44949 1px solid;
    color: #a44949;
    text-align: center;
    line-height: 40px;
    vertical-align: middle;
    max-width: 300px;
    display: block;
    transition: 0.3s;
    font-size: 16px;
  }

  .btn-entry02:hover {
    color: #fff;
    background: #a44949;
  }

  .btn-basic {
    color: #1d315a;
    text-align: center;
    line-height: 40px;
    vertical-align: middle;
    max-width: 300px;
    display: block;
    transition: 0.3s;
    font-size: 16px;
    border: 1px solid #1d315a;
    position: relative;
  }

  .btn-basic._pdf,
  .btn-basic._excel,
  .btn-basic._download {
    color: #000;
    font-size: 14px;
    line-height: 40px;
  }

  .btn-basic._small {
    max-width: 300px;
  }

  .btn-basic._lg {
    max-width: 380px;
  }

  .btn-basic._arr i {
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    width: 10px;
    height: 10px;
  }

  .btn-basic._arr i:before {
    content: "";
    width: 10px;
    height: 10px;
    border-top: 2px solid #1d315a;
    border-right: 2px solid #1d315a;
    transform: rotate(45deg);
    position: absolute;
    right: 0;
    top: 0;
  }

  .btn-basic._pdf i {
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    width: 20px;
    height: 20px;
  }

  .btn-basic._excel i {
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    width: 20px;
    height: 20px;
  }

  .btn-basic._download i {
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    width: 22px;
    height: 22px;
  }

  .btn-basic._pdf i:before {
    content: "";
    width: 20px;
    height: 20px;
    background: url("../img/common/pdf-icon.png") no-repeat center center;
    background-size: cover;
    position: absolute;
    right: 0;
    top: 0;
  }

  .btn-basic._excel i:before {
    content: "";
    width: 20px;
    height: 20px;
    background: url("../img/common/xlsx-icon.png") no-repeat center center;
    background-size: cover;
    position: absolute;
    right: 0;
    top: 0;
  }

  .btn-basic._download i:before {
    content: "";
    width: 22px;
    height: 22px;
    background: url("../svg/icon_download.svg") no-repeat center center;
    background-size: cover;
    position: absolute;
    right: 0;
    top: 0;
  }

  .btn-basic:hover {
    opacity: 0.7;
    color: #1d315a;
  }

  .c-btn {
    margin-right: auto;
    margin-left: auto;
  }

  .r-btn {
    width: 430px;
    float: right;
  }

  .btn-basic + .btn-basic,
  .btn-basic + .btn-entry,
  .btn-entry + .btn-entry {
    margin-top: 16px;
  }

  p + .btn-basic,
  p + .btn-entry {
    margin-top: 32px;
  }

  .btn-list {
    width: 100%;
    max-width: 100%;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    align-items: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    -moz-box-lines: multiple;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-bottom: 0;
    padding: 0;
  }

  .btn-list._w2 {
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 24px;
    padding-right: 24px;
  }

  .btn-list.col-2 li {
    width: 48%;
  }

  .btn-list.col-2 li + li {
    margin-left: 4%;
  }

  .btn-list.col-3 li {
    width: 32%;
  }

  .btn-list.col-3 li + li {
    margin-left: 2%;
  }

  .btn-list.col-4 li {
    width: 24%;
    margin-bottom: 16px;
  }

  .btn-list.col-4 {
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
  }

  .btn-list.col-4 li:nth-child(4n + 1) {
    margin-left: 0;
  }

  .btn-list.col-4 li + li {
    margin-left: 1.3%;
  }

  .btn-list.col-2 li a.btn-basic,
  .btn-list.col-2 li a.btn-entry,
  .btn-list.col-2 li a.btn-entry02,
  .btn-list.col-3 li a.btn-basic,
  .btn-list.col-3 li a.btn-entry,
  .btn-list.col-3 li a.btn-entry02 {
    max-width: 100%;
  }

  .more-link {
    font-weight: bold;
    font-size: 18px;
    line-height: 36px;
    display: inline-block;
    position: relative;
    vertical-align: middle;
    transition: 0.3s;
  }

  .more-link i {
    width: 30px;
    height: 5.6px;
    position: relative;
    margin-left: 16px;
    display: inline-block;
    transform: translateY(-50%);
  }

  .more-link i:before {
    content: "";
    width: 100%;
    height: 1px;
    background: #000;
    position: absolute;
    top: 0;
    left: 0;
  }

  .more-link i:after {
    content: "";
    width: 50%;
    height: 1px;
    background: #000;
    position: absolute;
    top: -3px;
    right: -1px;
    transform: rotate(21.8deg);
  }

  .arr-link {
    font-size: 16px;
    line-height: 24px;
    display: inline-block;
    position: relative;
    vertical-align: middle;
    transition: 0.3s;
  }

  .arr-link i {
    width: 8px;
    height: 8px;
    position: relative;
    margin-left: 8px;
    display: inline-block;
  }

  .arr-link i:before {
    content: "";
    width: 100%;
    height: 100%;
    border-top: 2px solid #333;
    border-right: 2px solid #333;
    transform: rotate(45deg);
    position: absolute;
    left: 0;
    top: -2px;
  }

  .arr-link:hover {
    color: #1d315a;
  }

  .arr-link:hover i:before {
    border-top: 2px solid #1d315a;
    border-right: 2px solid #1d315a;
  }

  .arr-link.r-link {
    float: right;
  }

  /* テキストボックス系

---------------------------------------- */

  .ttl-txt-box01 {
    padding: 0;
    overflow: hidden;
  }

  .ttl-txt-box01 h4,
  .ttl-txt-box01 h3 {
    margin: 0 0 16px 0;
    padding: 0;
    font-weight: bold;
    font-size: 22px;
    line-height: 1.4em;
  }

  .ttl-txt-box01._center h4,
  .ttl-txt-box01._center h3 {
    margin: 0 0 24px 0;
    padding: 0;
    font-weight: bold;
    font-size: 24px;
    line-height: 1.4em;
    text-align: center;
  }

  .ttl-txt-box01 p {
    margin-bottom: 0;
    padding: 0;
    font-weight: normal;
    font-size: 16px;
    line-height: 26px;
    margin-block-end: 0;
  }

  .ttl-txt-box01._center p.txt-small {
    font-size: 14px;
    line-height: 1.6em;
  }

  .ttl-txt-box01._center p {
    margin-bottom: 0;
    padding: 0;
    font-weight: normal;
    font-size: 16px;
    line-height: 1.6em;
    margin-block-end: 0;
  }

  .ttl-txt-box01._center p.txt-reg {
    font-size: 16px;
  }

  .ttl-txt-box01 > ul {
    padding-inline-start: 0;
    margin-bottom: 0;
    padding: 0;
  }

  .ttl-txt-box01 > ul > li.ul-col3 dl dd {
    width: 100%;
    display: flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    align-items: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  .ttl-txt-box01 > ul > li.ul-col3 dl dd ul {
    width: 32%;
  }

  .ttl-txt-box01 > ul > li.ul-col3 dl dd ul + ul {
    margin-left: 2%;
  }

  .ttl-txt-box01 > ul > li.ul-col3 dl dd ul li {
    font-weight: normal;
    font-size: 16px;
    line-height: 26px;
  }

  .ttl-txt-box01 > ul > li.ul-col3 dl dd ul li + li {
    margin-top: 16px;
  }

  .ttl-txt-box01 > ul > li.ul-col3 dl dd p {
    width: 100%;
    margin-top: 24px;
  }

  .ttl-txt-box01 .ttl-txt-list dl {
    margin-bottom: 0;
  }

  .ttl-txt-box01 .ttl-txt-list + a {
    margin-top: 40px;
  }

  .ttl-txt-box01 > .ttl-txt-list > li > dl > dt + dd {
    padding-left: 0;
    margin-bottom: 0;
  }

  .ttl-txt-box01 > .ttl-txt-list > li > dl > dd > p {
    margin-bottom: 0;
    margin-block-end: 0;
  }

  .ttl-txt-box01 > .ttl-txt-list > li > dl > dd > ul > li > dl dd,
  .ttl-txt-box02 > .ttl-txt-list > li > dl > dd > ul > li > dl dd {
    margin-bottom: 0;
  }

  .ttl-txt-box01 > .ttl-txt-list > li > dl > dd > p + p {
    margin-top: 32px;
  }

  .ttl-txt-box01 > .ttl-txt-list > li + li {
    margin-top: 64px;
  }

  .ttl-txt-box01 > .ttl-txt-list .img-txt-list01,
  .ttl-txt-box01 > .ttl-txt-list .img-list {
    width: 100%;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    align-items: flex-start;
    -webkit-align-items: flex-start;
    margin-bottom: 0;
    padding: 0;
  }

  .ttl-txt-box01 > .ttl-txt-list .img-txt-list01 + .btn-basic,
  .ttl-txt-box01 > .ttl-txt-list .img-list + .btn-basic {
    margin-top: 24px;
  }

  .ttl-txt-box01 > .ttl-txt-list .img-list._col-4 li {
    width: 23%;
  }

  .ttl-txt-box01 > .ttl-txt-list .img-list._col-4 li + li {
    margin-left: 2.6%;
    margin-top: 0;
  }

  .ttl-txt-box01 > .ttl-txt-list .img-list li img {
    width: 100%;
  }

  .ttl-txt-box01 > .ttl-txt-list .img-txt-list01 li {
    width: 32%;
    margin-bottom: 0;
  }

  .ttl-txt-box01 > .ttl-txt-list .img-txt-list01 li + li {
    margin-left: 2%;
  }

  .ttl-txt-box01 > .ttl-txt-list .img-txt-list01 li figure {
    margin: 0;
  }

  .ttl-txt-box01 > .ttl-txt-list .img-txt-list01 li figcaption {
    font-weight: bold;
    font-size: 18px;
    line-height: 26px;
  }

  .ttl-txt-box01 > .ttl-txt-list .img-txt-list01 li figcaption b {
    font-weight: normal;
    font-size: 16px;
    line-height: 26px;
    display: block;
  }

  .ttl-txt-box01 > .ttl-txt-list .img-txt-list01 li figure img {
    width: 100%;
    margin-bottom: 16px;
  }

  .ttl-txt-box01 > .ttl-txt-list > li.contact p {
    font-weight: bold;
    text-align: center;
    line-height: 1.4em;
  }

  .ttl-txt-box01 > .ttl-txt-list > li.contact p + p {
    margin-top: 16px;
  }

  .ttl-txt-box01 > .ttl-txt-list > li.contact p b {
    font-size: 16px;
  }

  .ttl-txt-box01 > .ttl-txt-list > li.contact p.fw-none {
    font-weight: normal;
  }

  .ttl-txt-box01 > .ttl-txt-list > li.contact p:first-child {
    font-size: 20px;
  }

  .ttl-txt-box01 > .ttl-txt-list > li.contact p:nth-child(2) {
    font-size: 24px;
    line-height: 1.6em;
  }

  .ttl-txt-box01 > .ttl-txt-list > li.contact p:nth-child(3) {
    font-size: 22px;
    line-height: 1.5em;
  }

  .ttl-txt-box01 > .ttl-txt-list > li.contact p + a {
    margin-top: 24px;
  }

  .ttl-txt-box01 > .ttl-txt-list > li.meeting-place > dl > dd ul {
    margin-bottom: 16px;
  }

  .ttl-txt-box01 > .ttl-txt-list > li.meeting-place > dl > dd dl {
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    align-items: flex-start;
    -webkit-align-items: flex-start;
    -ms-flex-align: flex-start;
    margin-bottom: 0;
  }

  .ttl-txt-box01 > .ttl-txt-list > li.meeting-place > dl > dd dt {
    width: 10%;
    margin-right: 2%;
    font-weight: bold;
    font-size: 16px;
    line-height: 26px;
  }

  .ttl-txt-box01 > .ttl-txt-list > li.meeting-place > dl > dd dd {
    width: 88%;
    font-size: 16px;
    line-height: 26px;
    margin-bottom: 0;
  }

  .ttl-txt-box01 > .ttl-txt-list > li.meeting-place > dl > dd li + li {
    margin-top: 16px;
  }

  .ttl-txt-box01 > .ttl-txt-list > li.cancell-fee > dl > dd dl {
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    align-items: flex-start;
    -webkit-align-items: flex-start;
    -ms-flex-align: flex-start;
    margin-bottom: 0;
  }

  .ttl-txt-box01 > .ttl-txt-list > li.cancell-fee > dl > dd dt {
    width: 25%;
    margin-right: 2%;
    font-weight: bold;
    font-size: 16px;
    line-height: 26px;
  }

  .ttl-txt-box01 > .ttl-txt-list > li.cancell-fee > dl > dd dd {
    width: 77%;
    font-size: 16px;
    line-height: 26px;
    margin-bottom: 0;
  }

  .ttl-txt-box01 > .ttl-txt-list > li.cancell-fee > dl > dd li + li {
    margin-top: 16px;
  }

  .ttl-txt-box02 {
    margin: 0;
    padding: 0;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    align-items: flex-start;
    -webkit-align-items: flex-start;
    -ms-flex-align: flex-start;
  }

  .ttl-txt-box02 > ul {
    width: 48%;
    padding-inline-start: 0;
    margin-bottom: 0;
    padding: 0;
  }

  .ttl-txt-box02 > ul + ul {
    margin-left: 4%;
  }

  .ttl-txt-box02 > ul > li + li {
    margin-top: 35px;
  }

  .ttl-txt-list > li.txt-link a:hover {
    color: #1d315a;
  }

  section + section.ttl-txt-box03 {
    margin-top: 48px;
  }

  .ttl-txt-box03 {
    margin: 0;
    padding: 0;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    align-items: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
  }

  .ttl-txt-box03 .l-box {
    width: 40%;
    text-align: center;
  }

  .ttl-txt-box03 .l-box h4 {
    font-weight: bold;
    font-size: 20px;
    line-height: 30px;
    margin-bottom: 8px;
  }

  .ttl-txt-box03 .l-box h4 + p {
    font-weight: bold;
    font-size: 24px;
    line-height: 1.2em;
    margin-bottom: 8px;
  }

  .ttl-txt-box03 .l-box h4 + p._small {
    font-size: 22px;
    line-height: 26px;
  }

  .ttl-txt-box03 .l-box p:nth-child(3) {
    font-weight: bold;
    font-size: 16px;
    line-height: 26px;
    margin-top: 8px;
    margin-bottom: 0;
  }

  .ttl-txt-box03 .l-box p:nth-child(4) {
    width: 100%;
    font-weight: bold;
    font-size: 16px;
    line-height: 26px;
    margin-top: 16px;
    margin-bottom: 8px;
    padding-top: 16px;
    border-top: 1px solid #898989;
  }

  .ttl-txt-box03 .l-box p:nth-child(5) {
    width: 100%;
    font-weight: bold;
    font-size: 24px;
    line-height: 1.2em;
    margin-bottom: 16px;
    padding-bottom: 16px;
    border-bottom: 1px solid #898989;
    margin-top: 8px;
  }

  .ttl-txt-box03 .l-box p:nth-child(n + 6) {
    font-weight: bold;
    font-size: 20px;
    line-height: 26px;
    margin-top: 16px;
    margin-bottom: 0;
  }

  .ttl-txt-box03 .l-box p:nth-child(n + 7) {
    font-size: 16px;
  }

  .ttl-txt-box03 .l-box p:last-child a {
    transition: 0.3s;
  }

  .ttl-txt-box03 .l-box p:last-child a:hover {
    color: #1d315a;
  }

  .ttl-txt-box03 .r-box {
    width: 56%;
    text-align: center;
    margin-left: 4%;
  }

  .ttl-txt-box03 .r-box img {
    width: 100%;
  }

  .ttl-txt-box04 h4,
  .ttl-txt-box04 h3 {
    font-weight: bold;
    font-size: 20px;
    line-height: 26px;
    margin-bottom: 8px;
  }

  .ttl-txt-box04 + .ttl-txt-box04 {
    margin-top: 24px;
  }

  .ttl-txt-list > li > dl {
    margin-bottom: 0;
  }

  .ttl-txt-list > li > dl > dt {
    vertical-align: middle;
    font-weight: bold;
    font-size: 16px;
    line-height: 26px;
    position: relative;
  }

  .ttl-txt-list > li > dl > dt:before {
    content: "";
    background: #ebc34a;
    left: 0;
    top: 0;
    position: absolute;
    width: 8px;
    height: 100%;
    z-index: 3;
  }

  .ttl-txt-list > li.map > dl > dd img {
    width: 100%;
  }

  .ttl-txt-list > li.map02 > dl > dd {
    width: 100%;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    align-items: flex-start;
    -webkit-align-items: flex-start;
    -ms-flex-align: flex-start;
  }

  .ttl-txt-list > li.map02 > dl > dd .txt-box {
    width: 36%;
    margin-right: 4%;
  }

  .ttl-txt-list > li.map02 > dl > dd .txt-box h4 {
    font-weight: bold;
    font-size: 20px;
    line-height: 36px;
    margin-bottom: 16px;
  }

  .ttl-txt-list > li.map02 > dl > dd .txt-box p {
    font-size: 16px;
    line-height: 31px;
    margin-bottom: 0;
  }

  .ttl-txt-list > li.map02 > dl > dd .img-box {
    width: 60%;
  }

  .ttl-txt-list > li.map02 > dl > dd .img-box img {
    width: 100%;
  }

  .ttl-txt-list > li.map02 > dl > dd .img-box iframe {
    width: 100%;
    height: 400px;
  }

  .ttl-txt-list > li > dl > dt b {
    background: #f2f2f2;
    display: inline-block;
    position: relative;
    z-index: 2;
    padding-left: 24px;
    padding-right: 16px;
  }

  .ttl-txt-list > li > dl > dt.under-b {
    font-size: 20px;
    line-height: 1.4em;
  }

  .ttl-txt-list > li > dl > dt.under-b:after {
    content: "";
    border-top: 1px solid #898989;
    width: 100%;
    height: 1px;
    position: absolute;
    top: auto;
    bottom: -12px;
    right: 0;
    transform: translateY(0);
    z-index: 1;
  }

  .ttl-txt-list > li > dl > dt:after {
    content: "";
    border-top: 1px dotted #898989;
    width: 100%;
    height: 1px;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    z-index: 1;
  }

  .ttl-txt-list > li > dl > dt + dd {
    margin-top: 16px;
    margin-left: 0;
    font-weight: normal;
    font-size: 14px;
    line-height: 1.6em;
    padding-left: 0;
    margin-bottom: 0;
  }

  .ttl-txt-list > li > dl > dt.under-b + dd {
    margin-top: 28px;
  }

  .ttl-txt-list > li > dl > dd p {
    margin-bottom: 0;
  }

  .ttl-txt-list > li.menu > dl > dt + dd,
  .ttl-txt-list > li.map > dl > dt + dd {
    margin-top: 16px;
  }

  .ttl-txt-list > li.menu > dl > dd + dd {
    margin-top: 16px;
  }

  .ttl-txt-list .g-map {
    width: 100%;
    height: 400px;
    border: none;
  }

  .ttl-txt-list > li.map > dl > dt.under-b + dd {
    margin-top: 32px;
  }

  .ttl-txt-list > li > dl > dd > ul {
    padding-inline-start: 0;
    padding: 0;
  }

  .ttl-txt-list > li > dl > dd > ul.img-txt-list01 > li + li {
    margin-top: 0;
  }

  .ttl-txt-list > li > dl > dd > ul > li + li {
    margin-top: 16px;
  }

  .ttl-txt-list > li.price > dl > dd > ul > li + li,
  .ttl-txt-list > li.amenities > dl > dd > ul > li + li,
  .ttl-txt-list > li.facility > dl > dd > ul > li + li,
  .ttl-txt-list > li > dl > dd > ul.time-zone > li + li {
    margin-top: 0;
  }

  .ttl-txt-list > li > dl > dd > ul + ul {
    margin-top: 16px;
  }

  .ttl-txt-list > li > dl > dd > ul.season_time-zone dt {
    font-weight: bold;
  }

  .ttl-txt-list > li > dl > dd > ul.season_time-zone dd ul {
    padding: 0;
    padding-inline-start: 0;
  }

  .ttl-txt-list > li > dl > dd > ul.season_time-zone li + li {
    margin-top: 16px;
  }

  .ttl-txt-list > li > dl > dd > ul.season_time-zone li > dl dd li {
    margin-top: 0;
  }

  /*
    .ttl-txt-list > li > dl > dd > .time-zone+.season{
        margin-top: 16px;
    }

    .ttl-txt-list > li > dl > dd > .season+.time-zone{
        margin-top: 8px;
    }
    */

  .ttl-txt-list > li > dl > dd > ul > li dl {
    margin-bottom: 0;
  }

  .ttl-txt-list > li > dl > dd > ul > li > dl > dt {
    font-weight: normal;
  }

  .ttl-txt-list li.menu > dl > dd > ul {
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    align-items: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  .ttl-txt-list li.menu > dl > dd > ul > li {
    width: 48%;
    margin-left: 4%;
    margin-bottom: 24px;
    margin-top: 0;
    text-align: center;
  }

  .ttl-txt-list li.menu > dl > dd > ul > li:nth-child(2n + 1) {
    margin-left: 0;
  }

  .ttl-txt-list
    li.menu
    > dl
    > dd
    > ul
    > li:nth-child(2n):nth-last-child(-n + 3)
    ~ li {
    margin-bottom: 0;
  }

  .ttl-txt-list li.menu > dl > dd > ul > li a {
    text-align: center;
    border: 1px solid #898989;
    display: block;
    vertical-align: middle;
    line-height: 40px;
    position: relative;
    transition: 0.3s;
    font-size: 16px;
  }

  .ttl-txt-list li.menu > dl > dd > ul > li a._small {
    max-width: 300px;
  }

  .ttl-txt-list li.menu > dl > dd p {
    margin-top: 24px;
  }

  .ttl-txt-list li.menu > dl > dd > ul > li a:hover {
    color: #000;
    opacity: 0.7;
  }

  .ttl-txt-list li.menu > dl > dd > ul > li a:after {
    content: "";
    width: 20px;
    height: 20px;
    background: url("../img/common/pdf-icon.png") no-repeat center center;
    background-size: cover;
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
  }

  .ttl-txt-list li.menu._arr > dl > dd > ul > li a:after {
    content: "";
    width: 10px;
    height: 10px;
    border-top: 2px solid #1d315a;
    border-right: 2px solid #333;
    transform: rotate(45deg) translateY(-50%);
    position: absolute;
    right: 14px;
    top: 48%;
    background: none;
  }

  .ttl-txt-list li.reception .place {
    text-align: center;
    font-weight: bold;
    font-size: 20px;
    line-height: 26px;
    padding-top: 8px;
    padding-bottom: 16px;
  }

  .ttl-txt-list li.reception .reception-time {
    text-align: center;
    font-weight: bold;
    line-height: 26px;
    padding: 16px 0;
    border-top: 1px solid #898989;
    border-bottom: 1px solid #898989;
  }

  .ttl-txt-list li.reception .time {
    font-size: 16px;
  }

  .ttl-txt-list li.reception .tel-number {
    font-size: 24px;
  }

  .ttl-txt-list li.reception .e-mail {
    font-size: 24px;
    margin-top: 8px;
  }

  .ttl-txt-list li.reception .extension {
    padding: 0 0 16px 0;
  }

  .ttl-txt-list li.reception .extension b {
    font-weight: normal;
    font-size: 16px;
    line-height: 26px;
    display: block;
    text-align: center;
  }

  .ttl-txt-list li.reception .extension b.tel-number {
    text-align: center;
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 16px;
  }

  .ttl-txt-list li.reception .map img {
    width: 100%;
  }

  .ttl-txt-list li.reception p {
    margin-bottom: 0;
  }

  .ttl-txt-list li.reception p + p {
    margin-top: 16px;
  }

  .ttl-txt-list li.park-info > dl > dd > ul > li + li,
  .ttl-txt-list li.room-type > dl > dd > ul > li + li {
    margin-top: 8px;
  }

  .ttl-txt-list li.park-info > dl > dd > ul > li > dl,
  .ttl-txt-list li.room-type > dl > dd > ul > li > dl {
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    align-items: flex-start;
    -webkit-align-items: flex-start;
    -ms-flex-align: flex-start;
    margin-bottom: 0;
  }

  .ttl-txt-list li.park-info > dl > dd > ul > li > dl > dt,
  .ttl-txt-list li.room-type > dl > dd > ul > li > dl > dt {
    width: 15%;
    font-weight: bold;
  }

  .ttl-txt-list li.park-info > dl > dd > ul > li > dl > dt + dd,
  .ttl-txt-list li.room-type > dl > dd > ul > li > dl > dt + dd {
    margin-left: 2%;
    margin-bottom: 0;
  }

  .ttl-txt-list li.park-items > dl > dd > ul > li,
  .ttl-txt-list li.facility > dl > dd > ul > li,
  .ttl-txt-list li.amenities > dl > dd > ul > li {
    font-weight: normal;
  }

  .ttl-txt-list li.park-items > dl > dd > ul > li:before,
  .ttl-txt-list li.facility > dl > dd > ul > li:before,
  .ttl-txt-list li.amenities > dl > dd > ul > li:before {
    content: "・";
    display: inline-block;
  }

  .ttl-txt-list li.level-list > dl > dd > ul > li {
    padding: 16px 0;
    border-bottom: 0.5px solid #bdbdbd;
  }

  .ttl-txt-list li.level-list > dl > dd > ul > li:first-child {
    padding-top: 0;
  }

  .ttl-txt-list li.level-list > dl > dd > ul > li > dl {
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    align-items: flex-start;
    -webkit-align-items: flex-start;
    -ms-flex-align: flex-start;
    margin-bottom: 0;
  }

  .ttl-txt-list li.level-list > dl > dd > ul > li > dl > dt {
    width: 10%;
    font-weight: bold;
    font-size: 18px;
    line-height: 26px;
    margin-bottom: 0;
  }

  .ttl-txt-list li.level-list > dl > dd > ul > li > dl > dd {
    width: 88%;
    font-weight: normal;
    font-size: 16px;
    line-height: 26px;
    margin-bottom: 0;
    margin-left: 2%;
  }

  .ttl-txt-list li.faq-list > dl > dd > ul > li {
    padding: 16px 0;
    border-bottom: 0.5px solid #bdbdbd;
  }

  .ttl-txt-list li.faq-list > dl > dd > ul > li:first-child {
    padding-top: 0;
  }

  .ttl-txt-list li.faq-list > dl > dd > ul > li > dl {
    margin-bottom: 0;
  }

  .ttl-txt-list li.faq-list > dl > dd > ul > li > dl > dt {
    font-weight: bold;
    font-size: 18px;
    line-height: 26px;
    margin-bottom: 0;
  }

  .ttl-txt-list li.faq-list > dl > dd > ul > li > dl > dd {
    font-weight: normal;
    font-size: 16px;
    line-height: 26px;
    margin-top: 16px;
    margin-bottom: 0;
  }

  .ttl-txt-list .acc-ttl i {
    display: none;
  }

  .ttl-txt-list li.parking > dl > dd > ul > li > dl {
    margin-bottom: 0;
  }

  .ttl-txt-list li.parking > dl > dd > ul > li + li {
    margin-top: 24px;
  }

  .ttl-txt-list li.parking > dl > dd > ul > li > dl > dt {
    font-weight: bold;
    font-size: 18px;
    line-height: 26px;
    margin-bottom: 0;
  }

  .ttl-txt-list li.parking > dl > dd > ul > li > dl > dd {
    font-weight: normal;
    font-size: 16px;
    line-height: 26px;
    margin-top: 16px;
    margin-bottom: 0;
  }

  .txt-scroll-box {
    border: 1px solid #ccc;
    height: 330px;
    overflow-y: scroll;
    padding: 24px;
  }

  .txt-scroll-box.acc-inner {
    display: none;
  }

  .img-txt-wrap01 {
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    align-items: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
  }

  .img-txt-wrap01 .img-box img {
    width: 100%;
  }

  .img-txt-wrap01 .txt-box h4 {
    font-weight: bold;
    font-size: 20px;
    line-height: 1.4em;
    text-align: left;
    margin-bottom: 16px;
  }

  .img-txt-wrap01 .txt-box p {
    font-size: 16px;
    line-height: 1.6em;
    color: #898989;
  }

  .img-txt-wrap01 .txt-box p._black {
    color: #000;
  }

  .img-txt-wrap01 .img-box {
    width: 40%;
  }

  .img-txt-wrap01 .txt-box {
    margin-left: 3%;
    width: 57%;
  }

  .img-txt-wrap01:nth-child(2n) .img-box {
    order: 1;
  }

  .img-txt-wrap01:nth-child(2n) .txt-box {
    margin-left: 0;
    margin-right: 3%;
  }

  .img-txt-wrap02 {
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    align-items: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
  }

  .img-txt-wrap02._txt-top {
    align-items: flex-start;
    -webkit-align-items: flex-start;
    -ms-flex-align: flex-start;
  }

  .img-txt-wrap02 .img-box img {
    width: 100%;
  }

  .img-txt-wrap02 .txt-box h4,
  .img-txt-wrap02 .txt-box h5 {
    font-weight: bold;
    font-size: 20px;
    line-height: 30px;
    margin-bottom: 24px;
  }

  .img-txt-wrap02 .txt-box p {
    font-size: 16px;
    line-height: 26px;
    margin-bottom: 0;
  }

  .img-txt-wrap02 .img-box {
    width: 45%;
  }

  .img-txt-wrap02._small-img .img-box {
    width: 30%;
  }

  .img-txt-wrap02._small-img .txt-box {
    width: 67%;
  }

  .img-txt-wrap02 .img-box._right {
    order: 1;
  }

  .img-txt-wrap02 .txt-box {
    margin-left: 3%;
    width: 52%;
  }

  .img-txt-wrap02 .txt-box._left {
    margin-left: 0;
    margin-right: 3%;
    width: 52%;
  }

  .img-txt-wrap03 {
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    align-items: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
  }

  .img-txt-wrap03 .img-box img {
    width: 100%;
  }

  .img-txt-wrap03 .txt-box h3,
  .img-txt-wrap03 .txt-box h4 {
    font-weight: 900;
    font-size: 34px;
    line-height: 1.2em;
    color: #1d315a;
    font-family: "Montserrat", sans-serif;
    margin-bottom: 32px;
  }

  .img-txt-wrap03 .txt-box h3.txt-jp,
  .img-txt-wrap03 .txt-box h4.txt-jp {
    font-family: "M PLUS 1p", sans-serif;
    font-weight: 700;
  }

  .img-txt-wrap03 .txt-box h3 b,
  .img-txt-wrap03 .txt-box h4 b {
    font-weight: bold;
    font-size: 18px;
    line-height: 26px;
    color: #1d315a;
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium",
      "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
    display: block;
    margin-top: 8px;
  }

  .img-txt-wrap03 .txt-box p {
    font-size: 16px;
    line-height: 36px;
    color: #000;
    margin-bottom: 24px;
  }

  .img-txt-wrap03 .txt-box a {
    font-size: 16px;
    line-height: 24px;
    position: relative;
  }

  .img-txt-wrap03 .txt-box a:hover {
    color: #1d315a;
  }

  .img-txt-wrap03 .txt-box a:after {
    content: "";
    width: 9px;
    height: 9px;
    border-top: 2px solid #000;
    border-right: 2px solid #000;
    transform: rotate(45deg);
    display: inline-block;
    position: relative;
    top: -1px;
    margin-left: 8px;
  }

  .img-txt-wrap03 .txt-box a + a {
    margin-top: 8px;
    display: table;
  }

  .img-txt-wrap03 .img-box {
    width: 65%;
    order: 1;
  }

  .img-txt-wrap03 .img-box._left {
    order: 2;
  }

  .img-txt-wrap03 .txt-box {
    margin-left: 5%;
    margin-right: 0;
    width: 30%;
    order: 2;
  }

  .img-txt-wrap03 .txt-box._right {
    order: 1;
    margin-left: 0;
    margin-right: 5%;
  }

  .img-txt-wrap04 {
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    align-items: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
  }

  .img-txt-wrap04 + .img-txt-wrap04 {
    margin-top: 64px;
  }

  .img-txt-wrap04 .img-box {
    width: 55%;
    order: 1;
  }

  .img-txt-wrap04 .txt-box {
    margin-left: 3%;
    width: 42%;
    order: 2;
  }

  .img-txt-wrap04 .img-box img {
    width: 100%;
  }

  .img-txt-wrap04 .txt-box h3,
  .img-txt-wrap04 .txt-box h4 {
    font-weight: bold;
    font-size: 22px;
    line-height: 30px;
    margin-bottom: 32px;
  }

  .img-txt-wrap04 .txt-box h3 b,
  .img-txt-wrap04 .txt-box h4 b {
    font-weight: normal;
    font-size: 18px;
    line-height: 26px;
    display: block;
    margin-top: 8px;
  }

  .img-txt-wrap04 .txt-box p {
    font-size: 16px;
    line-height: 26px;
    color: #898989;
    margin-bottom: 24px;
  }

  .img-txt-wrap04 .img-box._left {
    order: 2;
  }

  .img-txt-wrap04 .txt-box._right {
    order: 1;
    margin-right: 3%;
    margin-left: 0;
  }

  .img-txt-wrap04 dl {
    margin-bottom: 0;
  }

  .img-txt-wrap04 dl + dl {
    margin-top: 8px;
  }

  .img-txt-wrap04 dl dt {
    margin-bottom: 0;
    font-size: 16px;
    line-height: 26px;
    font-weight: bold;
  }

  .img-txt-wrap04 dl dd {
    margin-bottom: 0;
    font-size: 16px;
    line-height: 26px;
  }

  .ttl-txt-box01 + .img-txt-wrap05 {
    margin-top: 32px;
  }

  .img-txt-wrap05 h3.ttl-txt01 {
    margin-bottom: 32px;
  }

  .img-txt-wrap05 ul {
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    align-items: flex-start;
    -webkit-align-items: flex-start;
    -ms-flex-align: flex-start;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding: 0;
    margin-bottom: 0;
  }

  .img-txt-wrap05 li {
    width: 48.5%;
    margin-left: 3%;
    margin-bottom: 3%;
  }

  .img-txt-wrap05._bnr {
    -webkit-justify-content: center;
    justify-content: center;
    max-width: 824px;
    margin-left: auto;
    margin-right: auto;
  }
  .img-txt-wrap05._bnr li {
    width: 48.544%;
    margin-left: 2.912%;
  }

  .img-txt-wrap05._bnr img {
    width: 100%;
    height: auto;
  }

  .img-txt-wrap05 ul + ul {
    margin-top: 40px;
  }

  .img-txt-wrap05 ul.w100 {
    display: block;
    width: 100%;
  }

  .img-txt-wrap05 ul.w100 li {
    width: 100%;
    margin-left: 0;
    margin-bottom: 0;
  }

  .img-txt-wrap05 li:nth-child(2n + 1) {
    margin-left: 0;
  }

  .img-txt-wrap05 li:nth-child(2n):nth-last-child(-n + 3) ~ li {
    margin-bottom: 0;
  }

  .img-txt-wrap05 li figure {
    margin: 0;
  }

  .img-txt-wrap05 li img {
    width: 100%;
    height: auto;
    margin: 0;
  }

  .img-txt-wrap05 li figcaption {
    margin-top: 16px;
    font-size: 16px;
    line-height: 26px;
  }

  .img-txt-wrap05 li figcaption b {
    display: block;
    font-weight: bold;
    font-size: 20px;
    line-height: 26px;
    margin-bottom: 8px;
  }

  .img-txt-wrap05 li a:hover figcaption {
    color: #1d315a;
  }

  .img-txt-wrap05 li dl {
    margin: 0;
  }

  .img-txt-wrap05 li dt {
    font-weight: bold;
    font-size: 20px;
    line-height: 30px;
    margin-bottom: 24px;
  }

  .img-txt-wrap05 li dt img {
    display: block;
    width: 100%;
    margin-top: 16px;
  }

  .img-txt-wrap05 li dd {
    font-weight: 500;
    font-size: 16px;
    line-height: 31px;
    margin-bottom: 0;
  }

  .img-txt-wrap06 ul {
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    align-items: flex-start;
    -webkit-align-items: flex-start;
    -ms-flex-align: flex-start;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding: 0;
    margin-bottom: 0;
  }

  .img-txt-wrap06 li {
    width: 48.5%;
    margin-left: 3%;
    margin-bottom: 3%;
  }

  .img-txt-wrap06 li:nth-child(2n + 1) {
    margin-left: 0;
  }

  .img-txt-wrap06 li:nth-child(2n):nth-last-child(-n + 3) ~ li {
    margin-bottom: 0;
  }

  .img-txt-wrap06 li dl {
    margin: 0;
  }

  .img-txt-wrap06 li dt {
    margin-bottom: 24px;
  }

  .img-txt-wrap06 li dt img {
    display: block;
    width: 100%;
    margin-top: 16px;
  }

  .img-txt-wrap06 li dd {
    margin-bottom: 0;
  }

  .img-txt-wrap06 li dd h4 {
    font-weight: bold;
    font-size: 20px;
    line-height: 26px;
  }

  .img-txt-wrap06 li dd p {
    margin-bottom: 0;
    font-size: 16px;
    line-height: 26px;
  }

  .img-txt-wrap06 li dd p .txt-cl-gray {
    font-size: 14px;
    font-weight: normal;
  }

  .img-txt-wrap06 li dd p a:after {
    content: "";
    width: 8px;
    height: 8px;
    border-top: 2px solid #333;
    border-right: 2px solid #333;
    transform: rotate(45deg);
    position: relative;
    top: -2px;
    display: inline-block;
    margin-left: 8px;
    transition: 0.3s;
  }

  .img-txt-wrap06 li dd p a:hover {
    color: #1d315a;
  }

  .img-txt-wrap06 li dd p a:hover:after {
    border-top: 2px solid #1d315a;
    border-right: 2px solid #1d315a;
  }

  .img-txt-wrap06 li dd .remarks-txt {
    border-top: 1px solid #898989;
    margin-top: 16px;
    padding-top: 16px;
    font-weight: bold;
    font-size: 18px;
    line-height: 26px;
  }

  .img-txt-wrap06 li dd .r-btn {
    width: 250px;
  }

  .img-txt-list {
    width: 100%;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    align-items: flex-start;
    -webkit-align-items: flex-start;
    -moz-box-lines: multiple;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding: 0;
    margin-bottom: 0;
  }

  .img-txt-list li {
    width: 32%;
    margin-left: 2%;
    margin-bottom: 2%;
  }

  .img-txt-list li:nth-child(3n + 1) {
    margin-left: 0;
  }

  .img-txt-list li figure {
    margin: 0;
    text-align: center;
  }

  .img-txt-list li figure img {
    width: 100%;
  }

  .img-txt-list li a:hover figcaption {
    color: #1d315a;
  }

  .img-txt-list li figcaption {
    font-weight: bold;
    font-size: 18px;
    line-height: 26px;
    margin-top: 8px;
    text-align: left;
  }

  .img-txt-list li figcaption.txt01 {
    font-size: 16px;
    line-height: 1.8em;
    font-weight: normal;
    text-align: left;
  }

  .img-txt-list li figcaption.txt01 h4 {
    font-size: 18px;
    line-height: 1.8em;
    font-weight: bold;
    text-align: left;
    margin-bottom: 0;
  }

  .img-txt-list02 {
    width: 100%;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    align-items: flex-start;
    -webkit-align-items: flex-start;
    -moz-box-lines: multiple;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding: 0;
    margin-bottom: 0;
  }

  .img-txt-list02 li {
    width: 49%;
    margin-left: 2%;
    margin-bottom: 2%;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    align-items: flex-start;
    -webkit-align-items: flex-start;
  }

  .img-txt-list02 li:nth-child(2n + 1) {
    margin-left: 0;
  }

  .img-txt-list02 li .img-box {
    width: 50%;
    margin-right: 4%;
  }

  .img-txt-list02 li .img-box img {
    width: 100%;
  }

  .img-txt-list02 li .txt-box {
    width: 46%;
  }

  .img-txt-list02 li .txt-box h4 {
    font-weight: 900;
    font-size: 30px;
    line-height: 1.2em;
    color: #1d315a;
    font-family: "Montserrat", sans-serif;
  }

  .img-txt-list02 li .txt-box h4 b {
    font-weight: bold;
    font-size: 18px;
    line-height: 26px;
    color: #1d315a;
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium",
      "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
    display: block;
    margin-top: 0;
  }

  .img-txt-list02 li .txt-box p {
    margin-bottom: 0;
    font-size: 16px;
    line-height: 26px;
    color: #898989;
  }

  .img-txt-list03 {
    padding: 0;
    margin-bottom: 0;
  }

  .img-txt-list03 li {
    padding-bottom: 24px;
    border-bottom: 1px solid #cccccc;
  }

  .img-txt-list03 li + li {
    margin-top: 24px;
  }

  .img-txt-list03 dl {
    width: 100%;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    align-items: flex-start;
    -webkit-align-items: flex-start;
    -moz-box-lines: multiple;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding: 0 20px;
    margin-bottom: 0;
  }

  .img-txt-list03 dl dt {
    width: 25%;
    margin-right: 3%;
  }

  .img-txt-list03 dl dd {
    width: 100%;
  }

  .img-txt-list03 dl dt img {
    width: 100%;
  }

  .img-txt-list03 dl dt + dd {
    width: 72%;
    margin-bottom: 0;
  }

  .img-txt-list03 dl dd h4 {
    font-weight: bold;
    font-size: 20px;
    line-height: 1.4em;
    margin-bottom: 16px;
  }

  .img-txt-list03 dl dd p.copy {
    font-size: 16px;
    line-height: 26px;
    margin-bottom: 0;
  }

  .img-txt-list03 dl dd p.price {
    font-size: 20px;
    line-height: 26px;
    text-align: right;
    font-weight: bold;
    margin-bottom: 0;
  }

  .img-txt-list03 dl dd a.btn-entry {
    margin-left: auto;
  }

  .plan-sort-nav-wrap {
    margin: 80px 0 64px 0;
  }

  .plan-sort-nav-wrap p {
    margin: 0;
    font-size: 14px;
    line-height: 2em;
  }

  .plan-sort-nav-wrap ul {
    padding-inline-start: 0;
    padding: 0;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    align-items: flex-start;
    -webkit-align-items: flex-start;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-bottom: 32px;
  }

  .plan-sort-nav-wrap li {
    margin-bottom: 0;
  }

  .plan-sort-nav-wrap li + li {
    margin-left: 24px;
  }

  .plan-sort-nav-wrap li a,
  .plan-sort-nav-wrap li span {
    background: #f2f2f2;
    border: 1px solid #898989;
    border-radius: 100px;
    font-weight: bold;
    font-size: 14px;
    line-height: 40px;
    padding: 0 24px;
    color: #898989;
    transition: 0.3s;
    display: block;
  }

  .plan-sort-nav-wrap li.active a,
  .plan-sort-nav-wrap li.active span,
  .plan-sort-nav-wrap li a:hover {
    background: #1d315a;
    border: 1px solid #1d315a;
    color: #fff;
  }

  .plan-list-wrap {
    border: 3px solid #f2f2f2;
    padding: 24px;
    position: relative;
    overflow: hidden;
    margin-left: auto;
    margin-right: auto;
    max-width: 1150px;
    width: 94%;
  }

  .plan-list-wrap .ad-reservation {
    position: absolute;
    top: 0;
    right: 0;
    font-size: 16px;
    color: #898989;
    padding-left: 25px;
    display: inline-block;
    vertical-align: middle;
    line-height: 30px;
    font-weight: bold;
  }

  .plan-list-wrap .ad-reservation:before {
    content: "";
    background: url("../img/common/phone-icon.png") no-repeat center center;
    background-size: cover;
    width: 16px;
    height: 30px;
    position: absolute;
    left: 0;
    top: 0;
  }

  .plan-list-wrap .plan-ttl {
    font-weight: bold;
    font-size: 22px;
    line-height: 26px;
    margin-bottom: 16px;
    position: relative;
  }

  .plan-list-wrap .plan-txt {
    font-size: 18px;
    line-height: 1.8em;
    padding-bottom: 24px;
    margin-bottom: 0;
  }

  .plan-list-wrap .read-item-inner {
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    align-items: flex-start;
    -webkit-align-items: flex-start;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  .plan-list-wrap .read-item-inner .box01 {
    width: 100%;
  }

  .plan-list-wrap .read-item-inner .box03,
  .plan-list-wrap .read-item-inner .box04 {
    width: 50%;
  }

  .plan-list-wrap .read-item-inner .box02 {
    width: 45%;
    margin-left: 5%;
    order: 2;
  }

  .plan-list-wrap .read-item-inner .box02 img {
    width: 100%;
  }

  .plan-list-wrap .read-item-inner .box03 dl {
    margin-bottom: 0;
  }

  .plan-list-wrap .read-item-inner .box03 dl + dl {
    margin-top: 16px;
  }

  .plan-list-wrap .read-item-inner .box03 dt {
    font-weight: bold;
    font-size: 16px;
    line-height: 26px;
    margin-bottom: 0;
  }

  .plan-list-wrap .read-item-inner .box03 dd {
    font-size: 16px;
    line-height: 26px;
    margin-top: 0;
    margin-bottom: 0;
  }

  .plan-list-wrap .read-item-inner .box04 .table-wrap {
    margin-bottom: 24px;
  }

  .plan-list-wrap .read-item-inner .box04 table {
    width: 100%;
  }

  .plan-list-wrap .read-item-inner .box04 thead {
    border-bottom: 3px solid #cccccc;
  }

  .plan-list-wrap .read-item-inner .box04 th,
  .plan-list-wrap .read-item-inner .box04 td {
    padding: 16px 0;
    vertical-align: middle;
  }

  .plan-list-wrap .read-item-inner .box04 td {
    font-size: 16px;
    line-height: 26px;
  }

  .plan-list-wrap .read-item-inner .box04 td:first-child {
    padding-left: 8px;
  }

  .plan-list-wrap .read-item-inner .box04 tr {
    border-bottom: 1px solid #cccccc;
  }

  .plan-list-wrap .read-item-inner .box04 td + td b {
    font-weight: normal;
  }

  .plan-list-wrap .read-item-inner .box04 td + td b + b:before {
    content: "/";
    display: inline-block;
    margin-left: 4px;
    margin-right: 4px;
  }

  /*
    .plan-list-wrap .read-item-inner .box04 dl{
        display: -moz-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -webkit-justify-content: flex-start;
        justify-content: flex-start;
        align-items: flex-start;
        -webkit-align-items: flex-start;
        margin-bottom: 0;
    }
    */

  .plan-list-wrap .read-item-inner .box04 dl {
    display: block;
    margin-bottom: 0;
  }

  .plan-list-wrap .read-item-inner .box04 dl + dl {
    margin-top: 16px;
  }

  .plan-list-wrap .read-item-inner .box04 dt {
    font-weight: bold;
    font-size: 16px;
    line-height: 26px;
    margin-bottom: 0;
  }

  .plan-list-wrap .read-item-inner .box04 dd {
    font-size: 16px;
    line-height: 26px;
    margin-bottom: 0;
  }

  .plan-list-wrap a.btn-entry,
  .plan-list-wrap a.btn-basic {
    width: 430px;
    float: right;
  }

  .plan-list-wrap .read-trigger,
  .plan-list-wrap .read-btn {
    display: none;
  }

  .ttl-txt-link-box01 {
    width: 100%;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    align-items: flex-end;
    -webkit-align-items: flex-end;
    -ms-flex-align: flex-end;
    -moz-box-lines: multiple;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .ttl-txt-link-box01 + .ttl-txt-link-box01 {
    margin-top: 40px;
  }

  .ttl-txt-link-box01 h3,
  .ttl-txt-link-box01 h4 {
    width: 100%;
    margin: 0 0 16px 0;
    padding: 0;
    font-weight: bold;
    font-size: 22px;
    line-height: 28px;
  }

  .ttl-txt-link-box01 .txt-box {
    width: 75%;
    margin-right: 4%;
  }

  .ttl-txt-link-box01 .link-box {
    width: 21%;
  }

  .ttl-txt-link-box01 .txt-box dl {
    width: 100%;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    align-items: flex-start;
    -webkit-align-items: flex-start;
    -ms-flex-align: flex-start;
    margin-bottom: 0;
  }

  .ttl-txt-link-box01 .txt-box dl + dl {
    margin-top: 8px;
  }

  .ttl-txt-link-box01 .txt-box dl dt {
    width: 15%;
    margin-right: 2%;
    font-weight: bold;
    font-size: 16px;
    line-height: 30px;
  }

  .ttl-txt-link-box01 .txt-box dl.dl02 dt {
    width: 60%;
  }

  .ttl-txt-link-box01 .txt-box dl dt b {
    color: #898989;
    display: block;
    font-weight: normal;
    font-size: 14px;
  }

  .ttl-txt-link-box01 .txt-box dl dd {
    width: 83%;
    font-size: 16px;
    line-height: 30px;
    margin-bottom: 0;
  }

  .ttl-txt-link-box01 .txt-box dl.dl02 dd {
    width: 40%;
  }

  .interview-wrap {
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    align-items: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    margin-top: 48px;
  }

  .interview-wrap .img-box {
    width: 35%;
    margin-right: 5%;
  }

  .interview-wrap .img-box img {
    width: 100%;
  }

  .interview-wrap .txt-box {
    width: 60%;
  }

  .interview-wrap .txt-box .comment {
    font-weight: normal;
    font-size: 16px;
    line-height: 26px;
    margin-bottom: 24px;
  }

  .interview-wrap .txt-box .about {
    font-size: 14px;
    line-height: 26px;
    margin-bottom: 0;
    margin-top: 0;
  }

  .dl01 {
    width: 100%;
    display: flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    align-items: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    margin-bottom: 0;
  }

  .dl01 dt {
    width: 10%;
    margin-right: 2%;
    font-weight: bold;
    font-size: 16px;
    line-height: 30px;
  }

  .dl01 dd {
    width: 88%;
    margin-bottom: 0;
    font-size: 16px;
    line-height: 25px;
  }

  /* タブ

---------------------------------------- */
  .tab-wrap01 {
    padding: 0;
  }

  .tab-wrap01 .tab-nav01 {
    display: flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    align-items: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    padding-inline-start: 0;
    margin-top: 24px;
    margin-bottom: 24px;
  }

  .tab-wrap01 .tab-nav01._start {
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    -moz-box-lines: multiple;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  .tab-wrap01 .tab-nav01._start li {
    width: 18.8%;
    margin-bottom: 24px;
  }

  .tab-wrap01 .tab-nav01._start li + li {
    margin-left: 1.5%;
  }

  .tab-wrap01 .tab-nav01._start li:nth-of-type(5n + 1) {
    margin-left: 0;
  }

  .tab-wrap01 .tab-nav01 li {
    width: 15%;
    text-align: center;
  }

  .tab-wrap01 .tab-nav01 li + li {
    margin-left: 1%;
  }

  .tab-wrap01 .tab-nav01 li a {
    color: #898989;
    font-weight: bold;
    font-size: 14px;
    text-align: center;
    border: 1px solid #898989;
    box-sizing: border-box;
    border-radius: 100px;
    background: #f2f2f2;
    display: block;
    line-height: 40px;
    transition: 0.3s;
  }

  .tab-wrap01 .tab-nav01 li.active a {
    color: #fff;
    background: #1d315a;
    border: 1px solid #1d315a;
  }

  .tab-wrap01 .tab-nav01 li:hover a {
    color: #fff;
    background: #1d315a;
    border: 1px solid #1d315a;
  }

  /* タブの切り替え */

  .tab-group {
    width: 100%;
  }

  .panel-group {
    height: auto;
  }
  .panel {
    display: none;
  }
  .tab.is-active {
    transition: 0.4s;
    -webkit-transition: 0.4s;
  }

  .panel.is-show {
    display: block;
  }

  .panel {
    margin: 0;
    padding: 0;
  }

  .tab-group02 {
    width: 100%;
  }

  .panel-group02 {
    height: auto;
  }
  .panel02 {
    display: none;
  }
  .tab02.is-active {
    transition: 0.4s;
    -webkit-transition: 0.4s;
  }

  .panel02.is-show {
    display: block;
  }

  .panel02 {
    margin: 0;
    padding: 0;
  }

  /* アコーディオン

---------------------------------------- */

  .acc-box02 .acc-item > h4 {
    width: 100%;
    background: #f2f2f2;
    font-weight: bold;
    font-size: 18px;
    line-height: 1.4em;
    color: #1d315a;
    height: auto;
    vertical-align: middle;
    position: relative;
    padding-top: 24px;
    padding-bottom: 24px;
    padding-right: 80px;
    padding-left: 100px;
    margin-bottom: 0;
    cursor: pointer;
  }

  .acc-box02 .acc-item > h4 b {
    display: block;
    font-weight: bold;
    font-size: 16px;
    line-height: 1em;
    color: #898989;
  }

  .acc-box02 .acc-item > h4:before {
    background: #1d315a;
    height: 100%;
    width: 76px;
    position: absolute;
    left: 0;
    top: 0;
    content: "";
    z-index: 1;
  }

  .acc-box02 .acc-item > h4.amuse:after {
    content: "";
    background: url("../img/amusement-park/amusement-park-nav-icon01.png")
      no-repeat center center;
    background-size: cover;
    position: absolute;
    left: 25px;
    top: 50%;
    transform: translateY(-50%);
    width: 30px;
    height: 30px;
    z-index: 2;
  }

  /* ジェットコースター */
  .acc-box02 .acc-item > h4.atr-icon01:after {
    content: "";
    background: url("../svg/icon_coaster.svg") no-repeat center center;
    background-size: cover;
    position: absolute;
    left: 19px;
    top: 50%;
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
    z-index: 2;
  }

  /* スリルランド */
  .acc-box02 .acc-item > h4.atr-icon02:after {
    content: "";
    background: url("../svg/icon_thrill-land.svg") no-repeat center center;
    background-size: cover;
    position: absolute;
    left: 19px;
    top: 50%;
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
    z-index: 2;
  }

  /* カート・トレイン */
  .acc-box02 .acc-item > h4.atr-icon03:after {
    content: "";
    background: url("../svg/icon_train.svg") no-repeat center center;
    background-size: cover;
    position: absolute;
    left: 19px;
    top: 50%;
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
    z-index: 2;
  }

  /* こどもランド */
  .acc-box02 .acc-item > h4.atr-icon04:after {
    content: "";
    background: url("../svg/icon_kids.svg") no-repeat center center;
    background-size: cover;
    position: absolute;
    left: 19px;
    top: 50%;
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
    z-index: 2;
  }

  /* アミューズメント */
  .acc-box02 .acc-item > h4.atr-icon05:after {
    content: "";
    background: url("../svg/icon_wheel.svg") no-repeat center center;
    background-size: cover;
    position: absolute;
    left: 19px;
    top: 50%;
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
    z-index: 2;
  }

  /* 羊蹄パノラマテラス */
  .acc-box02 .acc-item > h4.atr-icon06:after {
    content: "";
    background: url("../svg/icon_mountain.svg") no-repeat center center;
    background-size: cover;
    position: absolute;
    left: 19px;
    top: 50%;
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
    z-index: 2;
  }

  /* プール */
  .acc-box02 .acc-item > h4.atr-icon07:after {
    content: "";
    background: url("../svg/icon_pool.svg") no-repeat center center;
    background-size: cover;
    position: absolute;
    left: 19px;
    top: 50%;
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
    z-index: 2;
  }

  /* 屋内施設 */
  .acc-box02 .acc-item > h4.atr-icon08:after {
    content: "";
    background: url("../svg/icon_indoor.svg") no-repeat center center;
    background-size: cover;
    position: absolute;
    left: 19px;
    top: 50%;
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
    z-index: 2;
  }

  /* レストラン・売店 */
  .acc-box02 .acc-item > h4.atr-icon09:after {
    content: "";
    background: url("../svg/icon_eat.svg") no-repeat center center;
    background-size: cover;
    position: absolute;
    left: 19px;
    top: 50%;
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
    z-index: 2;
  }

  .acc-box02 .acc-item > h4.trail:after {
    content: "";
    background: url("../svg/icon_gondola.svg") no-repeat center center;
    background-size: cover;
    position: absolute;
    left: 13px;
    top: 50%;
    transform: translateY(-50%);
    width: 50px;
    height: 50px;
    z-index: 2;
  }

  .acc-box02 .acc-item > h4.mountain:after {
    content: "";
    background: url("../svg/icon_mountain.svg") no-repeat center center;
    background-size: cover;
    position: absolute;
    left: 13px;
    top: 50%;
    transform: translateY(-50%);
    width: 50px;
    height: 50px;
    z-index: 2;
  }

  .acc-box02 .acc-item > h4.eat:after {
    content: "";
    background: url("../svg/icon_mice-eat.svg") no-repeat center center;
    background-size: cover;
    position: absolute;
    left: 13px;
    top: 50%;
    transform: translateY(-50%);
    width: 50px;
    height: 50px;
    z-index: 2;
  }

  .acc-box02 .acc-item > h4.ski:after {
    content: "";
    background: url("../svg/icon_ski.svg") no-repeat center center;
    background-size: cover;
    position: absolute;
    left: 13px;
    top: 50%;
    transform: translateY(-50%);
    width: 50px;
    height: 50px;
    z-index: 2;
  }

  .acc-box02 .acc-item > h4.snob:after {
    content: "";
    background: url("../svg/icon_snowboard.svg") no-repeat center center;
    background-size: cover;
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    width: 50px;
    height: 50px;
    z-index: 2;
  }

  .acc-box02 .acc-item > h4.ski-we:after {
    content: "";
    background: url("../svg/icon_wear.svg") no-repeat center center;
    background-size: cover;
    position: absolute;
    left: 13px;
    top: 50%;
    transform: translateY(-50%);
    width: 50px;
    height: 50px;
    z-index: 2;
  }

  .acc-box02 .acc-item > h4.ques:after {
    content: "";
    background: url("../svg/icon_faq.svg") no-repeat center center;
    background-size: cover;
    position: absolute;
    left: 13px;
    top: 50%;
    transform: translateY(-50%);
    width: 50px;
    height: 50px;
    z-index: 2;
  }

  .acc-box02 .acc-item > h4.bus:after {
    content: "";
    background: url("../svg/icon_bus.svg") no-repeat center center;
    background-size: cover;
    position: absolute;
    left: 13px;
    top: 50%;
    transform: translateY(-50%);
    width: 50px;
    height: 50px;
    z-index: 2;
  }

  .acc-box02 .acc-item > h4.golf-play:after {
    content: "";
    background: url("../svg/icon_golf-play.svg") no-repeat center center;
    background-size: cover;
    position: absolute;
    left: 13px;
    top: 50%;
    transform: translateY(-50%);
    width: 50px;
    height: 50px;
    z-index: 2;
  }

  .acc-box02 .acc-item > h4.golf-ball:after {
    content: "";
    background: url("../svg/icon_golf-cup.svg") no-repeat center center;
    background-size: cover;
    position: absolute;
    left: 13px;
    top: 50%;
    transform: translateY(-50%);
    width: 50px;
    height: 50px;
    z-index: 2;
  }

  .acc-box02 .acc-item > h4.golf-comp:after {
    content: "";
    background: url("../svg/icon_golf_pass.svg") no-repeat center center;
    background-size: cover;
    position: absolute;
    left: 13px;
    top: 50%;
    transform: translateY(-50%);
    width: 50px;
    height: 50px;
    z-index: 2;
  }

  /* ゴルフ ホール */
  .acc-box02 .acc-item > h4.golf-hole:after {
    content: "";
    background: url("../svg/icon_golf-course.svg") no-repeat center center;
    background-size: cover;
    position: absolute;
    left: 13px;
    top: 50%;
    transform: translateY(-50%);
    width: 50px;
    height: 50px;
    z-index: 2;
  }

  /* テント */
  .acc-box02 .acc-item > h4.camp:after {
    content: "";
    background: url("../svg/icon_tent.svg") no-repeat center center;
    background-size: cover;
    position: absolute;
    left: 13px;
    top: 50%;
    transform: translateY(-50%);
    width: 50px;
    height: 50px;
    z-index: 2;
  }

  /* パス・チケット */
  .acc-box02 .acc-item > h4.pass:after {
    content: "";
    background: url("../img/winter-season-passes/pass-icon.svg") no-repeat
      center center;
    background-size: cover;
    position: absolute;
    left: 4px;
    top: 50%;
    transform: translateY(-50%) scale(0.8);
    width: 69px;
    height: 48px;
    z-index: 2;
  }

  /* 宿泊施設 */
  .acc-box02 .acc-item > h4.hotel:after {
    content: "";
    background: url("../svg/icon_educational.svg") no-repeat center center;
    background-size: cover;
    position: absolute;
    left: 13px;
    top: 50%;
    transform: translateY(-50%) scale(0.8);
    width: 50px;
    height: 50px;
    z-index: 2;
  }

  /* 施設 */
  .acc-box02 .acc-item > h4.facilities:after {
    content: "";
    background: url("../svg/icon_hotel.svg") no-repeat center center;
    background-size: cover;
    position: absolute;
    left: 13px;
    top: 50%;
    transform: translateY(-50%) scale(0.8);
    width: 50px;
    height: 50px;
    z-index: 2;
  }

  /* アクティビティ */
  .acc-box02 .acc-item > h4.activity:after {
    content: "";
    background: url("../svg/icon_activity.svg") no-repeat center center;
    background-size: cover;
    position: absolute;
    left: 13px;
    top: 50%;
    transform: translateY(-50%) scale(0.8);
    width: 50px;
    height: 50px;
    z-index: 2;
  }

  /* ひつじひろば */
  .acc-box02 .acc-item > h4.sheep:after {
    content: "";
    background: url("../svg/icon_sheep.svg") no-repeat center center;
    background-size: cover;
    position: absolute;
    left: 13px;
    top: 50%;
    transform: translateY(-50%) scale(0.8);
    width: 50px;
    height: 50px;
    z-index: 2;
  }

  /* スキースクール */
  .acc-box02 .acc-item > h4.school:after {
    content: "";
    background: url("../svg/icon_sking.svg") no-repeat center center;
    background-size: cover;
    position: absolute;
    left: 13px;
    top: 50%;
    transform: translateY(-50%) scale(0.8);
    width: 50px;
    height: 50px;
    z-index: 2;
  }

  /* ショップ */
  .acc-box02 .acc-item > h4.shop:after {
    content: "";
    background: url("../svg/icon_rental.svg") no-repeat center center;
    background-size: cover;
    position: absolute;
    left: 13px;
    top: 50%;
    transform: translateY(-50%) scale(0.8);
    width: 50px;
    height: 50px;
    z-index: 2;
  }

  /* インドアアクティビティ */
  .acc-box02 .acc-item > h4.indoor-activity:after {
    content: "";
    background: url("../svg/icon_indoor-active.svg") no-repeat center center;
    background-size: cover;
    position: absolute;
    left: 13px;
    top: 50%;
    transform: translateY(-50%) scale(0.8);
    width: 50px;
    height: 50px;
    z-index: 2;
  }

  /* アメニティ */
  .acc-box02 .acc-item > h4.amenity:after {
    content: "";
    background: url("../svg/icon_amenity.svg") no-repeat center center;
    background-size: cover;
    position: absolute;
    left: 13px;
    top: 50%;
    transform: translateY(-50%) scale(0.8);
    width: 50px;
    height: 50px;
    z-index: 2;
  }

  /* ウィンターアクティビティ */
  .acc-box02 .acc-item > h4.win-activity:after {
    content: "";
    background: url("../svg/icon_win-active.svg") no-repeat center center;
    background-size: cover;
    position: absolute;
    left: 13px;
    top: 50%;
    transform: translateY(-50%) scale(0.8);
    width: 50px;
    height: 50px;
    z-index: 2;
  }

  .acc-box02 .acc-item > h4 > i {
    width: 20px;
    height: 20px;
    position: absolute;
    right: 32px;
    top: 50%;
    transform: translateY(-50%);
  }

  .acc-box02 .acc-item > h4 > i:before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 100%;
    height: 2px;
    background: #1d315a;
  }

  .acc-box02 .acc-item > h4 > i:after {
    content: "";
    position: absolute;
    left: 50%;
    top: 0;
    transform: translateX(-50%);
    width: 2px;
    height: 100%;
    background: #1d315a;
    transition: 0.3s;
    opacity: 1;
  }

  .acc-box02 .acc-item h4.open i:after {
    opacity: 0;
  }

  .acc-box02 .acc-item-inner {
    display: none;
    padding-top: 32px;
    padding-bottom: 32px;
    position: relative;
  }

  .acc-box02 .acc-item-inner.open {
    display: block;
    padding-top: 48px;
    padding-bottom: 32px;
    position: relative;
  }

  .acc-box02 .acc-item-inner._col-2 {
    overflow: hidden;
  }

  .acc-box02 .acc-item-inner._col-2 div {
    width: 48.5%;
    float: left;
  }

  .acc-box02 .acc-item-inner._col-2 div + div {
    float: left;
    margin-left: 3%;
  }

  .acc-box02 .acc-item-inner._col-2 div li {
    width: 100%;
    margin-left: 0;
    margin-bottom: 0;
  }

  .acc-box02 .acc-item + .acc-item {
    margin-top: 8px;
  }

  .acc-box02 .acc-item-inner:before {
    content: "";
    width: 0;
    height: 0;
    border-left: 24.5px solid transparent;
    border-right: 24.5px solid transparent;
    border-top: 24.5px solid #f2f2f2;
    position: absolute;
    top: 0;
    left: 124px;
  }

  .faq-list .acc-item-inner {
    padding-left: 24px;
    padding-right: 24px;
  }

  .faq-list .acc-item-inner p a {
    text-decoration: underline;
  }

  .faq-list .acc-item-inner p a:hover {
    color: #1d315a;
  }

  /* 動画

---------------------------------------- */
  .movie-wrap {
    width: 100%;
    max-width: 1150px;
    position: relative;
    padding: 0;
    margin: 0 auto 0 auto;
  }

  .movie-wrap-inner {
    position: relative;
    padding-bottom: 56.25%; /*アスペクト比 16:9の場合の縦幅*/
    height: 0;
  }

  .movie-wrap iframe.movie {
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
  }

  .acc-btn01 {
    border: 0;
    outline: none;
    background-image: none;
    box-shadow: none;
    -webkit-appearance: none;
    appearance: none;
    border-radius: 0;
    position: relative;
    padding: 0 0 0 40px;
    margin-bottom: 24px;
    cursor: pointer;
    background-color: #fff;
    font-weight: bold;
    font-size: 18px;
    line-height: 26px;
    color: #1d315a;
    transition: 0.3s;
  }

  .acc-btn01:focus {
    outline: none;
  }

  .acc-btn01:hover {
    opacity: 0.7;
  }

  .acc-btn01 i:before {
    content: "";
    position: absolute;
    bottom: 50%;
    left: 0;
    width: 14px;
    height: 14px;
    border-top: 2px solid #1d315a;
    border-right: 2px solid #1d315a;
    transform: rotate(135deg) translateY(-50%);
    transition: 0.3s;
    -webkit-transition: 0.3s;
  }

  .acc-btn01.is-show i:before {
    bottom: 0;
    left: 8px;
    transform: rotate(-45deg) translateY(-50%);
  }

  /* リスト系

---------------------------------------- */

  .list-wrap01 {
    padding-inline-start: 0;
    display: flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    align-items: flex-start;
    -webkit-align-items: flex-start;
    -ms-flex-align: flex-start;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-bottom: 0;
    padding: 0;
  }

  .list-wrap01 + a {
    margin-top: 32px;
  }

  .list-wrap01 > li {
    width: 24%;
    margin-left: 1.3%;
    margin-top: 24px;
  }

  .list-wrap01 > li:nth-child(4n + 1) {
    margin-left: 0;
  }

  .list-wrap01 > li:nth-child(-n + 4) {
    margin-top: 0;
  }

  .list-wrap01 li figure img {
    width: 100%;
    position: relative;
  }

  .list-wrap01 li figure {
    margin: 0;
  }

  .list-wrap01 li figure a {
    display: block;
    transition: 0.3s;
  }

  .list-wrap01 li figure a:hover .item-title {
    color: #1d315a;
  }
  .list-wrap01 li a:hover figure .item-title {
    color: #1d315a;
  }

  .list-wrap01 li figcaption {
    margin-top: 8px;
  }

  .list-wrap01 li .item-title {
    font-weight: bold;
    font-size: 18px;
    line-height: 26px;
  }

  .list-wrap01 li .item-sub-title {
    display: block;
    font-size: 16px;
    line-height: 26px;
    font-weight: normal;
    color: #898989;
    margin-top: 8px;
  }

  .list-wrap01 li .item-status {
    display: block;
    font-size: 16px;
    line-height: 24px;
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
  }

  .list-wrap01 li .item-status.on {
    color: #ebc34a;
  }

  .list-wrap01 li .item-status.off {
    color: #898989;
  }

  .list-wrap01 li .item-img {
    position: relative;
    margin-bottom: 0;
  }

  .list-wrap01 li .reserve-type {
    position: absolute;
    right: 10px;
    bottom: 10px;
    word-break: keep-all;
    text-align: center;
    display: inline-block;
    border: 1px solid #fff;
    padding: 5px 10px;
    font-size: 12px;
    color: #fff;
  }

  .txt-list {
    width: 100%;
    max-width: 100%;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    align-items: flex-start;
    -webkit-align-items: flex-start;
    -ms-flex-align: flex-start;
    -moz-box-lines: multiple;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-bottom: 0;
    padding: 0;
  }

  .txt-list li {
    list-style: inside;
    font-size: 16px;
    line-height: 27px;
    vertical-align: bottom;
  }

  .txt-list li b {
    font-size: 14px;
    font-weight: normal;
  }

  .txt-list.col-3 li {
    width: 32%;
    margin-bottom: 24px;
  }

  .txt-list.col-3 li + li {
    margin-left: 2%;
  }

  .txt-list.col-3 li:nth-child(3n + 1) {
    margin-left: 0;
  }

  /* その他ナビゲーション

---------------------------------------- */
  .area-nav {
    width: 100%;
    max-width: 1150px;
    margin-top: 80px;
    margin-left: auto;
    margin-right: auto;
    padding: 0;
  }

  .area-nav + article {
    margin-top: 48px;
  }

  .area-nav ul {
    display: flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    align-items: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    padding-inline-start: 0;
  }

  .area-nav.colum-2 li {
    width: 50%;
  }

  .area-nav._col-3 li {
    width: 33.3%;
    padding: 0 2%;
  }

  .area-nav li {
    list-style: none;
    border-left: 1px solid #cccccc;
    padding: 0;
    position: relative;
    text-align: center;
  }

  .area-nav._col-4 li {
    width: 25%;
  }

  .dinning-txt-wrap .area-nav li:first-child {
    width: 23%;
  }

  .dinning-txt-wrap .area-nav li:nth-child(2) {
    width: 27%;
  }

  .dinning-txt-wrap .area-nav li:nth-child(3) {
    width: 17%;
  }

  .dinning-txt-wrap .area-nav li:nth-child(4) {
    width: 16.5%;
  }

  .dinning-txt-wrap .area-nav li:last-child {
    width: 16.5%;
  }

  .area-nav li:last-child {
    border-right: 1px solid #cccccc;
  }

  .area-nav li a {
    font-weight: bold;
    font-size: 16px;
    line-height: 14px;
    color: #000;
    transition: 0.3s;
    position: relative;
  }

  .dinning-txt-wrap .area-nav li a {
    word-break: keep-all;
  }

  .area-nav li a:hover {
    color: #1d315a;
  }

  .area-nav li:after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -14px;
    width: 0;
    height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 8px solid #898989;
    transform: translateX(-50%);
  }

  .page-nav01 {
    max-width: 1198px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 64px;
    padding-left: 24px;
    padding-right: 24px;
  }

  .page-nav01 ul {
    width: 100%;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    padding-left: 0;
  }

  .page-nav01 ul li {
    width: 20%;
    text-align: center;
    margin-bottom: 0;
    padding: 16px 0 24px 0;
    position: relative;
    border-left: 1px solid #cccccc;
  }

  .page-nav01 ul li:last-child {
    border-right: 1px solid #cccccc;
  }

  .page-nav01._col-2 li {
    width: 50%;
  }

  .page-nav01._col-3 li {
    width: 33.3%;
  }

  .page-nav01._col-4 li {
    width: 25%;
  }

  .page-nav01._col-6 li {
    width: 16.6%;
  }

  .page-nav01 ul li.active {
    color: #1d315a;
  }

  .page-nav01 ul li svg.img-svg path,
  .page-nav01 ul li svg.img-svg rect,
  .page-nav01 ul li svg.img-svg polygon {
    fill: #898989;
    transition: 0.3s;
  }
  .page-nav01 ul li a:hover svg.img-svg path,
  .page-nav01 ul li a:hover svg.img-svg rect,
  .page-nav01 ul li a:hover svg.img-svg polygon {
    opacity: 0.7;
  }

  .page-nav01 ul li svg.img-svg title {
    display: none;
  }

  .page-nav01 ul li.active svg.img-svg path,
  .page-nav01 ul li.active svg.img-svg rect,
  .page-nav01 ul li.active svg.img-svg polygon {
    fill: #1d315a;
  }

  .page-nav01 ul li.active:before {
    content: "";
    background: #1d315a;
    width: 100%;
    height: 8px;
    position: absolute;
    bottom: 0;
    left: 0;
  }

  .page-nav01 ul li.active b {
    color: #1d315a;
  }

  .page-nav01 ul li a:hover b {
    opacity: 0.7;
  }

  .page-nav01 ul li b {
    display: block;
    margin-top: 16px;
    font-size: 16px;
    line-height: 14px;
    font-weight: normal;
    color: #898989;
  }

  .page-nav01 ul li i {
    width: 60px;
    height: 60px;
    display: block;
    margin-left: auto;
    margin-right: auto;
  }

  .page-nav01 ul li i img,
  .page-nav01 ul li i svg {
    width: 60px;
    height: 60px;
  }

  .page-nav01 li .sub-cate-list {
    position: absolute;
    z-index: 2;
    top: 100%;
    left: 50%;
    display: none;
    width: auto;
    height: auto;
    white-space: nowrap;
    padding: 24px;
    transition: 0.3s;
    text-align: center;
    border-radius: 6px;
    background: #fff;
    box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.15);
    transform: translateX(-50%);
    border: 1px solid #cccccc;
    margin: 0;
  }

  .page-nav01 li.sub-cate:hover .sub-cate-list {
    display: block;
  }

  .page-nav01 li.sub-cate:hover span {
    background: #1d315a;
    color: #fff;
    border: 1px solid #1d315a;
  }

  .page-nav01 li.sub-cate:hover span:before {
    border-top-color: #fff;
  }

  .page-nav01 li .sub-cate-list .box-arrow {
    width: 100%;
    height: 21px;
    overflow: hidden;
    z-index: -1;
    position: absolute;
    left: 0;
    top: -21px;
  }

  .page-nav01 li .sub-cate-list .box-arrow:after {
    position: absolute;
    bottom: 0;
    left: 50%;
    margin-left: -20px;
    content: " ";
    border: 20px solid transparent;
    border-bottom-color: #fff;
    z-index: 2;
  }

  .page-nav01 li .sub-cate-list .box-arrow:before {
    position: absolute;
    bottom: 0;
    left: 50%;
    margin-left: -21px;
    content: " ";
    border: 21px solid transparent;
    border-bottom-color: #cccccc;
    z-index: 1;
  }

  .page-nav01 .sub-cate-list ul {
    display: block;
  }

  .page-nav01 .sub-cate-list li {
    text-align: left;
    margin-bottom: 0;
    border: none;
    padding: 0;
  }

  .page-nav01 .sub-cate-list li + li {
    margin-left: 0;
    margin-top: 8px;
    border: none;
  }

  .page-nav01 .sub-cate-list a {
    background: none;
    border: 0;
    border-radius: 0;
    padding: 0;
    font-size: 15px;
    padding: 0;
  }

  .page-nav01 .sub-cate-list a:hover {
    background: none;
    border: 0;
    color: #1d315a;
  }

  /* ニュース・イベント・ブログ・コラム一覧

---------------------------------------- */

  .section-inner.news-list-wrap,
  .section-inner.blog-list-wrap,
  .section-inner.events-list-item,
  .section-inner.column-list-item,
  .section-inner.mice-program-item {
    padding-left: 24px;
    padding-right: 24px;
    padding-bottom: 16px;
    position: relative;
  }

  .events-list-item + a.btn-basic,
  .article-list + .moreread {
    margin-top: 64px;
  }

  .news-list-wrap a,
  .blog-list-wrap a,
  .events-list-item a,
  .column-list-item a,
  .mice-program-item a,
  .events-list-item .inner {
    max-width: 1150px;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    align-items: flex-start;
    -webkit-align-items: flex-start;
    -ms-flex-align: flex-start;
    transition: 0.3s;
    margin-left: auto;
    margin-right: auto;
  }

  .news-list-wrap + .news-list-wrap,
  .blog-list-wrap + .blog-list-wrap,
  .events-list-item + .events-list-item,
  .column-list-item + .column-list-item,
  .mice-program-item + .mice-program-item {
    margin-top: 16px;
  }

  .news-list-wrap + .news-list-wrap a:before,
  .blog-list-wrap + .blog-list-wrap a:before,
  .events-list-item + .events-list-item a:before,
  .column-list-item + .column-list-item a:before,
  .mice-program-item + .mice-program-item a:before,
  .events-list-item + .events-list-item .inner:before {
    content: "";
    background: #cccccc;
    width: 96%;
    height: 1px;
    position: absolute;
    top: -16px;
    left: 50%;
    transform: translateX(-50%);
  }

  .article-list + .article-list .news-list-wrap:first-child,
  .article-list + .article-list .blog-list-wrap:first-child,
  .article-list + .article-list .events-list-item:first-child,
  .article-list + .article-list .column-list-item:first-child,
  .article-list + .article-list .mice-program-item:first-child {
    margin-top: 16px;
  }

  .article-list + .article-list .news-list-wrap:first-child a:before,
  .article-list + .article-list .blog-list-wrap:first-child a:before,
  .article-list + .article-list .events-list-item:first-child a:before,
  .article-list + .article-list .column-list-item:first-child a:before,
  .article-list + .article-list .mice-program-item:first-child a:before,
  .article-list + .article-list .events-list-item:first-child .inner:before {
    content: "";
    background: #cccccc;
    width: 96%;
    height: 1px;
    position: absolute;
    top: -16px;
    left: 50%;
    transform: translateX(-50%);
  }

  .news-list-wrap .txt-box,
  .blog-list-wrap .txt-box,
  .events-list-item .txt-box,
  .column-list-item .txt-box,
  .mice-program-item .txt-box {
    width: 77%;
    margin-left: 3%;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    -moz-box-lines: multiple;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    order: 2;
  }

  .column-list-item._single .txt-box,
  .blog-list-wrap._single .txt-box,
  .mice-program-item._single .txt-box,
  .news-list-wrap._single .txt-box {
    width: 100%;
    margin-left: 0;
  }

  .news-list-wrap .txt-box h3,
  .column-list-item .txt-box h3,
  .blog-list-wrap .txt-box h3,
  .mice-program-item .txt-box h3 {
    width: 100%;
    font-weight: bold;
    font-size: 20px;
    line-height: 1.4em;
    order: 1;
    margin-top: 16px;
  }

  .events-list-item .txt-box h4 {
    width: 100%;
    font-weight: bold;
    font-size: 20px;
    line-height: 1.4em;
    order: 1;
    margin-bottom: 8px;
  }

  .news-list-wrap .txt-box .date,
  .blog-list-wrap .txt-box .date,
  .column-list-item .txt-box .date,
  .mice-program-item .txt-box .date {
    width: 100%;
    order: 0;
    color: #898989;
    font-size: 16px;
    line-height: 26px;
    text-align: left;
    display: block;
    vertical-align: middle;
  }

  .events-list-item .txt-box .period {
    width: 100%;
    order: 1;
    color: #000;
    font-size: 16px;
    line-height: 1.4em;
    text-align: left;
    display: block;
    vertical-align: middle;
  }

  .news-list-wrap.new-item .txt-box .date:after,
  .blog-list-wrap.new-item .txt-box .date:after,
  .column-list-item.new-item .txt-box .date:after,
  .mice-program-item.new-item .txt-box .date:after {
    content: "NEW";
    display: inline-block;
    background: #ebc34a;
    color: #fff;
    font-family: "Montserrat", sans-serif;
    vertical-align: middle;
    font-size: 16px;
    line-height: 14px;
    margin-left: 16px;
    padding: 6px 8px;
    font-weight: 700;
  }

  .news-list-wrap .txt-box .news-info,
  .blog-list-wrap .txt-box .blog-info,
  .events-list-item .txt-box .events-info,
  .column-list-item .txt-box .column-info,
  .mice-program-item .txt-box .program-info {
    width: 100%;
    font-size: 14px;
    line-height: 1.6em;
    color: #898989;
    order: 2;
    margin-top: 8px;
    margin-bottom: 0;
  }

  .news-list-wrap .img-box,
  .blog-list-wrap .img-box,
  .events-list-item .img-box,
  .column-list-item .img-box,
  .mice-program-item .img-box {
    width: 20%;
    order: 1;
  }

  .news-list-wrap .img-box img,
  .blog-list-wrap .img-box img,
  .events-list-item .img-box img,
  .column-list-item .img-box img,
  .mice-program-item .img-box img {
    width: 100%;
  }

  .news-list-wrap a:hover h3,
  .blog-list-wrap a:hover h3,
  .events-list-item a:hover h4,
  .column-list-item a:hover h3,
  .mice-program-item a:hover h3 {
    color: #1d315a;
    text-decoration: underline;
  }

  .page-nav,
  ul.page-numbers {
    max-width: 1150px;
    margin: 64px auto 0 auto;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    align-items: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
  }

  .page-nav .page-numbers,
  ul.page-numbers .page-numbers {
    background: #f2f2f2;
    text-align: center;
    padding: 8px 12px;
    color: #1d315a;
    font-size: 16px;
    position: relative;
    vertical-align: middle;
  }

  .page-nav li + li,
  ul.page-numbers li + li {
    margin-left: 2%;
  }

  .page-nav a.page-numbers,
  ul.page-numbers a.page-numbers {
    transition: 0.3s;
  }

  .page-nav a.page-numbers:hover,
  ul.page-numbers a.page-numbers:hover {
    background: #1d315a;
    color: #fff;
  }

  .page-nav span.current,
  ul.page-numbers span.current {
    background: #1d315a;
    color: #fff;
  }

  .page-nav a.prev,
  .page-nav a.next,
  ul.page-numbers a.prev,
  ul.page-numbers a.next {
    color: #f2f2f2;
  }

  .page-nav .prev.page-numbers:hover,
  .page-nav .next.page-numbers:hover,
  ul.page-numbers .prev.page-numbers:hover,
  ul.page-numbers .next.page-numbers:hover {
    color: #1d315a;
  }

  .page-nav a.next:before,
  ul.page-numbers a.next:before {
    content: "";
    width: 15px;
    height: 15px;
    border-top: 2.5px solid #1d315a;
    border-right: 2.5px solid #1d315a;
    transform: rotate(45deg) translateY(-50%);
    position: absolute;
    top: 13px;
    right: 18px;
    transition: 0.3s;
  }

  .page-nav a.prev:before,
  ul.page-numbers a.prev:before {
    content: "";
    width: 15px;
    height: 15px;
    border-top: 2.5px solid #1d315a;
    border-right: 2.5px solid #1d315a;
    transform: rotate(-135deg) translateY(-50%);
    position: absolute;
    top: 3px;
    left: 20px;
    transition: 0.3s;
  }

  .page-nav a.next:hover:before,
  .page-nav a.prev:hover:before,
  ul.page-numbers a.next:hover:before,
  ul.page-numbers a.prev:hover:before {
    border-top: 2.5px solid #fff;
    border-right: 2.5px solid #fff;
  }

  /* 記事テンプレート

---------------------------------------- */

  section.detail .date {
    font-size: 16px;
    line-height: 26px;
    color: #898989;
  }

  section.detail h1 {
    font-weight: bold;
    font-size: 30px;
    line-height: 1.4em;
    margin-bottom: 0;
  }

  section.detail > .read {
    margin-top: 64px;
    overflow: hidden;
  }

  section.detail > .read + .movie-wrap {
    margin-top: 80px;
  }

  section.detail > .read p {
    font-size: 16px;
    line-height: 1.6em;
    margin-bottom: 0;
  }

  section.detail > .read p img {
    margin-bottom: 16px;
  }

  section.detail > .read h2 {
    font-weight: bold;
    font-size: 26px;
    line-height: 30px;
    margin-bottom: 0;
  }

  section.detail > .read h3 {
    font-weight: bold;
    font-size: 24px;
    line-height: 26px;
    border-left: #1d315a solid 10px;
    padding-left: 16px;
    margin-bottom: 0;
  }

  section.detail > .read h4 {
    font-weight: bold;
    font-size: 20px;
    line-height: 26px;
    border-left: #ebc34a solid 10px;
    padding-left: 16px;
    margin-bottom: 0;
  }

  section.detail > .read h5 {
    font-weight: bold;
    font-size: 20px;
    line-height: 26px;
    margin-bottom: 0;
  }

  section.detail > .read h6 {
    font-weight: bold;
    font-size: 18px;
    line-height: 26px;
    margin-bottom: 0;
  }

  section.detail > .read h2 + p {
    margin-top: 16px;
  }

  section.detail > .read h3 + p,
  section.detail > .read h4 + p,
  section.detail > .read h5 + p,
  section.detail > .read h6 + p,
  section.detail > .read h2 + h3,
  section.detail > .read h3 + h4,
  section.detail > .read h4 + h5,
  section.detail > .read h5 + h6 {
    margin-top: 16px;
  }

  section.detail > .read p + a,
  section.detail > .read p + ul,
  section.detail > .read p + ol,
  section.detail > .read ul + a,
  section.detail > .read ol + a,
  section.detail > .read ul + p,
  section.detail > .read ol + p,
  section.detail > .read ul + ol,
  section.detail > .read p + blockquote,
  section.detail > .read a + blockquote,
  section.detail > .read ul + blockquote,
  section.detail > .read ol + blockquote,
  section.detail > .read blockquote + p,
  section.detail > .read blockquote + a section.detail > .read blockquote + ul,
  section.detail > .read blockquote + ol,
  section.detail > .read h2 + img,
  section.detail > .read h3 + img,
  section.detail > .read h4 + img,
  section.detail > .read h5 + img,
  section.detail > .read h6 + img,
  section.detail > .read img + p,
  section.detail > .read img + ul,
  section.detail > .read img + ol {
    margin-top: 24px;
  }

  section.detail > .read p + h2,
  section.detail > .read p + h3,
  section.detail > .read p + h4,
  section.detail > .read p + h5,
  section.detail > .read p + h6,
  section.detail > .read a + h2,
  section.detail > .read a + h3,
  section.detail > .read a + h4,
  section.detail > .read a + h5,
  section.detail > .read a + h6,
  section.detail > .read img + img,
  section.detail > .read p + img,
  section.detail > .read ul + img,
  section.detail > .read ol + img {
    margin-top: 64px;
  }

  section.detail > .read img.size-full {
    width: 100%;
    height: auto;
  }

  section.detail > .read img.size-thumbnail {
    width: auto;
    max-width: 150px;
    height: auto;
    max-height: 150px;
  }

  section.detail > .read img.size-medium {
    width: auto;
    max-width: 300px;
    height: auto;
    max-height: 300px;
  }

  section.detail > .read img.size-large {
    width: auto;
    max-width: 1024px;
    height: auto;
    max-height: 638px;
  }

  section.detail > .read img.aligncenter {
    display: block;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
  }

  section.detail > .read img.alignright {
    display: block;
    float: right;
    clear: both;
  }

  section.detail > .read img.alignleft {
    display: block;
    float: left;
    clear: both;
  }

  section.detail > .read a {
    font-size: 16px;
    line-height: 18px;
  }

  section.detail > .read a.btn-basic,
  section.detail > .read a.btn-entry {
    line-height: 40px;
  }

  section.detail > .read p + a.btn-basic,
  section.detail > .read p + a.btn-entry {
    margin-top: 40px;
  }

  section.detail > .read a.btn-basic:after,
  section.detail > .read a.btn-entry:after {
    display: none;
  }

  section.detail > .read a:hover {
    color: #1d315a;
  }

  section.detail > .read a.btn-entry:hover {
    color: #fff;
  }

  section.detail > .read a.arr-link:after {
    content: "";
    display: inline-block;
    width: 8px;
    height: 8px;
    border-top: 2px solid #000;
    border-right: 2px solid #000;
    transform: rotate(45deg);
    position: relative;
    top: -2px;
    margin-left: 8px;
  }

  section.detail > .read a.arr-link:hover:after {
    border-color: #1d315a;
  }

  section.detail > .read a.pdf-link:after {
    content: "";
    display: inline-block;
    width: 20px;
    height: 20px;
    border: none;
    background: url("../img/common/pdf-icon.png") no-repeat center center;
    background-size: cover;
    position: relative;
    top: 4px;
    margin-left: 8px;
    transform: rotate(0deg);
  }

  section.detail > .read iframe.movie {
    display: block;
    margin-left: auto;
    margin-right: auto;
  }

  section.detail > .read p + iframe.movie,
  section.detail > .read a + iframe.movie {
    margin-top: 80px;
  }

  section.detail > .read strong {
    font-weight: bold;
    font-size: 18px;
    line-height: 1.4em;
    margin-bottom: 0;
  }

  section.detail > .read strong + br {
    margin-bottom: 16px;
  }

  section.detail > .read em {
    font-size: 18px;
    line-height: 1.4em;
    margin-bottom: 0;
  }

  section.detail > .read ul {
    margin-bottom: 0;
    padding: 0;
  }

  section.detail > .read ol {
    padding-left: 18px;
    margin-bottom: 0;
  }

  section.detail > .read ul li {
    margin-bottom: 0;
    list-style: inside;
    font-size: 16px;
    line-height: 27px;
  }

  section.detail > .read ol li {
    margin-bottom: 0;
    list-style: decimal;
    font-size: 16px;
    line-height: 27px;
  }

  section.detail > .read blockquote {
    color: #898989;
    font-size: 16px;
    line-height: 18px;
  }

  section.detail > .read blockquote:before {
    content: "“";
    display: inline-block;
  }

  section.detail > .read blockquote:after {
    content: "”";
    display: inline-block;
  }

  section.detail > .read hr {
    margin: 64px 0;
  }

  section.detail > .read del {
    font-size: 16px;
    line-height: 1.8em;
  }

  /* 画像

------------------------------- */

  .img-box-full {
    width: 100%;
    padding: 0;
  }

  .img-box-full img {
    width: 100%;
  }

  .img-box-lg {
    width: 100%;
  }

  .img-box-lg + .ttl-txt-box01 {
    margin-top: 24px;
  }

  .img-box-lg img {
    width: 100%;
  }

  .img-box-mid {
    width: 100%;
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
  }

  .img-box-mid img {
    width: 100%;
  }

  .img-box-full + div,
  .img-box-full + section,
  .img-box-full + p,
  .img-box-full + ul {
    margin-top: 24px;
  }

  /* テーブル

---------------------------------------- */

  .table-wrap01 {
    width: 100%;
  }

  .table-wrap01._sp-w400 tr:first-child th {
    width: 7%;
  }

  .table-wrap01._small {
    width: 100%;
    max-width: 400px;
  }

  .table-wrap01 tr:first-child {
    border-bottom: 2px solid #898989;
  }

  .table-wrap01._type02 tr:first-child {
    border-bottom: none;
  }

  .table-wrap01._type02 tr:first-child th:first-child {
    vertical-align: middle;
  }

  .table-wrap01._type02 tr:first-child th {
    padding-bottom: 0;
  }

  .table-wrap01._type02 tr:first-child th + th,
  .table-wrap01._type02 tr:nth-child(2) th {
    text-align: center;
  }

  .table-wrap01._type02 td {
    text-align: center;
  }

  .table-wrap01._type02 tr:nth-child(2) {
    border-bottom: none;
  }

  .table-wrap01._type02 tr:nth-child(3) {
    border-top: 2px solid #898989;
  }

  .table-wrap01._type03 td + td,
  .table-wrap01._type03 tr + tr th + td {
    border-left: 1px solid #cccccc;
  }

  .table-wrap01 tr + tr {
    border-bottom: 1px solid #ccc;
  }

  .table-wrap01 td,
  .table-wrap01 th {
    padding: 16px;
    vertical-align: top;
    font-size: 16px;
    line-height: 26px;
  }

  .table-wrap01 td b._small,
  .table-wrap01 th b._small {
    font-size: 14px;
    display: block;
  }

  .table-wrap01 a._arr i {
    position: relative;
    width: 10px;
    height: 10px;
    top: 13px;
    margin-left: 8px;
  }

  .table-wrap01 a._arr i:before {
    content: "";
    width: 0;
    height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 8px solid #898989;
  }

  .table-wrap01 a._arr:hover {
    color: #1d315a;
  }

  .table-wrap01 a._arr:hover i:before {
    border-top: 8px solid #1d315a;
  }

  .table-wrap02 {
    width: 100%;
  }

  .table-wrap02 tr:first-child {
    border-top: 1px solid #ccc;
  }

  .table-wrap02 tr:last-child {
    border-bottom: 1px solid #ccc;
  }

  .table-wrap02 tr + tr {
    border-top: 1px solid #ccc;
  }

  .table-wrap02 td,
  .table-wrap02 th {
    padding: 16px;
    vertical-align: top;
    font-size: 16px;
    line-height: 26px;
  }

  .table-wrap02 td b,
  .table-wrap02 th b {
    display: block;
    font-size: 14px;
    line-height: 36px;
    color: #898989;
    font-weight: normal;
  }

  /* 営業カレンダー

---------------------------------------- */

  .celender-wrap .ttl-txt03 {
    margin-top: 80px;
    margin-bottom: 24px;
  }

  .celender-wrap .calender-box {
    width: 100%;
    text-align: center;
    margin-top: 24px;
  }

  .celender-wrap .pq-calendar-picker-area {
    width: 100%;
    position: relative;
  }

  .celender-wrap .pq-calendar-picker-m-prev-area {
    position: absolute;
    left: 4px;
    top: 0;
  }

  .celender-wrap .pq-calendar-picker-m-prev-area a:before,
  .celender-wrap .pq-calendar-picker-y-prev-area a:before {
    content: "";
    display: inline-block;
    width: 100%;
    height: 100%;
    border-bottom: 4px solid #000;
    border-left: 4px solid #000;
    transform: rotate(45deg);
  }

  .celender-wrap .pq-calendar-picker-m-next-area {
    position: absolute;
    right: 4px;
    top: 0;
  }

  .celender-wrap .pq-calendar-picker-m-next-area a:before,
  .celender-wrap .pq-calendar-picker-y-next-area a:before {
    content: "";
    display: inline-block;
    width: 100%;
    height: 100%;
    border-top: 4px solid #000;
    border-right: 4px solid #000;
    transform: rotate(45deg);
  }

  .celender-wrap .pq-calendar-picker-m-prev-area a,
  .celender-wrap .pq-calendar-picker-m-next-area a,
  .celender-wrap .pq-calendar-picker-y-prev-area a,
  .celender-wrap .pq-calendar-picker-y-next-area a {
    color: #fff;
    display: block;
    width: 16px;
    height: 16px;
  }

  .celender-wrap .pq-calendar-picker-y-prev-area {
    display: none;
    position: absolute;
    left: 4px;
    top: -28px;
  }

  .celender-wrap .pq-calendar-picker-y-next-area {
    display: none;
    position: absolute;
    right: 4px;
    top: -28px;
  }

  .celender-wrap .pq-calendar-y-area {
    text-align: center;
    font-weight: bold;
    font-size: 22px;
    line-height: 26px;
  }

  .celender-wrap .pq-calendar-m-area {
    text-align: center;
    font-weight: bold;
    font-size: 22px;
    line-height: 26px;
  }

  .celender-wrap .pq-calendar-area {
    width: 100%;
    margin-top: 16px;
    border: 1px solid #cccccc;
  }

  .celender-wrap .wpc_week {
    background: #cccccc;
  }

  .celender-wrap .wpc_week,
  .celender-wrap .wpc_day {
    padding: 0;
    margin-bottom: 0;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
  }

  .celender-wrap .wpc_week li,
  .celender-wrap .wpc_day li {
    width: 14.28%;
  }

  .celender-wrap .wpc_week li + li,
  .celender-wrap .wpc_day li + li {
    border-left: 1px solid #cccccc;
  }

  .celender-wrap .wpc_week li {
    color: #fff;
    font-weight: bold;
    font-size: 20px;
    line-height: 1em;
    text-align: center;
    padding: 8px 0;
  }

  .celender-wrap .wpc_day li {
    padding: 16px 10px;
    position: relative;
  }

  .celender-wrap .wpc_day + .wpc_day {
    border-top: 1px solid #cccccc;
  }

  .celender-wrap .pqc-date {
    position: relative;
    padding-bottom: 32px;
    margin-bottom: 0;
  }

  .celender-wrap .pqc-time-list {
    margin-top: 0;
  }

  .celender-wrap .pqc-time {
    font-weight: normal;
    font-size: 16px;
    line-height: 18px;
    text-align: center;
    color: #898989;
  }

  .celender-wrap li .pqc-morning {
    font-weight: normal;
    font-size: 16px;
    line-height: 18px;
    text-align: center;
    color: #898989;
    display: block;
  }

  .celender-wrap li .pqc-sunset {
    font-weight: normal;
    font-size: 16px;
    line-height: 18px;
    text-align: center;
    color: #898989;
    display: block;
  }

  .celender-wrap li .pqc-final {
    font-weight: normal;
    font-size: 14px;
    line-height: 18px;
    text-align: center;
    color: #898989;
    display: block;
  }

  .celender-wrap li .pqc-final .up-arrow:before {
    width: 12px;
    height: 12px;
    display: inline-block;
    background: url("../img/common/up-arrow.png") no-repeat center center;
    background-size: cover;
    margin: 0 2px;
    content: "";
  }

  .celender-wrap li .pqc-final .down-arrow:before {
    width: 12px;
    height: 12px;
    display: inline-block;
    background: url("../img/common/down-arrow.png") no-repeat center center;
    background-size: cover;
    margin: 0 2px;
    content: "";
  }

  .celender-wrap li.closed {
    background: #f2f2f2;
  }

  .celender-wrap li.closed .pqc-time {
    color: #a44949;
  }

  .celender-wrap li .pqc-day {
    font-weight: bold;
    font-size: 24px;
    line-height: 14px;
    text-align: center;
    position: absolute;
    left: -8px;
    top: 0;
    width: 40px;
    height: 40px;
  }

  .celender-wrap li.today .pqc-day {
    color: #fff;
    z-index: 1;
  }

  .celender-wrap li.today .pqc-day:after {
    content: "";
    background: #ebc34a;
    border-radius: 50%;
    position: absolute;
    z-index: -1;
    left: 50%;
    top: 20%;
    transform: translate(-50%, -50%);
    width: 40px;
    height: 40px;
  }

  .celender-wrap .pqc-car {
    position: absolute;
    right: 16px;
    top: 8px;
  }

  .celender-wrap .pqc-car svg {
    width: 32px;
    height: 32px;
  }

  .celender-wrap .pqc-flight {
    position: absolute;
    right: 16px;
    top: 8px;
    margin: 0;
  }

  .celender-wrap .pqc-flight .pqc-am,
  .celender-wrap .pqc-flight .pqc-pm {
    background: #898989;
    color: #fff;
    font-size: 10px;
    line-height: 1em;
    padding: 4px;
  }

  .celender-wrap .pqc-flight span + span {
    margin-left: 4px;
  }

  .celender-wrap p.txt-alg-r i.up-arrow {
    display: inline-block;
    width: 12px;
    height: 12px;
    background: url("../img/common/up-bk-arrow.png") no-repeat center center;
    background-size: cover;
    margin: 0 4px;
  }

  .celender-wrap p.txt-alg-r i.down-arrow {
    display: inline-block;
    width: 12px;
    height: 12px;
    background: url("../img/common/down-bk-arrow.png") no-repeat center center;
    background-size: cover;
    margin: 0 4px;
  }

  /* ----------------------------------------

Lityの表示設定

---------------------------------------- */

  body._lity .lity-close {
    position: absolute;
    right: -40px;
    top: -40px;
  }

  body._lity .lity {
    z-index: 9999999;
  }

  body._lity02 .lity-close {
    position: absolute;
    right: 15px;
    top: 80px;
  }

  body._lity02 .lity {
    z-index: 9999999;
  }
}

/* -------------------------------- PC版のスタイルここまで ------------------------------------*/

/* -------------------------------- SP版のスタイルここから ------------------------------------*/

@media screen and (max-width: 750px) {
  /* ----------------------------------------

全体

---------------------------------------- */

  body.is-locked {
    position: fixed;
    width: 100%;
  }

  main.lity-hidden {
    position: fixed;
    width: 100%;
  }

  footer.lity-hidden {
    position: fixed;
    width: 100%;
    bottom: 0;
  }

  /* PC・SPの表示切り替え

------------------------------- */
  .pc {
    display: none !important;
  }
  .sp {
    display: block !important;
  }

  p + p {
    margin-top: 16px;
  }

  p + div,
  p + ul,
  section + ul,
  ul + p,
  p + section,
  section + a,
  div + a,
  section + p,
  div + p,
  p + div,
  p + h4,
  p + h5,
  div + h4,
  div + h5 {
    margin-top: 24px;
  }

  a + h4,
  a + h5,
  div + section {
    margin-top: 40px;
  }

  ul + h4,
  ul + h5,
  ol + a {
    margin-top: 32px;
  }

  /* メインコンテンツ

------------------------------- */

  main {
    width: 100%;
    margin: 0;
    padding: 0 0 120px 0;
    position: relative;
    background: url("../img/common/contents-bt-bg.svg") no-repeat right bottom;
    background-size: contain;
    overflow: hidden;
  }

  main.hd-navy {
    margin-top: 78px;
    padding-top: 80px;
  }

  main.bg-gray {
    background: #fff;
    padding: 0;
  }

  main > article.bg-gray01:last-child {
    padding-bottom: 40px;
  }

  main > article + article.article02 {
    margin-top: 32px;
  }

  main > article + article {
    margin-top: 56px;
  }

  main._home > article + article {
    margin-top: 80px;
  }

  main article.article03 {
    margin-top: 80px;
    margin-bottom: 80px;
  }

  main .bg-wh {
    background: #fff;
  }

  main .bg-gray01 {
    background: #f2f2f2;
  }

  main .bg-gray02 {
    background: #f2f2f2 url("../img/common/contents-bt-bg.svg") no-repeat right
      bottom;
    background-size: contain;
    padding: 72px 0 120px 0;
    position: relative;
  }

  main .bg-gray02:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 32px 100vw;
    border-color: transparent transparent #fff transparent;
    transform: rotate(180deg);
  }

  main .bg-gray03 {
    background: #f2f2f2;
    padding: 72px 0 54px 0;
    position: relative;
  }

  main article.bg-gray03._last {
    margin-bottom: 80px;
  }

  main .bg-gray03:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 32px 100vw;
    border-color: transparent transparent #fff transparent;
    transform: rotate(180deg);
  }

  main .bg-gray03:after {
    content: "";
    position: absolute;
    bottom: -32px;
    left: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 32px 100vw;
    border-color: transparent transparent #f2f2f2 transparent;
    transform: rotateX(180deg);
  }

  .bg-gray03 > .ttl-txt02 {
    margin-top: 0;
  }

  main .bg-gray03 .ttl-txt02 {
    margin-top: 16px;
  }

  main .section-inner {
    margin-left: auto;
    margin-right: auto;
    padding-left: 16px;
    padding-right: 16px;
  }

  main .section-inner-full {
    margin-left: auto;
    margin-right: auto;
    padding-left: 16px;
    padding-right: 16px;
  }

  article.bg-gray01 {
    padding: 32px 0;
  }

  main .bg-gray01 p + .slick-wrap {
    margin-top: 24px;
  }

  section + section,
  section + iframe,
  iframe + .weather-info-wrap {
    margin-top: 32px;
  }

  #information-frame {
    width: calc(100% - 32px);
    border: none;
    margin-left: 16px;
    margin-right: 16px;
    box-shadow: 0px 5px 4px rgba(0, 0, 0, 0.15);
  }

  main .bg-gray01 .ttl-txt02 {
    margin-top: 0;
    word-break: break-all;
    margin-bottom: 24px;
  }

  #information-frame + article {
    margin-top: 56px;
  }

  /* ----------------------------------------

ヘッダー

---------------------------------------- */

  header {
    width: 100%;
    height: 60px;
    background: url("../img/common/header-bg.png") repeat-x top;
    background-size: contain;
    color: #fff;
    margin: 0;
    padding: 0;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999999;
  }

  body.hd-bg-navy header {
    background: #1d315a;
    color: #fff;
    margin: 0;
    padding: 0;
  }

  header.is-animation {
    background: #fff;
    color: #1d315a;
    margin: 0;
    padding: 0;
    box-shadow: 0 3px 2px -2px rgba(0, 0, 0, 0.3);
  }

  body.hd-bg-navy header.is-animation {
    background: #fff;
    color: #1d315a;
    box-shadow: 0 3px 2px -2px rgba(0, 0, 0, 0.3);
  }

  .header-inner {
    width: 100%;
    height: 60px;
    margin: 0 auto;
    padding: 0;
    position: relative;
  }

  .header-inner h1 {
    width: 150px;
    margin: 0;
    padding: 0;
    position: absolute;
    left: 16px;
    top: 8px;
  }

  .header-inner h1 a.hd-logo {
    margin: 0;
    padding: 0;
  }

  .header-inner h1 a.hd-logo img {
    width: 100%;
  }

  .drawer {
    position: fixed;
    width: 60px;
    height: 60px;
    padding: 0;
    z-index: 9999999;
    right: 0;
    top: 0;
  }

  .drawer.mm-page {
    position: fixed;
    width: 60px;
    height: 60px;
    padding: 0;
    z-index: 999;
    right: 0;
    top: 0;
  }

  .drawer.mm-slideout {
    transform: translate3d(0, 0, 0);
    z-index: 9999999;
    right: 0;
    top: 0;
  }

  .mm-wrapper_opening .mm-menu_opened ~ .drawer.mm-slideout {
    transform: translate3d(0, 0, 0);
  }

  .close_toggle {
    position: absolute;
    z-index: 9999;
    width: 60px;
    height: 60px;
    right: 0;
    top: 0;
  }

  .close_toggle_icon {
    position: relative;
    display: block;
    height: 2px;
    width: 22px;
    background: #fff;
    -webkit-transition: ease 0.5s;
    transition: ease 0.5s;
    border-radius: 1px;
    transform: translateX(-50%);
    left: 50%;
  }

  .close_toggle_icon:nth-child(1) {
    transform: rotate(45deg);
    background: #333;
    top: 28px;
    left: 20px;
    position: absolute;
  }

  .close_toggle_icon:nth-child(2) {
    transform: rotate(-45deg) translateX(-50%);
    background: #333;
    top: 20px;
    left: 28px;
    position: absolute;
  }

  .sp-menu .mm-btn_close:before,
  .sp-menu .mm-btn_close:after {
    display: none;
  }

  .mm-wrapper_opened .drawer.mm-page {
    min-height: 60px;
  }

  .navbar_toggle {
    position: absolute;
    z-index: 999;
    width: 60px;
    height: 60px;
    right: 0;
    top: 0;
  }

  .navbar_toggle_icon {
    position: relative;
    display: block;
    height: 2px;
    width: 22px;
    background: #fff;
    -webkit-transition: ease 0.5s;
    transition: ease 0.5s;
    border-radius: 1px;
    transform: translateX(-50%);
    left: 50%;
  }

  .drawer.is-animation .navbar_toggle_icon {
    background: #1d315a;
  }

  .navbar_toggle_icon:nth-child(1) {
    top: 22px;
  }

  .navbar_toggle_icon:nth-child(2) {
    top: 18px;
    margin: 8px 0;
  }

  .navbar_toggle_icon:nth-child(3) {
    top: 14px;
  }

  /* グローバルナビ

------------------------------- */
  #gNav {
    display: none;
  }

  .sp-menu.mm-menu_offcanvas:not(.mm-menu_opened) {
    transition: 0.4s;
    width: 100%;
    left: auto;
    right: -100%;
    display: block;
    opacity: 0;
  }

  .sp-menu.mm-menu_offcanvas.mm-menu_opened {
    left: auto;
    right: 0;
    width: 100%;
    height: 100%;
    transition: 0.4s;
    opacity: 1;
    -webkit-overflow-scrolling: touch;
  }

  .sp-menu .mm-navbar > * {
    min-height: 60px;
  }

  .sp-menu.mm-menu_offcanvas {
    z-index: 99999999;
    right: -100%;
  }

  .sp-menu .mm-listitem:after {
    width: 92%;
    left: 50%;
    transform: translateX(-50%);
    border-color: #cccccc;
  }

  .sp-menu .mm-listitem > div > ul > li.mm-listitem:after {
    display: none;
  }

  .sp-menu .mm-navbar {
    display: block;
  }

  .sp-menu .mm-navbar__btn:not(.mm-hidden) + .mm-navbar__title:last-child {
    padding-right: 0;
    min-height: auto;
    text-align: left;
    padding-left: 16px;
    line-height: 60px;
    font-weight: bold;
    color: #333;
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium",
      "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
    font-size: 18px;
    position: relative;
    margin-bottom: 0;
  }

  .sp-menu
    .mm-navbar__btn:not(.mm-hidden)
    + .mm-navbar__title:last-child:after {
    content: "";
    border-bottom-width: 1px;
    border-bottom-style: solid;
    display: block;
    position: absolute;
    left: 50%;
    right: 0;
    bottom: 0;
    width: 92%;
    transform: translateX(-50%);
    border-color: #cccccc;
  }

  .sp-menu .mm-navbar__title {
    margin-bottom: 0;
  }

  .sp-menu .mm-navbar__btn:not(.mm-hidden) + .mm-navbar__title {
    display: block;
    margin-bottom: 0;
  }

  .sp-menu .mm-btn.mm-btn_prev.mm-navbar__btn:after {
    content: "BACK";
    border: none;
    position: absolute;
    left: 50px;
    font-weight: bold;
  }

  .sp-menu .mm-listitem__text {
    padding-left: 16px;
  }

  .sp-menu .mm-panels,
  .sp-menu .mm-panel,
  .sp-menu .mm-navbar,
  .sp-menu .mm-listview {
    background: #fff;
  }

  .sp-menu .mm-panels {
    overflow-y: scroll;
    height: 100%;
    -webkit-overflow-scrolling: touch;
    opacity: 0;
  }

  .sp-menu.mm-menu_offcanvas.mm-menu_opened .mm-panels {
    opacity: 1;
  }

  .sp-menu .mm-listview {
    height: 100%;
    overflow: hidden;
    -webkit-overflow-scrolling: touch;
  }

  .sp-menu .mm-navbar {
    border-bottom: none;
  }

  .sp-menu.mm-menu a,
  .sp-menu.mm-menu a:active,
  .sp-menu.mm-menu a:hover,
  .sp-menu.mm-menu a:link,
  .sp-menu.mm-menu a:visited {
    color: #333;
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium",
      "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
    font-size: 18px;
    padding-top: 16px;
    padding-bottom: 16px;
  }

  .sp-menu.mm-menu .mm-listitem {
    background: #fff;
  }

  .sp-menu .mm-btn:after,
  .sp-menu .mm-btn:before {
    border: none;
  }

  .sp-menu .mm-btn:after {
    width: 2px;
    height: 14px;
    background: #333;
    transition: 0.3s;
    opacity: 1;
  }

  .sp-menu .mm-btn + div > ul > li a.mm-btn:after {
    width: 1px;
    right: 23.5px;
  }

  .sp-menu .mm-btn:before {
    width: 14px;
    height: 2px;
    background: #333;
    transition: 0.3s;
    content: "";
    position: absolute;
    top: 50%;
    right: 17px;
    transform: translateY(-50%);
  }

  .sp-menu .mm-btn + div > ul > li a.mm-btn:before {
    height: 1px;
  }

  .sp-menu .mm-listitem_opened > .mm-listitem__btn:after {
    transform: rotate(0deg);
    right: 23px;
    opacity: 0;
  }

  .sp-menu .mm-btn_next:after {
    transform: rotate(0deg);
  }

  .sp-menu .mm-btn.mm-btn_next.mm-listitem__btn {
    font-weight: bold;
  }

  .sp-menu
    .mm-btn.mm-btn_next.mm-listitem__btn
    + div
    > ul
    > li
    a.mm-listitem__text {
    font-weight: normal;
    font-size: 16px;
    padding-top: 12px;
    padding-bottom: 12px;
  }

  .sp-menu
    .mm-btn.mm-btn_next.mm-listitem__btn
    + div
    > ul
    > li
    a.mm-btn.mm-btn_next.mm-listitem__btn {
    font-weight: normal;
    font-size: 16px;
    padding-top: 12px;
    padding-bottom: 12px;
  }

  .sp-menu
    .mm-btn.mm-btn_next.mm-listitem__btn
    + div
    > ul
    > li
    a
    + div
    > ul
    > li
    a.mm-listitem__text {
    font-weight: normal;
    font-size: 14px;
    padding-top: 12px;
    padding-bottom: 12px;
  }

  .sp-menu
    .mm-listitem.mm-listitem_opened
    > .mm-btn.mm-btn_next.mm-listitem__btn {
    color: #1d315a;
  }

  .sp-menu .mm-panel {
    overflow: auto;
  }

  .sp-menu .mm-listitem_opened > .mm-listitem__btn,
  .mm-listitem_opened > .mm-panel {
    background: #fff;
  }

  .sp-menu .mm-listitem_vertical > .mm-panel {
    padding: 10px 0 20px 0;
  }

  .sp-menu .mm-listitem_vertical > .mm-panel > ul > li .mm-panel {
    padding: 10px 0 20px 16px;
  }

  .sp-menu .mm-listitem_vertical > .mm-listitem__btn {
    height: auto;
  }

  /* 翻訳・天気・宿泊予約ナビ

------------------------------- */

  #gNav02 {
    width: 120px;
    height: 60px;
    position: absolute;
    right: 60px;
    top: 0;
  }

  #gNav02 > ul {
    width: 100%;
    display: flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-end;
    justify-content: flex-end;
    align-items: flex-start;
    -webkit-align-items: flex-start;
    -ms-flex-align: flex-start;
    margin-block-start: 0;
    margin-block-end: 0;
    padding-inline-start: 0;
    position: relative;
  }

  #gNav02 > ul > li {
    height: 60px;
    list-style: none;
    text-align: center;
    display: block;
    cursor: pointer;
    position: relative;
  }

  #gNav02 > ul > li .openbtn {
    top: 0;
    z-index: 1;
    width: 60px;
    height: 60px;
  }

  #gNav02 > ul > li.weather-nav {
    width: 50%;
  }

  #gNav02 > ul > li.language-nav {
    display: none;
  }

  #gNav02 > ul > li.hotel-nav {
    width: 50%;
    position: relative;
  }

  /*

    body._hotel-box-type #gNav02 > ul > li.hotel-nav{
        display: none;
    }

    */

  body._hotel-box-type header .hotel-wrap {
    display: none;
  }

  #gNav02 > ul > li.hotel-nav span {
    display: none;
  }

  #gNav02 > ul > li.hotel-nav:before {
    content: "";
    width: 24px;
    height: 24px;
    background: url("../img/common/hotel-icon.svg") no-repeat center center;
    background-size: cover;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
  }

  header.is-animation #gNav02 > ul > li.hotel-nav:before {
    content: "";
    width: 24px;
    height: 24px;
    background: url("../img/common/hotel-icon-navy.svg") no-repeat center center;
    background-size: cover;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
  }

  #gNav02 > ul > li.weather-nav span {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }

  #gNav02 > ul > li.weather-nav span svg,
  #gNav02 > ul > li.weather-nav span img {
    width: 30px;
    height: 30px;
  }

  #gNav02 > ul > li.weather-nav span svg.img-svg path,
  #gNav02 > ul > li.weather-nav span svg.img-svg rect,
  #gNav02 > ul > li.weather-nav span svg.img-svg polygon,
  #gNav02 > ul > li.weather-nav span svg.img-svg circle {
    fill: #fff;
  }

  header.is-animation #gNav02 > ul > li.weather-nav span svg.img-svg path,
  header.is-animation #gNav02 > ul > li.weather-nav span svg.img-svg rect,
  header.is-animation #gNav02 > ul > li.weather-nav span svg.img-svg polygon,
  header.is-animation #gNav02 > ul > li.weather-nav span svg.img-svg circle {
    fill: #1d315a;
  }

  #gNav02 > ul > li.language-nav > .language-wrap,
  #gNav02 > ul > li.weather-nav > .weather-wrap,
  #gNav02 > ul > li.hotel-nav > .hotel-wrap {
    display: none;
  }

  .sp-menu02 {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 99999999;
    width: 100%;
  }
  .sp-menu02 > ul > li .weather-wrap {
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    background: #fff;
    top: 0;
    right: -100%;
    -webkit-transition: 0.4s;
    transition: 0.4s;
    opacity: 0;
    position: fixed;
  }

  .sp-menu02 > ul > li .weather-wrap.open {
    width: 100%;
    height: 100%;
    background: #fff;
    top: 0;
    right: 0;
    padding: 64px 16px 40px 16px;
    z-index: 2;
    cursor: default;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    opacity: 1;
    position: fixed;
    -webkit-transition: 0.4s;
    transition: 0.4s;
  }

  .sp-menu02 > ul > li .weather-wrap .closeModal,
  .sp-menu02 > ul > li .hotel-wrap .closeModal {
    display: block;
    position: absolute;
    right: 0;
    top: 0;
    color: #1d315a;
    width: 60px;
    height: 60px;
    text-align: center;
    line-height: 50px;
    font-size: 30px;
  }

  .sp-menu02 > ul > li .hotel-wrap {
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    background: #fff;
    top: 0;
    right: -100%;
    -webkit-transition: 0.4s;
    transition: 0.4s;
    opacity: 0;
    position: fixed;
  }

  .sp-menu02 > ul > li .hotel-wrap.open {
    width: 100%;
    height: 100%;
    background: #fff;
    top: 0;
    right: 0;
    padding: 64px 16px;
    z-index: 2;
    cursor: default;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    opacity: 1;
    position: fixed;
    -webkit-transition: 0.4s;
    transition: 0.4s;
  }

  .sp-menu02 > ul > li .hotel-wrap .camp-res-box {
    width: 90%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }

  .sp-menu02 > ul > li .hotel-wrap .camp-res-box .iframe-inner {
    width: 100%;
    height: 300px;
  }

  .sp-menu02 > ul > li .hotel-wrap .camp-res-box .iframe-inner iframe {
    width: 100%;
    height: 100vh;
  }

  .sp-menu02 .language-wrap h3,
  .sp-menu02 .weather-wrap h3 {
    text-align: center;
    font-size: 20px;
    font-family: "Montserrat", sans-serif;
    font-weight: 900;
    color: #333;
    display: block;
  }

  .sp-menu02 .weather-wrap p {
    text-align: center;
    font-size: 12px;
    color: #333;
    margin-bottom: 0;
  }

  .sp-menu02 .weather-wrap a.link {
    float: right;
    font-size: 14px;
    color: #333;
    font-weight: bold;
    padding-right: 16px;
    position: relative;
    margin-left: 32px;
  }

  .sp-menu02 .weather-wrap a.link:after {
    content: "";
    position: absolute;
    right: 0;
    top: 48%;
    transform: translateY(-50%) rotate(45deg);
    width: 8px;
    height: 8px;
    border-top: 2px solid #333;
    border-right: 2px solid #333;
  }

  .sp-menu02 .weather-wrap > ul {
    width: 100%;
    margin-block-start: 0;
    margin-block-end: 0;
    padding-inline-start: 0;
    padding-right: 0;
    padding-left: 0;
    margin-bottom: 32px;
  }

  .sp-menu02 .weather-wrap > ul > li {
    border-bottom: 1px solid #cccccc;
    padding: 16px 32px;
  }

  .sp-menu02 .weather-wrap > ul > li > ul {
    padding: 0;
    padding-inline-start: 0;
    margin-bottom: 0;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    align-items: flex-start;
    -webkit-align-items: flex-start;
    -ms-flex-align: flex-start;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  .sp-menu02 .weather-wrap > ul > li > ul > li {
    width: 100%;
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium",
      "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
    list-style: none;
    font-weight: normal;
  }

  .sp-menu02 .weather-wrap > ul > li > ul > li.mt-name {
    color: #333;
    list-style: none;
    text-align: left;
    font-size: 16px;
    font-family: "Montserrat", sans-serif;
    font-weight: 900;
    width: 50%;
    padding-top: 20px;
  }

  .sp-menu02 .weather-wrap > ul > li > ul > li.status01 {
    text-align: left;
    width: 50%;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
  }

  .sp-menu02 .weather-wrap > ul > li > ul > li.status01 .no-data {
    font-size: 26px;
    font-weight: bold;
    padding-top: 8px;
    padding-right: 8px;
  }

  .sp-menu02 .weather-wrap > ul > li > ul > li.status01 .wi {
    width: 50px;
    height: 50px;
    display: inline-block;
    margin-right: 16px;
  }

  .sp-menu02 .weather-wrap > ul > li > ul > li.status01 .wi svg,
  .sp-menu02 .weather-wrap > ul > li > ul > li.status01 .wi img {
    width: 50px;
    height: 50px;
  }

  .sp-menu02 .weather-wrap > ul > li > ul > li.status01 .wi svg.img-svg path,
  .sp-menu02 .weather-wrap > ul > li > ul > li.status01 .wi svg.img-svg rect,
  .sp-menu02
    .weather-wrap
    > ul
    > li
    > ul
    > li.status01
    .wi
    svg.img-svg
    polygon {
    fill: #333;
  }

  .sp-menu02 .weather-wrap > ul > li > ul > li.status01 .temperature {
    font-size: 26px;
    font-weight: bold;
    padding-top: 8px;
  }

  .sp-menu02 .weather-wrap > ul > li > ul > li.status02 {
    display: block;
    padding: 0 24px;
    width: 100%;
    margin-top: 16px;
  }

  .sp-menu02 .weather-wrap > ul > li > ul > li.status02 dl {
    display: flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    align-items: flex-start;
    -webkit-align-items: flex-start;
    -ms-flex-align: flex-start;
    padding: 0;
    margin-bottom: 8px;
  }

  .sp-menu02 .weather-wrap > ul > li > ul > li.status02 dt {
    font-size: 12px;
    font-weight: normal;
    width: 50%;
    margin-bottom: 0;
  }

  .sp-menu02 .weather-wrap > ul > li > ul > li.status02 dd {
    font-size: 12px;
    font-weight: normal;
    width: 50%;
    margin-bottom: 0;
  }

  /* 宿泊予約

------------------------------- */
  .sp-menu02 li.hotel-nav h3 {
    font-weight: bold;
    font-size: 18px;
    line-height: 26px;
    text-align: center;
    margin-bottom: 24px;
  }

  .sp-menu02 li.hotel-nav h3:before {
    content: "";
    display: inline-block;
    background: url(../img/common/hotel-icon-black.png) no-repeat center center;
    background-size: cover;
    margin-right: 8px;
    width: 25px;
    height: 21px;
    position: relative;
    top: 2px;
  }

  .sp-menu02 li.hotel-nav .tab-group {
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    align-items: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    margin-bottom: 16px;
    padding-inline-start: 0;
  }

  .sp-menu02 .hotel-wrap .tab-group li {
    border-left: 1px solid #898989;
    border-right: 1px solid #898989;
    font-weight: normal;
    font-size: 16px;
    color: #898989;
    cursor: pointer;
    text-align: center;
    line-height: 32px;
  }

  .sp-menu02 .hotel-wrap .tab-group li:first-child {
    width: 40%;
  }

  .sp-menu02 .hotel-wrap .tab-group li + li {
    width: 60%;
    border-left: none;
  }

  .sp-menu02 li.hotel-nav .tab-group li.is-active {
    font-weight: normal;
    font-size: 16px;
    color: #1d315a;
  }

  .sp-menu02 li.hotel-nav .tab.is-active.lodging-icon,
  .sp-menu02 li.hotel-nav .tab.lodging-icon {
    position: relative;
    padding-left: 16px;
  }

  .sp-menu02 li.hotel-nav .tab.is-active.lodging-airplan-icon,
  .sp-menu02 li.hotel-nav .tab.lodging-airplan-icon {
    position: relative;
    padding-left: 24px;
  }

  .sp-menu02 li.hotel-nav .tab.is-active.lodging-icon:before {
    content: "";
    background: url("../img/common/lodging-icon_on.png") no-repeat center center;
    background-size: cover;
    display: inline-block;
    width: 33px;
    height: 21px;
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%) scale(0.8);
  }

  .sp-menu02 li.hotel-nav .tab.lodging-icon:before {
    content: "";
    background: url("../img/common/lodging-icon_off.png") no-repeat center
      center;
    background-size: cover;
    display: inline-block;
    width: 33px;
    height: 21px;
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%) scale(0.8);
  }

  .sp-menu02 li.hotel-nav .tab.is-active.lodging-airplan-icon span:before {
    content: "";
    background: url("../img/common/lodging-airplan-icon_on.png") no-repeat
      center center;
    background-size: cover;
    display: inline-block;
    width: 29px;
    height: 32px;
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%) scale(0.8);
  }

  .sp-menu02 li.hotel-nav .tab.lodging-airplan-icon span:before {
    content: "";
    background: url("../img/common/lodging-airplan-icon_off.png") no-repeat
      center center;
    background-size: cover;
    display: inline-block;
    width: 29px;
    height: 32px;
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%) scale(0.8);
  }

  .sp-menu02 .panel {
    display: none;
  }

  .sp-menu02 .panel.is-show {
    display: block;
  }

  .sp-menu02 .panel form {
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    align-items: flex-start;
    -webkit-align-items: flex-start;
    -ms-flex-align: flex-start;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  .sp-menu02 .hotel-wrap dl {
    position: relative;
    margin-bottom: 0;
  }

  .sp-menu02 .hotel-wrap dl dt {
    width: 100%;
    display: block;
    text-align: left;
    font-size: 12px;
    line-height: 26px;
    font-weight: normal;
    color: #000;
  }

  .sp-menu02 .hotel-wrap dl dt label {
    margin-bottom: 0;
  }

  .sp-menu02 .hotel-wrap dl dd {
    width: 100%;
    position: relative;
    margin-bottom: 0;
  }

  .sp-menu02 .hotel-wrap select,
  .sp-menu02 .hotel-wrap input {
    width: 100%;
    height: 42px;
    cursor: pointer;
    text-indent: 0.01px;
    text-overflow: ellipsis;
    border: 1px solid #b6b6b6;
    outline: none;
    background: transparent;
    background-image: none;
    -webkit-appearance: none;
    appearance: none;
    text-align: left;
    border-radius: 0;
    padding: 8px;
    position: relative;
    font-size: 14px;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  }

  .sp-menu02 .hotel-wrap select::-ms-expand {
    display: none;
  }

  .sp-menu02 .hotel-wrap dd:before {
    position: absolute;
    right: 8px;
    bottom: 14px;
    content: "";
    width: 0;
    height: 0;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-top: 10px solid #898989;
    z-index: 2;
  }

  .sp-menu02 .hotel-wrap dl.check-in dd:before,
  .sp-menu02 .hotel-wrap dl.check-out dd:before {
    display: none;
  }

  .sp-menu02 .hotel-wrap dl.check-in.datepicker dd:before,
  .sp-menu02 .hotel-wrap dl.check-out.datepicker dd:before {
    position: absolute;
    right: 8px;
    bottom: 15px;
    content: "";
    width: 15px;
    height: 15px;
    background: url(https://rusutsu.com/assets/svg/icon_datepicker.svg)
      no-repeat center center;
    background-size: cover;
    z-index: 2;
    border: none;
    display: block;
  }

  .sp-menu02 .hotel-wrap button {
    border: 0;
    outline: none;
    background-image: none;
    box-shadow: none;
    -webkit-appearance: none;
    appearance: none;
    border-radius: 0;
    background: #a44949;
    color: #fff;
    font-weight: normal;
    font-size: 16px;
    line-height: 0px;
    padding: 16px 0;
    width: 220px;
    height: 46px;
    margin-top: 32px;
    cursor: pointer;
    transition: 0.3s;
    margin-left: auto;
    margin-right: auto;
  }

  .sp-menu02 .hotel-wrap .hotelsbox {
    display: block;
    text-align: center;
  }

  .sp-menu02 .hotel-wrap .managed {
    font-size: 12px !important;
    margin: 16px 0 0 !important;
  }

  .sp-menu02 .hotel-wrap a.hotel_submitlink {
    border: 0;
    background: #a44949;
    color: #fff;
    font-weight: normal;
    font-size: 16px;
    line-height: 46px;
    padding: 0;
    width: 220px;
    margin-top: 16px;
    cursor: pointer;
    transition: 0.3s;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    display: block;
  }

  .sp-menu02 .hotel-wrap .hotel-select {
    width: 100%;
  }

  .sp-menu02 .hotel-wrap .hotel-select + .hotel-select {
    margin-top: 8px;
  }

  .sp-menu02 .hotel-wrap .check-in,
  .sp-menu02 .hotel-wrap .check-out,
  .sp-menu02 .hotel-wrap .airport-start,
  .sp-menu02 .hotel-wrap .airport-end,
  .sp-menu02 .hotel-wrap .member,
  .sp-menu02 .hotel-wrap .rooms-number {
    width: 48%;
    margin-top: 16px;
  }

  .sp-menu02 .hotel-wrap .check-out,
  .sp-menu02 .hotel-wrap .airport-end,
  .sp-menu02 .hotel-wrap .rooms-number {
    width: 48%;
    margin-left: 4%;
  }

  .sp-menu02 .hotel-wrap .panel:first-child .adults-number,
  .sp-menu02 .hotel-wrap .panel:first-child .children-number {
    width: 48%;
    margin-top: 8px;
  }

  .sp-menu02 .hotel-wrap .panel:first-child .children-number {
    margin-left: 4%;
  }

  body.en .sp-menu02 .hotel-wrap .panel:first-child .rooms-number {
    margin-left: 0;
  }

  body.en .sp-menu02 .hotel-wrap .panel:nth-child(2) .airport-start {
    width: 100%;
  }

  .sp-menu02 .hotel-wrap .panel:nth-child(2) .adults-number,
  .sp-menu02 .hotel-wrap .panel:nth-child(2) .children-number {
    width: 48%;
    margin-top: 16px;
  }

  .sp-menu02 .hotel-wrap .panel:nth-child(2) .children-number {
    margin-left: 4%;
  }

  .sp-menu02 .hotel-wrap .l-mypage {
    margin-top: 16px;
  }

  .sp-menu02 .hotel-wrap #mypage-link {
    font-size: 14px;
    transition: 0.3s;
    position: relative;
  }

  .sp-menu02 .hotel-wrap #mypage-link:after {
    content: "";
    width: 8px;
    height: 8px;
    border-top: 1px solid #333;
    border-right: 1px solid #333;
    transform: rotate(45deg);
    display: inline-block;
    margin-left: 5px;
  }

  #ui-datepicker-div {
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%);
    z-index: 99999999 !important;
    font-family: Verdana, Helvetica, Arial, sans-serif !important;
  }

  .ui-datepicker {
    z-index: 999 !important;
  }

  .ui-state-default,
  .ui-widget-content .ui-state-default,
  .ui-widget-header .ui-state-default,
  .ui-button,
  html .ui-button.ui-state-disabled:hover,
  html .ui-button.ui-state-disabled:active {
    background-color: #fff !important;
    border: none !important;
    text-align: center !important;
    color: #454545 !important;
  }

  .ui-state-highlight,
  .ui-widget-content .ui-state-highlight,
  .ui-widget-header .ui-state-highlight {
    color: #454545 !important;
  }

  #ui-datepicker-div .ui-datepicker-header {
    background-color: #eee !important;
    font-size: 1.5em;
    background-image: none;
    border: none;
    border-radius: 0 !important;
  }

  .ui-datepicker .ui-datepicker-title {
    font-size: 18px !important;
  }

  .ui-state-disabled,
  .ui-widget-content .ui-state-disabled,
  .ui-widget-header .ui-state-disabled {
    opacity: 0.35 !important;
  }

  /* AI CHAT

------------------------------- */

  #talkappi-chat-greeting {
    z-index: 999 !important;
  }

  #talkappi-chat-icon {
    z-index: 999 !important;
  }

  /* ----------------------------------------

フッター

---------------------------------------- */

  footer {
    background: #373737;
    padding: 40px 0;
    margin: 0;
  }

  .footer-inner {
    width: 100%;
    margin: 0 auto;
  }

  .footer-inner .l-box {
    width: 100%;
    padding: 0 16px;
    box-sizing: border-box;
  }

  .footer-inner .l-box .ft-logo {
    width: 80%;
    margin: 0 auto 20px auto;
    display: block;
  }

  .footer-inner .l-box .ft-logo img {
    width: 100%;
    height: auto;
  }

  .footer-inner .l-box p {
    font-size: 14px;
    line-height: 1.8em;
    color: #fff;
    margin: 0 0 20px 0;
  }

  .footer-inner .l-box p a {
    color: #fff;
  }

  .footer-inner .l-box .sns-link ul {
    width: 80%;
    margin: 0 auto;
    display: flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    align-items: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    padding-inline-start: 0;
  }

  .footer-inner .l-box .sns-link li {
    list-style: none;
    width: 14%;
  }

  .footer-inner .l-box .sns-link li a img {
    width: 100%;
  }

  .footer-inner .l-box .sns-link li + li {
    margin-left: 7.5%;
  }

  .footer-inner .r-box {
    width: 100%;
    display: flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-top: 20px;
  }

  .footer-inner .r-box .bnr {
    width: 70%;
    padding-inline-start: 0;
    margin: 20px auto 0 auto;
    text-align: center;
    order: 1;
  }

  .footer-inner .r-box .bnr + .bnr {
    margin-top: 24px;
  }

  .footer-inner .r-box .bnr li:first-child {
    width: 100%;
  }

  .footer-inner .r-box .bnr li:nth-child(2) {
    /* width: 80%;
    margin-top: 20px; */
    width: 100%;
    margin-top: 20px;
  }
  .footer-inner .r-box .bnr li:last-child {
    /* width: 80%;
    margin-top: 8px; 
    width: 75%;
    margin-top: 15px;*/
    width: 100%;
    margin-top: 20px;
  }

  .footer-inner .r-box .bnr + .bnr li {
    width: 55%;
    margin-top: 8px;
  }

  .footer-inner .r-box .bnr + .bnr li:last-child {
    width: 55%;
    margin-top: 15px;
  }

  .footer-inner .r-box .bnr li {
    text-align: center;
    margin: 0 auto;
  }

  .footer-inner .r-box .bnr li span {
    font-size: 14px;
    color: #fff;
    padding-top: 4px;
    display: block;
  }

  .footer-inner .r-box .bnr li img {
    width: 100%;
  }

  .footer-inner .r-box .bnr:first-child li:first-child {
    width: 80%;
  }

  .footer-inner .r-box .fNav {
    width: 100%;
    order: 0;
    margin: 0;
  }

  .footer-inner .r-box .fNav ul {
    width: 100%;
    padding-inline-start: 0;
    margin-bottom: 0;
  }

  .footer-inner .r-box .fNav li {
    width: 100%;
    list-style: none;
    text-align: center;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
  }

  .footer-inner .r-box .fNav li a {
    color: #fff;
    font-size: 14px;
    text-decoration: none;
    padding: 15px 0;
    text-align: center;
    display: block;
  }

  .footer-inner .r-box .fNav li:first-child {
    border-top: 1px solid #fff;
    border-bottom: 1px solid #fff;
  }

  .footer-inner .r-box .fNav li + li {
    border-bottom: 1px solid #fff;
  }

  footer .copy {
    text-align: center;
    color: #fff;
    font-size: 14px;
    margin: 32px 0 0 0;
  }

  /* ----------------------------------------

テキスト

---------------------------------------- */

  .txt-small {
    font-size: 12px;
    line-height: 24px;
    margin-bottom: 0;
  }

  .txt-reg {
    font-size: 14px;
    line-height: 24px;
    margin-bottom: 0;
  }

  .txt-mid {
    font-size: 14px;
    line-height: 26px;
    margin-bottom: 0;
  }

  .txt-lg {
    font-size: 16px;
    line-height: 1.4em;
    margin-bottom: 0;
    display: block;
  }

  .txt-mid + .txt-mid {
    margin-top: 16px;
  }

  .txt-alg-c {
    text-align: center;
  }

  .txt-alg-l {
    text-align: left;
  }

  .txt-alg-r {
    text-align: right;
  }

  .txt-cl-gray {
    color: #898989;
  }

  .gray-inline {
    background: #898989;
    color: #fff;
    display: inline-block;
    padding: 4px;
    margin-right: 4px;
    font-size: 10px;
    line-height: 1em;
  }

  .blue-inline {
    background: #4477cc;
    color: #fff;
    display: inline-block;
    padding: 4px;
    margin-right: 4px;
    font-size: 10px;
    line-height: 1em;
  }

  .txt-shadow {
    text-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
  }

  /* ----------------------------------------

メインタイトル部分

---------------------------------------- */

  .main-ttl-wrap01 {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
    color: #fff;
  }

  .main-ttl-wrap01 h2.ttl01 {
    width: 100%;
    font-family: "M PLUS 1p", sans-serif;
    font-weight: 900;
    font-size: 24px;
    line-height: 1.2em;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
    padding: 0 16px;
    text-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
    margin-bottom: 0;
  }

  .main-ttl-wrap01 .bg-img-wrap {
    width: 110%;
    height: 250px;
    overflow: hidden;
    margin: 0;
    padding: 0;
    position: relative;
    left: 50%;
    transform: rotate(5deg) translateX(-50%);
    z-index: 1;
  }

  .main-ttl-wrap01 .bg-img-wrap img {
    width: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(-5deg);
  }

  /*
    .main-ttl-wrap01 .bg-img-wrap:after{
        content:'';
        position: absolute;
        bottom: 0;
        left: 0;
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 0 0 32px 100vw ;
        border-color: transparent transparent #fff transparent;
        transform: rotateY(180deg);
    }

    */

  .main-ttl-wrap02 {
    position: relative;
    width: 100%;
    margin: 0 0 32px 0;
    padding: 0 0 40px 0;
    background: #1d315a;
  }

  .main-ttl-wrap02.pb-32 {
    padding-bottom: 24px;
  }

  .main-ttl-wrap02 .bg-img-wrap {
    width: 100%;
    height: 250px;
    overflow: hidden;
    margin: 0;
    padding: 0;
    position: relative;
  }

  .main-ttl-wrap02 .bg-img-wrap img {
    width: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }

  .main-ttl-wrap02 .bg-img-wrap:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 32px 100vw;
    border-color: transparent transparent #1d315a transparent;
    transform: rotateY(180deg);
  }

  .main-ttl-wrap02 .txt-box {
    width: 100%;
    background: #1d315a;
    margin: 0 auto;
    padding: 8px 16px 0 16px;
    color: #fff;
    position: relative;
  }

  .main-ttl-wrap02 .txt-box .l-box {
    width: 100%;
  }

  .main-ttl-wrap02 .txt-box .l-box p:last-child,
  .main-ttl-wrap02 .txt-box .r-box p:last-child {
    margin-bottom: 0;
  }

  .main-ttl-wrap02 .txt-box .r-box {
    width: 100%;
    margin-top: 8px;
  }

  .main-ttl-wrap02 .txt-box .ttl02 {
    font-family: "M PLUS 1p", sans-serif;
    font-weight: 900;
    font-size: 24px;
    line-height: 1.2em;
    margin-bottom: 0;
  }

  .main-ttl-wrap02 .txt-box .ttl-sub-txt01 {
    display: block;
    margin-top: 16px;
    margin-bottom: 0;
    font-weight: normal;
    font-size: 14px;
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium",
      "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  }

  .main-ttl-wrap02 .txt-box .ttl-sub-txt01 b {
    font-weight: normal;
  }

  .main-ttl-wrap02 .txt-box .ttl-sub-txt01 .breadth:before,
  .main-ttl-wrap02 .txt-box .ttl-sub-txt01 .number-rooms:before {
    display: inline-block;
    content: "/";
    margin-left: 10px;
    margin-right: 10px;
  }

  .main-ttl-wrap02 .txt-box .ttl-sub-txt01-2 {
    font-style: normal;
    font-weight: 500;
    font-size: 12px;
    line-height: 26px;
    margin-top: 0;
  }

  .main-ttl-wrap02 .txt-box .ttl-sub-txt02 {
    font-family: "Montserrat", sans-serif;
    font-weight: bold;
    font-size: 16px;
    line-height: 24px;
    text-align: right;
    color: #ebc34a;
    margin-bottom: 8px;
  }

  .main-ttl-wrap02 .txt-box .ttl-sub-txt02._close {
    color: #b6b6b6;
  }

  .main-ttl-wrap02 .txt-box .ttl-sub-txt03 {
    font-weight: bold;
    font-size: 16px;
    line-height: 20px;
    text-align: right;
  }

  .main-ttl-wrap02 .txt-box .ttl-time-txt {
    padding-inline-start: 0;
    margin-top: 0;
    margin-bottom: 0;
  }

  .main-ttl-wrap02 .txt-box .ttl-time-txt li {
    font-weight: bold;
    font-size: 14px;
    line-height: 26px;
    text-align: right;
  }

  .main-ttl-wrap02 .txt-box .btn-entry {
    position: absolute;
    bottom: -60px;
    left: 50%;
    display: block;
    transform: translateX(-50%);
    width: 80%;
  }

  /* 宿泊検索ボックス

------------------------------- */

  ._hotel-box {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 9999999;
  }

  .openbtn {
    position: absolute;
    right: 0;
    top: 10px;
    width: 36px;
    height: 111px;
    cursor: pointer;
  }

  .openbtn img {
    width: 100%;
    height: auto;
  }

  .openbtn:hover img {
    opacity: 1;
  }

  .closeModal {
    position: absolute;
    right: 0;
    top: 0;
    color: #1d315a;
    width: 50px;
    height: 50px;
    text-align: center;
    line-height: 50px;
    font-size: 30px;
  }

  ._hotel-box .hotel-wrap {
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    background: #fff;
    top: 0;
    right: -100%;
    -webkit-transition: 0.4s;
    transition: 0.4s;
    opacity: 0;
    position: fixed;
  }

  ._hotel-box .hotel-wrap.open {
    width: 100%;
    height: 100%;
    background: #fff;
    top: 0;
    right: 0;
    padding: 64px 16px;
    z-index: 2;
    cursor: default;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    opacity: 1;
    position: fixed;
    -webkit-transition: 0.4s;
    transition: 0.4s;
  }

  ._hotel-box .hotel-wrap.open .iframe-inner {
    top: 50%;
    left: 50%;
    right: auto;
    transform: translate(-50%, -50%);
    width: 90%;
    height: 300px;
    overflow: hidden;
    position: absolute;
  }

  ._hotel-box .hotel-wrap.open .iframe-inner iframe {
    width: 100%;
    height: 100vh;
  }

  ._hotel-box .hotel-wrap h3 {
    font-weight: bold;
    font-size: 18px;
    line-height: 26px;
    text-align: center;
    margin-bottom: 24px;
  }

  ._hotel-box .hotel-wrap h3:before {
    content: "";
    display: inline-block;
    background: url("../img/common/hotel-icon-black.png") no-repeat center
      center;
    background-size: cover;
    margin-right: 8px;
    width: 25px;
    height: 21px;
    position: relative;
    top: 2px;
  }

  ._hotel-box .hotel-wrap .tab-group {
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    align-items: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    margin-bottom: 16px;
    padding-inline-start: 0;
  }

  ._hotel-box .hotel-wrap .tab-group li {
    border-left: 1px solid #898989;
    border-right: 1px solid #898989;
    font-weight: normal;
    font-size: 16px;
    color: #898989;
    cursor: pointer;
    text-align: center;
    line-height: 32px;
  }

  ._hotel-box .hotel-wrap .tab-group li:first-child {
    width: 40%;
  }

  ._hotel-box .hotel-wrap .tab-group li + li {
    width: 60%;
    border-left: none;
  }

  ._hotel-box .hotel-wrap .tab-group li.is-active {
    font-weight: normal;
    font-size: 16px;
    color: #1d315a;
  }

  ._hotel-box .hotel-wrap .tab.is-active.lodging-icon,
  ._hotel-box .hotel-wrap .tab.lodging-icon {
    position: relative;
    padding-left: 16px;
  }

  ._hotel-box .hotel-wrap .tab.is-active.lodging-airplan-icon,
  ._hotel-box .hotel-wrap .tab.lodging-airplan-icon {
    position: relative;
    padding-left: 24px;
  }

  ._hotel-box .hotel-wrap .tab.is-active.lodging-icon:before {
    content: "";
    background: url("../img/common/lodging-icon_on.png") no-repeat center center;
    background-size: cover;
    display: inline-block;
    width: 33px;
    height: 21px;
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%) scale(0.8);
  }

  ._hotel-box .hotel-wrap .tab.lodging-icon:before {
    content: "";
    background: url("../img/common/lodging-icon_off.png") no-repeat center
      center;
    background-size: cover;
    display: inline-block;
    width: 33px;
    height: 21px;
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%) scale(0.8);
  }

  ._hotel-box .hotel-wrap .tab.is-active.lodging-airplan-icon span:before {
    content: "";
    background: url("../img/common/lodging-airplan-icon_on.png") no-repeat
      center center;
    background-size: cover;
    display: inline-block;
    width: 29px;
    height: 32px;
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%) scale(0.8);
  }

  ._hotel-box .hotel-wrap .tab.lodging-airplan-icon span:before {
    content: "";
    background: url("../img/common/lodging-airplan-icon_off.png") no-repeat
      center center;
    background-size: cover;
    display: inline-block;
    width: 29px;
    height: 32px;
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%) scale(0.8);
  }

  ._hotel-box .hotel-wrap .panel {
    display: none;
  }

  ._hotel-box .hotel-wrap .panel.is-show {
    display: block;
  }

  ._hotel-box .hotel-wrap .panel form {
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    align-items: flex-start;
    -webkit-align-items: flex-start;
    -ms-flex-align: flex-start;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  ._hotel-box .hotel-wrap dl {
    position: relative;
    margin-bottom: 0;
  }

  ._hotel-box .hotel-wrap dl dt {
    width: 100%;
    display: block;
    text-align: left;
    font-size: 12px;
    line-height: 26px;
    font-weight: normal;
    color: #000;
  }

  ._hotel-box .hotel-wrap dl dt label {
    margin-bottom: 0;
  }

  ._hotel-box .hotel-wrap dl dd {
    width: 100%;
    position: relative;
    margin-bottom: 0;
  }

  ._hotel-box .hotel-wrap select,
  ._hotel-box .hotel-wrap input {
    width: 100%;
    height: 42px;
    cursor: pointer;
    text-indent: 0.01px;
    text-overflow: ellipsis;
    border: 1px solid #b6b6b6;
    outline: none;
    background: transparent;
    background-image: none;
    -webkit-appearance: none;
    appearance: none;
    text-align: left;
    border-radius: 0;
    padding: 8px;
    position: relative;
    font-size: 14px;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  }

  ._hotel-box .hotel-wrap select::-ms-expand {
    display: none;
  }

  ._hotel-box .hotel-wrap dd:before {
    position: absolute;
    right: 8px;
    bottom: 14px;
    content: "";
    width: 0;
    height: 0;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-top: 10px solid #898989;
    z-index: 2;
  }

  /**/
  ._hotel-box .hotel-wrap .check-in.datepicker dd:before,
  ._hotel-box .hotel-wrap .check-out.datepicker dd:before {
    position: absolute;
    right: 8px;
    bottom: 15px;
    content: "";
    width: 15px;
    height: 15px;
    background: url(https://rusutsu.com/assets/svg/icon_datepicker.svg)
      no-repeat center center;
    background-size: cover;
    z-index: 2;
    border: none;
    display: block;
  }

  ._hotel-box .hotel-wrap .check-in dd:before,
  ._hotel-box .hotel-wrap .check-out dd:before {
    display: none;
  }

  ._hotel-box .hotel-wrap .datepicker.check-in dd:before,
  ._hotel-box .hotel-wrap .datepicker.check-out dd:before {
    position: absolute;
    right: 8px;
    bottom: 15px;
    content: "";
    width: 15px;
    height: 15px;
    background: url(https://rusutsu.com/assets/svg/icon_datepicker.svg)
      no-repeat center center;
    background-size: cover;
    z-index: 2;
    border: none;
    display: block;
  }

  ._hotel-box .hotel-wrap button {
    border: 0;
    outline: none;
    background-image: none;
    box-shadow: none;
    -webkit-appearance: none;
    appearance: none;
    border-radius: 0;
    background: #a44949;
    color: #fff;
    font-weight: normal;
    font-size: 16px;
    line-height: 0px;
    padding: 16px 0;
    width: 220px;
    height: 46px;
    margin-top: 32px;
    cursor: pointer;
    transition: 0.3s;
    margin-left: auto;
    margin-right: auto;
  }
  ._hotel-box .hotel-wrap .managed {
    font-size: 12px !important;
    text-align: center;
    margin: 16px 0 0 !important;
  }

  ._hotel-box .hotel-wrap a.hotel_submitlink {
    border: none;
    background: #a44949;
    color: #fff;
    font-weight: normal;
    font-size: 16px;
    line-height: 46px;
    padding: 0;
    width: 220px;
    margin-top: 16px;
    cursor: pointer;
    transition: 0.3s;
    margin-left: auto;
    margin-right: auto;
    display: block;
    text-align: center;
  }

  ._hotel-box .hotel-wrap .hotel-select {
    width: 100%;
  }

  ._hotel-box .hotel-wrap .hotel-select + .hotel-select {
    margin-top: 8px;
  }

  ._hotel-box .hotel-wrap .check-in,
  ._hotel-box .hotel-wrap .check-out,
  ._hotel-box .hotel-wrap .airport-start,
  ._hotel-box .hotel-wrap .airport-end,
  ._hotel-box .hotel-wrap .member,
  ._hotel-box .hotel-wrap .rooms-number {
    width: 48%;
    margin-top: 16px;
  }

  ._hotel-box .hotel-wrap .check-out,
  ._hotel-box .hotel-wrap .airport-end,
  ._hotel-box .hotel-wrap .rooms-number {
    width: 48%;
    margin-left: 4%;
  }

  ._hotel-box .hotel-wrap .panel:first-child .adults-number,
  ._hotel-box .hotel-wrap .panel:first-child .children-number {
    width: 48%;
    margin-top: 8px;
  }

  ._hotel-box .hotel-wrap .panel:first-child .children-number {
    margin-left: 4%;
  }

  body.en ._hotel-box .hotel-wrap .panel:first-child .rooms-number {
    margin-left: 0;
  }

  body.en ._hotel-box .hotel-wrap .panel:nth-child(2) .airport-start {
    width: 100%;
  }

  ._hotel-box .hotel-wrap .panel:nth-child(2) .adults-number,
  ._hotel-box .hotel-wrap .panel:nth-child(2) .children-number {
    width: 48%;
    margin-top: 16px;
  }

  ._hotel-box .hotel-wrap .panel:nth-child(2) .children-number {
    margin-left: 4%;
  }

  ._hotel-box .hotel-wrap .l-mypage {
    margin-top: 16px;
  }

  ._hotel-box .hotel-wrap #mypage-link {
    font-size: 14px;
    transition: 0.3s;
    position: relative;
  }

  ._hotel-box .hotel-wrap #mypage-link:after {
    content: "";
    width: 8px;
    height: 8px;
    border-top: 1px solid #333;
    border-right: 1px solid #333;
    transform: rotate(45deg);
    display: inline-block;
    margin-left: 5px;
  }

  /* ----------------------------------------

パンくずリスト

---------------------------------------- */
  .pankuzu {
    width: 100%;
    margin: 0;
    padding: 0 16px 32px 16px;
    overflow-x: scroll;
    position: relative;
  }

  body.hd-bg-navy .pankuzu {
    margin-top: 70px;
  }

  .pankuzu ol {
    width: max-content;
    margin: 0;
    padding: 0;
    display: flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    list-style: none;
  }

  .pankuzu li {
    position: relative;
    padding-right: 16px;
    color: #898989;
  }

  .pankuzu li + li {
    margin-left: 16px;
  }

  .pankuzu li:after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    width: 6px;
    height: 6px;
    border-top: 1px solid #333;
    border-right: 1px solid #333;
    transform: rotate(45deg) translateY(-50%);
  }

  .pankuzu li:last-child:after {
    display: none;
  }

  .pankuzu li b,
  .pankuzu li span {
    font-weight: normal;
    font-size: 12px;
  }

  .pankuzu li a {
    font-weight: normal;
    font-size: 12px;
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium",
      "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
    color: #898989;
  }

  /* ----------------------------------------

共通パーツ

---------------------------------------- */

  /* インフォメーション

---------------------------------------- */

  .info-wrap01 {
    width: 100%;
    background: #ffffff;
    border: 1px solid #898989;
    box-shadow: 0px 5px 4px rgba(0, 0, 0, 0.15);
    padding: 16px;
  }

  .info-wrap01 h3 {
    font-family: "Montserrat", sans-serif;
    font-weight: 900;
    font-size: 22px;
    line-height: 14px;
    margin-bottom: 16px;
    vertical-align: middle;
    color: #1d315a;
  }

  .info-wrap01 p {
    font-weight: normal;
    font-size: 12px;
    line-height: 22px;
    margin-bottom: 0;
    vertical-align: middle;
    text-align: left;
    word-break: break-all;
  }

  .info-wrap02 {
    background: #ffffff;
    border: 1px solid #898989;
    box-shadow: 0px 5px 4px rgba(0, 0, 0, 0.15);
    padding: 16px;
  }

  .info-wrap02 .scroll-wrap {
    overflow-y: scroll;
    height: 160px;
    margin-top: 16px;
  }

  .info-wrap02 h3 {
    font-family: "Montserrat", sans-serif;
    font-weight: 900;
    font-size: 18px;
    line-height: 14px;
    margin-bottom: 0;
    vertical-align: middle;
    color: #1d315a;
  }

  .info-wrap02 h3 b.date {
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium",
      "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
    font-size: 14px;
    line-height: 1.2em;
    color: #898989;
    font-weight: normal;
    margin-top: 8px;
    display: block;
  }

  .info-wrap02 p {
    font-weight: normal;
    font-size: 12px;
    line-height: 1.6em;
    margin-top: 8px;
    margin-bottom: 0;
    vertical-align: middle;
    text-align: left;
  }

  .info-wrap02 a._arr {
    font-size: 14px;
    line-height: 26px;
    margin-top: 8px;
    margin-bottom: 0;
    vertical-align: middle;
    text-align: left;
    display: inline-block;
  }

  .info-wrap02 a._arr:after {
    content: "";
    display: inline-block;
    width: 6px;
    height: 6px;
    border-top: 2px solid #000;
    border-right: 2px solid #000;
    transform: rotate(45deg);
    position: relative;
    top: -2px;
    margin-left: 4px;
  }

  .info-wrap02 .info-list-item {
    width: 100%;
    margin-bottom: 0;
  }

  .info-wrap02 .info-list-item:nth-child(2) {
    margin-top: 16px;
  }

  .info-wrap02 .info-list-item + .info-list-item {
    margin-top: 8px;
  }

  .info-wrap02 .info-list-item dt {
    width: 100%;
    color: #898989;
    font-size: 14px;
    line-height: 22px;
    font-weight: normal;
  }

  .info-wrap02 .info-list-item dd {
    width: 100%;
    margin-bottom: 0;
    font-size: 14px;
    line-height: 26px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-text-overflow: ellipsis;
    -o-text-overflow: ellipsis;
  }

  /* カレンダー

---------------------------------------- */

  .shop-calender-wrap {
    width: 100%;
    background: #fff;
    padding: 0 0 8px 0;
    overflow: scroll;
  }

  .shop-calender-wrap table,
  .shop-calender-wrap tbody {
    display: block;
    width: 1000px;
    background: #fff;
    position: relative;
  }

  .shop-calender-wrap th,
  .shop-calender-wrap td {
    position: relative;
    vertical-align: middle;
  }

  .shop-calender-wrap tr:first-child th {
    text-align: center;
    font-size: 14px;
    font-weight: bold;
    padding: 8px 5px;
  }

  .shop-calender-wrap tr + tr th {
    padding: 10.5px 16px 8px 16px;
    text-align: left;
    font-size: 14px;
    width: 6%;
    z-index: 1;
  }

  .shop-calender-wrap tr + tr th:after {
    content: "";
    background: #cccccc;
    width: 1px;
    height: 100%;
    position: absolute;
    right: 1px;
    top: 0;
  }

  .shop-calender-wrap th:first-child {
    position: -webkit-sticky;
    position: sticky;
    left: 0;
    z-index: 1;
    background: #fff;
  }

  .shop-calender-wrap tr + tr td {
    padding: 10.5px 0 8px 0;
    text-align: center;
    font-size: 14px;
  }

  .shop-calender-wrap th + td,
  .shop-calender-wrap td + td {
    width: 6%;
  }

  .shop-calender-wrap .time-zone {
    font-weight: bold;
  }

  .shop-calender-wrap .business-time {
    font-weight: normal;
    display: block;
  }

  .shop-calender-wrap tr:first-child th:after {
    content: "";
    width: 85%;
    height: 1px;
    background: #898989;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
  }

  .shop-calender-wrap tr:first-child th:first-child:after {
    display: none;
  }

  .shop-calender-wrap .open-icon:before {
    content: "";
    width: 25px;
    height: 25px;
    border: 4px solid #ebc34a;
    border-radius: 50%;
    display: inline-block;
  }

  .shop-calender-wrap .close-icon:before {
    content: "";
    width: 25px;
    height: 4px;
    background: #898989;
    display: inline-block;
    border-radius: 5px;
    position: relative;
    top: -5px;
  }

  /* スライダー

---------------------------------------- */

  h3.ttl-txt01 + .slick-wrap {
    width: 100%;
    overflow: hidden;
    margin: 40px auto 16px auto;
  }

  #slick01 .slick-slide {
    position: relative;
    transition: 0.3s ease;
    transform: scale(0.85);
    transform-origin: 50% 10%;
    opacity: 0.5;
    box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
    outline: none;
  }

  #slick01 .slick-current {
    position: relative;
    z-index: 2;
    transform: scale(1);
    transform-origin: 50% 40%;
    opacity: 1;
  }

  #slick01 .slick-current + .slick-slide {
    transform-origin: 50% 10%;
  }

  #slick01 .slick-slide .caption {
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 2;
    width: 100%;
    padding: 16px;
    background: linear-gradient(
      180deg,
      rgba(255, 255, 255, 0) 0%,
      rgba(110, 110, 110, 0.283854) 28.13%,
      rgba(0, 0, 0, 0.5) 100%
    );
    color: #fff;
    font-size: 14px;
    font-weight: bold;
    opacity: 0;
    transition: 0.3s ease;
    margin-bottom: 0;
  }

  #slick01 .slick-current .caption {
    opacity: 1;
    transition-delay: 0.5s;
  }

  #slick01 .slick-slide:hover .caption {
    color: #fff;
  }

  .arrows {
    width: 100%;
    margin: 0 auto;
    padding: 0 24px;
    position: relative;
    bottom: 12px;
    height: 14px;
  }

  .slick-arrow {
    position: absolute;
    bottom: -24px;
    z-index: 100;
    padding: 4px 8px;
    text-indent: -999999999px;
    border: 0;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    cursor: pointer;
    color: transparent;
    outline: none;
    background: transparent;
  }

  .slick-next:before {
    content: "";
    width: 10px;
    height: 10px;
    border-top: 1.5px solid #000;
    border-right: 1.5px solid #000;
    transform: rotate(45deg);
    position: absolute;
    right: 0;
  }

  .slick-prev:before {
    content: "";
    width: 10px;
    height: 10px;
    border-top: 1.5px solid #000;
    border-right: 1.5px solid #000;
    transform: rotate(-135deg);
    position: absolute;
    left: 0;
  }

  .arrows .slick-prev {
    left: 35%;
    outline: none;
    border: none;
    background: none;
  }

  .arrows .slick-next {
    right: 35%;
    outline: none;
    border: none;
    background: none;
  }

  .slick-slide img {
    width: 100%;
    height: auto;
  }

  #slick02 .slick-slide img {
    width: 100%;
    height: 263px;
  }

  .slick-counter {
    margin-top: 8px;
    font-size: 18px;
    text-align: center;
    font-weight: bold;
  }

  #slick02 .slick-slide {
    width: 263px;
    position: relative;
    transition: 0.3s ease;
    transform: scale(1) translateY(10%);
    opacity: 0.7;
    border-radius: 7px;
    box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
    overflow: hidden;
    margin-top: 0;
    margin-left: 16px;
    margin-right: 16px;
  }

  #slick02 .slick-current {
    position: relative;
    z-index: 2;
    transform: scale(1) translateY(2%);
    opacity: 1;
    margin-top: 0;
  }

  #slick02 .slick-center {
    margin-left: 16px;
    margin-right: 16px;
  }

  #slick02 div.slick-list {
    height: 400px;
  }

  #slick02 .slick-slide .img-box {
    overflow: hidden;
  }

  #slick02 .slick-slide .txt-box {
    z-index: 2;
    width: 100%;
    padding: 16px;
    background: #fff;
    color: #000;
    font-size: 22px;
    transition: 0.3s ease;
    margin-bottom: 0;
    bottom: 0;
    position: relative;
  }

  #slick02 .slick-current .txt-box {
    background: #1d315a;
    color: #fff;
  }

  #slick02 .slick-slide h4 {
    font-size: 16px;
    color: #1d315a;
    font-weight: bold;
    margin-bottom: 0;
  }

  #slick02 .slick-current h4 {
    color: #fff;
    margin-bottom: 4px;
  }

  #slick02 .slick-slide .caption {
    height: 0;
    color: #fff;
    font-size: 12px;
    line-height: 20px;
    opacity: 0;
    transition: 0.3s ease;
    margin-bottom: 0;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    text-overflow: ellipsis;
    display: -webkit-box;
    overflow: hidden;
  }

  #slick02 .slick-current .caption {
    height: auto;
    opacity: 1;
    transition-delay: 0.5s;
  }

  #slick03 .slick-slide .caption {
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 2;
    width: 100%;
    padding: 16px;
    background: linear-gradient(
      180deg,
      rgba(255, 255, 255, 0) 0%,
      rgba(110, 110, 110, 0.283854) 28.13%,
      rgba(0, 0, 0, 0.5) 100%
    );
    color: #fff;
    font-size: 14px;
    font-weight: bold;
    opacity: 0;
    transition: 0.3s ease;
    margin-bottom: 0;
  }

  #slick03 .slick-current .caption {
    opacity: 1;
    transition-delay: 0.5s;
  }

  #slick03 .slick-slide .caption b {
    display: block;
    font-size: 14px;
    line-height: 26px;
    font-weight: normal;
  }

  #slick03 .slick-slide {
    width: 300px;
    position: relative;
    margin-left: 0.05%;
    margin-right: 0.05%;
    border: none;
    outline: none;
    background: transparent;
  }

  #slick03 .slick-slide a:hover {
    outline: none;
    border: none;
    background: transparent;
  }

  .vale-roomlist-wrap #slick03 figure.slick-slide {
    outline: none;
    border: none;
    background: transparent;
  }

  .vale-roomlist-wrap #slick03 figure.slick-slide a {
    color: transparent;
    outline: none;
    background: transparent;
  }

  .plan-slick-wrap {
    padding-bottom: 40px;
  }

  .plan-slick-wrap ul.plan-slick {
    padding: 0;
    margin: 0;
  }

  .plan-slick-wrap .slick-slide {
    width: 100%;
    height: auto;
  }

  ul.plan-slick-wrap li img {
    width: 100%;
  }

  .plan-slick-wrap .slick-dots {
    position: absolute;
    bottom: -32px;
    display: block;
    width: 100%;
    padding: 0;
    list-style: none;
    text-align: center;
  }

  .plan-slick-wrap .slick-dots li {
    position: relative;
    display: inline-block;
    width: 10px;
    height: 10px;
    margin: 0 5px;
    padding: 0;
    cursor: pointer;
  }

  .plan-slick-wrap .slick-dots li button {
    font-size: 0;
    line-height: 0;
    display: block;
    width: 10px;
    height: 10px;
    padding: 2px;
    cursor: pointer;
    color: transparent;
    border: 0;
    outline: none;
    background: transparent;
  }

  .plan-slick-wrap .slick-dots li button:before {
    position: absolute;
    top: 0;
    left: 0;
    width: 10px;
    height: 10px;
    content: "";
    background: #333;
    border-radius: 50%;
    opacity: 0.25;
    -ms-filter: "alpha(opacity=25)";
    filter: alpha(opacity=25);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -ms-filter: "alpha(opacity=25)";
    filter: alpha(opacity=25);
  }

  .plan-slick-wrap .slick-dots li.slick-active button:before {
    opacity: 1;
    background: #1d315a;
  }

  /* タイトル系

---------------------------------------- */
  .img-ttl-wrap01 {
    width: 100%;
    position: relative;
    padding: 0;
    color: #fff;
  }

  .img-ttl-wrap01 h3 {
    width: 100%;
    font-family: "M PLUS 1p", sans-serif;
    font-weight: 900;
    font-size: 20px;
    line-height: 1.3em;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 3;
    margin: 0;
    padding: 0 16px;
  }

  .img-ttl-wrap01 h3 b {
    display: block;
    margin-top: 8px;
    font-weight: bold;
    font-size: 14px;
    line-height: 24px;
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium",
      "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  }

  .img-ttl-wrap01 .bg-img-wrap {
    width: 100%;
    position: relative;
    overflow: hidden;
  }

  .img-ttl-wrap01 .bg-img-wrap img {
    width: 100%;
    position: relative;
    z-index: 1;
  }

  .img-ttl-wrap01 .bg-img-wrap:before {
    content: "";
    width: 100%;
    height: 100%;
    background: #000;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0.5;
    z-index: 2;
  }

  .img-ttl-wrap01 + section {
    margin-top: 16px;
  }

  .lg-link-wrap,
  .lg-link-wrap02 {
    width: 100%;
    position: relative;
    margin-bottom: 24px;
    padding: 0;
    color: #fff;
  }

  .lg-link-wrap + .ttl-txt-box01,
  .lg-link-wrap02 + .ttl-txt-box01 {
    margin-top: 24px;
  }

  .lg-link-wrap h3 {
    width: 100%;
    font-family: "Montserrat", sans-serif;
    font-weight: 900;
    font-size: 24px;
    line-height: 1.2em;
    text-align: center;
    position: absolute;
    left: 50%;
    top: 45%;
    transform: translate(-50%, -50%);
    z-index: 3;
    margin: 0;
    padding: 0 16px;
    text-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
  }

  .lg-link-wrap02 h3 {
    width: 100%;
    font-family: "Montserrat", sans-serif;
    font-weight: 900;
    font-size: 24px;
    line-height: 1em;
    text-align: center;
    position: absolute;
    left: 50%;
    top: 40%;
    transform: translate(-50%, -50%);
    z-index: 3;
    margin: 0;
    padding: 0 16px;
    text-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
  }

  .lg-link-wrap h3 b {
    display: block;
    margin-top: 8px;
    font-weight: normal;
    font-size: 12px;
    line-height: 1.2em;
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium",
      "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  }

  .lg-link-wrap02 h3 b {
    display: block;
    margin-top: 4px;
    font-weight: normal;
    font-size: 12px;
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium",
      "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
    position: relative;
  }

  .lg-link-wrap02 h3 b:before {
    content: "";
    width: 7%;
    height: 1px;
    left: 16%;
    top: 50%;
    background: #fff;
    position: absolute;
    transform: translateY(-50%);
  }

  .lg-link-wrap02 h3 b:after {
    content: "";
    width: 7%;
    height: 1px;
    right: 16%;
    top: 50%;
    background: #fff;
    position: absolute;
    transform: translateY(-50%);
  }

  .lg-link-wrap .bg-img-wrap,
  .lg-link-wrap02 .bg-img-wrap {
    width: 100%;
    overflow: hidden;
    position: relative;
  }

  .lg-link-wrap .bg-img-wrap img,
  .lg-link-wrap02 .bg-img-wrap img {
    width: 100%;
    position: relative;
    z-index: 1;
  }

  .lg-link-wrap .bg-img-wrap:before,
  .lg-link-wrap02 .bg-img-wrap:before {
    content: "";
    width: 100%;
    height: 100%;
    background: #000;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0.4;
    z-index: 2;
  }

  .lg-link-wrap a,
  .lg-link-wrap02 a {
    position: absolute;
    left: 50%;
    bottom: 15%;
    transform: translateX(-50%);
    z-index: 3;
    width: 200px;
    display: block;
    font-size: 12px;
    line-height: 28px;
    padding: 0;
  }

  .lg-link-wrap a:hover,
  .lg-link-wrap02 a:hover {
    color: #fff;
  }

  .ttl-cate-txt01 {
    font-weight: bold;
    font-size: 20px;
    line-height: 26px;
    margin-bottom: 24px;
  }

  h3.ttl-txt01 {
    text-align: center;
    font-family: "Montserrat", sans-serif;
    font-weight: 900;
    font-size: 28px;
    line-height: 1.2em;
    color: #1d315a;
  }

  h3.ttl-txt01 b {
    display: block;
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium",
      "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
    font-weight: bold;
    font-size: 14px;
    line-height: 18px;
    position: relative;
    vertical-align: middle;
    z-index: 1;
  }

  h3.ttl-txt01 b > b {
    padding-left: 56px;
    padding-right: 56px;
    z-index: 1;
    position: relative;
    display: inline-block;
  }

  h3.ttl-txt01 b > b:after {
    content: "";
    background: #fff;
    width: 100%;
    height: 18px;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: -1;
  }

  h3.ttl-txt01._gray b > b:after {
    background: #f2f2f2;
    z-index: -1;
  }

  h3.ttl-txt01 b:before {
    content: "";
    background: #1d315a;
    height: 1px;
    width: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: -2;
  }

  h3.ttl-txt01 b > b:before {
    display: none;
  }

  h3.ttl-txt01 + div,
  h3.ttl-txt01 + section,
  h3.ttl-txt01 + ul {
    margin-top: 32px;
  }

  .ttl-txt02 {
    font-family: "M PLUS 1p", sans-serif;
    font-weight: 700;
    font-size: 20px;
    line-height: 1.2em;
    text-align: center;
    color: #1d315a;
    margin: 80px 0 32px 0;
    position: relative;
  }

  .ttl-txt02 b {
    display: block;
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium",
      "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
    font-weight: bold;
    font-size: 14px;
    line-height: 18px;
    position: relative;
    vertical-align: middle;
    z-index: 1;
    margin-top: 8px;
  }

  .ttl-txt02 b > b {
    padding-left: 10%;
    padding-right: 10%;
    z-index: 1;
    position: relative;
    display: inline-block;
    margin-top: 0;
  }

  .ttl-txt02 b:before {
    content: "";
    background: #1d315a;
    height: 1px;
    width: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: -2;
  }

  .ttl-txt02 b > b:after {
    content: "";
    background: #fff;
    width: 100%;
    height: 18px;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: -1;
  }

  article.bg-gray01 .ttl-txt02 b > b:after,
  article.bg-gray02 .ttl-txt02 b > b:after,
  article.bg-gray03 .ttl-txt02 b > b:after {
    background: #f2f2f2;
  }

  .ttl-txt02._main {
    margin: 40px 0 40px 0;
  }

  article.bg-gray02 .ttl-txt02 {
    margin-top: 0;
  }

  article + article .ttl-txt02._main {
    margin: 80px 0 40px 0;
  }

  .ttl-txt02 i {
    display: block;
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    width: 12px;
    height: 12px;
  }

  .ttl-txt02 i:before {
    content: "";
    position: absolute;
    bottom: 50%;
    left: 0;
    width: 12px;
    height: 12px;
    border-top: 2px solid #1d315a;
    border-right: 2px solid #1d315a;
    transform: rotate(135deg) translateY(-50%);
    transition: 0.3s;
    -webkit-transition: 0.3s;
  }

  .ttl-txt02.is-show i:before {
    bottom: 0;
    left: 8px;
    transform: rotate(-45deg) translateY(-50%);
  }

  .ttl-txt02._bold {
    font-weight: 900;
  }

  .ttl-txt02._left {
    text-align: left;
    font-size: 22px;
    line-height: 33px;
    margin-top: 0;
    margin-bottom: 16px;
  }

  .ttl-txt02._left02 {
    text-align: left;
    font-size: 18px;
    line-height: 1.4em;
    margin-top: 0;
    margin-bottom: 16px;
    border-bottom: #1d315a 1px solid;
    padding-bottom: 8px;
  }

  .ttl-txt03 {
    display: block;
    width: 100%;
    font-style: normal;
    font-weight: bold;
    font-size: 16px;
    line-height: 26px;
    color: #000000;
    padding-left: 24px;
    margin-bottom: 24px;
    position: relative;
  }

  .ttl-txt03:before {
    content: "";
    width: 10px;
    height: 100%;
    background: #1d315a;
    position: absolute;
    top: 0;
    left: 0;
  }

  .ttl-txt03._pre:before {
    background: #1d315a;
  }

  .ttl-txt03._gold:before {
    background: #ebc34a;
  }

  .ttl-txt03._stand:before {
    background: #898989;
  }

  .ttl-txt03._no-bd:after {
    display: none;
  }

  .ttl-txt03:after {
    content: "";
    width: 100%;
    height: 1px;
    background: #ccc;
    position: absolute;
    bottom: -8px;
    left: 0;
  }

  .ttl-txt03 i {
    display: block;
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    width: 12px;
    height: 12px;
  }

  .ttl-txt03.is-show i {
    top: 70%;
  }

  .ttl-txt03 i:before {
    content: "";
    position: absolute;
    bottom: 50%;
    left: 0;
    width: 12px;
    height: 12px;
    border-top: 2px solid #1d315a;
    border-right: 2px solid #1d315a;
    transform: rotate(135deg) translateY(-50%);
    transition: 0.3s;
    -webkit-transition: 0.3s;
  }

  .ttl-txt03.is-show i:before {
    bottom: 0;
    left: 8px;
    transform: rotate(-45deg) translateY(-50%);
  }

  .real-time-txt + div {
    margin-top: 32px;
  }

  .real-time-txt {
    font-size: 12px;
    line-height: 1em;
    text-align: center;
    margin-top: 8px;
  }

  .ttl-txt04 {
    font-weight: bold;
    font-size: 16px;
    line-height: 26px;
  }

  .ttl-txt05 {
    font-weight: 900;
    font-size: 26px;
    line-height: 28px;
    color: #1d315a;
    font-family: "Montserrat", sans-serif;
  }

  .ttl-txt05 b {
    font-weight: bold;
    font-size: 14px;
    line-height: 26px;
    color: #1d315a;
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium",
      "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
    display: block;
    margin-top: 0;
  }

  /* ボタン系

---------------------------------------- */

  .sp-c-btn {
    width: 90%;
    margin-right: auto;
    margin-left: auto;
  }

  .sp-c-btn a {
    max-width: 100%;
  }

  .sp-c-btn a.btn-basic._small {
    max-width: 100%;
  }
  .btn-arr01 {
    border: 1px solid #ffffff;
    box-sizing: border-box;
    text-align: center;
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium",
      "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
    color: #fff;
    font-weight: bold;
    font-size: 14px;
    line-height: 0px;
    padding: 22px 10%;
    position: relative;
  }

  .btn-arr01:hover {
    color: #fff;
  }

  .btn-arr01 i {
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    width: 10px;
    height: 10px;
  }

  .btn-arr01 i:before {
    content: "";
    width: 10px;
    height: 10px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(45deg);
    position: absolute;
    top: 0;
    left: 0;
  }

  .btn-entry {
    background: #a44949;
    color: #fff;
    text-align: center;
    line-height: 40px;
    vertical-align: middle;
    max-width: 90%;
    display: block;
    font-size: 14px;
  }

  .btn-entry.no-active {
    color: #fff;
    cursor: default;
    background: #b6b6b6;
  }

  .btn-entry:hover {
    color: #fff;
  }

  a.btn-entry.no-active:not([href]):not([tabindex]) {
    color: #fff;
  }

  .btn-entry02 {
    border: #a44949 1px solid;
    color: #a44949;
    text-align: center;
    line-height: 40px;
    vertical-align: middle;
    max-width: 90%;
    display: block;
    font-size: 14px;
  }

  .btn-entry02:hover {
    color: #a44949;
  }

  .btn-basic {
    color: #1d315a;
    text-align: center;
    line-height: 40px;
    vertical-align: middle;
    max-width: 90%;
    display: block;
    font-size: 14px;
    border: 1px solid #1d315a;
    position: relative;
  }

  .btn-basic:hover {
    color: #1d315a;
  }

  .btn-basic._small {
    max-width: 90%;
  }

  .btn-basic._pdf,
  .btn-basic._excel,
  .btn-basic._download {
    color: #000;
    font-size: 14px;
    line-height: 40px;
  }

  .btn-basic._pdf i {
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    width: 20px;
    height: 20px;
  }

  .btn-basic._excel i {
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    width: 20px;
    height: 20px;
  }

  .btn-basic._download i {
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    width: 16px;
    height: 16px;
  }

  .btn-basic._pdf i:before {
    content: "";
    width: 20px;
    height: 20px;
    background: url("../img/common/pdf-icon.png") no-repeat center center;
    background-size: cover;
    position: absolute;
    right: 0;
    top: 0;
  }

  .btn-basic._excel i:before {
    content: "";
    width: 20px;
    height: 20px;
    background: url("../img/common/xlsx-icon.png") no-repeat center center;
    background-size: cover;
    position: absolute;
    right: 0;
    top: 0;
  }

  .btn-basic._download i:before {
    content: "";
    width: 16px;
    height: 16px;
    background: url("../svg/icon_download.svg") no-repeat center center;
    background-size: cover;
    position: absolute;
    right: 0;
    top: 0;
  }

  .btn-basic._arr i {
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    width: 10px;
    height: 10px;
  }

  .btn-basic._arr i:before {
    content: "";
    width: 10px;
    height: 10px;
    border-top: 2px solid #1d315a;
    border-right: 2px solid #1d315a;
    transform: rotate(45deg);
    position: absolute;
    right: 0;
    top: 0;
  }

  .c-btn {
    margin-right: auto;
    margin-left: auto;
  }

  .full {
    max-width: 90%;
  }

  .btn-basic + .btn-basic,
  .btn-basic + .btn-entry,
  .btn-entry + .btn-entry {
    margin-top: 16px;
  }

  p + .btn-basic,
  p + .btn-entry {
    margin-top: 24px;
  }

  .btn-list {
    width: 100%;
    margin-bottom: 0;
    padding-left: 0;
    padding-right: 0;
    flex: 0;
    max-width: auto;
  }

  .btn-list.col-2 {
    width: 100%;
    margin-bottom: 0;
    flex: 0;
    max-width: 100%;
  }

  .btn-list.col-3 {
    width: 100%;
    padding-left: 16px;
    padding-right: 16px;
    margin-bottom: 0;
    flex: 0;
    max-width: 100%;
  }

  .btn-list.col-4 {
    width: 100%;
    margin-bottom: 0;
    margin-left: auto;
    margin-right: auto;
    flex: 0;
    max-width: 90%;
    padding-left: 0;
    padding-right: 0;
  }

  .btn-list.col-2 li,
  .btn-list.col-3 li,
  .btn-list.col-4 li {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
  }

  .btn-list.col-2 li a.btn-basic,
  .btn-list.col-2 li a.btn-entry,
  .btn-list.col-2 li a.btn-entry02,
  .btn-list.col-3 li a.btn-basic,
  .btn-list.col-3 li a.btn-entry,
  .btn-list.col-3 li a.btn-entry02,
  .btn-list.col-4 li a.btn-basic,
  .btn-list.col-4 li a.btn-entry,
  .btn-list.col-4 li a.btn-entry02 {
    max-width: 100%;
  }

  .btn-list.col-2 li + li,
  .btn-list.col-3 li + li,
  .btn-list.col-4 li + li {
    margin-top: 24px;
  }

  .more-link {
    font-weight: bold;
    font-size: 10px;
    line-height: 36px;
    display: inline-block;
    position: relative;
    vertical-align: middle;
  }

  .more-link i {
    width: 15px;
    height: 2.8px;
    position: relative;
    margin-left: 16px;
    display: inline-block;
    transform: translateY(-50%);
  }

  .more-link i:before {
    content: "";
    width: 100%;
    height: 1px;
    background: #000;
    position: absolute;
    top: 0;
    left: 0;
  }

  .more-link i:after {
    content: "";
    width: 50%;
    height: 1px;
    background: #000;
    position: absolute;
    top: -1px;
    right: -1px;
    transform: rotate(21.8deg);
  }

  .arr-link {
    font-size: 14px;
    line-height: 24px;
    display: inline-block;
    position: relative;
    vertical-align: middle;
    transition: 0.3s;
  }

  .arr-link i {
    width: 8px;
    height: 8px;
    position: relative;
    margin-left: 8px;
    display: inline-block;
  }

  .arr-link i:before {
    content: "";
    width: 100%;
    height: 100%;
    border-top: 2px solid #333;
    border-right: 2px solid #333;
    transform: rotate(45deg);
    position: absolute;
    left: 0;
    top: -1px;
  }

  /* テキストボックス系

---------------------------------------- */

  .ttl-txt-box01 {
    padding: 0;
  }

  .ttl-txt-box01 h3,
  .ttl-txt-box01 h4 {
    margin: 0 0 16px 0;
    padding: 0;
    font-weight: bold;
    font-size: 16px;
    line-height: 1.6em;
  }

  .ttl-txt-box01._center h3,
  .ttl-txt-box01._center h4 {
    text-align: center;
  }

  .ttl-txt-box01 p {
    margin-bottom: 0;
    padding: 0;
    font-weight: normal;
    font-size: 14px;
    line-height: 26px;
  }

  .ttl-txt-box01 p.txt-alg-c {
    text-align: justify;
  }

  .ttl-txt-box01 p.txt-small {
    font-size: 12px;
  }

  .ttl-txt-box01 > .ttl-txt-list > li + li {
    margin-top: 40px;
  }

  .ttl-txt-box01 > .ttl-txt-list .img-txt-list01 {
    width: 100%;
    margin-bottom: 0;
    padding: 0;
  }

  .ttl-txt-box01 > .ttl-txt-list .img-txt-list01 li {
    width: 100%;
    margin-bottom: 0;
  }

  .ttl-txt-box01 > .ttl-txt-list .img-txt-list01 li + li {
    margin-top: 24px;
  }

  .ttl-txt-box01 > .ttl-txt-list .img-txt-list01 li figure {
    margin: 0;
  }

  .ttl-txt-box01 > .ttl-txt-list .img-txt-list01 li figcaption {
    font-weight: bold;
    font-size: 16px;
    line-height: 26px;
  }

  .ttl-txt-box01 > .ttl-txt-list .img-list {
    width: 100%;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    align-items: flex-start;
    -webkit-align-items: flex-start;
    -moz-box-lines: multiple;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-bottom: 0;
    padding: 0;
  }

  .ttl-txt-box01 > .ttl-txt-list .img-list li {
    width: 48%;
    margin-left: 4%;
    margin-bottom: 4%;
  }

  .ttl-txt-box01 > .ttl-txt-list .img-list li img {
    width: 100%;
  }

  .ttl-txt-box01 > .ttl-txt-list .img-list li:nth-child(2n + 1) {
    margin-left: 0;
  }

  .ttl-txt-box01 > .ttl-txt-list .img-txt-list01 li {
    width: 100%;
    margin-bottom: 0;
  }

  .ttl-txt-box01 > .ttl-txt-list .img-txt-list01 li + li {
    margin-top: 24px;
  }

  .ttl-txt-box01 .ttl-txt-list + a {
    margin-top: 24px;
  }

  .ttl-txt-box01 .ttl-txt-list + a.btn-basic,
  .ttl-txt-box01 .ttl-txt-list + a.btn-entry {
    max-width: 90%;
  }

  .ttl-txt-box01 > .ttl-txt-list .img-txt-list01 li figcaption b {
    font-weight: normal;
    font-size: 14px;
    line-height: 26px;
    display: block;
  }

  .ttl-txt-box01 > .ttl-txt-list .img-txt-list01 li figure img {
    width: 100%;
    margin-bottom: 8px;
  }

  .ttl-txt-box01 > .ttl-txt-list > li.contact p {
    font-weight: bold;
    text-align: center;
  }

  .ttl-txt-box01 > .ttl-txt-list > li.contact p + p {
    margin-top: 8px;
  }

  .ttl-txt-box01 > .ttl-txt-list > li.contact p b {
    font-size: 14px;
  }

  .ttl-txt-box01 > .ttl-txt-list > li.contact p:first-child {
    font-size: 14px;
  }

  .ttl-txt-box01 > .ttl-txt-list > li.contact p:nth-child(2) {
    font-size: 20px;
    line-height: 1.6em;
    margin-top: 16px;
  }

  .ttl-txt-box01 > .ttl-txt-list > li.contact p:nth-child(3) {
    font-size: 16px;
    line-height: 1.8em;
    margin-top: 16px;
  }

  .ttl-txt-box01 > .ttl-txt-list > li.contact p + a {
    margin-top: 24px;
  }

  .ttl-txt-box01 > .ttl-txt-list > li.contact p + a.btn-entry,
  .ttl-txt-box01 > .ttl-txt-list > li.contact p + a.basic-entry {
    max-width: 90%;
  }

  .ttl-txt-box01 > .ttl-txt-list > li.contact p.fw-none {
    font-weight: normal;
  }

  .ttl-txt-box01 > .ttl-txt-list > li.meeting-place > dl > dd ul {
    margin-bottom: 16px;
  }

  .ttl-txt-box01 > .ttl-txt-list > li.meeting-place > dl > dd dl {
    margin-bottom: 0;
  }

  .ttl-txt-box01 > .ttl-txt-list > li.meeting-place > dl > dd dt {
    font-weight: bold;
    font-size: 14px;
    line-height: 26px;
  }

  .ttl-txt-box01 > .ttl-txt-list > li.meeting-place > dl > dd dd {
    font-size: 14px;
    line-height: 21px;
    margin-top: 8px;
    margin-bottom: 0;
  }

  .ttl-txt-box01 > .ttl-txt-list > li.meeting-place > dl > dd li + li {
    margin-top: 8px;
  }

  .ttl-txt-box01 > .ttl-txt-list > li.cancell-fee > dl > dd dl {
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    align-items: flex-start;
    -webkit-align-items: flex-start;
    -ms-flex-align: flex-start;
    margin-bottom: 0;
  }

  .ttl-txt-box01 > .ttl-txt-list > li.cancell-fee > dl > dd dt {
    width: 40%;
    margin-right: 2%;
    font-weight: bold;
    font-size: 14px;
    line-height: 26px;
  }

  .ttl-txt-box01 > .ttl-txt-list > li.cancell-fee > dl > dd dd {
    width: 58%;
    font-size: 14px;
    line-height: 26px;
    margin-bottom: 0;
  }

  .ttl-txt-box01 > .ttl-txt-list > li.cancell-fee > dl > dd li + li {
    margin-top: 16px;
  }

  .ttl-txt-box02 {
    margin: 0;
    padding: 0;
  }

  .ttl-txt-box02 + .ttl-txt-box01 {
    margin-top: 32px;
  }

  .ttl-txt-box02 > ul {
    width: 100%;
  }

  .ttl-txt-box02 > ul + ul {
    margin-top: 32px;
  }

  .ttl-txt-box02 > ul > li + li {
    margin-top: 32px;
  }

  .ttl-txt-box03 {
    margin: 0;
    padding: 0;
  }

  .ttl-txt-box03 .l-box {
    width: 100%;
    text-align: center;
  }

  .ttl-txt-box03 .l-box h4 {
    font-weight: bold;
    font-size: 18px;
    line-height: 1.4em;
    margin-bottom: 8px;
  }

  .ttl-txt-box03 .l-box h4 + p {
    font-weight: bold;
    font-size: 22px;
    line-height: 1.4em;
    margin-bottom: 8px;
  }

  .ttl-txt-box03 .l-box h4 + p._small {
    font-size: 16px;
    line-height: 26px;
  }

  .ttl-txt-box03 .l-box p:nth-child(3) {
    font-weight: bold;
    font-size: 16px;
    line-height: 26px;
    margin-top: 8px;
    margin-bottom: 16px;
  }

  .ttl-txt-box03 .l-box p:nth-child(4) {
    width: 100%;
    font-weight: bold;
    font-size: 16px;
    line-height: 26px;
    margin-bottom: 8px;
    padding-top: 16px;
    border-top: 1px solid #898989;
  }

  .ttl-txt-box03 .l-box p:nth-child(5) {
    width: 100%;
    font-weight: bold;
    font-size: 20px;
    line-height: 1.4em;
    margin-top: 8px;
    margin-bottom: 16px;
    padding-bottom: 16px;
    border-bottom: 1px solid #898989;
  }

  .ttl-txt-box03 .l-box p:nth-child(n + 6) {
    font-weight: bold;
    font-size: 18px;
    line-height: 1.4em;
    margin-bottom: 0;
  }

  .ttl-txt-box03 .l-box p:nth-child(n + 7) {
    font-size: 14px;
  }

  .ttl-txt-box03 .r-box {
    width: 100%;
    text-align: center;
    margin-top: 24px;
  }

  .ttl-txt-box03 .r-box img {
    width: 100%;
  }

  .ttl-txt-box04 h4,
  .ttl-txt-box04 h3 {
    font-weight: bold;
    font-size: 16px;
    line-height: 26px;
    margin-bottom: 8px;
  }

  .ttl-txt-box04 + .ttl-txt-box04 {
    margin-top: 24px;
  }

  .ttl-txt-list {
    padding-inline-start: 0;
    margin-bottom: 0;
    margin-block-end: 0;
  }

  .ttl-txt-list > li > dl {
    margin-bottom: 0;
  }

  .ttl-txt-list > li > dl > dt {
    vertical-align: middle;
    font-weight: bold;
    font-size: 16px;
    line-height: 26px;
    position: relative;
  }

  .ttl-txt-list > li > dl > dt:before {
    content: "";
    background: #ebc34a;
    left: 0;
    top: 0;
    position: absolute;
    width: 8px;
    height: 100%;
    z-index: 3;
  }

  .ttl-txt-list > li.map > dl > dd img {
    width: 100%;
  }

  .ttl-txt-list > li.map02 > dl > dd {
    width: 100%;
  }

  .ttl-txt-list > li.map02 > dl > dd .txt-box {
    width: 100%;
    margin-bottom: 24px;
  }

  .ttl-txt-list > li.map02 > dl > dd .img-box img {
    width: 100%;
  }

  .ttl-txt-list > li.map02 > dl > dd .img-box iframe {
    width: 100%;
    height: 300px;
  }

  .ttl-txt-list > li.map02 > dl > dd .txt-box h4 {
    font-weight: bold;
    font-size: 14px;
    line-height: 26px;
    margin-bottom: 16px;
    text-align: left;
  }

  .ttl-txt-list > li.map02 > dl > dd .txt-box p {
    font-size: 14px;
    line-height: 26px;
    margin-bottom: 0;
  }

  .ttl-txt-list > li > dl > dt b {
    background: #f2f2f2;
    display: inline-block;
    position: relative;
    z-index: 2;
    padding-left: 24px;
    padding-right: 16px;
  }

  .ttl-txt-list > li > dl > dt.under-b b {
    background: none;
    padding-right: 32px;
  }

  .ttl-txt-list > li > dl > dt.under-b:after {
    content: "";
    border-top: 1px solid #ccc;
    width: 100%;
    height: 1px;
    position: absolute;
    top: auto;
    bottom: -8px;
    right: 0;
    transform: translateY(0);
    z-index: 1;
  }

  .ttl-txt-list > li > dl > dt:after {
    content: "";
    border-top: 1px dotted #898989;
    width: 100%;
    height: 1px;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    z-index: 1;
  }

  .ttl-txt-list > li > dl > dt.under-b + dd {
    margin-top: 24px;
  }

  .ttl-txt-list > li > dl > dt + dd {
    margin-top: 16px;
    margin-left: 0;
    font-weight: normal;
    font-size: 14px;
    line-height: 22px;
    padding-left: 0;
    margin-bottom: 0;
  }

  .ttl-txt-list > li.menu > dl > dt + dd,
  .ttl-txt-list > li.map > dl > dt + dd {
    margin-top: 24px;
  }

  .ttl-txt-list .g-map {
    width: 100%;
    height: 300px;
    border: none;
  }

  .ttl-txt-list > li > dl > dd > ul {
    padding-inline-start: 0;
    padding: 0;
  }

  .ttl-txt-list > li > dl > dd > ul.season_time-zone dt > dl {
    margin-bottom: 0;
  }

  .ttl-txt-list > li > dl > dd > ul.season_time-zone dt {
    font-weight: bold;
  }

  .ttl-txt-list > li > dl > dd > ul.season_time-zone dt > dl dd {
    margin-bottom: 0;
  }

  .ttl-txt-list > li > dl > dd > ul.season_time-zone dd ul {
    padding: 0;
  }

  .ttl-txt-list > li > dl > dd > ul.season_time-zone li + li {
    margin-top: 16px;
  }

  .ttl-txt-list > li > dl > dd > ul.season_time-zone li > dl dd li {
    margin-top: 0;
  }

  .ttl-txt-list > li > dl > dd > ul > li > dl > dt {
    font-weight: normal;
  }

  .ttl-txt-list li.menu > dl > dd > ul {
    display: block;
    padding: 0 22px;
  }

  .ttl-txt-list li.menu > dl > dd > ul > li {
    width: 100%;
    text-align: center;
  }

  .ttl-txt-list li.menu > dl > dd > ul > li + li {
    margin-top: 16px;
  }

  .ttl-txt-list li.menu > dl > dd > ul > li a {
    text-align: center;
    border: 1px solid #898989;
    display: block;
    vertical-align: middle;
    line-height: 40px;
    position: relative;
    transition: 0.3s;
    font-size: 14px;
  }

  .ttl-txt-list li.menu > dl > dd > ul > li a._small {
    margin-top: 16px;
  }

  .ttl-txt-list li.menu > dl > dd > ul > li a:after {
    content: "";
    width: 20px;
    height: 20px;
    background: url("../img/common/pdf-icon.png") no-repeat center center;
    background-size: cover;
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
  }

  .ttl-txt-list li.menu._arr > dl > dd > ul > li a:after {
    content: "";
    width: 10px;
    height: 10px;
    border-top: 2px solid #1d315a;
    border-right: 2px solid #333;
    transform: rotate(45deg) translateY(-50%);
    position: absolute;
    right: 14px;
    top: 50%;
    background: none;
  }

  .ttl-txt-list li.reception .place {
    text-align: center;
    font-weight: bold;
    font-size: 18px;
    line-height: 26px;
    padding-top: 8px;
    padding-bottom: 16px;
  }

  .ttl-txt-list li.reception .reception-time {
    text-align: center;
    font-weight: bold;
    line-height: 26px;
    padding: 16px 0;
    border-top: 1px solid #898989;
    border-bottom: 1px solid #898989;
  }

  .ttl-txt-list li.reception .time {
    font-size: 16px;
  }

  .ttl-txt-list li.reception .tel-number {
    font-size: 22px;
  }

  .ttl-txt-list li.reception .extension {
    padding: 24px 0;
  }

  .ttl-txt-list li.reception .e-mail {
    font-size: 22px;
    margin-top: 8px;
  }

  .ttl-txt-list li.reception .extension b {
    font-weight: normal;
    font-size: 14px;
    line-height: 26px;
    display: block;
    text-align: center;
  }

  .ttl-txt-list li.reception .extension b.tel-number {
    text-align: center;
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 16px;
  }

  .ttl-txt-list li.reception .map img {
    width: 100%;
  }

  .ttl-txt-list li.reception p {
    margin-bottom: 0;
  }

  .ttl-txt-list li.reception p + p {
    margin-top: 8px;
  }

  .ttl-txt-list li.park-info > dl > dd > ul > li + li,
  .ttl-txt-list li.room-type > dl > dd > ul > li + li {
    margin-top: 8px;
  }

  .ttl-txt-list li.park-info > dl > dd > ul > li > dl,
  .ttl-txt-list li.room-type > dl > dd > ul > li > dl {
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    align-items: flex-start;
    -webkit-align-items: flex-start;
    -ms-flex-align: flex-start;
    margin-bottom: 0;
  }

  .ttl-txt-list li.park-info > dl > dd > ul > li > dl > dt,
  .ttl-txt-list li.room-type > dl > dd > ul > li > dl > dt {
    width: 20%;
    font-weight: bold;
  }

  .ttl-txt-list li.park-info > dl > dd > ul > li > dl > dt + dd,
  .ttl-txt-list li.room-type > dl > dd > ul > li > dl > dt + dd {
    margin-left: 2%;
    margin-bottom: 0;
  }

  .ttl-txt-list li.park-items > dl > dd > ul > li,
  .ttl-txt-list li.facility > dl > dd > ul > li,
  .ttl-txt-list li.amenities > dl > dd > ul > li {
    font-weight: normal;
  }

  .ttl-txt-list li.park-items > dl > dd > ul > li:before,
  .ttl-txt-list li.facility > dl > dd > ul > li:before,
  .ttl-txt-list li.amenities > dl > dd > ul > li:before {
    content: "・";
    display: inline-block;
  }

  .ttl-txt-list li.level-list > dl > dd > ul > li {
    padding: 16px 0;
    border-bottom: 0.5px solid #bdbdbd;
  }

  .ttl-txt-list li.level-list > dl > dd > ul > li:first-child {
    padding-top: 0;
  }

  .ttl-txt-list li.level-list > dl > dd > ul > li > dl {
    margin-bottom: 0;
  }

  .ttl-txt-list li.level-list > dl > dd > ul > li > dl > dt {
    font-weight: bold;
    font-size: 16px;
    line-height: 26px;
    margin-bottom: 0;
  }

  .ttl-txt-list li.level-list > dl > dd > ul > li > dl > dd {
    font-weight: normal;
    font-size: 14px;
    line-height: 26px;
    margin-top: 8px;
    margin-bottom: 0;
  }

  .ttl-txt-list li.faq-list > dl > dd > ul > li {
    padding: 16px 0;
    border-bottom: 0.5px solid #bdbdbd;
  }

  .ttl-txt-list li.faq-list > dl > dd > ul > li:first-child {
    padding-top: 0;
  }

  .ttl-txt-list li.faq-list > dl > dd > ul > li > dl {
    margin-bottom: 0;
  }

  .ttl-txt-list li.faq-list > dl > dd > ul > li > dl > dt {
    font-weight: bold;
    font-size: 16px;
    line-height: 26px;
    margin-bottom: 0;
  }

  .ttl-txt-list li.faq-list > dl > dd > ul > li > dl > dd {
    font-weight: normal;
    font-size: 14px;
    line-height: 26px;
    margin-top: 8px;
    margin-bottom: 0;
  }

  .ttl-txt-list .acc-ttl i {
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
    width: 12px;
    height: 12px;
    display: inline-block;
  }

  .ttl-txt-list .acc-ttl i:before {
    content: "";
    position: absolute;
    bottom: 50%;
    left: 0;
    width: 12px;
    height: 12px;
    border-top: 2px solid #000;
    border-right: 2px solid #000;
    transform: rotate(135deg) translateY(-50%);
    transition: 0.3s;
    -webkit-transition: 0.3s;
  }

  .ttl-txt-list .acc-ttl.is-show i:before {
    bottom: 0;
    left: 7px;
    transform: rotate(-45deg) translateY(0);
  }

  .ttl-txt-list .acc-inner {
    display: none;
  }

  .ttl-txt-list li.parking > dl > dd > ul > li > dl {
    margin-bottom: 0;
  }

  .ttl-txt-list li.parking > dl > dd > ul > li + li {
    margin-top: 16px;
  }

  .ttl-txt-list li.parking > dl > dd > ul > li > dl > dt {
    font-weight: bold;
    font-size: 16px;
    line-height: 26px;
    margin-bottom: 0;
  }

  .ttl-txt-list li.parking > dl > dd > ul > li > dl > dd {
    font-weight: normal;
    font-size: 14px;
    line-height: 26px;
    margin-top: 8px;
    margin-bottom: 0;
  }

  .txt-scroll-box {
    border: 1px solid #ccc;
    height: 300px;
    overflow-y: scroll;
    padding: 16px;
  }

  .txt-scroll-box.acc-inner {
    display: none;
  }

  .img-txt-wrap01 {
    display: block;
  }

  .img-txt-wrap01 .img-box img {
    width: 100%;
  }

  .img-txt-wrap01 .txt-box h4 {
    font-weight: bold;
    font-size: 16px;
    line-height: 26px;
    text-align: left;
    margin-bottom: 8px;
  }

  .img-txt-wrap01 .t.ttl-txt-box01xt-box p {
    font-size: 14px;
    line-height: 26px;
    color: #898989;
  }

  .img-txt-wrap01 .img-box {
    width: 100%;
  }

  .img-txt-wrap01 .txt-box {
    margin-top: 16px;
    width: 100%;
  }

  .img-txt-wrap01 .txt-box p {
    font-size: 14px;
    line-height: 26px;
    color: #898989;
    margin-bottom: 0;
  }

  .img-txt-wrap02 {
    width: 100%;
  }

  .img-txt-wrap02 .img-box img {
    width: 100%;
  }

  .img-txt-wrap02 .txt-box h4,
  .img-txt-wrap02 .txt-box h5 {
    font-weight: bold;
    font-size: 16px;
    line-height: 26px;
    margin-bottom: 16px;
  }

  .img-txt-wrap02 .txt-box p {
    font-size: 14px;
    line-height: 26px;
    margin-bottom: 0;
  }

  .img-txt-wrap02 .img-box {
    width: 100%;
  }

  .img-txt-wrap02 .txt-box {
    margin-top: 16px;
    width: 100%;
  }

  .img-txt-wrap03 {
    width: 100%;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    align-items: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  .img-txt-wrap03 .img-box {
    order: 1;
  }

  .img-txt-wrap03 .img-box img {
    width: 100%;
  }

  .img-txt-wrap03 .txt-box {
    order: 2;
    margin-top: 16px;
  }

  .img-txt-wrap03 .txt-box h3,
  .img-txt-wrap03 .txt-box h4 {
    display: none;
  }

  .img-txt-wrap03 h3.txt-jp,
  .img-txt-wrap03 h4.txt-jp {
    font-family: "M PLUS 1p", sans-serif;
    font-weight: 700;
  }

  .img-txt-wrap03 h3,
  .img-txt-wrap03 h4 {
    width: 100%;
    font-weight: 900;
    font-size: 20px;
    line-height: 28px;
    color: #1d315a;
    font-family: "Montserrat", sans-serif;
    margin-bottom: 16px;
  }

  .img-txt-wrap03 h3 b,
  .img-txt-wrap03 h4 b {
    font-weight: bold;
    font-size: 14px;
    line-height: 26px;
    color: #1d315a;
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium",
      "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
    display: block;
    margin-top: 0;
  }

  .img-txt-wrap03 .txt-box p {
    font-size: 14px;
    line-height: 26px;
    color: #000;
    margin-bottom: 16px;
  }

  .img-txt-wrap03 .txt-box a {
    font-size: 14px;
    line-height: 24px;
    position: relative;
  }

  .img-txt-wrap03 .txt-box a:after {
    content: "";
    width: 9px;
    height: 9px;
    border-top: 2px solid #000;
    border-right: 2px solid #000;
    transform: rotate(45deg);
    display: inline-block;
    position: relative;
    top: -1px;
    margin-left: 8px;
  }

  .img-txt-wrap03 .txt-box a + a {
    margin-top: 8px;
    display: table;
  }

  .img-txt-wrap03 .img-box {
    width: 100%;
  }

  .img-txt-wrap03 .txt-box {
    padding-left: 0;
    padding-right: 0;
    width: 100%;
    margin-bottom: 16px;
  }

  .img-txt-wrap04 {
    margin: 0;
  }

  .img-txt-wrap04 + .img-txt-wrap04 {
    margin-top: 40px;
  }

  .img-txt-wrap04 .img-box {
    width: 100%;
  }

  .img-txt-wrap04 .txt-box {
    margin-top: 16px;
    width: 100%;
  }

  .img-txt-wrap04 .img-box img {
    width: 100%;
  }

  .img-txt-wrap04 .txt-box h3,
  .img-txt-wrap04 .txt-box h4 {
    font-weight: bold;
    font-size: 16px;
    line-height: 30px;
    margin-bottom: 16px;
  }

  .img-txt-wrap04 .txt-box h3 b,
  .img-txt-wrap04 .txt-box h4 b {
    font-weight: normal;
    font-size: 14px;
    line-height: 26px;
    display: block;
    margin-top: 0;
  }

  .img-txt-wrap04 .txt-box p {
    font-size: 14px;
    line-height: 26px;
    color: #898989;
    margin-bottom: 24px;
  }

  .img-txt-wrap04 dl {
    margin-bottom: 0;
  }

  .img-txt-wrap04 dl + dl {
    margin-top: 8px;
  }

  .img-txt-wrap04 dl dt {
    margin-bottom: 0;
    font-size: 14px;
    line-height: 26px;
    font-weight: bold;
  }

  .img-txt-wrap04 dl dd {
    margin-bottom: 0;
    font-size: 14px;
    line-height: 26px;
  }

  .ttl-txt-box01 + .img-txt-wrap05 {
    margin-top: 24px;
  }

  .img-txt-wrap05 ul + ul {
    margin-top: 32px;
  }

  .img-txt-wrap05 ul {
    padding: 0;
    margin-bottom: 0;
  }

  .img-txt-wrap05 li {
    width: 100%;
    margin-bottom: 0;
  }

  .img-txt-wrap05 li + li {
    margin-top: 32px;
  }

  .img-txt-wrap05 li figure {
    margin: 0;
  }

  .img-txt-wrap05 li img {
    width: 100%;
    height: auto;
    margin: 0;
  }

  .img-txt-wrap05 li figcaption {
    margin-top: 8px;
    font-size: 14px;
    line-height: 22px;
  }

  .img-txt-wrap05 li figcaption b {
    display: block;
    font-weight: bold;
    font-size: 16px;
    line-height: 22px;
    margin-bottom: 0;
  }

  .img-txt-wrap05 li dl {
    margin: 0;
  }

  .img-txt-wrap05 li dt {
    font-weight: bold;
    font-size: 16px;
    line-height: 30px;
    margin-bottom: 16px;
  }

  .img-txt-wrap05 li dt img {
    display: block;
    width: 100%;
    margin-top: 8px;
  }

  .img-txt-wrap05 li dd {
    font-weight: 500;
    font-size: 14px;
    line-height: 26px;
    margin-bottom: 0;
  }

  .img-txt-wrap06 ul {
    padding: 0;
    margin-bottom: 0;
  }

  .img-txt-wrap06._sp-col2 ul {
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    align-items: flex-start;
    -webkit-align-items: flex-start;
    -ms-flex-align: flex-start;
  }

  .img-txt-wrap06 li {
    width: 100%;
    margin-bottom: 0;
  }

  .img-txt-wrap06._sp-col2 li {
    width: 48.5%;
    margin-bottom: 0;
  }

  .img-txt-wrap06 li + li {
    margin-top: 32px;
  }

  .img-txt-wrap06._sp-col2 li + li {
    margin-top: 0;
    margin-left: 3%;
  }

  .img-txt-wrap06 li figure {
    margin: 0;
  }

  .img-txt-wrap06 li figure img {
    width: 100%;
    margin: 0;
  }

  .img-txt-wrap06 li figcaption {
    margin-top: 8px;
    font-size: 14px;
    line-height: 22px;
  }

  .img-txt-wrap06 li figcaption b {
    display: block;
    font-weight: bold;
    font-size: 16px;
    line-height: 22px;
    margin-bottom: 0;
  }

  .img-txt-wrap06 li dl {
    margin: 0;
  }

  .img-txt-wrap06 li dt {
    margin-bottom: 16px;
  }

  .img-txt-wrap06 li dt img {
    display: block;
    width: 100%;
    margin-top: 8px;
  }

  .img-txt-wrap06 li dd {
    margin-bottom: 0;
  }

  .img-txt-wrap06 li dd h4 {
    font-weight: bold;
    font-size: 16px;
    line-height: 16px;
  }

  .img-txt-wrap06 li dd p {
    font-size: 14px;
    line-height: 22px;
    margin-bottom: 0;
  }

  .img-txt-wrap06 li dd p .txt-cl-gray {
    font-size: 12px;
    font-weight: normal;
  }

  .img-txt-wrap06 li dd p a:after {
    content: "";
    width: 8px;
    height: 8px;
    border-top: 2px solid #333;
    border-right: 2px solid #333;
    transform: rotate(45deg);
    position: relative;
    top: -2px;
    display: inline-block;
    margin-left: 8px;
    transition: 0.3s;
  }

  .img-txt-wrap06 li dd p a:hover {
    color: #333;
  }

  .img-txt-wrap06 li dd p a:hover:after {
    border-top: 2px solid #333;
    border-right: 2px solid #333;
  }

  .img-txt-wrap06 li dd .remarks-txt {
    margin-top: 8px;
    font-weight: bold;
    font-size: 14px;
    line-height: 26px;
  }

  .img-txt-wrap06 li dd .sp-c-btn {
    overflow: hidden;
  }

  .img-txt-wrap06 li dd .r-btn {
    width: 100%;
  }

  .img-txt-list {
    width: 100%;
    padding: 0;
    margin-bottom: 0;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    align-items: flex-start;
    -webkit-align-items: flex-start;
    -moz-box-lines: multiple;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  .img-txt-list li {
    width: 100%;
    margin-bottom: 0;
  }

  .img-txt-list._sp-fst-w li + li {
    width: 48%;
  }

  .img-txt-list._sp-fst-w li:nth-child(3) {
    margin-left: 3%;
  }

  .img-txt-list._sp-col2 li {
    width: 48%;
    margin-left: 4%;
    margin-top: 24px;
  }

  .img-txt-list._sp-col2 li:nth-child(-n + 2) {
    margin-top: 0;
  }

  .img-txt-list._sp-col2 li:nth-child(2n + 1) {
    margin-left: 0;
  }

  .img-txt-list._sp-col3 li {
    width: 32%;
  }

  .img-txt-list._sp-col3 li + li {
    margin-left: 2%;
    margin-top: 0;
  }

  .img-txt-list li + li {
    margin-top: 24px;
  }

  .img-txt-list li figure {
    margin: 0;
    text-align: center;
  }

  .img-txt-list li figure img {
    width: 100%;
  }

  .img-txt-list li figcaption {
    font-weight: bold;
    font-size: 16px;
    line-height: 26px;
    margin-top: 8px;
    text-align: left;
  }

  .img-txt-list._sp-col3 li figcaption {
    font-size: 14px;
  }

  .img-txt-list li figcaption.txt01 {
    font-size: 14px;
    line-height: 1.4em;
    font-weight: normal;
    text-align: left;
  }

  .img-txt-list li figcaption.txt01 h4 {
    font-size: 14px;
    line-height: 1.4em;
    font-weight: bold;
    text-align: left;
    margin-bottom: 0;
  }

  .img-txt-list._sp-col-2 li {
    width: 48%;
    margin-left: 4%;
    margin-bottom: 4%;
  }

  .img-txt-list._sp-col-2 li + li {
    margin-top: 0;
  }

  .img-txt-list._sp-col-2 li:nth-child(2n + 1) {
    margin-left: 0;
  }

  .img-txt-list02 {
    width: 100%;
    padding: 0;
    margin-bottom: 0;
  }

  .img-txt-list02 li {
    width: 100%;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    align-items: flex-start;
    -webkit-align-items: flex-start;
  }

  .img-txt-list02 li + li {
    margin-top: 24px;
  }

  .img-txt-list02 li .img-box {
    width: 40%;
    margin-right: 4%;
  }

  .img-txt-list02 li .img-box img {
    width: 100%;
  }

  .img-txt-list02 li .txt-box {
    width: 56%;
  }

  .img-txt-list02 li .txt-box h4 {
    font-weight: 900;
    font-size: 20px;
    line-height: 28px;
    color: #1d315a;
    font-family: "Montserrat", sans-serif;
  }

  .img-txt-list02 li .txt-box h4 b {
    font-weight: bold;
    font-size: 14px;
    line-height: 26px;
    color: #1d315a;
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium",
      "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
    display: block;
    margin-top: 0;
  }

  .img-txt-list02 li .txt-box-inner {
    overflow: hidden;
    position: relative;
  }

  .img-txt-list03 {
    padding: 0;
    margin-bottom: 0;
  }

  .img-txt-list03 li {
    padding-bottom: 24px;
    border-bottom: 1px solid #cccccc;
  }

  .img-txt-list03 li + li {
    margin-top: 24px;
  }

  .img-txt-list03 dl {
    width: 100%;
    padding: 0;
    margin-bottom: 0;
  }

  .img-txt-list03 dl dt {
    width: 100%;
  }

  .img-txt-list03 dl dt img {
    width: 100%;
  }

  .img-txt-list03 dl dd {
    width: 100%;
    margin-top: 16px;
    margin-bottom: 0;
  }

  .img-txt-list03 dl dd h4 {
    font-weight: bold;
    font-size: 16px;
    line-height: 1.4em;
    margin-bottom: 8px;
  }

  .img-txt-list03 dl dd p.copy {
    font-size: 14px;
    line-height: 22px;
    margin-bottom: 0;
  }

  .img-txt-list03 dl dd p.price {
    font-size: 16px;
    line-height: 26px;
    text-align: right;
    font-weight: bold;
    margin-top: 8px;
    margin-bottom: 0;
  }

  .img-txt-list03 dl dd a.btn-entry {
    margin-left: auto;
    margin-right: auto;
  }

  /*
    .img-txt-list02 li .txt-box-inner:before{
        background: #fff;
        content: '';
        right: 0;
        bottom: 0;
        width: 24px;
        height: 18px;
        position: absolute;
    }

    .img-txt-list02 li .txt-box-inner:after{
        content: '...';
        right: 0;
        bottom: 0;
        width: 12px;
        height: 18px;
        position: absolute;
        color: #898989;
        line-height: 10px;
    }
    */

  .img-txt-list02 li .txt-box p {
    margin-bottom: 0;
    font-size: 12px;
    line-height: 18px;
    color: #898989;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    text-overflow: ellipsis;
    display: -webkit-box;
  }

  .img-txt-list02 li a {
    margin-top: 16px;
  }

  .plan-sort-nav-wrap {
    width: 100%;
    margin: 40px 0 32px 0;
  }
  .plan-sort-nav-wrap .sp-scroll {
    overflow-x: scroll;
  }

  .plan-sort-nav-wrap p {
    margin: 0;
    font-size: 12px;
    line-height: 2em;
  }

  .plan-sort-nav-wrap ul {
    width: max-content;
    padding-inline-start: 0;
    padding: 0;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    align-items: flex-start;
    -webkit-align-items: flex-start;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-bottom: 24px;
  }

  .plan-sort-nav-wrap li {
    margin-bottom: 0;
  }

  .plan-sort-nav-wrap li + li {
    margin-left: 16px;
  }

  .plan-sort-nav-wrap li a,
  .plan-sort-nav-wrap li span {
    background: #f2f2f2;
    border: 1px solid #898989;
    border-radius: 100px;
    font-weight: bold;
    font-size: 12px;
    line-height: 27px;
    padding: 0 16px;
    color: #898989;
    transition: 0.3s;
    display: block;
  }

  .plan-sort-nav-wrap li.active a,
  .plan-sort-nav-wrap li.active span,
  .plan-sort-nav-wrap li a:hover,
  .plan-sort-nav-wrap li.active a:hover {
    background: #1d315a;
    border: 1px solid #1d315a;
    color: #fff;
  }

  .plan-list-wrap {
    width: 92%;
    border: 1px solid #cccccc;
    padding: 16px;
    position: relative;
    overflow: hidden;
    margin-right: auto;
    margin-left: auto;
  }

  .plan-list-wrap .ad-reservation {
    position: absolute;
    top: 0;
    right: 0;
    font-size: 12px;
    color: #898989;
    padding-left: 16px;
    display: inline-block;
    vertical-align: middle;
    line-height: 20px;
    font-weight: bold;
  }

  .plan-list-wrap .ad-reservation:before {
    content: "";
    background: url("../img/common/phone-icon.png") no-repeat center center;
    background-size: cover;
    width: 9.3px;
    height: 16px;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
  }

  .plan-list-wrap .plan-ttl {
    font-weight: bold;
    font-size: 18px;
    line-height: 26px;
    margin-bottom: 8px;
    position: relative;
    padding-right: 4em;
  }

  .plan-list-wrap .plan-txt {
    font-size: 14px;
    line-height: 26px;
    padding-bottom: 16px;
    border-bottom: 1px solid #cccccc;
    margin-bottom: 16px;
  }

  .plan-list-wrap .read-item-inner {
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  .plan-list-wrap .read-item-inner .box01 {
    width: 100%;
  }

  .plan-list-wrap .read-item-inner .box01 + .box02 {
    width: 100%;
    order: -1;
    margin-bottom: 16px;
  }

  .plan-list-wrap .read-item-inner .box03 {
    width: 100%;
    order: 3;
    margin-bottom: 24px;
  }

  .plan-list-wrap .read-item-inner .box02 img {
    width: 100%;
  }

  .plan-list-wrap .read-item-inner .box03 dl {
    margin-bottom: 0;
  }

  .plan-list-wrap .read-item-inner .box03 dl + dl {
    margin-top: 16px;
  }

  .plan-list-wrap .read-item-inner .box03 dt {
    font-weight: bold;
    font-size: 14px;
    line-height: 26px;
    margin-bottom: 0;
  }

  .plan-list-wrap .read-item-inner .box03 dd {
    font-size: 14px;
    line-height: 26px;
    margin-top: 0;
    margin-bottom: 0;
  }

  .plan-list-wrap .read-item-inner .box04 {
    margin-bottom: 24px;
  }

  .plan-list-wrap .read-item-inner .box04 .table-wrap {
    margin-bottom: 24px;
  }

  .plan-list-wrap .read-item-inner .box04 table {
    width: 100%;
  }

  .plan-list-wrap .read-item-inner .box04 thead {
    border-bottom: 2px solid #cccccc;
    font-size: 14px;
  }

  .plan-list-wrap .read-item-inner .box04 th,
  .plan-list-wrap .read-item-inner .box04 td {
    padding: 8px 0;
    vertical-align: middle;
  }

  .plan-list-wrap .read-item-inner .box04 td {
    font-size: 14px;
    line-height: 24px;
  }

  .plan-list-wrap .read-item-inner .box04 td:first-child {
    padding-right: 8px;
  }

  .plan-list-wrap .read-item-inner .box04 td + td {
    padding: 0 4px;
  }

  .plan-list-wrap .read-item-inner .box04 td:last-child {
    padding-right: 0;
  }

  .plan-list-wrap .read-item-inner .box04 tr {
    border-bottom: 1px solid #cccccc;
  }

  .plan-list-wrap .read-item-inner .box04 td + td b {
    font-weight: normal;
    display: block;
  }

  .plan-list-wrap .read-item-inner .box04 dl {
    margin-bottom: 0;
  }

  .plan-list-wrap .read-item-inner .box04 dl + dl {
    margin-top: 16px;
  }

  .plan-list-wrap .read-item-inner .box04 dt {
    font-weight: bold;
    font-size: 14px;
    line-height: 26px;
    margin-bottom: 0;
  }

  .plan-list-wrap .read-item-inner .box04 dd {
    font-size: 14px;
    line-height: 26px;
    margin-bottom: 0;
  }

  .plan-list-wrap a.btn-entry,
  .plan-list-wrap a.btn-basic {
    max-width: 100%;
    display: block;
    margin-top: 0;
    margin-bottom: 16px;
  }

  .plan-list-wrap.slide .read-item-inner .box01 + .box02 {
    order: 0;
  }

  .plan-list-wrap.slide .plan-txt {
    margin-bottom: 8px;
  }

  .ttl-txt-link-box01 {
    width: 100%;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    align-items: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    -moz-box-lines: multiple;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  .ttl-txt-link-box01 + .ttl-txt-link-box01 {
    margin-top: 32px;
  }

  .ttl-txt-link-box01 h3,
  .ttl-txt-link-box01 h4 {
    width: 100%;
    margin: 0 0 16px 0;
    padding: 0;
    font-weight: bold;
    font-size: 16px;
    line-height: 26px;
  }

  .ttl-txt-link-box01 .txt-box {
    width: 100%;
  }

  .ttl-txt-link-box01 .link-box {
    width: 90%;
    margin-top: 24px;
    margin-right: auto;
    margin-left: auto;
  }

  .ttl-txt-link-box01 .link-box a {
    max-width: 100%;
  }

  .ttl-txt-link-box01 .txt-box dl {
    width: 100%;
    margin-bottom: 0;
  }

  .ttl-txt-link-box01 .txt-box dl + dl {
    margin-top: 8px;
  }

  .ttl-txt-link-box01 .txt-box dl dt {
    font-weight: bold;
    font-size: 14px;
    line-height: 24px;
    margin-bottom: 0;
  }

  .ttl-txt-link-box01 .txt-box dl dt b {
    color: #898989;
    display: block;
    font-weight: normal;
    font-size: 14px;
  }

  .ttl-txt-link-box01 .txt-box dl dd {
    font-size: 14px;
    line-height: 24px;
    margin-top: 0;
    margin-bottom: 0;
  }

  .interview-wrap {
    margin-top: 32px;
    margin-bottom: 0;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    align-items: flex-start;
    -webkit-align-items: flex-start;
    -ms-flex-align: flex-start;
  }

  .interview-wrap .img-box {
    width: 40%;
    margin-right: 4%;
    margin-bottom: 16px;
  }

  .interview-wrap .img-box img {
    width: 100%;
  }

  .interview-wrap .txt-box {
    width: 56%;
  }

  .interview-wrap .txt-box .comment {
    font-weight: normal;
    font-size: 14px;
    line-height: 1.6em;
    margin-bottom: 16px;
  }

  .interview-wrap .txt-box .about {
    font-size: 12px;
    line-height: 1.6em;
    margin-bottom: 0;
    margin-top: 0;
  }

  .dl01 {
    width: 100%;
    display: flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    align-items: flex-start;
    -webkit-align-items: flex-start;
    -ms-flex-align: flex-start;
    margin-bottom: 0;
  }

  .dl01 dt {
    width: 30%;
    margin-right: 2%;
    font-weight: bold;
    font-size: 14px;
    line-height: 30px;
  }

  .dl01 dd {
    width: 68%;
    margin-bottom: 0;
    font-size: 14px;
    line-height: 25px;
  }

  /* タブ

---------------------------------------- */
  .tab-wrap01 {
    padding: 0;
  }

  .tab-wrap01 .sp-scroll {
    width: 100%;
    overflow-x: scroll;
    margin-bottom: 32px;
  }

  .tab-wrap01 .tab-nav01 {
    width: max-content;
    padding-inline-start: 0;
    padding: 0 0 8px 0;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    align-items: flex-start;
    -webkit-align-items: flex-start;
    margin-bottom: 0;
  }

  .tab-wrap01 .tab-nav01 li {
    text-align: center;
  }

  .tab-wrap01 .tab-nav01 li + li {
    margin-left: 1%;
  }

  .tab-wrap01 .tab-nav01 li a {
    color: #898989;
    font-weight: bold;
    font-size: 14px;
    text-align: center;
    border: 1px solid #898989;
    box-sizing: border-box;
    border-radius: 100px;
    background: #f2f2f2;
    display: block;
    line-height: 27px;
    transition: 0.3s;
    vertical-align: middle;
    padding: 0 16px;
    white-space: nowrap;
  }

  .tab-wrap01 .tab-nav01 li.active a {
    color: #fff;
    background: #1d315a;
    border: 1px solid #1d315a;
  }

  /* アコーディオン

---------------------------------------- */

  .acc-box02 .acc-item > h4 {
    width: 100%;
    background: #f2f2f2;
    font-weight: bold;
    font-size: 16px;
    line-height: 1.4em;
    color: #1d315a;
    height: auto;
    vertical-align: middle;
    position: relative;
    padding-top: 16px;
    padding-bottom: 16px;
    padding-left: 66px;
    padding-right: 32px;
    margin-bottom: 0;
  }

  .faq-list .acc-box02 .acc-item > h4,
  .epic-pass-faq-wrap .acc-box02 .acc-item > h4 {
    font-size: 14px;
  }

  .epic-pass-faq-wrap .acc-box02 .acc-item p {
    font-size: 12px;
    line-height: 24px;
  }

  .acc-box02 .acc-item > h4 b {
    font-size: 14px;
    line-height: 1.2em;
    display: block;
    color: #898989;
  }

  .acc-box02 .acc-item > h4:before {
    background: #1d315a;
    height: 100%;
    width: 50px;
    position: absolute;
    left: 0;
    top: 0;
    content: "";
    z-index: 1;
  }

  .acc-box02 .acc-item > h4.amuse:after {
    content: "";
    background: url("../img/amusement-park/amusement-park-nav-icon01.png")
      no-repeat center center;
    background-size: cover;
    position: absolute;
    left: 9px;
    top: 50%;
    transform: translateY(-50%);
    width: 31px;
    height: 31px;
    z-index: 2;
  }

  /* ジェットコースター */
  .acc-box02 .acc-item > h4.atr-icon01:after {
    content: "";
    background: url("../svg/icon_coaster.svg") no-repeat center center;
    background-size: cover;
    position: absolute;
    left: 9px;
    top: 50%;
    transform: translateY(-50%);
    width: 30px;
    height: 30px;
    z-index: 2;
  }

  /* スリルランド */
  .acc-box02 .acc-item > h4.atr-icon02:after {
    content: "";
    background: url("../svg/icon_thrill-land.svg") no-repeat center center;
    background-size: cover;
    position: absolute;
    left: 9px;
    top: 50%;
    transform: translateY(-50%);
    width: 30px;
    height: 30px;
    z-index: 2;
  }

  /* カート・トレイン */
  .acc-box02 .acc-item > h4.atr-icon03:after {
    content: "";
    background: url("../svg/icon_train.svg") no-repeat center center;
    background-size: cover;
    position: absolute;
    left: 9px;
    top: 50%;
    transform: translateY(-50%);
    width: 30px;
    height: 30px;
    z-index: 2;
  }

  /* こどもランド */
  .acc-box02 .acc-item > h4.atr-icon04:after {
    content: "";
    background: url("../svg/icon_kids.svg") no-repeat center center;
    background-size: cover;
    position: absolute;
    left: 9px;
    top: 50%;
    transform: translateY(-50%);
    width: 30px;
    height: 30px;
    z-index: 2;
  }

  /* アミューズメント */
  .acc-box02 .acc-item > h4.atr-icon05:after {
    content: "";
    background: url("../svg/icon_wheel.svg") no-repeat center center;
    background-size: cover;
    position: absolute;
    left: 9px;
    top: 50%;
    transform: translateY(-50%);
    width: 30px;
    height: 30px;
    z-index: 2;
  }

  /* 羊蹄パノラマテラス */
  .acc-box02 .acc-item > h4.atr-icon06:after {
    content: "";
    background: url("../svg/icon_mountain.svg") no-repeat center center;
    background-size: cover;
    position: absolute;
    left: 9px;
    top: 50%;
    transform: translateY(-50%);
    width: 30px;
    height: 30px;
    z-index: 2;
  }

  /* プール */
  .acc-box02 .acc-item > h4.atr-icon07:after {
    content: "";
    background: url("../svg/icon_pool.svg") no-repeat center center;
    background-size: cover;
    position: absolute;
    left: 9px;
    top: 50%;
    transform: translateY(-50%);
    width: 30px;
    height: 30px;
    z-index: 2;
  }

  /* 屋内施設 */
  .acc-box02 .acc-item > h4.atr-icon08:after {
    content: "";
    background: url("../svg/icon_indoor.svg") no-repeat center center;
    background-size: cover;
    position: absolute;
    left: 9px;
    top: 50%;
    transform: translateY(-50%);
    width: 30px;
    height: 30px;
    z-index: 2;
  }

  /* レストラン・売店 */
  .acc-box02 .acc-item > h4.atr-icon09:after {
    content: "";
    background: url("../svg/icon_eat.svg") no-repeat center center;
    background-size: cover;
    position: absolute;
    left: 9px;
    top: 50%;
    transform: translateY(-50%);
    width: 30px;
    height: 30px;
    z-index: 2;
  }

  /* ゴンドラ・リフト */
  .acc-box02 .acc-item > h4.trail:after {
    content: "";
    background: url("../svg/icon_gondola.svg") no-repeat center center;
    background-size: cover;
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    width: 31px;
    height: 31px;
    z-index: 2;
  }

  /* 山 */
  .acc-box02 .acc-item > h4.mountain:after {
    content: "";
    background: url("../svg/icon_mountain.svg") no-repeat center center;
    background-size: cover;
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    width: 31px;
    height: 31px;
    z-index: 2;
  }

  /* 食事 */
  .acc-box02 .acc-item > h4.eat:after {
    content: "";
    background: url("../svg/icon_mice-eat.svg") no-repeat center center;
    background-size: cover;
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    width: 31px;
    height: 31px;
    z-index: 2;
  }

  /* スキー */
  .acc-box02 .acc-item > h4.ski:after {
    content: "";
    background: url("../svg/icon_ski.svg") no-repeat center center;
    background-size: cover;
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    width: 31px;
    height: 31px;
    z-index: 2;
  }

  /* スノーボード */
  .acc-box02 .acc-item > h4.snob:after {
    content: "";
    background: url("../svg/icon_snowboard.svg") no-repeat center center;
    background-size: cover;
    position: absolute;
    left: 8px;
    top: 50%;
    transform: translateY(-50%);
    width: 31px;
    height: 31px;
    z-index: 2;
  }

  /* スキーウェア */
  .acc-box02 .acc-item > h4.ski-we:after {
    content: "";
    background: url("../svg/icon_wear.svg") no-repeat center center;
    background-size: cover;
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    width: 31px;
    height: 31px;
    z-index: 2;
  }

  /* 質問 */
  .acc-box02 .acc-item > h4.ques:after {
    content: "";
    background: url("../svg/icon_faq.svg") no-repeat center center;
    background-size: cover;
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    width: 31px;
    height: 31px;
    z-index: 2;
  }

  /* バス */
  .acc-box02 .acc-item > h4.bus:after {
    content: "";
    background: url("../svg/icon_bus.svg") no-repeat center center;
    background-size: cover;
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    width: 31px;
    height: 31px;
    z-index: 2;
  }

  .acc-box02 .acc-item > h4.golf-play:after {
    content: "";
    background: url("../svg/icon_golf-play.svg") no-repeat center center;
    background-size: cover;
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    width: 31px;
    height: 31px;
    z-index: 2;
  }

  .acc-box02 .acc-item > h4.golf-ball:after {
    content: "";
    background: url("../svg/icon_golf-cup.svg") no-repeat center center;
    background-size: cover;
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    width: 31px;
    height: 31px;
    z-index: 2;
  }

  .acc-box02 .acc-item > h4.golf-comp:after {
    content: "";
    background: url("../svg/icon_golf_pass.svg") no-repeat center center;
    background-size: cover;
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    width: 31px;
    height: 31px;
    z-index: 2;
  }

  .acc-box02 .acc-item > h4.golf-hole:after {
    content: "";
    background: url("../svg/icon_golf-course.svg") no-repeat center center;
    background-size: cover;
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    width: 31px;
    height: 31px;
    z-index: 2;
  }

  .acc-box02 .acc-item > h4.camp:after {
    content: "";
    background: url("../svg/icon_tent.svg") no-repeat center center;
    background-size: cover;
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    width: 30px;
    height: 30px;
    z-index: 2;
  }

  .acc-box02 .acc-item > h4.pass:after {
    content: "";
    background: url("../img/winter-season-passes/pass-icon.svg") no-repeat
      center center;
    background-size: cover;
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    width: 30px;
    height: 21px;
    z-index: 2;
  }

  /* 宿泊施設 */
  .acc-box02 .acc-item > h4.hotel:after {
    content: "";
    background: url("../svg/icon_educational.svg") no-repeat center center;
    background-size: cover;
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    width: 30px;
    height: 30px;
    z-index: 2;
  }

  /* 施設 */
  .acc-box02 .acc-item > h4.facilities:after {
    content: "";
    background: url("../svg/icon_hotel.svg") no-repeat center center;
    background-size: cover;
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    width: 30px;
    height: 30px;
    z-index: 2;
  }

  /* アクティビティ */
  .acc-box02 .acc-item > h4.activity:after {
    content: "";
    background: url("../svg/icon_activity.svg") no-repeat center center;
    background-size: cover;
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    width: 30px;
    height: 30px;
    z-index: 2;
  }

  /* ひつじひろば */
  .acc-box02 .acc-item > h4.sheep:after {
    content: "";
    background: url("../svg/icon_sheep.svg") no-repeat center center;
    background-size: cover;
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    width: 30px;
    height: 30px;
    z-index: 2;
  }

  /* スキースクール */
  .acc-box02 .acc-item > h4.school:after {
    content: "";
    background: url("../svg/icon_sking.svg") no-repeat center center;
    background-size: cover;
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    width: 30px;
    height: 30px;
    z-index: 2;
  }

  /* ショップ */
  .acc-box02 .acc-item > h4.shop:after {
    content: "";
    background: url("../svg/icon_rental.svg") no-repeat center center;
    background-size: cover;
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    width: 30px;
    height: 30px;
    z-index: 2;
  }

  /* インドアアクティビティ */
  .acc-box02 .acc-item > h4.indoor-activity:after {
    content: "";
    background: url("../svg/icon_indoor-active.svg") no-repeat center center;
    background-size: cover;
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    width: 30px;
    height: 30px;
    z-index: 2;
  }

  /* アメニティ */
  .acc-box02 .acc-item > h4.amenity:after {
    content: "";
    background: url("../svg/icon_amenity.svg") no-repeat center center;
    background-size: cover;
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    width: 30px;
    height: 30px;
    z-index: 2;
  }

  /* ウィンターアクティビティ */
  .acc-box02 .acc-item > h4.win-activity:after {
    content: "";
    background: url("../svg/icon_win-active.svg") no-repeat center center;
    background-size: cover;
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    width: 30px;
    height: 30px;
    z-index: 2;
  }

  .acc-box02 .acc-item > h4 > i {
    width: 10px;
    height: 10px;
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
  }

  .acc-box02 .acc-item > h4 > i:before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 100%;
    height: 2px;
    background: #1d315a;
  }

  .acc-box02 .acc-item > h4 > i:after {
    content: "";
    position: absolute;
    left: 50%;
    top: 0;
    transform: translateX(-50%);
    width: 2px;
    height: 100%;
    background: #1d315a;
    transition: 0.3s;
    opacity: 1;
  }

  .acc-box02 .acc-item h4.open i:after {
    opacity: 0;
  }

  .acc-box02 .acc-item + .acc-item {
    margin-top: 16px;
  }

  .acc-box02 .acc-item-inner {
    display: none;
    padding-top: 24px;
    padding-bottom: 32px;
    position: relative;
  }

  .acc-box02 .acc-item-inner.open {
    display: block;
    padding-bottom: 32px;
    position: relative;
  }

  .acc-box02 .acc-item-inner:before {
    content: "";
    width: 0;
    height: 0;
    border-left: 16px solid transparent;
    border-right: 16px solid transparent;
    border-top: 16px solid #f2f2f2;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
  }

  .acc-box02 .acc-item-inner._col-2 div + div {
    margin-top: 32px;
  }

  .acc-btn01 {
    border: 0;
    outline: none;
    background-image: none;
    box-shadow: none;
    -webkit-appearance: none;
    appearance: none;
    border-radius: 0;
    position: relative;
    padding: 0 0 0 40px;
    margin-bottom: 24px;
    cursor: pointer;
    background-color: #fff;
    font-weight: bold;
    font-size: 16px;
    line-height: 26px;
    color: #1d315a;
    transition: 0.3s;
  }

  .acc-btn01:focus {
    outline: none;
  }

  .acc-btn01 i:before {
    content: "";
    position: absolute;
    bottom: 50%;
    left: 0;
    width: 14px;
    height: 14px;
    border-top: 2px solid #1d315a;
    border-right: 2px solid #1d315a;
    transform: rotate(135deg) translateY(-50%);
    transition: 0.3s;
    -webkit-transition: 0.3s;
  }

  .acc-btn01.is-show i:before {
    bottom: 0;
    left: 8px;
    transform: rotate(-45deg) translateY(-50%);
  }

  /* さらに読む

---------------------------------------- */

  .read-more {
    position: relative;
  }
  .read-btn {
    width: 100%;
    font-weight: bold;
    color: #1d315a;
    font-size: 16px;
    letter-spacing: 0.1em;
    text-align: center;
    line-height: 1.5em;
    padding: 0.5% 0;
    z-index: 3;
    position: absolute;
    right: 0;
    bottom: 16px;
    left: 0;
    margin: auto;
    cursor: pointer;
    transition: 0.2s ease;
    border-radius: 3px;
  }

  .read-btn::after {
    content: "詳細をみる";
    vertical-align: middle;
    transition: 0.3s;
    -webkit-transition: 0.3s;
  }

  .read-btn::before {
    content: "";
    position: absolute;
    bottom: 8px;
    left: 6em;
    width: 14px;
    height: 14px;
    border-top: 1.5px solid #1d315a;
    border-right: 1.5px solid #1d315a;
    transform: rotate(135deg);
    transition: 0.3s;
    -webkit-transition: 0.3s;
  }

  .read-btn .fa {
    margin-right: 0.5em;
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: scale(0.5);
    transform: scale(0.5);
  }
  .read-item {
    position: relative;
    overflow: hidden;
    height: 350px;
    transition: 0.3s;
    -webkit-transition: 0.3s;
  }

  .read-item::before {
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 60px; /*グラデーションで隠す高さ*/
    background: -webkit-linear-gradient(
      rgba(255, 255, 255, 0) 0%,
      rgba(255, 255, 255, 0.7) 30%,
      rgba(255, 255, 255, 0.9) 50%,
      #fff 100%
    );
    background: -o-linear-gradient(
      rgba(255, 255, 255, 0) 0%,
      rgba(255, 255, 255, 0.7) 30%,
      rgba(255, 255, 255, 0.9) 50%,
      #fff 100%
    );
    background: linear-gradient(
      rgba(255, 255, 255, 0) 0%,
      rgba(255, 255, 255, 0.7) 30%,
      rgba(255, 255, 255, 0.9) 50%,
      #fff 100%
    );
    -pie-background: linear-gradient(
      rgba(255, 255, 255, 0) 0%,
      rgba(255, 255, 255, 0.7) 30%,
      rgba(255, 255, 255, 0.9) 50%,
      #fff 100%
    );
    content: "";
    z-index: 2;
  }

  .read-trigger {
    display: none;
  }
  .read-trigger:checked ~ .read-btn {
    bottom: 16px;
  }
  .read-trigger:checked ~ .read-btn::after {
    content: "閉じる";
    vertical-align: middle;
  }
  .read-trigger:checked ~ .read-btn .fa {
    transform: rotate(180deg) scale(0.5);
    -webkit-transform: rotate(180deg) scale(0.5);
    -moz-transform: rotate(180deg) scale(0.5);
  }
  .read-trigger:checked ~ .read-item {
    height: auto;
    padding-bottom: 40px;
    opacity: 1;
  }
  .read-trigger:checked ~ .read-item::before {
    display: none;
  }

  .read-trigger:checked ~ .read-btn::before {
    transform: rotate(-45deg);
    bottom: 4px;
  }

  .faq-list .acc-item-inner p a {
    text-decoration: underline;
  }

  .grad-item {
    position: relative;
    overflow: hidden;
  }

  .grad-item.is-hide {
    height: 80px; /*隠した後の高さ*/
  }

  .grad-trigger.is-show {
    bottom: -2em;
  }

  /* 動画

---------------------------------------- */
  .movie-wrap {
    position: relative;
    padding: 0;
    margin: 0 auto 0 auto;
  }

  .movie-wrap-inner {
    position: relative;
    padding-bottom: 56.25%; /*アスペクト比 16:9の場合の縦幅*/
    height: 0;
  }

  .movie-wrap iframe.movie {
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
  }

  /* リスト系

---------------------------------------- */

  .list-wrap01 {
    padding-inline-start: 0;
    display: flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    align-items: flex-start;
    -webkit-align-items: flex-start;
    -ms-flex-align: flex-start;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  .list-wrap01 > li {
    width: 48%;
    margin-left: 4%;
    margin-top: 24px;
  }

  .list-wrap01 > li:nth-child(2n + 1) {
    margin-left: 0;
  }

  .list-wrap01 > li:nth-child(-n + 2) {
    margin-top: 0;
  }

  .list-wrap01 li figure img {
    width: 100%;
  }

  .list-wrap01 li figure {
    margin: 0;
  }

  .list-wrap01 li figure a {
    display: block;
    transition: 0.3s;
  }

  .list-wrap01 li figure a:hover .item-title {
    color: #1d315a;
  }

  .list-wrap01 li figcaption {
    margin-top: 8px;
    line-height: 1.2em;
  }

  .list-wrap01 li .item-title {
    font-weight: bold;
    font-size: 14px;
    line-height: 16px;
  }

  .list-wrap01 li .item-sub-title {
    display: block;
    font-size: 12px;
    line-height: 13px;
    font-weight: normal;
    color: #898989;
    margin-top: 8px;
  }

  .list-wrap01 li .item-status {
    display: block;
    font-size: 11px;
    line-height: 18px;
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    margin-top: 4px;
  }

  .list-wrap01 li .item-status.on {
    color: #ebc34a;
  }

  .list-wrap01 li .item-status.off {
    color: #898989;
  }

  .list-wrap01 li .item-img {
    position: relative;
    margin-bottom: 0;
  }

  .list-wrap01 li .reserve-type {
    position: absolute;
    right: 5px;
    bottom: 5px;
    word-break: keep-all;
    text-align: center;
    display: inline-block;
    border: 1px solid #fff;
    padding: 5px 5px;
    font-size: 11px;
    color: #fff;
  }

  .txt-list {
    width: 100%;
    max-width: 100%;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    align-items: flex-start;
    -webkit-align-items: flex-start;
    -ms-flex-align: flex-start;
    -moz-box-lines: multiple;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-bottom: 0;
    padding: 0;
  }

  .txt-list li {
    list-style: inside;
    font-size: 14px;
    line-height: 24px;
    vertical-align: bottom;
  }

  .txt-list li b {
    font-size: 10px;
    font-weight: normal;
  }

  .txt-list.col-3 li {
    width: 100%;
  }

  .txt-list.col-3 li + li {
    margin-left: 0;
    margin-top: 8px;
  }

  /* その他ナビゲーション

---------------------------------------- */
  .area-nav {
    width: 100%;
    margin-top: 40px;
    margin-left: auto;
    margin-right: auto;
    padding: 0 16px;
  }

  .area-nav ul {
    display: flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    align-items: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding-inline-start: 0;
  }

  .area-nav li {
    list-style: none;
    padding: 0;
    text-align: center;
    line-height: 16px;
    position: relative;
  }

  .area-nav._col-4 li:nth-child(2n + 1) {
    margin-left: 0;
  }

  .area-nav li:after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    width: 0;
    height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 8px solid #898989;
    transform: translateX(-50%);
  }

  .area-nav li:first-child,
  .area-nav li:nth-child(2) {
    width: 50%;
  }

  .area-nav li:first-child,
  .area-nav li:nth-child(2) {
    width: 50%;
  }

  .area-nav li:nth-child(3),
  .area-nav li:nth-child(4),
  .area-nav li:nth-child(5) {
    width: 33%;
    line-height: 15px;
    margin-top: 16px;
  }

  .area-nav._col-4 li,
  .area-nav._col-4 li:nth-child(3),
  .area-nav._col-4 li:nth-child(4) {
    width: 50%;
  }

  .area-nav li:nth-child(3):before {
    display: none;
  }

  .area-nav li + li:before {
    content: "";
    width: 1px;
    height: 100%;
    background: #ccc;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
  }

  .area-nav li a {
    display: block;
    font-weight: bold;
    font-size: 14px;
    color: #000;
    transition: 0.3s;
    text-align: center;
    padding-bottom: 16px;
  }

  .area-nav._col-3 li {
    width: 33.3%;
    padding: 0 2%;
  }

  .area-nav._col-3 li:nth-child(3) {
    margin-top: 0;
  }

  .area-nav._col-3 li:nth-child(3):before {
    display: block;
  }

  .sp-scroll-after {
    position: relative;
  }

  .sp-scroll-after:after {
    background: linear-gradient(
      90deg,
      rgba(255, 255, 255, 0) 0%,
      #fff 99.98%,
      #fff 99.99%,
      rgba(0, 0, 0, 0) 100%
    );
    position: absolute;
    right: 0;
    top: 0;
    content: "";
    width: 30px;
    height: 100%;
  }

  .page-nav01 {
    margin-bottom: 40px;
    padding-left: 16px;
    padding-right: 16px;
    overflow-x: scroll;
  }

  .page-nav01 ul {
    width: max-content;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    padding-left: 0;
    padding-right: 16px;
    padding-bottom: 8px;
    margin-bottom: 0;
  }

  .page-nav01 ul li {
    width: 90px;
    text-align: center;
    margin-bottom: 0;
    padding: 6px 0 4px 0;
    position: relative;
    border-left: 1px solid #cccccc;
  }

  .page-nav01._col-2 ul,
  .page-nav01._col-3 ul,
  .page-nav01._col-4 ul {
    width: 100%;
    padding-right: 0;
  }

  .page-nav01._col-2 li {
    width: 50%;
  }

  .page-nav01._col-3 li {
    width: 33.3%;
  }

  .page-nav01._col-4 li {
    width: 25%;
  }

  .page-nav01 ul li:last-child {
    border-right: 1px solid #cccccc;
  }

  .page-nav01 ul li.active:before {
    content: "";
    background: #1d315a;
    width: 100%;
    height: 5px;
    position: absolute;
    bottom: -7px;
    left: 0;
  }

  .page-nav01 ul li a,
  .page-nav01 ul li span {
    padding-left: 0;
    padding-right: 0;
  }

  .page-nav01 ul li.active b {
    color: #1d315a;
  }

  .page-nav01 ul li svg.img-svg path,
  .page-nav01 ul li svg.img-svg rect,
  .page-nav01 ul li svg.img-svg polygon {
    fill: #898989;
  }

  .page-nav01 ul li.active svg.img-svg path,
  .page-nav01 ul li.active svg.img-svg rect,
  .page-nav01 ul li.active svg.img-svg polygon {
    fill: #1d315a;
  }

  .page-nav01._col-2 {
    overflow-x: visible;
  }

  .page-nav01 ul li b {
    display: block;
    margin-top: 8px;
    font-size: 10px;
    line-height: 14px;
    font-weight: normal;
    color: #898989;
  }

  .page-nav01 ul li i {
    width: 30px;
    height: 30px;
    display: block;
    margin-left: auto;
    margin-right: auto;
  }

  .page-nav01 ul li i img {
    width: 100%;
  }

  .page-nav01 ul li i svg.img-svg {
    width: 30px;
    height: 30px;
  }

  .page-nav01 li .sub-cate-list {
    position: absolute;
    z-index: 2;
    top: 120%;
    left: 50%;
    display: none;
    width: 100%;
    height: auto;
    padding: 16px;
    text-align: center;
    border-radius: 6px;
    background: #fff;
    box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.15);
    transform: translateX(-50%);
    border: 1px solid #cccccc;
  }

  .page-nav01 li.is-show .sub-cate-list {
    display: block;
  }

  .page-nav01 li .sub-cate-list .box-arrow {
    width: 100%;
    height: 20px;
    overflow: hidden;
    z-index: -1;
    position: absolute;
    left: 0;
    top: -20px;
  }

  .page-nav01 li .sub-cate-list .box-arrow:after {
    position: absolute;
    bottom: 0;
    left: 50%;
    margin-left: -10px;
    content: " ";
    border: 10px solid transparent;
    border-bottom-color: #fff;
    z-index: 2;
  }

  .page-nav01 li .sub-cate-list .box-arrow:before {
    position: absolute;
    bottom: 0;
    left: 50%;
    margin-left: -11px;
    content: " ";
    border: 11px solid transparent;
    border-bottom-color: #cccccc;
    z-index: 1;
  }

  .page-nav01 .sub-cate-list ul {
    width: 100%;
    display: block;
    padding-left: 0;
    padding-right: 0;
  }

  .page-nav01 .sub-cate-list li {
    width: auto;
    text-align: left;
    margin-bottom: 0;
    float: none;
    border: 0;
    padding: 0;
  }

  .page-nav01 .sub-cate-list li + li {
    margin-left: 0;
    margin-top: 8px;
    padding: 0;
    border: 0;
  }

  .page-nav01 .sub-cate-list a {
    background: none;
    border: 0;
    border-radius: 0;
    padding: 0;
    font-size: 12px;
  }

  /* ニュース・ブログ・イベント・コラム一覧

---------------------------------------- */

  .section-inner.news-list-wrap,
  .section-inner.blog-list-wrap,
  .section-inner.events-list-item,
  .section-inner.column-list-item,
  .section-inner.mice-program-item {
    width: 94%;
    padding-left: 0;
    padding-right: 0;
    margin-left: auto;
    margin-right: auto;
  }

  .article-list + .article-list .section-inner.news-list-wrap:first-child,
  .article-list + .article-list .section-inner.blog-list-wrap:first-child,
  .article-list + .article-list .section-inner.events-list-item:first-child,
  .article-list + .article-list .section-inner.column-list-item:first-child,
  .article-list + .article-list .section-inner.mice-program-item:first-child {
    margin-top: 24px;
    padding-top: 24px;
    border-top: 1px solid #cccccc;
  }

  .events-list-item + a.btn-basic,
  .article-list + .moreread {
    margin-top: 40px;
  }

  .news-list-wrap a,
  .blog-list-wrap a,
  .events-list-item a,
  .column-list-item a,
  .mice-program-item a,
  .events-list-item .inner {
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
  }

  .news-list-wrap + .news-list-wrap,
  .blog-list-wrap + .blog-list-wrap,
  .events-list-item + .events-list-item,
  .column-list-item + .column-list-item,
  .mice-program-item + .mice-program-item {
    border-top: 1px solid #cccccc;
    padding-top: 24px;
    margin-top: 24px;
  }

  .news-list-wrap .txt-box,
  .blog-list-wrap .txt-box,
  .events-list-item .txt-box,
  .column-list-item .txt-box,
  .mice-program-item .txt-box {
    width: 55%;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    -moz-box-lines: multiple;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    order: 2;
    margin-left: 5%;
    position: relative;
  }

  .news-list-wrap._single .txt-box,
  .blog-list-wrap._single .txt-box,
  .events-list-item._single .txt-box,
  .column-list-item._single .txt-box,
  .mice-program-item._single .txt-box {
    width: 100%;
    margin-left: 0;
  }

  .news-list-wrap .txt-box h3,
  .blog-list-wrap .txt-box h3,
  .column-list-item .txt-box h3,
  .mice-program-item .txt-box h3 {
    width: 100%;
    max-height: calc(14 * 1.4 * 3 * 1px);
    font-weight: bold;
    font-size: 14px;
    line-height: 1.4em;
    order: 0;
    margin-top: 0;
    margin-bottom: 0;
    word-break: break-all;
    position: relative;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    text-overflow: ellipsis;
    display: -webkit-box;
    overflow: hidden;
  }

  .news-list-wrap .txt-box h3::before,
  .blog-list-wrap .txt-box h3::before,
  .column-list-item .txt-box h3::before,
  .mice-program-item .txt-box h3::before,
  .news-list-wrap .txt-box h3::after,
  .blog-list-wrap .txt-box h3::after,
  .column-list-item .txt-box h3::after,
  .mice-program-item .txt-box h3::after {
    position: absolute;
  }

  .news-list-wrap._single .txt-box h3,
  .blog-list-wrap._single .txt-box h3,
  .column-list-item._single .txt-box h3,
  .mice-program-item._single .txt-box h3 {
    width: 100%;
  }

  .events-list-item .txt-box h4 {
    width: 100%;
    font-weight: bold;
    font-size: 16px;
    line-height: 22px;
    order: 1;
    margin-bottom: 0;
  }

  .events-list-item .txt-box .period {
    width: 100%;
    order: 1;
    color: #898989;
    font-size: 14px;
    line-height: 1.6em;
    text-align: left;
    display: block;
    vertical-align: middle;
    margin-bottom: 0;
  }

  .news-list-wrap .txt-box .date,
  .blog-list-wrap .txt-box .date,
  .column-list-item .txt-box .date,
  .mice-program-item .txt-box .date {
    width: 100%;
    order: 1;
    color: #898989;
    font-size: 12px;
    line-height: 1em;
    text-align: left;
    display: block;
    vertical-align: middle;
    margin-bottom: 0;
    position: absolute;
    bottom: 0;
    left: 0;
  }

  .news-list-wrap._single .txt-box .date,
  .blog-list-wrap._single .txt-box .date,
  .column-list-item._single .txt-box .date,
  .mice-program-item._single .txt-box .date {
    position: relative;
    margin-top: 16px;
  }

  .news-list-wrap.new-item .txt-box .date:after,
  .blog-list-wrap.new-item .txt-box .date:after,
  .column-list-item.new-item .txt-box .date:after,
  .mice-program-item.new-item .txt-box .date:after {
    content: "NEW";
    display: inline-block;
    background: #ebc34a;
    color: #fff;
    font-family: "Montserrat", sans-serif;
    vertical-align: middle;
    font-size: 10px;
    line-height: 14px;
    margin-left: 8px;
    padding: 2px 6px;
    font-weight: 700;
    position: relative;
    top: -2px;
  }

  .news-list-wrap .txt-box .news-info,
  .blog-list-wrap .txt-box .blog-info,
  .events-list-item .txt-box .events-info,
  .column-list-item .txt-box .column-info,
  .mice-program-item .txt-box .program-info {
    display: none;
  }

  .events-list-item .inner .txt-box .events-info {
    display: block;
    order: 4;
    font-size: 12px;
    margin-top: 8px;
    margin-bottom: 0;
  }

  .news-list-wrap .img-box,
  .blog-list-wrap .img-box,
  .events-list-item .img-box,
  .column-list-item .img-box,
  .mice-program-item .img-box {
    width: 40%;
    order: 0;
    margin-bottom: 0;
  }

  .news-list-wrap .img-box img,
  .blog-list-wrap .img-box img,
  .events-list-item .img-box img,
  .column-list-item .img-box img,
  .mice-program-item .img-box img {
    width: 100%;
  }

  .page-nav,
  ul.page-numbers {
    padding: 0 16px;
    margin: 0 auto 0 auto;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    align-items: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
  }

  .news-list-wrap + aside,
  .blog-list-wrap + aside,
  .events-list-item + aside,
  .column-list-item + aside,
  .mice-program-item + aside {
    margin-top: 40px;
  }

  .news-list-wrap + .sp-scroll,
  .blog-list-wrap + .sp-scroll,
  .events-list-item + .sp-scroll,
  .column-list-item + .sp-scroll,
  .mice-program-item + .sp-scroll {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
  }

  .sp-scroll ul.page-numbers {
    padding: 0 40px 0 40px;
    width: max-content;
  }

  ul.page-numbers._sp-wrap {
    flex-wrap: wrap;
  }

  ul.page-numbers._sp-wrap li {
    margin-bottom: 8px;
  }

  .page-nav .page-numbers,
  ul.page-numbers .page-numbers {
    background: #f2f2f2;
    text-align: center;
    line-height: 35px;
    padding: 10px 8px;
    color: #1d315a;
    font-size: 14px;
    position: relative;
  }

  ul.page-numbers a.prev.page-numbers,
  ul.page-numbers a.next.page-numbers {
    width: 35px;
    padding: 0;
    display: inline-block;
  }

  .page-nav li + li,
  ul.page-numbers li + li {
    margin-left: 3%;
  }

  .page-nav a.page-numbers,
  ul.page-numbers a.page-numbers {
    transition: 0.3s;
  }

  .page-nav a.page-numbers:hover,
  ul.page-numbers a.page-numbers:hover {
    background: #1d315a;
    color: #fff;
  }

  .page-nav span.current,
  ul.page-numbers span.current {
    background: #1d315a;
    color: #fff;
  }

  .page-nav a.prev,
  .page-nav a.next,
  ul.page-numbers a.prev,
  ul.page-numbers a.next {
    color: #f2f2f2;
  }

  .page-nav .prev.page-numbers:hover,
  .page-nav .next.page-numbers:hover,
  ul.page-numbers .prev.page-numbers:hover,
  ul.page-numbers .next.page-numbers:hover {
    color: #1d315a;
  }

  .page-nav a.next:before,
  ul.page-numbers a.next:before {
    content: "";
    width: 15px;
    height: 15px;
    border-top: 2.5px solid #1d315a;
    border-right: 2.5px solid #1d315a;
    transform: rotate(45deg) translateY(-50%);
    position: absolute;
    top: 17px;
    right: 20px;
    transition: 0.3s;
  }

  .page-nav a.prev:before,
  ul.page-numbers a.prev:before {
    content: "";
    width: 15px;
    height: 15px;
    border-top: 2.5px solid #1d315a;
    border-right: 2.5px solid #1d315a;
    transform: rotate(-135deg) translateY(-50%);
    position: absolute;
    top: 6px;
    left: 20px;
    transition: 0.3s;
  }

  /* 記事テンプレート

---------------------------------------- */

  section.detail .date {
    font-size: 12px;
    line-height: 26px;
    color: #898989;
  }

  section.detail h1 {
    font-weight: bold;
    font-size: 20px;
    line-height: 1.4em;
    margin-bottom: 0;
  }

  section.detail > .read {
    margin-top: 32px;
    overflow: hidden;
  }

  section.detail > .read + .movie-wrap {
    margin-top: 64px;
  }

  section.detail > .read p {
    font-size: 14px;
    line-height: 1.6em;
    margin-bottom: 0;
  }

  section.detail > .read p img {
    margin-bottom: 16px;
  }

  section.detail > .read h2 {
    font-weight: bold;
    font-size: 20px;
    line-height: 30px;
    margin-bottom: 0;
  }

  section.detail > .read h3 {
    font-weight: bold;
    font-size: 16px;
    line-height: 26px;
    border-left: #1d315a solid 10px;
    padding-left: 16px;
    margin-bottom: 0;
  }

  section.detail > .read h4 {
    font-weight: bold;
    font-size: 16px;
    line-height: 26px;
    border-left: #ebc34a solid 10px;
    padding-left: 16px;
    margin-bottom: 0;
  }

  section.detail > .read h5 {
    font-weight: bold;
    font-size: 16px;
    line-height: 26px;
    margin-bottom: 0;
  }

  section.detail > .read h6 {
    font-weight: bold;
    font-size: 16px;
    line-height: 26px;
    margin-bottom: 0;
  }

  section.detail > .read h2 + p {
    margin-top: 16px;
  }

  section.detail > .read h3 + p,
  section.detail > .read h4 + p,
  section.detail > .read h5 + p,
  section.detail > .read h6 + p,
  section.detail > .read h2 + h3,
  section.detail > .read h3 + h4,
  section.detail > .read h4 + h5,
  section.detail > .read h5 + h6 {
    margin-top: 16px;
  }

  section.detail > .read p + a,
  section.detail > .read p + ul,
  section.detail > .read p + ol,
  section.detail > .read ul + a,
  section.detail > .read ol + a,
  section.detail > .read ul + p,
  section.detail > .read ol + p,
  section.detail > .read ul + ol,
  section.detail > .read p + blockquote,
  section.detail > .read a + blockquote,
  section.detail > .read ul + blockquote,
  section.detail > .read ol + blockquote,
  section.detail > .read blockquote + p,
  section.detail > .read blockquote + a section.detail > .read blockquote + ul,
  section.detail > .read blockquote + ol,
  section.detail > .read h2 + img,
  section.detail > .read h3 + img,
  section.detail > .read h4 + img,
  section.detail > .read h5 + img,
  section.detail > .read h6 + img,
  section.detail > .read img + p,
  section.detail > .read img + ul,
  section.detail > .read img + ol {
    margin-top: 16px;
  }

  section.detail > .read p + h2,
  section.detail > .read p + h3,
  section.detail > .read p + h4,
  section.detail > .read p + h5,
  section.detail > .read p + h6,
  section.detail > .read a + h2,
  section.detail > .read a + h3,
  section.detail > .read a + h4,
  section.detail > .read a + h5,
  section.detail > .read a + h6,
  section.detail > .read img + img,
  section.detail > .read p + img,
  section.detail > .read ul + img,
  section.detail > .read ol + img {
    margin-top: 40px;
  }

  section.detail > .read img.size-full {
    width: 100%;
    height: auto;
  }

  section.detail > .read img.size-thumbnail {
    width: auto;
    max-width: 150px;
    height: auto;
    max-height: 150px;
  }

  section.detail > .read img.size-medium {
    width: auto;
    max-width: 300px;
    height: auto;
    max-height: 300px;
  }

  section.detail > .read img.size-large {
    width: auto;
    max-width: 320px;
    height: auto;
    max-height: 210px;
  }

  section.detail > .read img.aligncenter {
    display: block;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
  }

  section.detail > .read img.alignright {
    display: block;
    float: right;
    clear: both;
  }

  section.detail > .read img.alignleft {
    display: block;
    float: left;
    clear: both;
  }

  section.detail > .read a {
    font-size: 14px;
    line-height: 18px;
  }

  section.detail > .read a.btn-basic,
  section.detail > .read a.btn-entry {
    line-height: 40px;
    margin-left: auto;
    margin-right: auto;
  }

  section.detail > .read p + a.btn-basic,
  section.detail > .read p + a.btn-entry {
    margin-top: 40px;
  }

  section.detail > .read a.btn-basic:after,
  section.detail > .read a.btn-entry:after {
    display: none;
  }

  section.detail > .read a:hover {
    color: #1d315a;
  }

  section.detail > .read a.btn-entry:hover {
    color: #fff;
  }

  section.detail > .read a.arr-link:after {
    content: "";
    display: inline-block;
    width: 6px;
    height: 6px;
    border-top: 2px solid #000;
    border-right: 2px solid #000;
    transform: rotate(45deg);
    position: relative;
    top: -2px;
    margin-left: 8px;
  }

  section.detail > .read a.arr-link {
    border-color: #1d315a;
  }

  section.detail > .read a.pdf-link:after {
    content: "";
    display: inline-block;
    width: 16px;
    height: 16px;
    border: none;
    background: url("../img/common/pdf-icon.png") no-repeat center center;
    background-size: cover;
    position: relative;
    top: 4px;
    margin-left: 8px;
    transform: rotate(0deg);
  }

  section.detail > .read iframe.movie {
    display: block;
    width: 100%;
    height: 200px;
  }

  section.detail > .read p + iframe.movie,
  section.detail > .read a + iframe.movie {
    margin-top: 64px;
  }

  section.detail > .read strong {
    font-weight: bold;
    font-size: 14px;
    line-height: 1.4em;
    margin-bottom: 0;
  }

  section.detail > .read em {
    font-size: 14px;
    line-height: 1.4em;
    margin-bottom: 0;
  }

  section.detail > .read ul {
    margin-bottom: 0;
    padding: 0;
  }

  section.detail > .read ol {
    padding-left: 18px;
    margin-bottom: 0;
  }

  section.detail > .read ul li {
    margin-bottom: 0;
    list-style: inside;
    font-size: 14px;
    line-height: 1.6em;
  }

  section.detail > .read ol li {
    margin-bottom: 0;
    list-style: decimal;
    font-size: 14px;
    line-height: 1.6em;
  }

  section.detail > .read blockquote {
    color: #898989;
    font-size: 14px;
    line-height: 1.4em;
  }

  section.detail > .read blockquote:before {
    content: "“";
    display: inline-block;
  }

  section.detail > .read blockquote:after {
    content: "”";
    display: inline-block;
  }

  section.detail > .read hr {
    margin: 40px 0;
  }

  section.detail > .read del {
    font-size: 14px;
    line-height: 1.4em;
  }

  /* 画像

------------------------------- */

  .img-box-full {
    width: 100%;
    padding: 0;
  }

  .img-box-full img {
    width: 100%;
  }

  .img-box-lg,
  .img-box-mid {
    width: 100%;
  }

  .img-box-lg + .ttl-txt-box01 {
    margin-top: 16px;
  }

  .img-box-lg img,
  .img-box-mid img {
    width: 100%;
  }

  .img-box-full + div,
  .img-box-full + section,
  .img-box-full + p,
  .img-box-full + ul {
    margin-top: 24px;
  }

  /* テーブル

---------------------------------------- */

  .sp-scroll {
    width: 100%;
    overflow-x: scroll;
  }
  .table-wrap01 {
    width: 700px;
    position: relative;
  }

  .table-wrap01._sp-w900 {
    width: 900px;
  }

  .table-wrap01._sp-w800 {
    width: 800px;
  }

  .table-wrap01._sp-w400 {
    width: 400px;
  }

  .table-wrap01._small {
    width: 100%;
  }

  .table-wrap01._small th:first-child {
    width: 50%;
  }

  .table-wrap01 tr {
    position: relative;
  }

  .table-wrap01 tr:first-child:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background: #898989;
  }

  .table-wrap01._type02 tr:first-child {
    border-bottom: none;
  }

  .table-wrap01._type02 tr:first-child th:first-child {
    vertical-align: middle;
  }

  .table-wrap01._type02 tr:first-child th {
    padding-bottom: 0;
  }

  .table-wrap01._type02 tr:first-child th + th,
  .table-wrap01._type02 tr:nth-child(2) th {
    text-align: center;
  }

  .table-wrap01._type02 td {
    text-align: center;
  }

  .table-wrap01._type02 tr:first-child th + th:after {
    display: none;
  }

  .table-wrap01._type02 tr:nth-child(2) th:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background: #898989;
  }

  .table-wrap01._type02 tr:nth-child(2) th {
    position: relative;
    background: none;
    z-index: 0;
  }

  .table-wrap01._type03 td + td {
    border-left: 1px solid #cccccc;
  }

  .table-wrap01 tr:first-child th:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background: #898989;
  }

  .table-wrap01 td:after,
  .table-wrap01 tr + tr th:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background: #898989;
  }

  .table-wrap01 td,
  .table-wrap01 th {
    padding: 8px;
    vertical-align: top;
    font-size: 14px;
    line-height: 20px;
    position: relative;
  }

  .table-wrap01 a._arr i {
    position: absolute;
    width: 10px;
    height: 5px;
    top: 50%;
    right: 4px;
    transform: translateY(-50%);
  }

  .table-wrap01 a._arr i:before {
    content: "";
    width: 0;
    height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 5px solid #898989;
  }

  .table-wrap01 td {
    background: #fff;
  }

  .table-wrap01 tr:first-child th:first-child {
    position: sticky;
    left: 0;
    top: 0;
    background: #f2f2f2;
    z-index: 1;
    width: 120px;
  }

  .table-wrap01 tr + tr th {
    position: sticky;
    left: 0;
    top: 0;
    background: #f2f2f2;
    z-index: 1;
    width: 120px;
  }

  .table-wrap02 {
    width: 100%;
  }

  .table-wrap02 tr {
    border-top: 1px solid #ccc;
  }

  .table-wrap02 tr:last-child {
    border-bottom: 1px solid #ccc;
  }

  .table-wrap02 th,
  .table-wrap02 td {
    display: block;
    font-size: 14px;
    line-height: 16px;
    font-weight: normal;
  }

  .table-wrap02 th b,
  .table-wrap02 td b {
    display: block;
    font-size: 12px;
    line-height: 14px;
    color: #898989;
    font-weight: normal;
  }

  .table-wrap02 th {
    padding-top: 16px;
  }

  .table-wrap02 td {
    text-align: right;
    padding: 16px 0;
  }

  /* 営業カレンダー

---------------------------------------- */

  .celender-wrap .ttl-txt03 {
    margin-top: 40px;
    margin-bottom: 24px;
  }

  .celender-wrap .date {
    font-size: 12px;
    line-height: 18px;
  }

  .celender-wrap .calender-box {
    width: 100%;
    text-align: center;
    margin-top: 24px;
    position: relative;
  }

  .celender-wrap .pq-calendar-picker-m-prev-area {
    position: absolute;
    left: 4px;
    top: 0;
  }

  .celender-wrap .pq-calendar-picker-m-prev-area a:before,
  .celender-wrap .pq-calendar-picker-y-prev-area a:before {
    content: "";
    width: 10px;
    height: 10px;
    border-bottom: 2px solid #000;
    border-left: 2px solid #000;
    transform: rotate(45deg) translateY(-50%);
    position: absolute;
    left: -5px;
    top: 50%;
  }

  .celender-wrap .pq-calendar-picker-m-next-area {
    position: absolute;
    right: 4px;
    top: 0;
  }

  .celender-wrap .pq-calendar-picker-m-next-area a:before,
  .celender-wrap .pq-calendar-picker-y-next-area a:before {
    content: "";
    width: 10px;
    height: 10px;
    border-top: 2px solid #000;
    border-right: 2px solid #000;
    transform: rotate(45deg) translateY(-50%);
    position: absolute;
    right: 3px;
    top: 50%;
  }

  .celender-wrap .pq-calendar-picker-m-prev-area a,
  .celender-wrap .pq-calendar-picker-m-next-area a,
  .celender-wrap .pq-calendar-picker-y-prev-area a,
  .celender-wrap .pq-calendar-picker-y-next-area a {
    color: #fff;
    display: block;
    width: 40px;
    height: 40px;
    position: relative;
  }

  .celender-wrap .pq-calendar-picker-y-prev-area {
    display: none;
    position: absolute;
    left: 4px;
    top: -15px;
  }

  .celender-wrap .pq-calendar-picker-y-next-area {
    display: none;
    position: absolute;
    right: 4px;
    top: -15px;
  }

  .celender-wrap .pq-calendar-y-area {
    text-align: center;
    font-weight: bold;
    font-size: 18px;
    line-height: 26px;
  }

  .celender-wrap .pq-calendar-m-area {
    text-align: center;
    font-weight: bold;
    font-size: 18px;
    line-height: 26px;
  }

  .celender-wrap .pq-calendar-area {
    width: 100%;
    height: 232px;
    margin-top: 16px;
    border: 1px solid #cccccc;
    overflow-y: scroll;
  }

  .celender-wrap .wpc_week {
    display: none;
  }

  .celender-wrap .wpc_day {
    padding: 0;
    margin-bottom: 0;
  }

  .celender-wrap .wpc_day li {
    width: 100%;
  }

  .celender-wrap .wpc_day li > div {
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    position: relative;
    border-bottom: 1px solid #cccccc;
  }

  .celender-wrap .wpc_day:last-child li:last-child > div {
    border-bottom: none;
  }

  .celender-wrap .wpc_day li.empty {
    display: none;
  }

  .celender-wrap .pqc-date {
    width: 25%;
    position: relative;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    border-right: 1px solid #cccccc;
    font-weight: bold;
    font-size: 16px;
    line-height: 26px;
    margin-bottom: 0;
    padding: 6px 4%;
  }

  .celender-wrap .pqc-time-list {
    width: 50%;
    margin-top: 0;
    margin-bottom: 0;
    padding: 8px 0;
    text-align: left;
  }

  .celender-wrap .pqc-time {
    font-size: 14px;
    line-height: 22px;
    font-weight: normal;
    color: #898989;
    padding-left: 16px;
    display: block;
    padding-top: 8px;
  }

  .celender-wrap .pqc-time-list > .pqc-time {
    padding-top: 0;
  }

  .celender-wrap .pqc-morning {
    font-size: 14px;
    line-height: 22px;
    font-weight: normal;
    color: #898989;
    padding-left: 16px;
    display: block;
  }

  .celender-wrap .pqc-sunset {
    font-size: 14px;
    line-height: 22px;
    font-weight: normal;
    color: #898989;
    padding-left: 16px;
    display: block;
  }

  .celender-wrap li .pqc-final {
    font-weight: normal;
    font-size: 14px;
    line-height: 22px;
    text-align: center;
    color: #898989;
  }

  .celender-wrap li .pqc-final i {
    width: 12px;
    height: 12px;
    display: inline-block;
    position: relative;
    margin: 0 2px;
  }

  .celender-wrap li .pqc-final .up-arrow:before {
    width: 12px;
    height: 12px;
    display: inline-block;
    background: url("../img/common/up-arrow.png") no-repeat center center;
    background-size: cover;
    margin: 0 2px;
    content: "";
  }

  .celender-wrap li .pqc-final .down-arrow:before {
    width: 12px;
    height: 12px;
    display: inline-block;
    background: url("../img/common/down-arrow.png") no-repeat center center;
    background-size: cover;
    margin: 0 2px;
    content: "";
  }

  .celender-wrap li.closed {
    background: #f2f2f2;
  }

  .celender-wrap li.closed .pqc-time {
    color: #a44949;
    padding-top: 8px;
  }

  .celender-wrap li.today .pqc-date {
    color: #fff;
    position: relative;
    background: #ebc34a;
  }

  .celender-wrap .pqc-car {
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
  }

  .celender-wrap .pqc-car svg {
    width: 25px;
    height: 25px;
  }

  .celender-wrap .pqc-flight {
    position: absolute;
    right: 8px;
    top: 40%;
    margin: 0;
    transform: translateY(-50%);
  }

  .celender-wrap .pqc-flight .pqc-am,
  .celender-wrap .pqc-flight .pqc-pm {
    background: #898989;
    color: #fff;
    font-size: 10px;
    line-height: 1em;
    padding: 2px;
  }

  .celender-wrap .pqc-flight span + span {
    display: block;
  }

  .celender-wrap p.txt-alg-r i.up-arrow {
    display: inline-block;
    width: 10px;
    height: 10px;
    background: url("../img/common/up-bk-arrow.png") no-repeat center center;
    background-size: cover;
    margin: 0 4px;
  }

  .celender-wrap p.txt-alg-r i.down-arrow {
    display: inline-block;
    width: 10px;
    height: 10px;
    background: url("../img/common/down-bk-arrow.png") no-repeat center center;
    background-size: cover;
    margin: 0 4px;
  }

  /* ----------------------------------------

Lityの表示設定

---------------------------------------- */

  body._lity .lity-close {
    position: absolute;
    right: 0;
    top: -40px;
  }

  body._lity .lity {
    z-index: 9999999;
  }

  body._lity02 .lity-close {
    position: absolute;
    right: 0;
    top: 0;
  }

  body._lity02 .lity {
    z-index: 9999999;
  }
}

@media print, screen and (max-width: 1149px) and (min-width: 751px) {
  .header-inner {
    padding-left: 24px;
    padding-right: 24px;
  }

  main .section-inner {
    padding-left: 24px;
    padding-right: 24px;
  }

  .pankuzu ol {
    padding-left: 24px;
    padding-right: 24px;
  }

  .main-ttl-wrap02 .txt-box {
    padding-left: 24px;
    padding-right: 24px;
  }

  .main-ttl-wrap02 .txt-box a.btn-entry {
    right: 24px;
  }

  .ttl-txt-box01 {
    padding-left: 24px;
    padding-right: 24px;
  }

  .img-txt-wrap01 {
    padding-left: 24px;
    padding-right: 24px;
  }

  .img-ttl-wrap01 h3 {
    padding-left: 24px;
    padding-right: 24px;
  }

  .info-wrap01 {
    width: 100%;
  }

  .footer-inner {
    padding-left: 24px;
    padding-right: 24px;
  }
}

@media print, screen and (max-width: 1200px) and (min-width: 751px) {
  .img-ttl-wrap01 .bg-img-wrap {
    height: auto;
  }

  .img-ttl-wrap01 .bg-img-wrap img {
    position: relative;
    left: 0;
    top: 0;
    transform: translate(0, 0);
    height: auto;
  }

  .lg-link-wrap .bg-img-wrap,
  .lg-link-wrap02 .bg-img-wrap {
    height: auto;
  }

  .lg-link-wrap .bg-img-wrap img,
  .lg-link-wrap02 .bg-img-wrap img {
    position: relative;
    left: 0;
    top: 0;
    transform: translate(0, 0);
  }
}

@media print, screen and (max-width: 1150px) and (min-width: 751px) {
  /* 宿泊検索ボックス

------------------------------- */

  ._hotel-box {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 9999999;
  }

  .openbtn {
    position: absolute;
    right: 0;
    top: 200px;
    width: 36px;
    height: 111px;
    cursor: pointer;
    display: block;
  }

  .openbtn img {
    width: 100%;
    height: auto;
  }

  .openbtn:hover img {
    opacity: 1;
  }

  .closeModal {
    position: absolute;
    right: 0;
    top: 0;
    color: #1d315a;
    width: 50px;
    height: 50px;
    text-align: center;
    line-height: 50px;
    font-size: 30px;
    display: block;
  }

  ._hotel-box .hotel-wrap {
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    background: #fff;
    top: 0;
    right: -100%;
    -webkit-transition: 0.4s;
    transition: 0.4s;
    opacity: 0;
    position: fixed;
  }

  ._hotel-box .hotel-wrap.open {
    width: 440px;
    height: 100%;
    background: #fff;
    top: 0;
    right: 0;
    padding: 64px 16px;
    z-index: 2;
    cursor: default;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    opacity: 1;
    position: fixed;
    -webkit-transition: 0.4s;
    transition: 0.4s;
  }

  ._hotel-box .hotel-wrap h3 {
    font-weight: bold;
    font-size: 18px;
    line-height: 26px;
    text-align: center;
    margin-bottom: 24px;
    display: block;
  }

  ._hotel-box .hotel-wrap h3:before {
    content: "";
    display: inline-block;
    background: url("../img/common/hotel-icon-black.png") no-repeat center
      center;
    background-size: cover;
    margin-right: 8px;
    width: 25px;
    height: 21px;
    position: relative;
    top: 2px;
  }

  ._hotel-box .hotel-wrap .tab-group {
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    align-items: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    margin-bottom: 16px;
    padding-inline-start: 0;
  }

  ._hotel-box .hotel-wrap .tab-group li {
    border-left: 1px solid #898989;
    border-right: 1px solid #898989;
    font-weight: normal;
    font-size: 16px;
    color: #898989;
    cursor: pointer;
    text-align: center;
    line-height: 32px;
  }

  ._hotel-box .hotel-wrap .tab-group li:first-child {
    width: 50%;
  }

  ._hotel-box .hotel-wrap .tab-group li + li {
    width: 50%;
    border-right: none;
  }

  ._hotel-box .hotel-wrap .tab-group li.is-active {
    font-weight: normal;
    font-size: 16px;
    color: #1d315a;
  }

  ._hotel-box .hotel-wrap .tab.is-active.lodging-icon,
  ._hotel-box .hotel-wrap .tab.lodging-icon {
    position: relative;
    padding-left: 16px;
  }

  ._hotel-box .hotel-wrap .tab.is-active.lodging-airplan-icon,
  ._hotel-box .hotel-wrap .tab.lodging-airplan-icon {
    position: relative;
    padding-left: 0;
  }

  ._hotel-box .hotel-wrap .tab.is-active.lodging-icon:before {
    display: none;
  }

  ._hotel-box .hotel-wrap .tab.lodging-icon:before {
    display: none;
  }

  ._hotel-box .hotel-wrap .tab.is-active.lodging-airplan-icon span:before {
    content: "";
    background: url("../img/common/lodging-airplan-icon_on.png") no-repeat
      center center;
    background-size: cover;
    display: inline-block;
    width: 29px;
    height: 32px;
    position: absolute;
    left: -10px;
    top: 50%;
    transform: translateY(-50%) scale(0.8);
  }

  ._hotel-box .hotel-wrap .tab.lodging-airplan-icon span:before {
    content: "";
    background: url("../img/common/lodging-airplan-icon_off.png") no-repeat
      center center;
    background-size: cover;
    display: inline-block;
    width: 29px;
    height: 32px;
    position: absolute;
    left: -10px;
    top: 50%;
    transform: translateY(-50%) scale(0.8);
  }

  ._hotel-box .hotel-wrap .panel {
    display: none;
  }

  ._hotel-box .hotel-wrap .panel.is-show {
    display: block;
  }

  ._hotel-box .hotel-wrap .panel form {
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    align-items: flex-start;
    -webkit-align-items: flex-start;
    -ms-flex-align: flex-start;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  ._hotel-box .hotel-wrap dl {
    position: relative;
    margin-bottom: 0;
  }

  ._hotel-box .hotel-wrap dl dt {
    width: 100%;
    display: block;
    text-align: left;
    font-size: 12px;
    line-height: 26px;
    font-weight: normal;
    color: #000;
  }

  ._hotel-box .hotel-wrap dl dt label {
    margin-bottom: 0;
  }

  ._hotel-box .hotel-wrap dl dd {
    width: 100%;
    position: relative;
    margin-bottom: 0;
  }

  ._hotel-box .hotel-wrap select,
  ._hotel-box .hotel-wrap input {
    width: 100%;
    height: 42px;
    cursor: pointer;
    text-indent: 0.01px;
    text-overflow: ellipsis;
    border: 1px solid #b6b6b6;
    outline: none;
    background: transparent;
    background-image: none;
    -webkit-appearance: none;
    appearance: none;
    text-align: left;
    border-radius: 0;
    padding: 8px;
    position: relative;
    font-size: 14px;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  }

  ._hotel-box .hotel-wrap select::-ms-expand {
    display: none;
  }

  ._hotel-box .hotel-wrap dd:before {
    position: absolute;
    right: 8px;
    bottom: 14px;
    content: "";
    width: 0;
    height: 0;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-top: 10px solid #898989;
    z-index: 2;
  }

  ._hotel-box .hotel-wrap dl.check-in dd:before,
  ._hotel-box .hotel-wrap dl.check-out dd:before {
    display: none;
  }

  ._hotel-box .hotel-wrap button {
    border: 0;
    outline: none;
    background-image: none;
    box-shadow: none;
    -webkit-appearance: none;
    appearance: none;
    border-radius: 0;
    background: #a44949;
    color: #fff;
    font-weight: normal;
    font-size: 16px;
    line-height: 0px;
    padding: 16px 0;
    width: 220px;
    height: 46px;
    margin-top: 32px;
    cursor: pointer;
    transition: 0.3s;
    margin-left: auto;
    margin-right: auto;
  }

  ._hotel-box .hotel-wrap .hotelsbox {
    text-align: center;
  }

  ._hotel-box .hotel-wrap .hotelsbox .managed {
    font-size: 14px !important;
    margin: 16px 0 0 !important;
  }

  ._hotel-box .hotel-wrap a.hotel_submitlink {
    border: none;
    background: #a44949;
    color: #fff;
    font-weight: normal;
    font-size: 16px;
    line-height: 0px;
    padding: 16px 0;
    width: 220px;
    height: 46px;
    margin-top: 32px;
    cursor: pointer;
    transition: 0.3s;
    margin-left: auto;
    margin-right: auto;
    display: block;
    text-align: center;
  }

  ._hotel-box .hotel-wrap .hotel-select {
    width: 100%;
  }

  ._hotel-box .hotel-wrap .hotel-select + .hotel-select {
    margin-top: 8px;
  }

  ._hotel-box .hotel-wrap .check-in,
  ._hotel-box .hotel-wrap .check-out,
  ._hotel-box .hotel-wrap .airport-start,
  ._hotel-box .hotel-wrap .airport-end,
  ._hotel-box .hotel-wrap .member,
  ._hotel-box .hotel-wrap .rooms-number {
    width: 48%;
    margin-top: 16px;
  }

  ._hotel-box .hotel-wrap .check-out,
  ._hotel-box .hotel-wrap .airport-end,
  ._hotel-box .hotel-wrap .rooms-number {
    width: 48%;
    margin-left: 4%;
  }

  ._hotel-box .hotel-wrap .panel:first-child .adults-number,
  ._hotel-box .hotel-wrap .panel:first-child .children-number {
    width: 48%;
    margin-top: 8px;
  }

  ._hotel-box .hotel-wrap .panel:first-child .children-number {
    margin-left: 4%;
  }

  body.en ._hotel-box .hotel-wrap .panel:first-child .rooms-number {
    margin-left: 0;
  }

  body.en ._hotel-box .hotel-wrap .panel:nth-child(2) .airport-start {
    width: 100%;
  }

  ._hotel-box .hotel-wrap .panel:nth-child(2) .adults-number,
  ._hotel-box .hotel-wrap .panel:nth-child(2) .children-number {
    width: 48%;
    margin-top: 16px;
  }

  ._hotel-box .hotel-wrap .panel:nth-child(2) .children-number {
    margin-left: 4%;
  }

  ._hotel-box .hotel-wrap .l-mypage {
    margin-top: 16px;
  }

  ._hotel-box .hotel-wrap #mypage-link {
    font-size: 14px;
    transition: 0.3s;
    position: relative;
  }

  ._hotel-box .hotel-wrap #mypage-link:after {
    content: "";
    width: 8px;
    height: 8px;
    border-top: 1px solid #333;
    border-right: 1px solid #333;
    transform: rotate(45deg);
    display: inline-block;
    margin-left: 5px;
  }
}

@media print, screen and (max-width: 1080px) and (min-width: 751px) {
  .footer-inner .l-box {
    width: 35%;
  }

  .footer-inner .r-box {
    width: 65%;
  }
}

/* IEのスライダーの矢印位置 */
@media all and (-ms-high-contrast: none) {
  .arrows {
    bottom: 30px;
  }
}

/* MVの高さの設定　画面サイズが1320pxから1010pxの間 */
@media print, screen and (max-width: 1320px) and (min-width: 1010px) {
  .main-ttl-wrap01 .bg-img-wrap {
    height: 450px;
  }

  .main-ttl-wrap01 .bg-img-wrap img {
    width: 120%;
    position: absolute;
    transform: translate(-50%, -50%) rotate(-2.5deg);
    top: 50%;
    left: 50%;
  }

  .main-ttl-wrap02 .bg-img-wrap {
    height: 450px;
  }

  .main-ttl-wrap02 .bg-img-wrap img {
    width: 100%;
    position: absolute;
    transform: translate(-50%, -50%);
    top: 50%;
    left: 50%;
  }
}

/* MVの高さの設定　画面サイズが1010pxから751pxの間 */
@media print, screen and (max-width: 1010px) and (min-width: 751px) {
  .main-ttl-wrap01 .bg-img-wrap {
    height: 300px;
  }

  .main-ttl-wrap02 .bg-img-wrap {
    height: 300px;
  }
}

/* MVの高さの設定　画面サイズが320px以下 */
@media print, screen and (max-width: 320px) {
  .main-ttl-wrap01 .bg-img-wrap img {
    width: 120%;
  }

  .main-ttl-wrap02 .bg-img-wrap img {
    width: 120%;
  }
}

/* IEの営業カレンダー調整 */
@media all and (-ms-high-contrast: none) {
  .celender-wrap .pqc-date {
    padding-top: 8px;
  }

  .celender-wrap li .pqc-day {
    top: 8px;
  }

  .celender-wrap li.today .pqc-day:after {
    top: 6%;
  }

  .celender-wrap .pqc-flight .pqc-am,
  .celender-wrap .pqc-flight .pqc-pm {
    padding-bottom: 0;
  }
}

/* ヘッダー 画面サイズが1150pxから751pxの間 */

@media print, screen and (max-width: 1150px) and (min-width: 751px) {
  header {
    width: 100%;
    height: 80px;
    background: url("../img/common/header-bg.png") repeat-x top;
    background-size: contain;
    color: #fff;
    margin: 0;
    padding: 0;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999999;
  }

  body.hd-bg-navy header {
    background: #1d315a;
    color: #fff;
    margin: 0;
    padding: 0;
  }

  header.is-animation {
    background: #fff;
    color: #1d315a;
    margin: 0;
    padding: 0;
    box-shadow: 0 3px 2px -2px rgba(0, 0, 0, 0.3);
  }

  body.hd-bg-navy header.is-animation {
    background: #fff;
    color: #1d315a;
    box-shadow: 0 3px 2px -2px rgba(0, 0, 0, 0.3);
  }

  .header-inner {
    width: 100%;
    height: 80px;
    margin: 0 auto;
    padding: 0;
    position: relative;
  }

  .header-inner h1 {
    max-width: 224px;
    margin: 0;
    padding: 0;
    position: absolute;
    left: 24px;
    top: 20px;
  }

  .header-inner h1 a.hd-logo {
    margin: 0;
    padding: 0;
  }

  .header-inner h1 a.hd-logo img {
    width: 100%;
  }

  .drawer {
    position: fixed;
    width: 80px;
    height: 80px;
    padding: 0;
    z-index: 9999999;
    right: 0;
    top: 0;
    display: block;
  }

  .drawer.mm-page {
    position: fixed;
    width: 80px;
    height: 80px;
    padding: 0;
    z-index: 999;
    right: 0;
    top: 0;
  }

  .drawer.mm-slideout {
    transform: translate3d(0, 0, 0);
    z-index: 9999999;
    right: 0;
    top: 0;
  }

  .mm-panels > .mm-panel:not(.mm-hidden) {
  }

  .mm-wrapper_opening .mm-menu_opened ~ .drawer.mm-slideout {
    transform: translate3d(0, 0, 0);
  }

  .close_toggle {
    position: absolute;
    z-index: 9999;
    width: 80px;
    height: 80px;
    right: 0;
    top: 0;
  }

  .close_toggle_icon {
    position: relative;
    display: block;
    height: 2px;
    width: 22px;
    background: #fff;
    -webkit-transition: ease 0.5s;
    transition: ease 0.5s;
    border-radius: 1px;
    transform: translateX(-50%);
    left: 50%;
  }

  .close_toggle_icon:nth-child(1) {
    transform: rotate(45deg);
    background: #333;
    top: 38px;
    left: 30px;
    position: absolute;
  }

  .close_toggle_icon:nth-child(2) {
    transform: rotate(-45deg) translateX(-50%);
    background: #333;
    top: 30px;
    left: 38px;
    position: absolute;
  }

  .sp-menu .mm-btn_close:before,
  .sp-menu .mm-btn_close:after {
    display: none;
  }

  .mm-wrapper_opened .drawer.mm-page {
    min-height: 80px;
  }

  .navbar_toggle {
    position: absolute;
    z-index: 999;
    width: 80px;
    height: 80px;
    right: 0;
    top: 0;
  }

  .navbar_toggle_icon {
    position: relative;
    display: block;
    height: 2px;
    width: 22px;
    background: #fff;
    -webkit-transition: ease 0.5s;
    transition: ease 0.5s;
    border-radius: 1px;
    transform: translateX(-50%);
    left: 50%;
  }

  .drawer.is-animation .navbar_toggle_icon {
    background: #1d315a;
  }

  .navbar_toggle_icon:nth-child(1) {
    top: 32px;
  }

  .navbar_toggle_icon:nth-child(2) {
    top: 34px;
    margin: 8px 0;
  }

  .navbar_toggle_icon:nth-child(3) {
    top: 18px;
  }

  #gNav {
    display: none;
  }

  .sp-menu.mm-menu_offcanvas:not(.mm-menu_opened) {
    transition: 0.4s;
    width: 100%;
    left: auto;
    right: -100%;
    display: block;
  }

  .sp-menu.mm-menu_offcanvas.mm-menu_opened {
    right: 0;
    left: auto;
    width: 100%;
    transition: 0.4s;
    box-shadow: 0 1px 2px 1px rgba(0, 0, 0, 0.3);
  }

  .sp-menu .mm-navbar > * {
    min-height: 80px;
  }

  .sp-menu.mm-menu_offcanvas {
    z-index: 99999999;
    right: -100%;
  }

  .sp-menu .mm-listitem:after {
    width: 90%;
    left: 50%;
    transform: translateX(-50%);
    border-color: #cccccc;
  }

  .sp-menu .mm-navbar {
    display: block;
  }

  .sp-menu .mm-navbar__btn:not(.mm-hidden) + .mm-navbar__title:last-child {
    padding-right: 0;
    min-height: auto;
    text-align: left;
    padding-left: 16px;
    line-height: 60px;
    font-weight: bold;
    color: #333;
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium",
      "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
    font-size: 18px;
    position: relative;
    margin-bottom: 0;
  }

  .sp-menu
    .mm-navbar__btn:not(.mm-hidden)
    + .mm-navbar__title:last-child:after {
    content: "";
    border-bottom-width: 1px;
    border-bottom-style: solid;
    display: block;
    position: absolute;
    left: 50%;
    right: 0;
    bottom: 0;
    width: 92%;
    transform: translateX(-50%);
    border-color: #cccccc;
  }

  .sp-menu .mm-navbar__title {
    margin-bottom: 0;
    padding-left: 24px;
    padding-right: 24px;
  }

  .sp-menu .mm-navbar__btn:not(.mm-hidden) + .mm-navbar__title {
    display: block;
    margin-bottom: 0;
  }

  .sp-menu .mm-btn.mm-btn_prev.mm-navbar__btn:after {
    content: "BACK";
    border: none;
    position: absolute;
    left: 50px;
    font-weight: bold;
  }

  .sp-menu .mm-listitem > div > ul > li.mm-listitem:after {
    display: none;
  }

  .sp-menu .mm-listitem {
    overflow-x: hidden;
  }

  .sp-menu .mm-listitem__text {
    padding-left: 24px;
  }

  .sp-menu .mm-panels,
  .sp-menu .mm-panel,
  .sp-menu .mm-navbar,
  .sp-menu .mm-listview {
    background: #fff;
  }

  .sp-menu .mm-listview {
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
  }

  .sp-menu .mm-navbar {
    border-bottom: none;
  }

  .sp-menu.mm-menu a,
  .sp-menu.mm-menu a:active,
  .sp-menu.mm-menu a:hover,
  .sp-menu.mm-menu a:link,
  .sp-menu.mm-menu a:visited {
    color: #333;
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium",
      "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
    font-size: 18px;
    padding-top: 16px;
    padding-bottom: 16px;
  }

  .sp-menu.mm-menu .mm-listitem {
    background: #fff;
  }

  .sp-menu .mm-btn:after,
  .sp-menu .mm-btn:before {
    border: none;
  }

  .sp-menu .mm-btn:after {
    width: 2px;
    height: 14px;
    background: #333;
    transition: 0.3s;
    opacity: 1;
    right: 28px;
  }

  .sp-menu .mm-btn + div > ul > li a.mm-btn:after {
    width: 1px;
    right: 28px;
  }

  .sp-menu .mm-btn:before {
    width: 14px;
    height: 2px;
    background: #333;
    transition: 0.3s;
    content: "";
    position: absolute;
    top: 50%;
    right: 22px;
    transform: translateY(-50%);
  }

  .sp-menu .mm-btn + div > ul > li a.mm-btn:before {
    height: 1px;
  }

  .sp-menu .mm-listitem_opened > .mm-listitem__btn:after {
    transform: rotate(0deg);
    right: 28px;
    opacity: 0;
  }

  .sp-menu .mm-btn_next:after {
    transform: rotate(0deg);
  }

  .sp-menu .mm-btn.mm-btn_next.mm-listitem__btn {
    font-weight: bold;
  }

  .sp-menu
    .mm-btn.mm-btn_next.mm-listitem__btn
    + div
    > ul
    > li
    a.mm-listitem__text {
    font-weight: normal;
    font-size: 16px;
    padding-top: 12px;
    padding-bottom: 12px;
  }

  .sp-menu
    .mm-btn.mm-btn_next.mm-listitem__btn
    + div
    > ul
    > li
    a.mm-btn.mm-btn_next.mm-listitem__btn {
    font-weight: normal;
    font-size: 16px;
    padding-top: 12px;
    padding-bottom: 12px;
  }

  .sp-menu
    .mm-btn.mm-btn_next.mm-listitem__btn
    + div
    > ul
    > li
    a
    + div
    > ul
    > li
    a.mm-listitem__text {
    font-weight: normal;
    font-size: 14px;
    padding-top: 12px;
    padding-bottom: 12px;
  }

  .sp-menu
    .mm-listitem.mm-listitem_opened
    > .mm-btn.mm-btn_next.mm-listitem__btn {
    color: #1d315a;
  }

  .sp-menu .mm-listitem_opened > .mm-listitem__btn,
  .mm-listitem_opened > .mm-panel {
    background: #fff;
  }

  .sp-menu .mm-listitem_vertical > .mm-panel {
    padding: 10px 0 20px 0;
    -webkit-overflow-scrolling: touch;
    overflow-y: scroll;
  }

  .sp-menu .mm-listitem_vertical > .mm-panel > ul > li .mm-panel {
    padding: 10px 0 20px 16px;
  }

  .sp-menu .mm-listitem_vertical > .mm-listitem__btn {
    height: auto;
  }

  #gNav02 {
    width: 160px;
    height: 80px;
    position: absolute;
    right: 80px;
    top: 0;
  }

  #gNav02 > ul {
    width: 100%;
    display: flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-end;
    justify-content: flex-end;
    align-items: flex-start;
    -webkit-align-items: flex-start;
    -ms-flex-align: flex-start;
    margin-block-start: 0;
    margin-block-end: 0;
    padding-inline-start: 0;
    position: relative;
  }

  #gNav02 > ul > li + li:after {
    display: none;
  }

  #gNav02 > ul > li {
    list-style: none;
    text-align: center;
    display: block;
    height: 80px;
    cursor: pointer;
    position: relative;
  }

  #gNav02 > ul > li + li,
  header.is-animation #gNav02 > ul > li + li {
    border-left: 0;
  }

  #gNav02 > ul > li.weather-nav {
    width: 50%;
  }

  #gNav02 > ul > li.weather-nav span.no-data {
    position: relative;
    top: auto;
    left: auto;
    transform: none;
  }

  #gNav02 > ul > li.language-nav {
    display: none;
  }

  #gNav02 > ul > li.hotel-nav {
    width: 50%;
    position: relative;
  }

  /*

    body._hotel-box-type #gNav02 > ul > li.hotel-nav{
        display: none;
    }

    */

  body._hotel-box-type header .hotel-wrap {
    display: none;
  }

  #gNav02 > ul > li.hotel-nav span {
    display: none;
  }

  #gNav02 > ul > li.hotel-nav:before {
    content: "";
    width: 24px;
    height: 24px;
    background: url("../img/common/hotel-icon.svg") no-repeat center center;
    background-size: cover;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
  }

  header.is-animation #gNav02 > ul > li.hotel-nav:before {
    content: "";
    width: 24px;
    height: 24px;
    background: url("../img/common/hotel-icon-navy.svg") no-repeat center center;
    background-size: cover;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
  }

  #gNav02 > ul > li.weather-nav span {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }

  #gNav02 > ul > li.weather-nav span svg,
  #gNav02 > ul > li.weather-nav span img {
    width: 30px;
    height: 30px;
  }

  #gNav02 > ul > li.weather-nav span svg.img-svg path,
  #gNav02 > ul > li.weather-nav span svg.img-svg rect,
  #gNav02 > ul > li.weather-nav span svg.img-svg polygon,
  #gNav02 > ul > li.weather-nav span svg.img-svg circle {
    fill: #fff;
  }

  header.is-animation #gNav02 > ul > li.weather-nav span svg.img-svg path,
  header.is-animation #gNav02 > ul > li.weather-nav span svg.img-svg rect,
  header.is-animation #gNav02 > ul > li.weather-nav span svg.img-svg polygon,
  header.is-animation #gNav02 > ul > li.weather-nav span svg.img-svg circle {
    fill: #1d315a;
  }

  #gNav02 > ul > li.language-nav > .language-wrap {
    display: none;
  }
  #gNav02 > ul > li.weather-nav > .weather-wrap {
    display: none;
  }

  #gNav02 > ul > li.hotel-nav > .hotel-wrap {
    display: none;
  }

  #gNav02 .hotel-wrap .box-arrow {
    right: -40px;
  }
}

/* IEのイベントスライダー調整 */
@media all and (-ms-high-contrast: none) {
  #slick02 .slick-current .caption {
    max-height: 50px;
  }
}

/* IEのグローバルナビ */
@media all and (-ms-high-contrast: none) and (max-width: 1150px) and (min-width: 751px) {
  .drawer {
    display: none;
  }

  .sp-menu {
    display: none;
  }

  .sp-menu.mm-menu_offcanvas {
    display: none;
  }

  .sp-menu02 {
    display: none;
  }

  #gNav {
    display: block;
    width: 48%;
    margin-left: 5%;
  }

  #gNav > ul {
    width: 100%;
    height: 100%;
    display: flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    padding: 0;
    margin-bottom: 0;
  }

  #gNav li.sub-nav {
    width: 18%;
    display: inline-block;
    margin: 0;
    padding: 20px 0;
    cursor: pointer;
    line-height: 1.1em;
  }

  #gNav .sub-nav + .sub-nav {
    margin-left: 0;
  }

  /**/

  #gNav li.sub-nav:first-child,
  #gNav li.sub-nav:last-child {
    width: 22%;
  }

  #gNav li.sub-nav:nth-child(2),
  #gNav li.sub-nav:nth-child(4) {
    width: 20%;
  }

  #gNav li.sub-nav .box-arrow {
    width: 100%;
    height: 20px;
    overflow: hidden;
    z-index: -1;
    position: absolute;
    top: -20px;
  }

  #gNav li.sub-nav .box-arrow:before {
    content: "";
    width: 20px;
    height: 20px;
    background: #fff;
    transform: rotate(45deg) translateX(-50%);
    box-shadow: rgba(122, 122, 122, 0.0588235) 0px 0px 6px 3px;
    -webkit-box-shadow: rgba(122, 122, 122, 0.0588235) 0px 0px 6px 3px;
    -moz-box-shadow: rgba(122, 122, 122, 0.0588235) 0px 0px 6px 3px;
    position: absolute;
    top: 17px;
  }

  #gNav li.sub-nav:first-child .box-arrow:before {
    left: 32%;
  }

  #gNav li.sub-nav:nth-child(2) .box-arrow:before {
    left: 54%;
  }

  #gNav li.sub-nav:nth-child(3) .box-arrow:before {
    left: 67%;
  }

  #gNav li.sub-nav:nth-child(4) .box-arrow:before {
    left: 79%;
  }

  #gNav li.sub-nav:last-child .box-arrow:before {
    left: 93%;
  }

  #gNav > ul > li span {
    font-size: 14px;
    line-height: 1.2em;
    position: relative;
  }

  #gNav .sub-nav-wrap {
    display: none;
    width: auto;
    height: auto;
    background: #fff url("../img/common/hd-bg.svg") no-repeat bottom right;
    background-size: 678px;
    position: absolute;
    top: 88px;
    left: 0;
    padding: 0;
    z-index: 2;
    box-shadow: rgba(0, 0, 0, 0.15) 0px 4px 4px;
    -webkit-box-shadow: rgba(0, 0, 0, 0.15) 0px 4px 4px;
    -moz-box-shadow: rgba(0, 0, 0, 0.15) 0px 4px 4px;
    cursor: default;
  }

  #gNav .sub-nav-wrap > ul {
    width: 100%;
    overflow: hidden;
    padding-inline-start: 0;
    padding: 40px 40px 80px 40px;
    margin-bottom: 0;
  }

  #gNav .sub-nav-wrap > ul > li {
    float: left;
    width: 200px;
    color: #000;
    font-size: 16px;
    text-align: left;
    list-style: none;
    font-family: "M PLUS 1p", sans-serif;
    font-weight: 700;
  }

  #gNav .sub-nav-wrap > ul > li + li {
    margin-left: 32px;
  }

  #gNav .sub-nav-wrap > ul > li > ul {
    border-top: 1px solid #898989;
    margin-top: 10px;
    padding-top: 10px;
    padding-left: 0;
    padding-right: 0;
    padding-inline-start: 0;
  }

  #gNav .sub-nav-wrap > ul > li > ul > li {
    list-style: none;
    font-size: 15px;
    display: block;
    line-height: 1.5em;
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium",
      "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
    font-weight: normal;
  }

  #gNav .sub-nav-wrap > ul > li > ul > li + li {
    margin-top: 8px;
  }

  #gNav .sub-nav-wrap > ul > li > ul > li a {
    padding: 2px 0;
    color: #000;
    position: relative;
    transition: 0.3s;
    display: block;
  }

  #gNav .sub-nav-wrap > ul > li > ul > li a:hover {
    text-decoration: none;
    color: #1d315a;
  }

  #gNav .sub-nav-wrap > ul > li > ul > li a:before {
    content: "";
    transition: 0.3s;
    width: 0;
    height: 1px;
    background: #1d315a;
    position: absolute;
    left: 0;
    bottom: 0;
  }

  #gNav .sub-nav-wrap > ul > li > ul > li a:hover:before {
    width: 100%;
  }

  #gNav02 {
    width: 160px;
    height: 80px;
    position: absolute;
    right: 0;
    top: 0;
  }

  #gNav02 > ul > li.language-nav {
    width: 25%;
    height: 100%;
    position: relative;
    display: flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    align-items: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
  }

  #gNav02 > ul > li.hotel-nav {
    width: 44%;
    position: relative;
    padding: 0 2%;
    display: flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    align-items: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
  }

  /*

    body._hotel-box-type #gNav02 > ul > li.hotel-nav{
        display: none;
    }

    */

  body._hotel-box-type header .hotel-wrap {
    display: none;
  }

  #gNav02 > ul > li.language-nav {
    width: 33%;
    height: 100%;
    position: relative;
    display: flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    align-items: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
  }

  #gNav02 > ul > li.language-nav span {
    vertical-align: middle;
    font-size: 16px;
  }

  #gNav02 > ul > li.language-nav span:after {
    content: "";
    width: 0;
    height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 8px solid #fff;
    display: inline-block;
    margin-left: 5px;
    vertical-align: middle;
  }
  #gNav02 > ul > li.weather-nav .weather-wrap {
    right: -50px;
  }

  #gNav02 .weather-wrap .box-arrow:before {
    right: 60px;
  }

  header.is-animation #gNav02 > ul > li.language-nav span:after {
    content: "";
    width: 0;
    height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 8px solid #1d315a;
    display: inline-block;
    margin-left: 5px;
    vertical-align: middle;
  }

  #gNav02 > ul > li.language-nav .language-wrap {
    display: none;
    width: 380px;
    height: auto;
    background: #fff;
    position: absolute;
    top: 88px;
    right: -80px;
    padding: 40px;
    z-index: 2;
    box-shadow: rgba(0, 0, 0, 0.15) 0px 4px 4px;
    -webkit-box-shadow: rgba(0, 0, 0, 0.15) 0px 4px 4px;
    -moz-box-shadow: rgba(0, 0, 0, 0.15) 0px 4px 4px;
    cursor: default;
  }

  body._hotel-box-type #gNav02 > ul > li.language-nav .language-wrap {
    right: -80px;
  }

  #gNav02 .language-wrap .box-arrow:before {
    left: 270px;
  }
}

/* IEのグローバルナビ */
@media all and (-ms-high-contrast: none) and (max-width: 750px) {
  .drawer {
    display: none;
  }

  .sp-menu {
    display: none;
  }

  .sp-menu02 {
    display: none;
  }

  #gNav {
    display: block;
    width: 48%;
    margin-left: 200px;
  }

  #gNav > ul {
    width: 100%;
    height: 100%;
    display: flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    padding: 0;
    margin-bottom: 0;
  }

  #gNav li.sub-nav {
    width: 18%;
    display: inline-block;
    margin: 0;
    padding: 20px 0;
    cursor: pointer;
    line-height: 1.1em;
  }

  #gNav .sub-nav + .sub-nav {
    margin-left: 0;
  }

  /**/

  #gNav li.sub-nav:first-child,
  #gNav li.sub-nav:last-child {
    width: 22%;
  }

  #gNav li.sub-nav:nth-child(2),
  #gNav li.sub-nav:nth-child(4) {
    width: 20%;
  }

  #gNav li.sub-nav .box-arrow {
    width: 100%;
    height: 20px;
    overflow: hidden;
    z-index: -1;
    position: absolute;
    top: -20px;
  }

  #gNav li.sub-nav .box-arrow:before {
    content: "";
    width: 20px;
    height: 20px;
    background: #fff;
    transform: rotate(45deg) translateX(-50%);
    box-shadow: rgba(122, 122, 122, 0.0588235) 0px 0px 6px 3px;
    -webkit-box-shadow: rgba(122, 122, 122, 0.0588235) 0px 0px 6px 3px;
    -moz-box-shadow: rgba(122, 122, 122, 0.0588235) 0px 0px 6px 3px;
    position: absolute;
    top: 17px;
  }

  #gNav li.sub-nav:first-child .box-arrow:before {
    left: 32%;
  }

  #gNav li.sub-nav:nth-child(2) .box-arrow:before {
    left: 54%;
  }

  #gNav li.sub-nav:nth-child(3) .box-arrow:before {
    left: 67%;
  }

  #gNav li.sub-nav:nth-child(4) .box-arrow:before {
    left: 79%;
  }

  #gNav li.sub-nav:last-child .box-arrow:before {
    left: 93%;
  }

  #gNav > ul > li span {
    font-size: 14px;
    line-height: 1.2em;
    position: relative;
  }

  #gNav .sub-nav-wrap {
    display: none;
    width: auto;
    height: auto;
    background: #fff url("../img/common/hd-bg.svg") no-repeat bottom right;
    background-size: 678px;
    position: absolute;
    top: 88px;
    left: 0;
    padding: 0;
    z-index: 2;
    box-shadow: rgba(0, 0, 0, 0.15) 0px 4px 4px;
    -webkit-box-shadow: rgba(0, 0, 0, 0.15) 0px 4px 4px;
    -moz-box-shadow: rgba(0, 0, 0, 0.15) 0px 4px 4px;
    cursor: default;
  }

  #gNav .sub-nav-wrap > ul {
    width: 100%;
    overflow: hidden;
    padding-inline-start: 0;
    padding: 40px 40px 80px 40px;
    margin-bottom: 0;
  }

  #gNav .sub-nav-wrap > ul > li {
    float: left;
    width: 200px;
    color: #000;
    font-size: 16px;
    text-align: left;
    list-style: none;
    font-family: "M PLUS 1p", sans-serif;
    font-weight: 700;
  }

  #gNav .sub-nav-wrap > ul > li + li {
    margin-left: 32px;
  }

  #gNav .sub-nav-wrap > ul > li > ul {
    border-top: 1px solid #898989;
    margin-top: 10px;
    padding-top: 10px;
    padding-left: 0;
    padding-right: 0;
    padding-inline-start: 0;
  }

  #gNav .sub-nav-wrap > ul > li > ul > li {
    list-style: none;
    font-size: 15px;
    display: block;
    line-height: 1.5em;
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium",
      "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
    font-weight: normal;
  }

  #gNav .sub-nav-wrap > ul > li > ul > li + li {
    margin-top: 8px;
  }

  #gNav .sub-nav-wrap > ul > li > ul > li a {
    padding: 2px 0;
    color: #000;
    position: relative;
    transition: 0.3s;
    display: block;
  }

  #gNav .sub-nav-wrap > ul > li > ul > li a:hover {
    text-decoration: none;
    color: #1d315a;
  }

  #gNav .sub-nav-wrap > ul > li > ul > li a:before {
    content: "";
    transition: 0.3s;
    width: 0;
    height: 1px;
    background: #1d315a;
    position: absolute;
    left: 0;
    bottom: 0;
  }

  #gNav .sub-nav-wrap > ul > li > ul > li a:hover:before {
    width: 100%;
  }

  #gNav02 {
    width: 160px;
    height: 80px;
    position: absolute;
    right: 0;
    top: 0;
  }

  #gNav02 > ul > li.language-nav {
    width: 25%;
    height: 100%;
    position: relative;
    display: flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    align-items: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
  }

  #gNav02 > ul > li.hotel-nav {
    width: 44%;
    position: relative;
    padding: 0 2%;
    display: flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    align-items: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
  }

  body._hotel-box-type #gNav02 > ul > li.hotel-nav {
    display: none;
  }

  body._hotel-box-type header .hotel-wrap {
    display: none;
  }

  #gNav02 > ul > li.language-nav {
    width: 33%;
    height: 100%;
    position: relative;
    display: flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    align-items: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
  }

  #gNav02 > ul > li.language-nav span {
    vertical-align: middle;
    font-size: 16px;
  }

  #gNav02 > ul > li.language-nav span:after {
    content: "";
    width: 0;
    height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 8px solid #fff;
    display: inline-block;
    margin-left: 5px;
    vertical-align: middle;
  }
  #gNav02 > ul > li.weather-nav .weather-wrap {
    right: -50px;
  }

  #gNav02 .weather-wrap .box-arrow:before {
    right: 60px;
  }

  header.is-animation #gNav02 > ul > li.language-nav span:after {
    content: "";
    width: 0;
    height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 8px solid #1d315a;
    display: inline-block;
    margin-left: 5px;
    vertical-align: middle;
  }

  #gNav02 > ul > li.language-nav .language-wrap {
    display: none;
    width: 380px;
    height: auto;
    background: #fff;
    position: absolute;
    top: 88px;
    right: -80px;
    padding: 40px;
    z-index: 2;
    box-shadow: rgba(0, 0, 0, 0.15) 0px 4px 4px;
    -webkit-box-shadow: rgba(0, 0, 0, 0.15) 0px 4px 4px;
    -moz-box-shadow: rgba(0, 0, 0, 0.15) 0px 4px 4px;
    cursor: default;
  }

  body._hotel-box-type #gNav02 > ul > li.language-nav .language-wrap {
    right: -80px;
  }

  #gNav02 .language-wrap .box-arrow:before {
    left: 270px;
  }

  main._home .openbtn {
    display: none;
  }

  main._home .openbtn:hover {
    opacity: 1;
  }
  main._home .openbtn:hover img {
    opacity: 1;
  }

  /* ----------------------------------------

メインタイトル部分

---------------------------------------- */

  .main-ttl-wrap01 {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
    color: #fff;
    z-index: 3;
  }

  .main-ttl-wrap01 h2.ttl01 {
    width: 100%;
    max-width: 1198px;
    font-family: "M PLUS 1p", sans-serif;
    font-weight: 900;
    font-size: 40px;
    line-height: 1.2em;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
    text-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
    padding-left: 24px;
    padding-right: 24px;
    margin-bottom: 0;
  }

  .main-ttl-wrap01 .bg-img-wrap {
    width: 106%;
    height: 525px;
    overflow: hidden;
    margin: 0;
    padding: 0;
    position: relative;
    transform: rotate(2.5deg) translateX(-50%);
    left: 50%;
    top: 0;
  }

  .main-ttl-wrap01 .bg-img-wrap img {
    width: 100%;
    transform: translate(-50%, -50%) rotate(-2.5deg);
    position: absolute;
    top: 50%;
    left: 50%;
  }

  /*
    .main-ttl-wrap01 .bg-img-wrap:after{
        content:'';
        position: absolute;
        bottom: 0;
        left: 0;
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 0 0 80px 100vw ;
        border-color: transparent transparent #fff transparent;
        transform: rotateY(180deg);
    }
    */

  .main-ttl-wrap02 {
    position: relative;
    width: 100%;
    margin: 0 0 40px 0;
    padding: 0 0 40px 0;
    background: #1d315a;
  }

  .main-ttl-wrap02 .bg-img-wrap {
    width: 100%;
    height: 525px;
    overflow: hidden;
    margin: 0;
    padding: 0;
    position: relative;
  }

  .main-ttl-wrap02 .bg-img-wrap img {
    width: 100%;
    transform: translate(-50%, -50%);
    position: absolute;
    top: 50%;
    left: 50%;
  }

  .main-ttl-wrap02 .bg-img-wrap:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 80px 100vw;
    border-color: transparent transparent #1d315a transparent;
    transform: rotateY(180deg);
  }

  .main-ttl-wrap02 .txt-box {
    width: 100%;
    max-width: 1150px;
    background: #1d315a;
    margin: 0 auto;
    padding: 0;
    color: #fff;
    display: flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    position: relative;
  }

  .main-ttl-wrap02 .txt-box .l-box {
    width: 70%;
  }

  .main-ttl-wrap02 .txt-box .l-box p:last-child,
  .main-ttl-wrap02 .txt-box .r-box p:last-child {
    margin-bottom: 0;
  }

  .main-ttl-wrap02 .txt-box .r-box {
    width: 30%;
    margin-top: 40px;
  }

  .main-ttl-wrap02 .txt-box .ttl02 {
    font-family: "M PLUS 1p", sans-serif;
    font-weight: 900;
    font-size: 34px;
    line-height: 1.4em;
    margin-bottom: 0;
  }

  .main-ttl-wrap02 .txt-box .ttl-sub-txt01 {
    display: block;
    margin-top: 8px;
    font-weight: normal;
    font-size: 16px;
    line-height: 1.4em;
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium",
      "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  }

  .main-ttl-wrap02 .txt-box .ttl-sub-txt01 b {
    font-weight: normal;
  }

  .main-ttl-wrap02 .txt-box .ttl-sub-txt01 .breadth:before,
  .main-ttl-wrap02 .txt-box .ttl-sub-txt01 .number-rooms:before {
    display: inline-block;
    content: "/";
    margin-left: 16px;
    margin-right: 16px;
  }

  .main-ttl-wrap02 .txt-box .ttl-sub-txt01-2 {
    font-style: normal;
    font-weight: 500;
    font-size: 18px;
    line-height: 26px;
  }

  .main-ttl-wrap02 .txt-box .ttl02 + .ttl-sub-txt01-2 {
    margin-top: 24px;
  }

  .main-ttl-wrap02 .txt-box .ttl-sub-txt02 {
    font-family: "Montserrat", sans-serif;
    font-weight: bold;
    font-size: 20px;
    line-height: 24px;
    text-align: right;
    color: #ebc34a;
  }

  .main-ttl-wrap02 .txt-box .ttl-sub-txt02._close {
    color: #b6b6b6;
  }

  .main-ttl-wrap02 .txt-box .ttl-sub-txt03 {
    font-weight: bold;
    font-size: 18px;
    line-height: 26px;
    text-align: right;
  }

  .main-ttl-wrap02 .txt-box .ttl-time-txt {
    padding-inline-start: 0;
    margin-top: 20px;
  }

  .main-ttl-wrap02 .txt-box .ttl-time-txt li {
    font-weight: bold;
    font-size: 18px;
    line-height: 26px;
    text-align: right;
  }

  .main-ttl-wrap02 .txt-box .ttl-time-txt li + li {
    margin-top: 4px;
  }

  .main-ttl-wrap02 .txt-box a.btn-entry {
    position: absolute;
    bottom: -64px;
    right: 0;
    width: 250px;
    background: none;
    z-index: 1;
    line-height: 48px;
  }

  .main-ttl-wrap02 .txt-box a.btn-entry:before {
    position: absolute;
    left: 0;
    top: 0;
    content: "";
    background: #a44949;
    z-index: -1;
    width: 100%;
    height: 100%;
    transition: 0.3s;
  }

  .main-ttl-wrap02 .txt-box a.btn-entry:after {
    position: absolute;
    left: 0;
    top: 0;
    content: "";
    background: #fff;
    z-index: -2;
    width: 100%;
    height: 100%;
  }

  .main-ttl-wrap02 .txt-box a.btn-entry {
    opacity: 1;
  }

  .main-ttl-wrap02 .txt-box a.btn-entry:hover:before {
    opacity: 0.7;
  }
}
