/* 日本語以外のページだけ読む（functions.php。日本語のページの読み込みは変えない）。
   言語ごとの書体と字間。日本語の書体（Shippori Mincho / Noto Sans JP）はそのまま先頭に置くか、外す。
   中国語・韓国語・タイ語はシステムの書体にする（日本語の書体で漢字が日本の字形になるのを避ける）。
   字間（letter-spacing .08em 以上の規則）は、英語・韓国語・タイ語で狭める。下の一覧は base/sub/add/blocks.css から拾った。 */

/* 英語（en-US）：英字は Noto Sans JP / Shippori Mincho の英字、足りない字はシステムの書体 */
html:lang(en){--serif:"Shippori Mincho","Times New Roman",Georgia,serif;--sans:"Noto Sans JP","Segoe UI","Helvetica Neue",Arial,sans-serif}
html:lang(en) .tate{font-family:var(--latin);font-style:italic;letter-spacing:.01em;font-size:clamp(34px,3.8vw,58px)}
/* 375px で「Book a stay」が2行になるのを止める（英語だけ） */
html:lang(en) .hd .book{white-space:nowrap}

/* 繁体字（zh-TW） */
html:lang(zh-TW){--serif:"Noto Serif TC","Songti TC","PMingLiU","Noto Serif CJK TC",serif;--sans:"Noto Sans TC","PingFang TC","Microsoft JhengHei","Heiti TC","Noto Sans CJK TC",sans-serif}

/* 簡体字（zh-CN） */
html:lang(zh-CN){--serif:"Noto Serif SC","Songti SC","SimSun","Noto Serif CJK SC",serif;--sans:"Noto Sans SC","PingFang SC","Microsoft YaHei","Heiti SC","Noto Sans CJK SC",sans-serif}

/* 韓国語（ko） */
html:lang(ko){--serif:"Noto Serif KR","AppleMyungjo","Batang","Noto Serif CJK KR",serif;--sans:"Noto Sans KR","Apple SD Gothic Neo","Malgun Gothic","Noto Sans CJK KR",sans-serif}

/* タイ語（th） */
html:lang(th){--serif:"Noto Serif Thai","Leelawadee UI","Thonburi","Tahoma",serif;--sans:"Noto Sans Thai","Leelawadee UI","Thonburi","Tahoma",sans-serif}

/* 縦書きの見出し（トップの写真の上）：日本語は縦書きのまま。日本語以外は、このファイルの末尾の規則で横書きにする（2026-10-28 TOMO） */
html:lang(ko) .tate,html:lang(th) .tate{writing-mode:horizontal-tb;white-space:normal;max-width:60vw;text-align:right;letter-spacing:.02em;line-height:1.5;font-size:clamp(22px,2.6vw,38px)}

