/* 英語版（/en/）専用 — html[lang="en"] のページにだけ効く */
html[lang="en"] body { word-break: normal; overflow-wrap: break-word; }
html[lang="en"] .lang__list a:lang(ja) { font-family: 'Shippori Mincho', "游明朝", "Yu Mincho", serif; }

/* 言語切替をリンク(<a>)にした分。common.css は変更しないため、ここで補う */
.lang__list a {
	display: block; width: 100%; background: none; border: none; cursor: pointer;
	color: var(--text); text-align: center; white-space: nowrap; line-height: 1.2; letter-spacing: 0;
	font-family: 'Shippori Mincho', "游明朝", "Yu Mincho", serif;
	transition: background-color .3s ease, color .3s ease;
	text-decoration: none;
}
.lang__list a:hover { background: var(--soft); }
.lang__list a[aria-current="true"] { color: var(--wine); font-weight: 600; }
.lang__list a:lang(en) { font-family: 'Libre Baskerville', serif; }
.lang__list a:lang(ko) { font-family: "AppleMyungjo", "Batang", "Noto Serif KR", serif; }
@media (min-width: 1001px) {
	.header__lang .lang__list a { padding: 12px 16px; font-size: 14px; }
}
@media (max-width: 1000px) {
	.header__lang .lang__list a, .spmenu__lang .lang__list a { padding: 3.2vw 2.667vw; font-size: 3.733vw; }
}

.lang__list a:lang(zh-Hant) { font-family: "Noto Serif TC", "PMingLiU", serif; }

/* 電話番号・FAXは途中で折り返さない */
html[lang="en"] .accinfo__tel li, html[lang="en"] .accinfo__tel a, html[lang="en"] .cprof__tel dd, html[lang="en"] .footer__tel dd { white-space: nowrap; }
html[lang="en"] .accinfo__tel { flex: none; }
html[lang="en"] .accinfo__row { flex-wrap: wrap; gap: 8px 30px; }

/* スマホ：Language ボタン表示時のヘッダー並び（common.css のコメント「Language復活時は上の行に戻す」に合わせる） */
@media (max-width: 1000px) {
	html[lang="en"] .header__lang, html[lang="en"] .spmenu__lang { margin-left: auto; }
	html[lang="en"] .header__reserve, html[lang="en"] .spmenu__reserve { margin-left: 1.333vw; }
}

/* 英語は「View Accommodation Terms and Conditions」が長いため、ボタンの中で2行に収める */
@media (min-width: 1001px) {
	html[lang="en"] .footer__terms a { height: auto; min-height: 40px; padding: 8px 36px 8px 14px; font-size: 14px; line-height: 1.35; text-align: center; }
}
@media (max-width: 1000px) {
	html[lang="en"] .footer__terms a { height: auto; min-height: 8vw; padding: 1.6vw 7.2vw 1.6vw 2.4vw; line-height: 1.35; text-align: center; }
}

/* 英語はメニューの文字数が多いため、1001〜1299px ではメニューを少し詰める（ロゴと重ならないように） */
@media (min-width: 1001px) and (max-width: 1299px) {
	html[lang="en"] .gnav__list a { padding: 0 0.6vw; font-size: 1.12vw; }
}

/* 英語は両端揃え（justify）だと単語間が大きく空くため左揃えにし、字間も詰める */
:where(html[lang="en"]) p { text-align: left; }
html[lang="en"] .restsec__text, html[lang="en"] .restsub__text, html[lang="en"] .restcard__text,
html[lang="en"] .spot__text, html[lang="en"] .facsec__text, html[lang="en"] .facsec .note, html[lang="en"] .facpart__text {
	text-align: left; letter-spacing: 0.02em; hyphens: manual;
}
html[lang="en"] .rtype__text, html[lang="en"] .feature__text, html[lang="en"] .acccard__text, html[lang="en"] .spot__time { letter-spacing: 0.02em; }
html[lang="en"] .catch { letter-spacing: 0.03em; }
@media (max-width: 1000px) {
	html[lang="en"] .footer__addr { line-height: 1.5; }
}

/* 会社概要の「宿泊約款」ボタン（英語は文言が長い） */
@media (min-width: 1001px) {
	html[lang="en"] .cprof__btn a { width: auto; padding: 0 46px 0 26px; letter-spacing: 0.03em; }
}
@media (max-width: 1000px) {
	html[lang="en"] .cprof__btn a { width: auto; max-width: 86.667vw; height: auto; min-height: 8vw; padding: 1.6vw 8vw 1.6vw 3.2vw; line-height: 1.35; }
}

/* 富岳太鼓の紹介文：英語は1行が長くなりすぎるので幅を絞る */
@media (min-width: 1001px) {
	html[lang="en"] .tperf__text { max-width: 800px; margin-left: auto; margin-right: auto; letter-spacing: 0.02em; }
}

/* PC：横に並ぶカード（周辺観光・客室の案内・ムスリムフレンドリー）の高さをそろえる。周辺観光はボタンを下端にそろえる */
@media (min-width: 1001px) {
	html[lang="en"] .spotlist, html[lang="en"] .rinfo__list, html[lang="en"] .restcard { align-items: stretch; }
	html[lang="en"] .spot, html[lang="en"] .rinfo__list > li, html[lang="en"] .restcard > li { display: flex; flex-direction: column; }
	html[lang="en"] .spot__box, html[lang="en"] .rinfo__box, html[lang="en"] .restcard__box { flex: 1 1 auto; }
	html[lang="en"] .spot__box { display: flex; flex-direction: column; }
	html[lang="en"] .spot__text { flex-grow: 1; }
}

/* 「Reservations」のボタン：文字に対して枠がギリギリなので、英語だけ PCはボタン幅を広げ（その分メニューの間隔を少し詰める）、スマホは文字を少し小さくする（ヘッダーに幅の余裕がないため） */
@media (min-width: 1300px) {
	html[lang="en"] .gnav__list a { padding: 0 8px; }
}
@media (min-width: 1200px) {
	html[lang="en"] .header__reserve { width: 124px; }
}
@media (min-width: 1001px) and (max-width: 1199px) {
	html[lang="en"] .header__reserve { width: 10.333vw; }
}
@media (max-width: 1000px) {
	html[lang="en"] .header__reserve, html[lang="en"] .spmenu__reserve { font-size: 3.2vw; }
}

/* 予約ボタンの文字は必ず中央に（端末のフォントで文字幅が変わっても、改行・左寄りにならないように） */
html[lang="en"] .header__reserve, html[lang="en"] .spmenu__reserve { text-align: center; white-space: nowrap; }
