/* Sugito Taxi: original mascots, payment visibility and footer spacing. */
.st-brand-a .st-footer .st-footer__txt { margin:0 !important; padding-bottom:28px !important; border-bottom:2px dashed var(--st-navy,#10275a) !important; }
.st-brand-a .st-footer .st-footer__nav { margin-top:20px !important; border:0 !important; }
.st-brand-a .st-footer .st-footer__nav .st-footer__cell { margin:0 !important; padding:28px 0 !important; border:0 !important; border-bottom:2px dashed var(--st-navy,#10275a) !important; }
.st-brand-a .st-footer .st-footer__nav .st-footer__parent { margin:0 !important; line-height:1.6 !important; }
.st-brand-a .st-footer .st-footer__parent a,.st-brand-a .st-footer .st-footer__parent button { padding:0 !important; font-size:clamp(16px,1.25vw,20px) !important; line-height:1.6 !important; align-items:flex-start; }
.st-brand-a .st-footer .st-footer__parent a::before,.st-brand-a .st-footer .st-footer__parent button::before { flex-shrink:0; width:7px; height:7px; margin:11px 10px 0 0; }
.st-brand-a .st-footer .st-footer__parent button { align-items:center; min-height:44px; }
.st-brand-a .st-footer .st-footer__parent button::before { margin-top:0; }
.st-brand-a .st-footer .st-footer__cell.-column { grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; padding-right:0 !important; }
.st-brand-a .st-footer .st-footer__cell.-column ul { align-content:start; gap:18px; }
.st-brand-a .st-footer .st-footer__children ul { padding:20px 0 0 !important; gap:8px; }
.st-brand-a .st-footer .st-footer__address { margin-top:32px !important; }
.st-members__people.st-members__people--fullbody { display:block !important; min-height:0 !important; padding:0 !important; overflow:visible !important; }
.st-members__people.st-members__people--fullbody::before { display:none !important; }
.st-members__people.st-members__people--fullbody img { display:block !important; width:100% !important; height:auto !important; max-width:760px; margin:auto; object-fit:contain !important; border:0 !important; border-radius:0 !important; filter:none !important; }
.st-community-watch-mascot { position:relative; width:180px; max-width:45%; margin:24px 0 0; filter:none !important; box-shadow:none !important; }
.st-community-watch-mascot img { display:block; width:100%; height:auto; filter:none !important; box-shadow:none !important; }
.st-fare-intro { display:grid; grid-template-columns:minmax(0,1fr) 280px; gap:40px; align-items:center; margin-bottom:48px; }
.st-fare-intro .st-head2 { margin-bottom:0 !important; }
.st-fare-sign { position:relative; margin:0; width:280px; justify-self:end; }
.st-fare-sign img { display:block; width:100%; height:auto; filter:none !important; }
.st-pay { align-items:stretch; }
.st-pay .st-pay__group { min-width:0; padding:28px !important; clip-path:none !important; border-radius:18px; }
.st-pay .st-pay__group h3 { margin:0; font-size:22px; line-height:1.5; }
.st-pay .st-pay__group .st-payment-logos { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:20px; }
.st-pay .st-payment-logos li { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; min-height:116px; border:1px solid #dce2eb; border-radius:10px; padding:16px 12px; background:#fff; }
.st-pay .st-payment-logos img { display:block; width:100%; max-width:112px; height:54px; object-fit:contain; }
.st-pay .st-payment-logos span { font-size:13px; line-height:1.5; text-align:center; }
.st-payment-more { margin-top:16px; font-size:14px; line-height:1.6; color:#566784; }
.st-ticket-summary { display:flex; align-items:center; gap:20px; margin-top:28px; }
.st-ticket-summary svg { width:80px; flex-shrink:0; }
.st-ticket-summary p { display:grid; gap:12px; }
.st-ticket-summary b { font-size:28px; color:#10275a; }
.st-ticket-summary span { font-size:16px; line-height:1.7; }
.st-original-crew { margin:48px auto 0; max-width:1100px; }
.st-original-crew__lead { display:grid; gap:8px; text-align:center; font-size:16px; font-weight:700; line-height:1.7; }
.st-original-crew__lead span { font-family:var(--sub-en); font-size:22px; font-weight:800; color:var(--sub-yellow); letter-spacing:.1em; }
.st-original-crew__row { display:flex; justify-content:center; align-items:flex-end; gap:24px; list-style:none; padding:0; margin:28px 0 0; }
.st-original-crew__row li { min-width:0; flex:1 1 0; }
.st-original-crew__row img { display:block; width:100%; height:220px; object-fit:contain; object-position:center bottom; filter:none; }
@media(max-width:1023px) {
 .st-brand-a .st-footer .st-footer__cell.-column { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .st-fare-intro { grid-template-columns:minmax(0,1fr) 220px; gap:24px; }
 .st-fare-sign { width:220px; }
 .st-members__people.st-members__people--fullbody { width:100%; margin-top:24px; }
 .st-original-crew__row { gap:14px; }
 .st-original-crew__row img { height:170px; }
}
@media(max-width:600px) {
 .st-brand-a .st-footer .st-footer__txt { padding-bottom:24px !important; }
 .st-brand-a .st-footer .st-footer__nav { margin-top:8px !important; }
 .st-brand-a .st-footer .st-footer__nav .st-footer__cell { padding:24px 0 !important; }
 .st-brand-a .st-footer .st-footer__cell.-column { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 16px; }
 .st-brand-a .st-footer .st-footer__parent a,.st-brand-a .st-footer .st-footer__parent button { font-size:16px !important; }
 .st-brand-a .st-footer .st-footer__cell.-column ul { gap:16px; }
 .st-brand-a .st-footer .st-footer__parent a::before { width:6px; height:6px; margin:10px 8px 0 0; }
 .st-fare-intro { grid-template-columns:1fr; gap:24px; margin-bottom:32px; }
 .st-fare-sign { width:190px; justify-self:center; }
 .st-community-watch-mascot { width:160px; max-width:55%; margin-top:24px; }
 .st-pay .st-pay__group { padding:24px 20px !important; }
 .st-pay .st-pay__group h3 { font-size:20px; }
 .st-pay .st-pay__group .st-payment-logos { gap:10px; margin-top:16px; }
 .st-pay .st-payment-logos li { min-height:110px; padding:14px 8px; }
 .st-pay .st-payment-logos img { max-width:100px; height:48px; }
 .st-pay .st-payment-logos span { font-size:12px; }
 .st-ticket-summary { gap:16px; }
 .st-ticket-summary svg { width:64px; }
 .st-ticket-summary b { font-size:24px; }
 .st-ticket-summary span { font-size:14px; }
 .st-original-crew__row { gap:6px; margin-top:20px; }
 .st-original-crew__row img { height:95px; }
 .st-original-crew__lead { font-size:14px; }
}

/* Square area cards and plain founding-year display. */
.st-brand-a .top-area .st-area-card > .st-area-card__link { display:flex !important; flex-direction:column !important; height:auto !important; aspect-ratio:auto !important; border:1px solid #dce2eb !important; border-radius:0 !important; clip-path:none !important; overflow:hidden !important; background:#fff !important; }
.st-brand-a .top-area .st-area-card .st-area-card__figure { position:relative !important; inset:auto !important; width:100% !important; height:auto !important; aspect-ratio:4/3 !important; border-radius:0 !important; }
.st-brand-a .top-area .st-area-card .st-area-card__contents { position:relative !important; inset:auto !important; width:100% !important; height:auto !important; margin:0 !important; padding:0 !important; }
.st-brand-a .top-area .st-area-card .st-area-card__contents__inner { padding:0 !important; }
.st-brand-a .top-area .st-area-card .st-area-card__txts { margin:0 !important; padding:0 !important; border:0 !important; border-radius:0 !important; box-shadow:none !important; }
.st-brand-a .top-area .st-area-card .st-area-card__title { margin:0 !important; padding:18px 16px !important; font-size:clamp(22px,2.4vw,32px) !important; line-height:1.4 !important; }
.st-brand-a .top-area .st-area-card .st-area-card__meta { margin:0 !important; padding:14px 10px !important; border-radius:0 !important; font-size:14px !important; line-height:1.6 !important; }
.st-brand-a .top-area .st-area-card .st-area-card__meta li { min-width:0 !important; }
.st-brand-a .top-history .st-history-age { align-items:baseline; gap:12px; }
.st-brand-a .top-history .st-history-age [data-founded-year] { background:none !important; color:#10275a !important; clip-path:none !important; padding:0 !important; border-radius:0 !important; box-shadow:none !important; font-size:clamp(64px,7.5vw,100px); line-height:1; }
.st-brand-a .top-history .st-history-age__label,.st-brand-a .top-history .st-history-age__unit { font-size:clamp(24px,3vw,36px); line-height:1.4; }
/* Recruitment shares the current homepage hero video. */
.recruit-video-hero { position:relative; height:100svh; min-height:560px; max-height:1000px; isolation:isolate; overflow:hidden; background:#10275a; }
.recruit-video-hero__video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.recruit-video-hero::after { content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(180deg,rgba(7,25,58,.18),rgba(7,25,58,.58)); pointer-events:none; }
.recruit-video-hero__content { position:relative; z-index:2; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:24px; width:100%; height:100%; padding:150px 24px 72px; color:#fff; text-align:center; }
.recruit-video-hero__eyebrow { margin:0; font-size:18px; font-weight:700; letter-spacing:.16em; }
.recruit-video-hero #recruitHeroTitle { margin:0; color:#fff; font-size:clamp(44px,6vw,84px); font-weight:900; line-height:1.25; text-shadow:0 2px 12px rgba(0,0,0,.2); }
.recruit-video-hero__lead { margin:0; font-size:clamp(18px,2vw,26px); font-weight:700; line-height:1.7; }
.recruit-video-hero__cta { display:inline-flex; align-items:center; justify-content:center; gap:36px; min-height:60px; margin-top:8px; padding:18px 28px; border:2px solid #fff; background:#fff; color:#10275a; font-size:18px; font-weight:700; line-height:1.5; }
.recruit-video-hero__cta:hover { background:#fff3c2; }
.recruit-video-hero__cta:focus-visible { outline:3px solid #f5c94e; outline-offset:5px; }
#requirements { scroll-margin-top:150px; }
.recruit-entry-mascot { position:relative; width:200px; max-width:60%; margin:36px auto 0; filter:none !important; box-shadow:none !important; }
.recruit-entry-mascot img { display:block; width:100%; height:auto; filter:none !important; box-shadow:none !important; }
@media(max-width:600px) {
 .st-brand-a .top-area .st-area-card .st-area-card__title { padding:16px 14px; font-size:24px; }
 .st-brand-a .top-area .st-area-card .st-area-card__meta { padding:12px 8px; font-size:12px; }
 .st-brand-a .top-history .st-history-age { gap:10px; }
 .recruit-video-hero { min-height:540px; max-height:none; }
 .recruit-video-hero__content { padding:105px 24px 48px; gap:20px; }
 .recruit-video-hero__eyebrow { font-size:14px; }
 .recruit-video-hero__lead { max-width:290px; }
 .recruit-video-hero__cta { font-size:16px; padding:16px 24px; }
 #requirements { scroll-margin-top:100px; }
 .recruit-entry-mascot { width:170px; }
}

.st-brand-a .top-area .st-area-card > .st-area-card__link { aspect-ratio:auto !important; height:auto !important; }
.st-brand-a .top-area .st-area-card .st-area-card__figure { flex:0 0 auto; }
.st-brand-a .top-area .st-area-card .st-area-card__contents { flex:0 0 auto; }
.st-brand-a .top-area .st-area-card .st-area-card__meta span { font-size:14px !important; }
.st-recruit-video-page .st-header__logo { padding:10px; border-radius:8px; background:rgba(255,255,255,.95); }
@media(max-width:600px) { .st-brand-a .top-area .st-area-card .st-area-card__meta span { font-size:12px !important; } .st-recruit-video-page .st-header__logo { padding:6px; } }

.st-brand-a .top-area .st-area-card .st-area-card__figure { z-index:0 !important; }
.st-brand-a .top-area .st-area-card .st-area-card__contents { z-index:1 !important; }

.st-brand-a .top-area .top-area__arrows button { display:flex; align-items:center; justify-content:center; width:48px; height:48px; padding:0; border:2px solid #10275a; border-radius:50%; background:#fff; color:#10275a; }
.st-brand-a .top-area .top-area__arrows button i { display:none; }
.st-brand-a .top-area .top-area__arrows button::before { content:"→"; font-size:26px; font-weight:700; line-height:1; }
.st-brand-a .top-area .top-area__arrows button:first-child::before { content:"←"; }
.st-brand-a .top-area .top-area__button { width:calc(100% - 40px); max-width:540px; margin-left:auto; margin-right:auto; }
.st-brand-a .top-area .top-area__button > a { clip-path:none !important; border-radius:0 !important; padding:18px 24px !important; }
.st-brand-a .top-area .top-area__button .st-btn__txt { display:flex; align-items:center; justify-content:center; gap:16px; }
.st-brand-a .top-area .top-area__button .st-btn__en { white-space:nowrap; font-size:clamp(22px,2.4vw,32px); }
.st-brand-a .top-area .top-area__button .st-btn__ja { font-size:14px; line-height:1.5; }
@media(max-width:600px) { .st-brand-a .top-area .top-area__button .st-btn__txt { flex-direction:column; gap:6px; } .st-brand-a .top-area .top-area__button .st-btn__ja { font-size:13px; } }

.st-brand-a .top-area .top-area__items::before { content:none !important; display:none !important; }

/* Carry the contact photograph into the diagonal boundary instead of a white wedge. */
.st-cross:has(+ .st-ct-bg) { --st-photo-edge:9rem; z-index:2; }
.st-cross:has(+ .st-ct-bg) .st-slope { background-color:transparent !important; }
.st-cross + .st-block.st-ct-bg { margin-top:-9rem; padding-top:21rem; }
.st-cross + .st-block.-tight.st-ct-bg { padding-top:18rem; }
.page-area .st-dir__photo { clip-path:none !important; border-radius:0 !important; }
.page-area .st-dir__photo img { display:block; width:100%; height:auto; }
@media(max-width:1023px) {
 .st-cross + .st-block.st-ct-bg { margin-top:-5rem; padding-top:12rem; }
 .st-cross + .st-block.-tight.st-ct-bg { padding-top:10.4rem; }
}

/* A tall phone section must be covered vertically as well as horizontally. */
@media(max-width:767px) {
 .st-cross + .st-ct-bg::before { background-size:cover; }
}
