/* Circular reveal and staggered navigation, following HELLO CYCLING. */
.hc-toggle{position:fixed;top:28px;right:34px;z-index:202;width:50px;height:50px;padding:0;border:2px solid #ff6500;border-radius:50%;background:transparent;display:flex;align-items:center;justify-content:center;gap:5px;cursor:pointer;color:#ff6500}
.hc-toggle span{width:4px;height:4px;background:currentColor;border-radius:50%;transition:transform .4s,opacity .4s,width .4s,height .4s}
.hc-toggle[aria-expanded=true]{color:#fff;border-color:#fff}
.hc-toggle[aria-expanded=true] span:first-child{position:absolute;width:20px;height:2px;border-radius:0;transform:rotate(45deg)}
.hc-toggle[aria-expanded=true] span:nth-child(2){opacity:0}
.hc-toggle[aria-expanded=true] span:last-child{position:absolute;width:20px;height:2px;border-radius:0;transform:rotate(-45deg)}
.hc-toggle:focus-visible{outline:3px solid currentColor;outline-offset:5px}
.hc-menu{position:fixed;inset:0;z-index:200;visibility:hidden;pointer-events:none;overflow:hidden;color:#fff}
.hc-menu.is-active{visibility:visible;pointer-events:auto}
.hc-bg{position:absolute;inset:0;background:#ff6500;clip-path:circle(0px at var(--cx,calc(100% - 59px)) var(--cy,53px));transition:clip-path .8s cubic-bezier(.645,.045,.355,1)}
.hc-menu.is-open .hc-bg{clip-path:circle(var(--radius,150vmax) at var(--cx,calc(100% - 59px)) var(--cy,53px))}
.hc-menu.is-closing .hc-bg{transition:clip-path .5s cubic-bezier(.55,.055,.675,.19) .6s}
.hc-scroll{position:relative;height:100%;overflow:auto;overscroll-behavior:contain}
.hc-layout{min-height:100%;width:78%;max-width:1280px;margin:auto;padding:100px 0 70px;display:flex;align-items:center;justify-content:center;gap:7.9375vw}
.hc-primary{flex:1;min-width:0}.hc-menu ul{list-style:none;margin:0;padding:0}.hc-primary li{margin-bottom:3.3125vw}.hc-menu a{color:#fff;text-decoration:none;background:none;border:0;box-shadow:none}
.hc-primary li a{display:flex;align-items:baseline;gap:1.75vw;white-space:nowrap}.hc-en{font-family:var(--font-en),sans-serif;font-weight:700;letter-spacing:.09em;line-height:1.1;position:relative;display:inline-block}.hc-primary .hc-en{font-size:3.125vw}.hc-jp{font-size:clamp(10px,.8125vw,13px);font-weight:600;line-height:1.6}.hc-en:after{content:'';position:absolute;left:0;right:0;bottom:-12px;height:5px;background:#fff;opacity:0;transform:rotateX(180deg);transition:transform 1.1s cubic-bezier(.23,1,.32,1),opacity .3s}.hc-menu a:hover .hc-en:after,.hc-menu a:focus-visible .hc-en:after{opacity:1;transform:rotateX(360deg)}
.hc-contact{display:block!important;border:2px solid #fff!important;padding:16px 20px;border-radius:2px;font-size:16px;font-weight:700}.hc-contact span{float:right}.hc-secondary{width:31.00775vw;flex-shrink:0}.hc-columns{display:grid;grid-template-columns:1fr 1.3fr;gap:30px}.hc-columns li{margin-bottom:1.625vw}.hc-columns .hc-en{font-size:clamp(13px,1.25vw,20px)}.hc-columns .hc-jp{display:block;margin-top:8px;font-size:10px}.hc-columns .hc-en:after{height:2px;bottom:-5px}.hc-bottom{display:flex;align-items:center;gap:22px;margin-top:6.2vw;font-size:12px}.hc-bottom>span{font-family:var(--font-en);font-weight:700;letter-spacing:.09em}.hc-bottom a{font-size:12px}
.hc-item{opacity:0;transform:translateX(300px)}
body.hc-open .site-header{z-index:201;background:transparent!important;box-shadow:none!important;border-color:transparent!important;backdrop-filter:none!important;pointer-events:none}
body.hc-open .site-header>a,body.hc-open .hc-toggle{pointer-events:auto}
body.hc-open .brand-logo{filter:brightness(0) invert(1)!important}
@media(max-width:767px){.hc-toggle{top:20px;right:20px;width:40px;height:40px}.hc-layout{width:100%;display:block;padding:90px 0 35px}.hc-primary{padding:35px 6vw;border-top:1px solid #ffffff30;border-bottom:1px solid #ffffff30}.hc-primary li{margin-bottom:40px}.hc-primary li a{gap:12px;flex-wrap:wrap}.hc-primary .hc-en{font-size:23px}.hc-jp{font-size:10px}.hc-secondary{width:100%;padding:35px 6vw}.hc-columns{gap:20px;grid-template-columns:1fr 1fr}.hc-columns li{margin-bottom:22px}.hc-columns .hc-en{font-size:13px}.hc-bottom{margin-top:36px;padding-top:25px;border-top:1px solid #ffffff30;flex-wrap:wrap}.hc-contact{font-size:14px}.hc-columns .hc-jp{font-size:10px}}
@media(prefers-reduced-motion:reduce){.hc-bg,.hc-menu.is-closing .hc-bg{transition:none}.hc-toggle span{transition:none}}

/* Keep the control on the header's vertical center at every breakpoint. */
.site-header .hc-toggle{position:absolute;top:50%;transform:translateY(-50%)}
