/* 트리니티 일프로 — 낮은 조명의 룸 위로 사파이어 빛 고리 셋이 매달려 상호를 꿴다.
   고리는 SVG(사진 아님), 발광은 이 고리 한 곳에만 쓴다.
   토큰 이름은 Tailwind theme.extend(colors.tr.*, fontFamily.tr*, fontSize.tr-*)로 그대로 옮긴다. */
/* T107 self-hosted fonts (OFL, subset to this page's glyphs) */
@font-face{font-family:"Orbit";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/orbit-400.woff2") format("woff2")}
@font-face{font-family:"TR Sans";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/tr-sans-400.woff2") format("woff2")}
@font-face{font-family:"TR Sans";font-style:normal;font-weight:500;font-display:swap;src:url("../fonts/tr-sans-500.woff2") format("woff2")}
@font-face{font-family:"TR Sans";font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/tr-sans-600.woff2") format("woff2")}
@font-face{font-family:"TR Sans";font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/tr-sans-700.woff2") format("woff2")}
:root {
  --tr-bg: #07090f;
  --tr-surface: #121a2c;
  --tr-surface-2: #1a2540;
  --tr-sapphire: #3f7be0;      /* 고리·주 버튼 면 */
  --tr-sapphire-ink: #8fb0f2;  /* 어두운 바탕 위 글자용 */
  --tr-ink: #eef2fb;
  --tr-ink-2: #b3bdd3;
  --tr-on-sapphire: #050a18;
  --tr-f-head: "Orbit", "Avenir Next", "Futura", "TR Sans", sans-serif;
  --tr-f-body: "TR Sans","Apple SD Gothic Neo", sans-serif;
  /* 라틴 상호(TRINITY)만: Orbit의 N 글리프가 늘였을 때 「П」로 읽혀 상호 판독용으로 따로 둔다 */
  --tr-f-mark: "Avenir Next", "Futura", "Helvetica Neue", sans-serif;
  --tr-s1: 16px;
  --tr-s2: 20px;
  --tr-s3: 30px;
  --tr-s4: 60px;
  --tr-s5: 128px;
  --tr-r: 16px;
  --tr-pill: 999px;
  --tr-pad: clamp(20px, 5vw, 88px);
  --tr-bar-h: 72px;
  --tr-ease: cubic-bezier(.2, .7, .2, 1);
  /* 실사진 교체: img/hero-wide.webp·hero-tall.webp를 덮어쓰고 초점만 이 두 줄로 맞춘다 */
  --hero-pos: 58% 50%;
  --hero-pos-tall: 50% 0%;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 88px; }
body { margin: 0; background: var(--tr-bg); color: var(--tr-ink); font-family: var(--tr-f-body); font-size: var(--tr-s1); line-height: 1.7; word-break: keep-all; -webkit-font-smoothing: antialiased; }
a { color: inherit; }
h1, h2, h3, p, dl, dd, ol, ul, figure { margin: 0; }
.tr-vh { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.tr-skip { position: absolute; left: 12px; top: -60px; z-index: 90; padding: 12px 18px; border-radius: var(--tr-pill); background: var(--tr-ink); color: var(--tr-bg); text-decoration: none; }
.tr-skip:focus { top: 12px; }
:focus-visible { outline: 3px solid var(--tr-ink); outline-offset: 3px; }

/* 숨김 바: 내리면 숨고 올리면 나타난다. 왼쪽 로고, 가운데 링크, 오른쪽 전화 */
.tr-bar { position: fixed; z-index: 30; inset: 0 0 auto 0; height: var(--tr-bar-h); display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 16px; padding: 0 var(--tr-pad); background: rgba(7, 9, 15, .9); transition: transform .35s var(--tr-ease); }
.tr-bar.is-hidden { transform: translateY(-100%); }
.tr-logo { justify-self: start; display: inline-flex; align-items: center; gap: 10px; min-height: 44px; text-decoration: none; font-family: var(--tr-f-mark); font-weight: 600; font-size: 24px; letter-spacing: .04em; }
.tr-logo small { font-family: var(--tr-f-body); font-weight: 500; font-size: var(--tr-s1); color: var(--tr-ink-2); }
.tr-links { display: flex; gap: 6px; }
.tr-links a { padding: 10px 14px; border-radius: var(--tr-pill); color: var(--tr-ink-2); text-decoration: none; transition: color .2s, background-color .2s; }
.tr-links a:hover { color: var(--tr-ink); background: var(--tr-surface); }
.tr-bar-end { justify-self: end; display: flex; align-items: center; gap: 8px; }
.tr-menu { display: none; position: relative; }
.tr-menu summary { list-style: none; display: grid; place-items: center; width: 48px; height: 48px; border-radius: var(--tr-pill); background: var(--tr-surface-2); cursor: pointer; }
.tr-menu summary::-webkit-details-marker { display: none; }
.tr-menu summary svg { width: 22px; height: 22px; stroke: var(--tr-ink); stroke-width: 2; fill: none; }
.tr-menu-list { position: absolute; right: 0; top: 58px; width: min(80vw, 300px); padding: 10px 22px 14px; border-radius: var(--tr-r); background: var(--tr-surface); box-shadow: 0 24px 60px rgba(0, 0, 0, .6); display: grid; }
.tr-menu-list a { padding: 13px 0; font-size: 18px; font-weight: 600; text-decoration: none; }

.tr-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 54px; padding: 0 28px; border-radius: var(--tr-pill); font-weight: 700; font-size: 17px; text-decoration: none; transition: transform .25s var(--tr-ease), background-color .2s; }
.tr-btn svg { width: 20px; height: 20px; fill: currentColor; flex: none; }
.tr-btn--call { background: var(--tr-sapphire); color: var(--tr-on-sapphire); }
.tr-btn--call:hover { background: var(--tr-sapphire-ink); transform: translateY(-2px); }
.tr-btn--tg { background: var(--tr-surface-2); color: var(--tr-ink); }
.tr-btn--tg:hover { background: #24325a; transform: translateY(-2px); }
.tr-bar .tr-btn--call { min-height: 48px; padding: 0 20px; font-size: 16px; }

/* 첫 화면 */
.tr-hero { position: relative; min-height: max(100svh, 700px); overflow: hidden; isolation: isolate; display: flex; flex-direction: column; justify-content: center; padding: calc(var(--tr-bar-h) + 28px) var(--tr-pad) 48px; }
.tr-hero-photo { position: absolute; inset: 0; z-index: -3; }
.tr-hero-photo img { width: 100%; height: 100%; object-fit: cover; object-position: var(--hero-pos); display: block; filter: saturate(.72); }
.tr-hero::before { content: ""; position: absolute; inset: 0; z-index: -2; background: linear-gradient(90deg, rgba(7, 9, 15, .9) 24%, rgba(7, 9, 15, .15) 70%); }
/* 고리 아래 벽·바닥에 떨어지는 빛 웅덩이: 사진의 낮은 조명과 고리를 한 장면으로 잇는다 */
.tr-hero::after { content: ""; position: absolute; z-index: -1; left: 4%; top: 30%; width: 62%; height: 62%; background: radial-gradient(closest-side, rgba(63, 123, 224, .3), rgba(63, 123, 224, 0)); mix-blend-mode: screen; pointer-events: none; }
.tr-hero-caption { position: absolute; right: var(--tr-pad); bottom: 18px; font-size: 14px; color: var(--tr-ink-2); }

.tr-top { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px; }
.tr-eyebrow { font-size: var(--tr-s2); font-weight: 600; color: var(--tr-sapphire-ink); }
.tr-state { padding: 6px 14px; border-radius: var(--tr-pill); background: var(--tr-surface-2); font-size: var(--tr-s1); font-weight: 600; }

.tr-rings { display: block; width: min(100%, 980px); height: auto; margin-top: 10px; overflow: visible; }
.tr-rings .w { stroke: rgba(180, 200, 240, .35); stroke-width: 1.2; }
.tr-rings .glow { fill: none; stroke: var(--tr-sapphire); stroke-width: 14; opacity: .55; filter: url(#tr-blur); }
.tr-rings .core { fill: none; stroke: #d6e4ff; stroke-width: 3.2; }
.tr-rings text { font-family: var(--tr-f-mark); font-weight: 600; fill: var(--tr-ink); }

.tr-name { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 24px; margin-top: 8px; }
.tr-kind { font-family: var(--tr-f-head); font-weight: 700; font-size: var(--tr-s4); line-height: 1; }
.tr-h1 { font-weight: 600; font-size: clamp(22px, 2.2vw, 30px); line-height: 1.3; }
.tr-where { margin-top: 14px; font-size: var(--tr-s2); color: var(--tr-ink-2); }
.tr-where b { color: var(--tr-ink); font-weight: 600; }
.tr-nw { white-space: nowrap; }
.tr-ctas { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }

/* 절 */
.tr-sec { padding: clamp(88px, 11vw, 168px) var(--tr-pad); }
.tr-sec--tone { background: var(--tr-surface); }
.tr-k { font-family: var(--tr-f-mark); font-weight: 600; font-size: var(--tr-s2); color: var(--tr-sapphire-ink); }
.tr-h2 { margin-top: 10px; font-family: var(--tr-f-head); font-weight: 700; font-size: clamp(36px, 5vw, 76px); line-height: 1.12; letter-spacing: -.01em; }
.tr-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: clamp(16px, 2.4vw, 40px); align-items: end; }
.tr-a { grid-column: 1 / 7; }
.tr-b { grid-column: 7 / 13; }
.tr-lead { margin-top: 18px; max-width: 34em; font-size: var(--tr-s2); color: var(--tr-ink-2); }
.tr-big { font-family: var(--tr-f-head); font-weight: 700; font-size: clamp(88px, 12vw, 200px); line-height: .9; letter-spacing: -.03em; font-variant-numeric: tabular-nums; white-space: nowrap; }
.tr-big small { font-family: var(--tr-f-body); font-size: .2em; letter-spacing: 0; margin-left: .15em; color: var(--tr-ink-2); }
.tr-days { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 8px; padding: 0; list-style: none; }
.tr-days li { display: grid; place-items: center; gap: 2px; padding: 16px 0; border-radius: var(--tr-r); background: var(--tr-surface-2); color: var(--tr-ink-2); }
.tr-days li b { font-size: var(--tr-s2); }
.tr-days li span { font-size: 14px; }
.tr-days li.is-on { background: var(--tr-sapphire); color: var(--tr-on-sapphire); }
.tr-rows { display: grid; gap: 10px; margin-top: 20px; }
.tr-row { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; padding: 20px 24px; border-radius: var(--tr-r); background: var(--tr-surface-2); }
.tr-row dt { color: var(--tr-ink-2); white-space: nowrap; }
.tr-row dd { font-weight: 600; font-size: var(--tr-s2); text-align: right; }
.tr-note { margin-top: 14px; color: var(--tr-ink-2); }
.tr-addr { margin-top: 24px; font-family: var(--tr-f-head); font-weight: 700; font-size: clamp(36px, 5vw, 72px); line-height: 1.1; }
.tr-link { display: inline-flex; align-items: center; min-height: 44px; margin-top: 14px; color: var(--tr-sapphire-ink); text-decoration: underline; text-underline-offset: 6px; }
.tr-map { display: flex; flex-direction: column; align-items: flex-start; gap: 28px; border-radius: var(--tr-r); background: var(--tr-surface-2); padding: 32px 30px; }
.tr-addr-big { font-family: var(--tr-f-head); font-weight: 700; font-size: clamp(28px, 3.4vw, 52px); line-height: 1.25; }
.tr-ask { margin-top: 20px; padding: 22px 24px; border-radius: var(--tr-r); background: var(--tr-surface-2); }
.tr-ask h3 { font-size: var(--tr-s2); }
.tr-ask p { margin-top: 6px; color: var(--tr-ink-2); }

/* 요금: 큰 숫자 먼저 */
.tr-now { margin-top: 28px; font-family: var(--tr-f-head); font-weight: 700; font-size: clamp(60px, 10vw, 168px); line-height: .9; letter-spacing: -.02em; white-space: nowrap; font-variant-numeric: tabular-nums; }
.tr-now small { font-family: var(--tr-f-body); font-size: .26em; margin-left: .12em; }
.tr-was { margin-top: 16px; font-size: var(--tr-s3); font-weight: 600; color: var(--tr-ink-2); text-decoration: line-through; text-decoration-thickness: 2px; }
.tr-tc { display: flex; align-items: baseline; gap: 14px; padding: 26px 28px; border-radius: var(--tr-r); background: var(--tr-surface-2); }
.tr-tc b { font-family: var(--tr-f-head); font-size: clamp(36px, 4vw, 60px); line-height: 1; white-space: nowrap; }

.tr-say { margin-top: 24px; max-width: 18em; font-weight: 600; font-size: clamp(26px, 3.4vw, 48px); line-height: 1.35; }
.tr-say em { font-style: normal; color: var(--tr-sapphire-ink); }
.tr-prose { display: grid; gap: 14px; margin-top: 28px; max-width: 760px; }
.tr-prose p { font-size: 18px; line-height: 1.75; color: var(--tr-ink-2); }
.tr-slot-p { min-height: calc(var(--n, 80) / 40 * 1.7em); border-radius: var(--tr-r); background: rgba(238, 242, 251, .04); }
.tr-slot-line { display: block; min-height: 1.7em; max-width: 24em; border-radius: var(--tr-r); background: rgba(238, 242, 251, .04); }
.tr-facts { display: inline-flex; gap: 14px; margin-top: 32px; padding: 14px 22px; border-radius: var(--tr-pill); background: var(--tr-surface-2); }

.tr-steps { counter-reset: trs; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(12px, 2vw, 28px); margin-top: 44px; padding: 0; list-style: none; }
.tr-steps li { counter-increment: trs; padding: 28px 24px; border-radius: var(--tr-r); background: var(--tr-surface); }
.tr-steps li::before { content: counter(trs) / ""; display: grid; place-items: center; width: 64px; height: 64px; margin-bottom: 18px; border-radius: 50%; background: var(--tr-sapphire); color: var(--tr-on-sapphire); font-family: var(--tr-f-head); font-weight: 700; font-size: 30px; }
.tr-steps h3 { font-size: var(--tr-s2); }
.tr-steps p { margin-top: 8px; color: var(--tr-ink-2); }

.tr-faq { display: grid; gap: 10px; margin-top: 40px; max-width: 1000px; }
.tr-faq details { border-radius: var(--tr-r); background: var(--tr-surface); }
.tr-faq summary { cursor: pointer; list-style: none; display: flex; justify-content: space-between; gap: 16px; padding: 24px 28px; font-weight: 600; font-size: var(--tr-s2); }
.tr-faq summary::-webkit-details-marker { display: none; }
.tr-faq summary::after { content: "+" / ""; color: var(--tr-sapphire-ink); font-size: 26px; line-height: 1; }
.tr-faq details[open] summary::after { content: "\2013" / ""; }
.tr-faq details p { padding: 0 28px 26px; color: var(--tr-ink-2); }

.tr-tel { display: block; margin-top: 24px; font-family: var(--tr-f-head); font-weight: 700; font-size: clamp(44px, 8vw, 128px); line-height: 1; text-decoration: none; white-space: nowrap; }
.tr-contact .tr-ctas { margin-top: 30px; }
.tr-foot { padding: 48px var(--tr-pad) 120px; display: grid; gap: 12px; color: var(--tr-ink-2); }
.tr-foot b { display: inline-grid; place-items: center; width: 30px; height: 30px; margin-right: 10px; border-radius: 50%; background: var(--tr-sapphire); color: var(--tr-on-sapphire); font-size: 14px; }
.tr-foot summary { cursor: pointer; padding: 10px 0; }
.tr-foot dl { display: grid; gap: 4px; }
.tr-foot dd { overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }

.tr-dock { position: fixed; z-index: 40; left: 12px; right: 12px; bottom: 12px; display: none; gap: 8px; padding: 8px; border-radius: var(--tr-pill); background: var(--tr-surface); box-shadow: 0 16px 40px rgba(0, 0, 0, .6); transform: translateY(140%); transition: transform .35s var(--tr-ease); }
.tr-dock.is-on { transform: none; }
.tr-dock .tr-btn { flex: 1; min-height: 50px; padding: 0 12px; }

@media (max-width: 1100px) {
  .tr-links a { padding: 10px 9px; }
  .tr-hero::before { background: linear-gradient(90deg, rgba(7, 9, 15, .92) 46%, rgba(7, 9, 15, .3) 92%); }
}
@media (max-width: 960px) {
  .tr-bar { grid-template-columns: 1fr auto; }
  .tr-links { display: none; }
  .tr-menu { display: block; }
  .tr-grid { grid-template-columns: minmax(0, 1fr); row-gap: 36px; }
  .tr-a, .tr-b { grid-column: 1; }
  .tr-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  :root { --tr-bar-h: 64px; }
  .tr-bar { padding: 0 14px; }
  .tr-logo small { display: none; }
  .tr-bar .tr-btn--call { padding: 0 16px; }
  .tr-bar .tr-btn--call span { display: none; }
  /* 390 첫 화면: 룸 사진(소파·백바)은 위 55%, 글자는 아래 45% */
  .tr-hero { justify-content: flex-end; min-height: 100svh; padding: 0 20px 24px; }
  .tr-hero-photo img { object-position: var(--hero-pos-tall); }
  .tr-hero::before { background: linear-gradient(0deg, rgba(7, 9, 15, .95) 44%, rgba(7, 9, 15, 0) 64%); }
  .tr-hero::after { left: -10%; top: 46%; width: 120%; height: 40%; }
  .tr-hero-caption { top: 76px; bottom: auto; right: 16px; }
  .tr-eyebrow { font-size: var(--tr-s1); }
  .tr-state { padding: 4px 12px; }
  .tr-rings { margin-top: 4px; }
  .tr-kind { font-size: 44px; }
  .tr-h1 { font-size: 20px; }
  .tr-where { margin-top: 8px; font-size: var(--tr-s1); }
  .tr-ctas { margin-top: 16px; display: grid; grid-template-columns: 1.4fr 1fr; }
  .tr-ctas .tr-btn { min-height: 52px; padding: 0 12px; }
  .tr-steps { grid-template-columns: minmax(0, 1fr); }
  .tr-dock { display: flex; }
  .tr-now { font-size: 14vw; }
  .tr-big { font-size: 22vw; }
  .tr-tel { font-size: 11vw; }
  .tr-days li span { display: none; }
  .tr-row { flex-direction: column; gap: 2px; padding: 16px 20px; }
  .tr-row dd { text-align: left; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation: none !important; transition: none !important; } }

/* 404 */
.tr-nf{min-height:100vh;min-height:100svh;display:grid;align-content:center;justify-items:start;gap:24px;padding:56px var(--tr-pad)}
.tr-nf-mark{margin:0;font-family:var(--tr-f-mark);font-weight:600;letter-spacing:.04em;color:var(--tr-ink);font-size:clamp(64px,15vw,232px);line-height:.9;white-space:nowrap}
.tr-nf-h1{margin:0;font-family:var(--tr-f-body);font-weight:600;font-size:clamp(22px,2.6vw,36px);line-height:1.3;color:var(--tr-ink)}
.tr-nf-acts{display:flex;flex-wrap:wrap;align-items:center;gap:10px 24px}
.tr-nf-home{display:inline-flex;align-items:center;min-height:44px;color:var(--tr-ink-2);text-underline-offset:6px}
.tr-nf-home:hover{color:var(--tr-ink)}

/* provenance (원본 검증 블록) */
.tr-prov{margin:28px 0 0;padding-top:24px;background:linear-gradient(var(--tr-ink-2),var(--tr-ink-2)) top/100% 1px no-repeat;font-family:-apple-system,"Apple SD Gothic Neo","Noto Sans KR","Malgun Gothic",system-ui,sans-serif;font-size:16px;line-height:1.6}
.tr-prov-line{margin:0 0 12px;font-size:16px;color:var(--tr-ink)}
.tr-prov-btns{display:flex;flex-wrap:wrap;gap:8px 14px}
.tr-prov-b{display:inline-flex;align-items:center;min-height:44px;margin-block:-6px;padding:0 4px;color:var(--tr-sapphire-ink);font-weight:700;font-size:16px;text-decoration:underline;text-underline-offset:5px}
.tr-prov-d summary{cursor:pointer;color:var(--tr-ink-2);font-size:16px;padding:8px 0;min-height:44px;display:flex;align-items:center}
.tr-prov-hash,.tr-prov-lh{margin:8px 0 0;font-size:16px;color:var(--tr-ink);overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.tr-prov-log{margin:4px 0 0;padding-left:20px;font-size:16px;color:var(--tr-ink);overflow-wrap:anywhere}

/* T110 i18n: language switch, sister links, ja/zh system CJK, per-language system faces */
.tr-bar-end .tr-lang{display:flex;align-items:center;gap:2px;font-family:system-ui,sans-serif}
.tr-lang a{display:flex;align-items:center;min-height:44px;padding:0 8px;border-radius:var(--tr-pill);color:var(--tr-ink-2);text-decoration:none;font-size:15px;white-space:nowrap}
.tr-lang a:hover{color:var(--tr-ink);background:var(--tr-surface)}
.tr-lang a[aria-current="page"]{color:var(--tr-ink);font-weight:700;text-decoration:underline;text-decoration-color:var(--tr-sapphire);text-underline-offset:6px;text-decoration-thickness:2px}
.tr-lang-m{display:none;position:relative;font-family:system-ui,sans-serif}
.tr-lang-m summary{list-style:none;display:flex;align-items:center;gap:2px;min-height:48px;padding:0 10px 0 14px;border-radius:var(--tr-pill);background:var(--tr-surface-2);cursor:pointer;font-weight:700;font-size:15px;color:var(--tr-ink)}
.tr-lang-m summary::-webkit-details-marker{display:none}
.tr-lang-m summary svg{flex:none}
.tr-lang-m ul{position:absolute;right:0;top:58px;z-index:50;min-width:160px;margin:0;padding:6px;list-style:none;background:var(--tr-surface);border-radius:var(--tr-r)}
.tr-lang-m ul a{display:flex;align-items:center;min-height:44px;padding:0 14px;border-radius:10px;color:var(--tr-ink);text-decoration:none;font-size:16px}
.tr-lang-m ul a:hover{background:var(--tr-surface-2)}
.tr-lang-m ul a[aria-current="page"]{color:var(--tr-sapphire-ink);font-weight:700}
.tr-sites{padding:56px var(--tr-pad) 0;font-family:system-ui,sans-serif}
.tr-sites-h{font-size:19px;font-weight:700;line-height:1.4;color:var(--tr-ink)}
.tr-sites-list{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:4px 24px}
.tr-sites-list a{display:inline-block;padding:10px 0;line-height:1.5;font-size:16px;font-weight:600;color:var(--tr-sapphire-ink);text-underline-offset:5px;overflow-wrap:anywhere}
.tr-addr-big small{display:block;margin-top:12px;font-family:var(--tr-f-body);font-size:18px;font-weight:600;line-height:1.5;color:var(--tr-ink-2)}
html[lang="en"] .tr-prov{font-family:system-ui,-apple-system,"Segoe UI",sans-serif}
html[lang="ja"]{--tr-f-body:"Hiragino Sans","Yu Gothic",system-ui,sans-serif;--tr-f-head:"Hiragino Sans","Yu Gothic",system-ui,sans-serif}
html[lang="zh-Hans"]{--tr-f-body:"PingFang SC","Microsoft YaHei",system-ui,sans-serif;--tr-f-head:"PingFang SC","Microsoft YaHei",system-ui,sans-serif}
html[lang="ja"] .tr-prov{font-family:"Hiragino Sans","Yu Gothic",system-ui,sans-serif}
html[lang="zh-Hans"] .tr-prov{font-family:"PingFang SC","Microsoft YaHei",system-ui,sans-serif}
html[lang="ja"] body,html[lang="zh-Hans"] body{word-break:normal;line-break:strict}
html[lang="ja"] .tr-big,html[lang="ja"] .tr-now,html[lang="ja"] .tr-tel,html[lang="zh-Hans"] .tr-big,html[lang="zh-Hans"] .tr-now,html[lang="zh-Hans"] .tr-tel{font-family:"Orbit","Avenir Next",sans-serif}
html[lang="ja"] .tr-tel .tr-vh,html[lang="zh-Hans"] .tr-tel .tr-vh{font-family:var(--tr-f-body)}
html[lang="en"] .tr-kind,html[lang="zh-Hans"] .tr-kind{font-family:var(--tr-f-mark);font-weight:600}
.tr-facts{flex-wrap:wrap}
.tr-row dd{min-width:0;overflow-wrap:anywhere;overflow-x:clip}
.tr-tc{flex-wrap:wrap}
@media (max-width:1240px){html[lang="en"] .tr-bar{grid-template-columns:1fr auto}html[lang="en"] .tr-links{display:none}html[lang="en"] .tr-menu{display:block}}
@media (max-width:1100px){html[lang="ja"] .tr-bar,html[lang="zh-Hans"] .tr-bar{grid-template-columns:1fr auto}html[lang="ja"] .tr-links,html[lang="zh-Hans"] .tr-links{display:none}html[lang="ja"] .tr-menu,html[lang="zh-Hans"] .tr-menu{display:block}}
@media (max-width:700px){.tr-bar-end .tr-lang{display:none}.tr-lang-m{display:block}.tr-bar{gap:10px}.tr-bar-end{gap:6px}.tr-lang-m summary{padding:0 6px 0 10px}}
@media (max-width:700px){html[lang="ja"] .tr-tc b,html[lang="zh-Hans"] .tr-tc b{font-size:28px}}
@media (max-width:380px){.tr-logo{font-size:20px}.tr-tc{padding:22px 20px}}
