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

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

@media print, screen and (min-width: 751px) {
  main._home .main-ttl-wrap03 {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
    color: #fff;
  }

  main._home .main-ttl-wrap03 .txt-box {
    width: 100%;
    max-width: 1198px;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
    padding-left: 24px;
    padding-right: 24px;
  }

  main._home .main-ttl-wrap03 .txt-box._center {
    width: 100%;
  }

  main._home .main-ttl-wrap03 h2.hotel-ttl01,
    main._home .main-ttl-wrap03 h2.home-ttl01 {
    font-family: "Montserrat", sans-serif;
    font-weight: 900;
    font-size: 46px;
    line-height: 1.2em;
    letter-spacing: 0.05em;
    text-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
    position: relative;
    display: inline-block;
    margin-bottom: 0;
  }

  main._home .main-ttl-wrap03 h2.home-ttl01 {
    font-size: 58px;
  }

  main._home .main-ttl-wrap03 h2.hotel-ttl01._center,
  main._home .main-ttl-wrap03 h2.home-ttl01._center {
    text-align: center;
    width: 100%;
  }

  main._home .main-ttl-wrap03 p {
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium",
      "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
    font-weight: bold;
    font-size: 24px;
    line-height: 1.6em;
    letter-spacing: 0.1em;
    padding-top: 16px;
    margin-top: 16px;
    text-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
    position: relative;
    display: block;
  }

    main._home .main-ttl-wrap03 h2.hotel-ttl01:after,
  main._home .main-ttl-wrap03 h2.home-ttl01:after {
    content: "";
    width: 100%;
    height: 1px;
    background: #fff;
    box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
    position: absolute;
    bottom: -16px;
    left: 0;
  }

  main._home .main-ttl-wrap03 h2.hotel-ttl01._center:after,
  main._home .main-ttl-wrap03 h2.home-ttl01._center:after {
    display: none;
  }

    main._home .main-ttl-wrap03 .bg-img-wrap{
            min-height: 310px;
  }




  

    main._home .main-ttl-wrap03 .bg-img-wrap {
    width: 100%;
    overflow: hidden;
    margin: 0;
    padding: 0;
    position: relative;
  }

    main._home .main-ttl-wrap03 .bg-img-wrap img {
    width: 100%;
  }

    main._home .main-ttl-wrap03 .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._home .main-ttl-wrap03 #slick-main {
    width: 100%;
    overflow: hidden;
    margin: 0;
    padding: 0;
    position: relative;
  }

    main._home .main-ttl-wrap03 #slick-main._welcome {
    overflow: inherit;
  }

    main._home .main-ttl-wrap03 #slick-main: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._home .main-ttl-wrap03 #slick-main._welcome:after {
    display: none;
  }

  main._home .main-ttl-wrap03 #slick-main .slick-list {
    width: 100%;
    transform: scale(1);
  }

  /* 背景あり　テキストボックス */

  .txt-bg-box {
    width: 100%;
    position: relative;
    top: -80px;
    padding: 48px 0 200px 0;
    margin-bottom: -128px;
  }

  .txt-bg-box:after {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 130px;
    background: -webkit-linear-gradient(
      rgba(255, 255, 255, 0) 0%,
      rgba(255, 255, 255, 0.7) 50%,
      rgba(255, 255, 255, 0.9) 70%,
      #fff 100%
    );
    background: -o-linear-gradient(
      rgba(255, 255, 255, 0) 0%,
      rgba(255, 255, 255, 0.7) 50%,
      rgba(255, 255, 255, 0.9) 70%,
      #fff 100%
    );
    background: linear-gradient(
      rgba(255, 255, 255, 0) 0%,
      rgba(255, 255, 255, 0.7) 50%,
      rgba(255, 255, 255, 0.9) 70%,
      #fff 100%
    );
    -pie-background: linear-gradient(
      rgba(255, 255, 255, 0) 0%,
      rgba(255, 255, 255, 0.7) 50%,
      rgba(255, 255, 255, 0.9) 70%,
      #fff 100%
    );
    content: "";
    z-index: 2;
  }

  .txt-bg-box:before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 130px;
    background: -webkit-linear-gradient(
      rgba(255, 255, 255, 0) 0%,
      rgba(255, 255, 255, 0.7) 50%,
      rgba(255, 255, 255, 0.9) 70%,
      #fff 100%
    );
    background: -o-linear-gradient(
      rgba(255, 255, 255, 0) 0%,
      rgba(255, 255, 255, 0.7) 50%,
      rgba(255, 255, 255, 0.9) 70%,
      #fff 100%
    );
    background: linear-gradient(
      rgba(255, 255, 255, 0) 0%,
      rgba(255, 255, 255, 0.7) 50%,
      rgba(255, 255, 255, 0.9) 70%,
      #fff 100%
    );
    -pie-background: linear-gradient(
      rgba(255, 255, 255, 0) 0%,
      rgba(255, 255, 255, 0.7) 50%,
      rgba(255, 255, 255, 0.9) 70%,
      #fff 100%
    );
    content: "";
    z-index: 2;
    transform: rotateX(180deg);
  }

  .txt-bg-box._winter {
    background: url("../img/rusutsu-in-winter/rusutsu-in-winter-txt-bg.jpg")
      no-repeat top -50px center;
    background-size: cover;
  }

  .txt-bg-box._summer {
    background: url("../img/rusutsu-in-summer/rusutsu-in-summer-txt-bg.jpg")
      no-repeat top center;
    background-size: cover;
  }

  .txt-bg-box._epic-pass {
    background: url("../img/epic-pass/epic-pass-bg.jpg") no-repeat top center;
    background-size: cover;
  }

  .txt-bg-box > section {
    padding-top: 40px;
  }

  .txt-bg-box + article {
    position: relative;
  }

  /* ニュース・ブログ一覧 */

  main._home .news-list-wrap + .news-list-wrap a:before,
  main._home .blog-list-wrap + .blog-list-wrap a:before {
    display: none;
  }

  .news-list_home .news-list-wrap.new-item:first-child,
  .blog-list_home .blog-list-wrap.new-item:first-child {
    margin-top: 24px;
  }

  .news-list_home .btn-basic,
  .blog-list_home .btn-basic {
    margin-top: 32px;
  }

  /* バナー一覧 
    
    .bnr-list-wrap ul{
        padding-inline-start: 0;
        padding: 0;
        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;
    }
    
    .bnr-list-wrap li{
        width: 48.5%;
        margin-left: 3%;
        margin-bottom: 3%;
    }
    
    .bnr-list-wrap li:nth-child(2n+1){
       margin-left: 0;
    }
    
    .bnr-list-wrap li a img{
        width: 100%;
        height: auto;
    }
*/

  /* バナー一覧 */

  .bnr-list-wrap {
    position: relative;
    margin-top: 80px;
    margin-bottom: 140px;
  }

  .bnr-list-wrap.mb-large {
    margin-bottom: 140px;
  }

  .bnr-list-wrap ul#slick03,
  .bnr-list-wrap ul.bnr-slick {
    padding-inline-start: 0;
    padding: 0;
    width: 100%;
    margin-bottom: 0;
  }

  .bnr-list-wrap ul#slick03 li.slick-slide,
  .bnr-list-wrap ul.bnr-slick li.slick-slide {
    max-width: 400px;
    height: auto;
    color: transparent;
    outline: none;
    background: transparent;
  }

  .bnr-list-wrap ul#slick03 li.slick-slide a,
  .bnr-list-wrap ul.bnr-slick li.slick-slide a {
    color: transparent;
    outline: none;
    background: transparent;
  }

  .bnr-list-wrap ul#slick03 .slick-slide + .slick-slide,
  .bnr-list-wrap ul.bnr-slick .slick-slide + .slick-slide {
    margin-left: 24px;
  }

  .bnr-list-wrap div.slick-list:before {
    background-image: none;
  }

  .bnr-list-wrap li a img {
    width: 100%;
    height: auto;
  }

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

  .bnr-list-wrap .slick-next {
    position: absolute;
    top: 200px;
    right: 40%;
    color: transparent;
    border: 0;
    outline: none;
  }

  .bnr-list-wrap .slick-prev {
    position: absolute;
    top: 200px;
    left: 40%;
    color: transparent;
    border: 0;
    outline: none;
  }

  .bnr-list-wrap .slick-next {
    position: absolute;
    top: 200px;
    right: 40%;
  }

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

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

  .bnr-list-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;
  }

  .bnr-list-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);
  }

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

  /* イベント情報 */

  main._home .bg-gray03 h3.ttl-txt01 {
    margin-top: 0;
  }

  /* 季節限定情報 */

  .txt-img-box01 {
    position: relative;
    padding: 160px 0;
  }

  .txt-img-box01.section-inner,
  .txt-img-box02.section-inner {
    margin-top: 0;
    position: relative;
  }

  .txt-img-box01 .gray-bg-box {
    width: 80%;
    height: 100%;
    position: absolute;
    background: #f2f2f2;
    right: 0;
    top: 0;
    z-index: 0;
  }

  .txt-img-box01 .gray-bg-box: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);
  }

  .txt-img-box01 .gray-bg-box: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);
  }

  .txt-img-box01-inner {
    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;
    position: relative;
    z-index: 1;
  }

  .txt-img-box01-inner .img-box {
    width: 65%;
  }

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

  .txt-img-box01-inner .txt-box {
    width: 30%;
    margin-left: 3%;
  }

  .txt-img-box01-inner .txt-box h4 {
    font-weight: bold;
    font-size: 24px;
    line-height: 30px;
    margin-bottom: 24px;
  }

  .txt-img-box01-inner .txt-box h4.en-txt {
    font-weight: 900;
    font-size: 38px;
    line-height: 40px;
    color: #1d315a;
    font-family: "Montserrat", sans-serif;
  }

  .txt-img-box01-inner .txt-box h4.en-txt 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;
  }

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

  .txt-img-box01-inner .txt-box .arr-link,
  .txt-img-box02-inner .txt-box .arr-link {
    display: inherit;
  }

  .txt-img-box01-inner .txt-box a + a,
  .txt-img-box02-inner .txt-box a + a {
    margin-top: 8px;
  }

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

  .txt-img-box01-inner .more-link:hover {
    color: #1d315a;
  }

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

  .txt-img-box01-inner .more-link i:before {
    content: "";
    width: 100%;
    height: 1px;
    background: #000;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
  }

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

  .txt-img-box01-inner .more-link:hover i:before,
  .txt-img-box01-inner .more-link:hover i:after {
    background: #1d315a;
  }

  .txt-img-box02 {
    position: relative;
    padding: 160px 0 184px 0;
  }

  .txt-img-box02 .gray-bg-box {
    width: 80%;
    height: 100%;
    position: absolute;
    background: #f2f2f2;
    left: 0;
    top: 0;
    z-index: 0;
  }

  .txt-img-box02 .gray-bg-box:before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 80px 100vw;
    border-color: transparent transparent #fff transparent;
    transform: rotateX(180deg);
  }

  .txt-img-box02 .gray-bg-box:after {
    content: "";
    position: absolute;
    bottom: 0;
    right: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 100vw 80px 0;
    border-color: transparent transparent #fff transparent;
    transform: rotateY(-180deg);
  }

  .txt-img-box02-inner {
    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;
    z-index: 1;
    position: relative;
  }

  .txt-img-box02-inner .img-box {
    width: 65%;
    order: 2;
  }

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

  .txt-img-box02-inner .txt-box {
    width: 30%;
    margin-right: 3%;
    order: 0;
  }

  .txt-img-box02-inner .txt-box h4 {
    font-weight: bold;
    font-size: 28px;
    line-height: 30px;
    margin-bottom: 24px;
    text-align: left;
  }

  .txt-img-box02-inner .txt-box h4.en-txt {
    font-weight: 900;
    font-size: 38px;
    line-height: 40px;
    color: #1d315a;
    font-family: "Montserrat", sans-serif;
    text-align: left;
  }

  .txt-img-box02-inner .txt-box h4.en-txt 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;
  }

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

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

  .txt-img-box02-inner .more-link:hover {
    color: #1d315a;
  }

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

  .txt-img-box02-inner .more-link i:before {
    content: "";
    width: 100%;
    height: 1px;
    background: #000;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
  }

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

  .txt-img-box02-inner .more-link:hover i:before,
  .txt-img-box02-inner .more-link:hover i:after {
    background: #1d315a;
  }

  /* ホテル一覧 */

  .hotel-list-wrap {
    margin: 80px 0 40px 0;
  }

  .hotel-list-wrap ul {
    margin: 80px 0 0 0;
    padding: 0;
    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;
  }

  .hotel-list-wrap li {
    width: 48.5%;
    margin-left: 3%;
    margin-bottom: 3%;
  }

  .hotel-list-wrap li:nth-child(2n + 1) {
    margin-left: 0;
  }

  .hotel-list-wrap li figure {
    margin: 0;
  }

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

  .hotel-list-wrap li figcaption {
    margin-top: 16px;
    font-size: 16px;
    line-height: 26px;
  }

  .hotel-list-wrap li figcaption b {
    display: block;
    font-weight: bold;
    font-size: 22px;
    line-height: 26px;
    margin-bottom: 8px;
  }

  .hotel-list-wrap li a:hover figcaption {
    color: #1d315a;
  }
}


