/* Family 'about': /mileage/ /media/ /contact/ /tnc/ /policy/. Tokens come from shell.css. */
.about-fam {color:var(--ink); font-size:1.0625rem; line-height:1.8; overflow-wrap:anywhere;}
.about-fam .clear {display:none;}
.about-fam p {margin:0 0 16px;}
.about-fam a {color:var(--cyan-ink); text-underline-offset:0.2em;}
.about-fam a:hover {color:var(--coral-ink);}
.about-fam span[style*="00a5e0"], .about-fam span[style*="3366ff"], .about-fam span[style*="0000ff"] {color:var(--cyan-ink) !important;}
.about-fam span[style*="003366"] {color:var(--ink) !important;}
.about-fam img {max-width:100%; height:auto;}
.about-fam .j {font-size:0;}
.about-fam .sep {color:var(--muted); opacity:.5;}
.about-fam .img-text {padding:8px 0; margin:0 0 16px; color:var(--muted); background:transparent; font-size:0.8125rem; line-height:1.6; min-width:0;}
.about-fam .img-text p {margin:0; line-height:inherit;}
.about-fam h1 {font-size:clamp(1.9rem,4.4vw,3.2rem); line-height:1.25; font-weight:700; text-wrap:balance; margin:0 0 16px;}
.about-fam h2 {font-size:clamp(1.4rem,2.8vw,2.1rem); line-height:1.35; font-weight:700; text-wrap:balance; margin:0 0 16px;}

