:root{--tf-ink:#12100c;--tf-paper:#f3efe4;--tf-sea:#8fd4c9;--tf-coral:#e8542f;--tf-line:rgba(243,239,228,.2);--tf-content-max:1320px;--tf-rule-max:920px;--tf-copy-max:720px;--tf-form-max:720px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--tf-ink)}
body{margin:0;background:radial-gradient(circle at 15% 4%,#075a6b 0,transparent 36%),var(--tf-ink);color:var(--tf-paper);font-family:"Noto Sans JP",sans-serif;-webkit-font-smoothing:antialiased;line-break:strict}
a{color:inherit;text-decoration:none}
.tf-top{position:fixed;top:0;left:0;right:0;z-index:60;display:flex;align-items:center;justify-content:space-between;padding:24px clamp(22px,5vw,72px);background:linear-gradient(180deg,rgba(18,16,12,.92),rgba(18,16,12,0))}
.tf-back{color:var(--tf-sea);font:700 11px/1.4 "Archivo",sans-serif;letter-spacing:.08em}
main{max-width:var(--tf-content-max);margin:auto;padding:clamp(110px,15vw,150px) clamp(22px,5vw,72px) 120px}
.tf-eyebrow{margin:0;color:var(--tf-sea);font:900 12px/1.4 "Archivo",sans-serif;letter-spacing:.18em}.tf-eyebrow i{margin-right:11px;color:var(--tf-coral);font-style:normal}
h1{margin:18px 0;font:700 clamp(45px,7vw,96px)/1.05 "Zen Old Mincho",serif;white-space:pre-line}
.tf-lead{max-width:var(--tf-copy-max);margin:0;color:#d6d0c4;font-size:16px;line-height:2;text-wrap:pretty}
.tf-notice{display:flex;align-items:flex-start;gap:16px;margin:54px 0 26px;padding:19px 22px;border:1px solid rgba(143,212,201,.4);background:rgba(143,212,201,.08);color:#d9f5ef}
.tf-notice b{color:var(--tf-sea);font:900 10px/1.5 "Archivo",sans-serif;letter-spacing:.13em;white-space:nowrap}.tf-notice span{font-size:14px;line-height:1.6}
.tf-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.tf-ticket{display:flex;flex-direction:column;min-height:390px;padding:clamp(24px,2.35vw,32px);border:1px solid var(--tf-line);background:rgba(18,16,12,.38);transition:transform .25s ease,border-color .25s ease}
.tf-ticket:hover{border-color:var(--tf-sea);transform:translateY(-5px)}
.tf-ticket.is-support{border-color:rgba(232,84,47,.55);background:linear-gradient(135deg,rgba(232,84,47,.18),rgba(143,212,201,.1))}
.tf-ticket.is-info{border-color:rgba(143,212,201,.5);background:linear-gradient(135deg,rgba(143,212,201,.12),rgba(18,16,12,.38))}
.tf-ticket__type{color:var(--tf-coral);font:900 10px/1.4 "Archivo",sans-serif;letter-spacing:.15em}
.tf-ticket h2{min-height:3.2em;margin:17px 0 11px;font:700 clamp(23px,2.3vw,34px)/1.36 "Zen Old Mincho",serif}
.tf-ticket__price{font:900 clamp(37px,4vw,58px)/1 "Archivo",sans-serif;letter-spacing:-.06em}
.tf-ticket__tax{margin:10px 0 20px;color:#a49d91;font-size:11px}
.tf-ticket__description{max-width:none;margin:0;color:#d3cdbf;font-size:14px;line-height:1.75;letter-spacing:.01em;line-break:strict;text-wrap:pretty}
.tf-ticket__description-phrase{white-space:nowrap}
.tf-ticket button{margin-top:auto;padding:14px;border:1px solid rgba(243,239,228,.48);background:transparent;color:var(--tf-paper);font:700 12px/1.3 "Archivo",sans-serif;letter-spacing:.08em;cursor:not-allowed}
.tf-ticket.is-support button{border-color:var(--tf-coral);color:#ffd4c8}
.tf-note{margin:28px 0 0;color:#aaa396;font-size:12px;line-height:1.8}
.tf-footer{padding:clamp(50px,8vw,70px) clamp(20px,5vw,44px) 120px;border-top:1px solid rgba(243,239,228,.1);background:rgba(14,12,9,.7)}
.tf-footer__inner{max-width:1240px;margin:auto}.tf-footer__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:36px;margin-bottom:32px}
.tf-footer__grid>p{margin:0;color:#9a9488;font-size:13px;line-height:1.8;text-wrap:pretty}.tf-footer nav{display:flex;flex-direction:column;gap:12px}.tf-footer nav a{font:700 13px/1.4 "Archivo",sans-serif}
.tf-follow>span{display:block;margin-bottom:14px;color:#9a9488;font:700 11px/1 "Archivo",sans-serif;letter-spacing:.06em}.tf-follow p{display:flex;gap:12px;margin:0}.tf-follow a{display:grid;place-items:center;width:36px;height:36px;border:1px solid rgba(243,239,228,.3);border-radius:50%;font-size:12px}
.tf-copyright{margin:0;padding-top:18px;border-top:1px solid rgba(243,239,228,.08);color:#6b665c;font:500 10.5px/1.4 "Archivo",sans-serif}
.tf-floating-nav{position:fixed;z-index:80;right:50%;bottom:max(14px,env(safe-area-inset-bottom));display:flex;align-items:center;gap:2px;width:min(460px,calc(100% - 20px));padding:6px;border-radius:100px;background:rgba(21,19,16,.92);box-shadow:0 20px 40px rgba(0,0,0,.45);backdrop-filter:blur(10px);transform:translateX(50%)}
.tf-floating-nav a{display:flex;flex:1;flex-direction:column;align-items:center;gap:4px;padding:10px 4px;border-radius:100px}.tf-floating-nav a[aria-current=page]{background:rgba(243,239,228,.08)}.tf-floating-nav span{font-size:17px}.tf-floating-nav b{font:700 9.5px/1.2 "Archivo",sans-serif}
@media(max-width:780px){.tf-top{padding:20px}.site-brand span{display:none}main{padding:110px 20px 90px}.tf-notice{margin-top:38px}.tf-cards{grid-template-columns:1fr}.tf-ticket{min-height:310px}.tf-ticket h2{min-height:auto}.tf-footer__grid{grid-template-columns:1fr 1fr}.tf-footer__grid>p{grid-column:1/-1}}
@media(max-width:420px){.tf-floating-nav b{font-size:8.5px}.tf-notice{gap:10px;padding:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.tf-ticket{transition:none}}

/* Shared asset also applies to CMS-authored ticket HTML. */
body[data-page="ticket"] .tf-checkout-result{width:100%;max-width:40rem;box-sizing:border-box;padding:32px clamp(20px,4vw,40px)}
body[data-page="ticket"] .tf-checkout-result h2{font-size:clamp(20px,2.4vw,24px);line-height:1.6;letter-spacing:.02em;text-wrap:wrap;line-break:strict}
body[data-page="ticket"] .tf-checkout-result p{width:100%;max-width:none;margin:16px 0 0;text-align:left;font-size:15px;line-height:1.9;letter-spacing:0;text-wrap:wrap;line-break:strict}
body[data-page="ticket"] .tf-checkout-result .tf-checkout-result__note{margin-top:24px;padding-top:20px;border-top:1px solid var(--tf-line);font-size:13px!important}
body[data-page="ticket"] .tf-result-sentence{display:block}
body[data-page="ticket"] .tf-result-phrase{display:inline-block;white-space:nowrap}
body[data-page="ticket"] .tf-checkout-result__note a{text-decoration:underline;text-underline-offset:3px}
body[data-page="ticket"] .tf-checkout-result__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
body[data-page="ticket"] .tf-checkout-result__actions>*{white-space:nowrap;min-height:48px;display:flex;align-items:center;justify-content:center}
body[data-page="ticket"] .tf-checkout-result a:focus-visible,body[data-page="ticket"] .tf-checkout-result button:focus-visible{outline:2px solid var(--tf-sea);outline-offset:4px}
body[data-page="ticket"].checkout-result-active main>.tf-lead{display:none}
@media(max-width:480px){body[data-page="ticket"] .tf-checkout-result__actions{flex-direction:column;align-items:stretch}}
