@charset "utf-8";
/* ===================================================================
 File Name  : page.css
 Style Info : ページに関するスタイル指定
=================================================================== */

/*----------------------------------------------------
  トップページ index
--------------------------------------------------- */
.img_slider,
.carousel_slider,
.island_slider {
  opacity: 0;
  transition: opacity 0.6s linear;
}
.slick-initialized{
  opacity: 1!important;
}

#main_movie {
  position: relative;
  background: #fff;
}
#movie {
  position: relative;
  width: 100%;
  height: 100%;
  object-fit: cover;
  background: #001845;
}
.mv_full_btn {
  position: relative;
}
.mv_full_btn a {
  display: block;
  background-color: rgba(255,255,255,0.15);
  cursor: pointer;
  color: #fff;
  width: 240px;
  line-height: 54px;
  text-align: center;
  border: solid 1px #fff;
}
.mv_full_btn a:hover {
  background-color: rgba(255,255,255,0.3);
}
  @media screen and (max-width: 767px) {
    #main_movie {
      z-index: 5;
      height: auto!important;
    }
    #movie {
      height: 130vw;
    }
    #movie_sp {
      height: 130vw;
    }
    .mv_full_btn a {
      width: 54.66vw;
      line-height: 12vw;
    }
  }

.modal-video-body {
  max-width: 1200px!important;
}

.mv_wrap {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  padding: 0 70px;
  display: flex;
  align-items: center;
  transition: all 0.3s ease-in-out 0s;
}
.mv_box {
  width: 100%;
  margin: 0 auto;
  position: relative;
  left: -50px;
  bottom: 60px;
  color: #fff;
  z-index: 10;
  text-shadow: 0 0 46px rgba(0, 0, 0, 1);
  opacity: 0;
  transition: all 1.5s ease 1.5s;
}
.active .mv_box {
  left: 0;
  opacity: 1;
}
.mv_box h2 {
  font-size: 3rem;
  font-weight: 500;
  margin: 20px 0 25px;
}
.mv_inner {
  padding: 0 80px;
}
  @media screen and (max-width: 1280px) {
    .mv_wrap {
      padding: 0 30px;
    }
    .mv_box h2 {
      font-size: 2.8rem;
    }
  }
  @media screen and (max-width: 767px) {
    .mv_wrap {
      padding: 0 4.6vw;
      height: 130vw;
    }
    .mv_box {
      bottom: -6.66vw;
    }
    .mv_logo img {
      width: 47.73vw;
    }
    .mv_box h2 {
      font-size: 4.8vw;
      margin: 5.33vw 0 6.33vw;
      line-height: 1.9;
    }
    .mv_inner {
      padding: 0 10.66vw;
    }
  }



#index {
  padding-bottom: 80px;
}
  @media screen and (max-width: 767px) {
    #index {
      padding-bottom: 10.66vw;;
    }
  }

/*トップ検索*/
#index_search {
  position: relative;
  padding: 45px 20px;
  overflow: hidden;
}
#index_search::after {
  position: absolute;
  left: 0;
  bottom: -25px;
  content: "";
  background: url("../img/common/bg/search_bg01.png") center center no-repeat;
  width: 316px;
  height: 266px;
}
#index_search::before {
  position: absolute;
  right: 0;
  bottom: -25px;
  content: "";
  background: url("../img/common/bg/search_bg02.png") center center no-repeat;
  width: 196px;
  height: 234px;
}
  @media screen and (max-width: 767px) {
    #index_search {
      padding: 9.33vw 5.33vw;
    }
    #index_search::after {
      bottom: -5vw;
      left: -12vw;
      background-size: 46.53vw auto;
      width: 46.53vw;
      height: 39.2vw;
    }
    #index_search::before {
      bottom: -1.33vw;
      background-size: 30vw auto;
      width: 30vw;
      height: 35.8vw;
    }
  }

.en_ttl {
  position: absolute;
  z-index: 10;
  font-size: 16.2rem;
  line-height: 1;
  letter-spacing: 0;
  white-space: nowrap;
}
.index_txt {
  width: 100%;
  max-width: 440px;
}
.index_txt h3 {
  font-size: 4rem;
  padding-bottom: 60px;
  background: url("../img/index/ttl_logo.png") 0 bottom no-repeat;
  background-size: 74px auto;
  margin-bottom: 15px;
}
.index_txt p {
  margin-bottom: 25px;
}
  @media screen and (max-width: 767px) {
    .index_txt {
      width: 100%;
      max-width: 66.66vw;
    }
    .index_txt h3 {
      font-size: 6vw;
      padding-bottom: 10.66vw;
      background-size: 15vw auto;
      margin-bottom: 5vw;
    }
    .index_txt p {
      margin-bottom: 6vw;
    }
  }

/*トップ はわい温泉について*/
#index_about {
  position: relative;
  background: url("../img/index/index_about_bg.jpg") center center no-repeat;
  background-size: cover;
  width: 100%;
  min-height: 900px;
  padding: 155px 0 40px;
}
#index_about .en_ttl {
  width: 100%;
  top: -20px;
  left: 0;
  text-align: center;
  color: rgba(255,255,255,0.5);
}
.index_about_box {
  max-width: 770px;
  margin: 0 auto;
  color: #fff;
}
.index_about_box h3 {
  font-size: 3rem;
  margin-bottom: 30px;
}
.index_about_box p {
  line-height: 2;
  margin-bottom: 90px;
}
.index_about_tree01 {
  position: absolute;
  left: 0;
  bottom: 0;
}
.index_about_tree02 {
  position: absolute;
  right: 0;
  bottom: 0;
}
  @media screen and (max-width: 1400px) {
    .index_about_tree01 {
      left: calc(50% - 720px);
    }
    .index_about_tree02 {
      right: calc(50% - 720px);
    }
  }

  @media screen and (max-width: 767px) {
    #index_about {
      background: url("../img/index/index_about_bg_sp.jpg") center center no-repeat;
      background-size: cover;
      min-height: 150vw;
      padding: 20.66vw 0 5.33vw;
    }
    #index_about .en_ttl {
      font-size: 16.6vw;
      top: -1.66vw;
      left: 1vw;
    }
    .index_about_box h3 {
      font-size: 5.33vw;
      line-height: 1.8;
      margin-bottom: 7.4vw;
    }
    .index_about_box p {
      text-align: left;
      font-size: 3.2vw;
      margin-bottom: 7.4vw;
      text-shadow: 0 0 8px rgba(0, 0, 0, 0.9);
    }
    .index_about_tree01 {
      display: none;
    }
    .index_about_tree02 {
      display: none;
    }
  }

#index_about.active .ani_fade {
  -webkit-animation: ani_fade 1.5s ease 1.2s 1 forwards;
  animation: ani_fade 1.5s ease 1.2s 1 forwards;
}
#index_about.active .ani_bottom {
  -webkit-animation: ani_bottom 1.5s ease 2s 1 forwards;
  animation: ani_bottom 1.5s ease 2s 1 forwards;
}

#index_about figure {
  position: absolute;
  left: calc(50% - 270px);
  bottom: 30px;
}
  @media screen and (max-width: 767px) {
    #index_about figure {
      left: -5vw;
      right: -30vw;
      bottom: 2.66vw;
    }
    #index_about figure img {
      width: 190vw;
    }
  }