/* 動画 */
    main._home .main-ttl-wrap03 .bg-img-wrap .youtube-cover{
  position: relative;
  aspect-ratio: 1440 / 875;
}

    main._home .main-ttl-wrap03 .bg-img-wrap .youtube-cover iframe {
    position: absolute;
    top: -15.3%; /* (130.6% - 100%) / 2 */
    left: -15.3%;
    width: 130.6%;
    height: 130.6%;
      border-radius: 8px;
    pointer-events: none; 
    /* transform: rotate(-5deg) ;  */
  }

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

@media screen and (max-width: 750px) {
  main._home .openbtn {
    top: 0;
  }

    main._home .main-ttl-wrap03 {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
    color: #fff;
  }

  main._home .main-ttl-wrap03 .txt-box {
    width: auto;
    position: absolute;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
  }

  main._home .main-ttl-wrap03 .txt-box._center {
    width: 90%;
    left: 50%;
    transform: translate(-50%, -50%);
  }

  .main-ttl-wrap03 .txt-box {
    width: 90%;
    position: absolute;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
  }

    main._home .main-ttl-wrap03 h2.hotel-ttl01,
  main._home .main-ttl-wrap03 h2.home-ttl01 {
    font-size: 40px;
    line-height: 1.1em;
    text-align: left;
  }

    main._home .main-ttl-wrap03 h2.hotel-ttl01._center,
  main._home .main-ttl-wrap03 h2.home-ttl01._center {
    width: 100%;
    text-align: center;
    font-size: 32px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }

    main._home .main-ttl-wrap03 h2.hotel-ttl01,
    main._home .main-ttl-wrap03 h2.home-ttl01 {
    font-family: "Montserrat", sans-serif;
    font-weight: 900;
    font-size: 32px;
    line-height: 1.2em;
    letter-spacing: 0.05em;
    text-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
    text-align: left;
    margin-bottom: 0;
    position: relative;
    display: inline-block;
  }

    main._home .main-ttl-wrap03 h2.hotel-ttl01:before,
    main._home .main-ttl-wrap03 h2.home-ttl01:before {
    content: "";
    width: 100%;
    height: 1px;
    background: #fff;
    box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
    position: absolute;
    bottom: -8px;
    left: 0;
  }
   main._home  .main-ttl-wrap h2.hotel-ttl01._center:before,
   main._home  .main-ttl-wrap h2.home-ttl01._center:before {
    display: none;
  }

  main._home .main-ttl-wrap03 p {
    text-align: left;
  }

    main._home .main-ttl-wrap03 p {
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium",
      "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
    font-weight: bold;
    font-size: 16px;
    line-height: 24px;
    letter-spacing: 0.1em;
    padding-top: 8px;
    margin-top: 8px;
    text-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
    position: relative;
    text-align: left;
    margin-bottom: 0;
  }

    main._home .main-ttl-wrap03 p:before {
    display: none;
  }

 /* 動画 */
    main._home .main-ttl-wrap03 .bg-img-wrap .youtube-cover{
  position: relative;
aspect-ratio: 75 / 104;
  height: auto;
}

    main._home .main-ttl-wrap03 .bg-img-wrap .youtube-cover iframe {
  position: absolute;

  width: 250%;
  height: 250%;
    border-radius: 8px;
  pointer-events: none; 
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}

 /* 画像 */
    main._home .main-ttl-wrap03 .bg-img-wrap {
    width: 100%;
    overflow: hidden;
    margin: 0;
    padding: 0;
    position: relative;
  }

    main._home .main-ttl-wrap03 .bg-img-wrap img {
    width: 100%;
  }

    main._home .main-ttl-wrap03 .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._home .main-ttl-wrap03 #slick-main {
    width: 100%;
    overflow: hidden;
    margin: 0;
    padding: 0;
    position: relative;
  }

    main._home .main-ttl-wrap03 #slick-main._welcome {
    overflow: inherit;
    padding-bottom: 0;
  }

    main._home .main-ttl-wrap03 #slick-main: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._home .main-ttl-wrap03 #slick-main._welcome:after {
    display: none;
  }

    main._home .main-ttl-wrap03 .slick-list {
    width: 100%;
    transform: scale(1.2) translateY(5%);
  }

    main._home .main-ttl-wrap03 #slick-main._welcome .slick-list {
    transform: translateY(0);
  }

    main._home .main-ttl-wrap03  .slick-slide img {
        width: 100%;
        min-height: auto;
        object-fit: cover;
        height: auto;
        aspect-ratio: 75 / 104;}

  /* 背景あり　テキストボックス */

  .txt-bg-box {
    width: 100%;
    position: relative;
    top: -56px;
    padding: 0 0 80px 0;
  }

  .txt-bg-box:after {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 50px;
    background: -webkit-linear-gradient(
      rgba(255, 255, 255, 0) 0%,
      rgba(255, 255, 255, 0.7) 50%,
      rgba(255, 255, 255, 0.9) 70%,
      #fff 100%
    );
    background: -o-linear-gradient(
      rgba(255, 255, 255, 0) 0%,
      rgba(255, 255, 255, 0.7) 50%,
      rgba(255, 255, 255, 0.9) 70%,
      #fff 100%
    );
    background: linear-gradient(
      rgba(255, 255, 255, 0) 0%,
      rgba(255, 255, 255, 0.7) 50%,
      rgba(255, 255, 255, 0.9) 70%,
      #fff 100%
    );
    -pie-background: linear-gradient(
      rgba(255, 255, 255, 0) 0%,
      rgba(255, 255, 255, 0.7) 50%,
      rgba(255, 255, 255, 0.9) 70%,
      #fff 100%
    );
    content: "";
    z-index: 2;
  }

  .txt-bg-box + article {
    position: relative;
    top: -30px;
    margin-top: 0;
  }

  .txt-bg-box._winter {
    background: url("../img/rusutsu-in-winter/rusutsu-in-winter-txt-bg.jpg")
      no-repeat bottom left 20%;
    background-size: cover;
  }

  .txt-bg-box._summer {
    background: url("../img/rusutsu-in-summer/rusutsu-in-summer-txt-bg.jpg")
      no-repeat bottom center;
    background-size: cover;
  }

  .txt-bg-box._epic-pass {
    background: url("../img/epic-pass/epic-pass-bg.jpg") no-repeat bottom center;
    background-size: cover;
  }

  /* ニュース・ブログ一覧 */

  main._home .news-list-wrap + .news-list-wrap,
  main._home .blog-list-wrap + .blog-list-wrap {
    border-top: none;
    padding-top: 0;
    margin-top: 32px;
  }

  .news-list_home .ttl-txt01,
  .blog-list_home .ttl-txt01 {
    margin-bottom: 32px;
  }

  .news-list_home .btn-basic,
  .blog-list_home .btn-basic {
    margin-top: 40px;
    max-width: 90%;
  }

  /* バナー一覧
    
    .bnr-list-wrap ul{
        padding-inline-start: 0;
        padding: 0;
        width: 100%;
        margin-bottom: 0;
    }
    
    .bnr-list-wrap li{
        width: 100%;
    }
    
    .bnr-list-wrap li+li{
       margin-top:  16px;
    }
    
    .bnr-list-wrap li a img{
        width: 100%;
        height: auto;
    }
 */

  /* バナー一覧 */

  .bnr-list-wrap {
    position: relative;
    /* margin-bottom: 80px; */
    margin-bottom: 120px;
  }

  .bnr-list-wrap.mb-large {
    margin-bottom: 120px;
  }

  .bnr-list-wrap ul#slick03,
  .bnr-list-wrap ul.bnr-slick {
    padding-inline-start: 0;
    padding: 0;
    width: 100%;
    margin-bottom: 0;
    position: relative;
  }

  .bnr-list-wrap ul#slick03 li.slick-slide,
  .bnr-list-wrap ul.bnr-slick li.slick-slide {
    max-width: 245px;
    height: auto;
  }

  .bnr-list-wrap ul#slick03 .slick-slide + .slick-slide,
  .bnr-list-wrap ul.bnr-slick .slick-slide + .slick-slide {
    margin-left: 16px;
  }

  .bnr-list-wrap div.slick-list:before {
    background-image: none;
  }

  .bnr-list-wrap li a img {
    width: 100%;
    height: auto;
  }

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

  .bnr-list-wrap .slick-prev {
    left: 15%;
    bottom: -78px;
    color: transparent;
    border: 0;
    outline: none;
  }

  .bnr-list-wrap .slick-next {
    right: 15%;
    bottom: -78px;
    color: transparent;
    border: 0;
    outline: none;
  }

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

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

  .bnr-list-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;
  }

  .bnr-list-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);
  }

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

  /* 季節限定情報 */

  .txt-img-box01 {
    position: relative;
    padding: 8px 0 48px 0;
  }

  .txt-img-box01.section-inner,
  .txt-img-box02.section-inner {
    margin-top: 0;
  }

  .txt-img-box01 + .txt-img-box02,
  .txt-img-box02 + .txt-img-box01 {
    margin-top: 32px;
  }

  .txt-img-box01 .gray-bg-box {
    width: 100%;
    height: 90%;
    position: absolute;
    background: #f2f2f2;
    right: 0;
    bottom: 0;
    z-index: -1;
  }

  .txt-img-box01 .gray-bg-box: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);
  }

  .txt-img-box01 .gray-bg-box: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);
  }

  .txt-img-box01-inner,
  .txt-img-box02-inner {
    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;
  }

  .txt-img-box01-inner .img-box,
  .txt-img-box02-inner .img-box {
    width: 100%;
  }

  .txt-img-box01-inner .img-box img,
  .txt-img-box02-inner .img-box img {
    width: 100%;
  }

  .txt-img-box01-inner .txt-box,
  .txt-img-box02-inner .txt-box {
    width: 100%;
    margin-top: 24px;
    padding-left: 16px;
    padding-right: 16px;
  }

  .txt-img-box01-inner .txt-box h4,
  .txt-img-box02-inner .txt-box h4 {
    font-weight: bold;
    font-size: 16px;
    line-height: 30px;
    margin-bottom: 8px;
  }

  .txt-img-box01-inner .txt-box h4.en-txt,
  .txt-img-box02-inner .txt-box h4.en-txt {
    font-weight: 900;
    font-size: 26px;
    line-height: 28px;
    color: #1d315a;
    font-family: "Montserrat", sans-serif;
  }

  .txt-img-box01-inner .txt-box h4.en-txt b,
  .txt-img-box02-inner .txt-box h4.en-txt 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;
  }

  .txt-img-box01-inner .txt-box p,
  .txt-img-box02-inner .txt-box p {
    font-size: 14px;
    line-height: 24px;
    color: #898989;
    margin-bottom: 8px;
  }

  .txt-img-box01-inner .more-link,
  .txt-img-box02-inner .more-link {
    font-weight: bold;
    font-size: 10px;
    line-height: 36px;
    display: inline-block;
    position: relative;
    vertical-align: middle;
    transition: 0.3s;
  }

  .txt-img-box01-inner .more-link i,
  .txt-img-box02-inner .more-link i {
    width: 15px;
    height: 2.8px;
    position: relative;
    margin-left: 16px;
    display: inline-block;
    transform: translateY(-50%);
  }

  .txt-img-box01-inner .more-link i:before,
  .txt-img-box02-inner .more-link i:before {
    content: "";
    width: 100%;
    height: 1px;
    background: #000;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
  }

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

  .txt-img-box01-inner .txt-box .arr-link,
  .txt-img-box02-inner .txt-box .arr-link {
    display: inherit;
  }

  .txt-img-box01-inner .txt-box a + a,
  .txt-img-box02-inner .txt-box a + a {
    margin-top: 8px;
  }

  .txt-img-box02 {
    position: relative;
    padding: 8px 0 32px 0;
  }

  .txt-img-box02 .gray-bg-box {
    width: 100%;
    height: 90%;
    position: absolute;
    background: #f2f2f2;
    left: 0;
    bottom: 0;
    z-index: -1;
  }

  .txt-img-box02 .gray-bg-box:before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 32px 100vw;
    border-color: transparent transparent #fff transparent;
    transform: rotateX(180deg);
  }

  .txt-img-box02 .gray-bg-box:after {
    content: "";
    position: absolute;
    bottom: 0;
    right: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 100vw 32px 0;
    border-color: transparent transparent #fff transparent;
    transform: rotateY(-180deg);
  }

  /* ホテル一覧 */

  .hotel-list-wrap {
    margin: 80px 0 40px 0;
  }

  .hotel-list-wrap ul {
    margin: 40px 0 40px 0;
    padding: 0;
    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;
  }

  .hotel-list-wrap li {
    width: 48%;
    margin-left: 4%;
    margin-bottom: 24px;
  }

  .hotel-list-wrap li:nth-child(2n + 1) {
    margin-left: 0;
  }

  .hotel-list-wrap li figure {
    margin: 0;
  }

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

  .hotel-list-wrap li figcaption {
    margin-top: 8px;
    font-size: 12px;
    line-height: 20px;
  }

  .hotel-list-wrap li figcaption b {
    display: block;
    font-weight: bold;
    font-size: 16px;
    line-height: 22px;
  }

  .hotel-list-wrap li a:hover figcaption {
    color: #1d315a;
  }
}

/* IEの矢印の位置 */
@media all and (-ms-high-contrast: none) {
  .bnr-list-wrap .slick-prev {
    top: 197px;
  }

  .bnr-list-wrap .slick-next {
    top: 197px;
  }
}

/* MV 画面サイズが960pxから751pxの間 */

@media print, screen and (max-width: 960px) and (min-width: 751px) {
  main._home .main-ttl-wrap03 h2.home-ttl01 {
    font-size: 40px;
  }

  main._home .main-ttl-wrap03 p {
    font-size: 20px;
  }
}
