@charset "utf-8";

:root {
  --pcHeader-height: 104px;
  --spHeader-height: 73px;
}

@media (max-width: 992px) {

  .intro {
    display: block;
    height: auto;
    padding: 8rem 0;
  }

  .intro .pic {
    position: absolute;
    top: 5rem;
    right: 0;
    width: 30%;
  }

  .intro .inner {
    flex-flow: column;
    gap: 8rem;
    width: 100%;
    height: 100%;
  }

  .intro .txt {
    width: 100%;
    padding-left: 5rem;
  }

  .intro .pic-wrap {
    width: 100%;
    justify-content: start;
    align-items: start;
  }

  .intro .pic02 {
    width: 40%;
    aspect-ratio: 1 / 1;
  }

  .intro .pic03 {
    width: 70%;
    margin-right: auto;
    margin-left: auto;
  }

  /* ----------------------
  観光紹介
  ------------------------ */
  .intro-2 .card-box {
    flex-flow: column;
    gap: 2rem 3%;
  }

  .intro-2 .card-box li {
    display: flex;
    align-items: stretch;
  }
  .intro-2 .card-box .txt {
    width: 100%;
    height: 100%;
  }
  /* ---------------------
  ルームリスト
  ------------------------ */
  .card-txt h4 {
    font-size: 1.8rem;
  }

  .room-ul .card-style {
    width: calc((100% - 24px) / 2);
  }
}

/* --------タブレット小--------- */
@media (max-width: 768px) {

  /* =============================
  MV メインビジュアル
  ================================ */
  .mv .txtwrap {
    top: calc(50% + (var(--spHeader-height, 0px) / 2));
  }

  .mv h1 {
    font-size: 3.2rem;
    letter-spacing: 0.1em;
    font-weight: 400;
  }

  .mv .grand-open {
    font-size: 1.8rem;
  }

  /* =============================
  イントロ
  ================================ */
  .intro .btn {
    width: 160px;
    margin-top: 3rem;
  }

  .intro .txt {
    width: 100%;
    padding-left: 5rem;
  }

  .intro h2 {
    font-size: 2.8rem;
  }

  /* ----------------------
  観光紹介
  ------------------------ */
  .intro-2 .card-box {
    align-items: center;
  }
  .intro-2 .card-box li {
    flex: auto;
    display: block;
    max-width: 400px;
  }
  .intro-2 .card-box .pic {
    aspect-ratio: 2 / 1;
  }


  /* =============================
  共通パーツ
  ================================ */
  .c-tl {
    font-size: 3rem;
  }

  .c-p {
    font-size: 1.6rem;
  }

  .c-btn {
    font-size: 1.4rem;
    padding: 15px 0 15px 25px;
  }

  /* =============================
  客室
  ================================ */
  .room .border {
    aspect-ratio: 16 / 9;
  }

  .room-cont {
    width: 100%;
    height: auto;
    display: block;
    padding-top: 8rem;
    margin-bottom: 10rem;
  }

  .room-cont .cont-wrap .pic {
    width: 70%;
    margin-right: 0;
    margin-left: auto;
    margin-top: 5rem;
    aspect-ratio: 16 / 9;
  }

  .room-ul .txt {
    width: 95%;
    margin-right: auto;
    margin-left: auto;
  }

  .ac-btn {
    margin-right: auto;
    margin-left: auto;
  }


  /* =============================
  朝食
  ================================ */
  .breakfast {
    display: block;
  }

  .breakfast .cont-wrap {
    width: 100%;
    flex-direction: column-reverse;
  }

  .breakfast .pic-wrap {
    width: 80%;
  }

  .breakfast .cont-wrap .txt {
    width: 80%;
    padding: 8rem 0;
  }

  .breakfast .pic {
    width: 60%;
    margin-right: 0;
    margin-left: auto;
  }

  /* 時間など詳細 */
  .detail {
    padding: 10px 15px;
  }

  .detail dt, .detail dd {
    font-size: 1.3rem;
  }

  /* =============================
  アクセス
  ================================ */
  .access .border {
    aspect-ratio: 16 / 9;
  }

  /* アクセス本文 */
  .access .content {
    width: 90%;
  }

  .access address {
    font-size: 1.4rem;
  }

  /* =============================
  フッター
  ================================ */
  footer .upper {
    flex-flow: column;
    width: 100%;
  }

  footer .info {
    flex-flow: column;
    align-items: start;
    gap: 2rem;
    font-size: 1.2rem;
  }

  footer .logo {
    width: 100px;
    margin-right: auto;
    margin-left: auto;
  }

  .ft-right .btn {
    margin-right: auto;
    margin-left: auto;
  }

  .ft-member {
    justify-content: center;
  }

  .hotels ul {
    justify-content: start;
  }

  .hotels li {
    width: calc((100% - 5%) / 2);
  }

  footer .under {
    width: 100%;
    gap: 15px 20px;
  }

  .copy {
    padding: 20px 0 60px;
  }
}

/* --------スマホ大--------- */
@media (max-width: 572px) {
  .room-ul .card-style {
    width: 100%;
  }

  .swiper.card-swiper {
    padding-bottom: 30px;
    /* ドット分 */
  }

  .card-swiper .swiper-button-prev::after,
  .card-swiper .swiper-button-next::after {
    font-size: 18px;
    /* 矢印の大きさ */
  }

  /* =============================
  イントロ
  ================================ */
  .intro .txt {
    padding-left: 3rem;
  }

  /* =============================
  フッター
  ================================ */
  .ft-member {
    flex-wrap: wrap;
    justify-content: center;
  }

  .ft-member a {
    font-size: 1.2rem;
  }

  .hotels a {
    font-size: 1.3rem;
  }

}

/* --------スマホ中--------- */
@media (max-width: 480px) {

  /* =============================
  イントロ
  ================================ */
  .intro .pic {
    width: 40%;
    top: 40%;
  }

  .intro .txt {
    position: relative;
    z-index: 3;
  }

  /* =============================
  客室
  ================================ */
  /* 静的 Swiperと同じスタイルを再現 */
  .room-ul {
    padding-left: 4rem;
    padding-right: 4rem;
  }

  .swiper.card-swiper {
    padding-left: 4rem;
    padding-right: 4rem;
    padding-bottom: 48px;
    /* ドット分 */
  }

  .card-txt {
    padding: 15px 10px 20px;
  }

  /* =============================
  朝食
  ================================ */
  .breakfast .pic-wrap {
    width: 95%;
  }

  .breakfast .cont-wrap .txt {
    padding: 3rem 0;
  }

  /* =============================
  アクセス
  ================================ */
  .access {
    padding-bottom: 10rem;
  }

  /* アクセス本文 */
  .access .c-tl {
    text-align: center;
  }

  .access .c-p {
    width: 90%;
    margin-right: auto;
    margin-left: auto;
  }

  /* =============================
  フッター
  ================================ */
  footer .inner {
    width: 90%;
  }

  .ft-right {
    width: 100%;
    margin-right: auto;
    margin-left: auto;
  }

  .ft-member {
    justify-content: center;
  }

  .hotels {
    width: fit-content;
    margin: 0 auto;
  }

  .hotels h4 {
    font-size: 1.6rem;
    text-align: start;
    margin-bottom: 20px;
  }

  .hotels ul {
    width: fit-content;
    flex-flow: column;
  }

  .hotels li {
    width: fit-content;
  }
}