/*トップ 温泉*/
#index_hotspring {
  position: relative;
  padding-top: 100px;
  margin-bottom: 100px;
}
#index_hotspring::after {
  position: absolute;
  left: 0;
  top: 0;
  content: "";
  width: calc(50% + 200px);
  height: 760px;
  background: #C3DEED;
  background: linear-gradient(180deg, #C3DEED 0%, #fff 100%);
}
#index_hotspring .en_ttl {
  color: #fff;
  top: 120px;
  left: calc(50% - 940px);
}
  @media screen and (max-width: 1900px) {
    #index_hotspring .en_ttl {
      left: 10px;
    }
  }
  @media screen and (max-width: 1024px) {
    #index_hotspring .en_ttl {
      font-size: 10rem;
    }
  }
  @media screen and (max-width: 767px) {
    #index_hotspring {
      padding-top: 13.33vw;
      margin-bottom: 13.33vw;
    }
    #index_hotspring::after {
      width: calc(100% - 8vw);
      height: 134vw;
    }
    #index_hotspring .en_ttl {
      top: 20.66vw;
      left: 0;
      font-size: 11.88vw;
    }
  }

.index_hotspring_wrap {
  position: relative;
  z-index: 5;
  width: 100%;
  padding: 0 40px;
  min-height: 700px;
}
.index_hotspring_wrap figure {
  overflow: hidden;
  position: absolute;
  width: calc(50% + 300px);
  left: calc(50% - 300px);
}
.index_hotspring_wrap figure img {
  position: relative;
  width: 100%;
  height: 700px;
  object-fit: cover;
  transition: all 1s ease 0s;
}
.index_hotspring_wrap figure:hover img {
  transform: scale(1.08);
}
  @media screen and (max-width: 1660px) {
    .index_hotspring_wrap figure {
      width: calc(100% - 440px);
      left: auto;
      right: 0;
    }
  }
  @media screen and (max-width: 1024px) {
    .index_hotspring_wrap {
      padding: 0 0 0 60px;
    }
    .index_hotspring_wrap figure {
      position: relative;
      width: 100%;
      text-align: right;
    }
    .index_hotspring_wrap figure img {
      height: auto;
    }
  }
  @media screen and (max-width: 767px) {
    .index_hotspring_wrap {
      padding: 0;
      min-height: auto;
    }
    .index_hotspring_wrap figure {
      width: 100%;
      left: 0;
      padding: 0 0 0 13.33vw;
    }
    .index_hotspring_wrap figure img {
      height: auto;
    }
    .index_hotspring_wrap figure:hover img {
      transform: scale(1);
    }
  }

.index_hotspring_box {
  max-width: 1620px;
  margin: 0 auto;
  padding-top: 215px;
}
.index_hotspring_gallery {
  position: relative;
  z-index: 10;
  padding: 30px 15px 0;
}
.index_hotspring_gallery ul {
  position: relative;
  z-index: 10;
}
.index_hotspring_gallery li {
  margin: 0 15px;
  overflow: hidden;
}
.index_hotspring_gallery li img {
  width: 100%;
  height: 350px;
  object-fit: cover;
  transition: all 1s ease 0s;
}
.index_hotspring_gallery li:hover img {
  transform: scale(1.08);
}
  @media screen and (max-width: 1024px) {
    .index_hotspring_box {
      padding: 40px 0 120px;
    }
    .index_hotspring_gallery li img {
      height: auto;
    }
  }
  @media screen and (max-width: 767px) {
    .index_hotspring_box {
      max-width: 100%;
      padding: 6.66vw 13.33vw 13.33vw 13.33vw;
    }
    .index_hotspring_gallery {
      padding: 6.66vw 2.66vw 0;
    }
    .index_hotspring_gallery ul {
      justify-content: space-between;
    }
    .index_hotspring_gallery li {
      width: 48.8%;
      margin: 0;
      overflow: hidden;
    }
    .index_hotspring_gallery li:nth-child(1) {
      display: none;
    }
    .index_hotspring_gallery li img {
      width: 100%;
      height: auto;
    }
    .index_hotspring_gallery li:hover img {
      transform: scale(1);
    }
  }

.loop_wave {
  position: absolute;
  left: 0;
  top: -60px;
  overflow: hidden;
}
.loop_wave_box {
  display: flex;
  width: 100%;
}
.loop_wave_box img {
  width: 3838px;
  max-width: 3838px;
  height: 513px!important;
}
  @media screen and (max-width: 1024px) {
    .loop_wave_box img {
      width: 1800px;
      max-width: 1800px;
      height: auto!important;
    }
  }
  @media screen and (max-width: 767px) {
    .loop_wave {
      top: -5vw;
      overflow: hidden;
    }
  }

.loop_wave_box img:first-child {
  animation: loop 50s -25s linear infinite;
}
.loop_wave_box img:last-child {
  animation: loop2 50s linear infinite;
}
@keyframes loop {
  0% {
    transform: translateX(100%);
  }
  to {
    transform: translateX(-100%);
  }
}
@keyframes loop2 {
  0% {
    transform: translateX(0);
  }
  to {
    transform: translateX(-200%);
  }
}

#index_hotspring.active .ani_fade {
  -webkit-animation: ani_fade 1.5s ease 1.2s 1 forwards;
  animation: ani_fade 1.5s ease 1.2s 1 forwards;
}
#index_hotspring.active .ani_bottom {
  -webkit-animation: ani_bottom 1.5s ease 2s 1 forwards;
  animation: ani_bottom 1.5s ease 2s 1 forwards;
}

#index_spa {
  padding-bottom: 20px;
}
#index_spa .column2_g1 {
  align-items: center;
  margin-bottom: 60px;
}
  @media screen and (max-width: 1700px) {
    #index_spa .prev_btn {
      left: 25px;
    }
    #index_spa .next_btn {
      right: 25px;
    }
  }
  @media screen and (max-width: 767px) {
    #index_spa {
      padding-bottom: 2.66vw;
    }
    #index_spa .column2_g1 {
      margin-bottom: 10.66vw;
    }
  }

.shift_time li {
  position: relative;
  padding-right: 18px;
  margin-right: 6px;
}
.shift_time li::after {
  position: absolute;
  right: 0;
  content: "/";
}
.shift_time li:last-child::after {
  display: none;
}
.shift_time li span {
  display: inline-block;
  color: #fff;
  padding: 0 15px;
}
.ico_female {
  background: #BC6D78;
}
.ico_male {
  background: #5F8EB3;
}
  @media screen and (max-width: 767px) {
    .shift_time li {
      padding-right: 4vw;
      margin-right: 2vw;
    }
    .shift_time li span {
      padding: 0 2vw;
    }
  }

/*トップ 客室*/
#index_room {
  position: relative;
  padding: 80px 0 40px;
  background: linear-gradient(#fee7ea 0%, rgba(255,251,251,1.00) 100%);
}
#index_room::after {
  position: absolute;
  right: 0;
  bottom: 0;
  content: "";
  background: url("../img/index/index_room_bg01.png") right bottom no-repeat;
  background-size: 256px auto;
  width: 256px;
  height: 307px;
}
#index_room .en_ttl {
  left: 44%;
  top: 10px;
  color: #fff;
}
.index_room_wrap {
  position: relative;
  z-index: 5;
  min-height: 600px;
}
.index_room_wrap figure {
  position: absolute;
  left: 0;
  width: calc(50% + 140px);
}
.index_room_wrap figure img {
  width: 100%;
  height: 600px;
  object-fit: cover;
}
.index_room_box {
  padding-top: 215px;
}
  @media screen and (max-width: 1280px) {
    #index_room .en_ttl  {
      left: 35%;
      top: 10px;
    }
    .index_room_wrap {
      position: relative;
      min-height: 600px;
    }
    .index_room_wrap figure {
      position: absolute;
      left: 0;
      width: calc(100% - 520px);
    }
  }
  @media screen and (max-width: 1024px) {
    #index_room .en_ttl {
      left: auto;
      right: 0;
      font-size: 10rem;
    }
    .index_room_wrap figure {
      position: relative;
      width: 100%;
      padding-right: 60px;
    }
    .index_room_box {
      display: block;
      padding: 40px 40px 120px 40px;
    }
  }
  @media screen and (max-width: 767px) {
    #index_room {
      padding: 13.33vw 0 0;
      margin-bottom: 0;
    }
    #index_room::after {
      background: url("../img/index/index_room_bg01.png") right bottom no-repeat;
      background-size: 34.4vw auto;
      width: 34.4vw;
      height: 40vw;
    }
    #index_room .en_ttl {
      left: auto;
      right: 0;
      top: 6.66vw;
      font-size: 16vw;
    }
    .index_room_wrap {
      min-height: auto;
    }
    .index_room_wrap figure {
      left: 0;
      padding-right: 13.33vw;
    }
    .index_room_wrap figure img {
      height: auto;
    }
    .index_room_box {
      padding: 6.66vw;
    }
  }

