@charset "utf-8";

@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%;
  }

  .intro .pic03 {
    width: 70%;
    margin-right: auto;
    margin-left: auto;
  }

  /* =============================
  サービス
  ================================ */
  .sv-card {
    width: calc((100% - (24px * 2)) / 3);
  }
}

/* --------タブレット小--------- */
@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;
  }

  /* -----------------------------
  大阪3ホテル差別化
  -------------------------------- */
  .hiyori_osaka {
    padding: 5rem 0 8rem;
  }

  /* =============================
  共通パーツ
  ================================ */
  .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;
  }


  /* ---------------------
  ルームリスト
  ------------------------ */
  .room-list {
    width: 95%;
  }

  /* -------アコーディオン-------- */
  .room-ul .info {
    width: 95%;
    flex-flow: column;
    gap: 15px;
  }

  .room-ul .pic {
    width: 100%;
  }

  .room-ul .info.open {
    padding: 2rem 15px;
  }

  /* 部屋予約ボタン */
  .ac-btn {
    width: 100%;
    font-size: 1.4rem;
    margin-top: 2rem;
  }

  /* =============================
  朝食
  ================================ */
  .breakfast {
    display: block;
  }

  .breakfast .cont-wrap {
    width: 100%;
    flex-direction: column-reverse;
  }

  .breakfast .pic-wrap {
    width: 80%;
  }

  .breakfast .cont-wrap .txt {
    width: 80%;
    padding: 5rem 0;
  }

  .breakfast .pic {
    width: 60%;
    margin-right: 0;
    margin-left: auto;
  }

  .breakfast .pic img {
    aspect-ratio: 1 / 1;
  }

  /* 時間など詳細 */
  .detail {
    padding: 10px 15px;
  }

  .detail dt, .detail dd {
    font-size: 1.3rem;
  }

  /* =============================
  サービス
  ================================ */
  /* ラウンジ */
  .lounge {
    width: 80%;
    flex-flow: column;
  }

  .lounge .pic {
    aspect-ratio: 16 / 9;
  }

  /* ちょっと嬉しいサービス */
  .sv-cardBox {
    width: 90%;
    gap: 15px;
  }

  .sv-card {
    width: calc((100% - 15px) / 2);
  }

  .sv-card .pic {
    aspect-ratio: 3 / 2;
  }

  .sv-card .txt {
    padding: 1.5rem 1rem;
    text-align: center;
  }

  .sv-card .txt dt {
    font-size: 1.4rem;
  }

  .sv-card .txt dd {
    font-size: 1.2rem;
  }


  /* =============================
  アクセス
  ================================ */
  .access .border {
    aspect-ratio: 16 / 9;
  }

  /* アクセス本文 */
  .access .content {
    width: 90%;
  }

  .access address {
    font-size: 1.4rem;
  }

  /* =====================
  日和ホテルマップ
  ======================== */
  .hiyori-map {
    padding-bottom: 10rem;
  }

  .hiyori-map .inner {
    display: flex;
    flex-flow: column;
    flex-direction: column-reverse;
    gap: 3rem 5%;
    padding: 3rem 2rem;
  }

  .hiyori-map .txt {
    padding: 0;
  }

  .hiyori-map .txt h4 {
    width: fit-content;
    margin-right: auto;
    margin-left: auto;
  }

  /* .hiyori-map .txt p {
    text-align: center;
  } */

  .hiyori-map .txt ul {
    justify-content: center;
    flex-flow: row;
    flex-wrap: wrap;
    gap: 10px;
  }

  /* =============================
  フッター
  ================================ */
  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) {

  /* =============================
  イントロ
  ================================ */
  .intro .txt {
    padding-left: 3rem;
  }

  /* -----------------------------
  大阪3ホテル差別化
  -------------------------------- */
  .hiyori_osaka h3 {
    font-size: 1.8rem;
  }

  .hiyori_osaka .h-p {
    font-size: 1.4rem;
  }

  .hiyori_osaka .tl {
    font-size: 1.4rem;
  }

  /* =============================
  フッター
  ================================ */
  .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;
  }

  /* =============================
  客室
  ================================ */
  .room-ul .txt {
    width: 100%;
  }

  /* アコーディオン */
  .room-ul .info.open {
    padding: 15px 10px;
  }


  /* =============================
  朝食
  ================================ */
  .breakfast .pic-wrap {
    width: 95%;
  }

  .breakfast .cont-wrap .txt {
    padding: 3rem 0;
  }

  /* =============================
  アクセス
  ================================ */
  .access {
    padding-bottom: 10rem;
  }

  /* アクセス本文 */
  .access .content {
    width: 95%;
  }

  .access .c-tl {
    text-align: center;
  }

  .access .c-p {
    font-size: 1.4rem;
    width: 90%;
    margin-right: auto;
    margin-left: auto;
  }

  .guide .guide-inner {
    padding: 10px;
  }

  /* =============================
  フッター
  ================================ */
  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;
  }
}