/* 字間 */
html:lang(en) h1,
html:lang(en) h2,
html:lang(en) h3,
html:lang(en) .hd .row1,
html:lang(en) .hd .lang,
html:lang(en) .hd .menu,
html:lang(en) .hd .book,
html:lang(en) .tate,
html:lang(en) .bk label,
html:lang(en) .bk a,
html:lang(en) .direct .t,
html:lang(en) .card h3,
html:lang(en) .card .more,
html:lang(en) .rule,
html:lang(en) .dream .t .box a,
html:lang(en) .rooms .head p,
html:lang(en) .room h3,
html:lang(en) .room .spec,
html:lang(en) .sun p,
html:lang(en) .stay h3,
html:lang(en) .cta h2,
html:lang(en) .cta a,
html:lang(en) footer ul,
html:lang(en) .ph-hero h1,
html:lang(en) .ph-hero h1 small,
html:lang(en) .crumb,
html:lang(en) .keys,
html:lang(en) .pair h3,
html:lang(en) .dl dt,
html:lang(en) .lst h3,
html:lang(en) .faq h3,
html:lang(en) .btnx,
html:lang(en) .cmpt thead th,
html:lang(en) .cmpt tbody th,
html:lang(en) .rrow h3,
html:lang(en) .rrow .s2,
html:lang(en) .go,
html:lang(en) .full p,
html:lang(en) .ski .nm,
html:lang(en) .ski .tm,
html:lang(en) .tools b,
html:lang(en) .day4 b,
html:lang(en) .pend b,
html:lang(en) .two h3,
html:lang(en) .status .st,
html:lang(en) .status .bk2,
html:lang(en) .three h3,
html:lang(en) .plan h3,
html:lang(en) .plan .pr span,
html:lang(en) .set h3,
html:lang(en) .incl b,
html:lang(en) .addr address,
html:lang(en) .addr .tel,
html:lang(en) .addr .tel small,
html:lang(en) .apps a,
html:lang(en) .rt thead th,
html:lang(en) .rt tbody th,
html:lang(en) .blk h2,
html:lang(en) .dist span,
html:lang(en) .fnav a,
html:lang(en) .ask b,
html:lang(en) .ask .tel,
html:lang(en) .mbook a,
html:lang(en) .noph,
html:lang(en) .gb>h3,
html:lang(en) .gl b,
html:lang(en) .blk h3,
html:lang(en) .night h3.th,
html:lang(en) .cf label,
html:lang(en) .cf legend,
html:lang(en) .tel2,
html:lang(en) .mnav nav a,
html:lang(en) .mclose,
html:lang(en) .lead .catch,
html:lang(en) .dream .t .catch,
html:lang(en) .rooms .head h2,
html:lang(en) .ov .box h3,
html:lang(en) .lst h2,
html:lang(en) .two h2,
html:lang(en) .three h2,
html:lang(en) .faq h2,
html:lang(en) .bkb .bkt,
html:lang(en) .wp-block-table.rt thead th,
html:lang(en) .wp-block-table.rt tbody th,
html:lang(en) .ttl .sub:not(.zz):not(.zz),
html:lang(en) .badges p:not(.zz):not(.zz),
html:lang(en) .feat h3:not(.zz):not(.zz),
html:lang(en) .price h3:not(.zz):not(.zz),
html:lang(en) .price .seat:not(.zz):not(.zz),
html:lang(en) .price .grp:not(.zz):not(.zz),
html:lang(en) .camp .t:not(.zz):not(.zz),
html:lang(en) .day4 b:not(.zz),
html:lang(en) .route-pc .rp span,
html:lang(en) .route-pc .rs,
html:lang(en) .route-sp .rh:not(.zz),
html:lang(en) .route-sp .s,
html:lang(en) .pg-bbq-barbecue .badges p:not(.zz):not(.zz),
html:lang(en) .kf dt,
html:lang(en) .mitem h3:not(.zz):not(.zz),
html:lang(en) .legal h2:not(.zz):not(.zz),
html:lang(en) .legal h3:not(.zz):not(.zz),
html:lang(en) .gb .wpcf7 label:not(.zz),
html:lang(en) .gb .wpcf7 legend,
html:lang(en) .gb .wpcf7 input[type=submit],
html:lang(en) .paylogos .pl-h:not(.zz):not(.zz),
html:lang(en) .cards.c5 .card h3{letter-spacing:.03em}
html:lang(ko) h1,
html:lang(ko) h2,
html:lang(ko) h3,
html:lang(ko) .hd .row1,
html:lang(ko) .hd .lang,
html:lang(ko) .hd .menu,
html:lang(ko) .hd .book,
html:lang(ko) .tate,
html:lang(ko) .bk label,
html:lang(ko) .bk a,
html:lang(ko) .direct .t,
html:lang(ko) .card h3,
html:lang(ko) .card .more,
html:lang(ko) .rule,
html:lang(ko) .dream .t .box a,
html:lang(ko) .rooms .head p,
html:lang(ko) .room h3,
html:lang(ko) .room .spec,
html:lang(ko) .sun p,
html:lang(ko) .stay h3,
html:lang(ko) .cta h2,
html:lang(ko) .cta a,
html:lang(ko) footer ul,
html:lang(ko) .ph-hero h1,
html:lang(ko) .ph-hero h1 small,
html:lang(ko) .crumb,
html:lang(ko) .keys,
html:lang(ko) .pair h3,
html:lang(ko) .dl dt,
html:lang(ko) .lst h3,
html:lang(ko) .faq h3,
html:lang(ko) .btnx,
html:lang(ko) .cmpt thead th,
html:lang(ko) .cmpt tbody th,
html:lang(ko) .rrow h3,
html:lang(ko) .rrow .s2,
html:lang(ko) .go,
html:lang(ko) .full p,
html:lang(ko) .ski .nm,
html:lang(ko) .ski .tm,
html:lang(ko) .tools b,
html:lang(ko) .day4 b,
html:lang(ko) .pend b,
html:lang(ko) .two h3,
html:lang(ko) .status .st,
html:lang(ko) .status .bk2,
html:lang(ko) .three h3,
html:lang(ko) .plan h3,
html:lang(ko) .plan .pr span,
html:lang(ko) .set h3,
html:lang(ko) .incl b,
html:lang(ko) .addr address,
html:lang(ko) .addr .tel,
html:lang(ko) .addr .tel small,
html:lang(ko) .apps a,
html:lang(ko) .rt thead th,
html:lang(ko) .rt tbody th,
html:lang(ko) .blk h2,
html:lang(ko) .dist span,
html:lang(ko) .fnav a,
html:lang(ko) .ask b,
html:lang(ko) .ask .tel,
html:lang(ko) .mbook a,
html:lang(ko) .noph,
html:lang(ko) .gb>h3,
html:lang(ko) .gl b,
html:lang(ko) .blk h3,
html:lang(ko) .night h3.th,
html:lang(ko) .cf label,
html:lang(ko) .cf legend,
html:lang(ko) .tel2,
html:lang(ko) .mnav nav a,
html:lang(ko) .mclose,
html:lang(ko) .lead .catch,
html:lang(ko) .dream .t .catch,
html:lang(ko) .rooms .head h2,
html:lang(ko) .ov .box h3,
html:lang(ko) .lst h2,
html:lang(ko) .two h2,
html:lang(ko) .three h2,
html:lang(ko) .faq h2,
html:lang(ko) .bkb .bkt,
html:lang(ko) .wp-block-table.rt thead th,
html:lang(ko) .wp-block-table.rt tbody th,
html:lang(ko) .ttl .sub:not(.zz):not(.zz),
html:lang(ko) .badges p:not(.zz):not(.zz),
html:lang(ko) .feat h3:not(.zz):not(.zz),
html:lang(ko) .price h3:not(.zz):not(.zz),
html:lang(ko) .price .seat:not(.zz):not(.zz),
html:lang(ko) .price .grp:not(.zz):not(.zz),
html:lang(ko) .camp .t:not(.zz):not(.zz),
html:lang(ko) .day4 b:not(.zz),
html:lang(ko) .route-pc .rp span,
html:lang(ko) .route-pc .rs,
html:lang(ko) .route-sp .rh:not(.zz),
html:lang(ko) .route-sp .s,
html:lang(ko) .pg-bbq-barbecue .badges p:not(.zz):not(.zz),
html:lang(ko) .kf dt,
html:lang(ko) .mitem h3:not(.zz):not(.zz),
html:lang(ko) .legal h2:not(.zz):not(.zz),
html:lang(ko) .legal h3:not(.zz):not(.zz),
html:lang(ko) .gb .wpcf7 label:not(.zz),
html:lang(ko) .gb .wpcf7 legend,
html:lang(ko) .gb .wpcf7 input[type=submit],
html:lang(ko) .paylogos .pl-h:not(.zz):not(.zz),
html:lang(ko) .cards.c5 .card h3{letter-spacing:.05em}
html:lang(th) h1,
html:lang(th) h2,
html:lang(th) h3,
html:lang(th) .hd .row1,
html:lang(th) .hd .lang,
html:lang(th) .hd .menu,
html:lang(th) .hd .book,
html:lang(th) .tate,
html:lang(th) .bk label,
html:lang(th) .bk a,
html:lang(th) .direct .t,
html:lang(th) .card h3,
html:lang(th) .card .more,
html:lang(th) .rule,
html:lang(th) .dream .t .box a,
html:lang(th) .rooms .head p,
html:lang(th) .room h3,
html:lang(th) .room .spec,
html:lang(th) .sun p,
html:lang(th) .stay h3,
html:lang(th) .cta h2,
html:lang(th) .cta a,
html:lang(th) footer ul,
html:lang(th) .ph-hero h1,
html:lang(th) .ph-hero h1 small,
html:lang(th) .crumb,
html:lang(th) .keys,
html:lang(th) .pair h3,
html:lang(th) .dl dt,
html:lang(th) .lst h3,
html:lang(th) .faq h3,
html:lang(th) .btnx,
html:lang(th) .cmpt thead th,
html:lang(th) .cmpt tbody th,
html:lang(th) .rrow h3,
html:lang(th) .rrow .s2,
html:lang(th) .go,
html:lang(th) .full p,
html:lang(th) .ski .nm,
html:lang(th) .ski .tm,
html:lang(th) .tools b,
html:lang(th) .day4 b,
html:lang(th) .pend b,
html:lang(th) .two h3,
html:lang(th) .status .st,
html:lang(th) .status .bk2,
html:lang(th) .three h3,
html:lang(th) .plan h3,
html:lang(th) .plan .pr span,
html:lang(th) .set h3,
html:lang(th) .incl b,
html:lang(th) .addr address,
html:lang(th) .addr .tel,
html:lang(th) .addr .tel small,
html:lang(th) .apps a,
html:lang(th) .rt thead th,
html:lang(th) .rt tbody th,
html:lang(th) .blk h2,
html:lang(th) .dist span,
html:lang(th) .fnav a,
html:lang(th) .ask b,
html:lang(th) .ask .tel,
html:lang(th) .mbook a,
html:lang(th) .noph,
html:lang(th) .gb>h3,
html:lang(th) .gl b,
html:lang(th) .blk h3,
html:lang(th) .night h3.th,
html:lang(th) .cf label,
html:lang(th) .cf legend,
html:lang(th) .tel2,
html:lang(th) .mnav nav a,
html:lang(th) .mclose,
html:lang(th) .lead .catch,
html:lang(th) .dream .t .catch,
html:lang(th) .rooms .head h2,
html:lang(th) .ov .box h3,
html:lang(th) .lst h2,
html:lang(th) .two h2,
html:lang(th) .three h2,
html:lang(th) .faq h2,
html:lang(th) .bkb .bkt,
html:lang(th) .wp-block-table.rt thead th,
html:lang(th) .wp-block-table.rt tbody th,
html:lang(th) .ttl .sub:not(.zz):not(.zz),
html:lang(th) .badges p:not(.zz):not(.zz),
html:lang(th) .feat h3:not(.zz):not(.zz),
html:lang(th) .price h3:not(.zz):not(.zz),
html:lang(th) .price .seat:not(.zz):not(.zz),
html:lang(th) .price .grp:not(.zz):not(.zz),
html:lang(th) .camp .t:not(.zz):not(.zz),
html:lang(th) .day4 b:not(.zz),
html:lang(th) .route-pc .rp span,
html:lang(th) .route-pc .rs,
html:lang(th) .route-sp .rh:not(.zz),
html:lang(th) .route-sp .s,
html:lang(th) .pg-bbq-barbecue .badges p:not(.zz):not(.zz),
html:lang(th) .kf dt,
html:lang(th) .mitem h3:not(.zz):not(.zz),
html:lang(th) .legal h2:not(.zz):not(.zz),
html:lang(th) .legal h3:not(.zz):not(.zz),
html:lang(th) .gb .wpcf7 label:not(.zz),
html:lang(th) .gb .wpcf7 legend,
html:lang(th) .gb .wpcf7 input[type=submit],
html:lang(th) .paylogos .pl-h:not(.zz):not(.zz),
html:lang(th) .cards.c5 .card h3{letter-spacing:normal}

/* トップの写真の上の文：日本語以外は横書き。左寄り・縦の真ん中より少し下に置き、幅は最大およそ 640px で2行まで。
   スマートフォンは左右 16px の余白で、下の宿泊検索（.bk）と重ならない高さにする。影は base.css の .tate のまま */
html:not(:lang(ja)) .tate{writing-mode:horizontal-tb;white-space:normal;left:7vw;right:auto;top:56%;bottom:auto;transform:translateY(-50%);max-width:min(640px,calc(100% - 14vw));text-align:left;font-size:clamp(26px,3.2vw,44px);letter-spacing:.01em;line-height:1.4;text-wrap:balance}
@media(max-width:900px){
  html:not(:lang(ja)) .tate{left:16px;right:16px;top:42%;max-width:none;font-size:clamp(22px,6.4vw,30px)}
}
