*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}ul,ol{list-style:none}a{text-decoration:none;color:inherit}img,picture,video,canvas,svg{display:block;max-width:100%}button,input,textarea,select{font:inherit}html{overflow-x:clip;scroll-behavior:smooth;scroll-padding-top:64px}@media(min-width:1000px){html{scroll-padding-top:118px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{overflow-x:clip;font-family:Noto Sans JP,system-ui,sans-serif;line-height:1.9;color:#2e332f;background:#fff;-webkit-font-smoothing:antialiased;padding-top:64px}@media(min-width:1000px){body{padding-top:118px}}body.is-nav-open{overflow:hidden}a{color:inherit;text-decoration:none}img,svg,video{max-width:100%;height:auto;display:block}ul,ol{list-style:none;padding:0;margin:0}.container{width:min(100% - 48px,1160px);margin-inline:auto}.container--narrow{width:min(100% - 48px,880px)}.section{padding-block:120px}@media(max-width:768px){.section{padding-block:80px}}.section--tight{padding-block:80px}.section--cream{background:#fff8d9}.section--light{background:#ecf3f9}.section--blue{background:#086ac5;color:#fff}.section-head{text-align:center;margin-bottom:80px}@media(max-width:768px){.section-head{margin-bottom:48px}}.section-head__eyebrow{font-family:"Noto Serif JP",serif;font-weight:700;letter-spacing:.18em;color:#086ac5;font-size:1rem;margin-bottom:8px}.section--blue .section-head__eyebrow{color:#fff}.section-head__title{font-family:"Noto Serif JP",serif;font-size:clamp(1.4rem,1rem + 1.8vw,2.2rem);line-height:1.45;font-weight:700;color:#05161a}.section--blue .section-head__title{color:#fff}.section-head__subtitle{margin-top:16px;font-weight:700;color:#086ac5;font-size:clamp(1rem,.9rem + .5vw,1.2rem)}.section--blue .section-head__subtitle{color:#fff}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:16px 32px;border-radius:999px;font-weight:700;font-size:1.05rem;border:2px solid transparent;box-shadow:0 2px 8px #05161a0f;transition:transform .2s cubic-bezier(.16,1,.3,1),background-color .2s,color .2s,box-shadow .2s;cursor:pointer}.button:hover{transform:translateY(-2px);box-shadow:0 8px 24px #05161a14}.button--primary{background:#086ac5;color:#fff}.button--primary:hover{background:#06549b}.button--accent{background:#ec4c23;color:#fff}.button--accent:hover{background:#d33d17}.button--outline{background:#fff;border-color:#086ac5;color:#086ac5}.button--outline:hover{background:#086ac5;color:#fff}.button--small{padding:10px 20px;font-size:.9rem}.button__icon{width:1.25em;height:1.25em;flex:none}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.js [data-anim]{--anim-duration: .8s;--anim-delay: 0ms;animation:anim-failsafe 0s linear 6s forwards;opacity:0;transition:opacity var(--anim-duration) cubic-bezier(.16,1,.3,1) var(--anim-delay),transform var(--anim-duration) cubic-bezier(.16,1,.3,1) var(--anim-delay),filter var(--anim-duration) cubic-bezier(.16,1,.3,1) var(--anim-delay),clip-path var(--anim-duration) cubic-bezier(.16,1,.3,1) var(--anim-delay);will-change:opacity,transform}.js [data-anim][data-anim-ready]{animation:none}.js [data-anim].is-inview{opacity:1;transform:none;filter:none;clip-path:inset(0 0 0 0)}.js [data-anim=fade-up]{transform:translateY(32px)}.js [data-anim=fade-down]{transform:translateY(-32px)}.js [data-anim=fade-left]{transform:translate(40px)}.js [data-anim=fade-right]{transform:translate(-40px)}.js [data-anim=zoom-in]{transform:scale(.92)}.js [data-anim=zoom-out]{transform:scale(1.08)}.js [data-anim=blur-in]{filter:blur(12px);transform:scale(1.02)}.js [data-anim=clip-up]{clip-path:inset(100% 0 0 0);opacity:1}@media(prefers-reduced-motion:reduce){.js [data-anim]{opacity:1!important;transform:none!important;filter:none!important;clip-path:none!important;transition:none!important}}@keyframes anim-failsafe{to{opacity:1;transform:none;filter:none;clip-path:inset(0 0 0 0)}}[data-marquee]{overflow:hidden}[data-marquee].is-ready [data-marquee-track]{animation:marquee var(--marquee-duration, 20s) linear infinite}[data-marquee]:hover [data-marquee-track]{animation-play-state:paused}[data-marquee-track]{display:flex;width:max-content}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(calc(var(--marquee-distance) * -1))}}@media(prefers-reduced-motion:reduce){[data-marquee].is-ready [data-marquee-track]{animation:none}}[data-accordion-panel]{overflow:hidden;max-height:0;transition:max-height .35s cubic-bezier(.16,1,.3,1)}.header{position:fixed;inset:0 0 auto;z-index:100;background:#fff;box-shadow:0 1px #e4e7ea;transition:box-shadow .35s}.header.is-scrolled{box-shadow:0 8px 24px #05161a14}.header__bar{width:min(100% - 48px,1240px);margin-inline:auto;height:64px;display:flex;align-items:center;justify-content:space-between;gap:16px}@media(min-width:1000px){.header__bar{height:72px}}.header__logo img{height:34px;width:auto}@media(min-width:1000px){.header__logo img{height:46px}}.header__tel{display:none;text-align:right;line-height:1.2}@media(min-width:1000px){.header__tel{display:block}}.header__tel-number{font-family:"Noto Serif JP",serif;font-size:2rem;font-weight:700;color:#05161a;letter-spacing:.02em}.header__tel-hours{font-size:.8rem;color:#2e332fbf}.header__nav{display:none;border-top:1px solid #e4e7ea}@media(min-width:1000px){.header__nav{display:block}}.header__list{width:min(100% - 48px,1240px);margin-inline:auto;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;height:46px}.header__item{display:flex;align-items:center}.header__item:after{content:"";width:1px;height:14px;background:#c9ced3}.header__item:last-child:after{display:none}.header__link{padding:0 16px;font-size:.9rem;font-weight:500;white-space:nowrap;transition:color .2s}.header__link:hover,.header__link.is-active{color:#086ac5}.header__menu-button{width:44px;height:44px;background:none;border:0;cursor:pointer;position:relative;flex:none}@media(min-width:1000px){.header__menu-button{display:none}}.header__menu-button span{position:absolute;left:11px;width:22px;height:2px;background:#05161a;transition:transform .35s cubic-bezier(.16,1,.3,1),opacity .2s}.header__menu-button span:nth-child(1){top:15px}.header__menu-button span:nth-child(2){top:21px}.header__menu-button span:nth-child(3){top:27px}.header__menu-button[aria-expanded=true] span:nth-child(1){transform:translateY(6px) rotate(45deg)}.header__menu-button[aria-expanded=true] span:nth-child(2){opacity:0}.header__menu-button[aria-expanded=true] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.header__drawer{position:fixed;inset:64px 0 0;background:#fff;padding:24px;overflow-y:auto;transform:translateY(-8px);opacity:0;pointer-events:none;transition:opacity .35s cubic-bezier(.16,1,.3,1),transform .35s cubic-bezier(.16,1,.3,1)}.header__drawer.is-open{transform:translateY(0);opacity:1;pointer-events:auto}@media(min-width:1000px){.header__drawer{display:none}}.header__drawer-link{display:block;padding:16px 0;border-bottom:1px solid #f2f2f2;font-weight:500}.header__drawer-actions{display:grid;gap:16px;margin-top:24px}.sticky-cta{position:fixed;inset:auto 0 0;z-index:90;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:8px;background:#fffffff0;backdrop-filter:blur(8px);box-shadow:0 -2px 12px #05161a1f}@media(min-width:1000px){.sticky-cta{display:none}}.sticky-cta .button{padding:12px 8px;font-size:.95rem;box-shadow:none}body{padding-bottom:72px}@media(min-width:1000px){body{padding-bottom:0}}.footer{background:#05161a;color:#ffffffbf;padding-block:80px 48px;text-align:center}.footer__logo img{height:44px;width:auto;margin:0 auto 24px;filter:brightness(0) invert(1)}.footer__links{display:flex;flex-wrap:wrap;justify-content:center;gap:16px 48px;margin-bottom:24px;font-size:.9rem}.footer__link:hover{color:#fff;text-decoration:underline}.footer__company{font-size:.85rem;line-height:2;color:#fff9}.footer__copyright{margin-top:24px;padding-top:24px;border-top:1px solid rgba(255,255,255,.12);font-size:.75rem;color:#ffffff80}.footer__lang{display:flex;justify-content:center;gap:16px;margin-bottom:24px;font-size:.85rem}.footer__lang a.is-current{color:#fff;font-weight:700;text-decoration:underline}