#index_room .wrapper {
  max-width: 1340px;
}
.index_room_carousel {
  padding: 0 0 40px 0;
}
.index_room_carousel figure {
  position: relative;
}
.index_room_carousel figcaption {
  position: absolute;
  left: 24px;
  bottom: 0;
  z-index: 5;
  width: calc(100% - 48px);
  background: rgba(0,0,0,0.5);
  color: #fff;
  padding: 8px;
  font-size: 1.6rem!important;
}
  @media screen and (max-width: 767px) {
    .index_room_carousel {
      padding: 0 0 8vw 0;
    }
    .index_room_carousel figcaption {
      left: 2vw;
      width: calc(100% - 4vw);
      padding: 1.33vw;
      margin-top: 0;
      font-size: 3.46vw!important;
    }
  }

.index_room_gallery {
  position: relative;
  padding: 80px 40px;
  margin-bottom: 80px;
  background: linear-gradient(120deg, #FEE7EA 0%, #FEE7EA 100%);
}
.index_room_gallery::after {
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 2;
  content: "";
  background: url("../img/index/index_room_bg02.png") center center no-repeat;
  width: 416px;
  height: 352px;
}
.index_room_gallery_inner {
  position: relative;
  z-index: 5;
  max-width: 1760px;
  margin: 0 auto;
  padding-left: 60px;
}
.index_room_gallery_inner .index_txt {
  display: flex;
  flex-direction: column;
  justify-content: center;
  max-width: 400px;
}
.index_room_slider {
  width: 1200px;
}
  @media screen and (max-width: 1770px) {
    .index_room_gallery_inner {
      padding-left: 0;
    }
    .index_room_slider {
      width: 100%;
      max-width: calc(100% - 445px);
    }
    .index_room_gallery_inner .index_txt {
      max-width: 420px;
    }
  }
  @media screen and (max-width: 767px) {
    .index_room_gallery_inner .index_txt {
      max-width: 100%;
    }
  }

.index_room_slider figure {
  position: relative;
}
.index_room_slider figure img {
  width: 100%;
  height: 400px;
  object-fit: cover;
}
.index_room_slider figcaption {
  position: absolute;
  right: 0;
  width: 100%;
  padding: 0 20px;
  bottom: 12px;
  color: #fff;
  z-index: 5;
  font-size: 1.6rem;
  text-shadow: 0 0 8px rgba(0, 0, 0, 0.9);
  text-align: right;
}
  @media screen and (max-width: 1299px) {
    .index_room_slider figcaption {
      font-size: 1.5rem;
      letter-spacing: 0.05em;
    }
  }
  @media screen and (max-width: 767px) {
    .index_room_gallery {
      padding: 8vw;
      margin-bottom: 0;
    }
    .index_room_gallery::before {
      top: 0;
      height: 100%;
    }
    .index_room_gallery::after {
      background-size: 55.46vw auto;
      width: 55.46vw;
      height: 46.66vw;
    }
    .index_room_gallery_inner {
      max-width: 100%;
      padding-left: 0;
    }
    .index_room_gallery_inner .index_txt {
      display: block;
      padding: 0;
      margin: 6.66vw 0 0;
    }
    .index_room_slider {
      width: 100%;
      max-width: 100%;
    }
    .index_room_slider figure img {
      height: auto;
    }
    .index_room_slider figcaption {
      bottom: 2vw;
      padding: 0 2vw;
      font-size: 3.2vw;
    }
  }

.slick-arrow {
  position: absolute;
  top: calc(50% - 25px);
  z-index: 5;
  background: rgba(173,66,80,0.75);
  width: 50px;
  height: 50px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  color: #fff;
  border-radius: 50%;
  cursor: pointer;
  font-size: 2.6rem;
  transition: all 0.3s ease-in-out 0s;
}
.slick-arrow:hover {
  background: rgba(173,66,80,1);
}
.prev_btn {
  left: -25px;
}
.next_btn {
  right: -25px;
}
  @media screen and (max-width: 767px) {
    .slick-arrow {
      top: calc(50% - 4vw);
      width: 8vw;
      height: 8vw;
      font-size: 4vw;
    }
    .prev_btn {
      left: -4vw!important;
    }
    .next_btn {
      right: -4vw!important;
    }
  }

.index_room_gallery .index_txt h4 {
  font-size: 3rem;
  margin-bottom: 30px;
}
  @media screen and (max-width: 767px) {
    .index_room_gallery .index_txt h4 {
      font-size: 5.8vw;
      margin-bottom: 4vw;
    }
  }

.index_room_wrap.active .ani_fade {
  -webkit-animation: ani_fade 1.5s ease 1.2s 1 forwards;
  animation: ani_fade 1.5s ease 1.2s 1 forwards;
}
.index_room_wrap.active .ani_bottom {
  -webkit-animation: ani_bottom 1.5s ease 2s 1 forwards;
  animation: ani_bottom 1.5s ease 2s 1 forwards;
}
.index_room_gallery.active .ani_fade {
  -webkit-animation: ani_fade 1.5s ease 1.2s 1 forwards;
  animation: ani_fade 1.5s ease 1.2s 1 forwards;
}
.index_room_gallery.active .ani_bottom {
  -webkit-animation: ani_bottom 1.5s ease 2s 1 forwards;
  animation: ani_bottom 1.5s ease 2s 1 forwards;
}

/*トップ お料理*/
#index_cuisine {
  position: relative;
  width: 100%;
  height: 600px;
  overflow: hidden;
}
#index_cuisine::before {
  position: absolute;
  left: 0;
  top: 0;
  content: "";
  width: 50%;
  height: 100%;
  background: url("../img/index/index_cuisine01.jpg") center center no-repeat;
  background-size: cover;
  z-index: 2;
  transition: all 0.5s ease 0s;
}
#index_cuisine::after {
  position: absolute;
  right: 0;
  top: 0;
  content: "";
  width: 50%;
  height: 100%;
  background: url("../img/index/index_cuisine02.jpg") center center no-repeat;
  background-size: cover;
  filter: blur(6px);
  transform: scale(1.02);
  z-index: 1;
  transition: all 0.5s ease 0s;
}
#index_cuisine.blur_none::after {
  filter: blur(0);
}
#index_cuisine .en_ttl {
  left: calc(50% - 270px);
  top: 10px;
  color: #fff;
}
.index_cuisine_box {
  position: relative;
  z-index: 5;
}
.index_cuisine_box .index_txt {
  max-width: calc(50% - 60px);
  color: #fff;
  padding-top: 215px;
}
.index_cuisine_box .index_txt h3 {
  margin-bottom: 25px;
  padding-bottom: 0;
  background: none;
}
#index_cuisine figure {
  position: absolute;
  right: 40px;
  top: 83px;
  box-shadow: 30px 30px 0 #E0683F;
}
  @media screen and (max-width: 1400px) {
    #index_cuisine::before {
      width: 30%;
    }
    #index_cuisine::after {
      width: 70%;
    }
    #index_cuisine .en_ttl {
      left: calc(30% - 270px);
    }
    .index_cuisine_box .index_txt {
      max-width: calc(70% - 40px);
    }
    #index_cuisine figure {
      position: absolute;
      right: calc(50% - 430px);
      top: 83px;
      box-shadow: 30px 30px 0 #E0683F;
    }
  }
  @media screen and (max-width: 1024px) {
    #index_cuisine {
      height: 1000px;
      padding-top: 450px;
    }
    #index_cuisine::before {
      width: 100%;
      height: 450px;
    }
    #index_cuisine::after {
      top: 450px;
      width: 100%;
      height: 550px;
    }
    #index_cuisine .en_ttl {
      font-size: 10rem;
      left: 30px;
      top: 480px;
    }
    .index_cuisine_box {
      padding-left: 30px;
    }
    .index_cuisine_box .index_txt {
      max-width: 100%;
      padding-top: 200px;
    }
    #index_cuisine figure {
      right: 30px;
      top: -50px;
    }
  }
  @media screen and (max-width: 767px) {
    #index_cuisine {
      position: relative;
      width: 100%;
      height: 160vw;
      padding-top: 62.66vw;
    }
    #index_cuisine::before {
      left: 0;
      top: 0;
      width: 100%;
      background-size: 100% 62.66vw;
      height: 62.66vw;
    }
    #index_cuisine::after {
      position: absolute;
      right: 0;
      content: "";
      background: url("../img/index/index_cuisine02.jpg") center center no-repeat;
      background-size: cover;
      filter: blur(3px);
      transform: scale(1.02);
      z-index: 1;
      transition: all 0.5s ease 0s;
      top: 62.66vw;
      width: 100%;
      height: 98.66vw;
    }
    #index_cuisine.blur_none::after {
      filter: blur(1.02);
    }
    #index_cuisine .en_ttl {
      font-size: 18vw;
      left: 0;
      top: 70vw;
    }
    .index_cuisine_box .index_txt {
      padding-top: 40vw;
    }
    #index_cuisine figure {
      position: absolute;
      right: 4vw;
      top: -9.33vw;
      box-shadow: 4vw 4vw 0 #E0683F;
      width: 40vw;
    }
    #index_cuisine figure img {
      width: 100%;
      height: auto;
    }
    .index_cuisine_box {
      padding-left: 2.66vw;
    }
  }

