/* Direction 05: Sapporo, ambition, partnership. */
.hero-content{max-width:none;padding-top:6vh}.hero-declaration{font-family:'Yu Mincho','Hiragino Mincho ProN',serif;font-size:clamp(58px,8.2vw,124px);font-weight:600;letter-spacing:.1em;line-height:1.45;margin:15px 0 22px;text-shadow:0 3px 45px #0007;color:#fff2cf}.hero h1{font-size:clamp(22px,2.6vw,38px);line-height:1.8;letter-spacing:.08em;margin:0}.hero h1 br{display:none}.hero h1 span{margin-left:.15em}.hero-copy{margin-top:20px;font-size:13px}.hero:after{content:'SAPPORO';position:absolute;right:2%;bottom:90px;color:#fff1;font:clamp(60px,14vw,210px)/1 Georgia;letter-spacing:.07em;pointer-events:none}.mission{background:#12271f;padding-block:100px}.mission-layout{grid-template-columns:.7fr 1.5fr;gap:6%;align-items:center}.mission-logo{position:relative;max-width:380px;padding:20px}.mission-logo:before,.mission-logo:after{content:'';position:absolute;inset:0;border:1px solid #d4bb7455;border-radius:50%;transform:rotate(-20deg) scaleY(.85)}.mission-logo:after{inset:-14px;border-color:#d4bb7422;transform:rotate(20deg) scaleY(.85)}.mission-logo img{box-shadow:none;border:0;transform:none;border-radius:50%;aspect-ratio:1;object-fit:cover}.mission h2{font-size:clamp(24px,3.2vw,47px);line-height:1.85;letter-spacing:.025em}.mission-line{display:block;white-space:nowrap}.mission .mvv-lead{font-size:16px}.mission-layout>div:last-child>p:last-child{max-width:650px}.vision{background:#e4eceb;color:#183e41}.vision-background{background-image:linear-gradient(90deg,#e6f1efe8,#e6f1ef99 55%,#e6f1ef22),url('assets/odori-10.jpg');filter:brightness(1.18) saturate(.8);opacity:1}.vision h2{color:#173e42;text-shadow:0 1px 25px #fff9}.vision .mvv-label span,.vision .mvv-label p,.vision .eyebrow{color:#87652b}.vision .mvv-label small,.vision-content>p{color:#315754}.mvv-orbit{position:relative;margin:45px 0 0 auto;width:132px;height:132px;border:1px solid #d1b67599;border-radius:50%;background:radial-gradient(circle at 25% 15%,#e6c87922,#0a1c1b44);color:#e6d2a2;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;cursor:pointer;box-shadow:0 0 0 9px #c7aa6422,0 0 0 20px #c7aa6409;transition:transform .5s,box-shadow .5s}.mvv-orbit:hover{transform:rotate(-6deg) scale(1.06);box-shadow:0 0 0 16px #c7aa6422,0 0 40px #dfbd6344}.mvv-orbit span{font:10px Georgia;letter-spacing:.16em}.mvv-orbit b{font:30px Georgia;font-weight:normal}.mvv-orbit small{font-size:9px}.vision .mvv-orbit{color:#375347;background:#f7f1da99;border-color:#a78b4d}.modal-open{overflow:hidden}.mvv-dialog{border:1px solid #c7a56466;background:linear-gradient(145deg,#fdf9ee,#eae2ce);color:#263c31;padding:65px clamp(25px,6vw,80px);max-width:800px;width:calc(100% - 36px);max-height:85dvh;overflow:auto;box-shadow:0 30px 140px #0008}.mvv-dialog::backdrop{background:#061713cc;backdrop-filter:blur(12px)}.mvv-dialog[open]{animation:mvvOpen .5s cubic-bezier(.2,.8,.2,1)}.mvv-dialog h2{font-size:clamp(25px,3vw,39px);line-height:1.8;margin:20px 0 30px}.mvv-dialog p{font-size:14px;line-height:2.2}.mvv-dialog .value-card{background:none;color:#263c31;border-color:#9d854a55;padding:25px 0}.mvv-dialog .value-card h3{color:#263c31}.mvv-dialog .value-card p{color:#52664d}.mvv-close{position:absolute;top:15px;right:18px;width:40px;height:40px;border-radius:50%;border:1px solid #ad955a;background:transparent;color:#4d603d;font-size:26px;cursor:pointer}@keyframes mvvOpen{from{opacity:0;transform:translateY(40px) scale(.91)}to{opacity:1;transform:none}}
.service-showcase{padding:0;background:#0d2020}.support-stage{background:#0d2020}.showcase-top{padding:45px 9% 25px}.showcase-top h2{font-size:clamp(30px,3.6vw,50px)}.service-panel-copy h3{font-size:clamp(32px,4.1vw,59px)}.service-panel{padding:45px 10%;min-height:480px}.showcase-tabs button{padding:17px 10px}.showcase-bottom{padding:15px 9%}.showcase-bottom:after{content:'';position:absolute;bottom:0;left:0;height:2px;width:calc(var(--journey-progress,0)*100%);background:#e2c17f}.support-stage{position:relative}.service-track{scroll-snap-type:x mandatory}.records{background:radial-gradient(ellipse at 50% 15%,#fff8d1,#dbb760 45%,#9d702e 100%);border-block:4px double #fce5a7}.records:after{content:'';position:absolute;inset:15px;z-index:-1;border:1px solid #fff2c399;pointer-events:none}.records h2{text-shadow:0 2px 0 #ffebb7,0 9px 35px #89571b55;font-size:clamp(35px,4.4vw,64px)}.record-card{box-shadow:0 18px 55px #57320766,inset 0 0 40px #e6c78022;border:3px double #ffe9ac;transform:translateY(0)}.record-card:after{content:'';position:absolute;inset:8px;pointer-events:none;border:1px solid #ffe4a255}.record-ribbon{background:linear-gradient(100deg,#ad7530,#ffe9a8,#bd8437);color:#503711;box-shadow:0 5px 18px #0005}.record-attendance{border:1px solid #fff0bb99;background:linear-gradient(110deg,#fff2bd99,#c69b4b55,#fff2bd99);box-shadow:0 10px 40px #85552033}.record-medal strong{filter:drop-shadow(0 4px 10px #d9a34077)}
@media(min-width:901px) and (prefers-reduced-motion:no-preference){.service-showcase{height:380vh;overflow:visible}.support-stage{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding-top:80px}.showcase-top{padding-top:25px;padding-bottom:15px}.showcase-top h2{font-size:32px;line-height:1.3}.showcase-top h2 br{display:none}.showcase-tabs{flex-shrink:0}.service-track{flex:1;min-height:0;scroll-snap-type:none;scroll-behavior:auto}.service-panel{min-height:0;height:100%;flex-shrink:0}.service-panel-copy h3{margin:15px 0;line-height:1.5}.service-page-link{margin-top:5px;padding:12px 0}.showcase-bottom{flex-shrink:0}.service-panel-photo{background-attachment:local}}
@media(max-width:900px){.hero-declaration{font-size:clamp(45px,10vw,85px)}.hero h1{font-size:24px}.hero h1 br{display:block}.mission-layout{grid-template-columns:1fr}.mission-logo{width:210px;justify-self:center;margin:20px 0 30px}.mission-line{white-space:normal}.mission h2{font-size:clamp(23px,5.8vw,40px)}.mvv-orbit{width:110px;height:110px;margin-top:35px}.service-panel{min-height:650px}.showcase-top{grid-template-columns:1fr;padding:55px 7% 30px}.showcase-top>p:last-child{justify-self:start}.showcase-tabs{padding-inline:5%}.service-panel-copy h3{font-size:36px}.showcase-bottom>p{max-width:110px;line-height:1.6}.records h2{font-size:36px}}
@media(prefers-reduced-motion:reduce){.mvv-dialog[open]{animation:none}.service-showcase{height:auto}.mvv-orbit:hover{transform:none}}

.vision .vision-content p:not(.eyebrow){color:#315754}.mvv-orbit.reveal{transition:opacity .8s,transform .8s,box-shadow .5s}.motion .mvv-orbit.reveal:not(.visible){transform:translateY(25px) scale(.85)}

