/* Shared Japanese LP / plan presentation. Keep blue links distinct from red booking actions. */
.op-plan .op-call,.op-plan .om-booking .omb-primary,.op-plan .omb-steps .is-active,.op-plan .omb-months .is-selected,.op-plan .omb-required,.om-lp-plans .om-plan-button,.om-lp-plans .om-plan-card:hover .om-plan-button{background:#D21A1A!important;color:#fff!important}
.op-plan .op-sale-mini,.op-plan .op-sale-saving,.op-plan .op-sale-amount,.op-plan .op-discount,.op-plan .omb-availability,.op-plan .omb-time-choice span:nth-child(2),.op-plan .omb-calendar-key span:first-child,.op-plan .omb-page-nav a:first-child,.om-lp-plans .om-plan-off,.om-lp-plans .om-plan-net strong{color:#D21A1A!important}
.op-plan .omb-months,.op-plan .om-booking-today{border-color:#D21A1A!important}
.op-plan .omb-days .is-selected{box-shadow:inset 0 0 0 2px #D21A1A!important}
.op-plan .omb-days .is-past .omb-availability{color:#ccc!important}
.op-plan .op-sale-badge{background:#fff!important;border:1px solid #D21A1A!important;color:#D21A1A!important;border-radius:2px!important;font-size:11px!important;line-height:1.3!important;padding:3px 5px!important;font-weight:700!important;white-space:nowrap}
.op-plan .op-accordion>summary,.op-plan .op-expand>summary,.op-plan .op-review-reply>summary{color:#367da2!important}
.op-plan .op-price-top.om-price-compact{padding:8px 0 18px!important;margin:0 0 12px!important;border:0!important;border-radius:0!important;background:#fff!important;box-shadow:none!important}
.op-plan .om-price-old{font-size:12px;color:#666;display:block;line-height:1.3}
.op-plan .om-price-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.op-plan .om-price-compact .op-money{font-size:25px!important;color:#333!important;line-height:1.3!important;font-weight:700}
.op-plan .om-price-compact .op-money small{font-size:11px!important;font-weight:400}
.op-plan .om-price-compact .op-included{margin:12px 0 5px!important;font-size:12px;color:#777}
.op-plan .om-price-compact>a{font-size:12px}
.op-plan .op-bottom-price strong{color:#333!important}
.op-plan .op-sale-was{font-size:12px!important}
.om-lp-plans .om-plan-net{display:flex;align-items:baseline;gap:5px;margin:4px 0 12px!important}
.om-lp-plans .om-plan-net strong{font-size:30px!important}
.om-lp-plans .om-plan-off{border:1px solid #D21A1A;padding:2px 5px;border-radius:2px;font-size:12px!important}

/* Same font fallback order as the Activity Japan Japanese plan page. */
.op-plan,.op-plan :is(h1,h2,h3,h4,p,a,button,summary,div,span,small,strong,label,input,select,textarea,dt,dd,figcaption),
#body_wrap.postid-3484 .post_content,#body_wrap.postid-3484 .post_content :is(h1,h2,h3,h4,p,a,button,summary,div,span,small,strong,label,input,select,textarea,dt,dd,figcaption){font-family:Helvetica,"Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3",Meiryo,"メイリオ","MS PGothic","MS UI Gothic",Helvetica,Arial,sans-serif!important}
.op-plan,#body_wrap.postid-3484 .post_content{font-weight:400}
.op-plan h1{line-height:1.4}
.op-plan .op-prose{font-size:14px;line-height:1.65}
.op-plan .om-desc-preview{position:relative;max-height:210px;overflow:hidden;margin:0}
.op-plan .om-desc-preview::after{content:"";position:absolute;inset:auto 0 0;height:90px;background:linear-gradient(to bottom,rgba(255,255,255,0),rgba(255,255,255,.88) 65%,#fff);pointer-events:none}
.op-plan .op-description:has(.op-expand[open]) .om-desc-preview{display:none}
.op-plan .op-description .op-expand>summary{display:block;list-style:none;text-align:center;padding:12px 0;margin:0 0 12px;text-decoration:none;font-weight:400;font-size:14px;border-bottom:1px solid #ddd;color:#367da2}
.op-plan .op-description .op-expand>summary::after{content:" ﹀"}
.op-plan .op-description .op-expand[open]>summary::after{content:" ﹁"}
.op-plan .op-description .op-expand[open]{padding-bottom:10px}

.om-unified-calendar{max-width:600px;margin:0 auto;color:#333;background:#fff;font-size:14px;line-height:1.65}
.om-unified-calendar *{box-sizing:border-box}
.om-unified-calendar .omb-unified-lead{margin:0;padding:16px 15px;font-size:14px;color:#555}
.om-unified-calendar .om-booking{border-top:0;padding-top:8px}
.om-unified-calendar .omb-plan-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:18px 0}
.om-unified-calendar .omb-plan-picker button{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;min-height:82px;padding:10px 3px;border:1px solid #ddd;border-radius:5px;background:white;color:#444;line-height:1.5}
.om-unified-calendar .omb-plan-picker button[aria-pressed=true]{border:2px solid #D21A1A;background:#fff5f5;color:#D21A1A}
.om-unified-calendar .omb-plan-picker strong{font-size:19px}
.om-unified-calendar .omb-plan-picker span{font-size:14px;font-weight:700}
.om-unified-calendar .omb-plan-picker small{font-size:10px;font-weight:400}
.om-unified-calendar .omb-home-link{text-align:center;padding:10px 15px 25px}
.om-unified-calendar .om-booking h2::before,.om-unified-calendar .om-booking h2::after,.om-unified-calendar .om-booking h3::before,.om-unified-calendar .om-booking h3::after{display:none!important}
body:has(.om-unified-calendar) .l-mainContent__inner>.c-pageTitle{font-size:23px;line-height:1.5}
@media(max-width:600px){body:has(.om-unified-calendar) #content{padding-left:0;padding-right:0}body:has(.om-unified-calendar) .c-pageTitle{padding:0 15px}}

/* Shared booking accent across the three plan calendars and unified calendar. */
.op-plan .om-booking{--omb-accent:#2EAFC9}
.op-plan .om-booking .omb-primary,.op-plan .om-booking .omb-steps .is-active,.op-plan .om-booking .omb-months .is-selected,.op-plan .om-booking .omb-required{background:#2EAFC9!important;color:#fff!important}
.op-plan .om-booking .omb-availability,.op-plan .om-booking .omb-time-choice span,.op-plan .om-booking .omb-calendar-key span:first-child,.op-plan .om-booking .omb-week-0,.op-plan .om-booking .omb-week-6,.op-plan .om-booking a,.op-plan .om-booking .omb-change-time,.op-plan .om-booking .omb-change-party,.op-plan .om-booking .omb-counter button{color:#2EAFC9!important}
.op-plan .om-booking .omb-months,.op-plan .om-booking .om-booking-today,.op-plan .om-booking .omb-counter button{border-color:#2EAFC9!important}
.op-plan .om-booking .omb-days .is-selected{box-shadow:inset 0 0 0 2px #2EAFC9!important;background:#eaf8fb!important}
.op-plan .om-booking .omb-plan-picker button[aria-pressed=true]{border-color:#2EAFC9!important;background:#eaf8fb!important;color:#2EAFC9!important}
.op-plan .om-booking .om-booking-today,.op-plan .om-booking .omb-time-choice:hover{background:#f0fafc!important}
.op-plan .om-booking input[type=checkbox],.op-plan .om-booking input[type=radio]{accent-color:#2EAFC9}
.op-plan .om-booking :focus-visible{outline-color:#2EAFC9!important}
.op-plan .om-booking .omb-days .is-past .omb-availability{color:#ccc!important}

/* Time-slot availability and selection link. */
.op-plan .om-booking .omb-time-choice span:nth-child(2){font-weight:700!important}
.op-plan .om-booking .omb-time-choice span:last-child{color:#1A0DAB!important}