#index_cuisine.active .ani_fade {
  -webkit-animation: ani_fade 1.5s ease 1.2s 1 forwards;
  animation: ani_fade 1.5s ease 1.2s 1 forwards;
}
#index_cuisine.active .ani_bottom {
  -webkit-animation: ani_bottom 1.5s ease 2s 1 forwards;
  animation: ani_bottom 1.5s ease 2s 1 forwards;
}

.index_cuisine_gallery li {
  width: calc(25% - 20px);
  margin-top: 40px;
}
.index_cuisine_gallery li img {
  width: 100%;
  height: auto;
}
  @media screen and (max-width: 767px) {
    .index_cuisine_gallery {
      padding: 1.33vw 5.33vw 5.33vw 5.33vw;
    }
    .index_cuisine_gallery li {
      width: calc(50% - 2vw);
      margin-top:4vw;
    }
  }

#index_breakfast {
  background: #FEE7EA;
  padding: 0 20px;
}
.index_breakfast_box {
  max-width: 1620px;
  margin: 0 auto;
  background: #fff;
  padding: 60px 4.5% 80px 4.5%;
}
.index_breakfast_box h2 {
  font-size: 9rem;
  margin-bottom: 30px;
  color: #c2717c;
}
.index_breakfast_box .column2_g1 {
  align-items: center;
}
.index_breakfast_box .column2_g1.fx_r_reverse .column2_g1_txt {
  justify-content: flex-start;
  width: 45%;
  max-width: 560px;
}
.index_breakfast_box .column2_g1.fx_r_reverse .img_slider_wrap {
  max-width: 53%;
  width: 53%;
  right: 0;
}
  @media screen and (max-width: 1999px) {
    #index_breakfast.bg_pink::before {
      left: -30px;
      background-size: 250px 460px;
      width: 250px;
      height: 460px;
      z-index: 0;
    }
    #index_breakfast.bg_pink::after {
      right: -30px;
      background-size: 250px 460px;
      width: 250px;
      height: 460px;
      z-index: 0;
    }
  }
  @media screen and (max-width: 1299px) {
    #index_breakfast.bg_pink::before {
      left: -40px;
      background-size: 200px 368px;
      width: 200px;
      height: 368px;
    }
    #index_breakfast.bg_pink::after {
      right: -40px;
      background-size: 200px 368px;
      width: 200px;
      height: 368px;
    }
  }
  @media screen and (max-width: 999px) {
    .index_breakfast_box .column2_g1.fx_r_reverse .column2_g1_txt {
      width: 100%;
      max-width: 740px;
    }
  }
  @media screen and (max-width: 767px) {
    #index_breakfast {
      padding: 5.33vw 5.33vw 0;
    }
    .index_breakfast_box {
      max-width: 100%;
      padding: 8vw 5.33vw 10.66vw 5.33vw;
    }
    .index_breakfast_box h2 {
      font-size: 8.6vw;
      margin-bottom: 5.33vw;
    }
    #index_breakfast.bg_pink::before {
      left: -4vw;
      background-size: 28vw 51.52vw;
      width: 28vw;
      height: 51.52vw;
    }
    #index_breakfast.bg_pink::after {
      right: -4vw;
      background-size: 28vw 51.52vw;
      width: 28vw;
      height: 51.52vw;
    }
  }

#access_map {
  position: relative;
  z-index: 5;
  padding-top: 160px;
  background: #FEE7EA;
}
#access_map h2 {
  position: absolute;
  left: 0;
  top: 40px;
  z-index: 10;
  color: #fff;
  font-size: 16.2rem;
  width: 100%;
  text-align: center;
  line-height: 1;
}
  @media screen and (max-width: 767px) {
    #access_map {
      padding-top: 23.33vw;
    }
    #access_map h2 {
      top: 10.66vw;
      font-size: 16vw;
    }
  }

#gmap iframe {
  width: 100%;
}
  @media screen and (max-width: 767px) {
    #gmap iframe {
      height: 70vw;
    }
  }

#access_guide {
  padding: 80px 0;
}
#access_guide h3 {
  font-size: 3rem;
  margin-bottom: 18px;
}
.access_guide_wrap {
  max-width: 1400px;
  margin: 0 auto 50px;
}
.access_guide_box {
  background: #FEE7EA;
  padding: 65px 4%;
  text-align: center;
}
  @media screen and (max-width: 767px) {
    #access_guide {
      padding: 10.66vw 0 13.33vw;
    }
    #access_guide .wrapper {
      padding-right: 0;
    }
    #access_guide h3 {
      font-size: 5.33vw;
      margin-bottom: 4vw;
    }
    .access_guide_wrap {
      max-width: 100%;
      margin: 0 auto 8vw;
    }
    .access_guide_box {
      padding: 8vw 5.33vw 5.33vw 5.33vw;
    }
    .access_guide_box figure {
      overflow: auto;
      width: 100%;
      padding: 0 5.12vw 2.66vw 0;
    }
    .access_guide_box figure img {
      display: block;
      width: 260vw;
      height: auto;
      max-width: 264vw;
    }
  }