/* ---------- mileage ---------- */
.about-fam.mileage-page {padding-bottom:48px;}
.about-fam.mileage-page .mileage-section {position:static; overflow:visible; max-width:none; margin:0;}
.about-fam.mileage-page .desktop {display:block !important; position:static; inset:auto; min-width:0; height:auto;}
.about-fam.mileage-page [id$="-top"] {position:static; width:100%; height:auto; background-image:none !important;}
.about-fam.mileage-page .mileage-photo, .about-fam.mileage-page #mileage-section1-top .mileage-photo {display:block; width:100%; max-width:1662px; height:auto; margin:0 auto; object-fit:contain;}
.about-fam.mileage-page #mileage-section1-top img:not(.mileage-photo) {display:none;}
.about-fam.mileage-page [id$="-bottom"] {position:static; background:var(--white);}
.about-fam.mileage-page [id$="-bottom-inner"] {max-width:60rem; margin:0 auto; padding:48px 16px; font-size:1.0625rem; line-height:1.8;}
.about-fam.mileage-page #mileage-section2-right, .about-fam.mileage-page #mileage-section3-left, .about-fam.mileage-page #mileage-section1-left {float:none; width:auto; min-height:0; margin:0;}
.about-fam.mileage-page [id^="mileage-content"] {margin:0; max-width:42rem;}
.about-fam.mileage-page #mileage-content1 {max-width:none;}
.about-fam.mileage-page #mileage-content1 > p:not(.tl) {max-width:42rem;}
.about-fam.mileage-page [id^="mileage-line"] {order:-1; height:4px; width:64px; margin:0 0 16px; background:var(--cyan);}
.about-fam.mileage-page #mileage-section2-right, .about-fam.mileage-page #mileage-section3-left, .about-fam.mileage-page #mileage-section1-left {display:flex; flex-direction:column;}
.about-fam.mileage-page #mileage-title3, .about-fam.mileage-page #mileage-title2, .about-fam.mileage-page #mileage-title1 {order:0;}
.about-fam.mileage-page h1 {color:var(--cyan-ink) !important; font-size:clamp(1.9rem,4.4vw,3.2rem); line-height:1.25; margin:0 0 8px;}
.about-fam.mileage-page h1 * {color:inherit !important;}
.about-fam.mileage-page h2 {color:var(--ink); margin:0 0 24px;}
.about-fam.mileage-page #mileage-title1 p {color:var(--coral-ink); font-size:1.125rem; font-weight:700; margin:-8px 0 16px;}
.about-fam.mileage-page #mileage-section1 {display:contents;}
.about-fam.mileage-page figure.image-figure {display:flex; flex-direction:column;}
.about-fam.mileage-page figure.image-figure > figcaption {order:1; max-width:60rem; width:100%; margin:0 auto 0; padding:8px 16px 0;}
.about-fam.mileage-page figure.image-figure > #mileage-section1 > .desktop {order:0;}
.about-fam.mileage-page figure.image-figure > #mileage-section1 {display:contents;}
.about-fam.mileage-page #mileage-section1 .desktop {order:0;}
.about-fam.mileage-page #mileage-section1-bottom {order:2;}
.about-fam.mileage-page #mileage-content1 figure {margin:24px 0; max-width:1041px;}
.about-fam.mileage-page #mileage-content1 hr {border:0; height:1px; background:var(--line); margin:0 0 24px;}
.about-fam.mileage-page .tl-head, .about-fam.mileage-page .tl-head * {color:var(--ink) !important; font-family:inherit !important; font-size:clamp(1.4rem,2.8vw,2.1rem) !important; font-weight:700 !important; line-height:1.35;}
.about-fam.mileage-page .tl-head {margin:48px 0 8px;}
.about-fam.mileage-page .tl {max-width:42rem; margin:0; padding:8px 0 8px 4.5em; text-indent:-4.5em; border-bottom:1px solid var(--line);}
.about-fam.mileage-page .tl-cont {text-indent:0; border-bottom:1px solid var(--line);}
.about-fam.mileage-page .tl-y {display:inline-block; min-width:4.5em; text-indent:0; font-weight:700; font-variant-numeric:tabular-nums; color:var(--cyan-ink) !important;}
.about-fam.mileage-page .tl-y, .about-fam.mileage-page .tl-y * {color:var(--cyan-ink) !important;}
.about-fam.mileage-page .cred {font-size:1rem; line-height:1.6;}
.about-fam.mileage-page #mileage-content3 > p:has(u) {margin:48px 0 8px; font-size:1.25rem;}
.about-fam.mileage-page #mileage-content3 > p:has(u) * {color:var(--ink) !important;}
.about-fam.mileage-page #mileage-gallery3 {display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,13.5rem),1fr)); gap:32px 24px; margin:48px 0 0;}
.about-fam.mileage-page .gallery-item {display:block; width:auto; margin:0; min-width:0;}
.about-fam.mileage-page .gallery-item .image-figure > picture > img, .about-fam.mileage-page .gallery-item > picture > img {display:block; width:100%; max-width:600px; height:auto; margin:0 auto;}
.about-fam.mileage-page .gallery-item .img-text {margin:0; padding:8px 0 0;}
.about-fam.mileage-page .gallery-title {text-align:left; font-weight:700; color:var(--cyan-ink); padding-top:8px;}
.about-fam.mileage-page .demo-note {max-width:60rem; margin:0 auto; padding:0 16px;}

