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

Theme Name: BRIDGE HOTEL GROUP Thema
Author: [ bran-new-days.com ]
Description: 2026/9/21

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

/* /////////////////////////////////////////////////////////////////////////////

 上書き

///////////////////////////////////////////////////////////////////////////// */

.top_facility {
    margin-bottom: 5rem;
}

/* 宴会事業 / business ※上書き
-----------------------------------------------------------*/

@media screen and (width > 767px), print {
    .container.-business .txt_img {
        gap: 4.64%;
    }
    .container.-business .txt_img:nth-child(even) {
        flex-direction: row-reverse;
    }
    .container.-business .txt_img:nth-child(even) .txt_wrap .btn_wrap {
        justify-content: flex-start;
    }
    .container.-business .txt_img .txt_wrap {
        flex: 1;
        width: auto;
    }
    .container.-business .txt_img.img-slim .img {
        width: 37.03%;
    }
}

/* 代表メッセージ / message ※上書き
-----------------------------------------------------------*/

@media screen and (width <= 767px) {
    .message_content_box .txt_wrap .head_block {
        gap: 3.5rem;
    }
    .message_content_box:nth-child(even) .txt_wrap .head_block {
        flex-direction: row-reverse;
        justify-content: flex-end;
    }
}
@media screen and (width > 767px), print {
    .message_content_box:nth-child(even) {
        flex-direction: row-reverse;
    }
}

/* ホテル ※上書き
-----------------------------------------------------------*/

.lower_mv_ttl.-hotel {
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
}
.lower_mv_ttl.-hotel:hover {
    opacity: .5;
}

.room_content .room_notice .txt_wrap p {
    margin-top: 1.5em;
    font-family: var(--font-sans);
    font-size: 1.1rem;
    line-height: 1.5;
}
@media screen and (width > 767px), print {
    .room_content .room_notice .txt_wrap p {
        font-size: 1.2rem;
        line-height: 2.25;
    }
}


/* /////////////////////////////////////////////////////////////////////////////

 オリジナル

///////////////////////////////////////////////////////////////////////////// */

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

 ホテル

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

/* FAQ
-----------------------------------------------------------*/

.hotel-faq_content {
    margin-top: 4rem;
    margin-bottom: 4rem;
}
@media screen and (width > 767px), print {
    .hotel-faq_content {
      margin-top: 7.5rem;
      margin-bottom: 7.5rem;
    }
}

.hotel_faq .section_ttl {
    margin-bottom: 3em;
    align-items: center;
}

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

 お知らせ archive / single

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

/* お知らせ
-----------------------------------------------------------*/

.single_content {
    margin-bottom: 5rem;
}

.archive_content .section_ttl ,
.single_content .section_ttl {
    margin-bottom: 2em;
}

.entry_content {
    line-height: 1.75;
}
.entry_title {
    margin-bottom: 1em;
    font-size: min(2.8rem,6vw);
    letter-spacing: 0.1em;
    transform: scale(1, 0.9);
}
.entry_info {
    margin-bottom: 1em;
}


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

 サービス / service single

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

.text_block {
    line-height: 1.75;
}
.text_block p:not(:last-child) {
    margin-bottom: 1.5em;
}


/* サービス archive
-----------------------------------------------------------*/

.cmn_archive {
    padding-block: 3.2rem;
}
@media screen and (width > 767px), print {
  .cmn_archive {
    padding-block: 6rem;
  }
}

/* サービス single
-----------------------------------------------------------*/

.service_content {
    margin-top: 4rem;
    margin-bottom: 1rem;
}
@media screen and (width > 767px), print {
  .service_content {
    margin-top: 7.5rem;
    margin-bottom: 2rem;
  }
}
.service_content .btn-min {
    display: inline-block;
    width: 240px;
    max-width: 100%;
    border-radius: 50vh;
    background: var(--txt-color);
    color: #FFF;
    text-align: center;
}
.service_content .btn-middle {
    display: inline-block;
    width: 360px;
    max-width: 100%;
    padding-block: .5em;
    border-radius: 50vh;
    background: var(--txt-color);
    color: #FFF;
    text-align: center;
}
.service_content .btn-min:hover ,
.service_content .btn-middle:hover {
    opacity: .5;
}

.service-btn__list {
    display: flex;
    flex-direction: column;
    gap: 15px;
    line-height: 1.4;
    text-align: center;
}
@media screen and (width > 767px), print {
    .service-btn__list {
        flex-direction: row;
        justify-content: center;
        gap: 15px;
    } 
}