#access_car h3 {
  padding: 3px 0 3px 60px;
  background: url("../img/index/ico_car.png") 0 0 no-repeat;
  background-size: 52px auto;
}
#access_train h3 {
  padding: 3px 0 3px 60px;
  background: url("../img/index/ico_train.png") 0 0 no-repeat;
  background-size: 52px auto;
}
#access_bus h3 {
  padding: 0 0 0 60px;
  background: url("../img/index/ico_bus.png") 0 3px no-repeat;
  background-size: 40px auto;
}
#access_plane h3 {
  padding: 0 0 0 60px;
  background: url("../img/index/ico_plane.png") 0 0 no-repeat;
  background-size: 52px auto;
}
  @media screen and (max-width: 767px) {
    #access_car h3 {
      padding: 0 0 0 12vw;
      background: url("../img/index/ico_car.png") 0 0 no-repeat;
      background-size: 9vw auto;
    }
    #access_train h3 {
      padding: 0 0 0 12vw;
      background: url("../img/index/ico_train.png") 0 0 no-repeat;
      background-size: 9vw auto;
    }
    #access_bus h3 {
      padding: 0 0 0 10.66vw;
      background: url("../img/index/ico_bus.png") 0 3px no-repeat;
      background-size: 7vw auto;
    }
    #access_plane h3 {
      padding: 0 0 0 12vw;
      background: url("../img/index/ico_plane.png") 0 0 no-repeat;
      background-size: 10vw auto;
    }
  }

.access_g2 {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
}
.access_g2_wrap {
  position: relative;
  width: 48.5%;
  max-width: 660px;
}
.access_g2_wrap::before {
  position: absolute;
  left: 0;
  bottom: 0;
  content: "";
  width: 100%;
  height: 50%;
  background: #FEE7EA;
}
.access_g2_box {
  position: relative;
  z-index: 5;
  background: #FEE7EA;
  padding: 40px 8%;
}
.access_g2_box p {
  margin-bottom: 25px;
}
.access_g2_box li a {
  display: inline-block;
  padding-left: 24px;
  background: url("../img/common/ico/ico_arrow01.svg") 0 13px no-repeat;
  background-size: 14px auto;
}
  @media screen and (max-width: 1049px) {
    .access_g2_box li a {
      font-size: 1.6rem;
      padding-left: 22px;
      background: url("../img/common/ico/ico_arrow01.svg") 0 11px no-repeat;
      background-size: 14px auto;
      letter-spacing: 0.05em;
    }
  }
  @media screen and (max-width: 767px) {
    .access_g2 {
      max-width: 100%;
      padding-right: 5.33vw;
    }
    .access_g2_wrap {
      width: 100%;
      max-width: 100%;
    }
    .access_g2_wrap::before {
      display: none;
    }
    .access_g2_box {
      padding: 5.33vw;
    }
    .access_g2_box p {
      margin-bottom: 5vw;
    }
    .access_g2_box li a {
      font-size: 3.73vw;
      padding-left: 5vw;
      background: url("../img/common/ico/ico_arrow01.svg") 0 1.9vw no-repeat;
      background-size: 3.8vw auto;
    }
  }

.access_bus_box dl {
  margin-bottom: 15px;
}
.access_bus_box dl:last-child {
  margin-bottom: 0;
}
.access_bus_box dt {
  width: 224px;
  height: 100%;
  position: relative;
  margin-right: 8%;
}
.access_bus_box dt::after {
  position: absolute;
  left: 0;
  top: 50%;
  content: "";
  width: 100%;
  height: 1px;
  background: #aaa;
}
.access_bus_box dt span {
  position: relative;
  z-index: 5;
  display: inline-block;
  background: #fff;
  border: solid 1px #aaa;
  padding: 2px 5px;
  width: 82px;
  text-align: center;
}
.access_bus_box dd {
  width: calc(100% - 224px - 8%);
}
.access_li_box li {
  margin-bottom: 15px;
}
  @media screen and (max-width: 1049px) {
    .access_bus_box dt {
      width: 170px;
      margin-right: 20px;
    }
    .access_bus_box dd {
      width: calc(100% - 190px);
    }
    .access_bus_box dt span {
      width: 72px;
    }
  }
  @media screen and (max-width: 767px) {
    #access_bus {
      margin-bottom: 10.66vw;
    }
    .access_bus_box dl {
      margin-bottom: 4vw;
    }
    .access_bus_box dt {
      width: 36vw;
      margin-right: 4vw;
    }
    .access_bus_box dt span {
      width: 15vw;
    }
    .access_bus_box dd {
      width: calc(100% - 40vw);
    }
    .access_li_box li {
      margin-bottom: 3.33vw;
    }
    .access_li_box li:last-child {
      margin-bottom: 0;
    }
  }

.pickup_bus_box {
  max-width: 1020px;
  margin: 0 auto;
}
.pickup_bus_img {
  margin-bottom: 60px;
}
.pickup_bus_img figure {
  margin: 0 2.8%;
}
.pickup_bus_txt {
  margin-bottom: 35px;
}
.pickup_bus_txt small {
  font-size: 1.6rem;
  letter-spacing: 0.05em;
}
  @media screen and (max-width: 767px) {
    .pickup_bus_box {
      max-width: 100%;
    }
    .pickup_bus_img {
      margin-bottom: 8vw;
    }
    .pickup_bus_img figure {
      margin: 0;
      padding: 0 1.33vw;
    }
    .pickup_bus_img figure:nth-child(1) {
      width: 55%;
    }
    .pickup_bus_img figure:nth-child(2) {
      width: 45%;
    }
    .pickup_bus_img figure img {
      width: 100%;
      height: auto;
    }
    .pickup_bus_txt {
      margin-bottom: 5.33vw;
    }
    .pickup_bus_txt small {
      font-size: 3.46vw;
    }
  }

.pickup_bus_tbl table {
  font-size: 1.6rem;
}
.pickup_bus_tbl th {
  width: 25%;
  background: #F2F2F2;
  padding: 10px;
  border: solid 1px #bbb;
  font-weight: 500;
  vertical-align: middle;
}
.pickup_bus_tbl td {
  padding: 10px 1.8%;
  border: solid 1px #bbb;
  background: #fff;
  vertical-align: middle;
  font-size: 90%;
}
.bus_td01 {
  width: 12.5%;
  text-align: center;
  background: #F2F2F2!important;
  line-height: 1.6;
}
.bus_td02 {
  width: 12.5%;
  text-align: center;
  background: #DDE9F0!important;
  color: #2A6899;
  line-height: 1.6;
}
.bus_td03 {
  width: 12.5%;
  text-align: center;
  line-height: 1.6;
}
  @media screen and (max-width: 767px) {
    .pickup_bus_tbl {
      overflow-x: scroll;
      padding-bottom: 2.66vw;
    }
    .pickup_bus_tbl table {
      width: 100%;
      white-space: nowrap;
      font-size: 3.73vw;
    }
    .pickup_bus_tbl th {
      padding: 2.66vw 5vw;
    }
    .pickup_bus_tbl td {
      padding: 2.66vw 3.33vw;
    }
  }


#information {
  padding: 60px 0;
}
  @media screen and (max-width: 767px) {
    #information {
      padding: 12vw 0;
    }
  }

/*----------------------------------------------------
  下層共通 
--------------------------------------------------- */
.lower_wrap {
  line-height: 2;
  padding-bottom: 220px;
}
.lower_wrap::before {
  position: absolute;
  left: 0;
  bottom: 0;
  content: "";
  width: 100%;
  height: 420px;
  background: #fff;
}
.lower_wrap::after {
  position: absolute;
  left: 0;
  top: 0;
  content: "";
  width: 100%;
  height: 600px;
  background: #fff;
}
  @media screen and (max-width: 1319px) {
    .lower_wrap {
      padding-bottom: 100px;
    }
  }
  @media screen and (max-width: 850px) {
    .lower_wrap::before {
      height: 560px;
    }
  }
  @media screen and (max-width: 767px) {
    .lower_wrap {
      padding-bottom: 8vw;
    }
    .lower_wrap::before {
      height: 86vw;
    }
    .lower_wrap::after {
      height: 100vw;
    }
  }

