@charset "utf-8";
/* ==========================================================================
   川越しょうざえもん（x000762 / CMS 9941 / template108）案件用の追加スタイル
   テンプレ既定（style.css / style_responsive.css）は編集せず、ここで上書きする
   ========================================================================== */

/* --- ロゴ：ヘッダー／フッターで巨大化・MV被りを防ぐ上限 --- */
.header_logo { max-width: 150px; }
.header_logo img { max-height: 56px; width: auto; object-fit: contain; }
.footer_logo { max-width: 220px; height: auto; }

/* --- グロナビ：ご予約ボタン ＋ SNSアイコン（最右） --- */
.gnav_item_reserve { margin-left: 0.6vw; }
.gnav_reserve_btn {
    display: block;
    padding: 0.6em 1.4em;
    background: #a01000;
    color: #fff;
    text-decoration: none;
    font-size: 1.05vw;
    letter-spacing: 0.08em;
    border-radius: 2px;
    white-space: nowrap;
    transition: all 0.4s;
}
.gnav_reserve_btn:hover { background: #c8181f; opacity: 1; }

.gnav_item_sns { display: flex; align-items: center; }
.gnav_sns_link { display: block; line-height: 0; transition: opacity 0.4s; }
.gnav_sns_link:hover { opacity: 0.6; }
.gnav_item_sns .gnav_sns_link img { width: 26px; height: 26px; object-fit: contain; }


/* SPドロワー内のSNSアイコン */
.header_nav_list_sp.sp_sns { text-align: center; }
.header_nav_list_sp.sp_sns .gnav_sns_link img { width: 32px; height: 32px; }

@media screen and (max-width: 767px) {
    .header_logo { width: auto; max-width: 120px; }
    .header_logo img { max-height: 46px; }
}

/* --- メニュー「準備中」 --- */
.menu_preparing {
    text-align: center;
    padding: 60px 20px;
}
.menu_preparing_txt {
    font-size: 24px;
    letter-spacing: 0.2em;
    margin: 0;
}
@media screen and (max-width: 767px) {
    .menu_preparing { padding: 48px 16px; }
    .menu_preparing_txt { font-size: 20px; }
}

/* --- ギャラリー：支給画像のサイズが不揃いなので表示サイズを統一（比率は歪めない） --- */
.gallery_content_sec_item a { display: block; }
.gallery_content_sec_item img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    display: block;
}
/* aspect-ratio 非対応ブラウザ向けのフォールバック */
@supports not (aspect-ratio: 4 / 3) {
    .gallery_content_sec_item a { position: relative; padding-top: 75%; overflow: hidden; }
    .gallery_content_sec_item img { position: absolute; top: 0; left: 0; height: 100%; }
}

/* --- TOPのループスライダー（indexのギャラリーセクション） ---*/
#loopslider ul li { overflow: hidden; }
#loopslider ul li img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

/* --- お問い合わせフォームの 必須／任意 バッジ --- */
.CMS-FORM .req,
.CMS-FORM .any {
    display: inline-block;
    margin-left: 0.6em;
    padding: 0.15em 0.6em;
    font-size: 11px;
    line-height: 1.6;
    border-radius: 2px;
    vertical-align: middle;
}
.CMS-FORM .req { background: #a01000; color: #fff; }
.CMS-FORM .any { background: #666; color: #fff; }

/* --- COURSEセクションの背景 ---。 */
.top_gallery { background-image: url(../img/bg_kv_01.jpg); }
@media screen and (max-width: 767px) {
    .top_gallery { background-image: url(../img/bg_kv_01.jpg); }
}

/* --- ロゴの視認性 --- */
.header_logo_link img,
.footer_logoimg img.footer_logo {
    background: #fff;
    padding: 5px 10px;
    border-radius: 3px;
    box-sizing: border-box;
}
.footer_logoimg img.footer_logo { padding: 8px 14px; }

.footer_link_menu_btn {
    display: block;
    padding: 0.1em 1.4em;
    background: #000;
    color: #fff;
    text-decoration: none;
    /* font-size: 1.05vw; */
    border-radius: 2px;
    white-space: nowrap;
    transition: all 0.4s;
}
@media screen and (max-width: 767px) {
    .footer_link_menu_btn {
        width: max-content;
        margin-inline: auto;
        padding: 0 1.7em;
        line-height: 1.8;
    }
}
.footer_link_menu_btn:hover{
   opacity: .7;
}

/* --- 下層ページのメインビジュアル ---
 */
.heading1_wrap { background-image: url(../img/page-mv.jpg); }
.heading1_menu { background-image: url(../img/menu_mv.jpg); }

/* --- SPヘッダー：Google翻訳ウィジェットとハンバーガーの重なり防止 ---
。 */
@media screen and (max-width: 767px) {
    .header_inner_flex { padding-right: 72px; box-sizing: border-box; }
    .google_translate { margin-right: 0; max-width: 100%; overflow: hidden; }
    .google_translate .goog-te-gadget-simple { max-width: 100%; }
}
/* --- メインビジュアル ---

