:root{--c-ink: #0e1216;--c-blue: #22a2dd;--c-blue-dark: #1786bd;--c-blue-pale: #ebf6fc;--c-gray: #3a444e;--c-gray-2: #66707a;--c-line: #e6eaee;--c-surface: #f5f7f9}*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{margin:0;background:#0a0e12;font-family:Noto Sans JP,sans-serif;color:var(--c-ink)}img{max-width:100%}h1,h2,h3{font-family:Shippori Mincho,serif}.site-header{position:fixed;inset:0 0 auto;z-index:50;background:#fff0;border-bottom:1px solid rgba(230,234,238,0);backdrop-filter:saturate(140%) blur(10px);-webkit-backdrop-filter:saturate(140%) blur(10px);transition:background .3s ease,border-color .3s ease}.site-header.is-scrolled{background:#ffffffeb;border-bottom-color:var(--c-line)}.lnk{transition:color .2s ease}.lnk:hover{color:var(--c-blue)}.btn{transition:background .2s ease,transform .2s ease}.btn:hover{background:var(--c-blue-dark)!important}.btn:active{transform:translateY(1px)}.field{transition:border-color .2s ease,box-shadow .2s ease}.field:focus{border-color:var(--c-blue)!important;outline:none;box-shadow:0 0 0 3px #22a2dd26}.job-card{transition:border-color .25s ease,background .25s ease,transform .25s ease}.job-card:hover{border-color:var(--c-blue)!important;background:#16202a!important;transform:translateY(-3px)}.cta-block{transition:background .25s ease,transform .25s ease,box-shadow .25s ease}.cta-block:hover{background:var(--c-blue-dark)!important;transform:translateY(-2px);box-shadow:0 18px 40px -18px #22a2dd99}.pill{transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease}.pill:hover{background:var(--c-blue);border-color:var(--c-blue)!important;color:#fff!important;transform:translateY(-2px)}.js [data-reveal]{opacity:0;transform:translateY(40px);transition:opacity .9s cubic-bezier(.22,1,.36,1),transform .9s cubic-bezier(.22,1,.36,1);will-change:opacity,transform}.js [data-reveal].is-visible{opacity:1;transform:none}.js [data-reveal][data-delay="1"]{transition-delay:.08s}.js [data-reveal][data-delay="2"]{transition-delay:.16s}.js [data-reveal][data-delay="3"]{transition-delay:.24s}.js [data-reveal][data-delay="4"]{transition-delay:.32s}.js [data-reveal][data-delay="5"]{transition-delay:.4s}@keyframes ti-rise{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}.js .hero-anim{opacity:0;animation:ti-rise .9s cubic-bezier(.22,1,.36,1) forwards}.js .hero-anim[data-delay="1"]{animation-delay:.05s}.js .hero-anim[data-delay="2"]{animation-delay:.18s}.js .hero-anim[data-delay="3"]{animation-delay:.31s}.js .hero-anim[data-delay="4"]{animation-delay:.44s}.js .hero-anim[data-delay="5"]{animation-delay:.57s}@media(max-width:860px){.ti-desk-nav{display:none!important}.ti-burger{display:flex!important}}.mobile-menu{display:none}.mobile-menu.is-open{display:flex}@media(max-width:820px){[style*="minmax(0,0.42fr)"],[style*="minmax(0,0.36fr)"]{grid-template-columns:1fr!important;gap:24px!important}}@media(max-width:820px){section{scroll-margin-top:72px}}@media(max-width:600px){[style*="220px 1fr"],[style*="160px 1fr"]{grid-template-columns:1fr!important;gap:4px!important;padding-top:16px!important;padding-bottom:16px!important}}@media(max-width:520px){[style*="1fr 1fr"]{grid-template-columns:1fr!important}}.cal{border:1px solid var(--c-line);border-radius:6px;background:#fff;padding:clamp(16px,3vw,30px)}.cal-bar{display:flex;align-items:center;justify-content:center;gap:22px;margin-bottom:22px}.cal-title{font-family:Shippori Mincho,serif;font-weight:800;font-size:clamp(22px,3.4vw,30px);letter-spacing:.04em;min-width:200px;text-align:center}.cal-nav{width:42px;height:42px;border:1px solid var(--c-line);border-radius:100px;background:#fff;color:var(--c-ink);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .2s ease,background .2s ease,color .2s ease,transform .2s ease}.cal-nav:hover:not(:disabled){border-color:var(--c-blue);color:var(--c-blue);transform:translateY(-1px)}.cal-nav:disabled{opacity:.32;cursor:not-allowed}.cal-week,.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.cal-week{margin-bottom:6px}.cal-week span{text-align:center;font-family:Oswald,sans-serif;font-weight:500;letter-spacing:.08em;font-size:13px;color:var(--c-gray-2);padding:4px 0}.cal-week .is-sun{color:#c0392b}.cal-week .is-sat{color:var(--c-blue)}.cal-cell{position:relative;min-height:76px;border:1px solid var(--c-line);border-radius:4px;background:#fff;padding:7px 8px;display:flex;flex-direction:column;gap:3px;overflow:hidden}.cal-cell.is-empty{border-color:transparent;background:transparent}.cal-num{font-family:Oswald,sans-serif;font-weight:500;font-size:15px;line-height:1;color:var(--c-ink)}.cal-cell.dow-0 .cal-num{color:#c0392b}.cal-cell.dow-6 .cal-num{color:var(--c-blue)}.cal-tag{font-size:10.5px;line-height:1.35;font-weight:700;word-break:break-all}.cal-cell.s-reg{background:#f3f5f7}.cal-cell.s-reg .cal-num{opacity:.55}.cal-cell.s-closed{background:#eceff2}.cal-cell.s-closed .cal-num{opacity:.7}.cal-cell.s-closed .cal-tag{color:#66707a}.cal-cell.s-open{background:var(--c-blue-pale);border-color:#aadcf3}.cal-cell.s-open .cal-num{color:var(--c-blue-dark);opacity:1}.cal-cell.s-open .cal-tag{color:var(--c-blue-dark)}.cal-cell.has-info:after{content:"";position:absolute;top:9px;right:9px;width:6px;height:6px;border-radius:100px;background:var(--c-blue)}.cal-cell.s-info .cal-tag{color:var(--c-gray-2)}.cal-cell.is-today{box-shadow:inset 0 0 0 2px var(--c-blue);border-color:var(--c-blue)}.cal-legend{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:22px;padding-top:18px;border-top:1px solid var(--c-line)}.cal-lg{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:var(--c-gray)}.sw{width:16px;height:16px;border-radius:3px;border:1px solid var(--c-line);flex:0 0 auto}.sw-open{background:#fff}.sw-reg{background:#f3f5f7}.sw-closed{background:#eceff2}.sw-special{background:var(--c-blue-pale);border-color:#aadcf3}.cal-note{margin:16px 0 0;font-size:13px;color:var(--c-gray-2);line-height:1.8}.cal-note .lnk{color:var(--c-blue);font-weight:700;text-decoration:none}@media(max-width:560px){.cal-cell{min-height:58px;padding:5px}.cal-num{font-size:13px}.cal-tag{font-size:9px}.cal-week,.cal-grid{gap:4px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}.js [data-reveal]{opacity:1!important;transform:none!important}.js .hero-anim{opacity:1!important}}
