/* 多言語対応用CSS */

/* フォント設定 */
/* 日本語版（デフォルト）: 欧文明朝 Libre Baskerville, 和文明朝 Noto Serif JP, 和文ゴシック Noto Sans JP */
@import url('https://fonts.googleapis.com/css2?family=Libre+Baskerville:ital,wght@0,400;0,700;1,400&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;500;600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+KR:wght@400;500;600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;500;600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+TC:wght@400;500;600;700&display=swap');

/* 韓国語版のフォント設定 */
body.lang-ko {
    font-family: "Noto Serif KR", "Libre Baskerville", "Noto Sans KR", "Noto Sans JP", serif;
}

/* 簡体字中国語版のフォント設定 */
body.lang-zh-cmn-Hans {
    font-family: "Noto Serif SC", "Libre Baskerville", "Noto Sans JP", serif;
}

/* 繁体字中国語版のフォント設定 */
body.lang-zh-cmn-Hant {
    font-family: "Noto Serif TC", "Libre Baskerville", "Noto Sans JP", serif;
}

/* ヘッダーナビゲーションの幅調整 - 英語表示時のみ */
body.lang-en .h_nav {
    width: 100% !important;
    max-width: 800px !important;
}

body.lang-en .h_nav .nav_list {
    width: 100%;
    justify-content: space-between;
}

/* 英語ページでは縦書きを横書きに変更 */
body.lang-en .pc_vertical {
    -ms-writing-mode: lr-tb;
    writing-mode: horizontal-tb;
}

/* 英語ページでのテキスト調整 */
body.lang-en .home_caption {
    text-align: center;
}

body.lang-en .home_caption span {
    display: inline;
}

body.lang-en .txt_txt {
    text-align: left;
}

/* 韓国語ページでも横書きに */
body.lang-ko .pc_vertical {
    -ms-writing-mode: lr-tb;
    writing-mode: horizontal-tb;
}

body.lang-ko .home_caption {
    text-align: center;
}

body.lang-ko .home_caption span {
    display: inline;
}

body.lang-ko .txt_txt {
    text-align: left;
}

/* 中国語（繁体字）ページでも横書きに */
body.lang-zh-cmn-Hant .pc_vertical {
    -ms-writing-mode: lr-tb;
    writing-mode: horizontal-tb;
}

body.lang-zh-cmn-Hant .home_caption {
    text-align: center;
}

body.lang-zh-cmn-Hant .home_caption span {
    display: inline;
}

body.lang-zh-cmn-Hant .txt_txt {
    text-align: left;
}

/* 中国語（簡体字）ページでも横書きに */
body.lang-zh-cmn-Hans .pc_vertical {
    -ms-writing-mode: lr-tb;
    writing-mode: horizontal-tb;
}

body.lang-zh-cmn-Hans .home_caption {
    text-align: center;
}

body.lang-zh-cmn-Hans .home_caption span {
    display: inline;
}

body.lang-zh-cmn-Hans .txt_txt {
    text-align: left;
}

/* フッターの縦書きテキストも英語では横書きに */
body.lang-en .f_container .reserve_tit,
body.lang-ko .f_container .reserve_tit,
body.lang-zh-cmn-Hant .f_container .reserve_tit,
body.lang-zh-cmn-Hans .f_container .reserve_tit {
    -ms-writing-mode: lr-tb;
    writing-mode: horizontal-tb;
}

/* ナビゲーションの縦書きテキストも横書きに */
body.lang-en .nav_reserve .reserve_tit,
body.lang-ko .nav_reserve .reserve_tit,
body.lang-zh-cmn-Hant .nav_reserve .reserve_tit,
body.lang-zh-cmn-Hans .nav_reserve .reserve_tit {
    -ms-writing-mode: lr-tb;
    writing-mode: horizontal-tb;
    text-align: center;
}

body.lang-en .nav_reserve .reserve_tit .en,
body.lang-ko .nav_reserve .reserve_tit .en,
body.lang-zh-cmn-Hant .nav_reserve .reserve_tit .en,
body.lang-zh-cmn-Hans .nav_reserve .reserve_tit .en {
    display: block;
    font-size: 0.9em;
    margin-top: 5px;
}

/* 各言語ごとのボタン幅調整 */
/* 英語：Reservationの幅 */
body.lang-en #side_btns {
    width: 160px !important;
}

body.lang-en #side_btns .btn_reserve a {
    width: 160px !important;
}

/* 韓国語：숙박 예약の幅 */
body.lang-ko #side_btns {
    width: 120px !important;
}

body.lang-ko #side_btns .btn_reserve a {
    width: 120px !important;
}

/* 中国語（繁体字）：住宿方案の幅 */
body.lang-zh-cmn-Hant #side_btns {
    width: 120px !important;
}

