.plancard .plantitle{font-size:19px}
.plancountdown{position:relative;overflow:hidden;padding:12px 15px;min-height:94px}
.plancountdown::after{content:"";position:absolute;right:-32px;top:calc(50% + 18px);width:124px;height:124px;background:var(--native-countdown-character,url('/native-countdown-character.svg')) center/contain no-repeat;transform:translateY(-50%) rotate(16deg);pointer-events:none}

.ticketissueactions .btn{border-radius:12px}
.planvenue::after{border-radius:5px}
.plancard .ticketmenu{background:#fff;color:#25272c;border-color:#dedede;border-radius:12px;overflow:hidden}
.plancard .ticketmenu button{color:#25272c;border-radius:7px}
.plancard .ticketmenu button+button{border-top-color:#e6e6e6}
/* 文字色を維持し、用紙の外枠と区切り線だけを少し淡くする。 */
.plancard{--native-ticket-rule:color-mix(in srgb,var(--ticket-ink) 60%,var(--ticket-bg) 40%)}
.plancard :is(.ticketinner,.planhead,.planthumbnail,.planhero,.plandate,.plandatedivider,.plandateyear,.plandateweekday,.planoshis,.planvenue,.planmemo,.planactions),
.plancard .planfacts .planline+.planline{border-color:var(--native-ticket-rule)}
/* User's A/B design: controls outside the rounded ticket content. */
.plancard>.planhead{height:38px;padding:0 2px 10px;border:0;gap:10px;overflow:visible}
.plancard>.planhead .planserial{font-size:11px;letter-spacing:.12em}
.plancard .ticketinner{border-radius:15px}
.plancard .planthumbnail{border:0;aspect-ratio:2/1}
.plancard .planhero{display:block;padding:11px 10px 12px}
.plancard .plandate{min-height:0;padding:0;border:0;flex-direction:row;justify-content:flex-start;gap:7px}
.plancard .plandatebody{display:flex;align-items:center;position:static;width:auto;height:auto}
.plancard .plandatemonth,.plancard .plandateday{position:static;width:auto;font:800 19px/1.15 -apple-system,BlinkMacSystemFont,"Helvetica Neue",sans-serif;letter-spacing:-.04em;-webkit-text-stroke:0}
.plancard .plandatedivider{position:static;width:auto;border:0;transform:none;font-style:normal;font:700 19px/1.15 -apple-system,sans-serif}
.plancard .plandatedivider:before{content:"/";margin:0 1px}
.plancard .plandatemeta{display:flex;align-items:center;gap:5px;width:auto;margin:0}
.plancard .plandateyear,.plancard .plandateweekday{height:17px;padding:0 7px;font:750 13px/1 -apple-system,BlinkMacSystemFont,"Helvetica Neue",sans-serif;overflow:visible}
.plancard .plandateweekday{order:-1}
.plancard .planwho,.plancard .planwho.no-oshi{display:block;text-align:left}
.plancard .plantitle,.plancard .planwho.no-oshi .plantitle,.plancard .planwho.no-oshi.title-multiline .plantitle{display:block;padding:7px 0 0;margin:0;font-size:18px;line-height:1.4;text-align:left}
.plancard .planoshis{min-height:0;padding:5px 0 0;border:0;gap:7px;font-size:13px;line-height:1.5;align-items:center}
.plancard .planheart{width:16px;height:16px;flex:0 0 16px;align-self:center}
.plancard .planoshis span{min-width:0}
.plancard .planvenue{padding:10px 10px 13px;min-height:58px;grid-template-columns:18px minmax(0,1fr);gap:7px}
.plancard .planvenuepin{width:17px;height:29px;align-self:center}
.plancard .planvenue b{font-size:15px;line-height:1.4}
.plancard .planvenue b:last-child{padding-right:0;padding-bottom:15px}
.plancard .planvenue small{font-size:10px;margin-top:3px;padding-right:68px}
.plancard .planvenue:after{right:0;bottom:0;min-height:22px;padding:0 10px;border:0;border-radius:10px 0 0 0;font-size:10px}
.plancard .planfacts{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:0;padding:8px 10px}
.plancard .planfacts .planline{min-height:0;padding:0;border:0!important;display:flex;flex-direction:row;justify-content:flex-start;align-items:baseline;gap:3px;font-size:14px;line-height:1.6;text-align:left}
.plancard .planfacts .planseat{width:100%}
.plancard .planfacts .pk{position:static;font-size:14px;font-weight:750;letter-spacing:.015em;margin:0;text-align:left}
.plancard .planfacts .pk:after{content:"-"}
.plancard .planfacts .planline b,.plancard .planseatvalue{width:auto;font-size:14px!important;line-height:1.6;font-weight:750;text-align:left}
.plancard .plantime-open+.plantime-start:before{content:"/";padding:0 5px;font-weight:600}
.plancard .planmemo{padding:9px 10px 11px;text-align:left;font-size:12px;line-height:1.6}
.plancard .planmemo .pk{text-align:left;font-size:14px;letter-spacing:.015em;font-weight:700;margin-bottom:2px}
.plancard .planactions a.ticket{border:0;border-radius:0;min-height:43px;display:flex;justify-content:center;align-items:center;font-size:16px;font-weight:750}

.plancard{background:linear-gradient(var(--ticket-bg) 0 0) 0 21px/100% calc(100% - 42px) no-repeat;filter:none}
.plancard>.ticketedge{height:22px}
.plancard>.ticketedge.bottom{clip-path:none}

@font-face{font-family:"Barlow Ticket";src:url('/fonts/Barlow-Bold.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap;unicode-range:U+0000-024F,U+2000-206F}
.plancard :is(.plandatemonth,.plandateday,.plandatedivider,.plandateyear,.plandateweekday),
.plancard .planfacts :is(.pk,b),.plancard .planmemo .pk{font-family:"Barlow Ticket",-apple-system,BlinkMacSystemFont,"Hiragino Sans",sans-serif;font-weight:700;font-synthesis:none;font-kerning:normal}
.plancard .plandatemonth,.plancard .plandateday{letter-spacing:0}
.plancard .plandatedivider:before{margin:0 2px}
.plancard .planfacts .planline{gap:5px}
.plancard .planfacts .pk{display:inline-flex;align-items:baseline;gap:5px}
.plancard .planfacts .pk:after{content:"-";opacity:.8}
.plancard .plantime-open+.plantime-start:before{padding:0 4px 0 7px;font-family:"Barlow Ticket",sans-serif;font-weight:700}
/* Optical centering for Barlow's cap height; keep badge outlines in place. */
.plancard .plandateyear,.plancard .plandateweekday{display:flex;align-items:center;justify-content:center;text-align:center;line-height:1;padding:0 7px 1px}
.plancard .planheart path,.plancard .planvenuepin path,.plancard .planvenuepin rect{vector-effect:non-scaling-stroke;stroke-width:1.5px}
.plancard .planvenue:after{padding:1px 8.5px 0 11.5px}

.plancard{padding-top:22px}
.plancard>.planhead .planserial{align-self:flex-end;line-height:1;margin-bottom:4px}
.plancard .ticketinner{border-width:1.6px}
.plancard .planhero,.plancard .planvenue{border-bottom-width:1.6px}
.plancard .planmemo,.plancard .planactions{border-top-width:1.6px}

.plancard .plandateyear,.plancard .plandateweekday{border-width:1.6px}
.plancard .planthumbnail{border-bottom:1.6px solid var(--native-ticket-rule)}
.plancard .native-ticket-brand{width:66px;height:14px;margin:9px auto -4px;background:var(--ticket-ink);-webkit-mask:url('/hakomikke-horizontal.svg') center/contain no-repeat;mask:url('/hakomikke-horizontal.svg') center/contain no-repeat;opacity:.8}

.plancountdown small{width:calc(100% - 180px);margin:4px auto 0;text-overflow:clip;overflow:hidden;text-align:center;display:flex;white-space:nowrap}
.plancountdown small .native-countdown-title{display:block;flex:0 0 auto;width:max-content;min-width:100%;font:inherit;letter-spacing:normal;text-align:center;white-space:nowrap;box-sizing:content-box}
.plancountdown::after{animation:native-mascot-sway 3.8s ease-in-out infinite}
.plancountdown::before{content:"";position:absolute;left:-3px;bottom:-20px;width:82px;height:106px;background:var(--native-countdown-decoration,url('/native-countdown-decoration.svg')) center/contain no-repeat}
@keyframes native-mascot-sway{0%,100%{transform:translateY(-50%) rotate(16deg)}50%{transform:translateY(calc(-50% - 5px)) rotate(10deg)}}
@media(prefers-reduced-motion:reduce){.plancountdown::before,.plancountdown::after{animation:none}.plancountdown small{overflow-x:auto}}
.mypagehero::after,.plancountdown::before,.plancountdown::after{pointer-events:none}
.native-countdown-hanger{position:relative;width:90vw;margin:0 auto;transform-origin:50% -17px}
.native-countdown-hanger .plancountdown{cursor:pointer;touch-action:pan-y}
.native-countdown-hanger .plancountdown:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.native-countdown-ropes{position:absolute;inset:-17px 0 auto;height:38px;pointer-events:none;color:var(--ink)}
.native-countdown-ropes i{position:absolute;top:0;left:35%;height:36px;width:1px;background:currentColor}
.native-countdown-ropes i+i{left:65%}
.native-countdown-ropes i::after{content:"";position:absolute;left:-3px;bottom:-3px;width:7px;height:7px;border:1.4px solid currentColor;border-radius:50%;box-sizing:border-box}

html:not([data-night="true"]) .native-countdown-hanger .plancountdown{border-color:transparent;box-shadow:0 4px 14px rgba(35,38,45,.13),0 1px 3px rgba(35,38,45,.06)}
html:not([data-night="true"]) .native-countdown-ropes{top:-97px;height:118px}
html:not([data-night="true"]) .native-countdown-ropes i{height:116px}

.native-rope-pull{overscroll-behavior-y:none}
.native-rope-pull>*{translate:0 var(--native-rope-pull,0px)}
html .native-rope-pull .native-countdown-ropes{top:calc(-97px - var(--native-rope-pull,0px));height:calc(118px + var(--native-rope-pull,0px))}
html .native-rope-pull .native-countdown-ropes i{height:calc(116px + var(--native-rope-pull,0px))}
.native-rope-return>*{transition:translate .7s cubic-bezier(.3,.05,.25,1)}
.native-rope-return .native-countdown-ropes,.native-rope-return .native-countdown-ropes i{transition:top .7s cubic-bezier(.3,.05,.25,1),height .7s cubic-bezier(.3,.05,.25,1)}
@media(prefers-reduced-motion:reduce){.native-rope-return>*,.native-rope-return .native-countdown-ropes,.native-rope-return .native-countdown-ropes i{transition:none}}
.native-countdown-hanger{width:322px;max-width:100%}.native-countdown-hanger .plancountdown{width:100%}

/* App my-page ticket gallery. */
.mypage .mypagetickets>summary{letter-spacing:.025em}
.mypage .mypagetickets>summary>small{background:var(--rule2);color:var(--ink);border-radius:20px;padding:5px 9px;font-variant-numeric:tabular-nums}
.mypage .mypagetickets>.authdetailsbody{padding:16px 14px 20px}
.mypageticketgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px;align-items:stretch}
.mypageticketthumb{border-radius:3px;transition:transform .2s ease;min-width:0}
.mypageticketthumb:active{transform:scale(.97)}
.mypageticketthumb:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
.mypageticketmini{aspect-ratio:auto;min-height:190px;height:100%;overflow:hidden;background:linear-gradient(var(--ticket-bg) 0 0) center/100% calc(100% - 16px) no-repeat;filter:drop-shadow(0 3px 3px rgba(0,0,0,.06))}
.mypageticketmini>.ticketedge{position:relative;visibility:visible;flex:0 0 auto;width:100%;height:auto;aspect-ratio:350/22;inset:auto;margin:0}
.mypageticketmini>.ticketedge.bottom{margin-top:auto;clip-path:none}
.mypageticketminisurface{margin:-1px 0;padding:3px 9px 5px;background:var(--ticket-bg);display:flex;flex:1}
.mypageticketminibody{display:flex;flex-direction:column;width:100%;height:auto;border:1px solid color-mix(in srgb,var(--ticket-ink) 60%,var(--ticket-bg));border-radius:7px;text-align:left}
.native-mini-image{aspect-ratio:2/1;overflow:hidden;flex:none;border-bottom:1px solid color-mix(in srgb,var(--ticket-ink) 60%,var(--ticket-bg))}
.native-mini-image img{width:100%;height:100%;display:block;object-fit:cover}
.mypageticketminidate{display:flex;justify-content:flex-start;align-items:center;gap:3px;height:auto;padding:10px 6px 2px;border:0;flex:none}
.mypageticketminidate b{font:700 17px/1.1 "Barlow Ticket",sans-serif;letter-spacing:0;white-space:nowrap}
.mypageticketminidate small{font:700 9px/1 "Barlow Ticket",sans-serif;letter-spacing:0;border:1px solid color-mix(in srgb,var(--ticket-ink) 60%,var(--ticket-bg));border-radius:12px;padding:2px 3px}
.mypageticketminititle{display:block;flex:1;padding:2px 6px 12px;font-size:12px;line-height:1.5;text-align:left;min-height:48px}
.mypageticketminititle span{-webkit-line-clamp:3}
.native-mini-venue{display:flex;align-items:center;gap:5px;border-top:1px solid color-mix(in srgb,var(--ticket-ink) 60%,var(--ticket-bg));padding:5px 8px;min-height:28px;box-sizing:border-box;font-size:10px;font-weight:600;line-height:1.4}
.native-mini-venue svg{width:10px;height:17px;flex:0 0 10px}
.native-mini-venue span{display:block;min-width:0;flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
@media(prefers-reduced-motion:reduce){.mypageticketthumb{transition:none}}

@media(max-width:350px){.mypageticketminidate{gap:2px;padding-inline:4px}.mypageticketminititle{padding-inline:4px}.mypageticketminidate b{font-size:16px}.mypageticketminidate small{padding-inline:2px;font-size:8px}}