/* ---------- media ---------- */
.about-fam.media-page #page-top {display:block; height:auto; min-height:0; padding:0; overflow:visible; background:none;}
.about-fam.media-page #page-top .desktop, .about-fam.media-page #page-top-right-bg {display:none !important;}
.about-fam.media-page #page-top-inner {display:grid; width:100% !important; grid-template-columns:minmax(0,1fr); gap:24px; align-items:center; max-width:75rem; margin:0 auto; padding:48px 16px 32px;}
.about-fam.media-page #page-top-left {display:flex; flex-direction:column; float:none; width:auto !important; max-width:none; grid-row:1;}
.about-fam.media-page #page-top-left-line {order:-1; height:4px; width:64px; margin:0 0 16px; background:var(--cyan);}
.about-fam.media-page #page-top h1.image-transcription {max-width:none; margin:0; padding:0; font-size:clamp(1.9rem,4.4vw,3.2rem); font-weight:700; line-height:1.25; color:var(--ink);}
.about-fam.media-page #page-top-left-desc {margin:0;}
.about-fam.media-page #page-top-right {float:none; width:auto; grid-row:2;}
.about-fam.media-page .video-preview {display:block; aspect-ratio:auto; min-height:0; padding:16px 0; background:transparent; color:var(--cyan-ink) !important; text-align:left; text-decoration:none !important; border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
.about-fam.media-page .video-preview span {display:block;}
.about-fam.media-page .video-title {font-size:1.25rem; font-weight:700; line-height:1.5; text-decoration:underline; text-underline-offset:0.2em;}
.about-fam.media-page .video-preview span + span {font-size:0.875rem; color:var(--muted); margin-top:4px;}
.about-fam.media-page .video-preview:hover .video-title {color:var(--coral-ink);}
.about-fam.media-page #control-bar {background:var(--white); color:var(--ink); padding:0 16px; border-top:1px solid var(--line);}
.about-fam.media-page #control-bar-inner {max-width:75rem; padding:16px 0;}
.about-fam.media-page #display-mode-lable {font-size:0.9375rem; color:var(--muted); margin-right:8px;}
.about-fam.media-page #control-bar-left {gap:8px;}
.about-fam.media-page .switch-mode-btn {display:inline-flex; align-items:center; min-height:44px; width:auto; padding:0 24px; line-height:1.5; border:1px solid var(--line); border-radius:999px; color:var(--muted);}
.about-fam.media-page .actived-mode {border-color:var(--cyan-ink); background:var(--cyan-ink); color:var(--white); font-weight:700;}
.about-fam.media-page #media-container-inner {max-width:75rem; margin:16px auto 64px; gap:48px 24px;}
.about-fam.media-page .media-item-inner {display:block;}
.about-fam.media-page .media-item-top > a {display:block; color:inherit; text-decoration:none;}
.about-fam.media-page .media-item-photo, .about-fam.media-page .media-item-photo .image-figure {display:block;}
.about-fam.media-page .media-picture {max-width:480px;}
.about-fam.media-page .media-item-photo img#img-thumb {width:100%; height:auto; border-radius:12px;}
.about-fam.media-page .media-item-photo .img-text {max-width:480px; padding:8px 0 0; margin:0; font-size:0.75rem; line-height:1.6;}
.about-fam.media-page .media-item-title {margin:0; padding:8px 0 0; font-size:1rem; line-height:1.5; color:var(--cyan-ink); font-weight:700;}
.about-fam.media-page .media-item-title table, .about-fam.media-page .media-item-title tbody {display:block; width:100%;}
.about-fam.media-page .media-item-title tr {display:flex; gap:8px; align-items:flex-start;}
.about-fam.media-page .media-item-title td {display:block; padding:0;}
.about-fam.media-page .media-item-title td:first-child {padding-top:6px; flex:none;}
.about-fam.media-page .media-item-title img {margin:0;}
.about-fam.media-page .media-item-top > a:focus-visible {outline-offset:4px; border-radius:12px;}

/* ---------- contact ---------- */
.about-fam.contact-page #page-top {display:flex; flex-direction:column; height:auto; min-height:0; padding:0; overflow:visible; background:none;}
.about-fam.contact-page #page-top .desktop {display:block !important; order:2; position:static; width:100%;}
.about-fam.contact-page #page-top-right-bg {display:none;}
.about-fam.contact-page #page-top-banners {position:static; width:100%; max-width:1662px; height:auto; margin:0 auto; aspect-ratio:1662/471; background-size:contain; background-position:center; background-repeat:no-repeat;}
.about-fam.contact-page #page-top-inner {order:1; width:100% !important; max-width:60rem; margin:0 auto !important; padding:48px 16px 32px;}
.about-fam.contact-page #page-top-left {display:flex; flex-direction:column; float:none; width:auto !important; max-width:none;}
.about-fam.contact-page #page-top-left-line {order:-1; height:4px; width:64px; margin:0 0 16px; background:var(--cyan);}
.about-fam.contact-page #page-top h1.image-transcription {max-width:none; margin:0 0 32px; padding:0; font-size:clamp(1.9rem,4.4vw,3.2rem); font-weight:700; line-height:1.25; color:var(--ink);}
.about-fam.contact-page #page-top-left-desc {display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr)); gap:0 32px; margin:0; font-size:1rem; line-height:1.8;}
.about-fam.contact-page #page-top-left-desc > p {grid-column:1 / -1; margin:0 0 4px;}
.about-fam.contact-page .branch-item {padding:16px 0; border-top:1px solid var(--line); margin-bottom:16px;}
.about-fam.contact-page .branch-item-title {margin:0 0 4px; font-size:1.125rem; line-height:1.5; color:var(--cyan-ink); font-weight:700;}
.about-fam.contact-page .branch-item-title table, .about-fam.contact-page .branch-item-title tbody {display:block;}
.about-fam.contact-page .branch-item-title tr {display:flex; gap:8px; align-items:center;}
.about-fam.contact-page .branch-item-title td {display:block; padding:0;}
.about-fam.contact-page .branch-item-address {padding:0;}
.about-fam.contact-page span[style*="ffff00"] {background:var(--pink-wash) !important; font-weight:700; padding:0 4px;}
.about-fam.contact-page .excluded-action {max-width:60rem; margin:0 auto; padding:24px 16px 0; color:var(--muted); font-size:0.8125rem; line-height:1.5; font-weight:400;}
.about-fam.contact-page .demo-note {max-width:60rem; margin:0 auto; padding:8px 16px 48px; text-align:left;}

/* ---------- tnc / policy ---------- */
.about-legal .editor {max-width:44rem; min-height:0; margin:0 auto; padding:48px 16px 64px; overflow:visible;}
.about-legal .editor * {font-size:inherit; color:inherit; line-height:inherit;}
.about-legal .editor h1, .about-legal .editor h1 * {font-size:clamp(1.9rem,4.4vw,3.2rem); line-height:1.25; font-weight:700; color:var(--ink) !important; margin:0 0 32px;}
.about-legal .editor h2 {font-size:clamp(1.25rem,2.2vw,1.5rem); line-height:1.4; font-weight:700; color:var(--cyan-ink); margin:48px 0 16px; padding-top:24px; border-top:1px solid var(--line);}
.about-legal .editor h1 + h2 {margin-top:0; border-top:0; padding-top:0;}
.about-legal .editor p {margin:0 0 16px; font-size:1.0625rem; line-height:1.8;}
.about-legal .editor ol, .about-legal .editor ul {margin:0 0 16px; padding-left:2em;}
.about-legal .editor li {margin:0 0 8px; padding-left:4px; font-size:1.0625rem; line-height:1.8;}
.about-legal .editor li::marker {color:var(--cyan-ink); font-weight:700;}
.about-legal .editor strong {font-weight:500;}
.about-legal .editor h1 strong {font-weight:700;}
.about-legal .demo-note {max-width:44rem; margin:0 auto; padding:0 16px 48px; text-align:left;}

@media (min-width:1080px) {
  .about-fam.media-page #page-top-inner {grid-template-columns:minmax(0,1fr) minmax(0,28rem);}
  .about-fam.media-page #page-top-right {grid-row:1; grid-column:2;}
  .about-fam.media-page #page-top-left {grid-column:1;}
}
@media (max-width:700px) {
  .about-fam.mileage-page [id$="-bottom-inner"] {padding:32px 16px;}
  .about-fam.mileage-page .tl {padding-left:4em; text-indent:-4em;}
  .about-fam.mileage-page .tl-y {min-width:4em;}
  .about-fam.mileage-page #mileage-gallery3 {grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 16px;}
  .about-fam.media-page #page-top-inner {padding:32px 16px 24px;}
}