.lower_lead01 {
  position: relative;
  text-align: center;
  padding-bottom: 100px;
  background-color: #fff;
  z-index: 5;
}
.lower_lead01::after {
  position: absolute;
  left: 0;
  bottom: 0;
  content: "";
  background: url("../img/common/bg/contents_bg04.png") center top no-repeat;
  background-size: 316px 250px;
  width: 316px;
  height: 240px;
}
.lower_lead01::before {
  position: absolute;
  right: 0;
  bottom: 0;
  content: "";
  background: url("../img/common/bg/contents_bg02.png") center top no-repeat;
  background-size: 196px 234px;
  width: 196px;
  height: 234px;
}
.lower_lead01_txt p {
  margin-bottom: 40px;
}
.lower_lead01_txt p:last-child {
  margin-bottom: 0;
}
.lower_lead01_txt p small {
  color: #e00;
  font-size: 1.8rem;
  font-weight: 500;
}
  @media screen and (max-width: 1200px) {
    .lower_lead01::after {
      left: -50px;
      height: 200px;
    }
    .lower_lead01::before {
      bottom: -50px;
      right: -30px;
    }
  }
  @media screen and (max-width: 767px) {
    .lower_lead01 {
      padding-bottom: 10.66vw;
    }
    .lower_lead01::after {
      left: -15vw;
      background: url("../img/common/bg/contents_bg01.png") center top no-repeat;
      background-size: 46.66vw auto;
      width: 46.66vw;;
      height: 30vw;
    }
    .lower_lead01::before {
      right: -5.33vw;
      bottom: 0;
      background: url("../img/common/bg/contents_bg02.png") center top no-repeat;
      background-size: 28.8vw auto;
      width: 28.8vw;
      height: 34.4vw;
    }
    .lower_lead01_txt p {
      margin-bottom: 5.33vw;
    }
    .lower_lead01_txt p small {
      font-size: 3.73vw;
    }
  }