.service_intro {
    margin-bottom: 4rem;
}
.service_intro .ttl {
    margin-bottom: 1em;
    font-size: min(2.8rem,6vw);
    letter-spacing: 0.1em;
    transform: scale(1, 0.9);
}
.service_intro .ttl_sub {
    margin-bottom: 2rem;
    font-size: min(2.2rem,5vw);
    line-height: 1.75;
}
.service_intro .txt {
  max-width: 84rem;
  margin-inline: auto;
  line-height: 1.75;
}
.service_intro .txt p:not(:last-child) {
    margin-bottom: 1em;
}
@media screen and (width > 767px), print {
    .service_intro {
        margin-bottom: 7rem;
    }
    .service_intro .ttl {
        text-align: center;
    }
    .service_intro .ttl_sub {
        text-align: center;
    }
}

.service_item > .ttl {
    margin-bottom: 1em;
    font-size: min(2.4rem, 5.5vw);
    line-height: 1.2;
    text-align: center;
}

.service_item > .text_block {
    margin-bottom: 2rem;
}

.service .ttl_sub {
    margin-bottom: 1.5em;
    padding: .5em 1rem;
    background: #f0ece9;
    font-size: min(2.2rem,5vw);
}
.service .ttl_sub--nobg {
    padding: 0;
    background: transparent;
    text-align: center;
}

.service_item {
    margin-bottom: 3rem;
}  
@media (min-width: 768px) {
    .service_item {
        margin-bottom: 7rem;
    }  
}

.service_item--wide {
    margin-inline: calc(50% - 50vw);
    text-align: center;
}

.service_item--flex {
    display: flex;
    flex-direction: column;
    gap: 1.5em;
}
.service_item > .txt_wrap > .ttl {
    margin-bottom: 1rem;
    font-size: 1.4rem;
    line-height: 1.2;
    letter-spacing: 0.1em;
    transform: scale(1, 0.9);
}
.service_item > .txt_wrap > .txt {
    line-height: 1.75;
}
.service_item .txt_wrap .txt p:not(:last-child) {
    margin-bottom: 1em;
}
  
@media (min-width: 768px) {
    .service_item--flex {
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
        gap: 8%;
    }
    .service_item--flex:nth-child(odd) {
        flex-direction: row-reverse;
    }
    .service_item--flex .txt_wrap {
        flex: 1;
    }
    .service_item > .txt_wrap > .ttl {
        margin-bottom: 4rem;
        font-size: 2.4rem;
    }
    .service_item--flex .img {
        width: 55%;
        text-align: center;
    }
}

.service-textcard_list {
    display: grid;
    margin-top: 5rem;
    grid-template-columns: 1fr;
    gap: 3rem;
}
.service-textcard_list li {
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
    padding: 1.5rem;
    background: #f0ece9;
}
.service-textcard_list .ttl {
    margin-bottom: .5em;
    font-size: min(2rem,5vw);
    text-align: center;
    line-height: 1.4;
}
.service-textcard_list .txt {
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 1.75;
}
.service-textcard_list .txt p:not(:last-child) {
    margin-bottom: 1em;
}

@media (min-width: 768px) {
    .service-textcard_list {
        margin-top: 0;
        grid-template-columns: repeat(auto-fill, minmax(26rem, 1fr));
        gap: 4rem 3rem;
    }
    .service-textcard_list.-sepa4 {
        grid-template-columns: repeat(auto-fill, minmax(22rem, 1fr));
    }
    .service-textcard_list.-sepa2 {
        grid-template-columns: repeat(auto-fill, minmax(36rem, 1fr));
    }
    .service-textcard_list li {
        padding: 2.5rem;
    }
}

.service-card_list {
    display: grid;
    margin-top: 5rem;
    grid-template-columns: 1fr;
    gap: 3rem;
}
.service-card_list li {
    display: flex;
    gap: 1.2rem;
}
.service-card_list .img {
    width: 12rem;
    flex-shrink: 0;
}
.service-card_list .ttl {
    margin-bottom: .5em;
    font-size: min(2rem,5vw);
    text-align: center;
    line-height: 1.4;
}
.service-card_list .txt {
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 1.75;
}

@media (min-width: 768px) {
    .service-card_list {
        margin-top: 0;
        grid-template-columns: repeat(auto-fill, minmax(22rem, 1fr));
        gap: 6rem 3rem;
    }
    .service-card_list li {
        flex-direction: column;
    }
    .service-card_list li .img {
        width: auto;
    }
}

/* /////////////////////////////////////////////////////////////////////////////

 汎用CSS

///////////////////////////////////////////////////////////////////////////// */

.-ta-center {
    text-align: center;
}

