/* Homepage-only MailShare promotions. No page-wide typography or theme changes. */
.hm-banner-slot{padding:22px 0 54px;background:#fff;scroll-margin-top:100px}
.hm-banner-slot *{box-sizing:border-box}
.hm-banner-slot .hm-banner{--hm-ink:#17364d;--hm-blue:#0069aa;display:grid;grid-template-columns:1.16fr 1fr;min-height:320px;overflow:hidden;border:1px solid #d8e5ed;border-radius:8px;background:#f2f8fc;color:var(--hm-ink);text-decoration:none;font:500 18px/1.8 "Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;box-shadow:0 5px 20px #13364a08;isolation:isolate}
.hm-banner-slot .hm-banner:hover{color:var(--hm-ink);text-decoration:none;border-color:#78aeca;box-shadow:0 10px 28px #13364a15}
.hm-banner-slot .hm-banner:focus-visible{outline:3px solid #159ad0;outline-offset:-3px}
.hm-banner-copy{padding:18px 42px 30px;align-self:center;min-width:0;position:relative;z-index:1}
.hm-banner-slot .hm-banner-brand{display:block;width:230px;max-width:100%;height:auto;aspect-ratio:10/3;margin:0 0 0 -5px}
.hm-banner-slot .hm-banner-eyebrow{font-family:inherit;font-size:16px;font-weight:700;line-height:1.7;color:#0069aa;margin:0 0 10px;letter-spacing:.03em}
.hm-banner-slot .hm-banner h2{font-family:inherit;font-size:clamp(28px,2.65vw,38px);font-weight:800;line-height:1.55;letter-spacing:-.035em;color:inherit;margin:0 0 14px;padding:0;background:none;border:0}
.hm-banner-slot .hm-banner h2 em{font:inherit;font-style:normal;color:#0069aa}
.hm-banner-slot .hm-banner-description{font-family:inherit;font-size:16px;font-weight:500;line-height:1.9;color:#456074;margin:0 0 20px}
.hm-banner-cta{display:inline-flex;gap:26px;align-items:center;justify-content:space-between;min-height:46px;padding:8px 18px;background:#0069aa;border:1px solid #0069aa;border-radius:4px;color:#fff;font-size:16px;font-weight:700;line-height:1.7}
.hm-banner-cta>span{font-size:23px;line-height:1}
.hm-banner-photo{position:relative;min-width:0;background:#e3eff5;overflow:hidden}
.hm-banner-photo>img{display:block;width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:50% 35%}
.hm-banner-route{position:absolute;bottom:22px;left:20px;right:20px;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px;padding:12px 10px;background:#fff;color:#163c55;box-shadow:0 4px 14px #13364a12;font-size:16px;font-weight:700;line-height:1.7;border-radius:4px}
.hm-banner-route b{font-weight:500;color:#5490ad}
.hm-banner-slot .hm-banner-price{grid-template-columns:1.3fr 1fr;background:#075c91;color:#fff;border-color:#075c91;min-height:300px}
.hm-banner-slot .hm-banner-price:hover{color:#fff;border-color:#134a70}
.hm-banner-price .hm-banner-copy{padding-block:18px 28px}
.hm-banner-slot .hm-banner-price .hm-banner-eyebrow{color:#d7efff}
.hm-banner-slot .hm-banner-price .hm-banner-description{color:#eff7fc}
.hm-banner-price .hm-banner-cta{background:#fff;border-color:#fff;color:#075c91}
.hm-banner-price-panel{align-self:center;text-align:center;padding:28px 30px;border-left:1px solid #ffffff45;color:#fff;margin:20px 24px 20px 0;min-width:0}
.hm-banner-slot .hm-banner-price-panel p{color:inherit;font-family:inherit;font-size:18px;line-height:1.7;margin:0}
.hm-banner-slot .hm-banner-price-panel .hm-banner-price-people{font-size:25px;font-weight:700}
.hm-banner-slot .hm-banner-price-panel .hm-banner-zero{line-height:1;letter-spacing:-.04em;margin:0 0 10px;font-size:32px;font-weight:700;white-space:nowrap}
.hm-banner-zero strong{font-family:Arial,sans-serif;font-size:112px;font-weight:800;line-height:1.05;color:inherit;margin-right:5px}
.hm-banner-slot .hm-banner-price-panel .hm-banner-price-note{font-size:16px;line-height:1.8;color:#d7efff}
.hm-banner-mobile-br{display:none}
.hm-banner-slot .hm-banner-options{background:#f7fafc;grid-template-columns:1.1fr 1fr;min-height:320px}
.hm-banner-options-art{padding:34px 30px 20px 10px;align-self:center;min-width:0}
.hm-banner-screen{border:1px solid #cddce6;border-radius:6px;background:#fff;box-shadow:0 12px 24px #17364d13;height:190px;overflow:hidden;transform:rotate(-2deg)}
.hm-banner-screen img{display:block;width:100%;height:100%;object-fit:cover;object-position:top}
.hm-banner-option-logos{display:flex;justify-content:center;gap:12px;position:relative;z-index:1;margin:-12px 0 0}
.hm-banner-option-logos>span{display:grid;place-items:center;width:64px;height:64px;padding:5px;background:#fff;border:1px solid #d8e5ed;border-radius:10px;box-shadow:0 4px 12px #17364d0b}
.hm-banner-option-logos img{display:block;width:100%;height:100%;object-fit:contain}
.hm-banner-slot .hm-banner-option-note{font-family:inherit;font-size:16px;text-align:center;line-height:1.7;color:#456074;margin:10px 0 0}
@media(prefers-reduced-motion:no-preference){.hm-banner{transition:border-color .2s,box-shadow .2s}.hm-banner-cta>span{transition:transform .2s}.hm-banner:hover .hm-banner-cta>span{transform:translateX(4px)}}
@media(max-width:991px){.hm-banner-copy{padding:16px 26px 26px}.hm-banner-slot .hm-banner h2{font-size:28px}.hm-banner-slot .hm-banner-description br{display:none}.hm-banner-price-panel{padding-inline:18px;margin-right:10px}.hm-banner-options-art{padding-right:20px}.hm-banner-option-logos{gap:7px}.hm-banner-option-logos>span{width:48px;height:48px}}
@media(max-width:767px){.hm-banner-slot{padding:12px 0 34px;scroll-margin-top:80px}.hm-banner-slot .hm-banner{display:flex;flex-direction:column;min-height:0;border-radius:6px}.hm-banner-copy{padding:12px 22px 24px;align-self:stretch}.hm-banner-slot .hm-banner-brand{width:220px}.hm-banner-slot .hm-banner h2{font-size:28px;line-height:1.6;margin-bottom:12px}.hm-banner-slot .hm-banner-eyebrow{font-size:16px;margin-bottom:8px;letter-spacing:0}.hm-banner-slot .hm-banner-description{font-size:16px;line-height:1.9;margin-bottom:16px}.hm-banner-photo{height:172px;flex:none}.hm-banner-photo>img{object-position:50% 38%}.hm-banner-route{left:12px;right:12px;bottom:12px;padding:8px;gap:9px;font-size:16px}.hm-banner-cta{width:100%;font-size:16px;padding:9px 14px;min-height:48px}.hm-banner-price .hm-banner-copy{padding:12px 22px 22px}.hm-banner-slot .hm-banner-price{display:flex;flex-direction:column-reverse}.hm-banner-price-panel{border-left:0;border-bottom:1px solid #ffffff45;margin:0 22px;padding:24px 0 18px;align-self:stretch}.hm-banner-slot .hm-banner-price-panel .hm-banner-price-people{display:inline-block;vertical-align:baseline;font-size:24px;margin-right:12px}.hm-banner-slot .hm-banner-price-panel .hm-banner-zero{display:inline-block;font-size:28px;margin-bottom:8px}.hm-banner-zero strong{font-size:80px}.hm-banner-slot .hm-banner-price-panel .hm-banner-price-note{display:block;font-size:16px}.hm-banner-mobile-br{display:block}.hm-banner-options-art{padding:0 22px 20px;width:100%}.hm-banner-screen{height:140px;transform:rotate(-1.5deg)}.hm-banner-option-logos{gap:8px}.hm-banner-option-logos>span{width:48px;height:48px;padding:4px}}

/* Six optional apps, including TASKUN. */
.hm-banner-option-logos{gap:8px}.hm-banner-option-logos>span{flex:0 1 58px;min-width:0;height:auto;aspect-ratio:1}.hm-banner-option-logos img{aspect-ratio:1}
@media(max-width:991px){.hm-banner-option-logos{gap:6px}.hm-banner-option-logos>span{flex-basis:46px}}
@media(max-width:767px){.hm-banner-option-logos{display:grid;grid-template-columns:repeat(3,48px);gap:8px}.hm-banner-option-logos>span{width:48px;height:48px;padding:3px}}