.bg_blue {
  position: relative;
  background: linear-gradient(#c3deed 0%, #eef5fa 100%);
  padding: 100px 0;
}
.bg_blue::before {
  position: absolute;
  left: 0;
  bottom: 0;
  content: "";
  background: url("../img/common/bg/bg_blue01.png") center center no-repeat;
  width: 320px;
  height: 590px;
}
.bg_blue::after {
  position: absolute;
  right: 0;
  bottom: 0;
  content: "";
  background: url("../img/common/bg/bg_blue02.png") center center no-repeat;
  width: 320px;
  height: 590px;
}
  @media screen and (max-width: 1199px) {
    .bg_blue::before {
      left: -30px;
      background-size: 250px 460px;
      width: 250px;
      height: 460px;
    }
    .bg_blue::after {
      right: -30px;
      background-size: 250px 460px;
      width: 250px;
      height: 460px;
    }
  }
  @media screen and (max-width: 767px) {
    .bg_blue {
      padding: 12vw 0;
    }
    .bg_blue::before {
      left: 0;
      background-size: 28vw 51.52vw;
      width: 28vw;
      height: 51.52vw;
    }
    .bg_blue::after {
      right: 0;
      background-size: 28vw 51.52vw;
      width: 28vw;
      height: 51.52vw;
    }
  }

.bg_pink {
  position: relative;
  background: linear-gradient(#fee7ea 0%, rgba(255,251,251,1.00) 100%);
}
.bg_pink::before {
  position: absolute;
  left: 0;
  bottom: 0;
  content: "";
  background: url("../img/common/bg/bg_pink01.png") center center no-repeat;
  width: 320px;
  height: 590px;
  z-index: 3;
}
.bg_pink::after {
  position: absolute;
  right: 0;
  bottom: 0;
  content: "";
  background: url("../img/common/bg/bg_pink02.png") center center no-repeat;
  width: 320px;
  height: 590px;
  z-index: 3;
}
  @media screen and (max-width: 1199px) {
    .bg_pink::before {
      left: -30px;
      background-size: 250px 460px;
      width: 250px;
      height: 460px;
    }
    .bg_pink::after {
      right: -30px;
      background-size: 250px 460px;
      width: 250px;
      height: 460px;
    }
  }
  @media screen and (max-width: 767px) {
    .bg_pink::before {
      left: 0;
      background-size: 28vw 51.52vw;
      width: 28vw;
      height: 51.52vw;
    }
    .bg_pink::after {
      right: 0;
      background-size: 28vw 51.52vw;
      width: 28vw;
      height: 51.52vw;
    }
  }

.bg_white {
  position: relative;
  background: linear-gradient(#fee7ea 0%, rgba(255,251,251,1.00) 100%);
}
.bg_white::before {
  position: absolute;
  left: 0;
  bottom: 0;
  content: "";
  background: url("../img/common/bg/bg_pink01.png") center center no-repeat;
  width: 320px;
  height: 590px;
  z-index: 3;
}
.bg_white::after {
  position: absolute;
  right: 0;
  bottom: 0;
  content: "";
  background: url("../img/common/bg/bg_pink02.png") center center no-repeat;
  width: 320px;
  height: 590px;
  z-index: 3;
}
  @media screen and (max-width: 1199px) {
    .bg_white::before {
      left: -30px;
      background-size: 250px 460px;
      width: 250px;
      height: 460px;
    }
    .bg_white::after {
      right: -30px;
      background-size: 250px 460px;
      width: 250px;
      height: 460px;
    }
  }
  @media screen and (max-width: 767px) {
    .bg_white::before {
      left: 0;
      background-size: 28vw 51.52vw;
      width: 28vw;
      height: 51.52vw;
    }
    .bg_white::after {
      right: 0;
      background-size: 28vw 51.52vw;
      width: 28vw;
      height: 51.52vw;
    }
  }

.anchor_menu01 {
  position: relative;
  z-index: 15;
}
.anchor_menu01 li {
  width: 270px;
  margin: 0 10px 20px 10px;
}
.anchor_menu01 li a {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  height: 100%;
  text-decoration: none;
  color: #000;
  background: #fff;
  padding: 12px 35px 16px 18px;
  line-height: 1.5;
  border: solid 1px #ccc;
  font-size: 95%;
}
.anchor_menu01 li a::before {
  position: absolute;
  right: 12px;
  bottom: calc(50% - 10px);
  color: #AD4250;
  z-index: 5;
  content: "\f107";
  font-family:"Line Awesome Free","Line Awesome Brands";
  font-weight: 600;
  font-size: 1.6rem;
}
.anchor_menu01 li a::after {
  position: absolute;
  left: 0;
  bottom: 0;
  content: "";
  width: 100%;
  height: 4px;
  background: #AD4250;
}
.anchor_menu01 li a:hover {
  color: #AD4250;
  background-color: #FFF7F8;
  border: solid 1px #AD4250;
}
.lower_lead01 .anchor_menu01 {
  margin-top: 70px;
}
  @media screen and (max-width: 767px) {
    .anchor_menu01 ul {
      justify-content: space-between;
    }
    .anchor_menu01 li {
      width: 48.5%;
      margin: 0 0 3.33vw 0;
    }
    .anchor_menu01 li a {
      padding: 2.33vw 6vw calc(2.33vw + 3px) 2.66vw;
      font-size: 3.46vw;
      letter-spacing: 0;
    }
    .anchor_menu01 li a::before {
      right: 2vw;
      bottom: calc(50% - 1.8vw);
      font-size: 3vw;
    }
    .anchor_menu01 li a::after {
      height: 3px;
    }
    .lower_lead01 .anchor_menu01 {
      margin-top: 9.33vw;
    }
  }

.half_blur_txt {
  width: 100%;
  max-width: 360px;
}
.half_blur_txt h3 {
  font-size: 4rem;
  margin-bottom: 38px;
}
.half_blur_txt p {
  margin-bottom: 25px;
}
  @media screen and (max-width: 767px) {
    .half_blur_txt {
      width: 100%;
      max-width: 66.66vw;
    }
    .half_blur_txt h3 {
      font-size: 6.66vw;
      margin-bottom: 5vw;
    }
    .half_blur_txt p {
      margin-bottom: 6vw;
    }
  }

.half_blur_g {
  position: relative;
  width: 100%;
  height: 600px;
  overflow: hidden;
}
.half_blur_g::before {
  position: absolute;
  left: 0;
  top: 0;
  content: "";
  width: 50%;
  height: 100%;
  background-size: cover;
  z-index: 2;
  transition: all 0.5s ease 0s;
}
.half_blur_g::after {
  position: absolute;
  right: 0;
  top: 0;
  content: "";
  width: 50%;
  height: 100%;
  background-size: cover;
  filter: blur(6px) brightness(0.65);
  transform: scale(1.02);
  z-index: 1;
  transition: all 0.5s ease 0s;
}
.half_blur_g.blur_none::after {
  filter: blur(0) brightness(0.65);
}
.half_blur_g .en_ttl {
  width: 100%;
  z-index: 10;
  text-align: center;
  left: 0;
  top: 15px;
  color: #fff;
  font-size: 14rem;
}
.half_blur_box {
  position: relative;
  z-index: 5;
}
.half_blur_box .half_blur_txt {
  width: 100%;
  max-width: calc(50% - 60px);
  color: #fff;
  padding-top: 250px;
  text-shadow: 0 0 10px rgba(0,0,0,0.5);

}
.half_blur_box .half_blur_txt .btn01 a {
  color: #fff;
}
.half_blur_g figure {
  position: absolute;
  right: 40px;
  top: 100px;
  box-shadow: 20px 20px 0 rgba(77,115,240,0.5);
}
  @media screen and (max-width: 1400px) {
    .half_blur_g::before {
      width: 30%;
    }
    .half_blur_g::after {
      width: 70%;
    }
    .half_blur_box .half_blur_txt {
      max-width: calc(70% - 40px);
    }
    .half_blur_g figure {
      position: absolute;
      right: calc(50% - 480px);
      top: 83px;
    }
  }
  @media screen and (max-width: 1024px) {
    .half_blur_g {
      height: 1000px;
      padding-top: 450px;
    }
    .half_blur_g::before {
      width: 100%;
      height: 450px;
    }
    .half_blur_g::after {
      top: 450px;
      width: 100%;
      height: 550px;
    }
    .half_blur_g .en_ttl {
      width: auto;
      font-size: 10rem;
      left: 30px;
      top: 480px;
    }
    .half_blur_box {
      padding-left: 30px;
    }
    .half_blur_box .half_blur_txt {
      max-width: 100%;
      padding-top: 200px;
    }
    .half_blur_g figure {
      right: 30px;
      top: -50px;
    }
  }
  @media screen and (max-width: 767px) {
    .half_blur_g {
      position: relative;
      width: 100%;
      height: auto;
      padding-top: 62.66vw;
    }
    .half_blur_g::before {
      left: 0;
      top: 0;
      width: 100%;
      background-size: 100% 62.66vw;
      height: 62.66vw;
    }
    .half_blur_g::after {
      position: absolute;
      right: 0;
      content: "";
      background-size: cover;
      filter: blur(2px) brightness(0.65)!important;
      transform: scale(1.02);
      z-index: 1;
      transition: all 0.5s ease 0s;
      top: 62.66vw;
      width: 100%;
      height: 100%;
    }
    .half_blur_g.blur_none::after {
      filter: blur(1.02);
    }
    .half_blur_g .en_ttl {
      font-size: 18vw;
      left: 0;
      top: 70vw;
      text-shadow: 0 0 10px rgba(0,0,0,0.5);
    }
    .half_blur_box .half_blur_txt {
      padding-top: 40vw;
      padding-bottom: 10.66vw;
    }
    .half_blur_g figure {
      position: absolute;
      right: 4vw;
      top: -9.33vw;
      box-shadow: 4vw 4vw 0 rgba(77,115,240,0.5);
      width: 40vw;
    }
    .half_blur_g figure img {
      width: 100%;
      height: auto;
    }
    .half_blur_box {
      padding-left: 0;
    }
  }

.half_blur_g.active .ani_fade {
  -webkit-animation: ani_fade 1.5s ease 1.2s 1 forwards;
  animation: ani_fade 1.5s ease 1.2s 1 forwards;
}
.half_blur_g.active .ani_bottom {
  -webkit-animation: ani_bottom 1.5s ease 2s 1 forwards;
  animation: ani_bottom 1.5s ease 2s 1 forwards;
}
  @media screen and (max-width: 767px) {

  }

.tbl01 {
  font-size: 1.6rem;
  border: solid 1px #bbb;
}
.tbl01 th {
  width: 180px;
  padding: 20px 10px;
  font-weight: 400;
  background: #eee;
  border-bottom: solid 1px #bbb;
  vertical-align: middle;
}
.tbl01 td {
  padding: 20px 30px;
  border-bottom: solid 1px #bbb;
}
.tbl01 td p {
  margin-bottom: 20px;
}
.tbl01 td p:last-child {
  margin-bottom: 0;
}
.tbl01 td dl {
  padding: 5px 0;
}
.tbl01 td dt {
  margin-bottom: 5px;
}
.tbl01 td dt span {
  display: inline-block;
  background: #2A6899;
  color: #fff;
  padding: 2px 22px;
}
  @media screen and (max-width: 767px) {
    .tbl01,
    .tbl01 tbody,
    .tbl01 tr,
    .tbl01 th,
    .tbl01 td {
      display: block;
      width: 100%!important;
    }
    .tbl01 {
      font-size: 3.73vw;
      border-bottom: none;
    }
    .tbl01 th {
      padding: 2.66vw 3.33vw!important;
    }
    .tbl01 td {
      padding: 3.33vw;
      font-size: 3.46vw;
      background: rgba(255,255,255,0.5);
    }
    .tbl01 td dl {
      padding: 1.33vw 0;
    }
    .tbl01 td dt {
      margin-bottom: 1.33vw;
    }
    .tbl01 td dt span {
      padding: 0.33vw 4vw;
    }
  }

.tbl02 {
  line-height: 1.8;
}
.tbl02 th {
  width: 180px;
  padding: 12px 0;
  vertical-align: middle;
  border-bottom: solid 1px #AD4250;
  text-align: left;
  font-weight: 400;
}
.tbl02 td {
  padding: 12px 20px;
  border-bottom: solid 1px #bbb;
}
  @media screen and (max-width: 767px) {
    .tbl02 {
      font-size: 3.46vw;
      letter-spacing: 0;
    }
    .tbl02 th {
      width: 28vw;
      padding: 3vw 0;
    }
    .tbl02 td {
      padding: 3vw;
      font-size: 3.46vw;
    }
  }

.column2_g1 {
  align-items: center;
}
  @media screen and (max-width: 1299px) {
    .column2_g1 {
      align-items: flex-start;
    }
  }
.column2_g1_txt {
  width: 50%;
  max-width: calc(50% + 90px);
}
.column2_g1_txt_inner {
  width: 100%;
  max-width: 620px;
}
.column2_g1_txt h3 {
  font-size: 3rem;
  margin-bottom: 20px;
}
.column2_g1_txt_inner > p {
  margin-bottom: 25px;
}
.column2_g1_txt_inner > p:last-child {
  margin-bottom: 0;
}
.column2_g1.fx_r_reverse .column2_g1_txt {
  display: flex;
  justify-content: center;
}

.img_slider_wrap {
  position: relative;
  left: -20px;
  width: 50%;
  max-width: calc(50% - 70px);
}
.column2_g1.fx_r_reverse .img_slider_wrap {
  left: auto;
  right: -20px;
}
.img_slider figure img {
  width: 100%;
  height: auto;
}
.img_slider .prev_btn {
  left: -25px;
}
.img_slider .next_btn {
  right: -25px;
}
  @media screen and (max-width: 1299px) {
    .img_slider_wrap {
      width: 48%;
      max-width: calc(50% - 40px);
    }
    .column2_g1_txt {
      width: 52%;
    }
  }
  @media screen and (max-width: 999px) {
    .column2_g1 {
      display: block;
    }
    .column2_g1_txt {
      width: 100%;
      max-width: 740px;
      margin: 0 auto;
    }
    .column2_g1_txt_inner {
      max-width: 100%;
    }
    .column2_g1.fx_r_reverse .column2_g1_txt {
      display: block;
    }
    .img_slider_wrap {
      left: 0;
      width: 100%!important;
      max-width: 740px!important;
      margin: 0 auto 35px auto;
    }
    .column2_g1.fx_r_reverse .img_slider_wrap {
      right: 0;
    }
  }
  @media screen and (max-width: 767px) {
    .img_slider_wrap {
      max-width: 100%!important;
      margin-bottom: 4vw;
    }
    .column2_g1_txt h3 {
      font-size: 5.33vw;
      margin-bottom: 4vw;
    }
    .column2_g1_txt_inner > p {
      margin-bottom: 3.33vw;
    }
  }

.column2_g2 {
  align-items: center;
}
  @media screen and (max-width: 1299px) {
    .column2_g2 {
      align-items: flex-start;
    }
  }
.column2_g2_txt {
  width: calc(50% - 110px);
}
.column2_g2_txt_inner {
  max-width: 480px;
}
.column2_g2_txt h3 {
  font-size: 3rem;
  margin-bottom: 20px;
}
.column2_g2_txt_inner > p {
  margin-bottom: 15px;
}
.column2_g2_txt_inner > p:last-child {
  margin-bottom: 0;
}
.column2_g2.fx_r_reverse .column2_g2_txt {
  display: flex;
  justify-content: flex-end;
}
.column2_g2_img {
  position: relative;
  width: 54%;
  max-width: calc(50% + 60px);
}
.column2_g2_img li {
  position: relative;
  width: 50%
}
.column2_g2_img li:nth-child(2) {
  z-index: 5;
}
.column2_g2 .column2_g2_img li:nth-child(1) {
  right: -30px;
  top: -45px;
}
.column2_g2.fx_r_reverse .column2_g2_img li:nth-child(1) {
  right: 0;
  top: 0;
}
.column2_g2.fx_r_reverse .column2_g2_img li:nth-child(2) {
  left: -30px;
  top: -45px;
 }
.column2_g2_img li img {
  width: 100%;
  height: auto;
}
  @media screen and (max-width: 1299px) {
    .column2_g2_img {
      width: 53%;
      max-width: 53%;
    }
    .column2_g2_txt {
      width: 100%;
      max-width: 44%;
    }
    .column2_g2_txt_inner {
      max-width: 100%;
    }
  }
  @media screen and (max-width: 999px) {
    .column2_g2 {
      display: block;
    }
    .column2_g2_txt {
      width: 100%;
      max-width: 740px;
      margin: 0 auto;
    }
    .column2_g2.fx_r_reverse .column2_g2_txt {
      display: block;
    }
    .column2_g2_img {
      left: 0;
      width: 100%;
      max-width: 740px;
      margin: 0 auto 35px auto;
    }
    .column2_g2_img ul {
      justify-content: space-between;
    }
    .column2_g2_img li {
      width: calc(50% - 10px);
      left: 0!important;
      right: 0!important;
      top: 0!important;
    }
    .column2_g2.fx_r_reverse .column2_g2_img {
      right: 0;
    }
  }
  @media screen and (max-width: 767px) {
    .column2_g2_txt {
      max-width: 100%;
    }
    .column2_g2_txt h3 {
      font-size: 5.33vw;
      margin-bottom: 4vw;
    }
    .column2_g2_txt_inner > p {
      margin-bottom: 3.33vw;
    }
    .column2_g2_img {
      max-width: 100%;
      margin: 0 auto;
    }
    .column2_g2_img ul {
      display: block;
    }
    .column2_g2_img li {
      width: 100%;
    }
    .column2_g2_img li img {
      width: 75vw;
    }
    .column2_g2_img li:nth-child(2) {
      text-align: right;
      top: -5.33vw!important;
    }
  }

.carousel_slider figure {
  padding: 0 24px;
}
.carousel_slider figure img {
  width: 100%;
  height: auto;
}
.carousel_slider figcaption {
  display: block;
  text-align: center;
  font-size: 3rem;
  margin-top: 10px;
}
.carousel_slider figcaption small {
  font-size: 1.8rem;
}
.carousel_slider .prev_btn {
  left: 28%;
}
.carousel_slider .next_btn {
  right: 28%;
}
  @media screen and (max-width: 1100px) {
    .carousel_slider .prev_btn {
      left: 14%;
    }
    .carousel_slider .next_btn {
      right: 14%;
    }
  }
  @media screen and (max-width: 767px) {
    .carousel_slider figure {
      padding: 0;
    }
    .carousel_slider .prev_btn {
      left: 4.4vw!important;
    }
    .carousel_slider .next_btn {
      right: 4.4vw!important;
    }
    .carousel_slider figcaption {
      position: static;
      font-size: 5.33vw;
      margin-top: 0;
      width: 100%!important;
      background: #404040;
    }
    .carousel_slider figcaption small {
      font-size: 3.73vw;
    }
  }

.bg_gallery {
  position: relative;
  max-width: 1200px;
  padding: 40px 440px 40px 3.5%;
  margin: 0 auto;
  background: #fff;
}
.bg_gallery::before {
  position: absolute;
  right: 0;
  top: 0;
  content: "";
  width: 400px;
  height: 100%;
}
.bg_gallery h4 {
  font-size: 2.4rem;
  color: #ad4250;
  margin-bottom: 15px;
}
.bg_gallery p {
  max-width: 660px;
}
  @media screen and (max-width: 999px) {
    .bg_gallery {
      padding: 40px 330px 40px 3.5%;
    }
    .bg_gallery::before {
      width: 300px;
    }
  }
  @media screen and (max-width: 767px) {
    .bg_gallery {
      max-width: 100%;
      padding: 5.33vw 5.33vw 65.33vw 5.33vw!important;
    }
    .bg_gallery::before {
      top: auto;
      bottom: 0;
      width: 100%!important;
      height: 60vw;
    }
    .bg_gallery h4 {
      font-size: 5vw;
      margin-bottom: 2.66vw;
    }
    .bg_gallery p {
      max-width: 100%;
    }
  }

.column2_g1 {
  align-items: flex-start;
}
.column2_g1_txt p {
  letter-spacing: 0.05em;
}
.column2_g1_txt table {
  margin-bottom: 20px;
}
.column2_g1_txt dl {
  width: 100%;
  margin-top: 30px;
  letter-spacing: 0.05em;
  justify-content: flex-end;
  align-items: center;
}
.column2_g1_txt dt {
  margin-right: 20px;
  padding: 18px;
  border: solid 1px #bbb;
  background: #fff;
}
.column2_g1_txt dd {
  width: 100%;
  max-width: 230px;
}
.column2_g1_txt dd th {
  width: 120px;
}
.column2_g1_txt dd small {
  position: relative;
  font-size: 1.5rem;
  top: -10px;
  letter-spacing: 0;
}

.scroll-hint-text {
  letter-spacing: 0!important;
  margin-top: 2px!important;
}