body.lang-zh-cmn-Hant #side_btns .btn_reserve a {
    width: 120px !important;
}

/* 中国語（簡体字）：住宿方案の幅 */
body.lang-zh-cmn-Hans #side_btns {
    width: 120px !important;
}

body.lang-zh-cmn-Hans #side_btns .btn_reserve a {
    width: 120px !important;
}

/* ヘッダーのボタンも同様に調整 */
body.lang-en .h_btns {
    width: 160px !important;
}

body.lang-en .h_btns .btn_reserve a {
    width: 160px !important;
}

body.lang-ko .h_btns {
    width: 120px !important;
}

body.lang-ko .h_btns .btn_reserve a {
    width: 120px !important;
}

body.lang-zh-cmn-Hant .h_btns {
    width: 120px !important;
}

body.lang-zh-cmn-Hant .h_btns .btn_reserve a {
    width: 120px !important;
}

body.lang-zh-cmn-Hans .h_btns {
    width: 120px !important;
}

body.lang-zh-cmn-Hans .h_btns .btn_reserve a {
    width: 120px !important;
}

/* レスポンシブ対応 */
@media screen and (max-width: 750px) {
    /* スマホでは元々横書きなので特に変更なし */
}

/* 英語・韓国語・中国語では、テキストレイアウトを上→下に変更 */
body.lang-en #sec01 .sec_col .col_txt,
body.lang-ko #sec01 .sec_col .col_txt,
body.lang-zh-cmn-Hant #sec01 .sec_col .col_txt,
body.lang-zh-cmn-Hans #sec01 .sec_col .col_txt {
    flex-direction: column;
}

body.lang-en #sec01 .sec_col .col_txt .txt_txt,
body.lang-ko #sec01 .sec_col .col_txt .txt_txt,
body.lang-zh-cmn-Hant #sec01 .sec_col .col_txt .txt_txt,
body.lang-zh-cmn-Hans #sec01 .sec_col .col_txt .txt_txt {
    margin-right: 0;
    padding-top: 0;
    margin-top: 20px;
}

body.lang-en #sec01 .sec_col .col_txt .home_caption,
body.lang-ko #sec01 .sec_col .col_txt .home_caption,
body.lang-zh-cmn-Hant #sec01 .sec_col .col_txt .home_caption,
body.lang-zh-cmn-Hans #sec01 .sec_col .col_txt .home_caption {
    text-align: center;
}

/* 英語表示時のレイアウト調整 - テーブルを下に配置 */
body.lang-en .sec_box {
    flex-direction: column !important;
}

body.lang-en .box_txt {
    width: 100% !important;
}

body.lang-en .box_table {
    width: 100% !important;
    margin-top: 30px;
}

/* 英語表示時のテーブル調整 */
body.lang-en .box_table table {
    width: 100%;
}

body.lang-en .box_table table th {
    width: 35%;
    white-space: normal;
    word-wrap: break-word;
    vertical-align: top;
    padding: 15px 10px;
}

body.lang-en .box_table table td {
    width: 65%;
    white-space: normal;
    word-wrap: break-word;
    line-height: 1.6;
    vertical-align: top;
    padding: 15px 10px;
}

body.lang-en .table th,
body.lang-en .table td {
    white-space: normal;
    word-wrap: break-word;
    padding: 15px 10px;
}

/* 言語切り替えボタンのスマホ対応 */
@media screen and (max-width: 768px) {
    #lang-switcher {
        top: 250px !important; /* 予約ボタンの下に配置 */
    }
    
    /* スマホで英語版のときの#side_btnsと.h_btnsを120pxに */
    body.lang-en #side_btns,
    body.lang-en .h_btns {
        width: 120px !important;
    }
    
    body.lang-en #side_btns .btn_reserve a,
    body.lang-en .h_btns .btn_reserve a {
        width: 120px !important;
    }
}

/* アクセスページの画像：日本語以外でPC版画像を使用する際の調整 */
@media screen and (max-width: 767px) {
    body:not(.lang-ja) #sec02 .sec_row .row_pic {
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch;
    }
    
    body:not(.lang-ja) #sec02 .sec_row .row_pic img.sp_inline {
        display: block !important;
        width: auto !important;
        max-width: none !important;
        height: auto !important;
        min-width: 320px !important;
    }
}

/* ページタイトルの多言語対応 */
/* 英語表示時は日本語部分（.main）を非表示 */
body.lang-en .pagetit_tit .main,
body.lang-en .home_tit .main,
body.lang-en .txt_tit .main,
body.lang-en .sec_tit .main,
body.lang-en .sec_tit02 .main,
body.lang-en .en_tit .main {
    display: none;
}

/* 英語以外の言語では両方表示（デフォルトのまま） */
