@charset "UTF-8";/*!
 * Yoshida Kobo - Stylesheet entry
 * 本ファイルが Vite/PostCSS により単一の dist/assets/css/style.css に集約される
 *
 * Last Updated: 2026-05-18
 *//*!
 * Yoshida Kobo - base.css
 * 本案件版 base（白基調 utility-first）
 *
 * 命名規則:
 *   fs-x{size}      : font-size （fs-x10 → 1.0rem）
 *   fw-{weight}     : font-weight
 *   fc-{name}       : font-color
 *   bgc-{name}      : background-color
 *   mt/mb/ml/mr-{size} : margin
 *   mh/mv-{size}    : margin horizontal / vertical
 *   pt/pb/pl/pr-{size} : padding
 *   ph/pv-{size}    : padding horizontal / vertical
 *   w{n}            : width n% (PCサイズ)
 *   w{n}tab         : width n% (タブレット時)
 *   w{n}sp          : width n% (スマホ時)
 *
 * ブレークポイント:
 *   ltab : max-width 1024px
 *   tab  : max-width 768px
 *   sp   : max-width 560px
 *
 * Last Updated: 2026-05-18
 */:root{--c-bg: #FFFFFF;--c-bg-off: #FAFAFA;--c-bg-sub: #F7F7F7;--c-bg-paper: #F4F2EE;--c-text: #1a1a1a;--c-text-sub: #555555;--c-text-muted: #888888;--c-divider: #DDDDDD;--c-border: #E5E5E5;--c-accent: #1a1a1a;--c-gold: #B8941F;--c-link: #1a1a1a;--c-link-hover: #555555;--c-overlay-dark: rgba(0, 0, 0, .35);--ff-jp: "Zen Kaku Gothic Antique", "Yu Gothic", YuGothic, "Hiragino Sans", Meiryo, sans-serif;--ff-en: "Google Sans Flex", "Inter", "Helvetica Neue", Arial, sans-serif;--lh-tight: 1.3;--lh-base: 1.7;--lh-loose: 1.9;--ls-tight: -.01em;--ls-base: .02em;--ls-wide: .08em;--sp-tiny: 4px;--sp-xsmall: 8px;--sp-small: 16px;--sp-medium: 24px;--sp-large: 40px;--sp-xlarge: 64px;--sp-huge: 96px;--container-max: 1280px;--container-pad: 40px;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-in: cubic-bezier(.55, 0, .68, .53);--dur-fast: .2s;--dur-base: .35s;--dur-slow: .6s}*,*:before,*:after{box-sizing:border-box}html{font-size:62.5%;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;overflow-x:hidden}body{margin:0;background:var(--c-bg);color:var(--c-text);font-family:var(--ff-jp);font-size:1.6rem;line-height:var(--lh-base);letter-spacing:var(--ls-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}main{overflow-x:hidden}body[lang=en]{font-family:var(--ff-en);font-weight:300}h1,h2,h3,h4,h5,h6{margin:0;font-weight:500;line-height:var(--lh-tight)}p{margin:0}a{color:var(--c-link);text-decoration:none;transition:color var(--dur-fast) var(--ease-out)}a:hover{color:var(--c-link-hover)}img,picture,video,svg{display:block;max-width:100%;height:auto}button{font-family:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}input,textarea,select{font-family:inherit;font-size:inherit;color:inherit}ul,ol{margin:0;padding:0;list-style:none}table{border-collapse:collapse;border-spacing:0}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.container{width:96%;max-width:none;margin-inline:auto;padding-inline:0}.d-none{display:none!important}.d-block{display:block}.d-inline{display:inline}.d-inline-block{display:inline-block}.d-flex{display:flex}.d-grid{display:grid}.fd-row{flex-direction:row}.fd-row-rev{flex-direction:row-reverse}.fd-col{flex-direction:column}.fd-col-rev{flex-direction:column-reverse}.fw-wrap{flex-wrap:wrap}.fw-nowrap{flex-wrap:nowrap}.jc-start{justify-content:flex-start}.jc-center{justify-content:center}.jc-end{justify-content:flex-end}.jc-between{justify-content:space-between}.jc-around{justify-content:space-around}.ai-start{align-items:flex-start}.ai-center{align-items:center}.ai-end{align-items:flex-end}.ai-baseline{align-items:baseline}.ai-stretch{align-items:stretch}.fs-x10{font-size:1rem}.fs-x11{font-size:1.1rem}.fs-x12{font-size:1.2rem}.fs-x13{font-size:1.3rem}.fs-x14{font-size:1.4rem}.fs-x15{font-size:1.5rem}.fs-x16{font-size:1.6rem}.fs-x17{font-size:1.7rem}.fs-x18{font-size:1.8rem}.fs-x20{font-size:2rem}.fs-x22{font-size:2.2rem}.fs-x24{font-size:2.4rem}.fs-x28{font-size:2.8rem}.fs-x32{font-size:3.2rem}.fs-x36{font-size:3.6rem}.fs-x40{font-size:4rem}.fs-x48{font-size:4.8rem}.fs-x56{font-size:5.6rem}.fs-x64{font-size:6.4rem}.fs-x72{font-size:7.2rem}.fs-x80{font-size:8rem}.fw-100{font-weight:100}.fw-200{font-weight:200}.fw-300{font-weight:300}.fw-400{font-weight:400}.fw-500{font-weight:500}.fw-600{font-weight:600}.fw-700{font-weight:700}.fw-800{font-weight:800}.fw-900{font-weight:900}.ff-jp{font-family:var(--ff-jp)}.ff-en{font-family:var(--ff-en)}.ls-tight{letter-spacing:var(--ls-tight)}.ls-base{letter-spacing:var(--ls-base)}.ls-wide{letter-spacing:var(--ls-wide)}.lh-tight{line-height:var(--lh-tight)}.lh-base{line-height:var(--lh-base)}.lh-loose{line-height:var(--lh-loose)}.ta-left{text-align:left}.ta-center{text-align:center}.ta-right{text-align:right}.fc-text{color:var(--c-text)}.fc-sub{color:var(--c-text-sub)}.fc-muted,.fc-grey{color:var(--c-text-muted)}.fc-white{color:#fff}.fc-accent{color:var(--c-accent)}.bgc-bg{background-color:var(--c-bg)}.bgc-off{background-color:var(--c-bg-off)}.bgc-paper{background-color:var(--c-bg-paper)}.bgc-text{background-color:var(--c-text)}.bgc-white{background-color:#fff}.bgc-black{background-color:#1a1a1a}.bgc-overlay{background-color:var(--c-overlay-dark)}.m-auto{margin:auto}.m-0{margin:0}.mt-tiny{margin-top:var(--sp-tiny)}.mt-xsmall{margin-top:var(--sp-xsmall)}.mt-small{margin-top:var(--sp-small)}.mt-medium{margin-top:var(--sp-medium)}.mt-large{margin-top:var(--sp-large)}.mt-xlarge{margin-top:var(--sp-xlarge)}.mt-huge{margin-top:var(--sp-huge)}.mb-tiny{margin-bottom:var(--sp-tiny)}.mb-xsmall{margin-bottom:var(--sp-xsmall)}.mb-small{margin-bottom:var(--sp-small)}.mb-medium{margin-bottom:var(--sp-medium)}.mb-large{margin-bottom:var(--sp-large)}.mb-xlarge{margin-bottom:var(--sp-xlarge)}.mb-huge{margin-bottom:var(--sp-huge)}.ml-auto{margin-left:auto}.mr-auto{margin-right:auto}.mh-auto{margin-inline:auto}.mv-medium{margin-block:var(--sp-medium)}.mv-large{margin-block:var(--sp-large)}.mv-xlarge{margin-block:var(--sp-xlarge)}.p-0{padding:0}.pt-small{padding-top:var(--sp-small)}.pt-medium{padding-top:var(--sp-medium)}.pt-large{padding-top:var(--sp-large)}.pt-xlarge{padding-top:var(--sp-xlarge)}.pt-huge{padding-top:var(--sp-huge)}.pb-small{padding-bottom:var(--sp-small)}.pb-medium{padding-bottom:var(--sp-medium)}.pb-large{padding-bottom:var(--sp-large)}.pb-xlarge{padding-bottom:var(--sp-xlarge)}.pb-huge{padding-bottom:var(--sp-huge)}.pv-medium{padding-block:var(--sp-medium)}.pv-large{padding-block:var(--sp-large)}.pv-xlarge{padding-block:var(--sp-xlarge)}.pv-huge{padding-block:var(--sp-huge)}.ph-medium{padding-inline:var(--sp-medium)}.ph-large{padding-inline:var(--sp-large)}.w10{width:10%}.w20{width:20%}.w25{width:25%}.w30{width:30%}.w33{width:33.3333%}.w40{width:40%}.w50{width:50%}.w60{width:60%}.w66{width:66.6666%}.w70{width:70%}.w75{width:75%}.w80{width:80%}.w90{width:90%}.w100{width:100%}.w-auto{width:auto}@media all and (max-width: 1024px){.w25ltab{width:25%}.w33ltab{width:33.3333%}.w50ltab{width:50%}.w100ltab{width:100%}.d-none-ltab{display:none!important}}@media all and (max-width: 768px){.w25tab{width:25%}.w33tab{width:33.3333%}.w50tab{width:50%}.w100tab{width:100%}.d-none-tab{display:none!important}.d-block-tab{display:block!important}.ta-center-tab{text-align:center}}@media all and (max-width: 560px){.w50sp{width:50%}.w100sp{width:100%}.d-none-sp{display:none!important}.d-block-sp{display:block!important}.ta-center-sp{text-align:center}}.pos-static{position:static}.pos-relative{position:relative}.pos-absolute{position:absolute}.pos-fixed{position:fixed}.pos-sticky{position:sticky}.of-hidden{overflow:hidden}.of-auto{overflow:auto}.cs-pointer{cursor:pointer}.cs-default{cursor:default}.cs-not-allowed{cursor:not-allowed}.us-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:#f0f0f0}::-webkit-scrollbar-thumb{background:#bbb;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#999}*{scrollbar-width:thin;scrollbar-color:#BBBBBB #F0F0F0}:focus-visible{outline:2px solid var(--c-accent);outline-offset:2px}::-moz-selection{background:var(--c-text);color:#fff}::selection{background:var(--c-text);color:#fff}.fc-offBlack{color:#1a1a1a}.fc-textMuted{color:#888}.bgc-offWhite{background-color:#fafafa}.bgc-paper{background-color:#f4f2ee}.section-gap{margin-block:96px}.section-gap-sm{margin-block:64px}@media all and (max-width: 768px){.section-gap{margin-block:64px}.section-gap-sm{margin-block:48px}}@media all and (max-width: 560px){.section-gap{margin-block:48px}.section-gap-sm{margin-block:32px}}::view-transition-old(root),::view-transition-new(root){animation-duration:.35s;animation-timing-function:cubic-bezier(.22,1,.36,1)}::view-transition-old(root){animation:yk-fade-out-blur .35s forwards}::view-transition-new(root){animation:yk-fade-in .35s forwards}@keyframes yk-fade-out-blur{to{opacity:0;filter:blur(8px)}}@keyframes yk-fade-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion: reduce){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}.header{position:fixed;top:0;left:0;right:0;z-index:100;background:#ffffffeb;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.header__inner{display:flex;align-items:center;justify-content:space-between;width:96%;margin-inline:auto;padding-block:20px}.header__logo{display:inline-block}.header__logo-image{height:36px;width:auto}.header__right,.header__nav{display:flex;align-items:center;gap:32px}.header__nav-link{font-size:1.4rem;letter-spacing:.05em;color:var(--c-text)}.header__nav-link.is-current{font-weight:600}.header__hamburger{display:none;position:fixed;top:22px;right:2%;width:32px;height:32px;z-index:1000;background:none;border:0;cursor:pointer;padding:0}.header__hamburger-line{position:absolute;left:4px;width:24px;height:1.5px;background:var(--c-text);transition:top .3s var(--ease-out),transform .3s var(--ease-out),opacity .3s ease,background-color .3s ease}.header__hamburger-line:nth-child(1){top:10px}.header__hamburger-line:nth-child(2){top:15.25px}.header__hamburger-line:nth-child(3){top:20.5px}.header__hamburger.is-open .header__hamburger-line{background:#fff}.header__hamburger.is-open .header__hamburger-line:nth-child(1){top:15.25px;transform:rotate(45deg)}.header__hamburger.is-open .header__hamburger-line:nth-child(2){opacity:0}.header__hamburger.is-open .header__hamburger-line:nth-child(3){top:15.25px;transform:rotate(-45deg)}@media all and (max-width: 768px){.header__inner{padding-block:16px}.header__nav{display:none}.header__hamburger{display:block;top:18px}.header__right{gap:16px;padding-right:48px}}.nav-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:500;background:#1a1a1a;transform:translateY(100%);transition:transform .6s var(--ease-out);overflow-y:auto;overscroll-behavior:contain;color:#fff}.nav-overlay.is-open{transform:translateY(0)}.nav-overlay__inner{display:flex;flex-direction:column;padding:100px 24px 48px;min-height:100%}.nav-overlay__nav{display:flex;flex-direction:column;margin-bottom:32px}.nav-overlay__link{display:block;padding:16px 0;font-size:2.2rem;font-weight:500;letter-spacing:.08em;color:#fff;border-bottom:1px solid rgba(255,255,255,.12);transition:opacity .2s ease}.nav-overlay__link:first-child{border-top:1px solid rgba(255,255,255,.12)}@media (hover: hover){.nav-overlay__link:hover{opacity:.55}}.nav-overlay__btns{display:flex;flex-direction:column;gap:12px;margin-bottom:40px}.nav-overlay .btn{width:100%;background:transparent;border-color:#ffffff80;color:#fff}.nav-overlay .btn:before{background:#fff}.nav-overlay .btn:hover{color:#1a1a1a}.nav-overlay__social{margin-top:auto;padding-top:8px}.nav-overlay__social-link{display:inline-flex;align-items:center;gap:10px;color:#fff9;font-size:1.4rem;letter-spacing:.1em;transition:color .2s ease}@media (hover: hover){.nav-overlay__social-link:hover{color:#fff}}body.is-nav-open{overflow:hidden}@media (prefers-reduced-motion: reduce){.nav-overlay{transition:opacity .2s ease;opacity:0;transform:translateY(0)}.nav-overlay.is-open{opacity:1}}.footer{margin-top:96px;padding-top:64px;background:var(--c-bg-off);color:var(--c-text)}.footer__inner{display:flex;flex-direction:column;align-items:center;text-align:center;gap:24px;width:96%;margin-inline:auto}.footer__logo-link{display:inline-block}.footer__logo{display:block;height:32px;width:auto}.footer__address{line-height:1.7}.footer__btns{display:flex;flex-direction:row;gap:16px;justify-content:center}.footer__btn-tel,.footer__btn-contact{min-width:200px}.footer__social{display:flex;justify-content:center}.footer__social-link{display:inline-flex;align-items:center;gap:8px;color:var(--c-text-muted);font-size:1.3rem;letter-spacing:.05em;transition:color .2s ease}.footer__social-link:hover{color:var(--c-text)}.footer__bottom{display:flex;justify-content:space-between;align-items:center;width:96%;margin:48px auto 0;padding:24px 0;border-top:1px solid var(--c-border);font-size:1.2rem;color:var(--c-text-muted)}.footer__cookie-reset{color:var(--c-text-muted);text-decoration:underline;text-underline-offset:3px;font-size:1.2rem}@media all and (max-width: 768px){.footer__btns{flex-direction:column;align-items:stretch;width:100%;max-width:320px}.footer__btn-tel,.footer__btn-contact{min-width:unset;width:100%}.footer__bottom{flex-direction:column;gap:12px}}.lang-switcher{display:inline-flex;gap:8px;font-size:1.3rem;letter-spacing:.05em}.lang-switcher__link{color:var(--c-text-muted);padding:4px 6px;transition:color var(--dur-fast) var(--ease-out)}.lang-switcher__link.is-current{color:var(--c-text);font-weight:600}.lang-switcher__link.is-disabled{color:var(--c-divider);cursor:not-allowed;pointer-events:none}.hero{position:relative;height:100vh;height:100svh;overflow:hidden;clip-path:inset(0);background:var(--c-bg)}.hero__slides{position:absolute;top:0;right:0;bottom:0;left:0}.hero__slide{position:absolute;top:0;right:0;bottom:0;left:0;display:block;opacity:0;filter:blur(24px);transition:opacity 1s ease-in-out,filter .8s var(--ease-out);will-change:opacity,filter}.hero__slide img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.hero__slide.is-active{opacity:1}.hero__slide.is-revealed{filter:blur(0)}.hero__mask{position:absolute;left:0;width:100%;height:33.34%;background:var(--c-bg);transition:transform 1s var(--ease-out);z-index:1;pointer-events:none;will-change:transform}.hero__mask--row1{top:0}.hero__mask--row2{top:33.33%}.hero__mask--row3{top:66.66%}.hero__mask--row1.is-revealed{transform:translate(100%)}.hero__mask--row2.is-revealed{transform:translate(-100%)}.hero__mask--row3.is-revealed{transform:translate(100%)}.hero__timer{position:absolute;left:0;right:0;bottom:0;height:1px;background:transparent;z-index:2;pointer-events:none}.hero__timer-bar{width:0;height:100%;background:var(--c-gold)}.hero__timer-bar.is-running{width:100%;transition:width 5s linear}@media (prefers-reduced-motion: reduce){.hero__mask{display:none}.hero__slide{transition:none;filter:none}.hero__timer-bar{transition:none}.hero__timer-bar.is-running{width:100%;transition:none}}.breadcrumb{display:flex;align-items:center;gap:8px;font-size:1.2rem;color:var(--c-text-muted)}.breadcrumb__sep{color:var(--c-divider)}.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 36px;font-size:1.4rem;letter-spacing:.1em;border:1px solid var(--c-text);background:#fff;color:var(--c-text);cursor:pointer;overflow:hidden;isolation:isolate;transition:color .45s cubic-bezier(.22,1,.36,1)}.btn:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--c-text);transform:scaleX(0);transform-origin:left;transition:transform .55s cubic-bezier(.22,1,.36,1);z-index:-1}.btn:hover{color:#fff}.btn:hover:before{transform:scaleX(1)}.btn:focus-visible{outline:2px solid var(--c-accent);outline-offset:3px}.btn--primary{background:var(--c-text);color:#fff;border-color:var(--c-text);transition:background-color .4s cubic-bezier(.22,1,.36,1),border-color .4s cubic-bezier(.22,1,.36,1)}.btn--primary:before{display:none}.btn--primary:hover{background:#3a3a3a;border-color:#3a3a3a;color:#fff}.section-title{display:inline-flex;flex-direction:column;gap:10px;align-items:flex-start;margin-bottom:48px}.section-title--center{align-items:center}.section-title__main{font-size:4.4rem;font-weight:300;line-height:1}.section-title__sub{font-size:1.2rem;letter-spacing:.3em}h3.section-title{display:flex;align-items:center;width:100%;margin-bottom:50px}@media all and (max-width: 1024px){.section-title__main{font-size:3.6rem}.section-title{margin-bottom:40px}}@media all and (max-width: 560px){.section-title__main{font-size:3rem}.section-title__sub{font-size:1.1rem}.section-title{margin-bottom:32px}}.page-hero{padding-block:120px 0}.page-hero__title{font-size:2.4rem;font-weight:300;line-height:1;color:var(--c-text);margin-bottom:24px}.page-hero__catch{display:flex;flex-direction:column;gap:6px}.page-hero__catch-line{display:block;font-size:4.2rem;font-weight:500;line-height:1.45;color:var(--c-text)}@media all and (max-width: 1024px){.page-hero{padding-block:72px 48px}.page-hero__catch-line{font-size:2.6rem}}@media all and (max-width: 768px){.page-hero{padding-block:120px 32px}.page-hero__title{font-size:2.4rem;margin-bottom:16px}.page-hero__catch-line{font-size:2.8rem}}@media all and (max-width: 560px){.page-hero{padding-block:120px 32px}.page-hero__title{font-size:2.4rem}.page-hero__catch-line{font-size:2.8rem}}.works-card{position:relative;display:block;overflow:hidden;border-radius:10px;background:var(--c-bg-sub);color:inherit;cursor:pointer;aspect-ratio:4 / 3}.works-card__image{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .5s var(--ease-out);will-change:transform}.works-card__overlay{position:absolute;left:10px;bottom:10px;display:inline-block;padding:10px 14px;border-radius:6px;background:#00000073;backdrop-filter:blur(10px) saturate(160%);-webkit-backdrop-filter:blur(10px) saturate(160%);color:#fff;text-align:left;opacity:0;transform:translateY(6px);transition:opacity .4s var(--ease-out),transform .4s var(--ease-out);pointer-events:none;max-width:calc(100% - 20px)}.works-card__name{font-size:1.6rem;font-weight:500;line-height:1.4}.works-card__meta{margin-top:4px;display:flex;gap:8px;font-size:1.1rem;opacity:.85}@media (hover: hover){.works-card:hover .works-card__image,.works-card:focus-visible .works-card__image{transform:scale(1.1)}.works-card:hover .works-card__overlay,.works-card:focus-visible .works-card__overlay{opacity:1;transform:translateY(0)}}.works-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}@media all and (max-width: 1200px){.works-grid{grid-template-columns:repeat(3,1fr)}}@media all and (max-width: 768px){.works-grid{grid-template-columns:repeat(2,1fr)}}@media all and (max-width: 480px){.works-grid{grid-template-columns:1fr}}.works-filter{margin:40px 0 60px}.works-filter__list{display:flex;gap:32px;list-style:none;padding:0;margin:0}.works-filter__btn{position:relative;display:inline-block;padding:8px 0;background:none;border:0;font-family:inherit;font-size:1.6rem;letter-spacing:.05em;color:#888;cursor:pointer;transition:color .25s ease}.works-filter__btn:hover,.works-filter__btn:focus-visible{color:var(--c-text);outline:none}.works-filter__btn.is-active{color:var(--c-text)}.works-filter__btn.is-active:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--c-text)}@media all and (max-width: 560px){.works-filter{margin:24px -20px 32px;padding:0 20px}.works-filter__list{flex-wrap:nowrap;gap:24px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.works-filter__list::-webkit-scrollbar{display:none}.works-filter__btn{flex-shrink:0;white-space:nowrap}}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9000;display:none;background:#00000080}.modal.is-open{display:block}.modal__panel{max-width:720px;margin:10vh auto;background:var(--c-bg);padding:40px}.works-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9100;display:flex;align-items:center;justify-content:center;background:#0000;backdrop-filter:blur(0px) saturate(100%);-webkit-backdrop-filter:blur(0px) saturate(100%);pointer-events:none;transition:background .35s ease,backdrop-filter .35s ease}.works-modal.is-open{background:#0000004d;backdrop-filter:blur(8px) saturate(160%);-webkit-backdrop-filter:blur(8px) saturate(160%);pointer-events:auto}.works-modal__panel{position:relative;width:96vw;height:95vh;background:#fff;border-radius:10px;display:flex;flex-direction:column;overflow:hidden;transform:translateY(40px);opacity:0;transition:transform .45s cubic-bezier(.22,1,.36,1),opacity .35s ease}.works-modal.is-open .works-modal__panel{transform:translateY(0);opacity:1}.works-modal__close{position:absolute;top:16px;right:16px;z-index:20;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border:none;border-radius:50%;background:#ffffffd9;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);cursor:pointer;color:var(--c-text, #111);transition:background .2s ease,transform .2s ease}.works-modal__close:hover{background:#0000001a;transform:scale(1.1)}.works-modal__close:focus-visible{outline:2px solid var(--c-text, #111);outline-offset:3px}.works-modal__close svg{width:18px;height:18px;display:block;pointer-events:none}.works-modal__hero{display:none;flex-shrink:0}.works-modal__hero-img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.works-modal__body{display:flex;flex:1;min-height:0;overflow:hidden}.works-modal__info{flex:0 0 30%;min-height:0;overflow-y:auto;padding:56px 32px 40px;border-right:1px solid rgba(0,0,0,.08);display:flex;flex-direction:column;gap:20px}.works-modal__cat{font-size:1.1rem;letter-spacing:.18em;text-transform:uppercase;color:var(--c-muted, #888)}.works-modal__title{font-size:2rem;font-weight:500;line-height:1.5;letter-spacing:.04em;color:var(--c-text, #111)}.works-modal__meta{display:flex;flex-direction:column;gap:0}.works-modal__meta dt{font-size:1rem;letter-spacing:.12em;color:var(--c-muted, #888);margin-bottom:4px}.works-modal__meta dd{margin:0 0 14px;font-size:1.3rem;color:var(--c-text, #111)}.works-modal__meta dd:last-of-type{margin-bottom:0}.works-modal__desc{font-size:1.3rem;line-height:1.85;color:var(--c-text-sub, #555);margin-top:auto}.works-modal__tags{display:flex;flex-wrap:wrap;gap:8px}.works-modal__tag{font-size:1.1rem;letter-spacing:.08em;color:var(--c-muted, #888)}.works-modal__gallery{flex:1;min-height:0;overflow-y:auto;padding:48px 48px 48px 32px;overscroll-behavior:contain}.works-modal__gallery:focus{outline:none}.works-modal__figure{display:block;margin:0 0 20px}.works-modal__figure:last-child{margin-bottom:0}.works-modal__figure-img{width:100%;height:auto;display:block;border-radius:4px}@media all and (max-width: 1200px){.works-modal__info{padding:48px 24px 32px}.works-modal__gallery{padding:40px 32px 40px 24px}}@media all and (max-width: 1024px){.works-modal__title{font-size:1.8rem}}@media all and (max-width: 768px){.works-modal__panel{width:96vw;height:90vh;border-radius:10px}.works-modal__hero{display:none}.works-modal__sp-hero{width:100%;flex-shrink:0}.works-modal__sp-hero img{width:100%;height:auto;display:block}.works-modal__body{flex-direction:column;overflow-y:auto;overflow-x:hidden}.works-modal__info{flex:0 0 auto;min-height:unset;overflow-y:visible;border-right:none;border-bottom:1px solid rgba(0,0,0,.08);padding:24px 20px;gap:12px}.works-modal__title{font-size:1.8rem}.works-modal__desc{margin-top:0}.works-modal__gallery{flex:0 0 auto;min-height:unset;overflow-y:visible;padding:20px}.works-modal__figure{margin-bottom:12px}}@media all and (max-width: 480px){.works-modal__title{font-size:1.6rem}.works-modal__close{top:10px;right:10px}}@media (prefers-reduced-motion: reduce){.works-modal,.works-modal__panel{transition:none}}.form{display:grid;gap:24px}.form__label{display:block;font-size:1.4rem;font-weight:500;margin-bottom:8px}.form__required{display:inline-block;margin-left:6px;padding:2px 6px;font-size:1.1rem;background:var(--c-text);color:#fff}.form__input,.form__textarea{width:100%;padding:12px 16px;font-size:1.6rem;border:1px solid var(--c-border);background:var(--c-bg);color:var(--c-text);transition:border-color var(--dur-fast) var(--ease-out)}.form__input:focus,.form__textarea:focus{border-color:var(--c-text);outline:none}.form__textarea{min-height:200px;resize:vertical}.form__error{margin-top:6px;font-size:1.2rem;color:#c0392b}.form__error-banner{padding:14px 18px;font-size:1.4rem;color:#7b1a1a;background:#fef2f2;border:1px solid #FECACA;line-height:1.6}.form__error-banner[hidden]{display:none}.form__honeypot{position:absolute;left:-9999px;top:-9999px;opacity:0;pointer-events:none}.recaptcha-notice{display:block;margin-top:16px;font-size:1.1rem;color:var(--c-text-muted)}.recaptcha-notice a{color:var(--c-text-muted);text-decoration:underline}.cookie-banner{position:fixed;left:0;right:0;bottom:0;z-index:9000;background:#fffffff7;border-top:1px solid #DDDDDD;box-shadow:0 -4px 24px #0000000f;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:var(--c-text);font-size:1.4rem;line-height:1.7;opacity:0;transform:translateY(8px);transition:opacity .35s ease,transform .35s ease}.cookie-banner[hidden]{display:none!important}.cookie-banner.is-visible{opacity:1;transform:translateY(0)}.cookie-banner__inner{display:flex;align-items:center;justify-content:space-between;gap:32px;max-width:1280px;margin:0 auto;padding:20px 40px}.cookie-banner__text{flex:1;margin:0;color:var(--c-text)}.cookie-banner__link{color:var(--c-text);text-decoration:underline;text-underline-offset:3px}.cookie-banner__link:hover{text-decoration:none}.cookie-banner__actions{flex-shrink:0;display:flex;gap:12px}.cookie-banner__btn{padding:10px 24px;background:none;border:1px solid var(--c-text);font-family:inherit;font-size:1.4rem;color:var(--c-text);cursor:pointer;transition:background-color .25s ease,color .25s ease}.cookie-banner__btn--accept{background:var(--c-text);color:#fff}.cookie-banner__btn:hover,.cookie-banner__btn:focus-visible{outline:none}.cookie-banner__btn--decline:hover,.cookie-banner__btn--decline:focus-visible{background:var(--c-text);color:#fff}.cookie-banner__btn--accept:hover,.cookie-banner__btn--accept:focus-visible{background:#444;border-color:#444}@media all and (max-width: 768px){.cookie-banner__inner{padding:16px 24px;gap:16px}}@media all and (max-width: 560px){.cookie-banner__inner{flex-direction:column;align-items:stretch;padding:16px 20px;gap:12px}.cookie-banner__text{font-size:1.3rem}.cookie-banner__actions{justify-content:stretch}.cookie-banner__btn{flex:1;padding:12px 0;text-align:center}}.loader{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;display:flex;align-items:center;justify-content:center;background:var(--c-bg);opacity:1;transition:opacity .5s ease}.loader[hidden]{display:none!important}.loader.is-hiding{opacity:0;pointer-events:none}.loader__inner{display:flex;flex-direction:column;align-items:center;gap:28px}.loader__logo{width:100px;height:100px;background-color:var(--c-text);-webkit-mask-image:var(--logo-url);mask-image:var(--logo-url);-webkit-mask-size:contain;mask-size:contain;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;clip-path:inset(var(--loader-fill, 100%) 0 0 0);transition:clip-path .12s linear}.loader__percent{font-family:var(--ff-en);font-size:1.3rem;letter-spacing:.15em;color:var(--c-text);font-variant-numeric:tabular-nums}body.is-loading{overflow:hidden}@media all and (max-width: 560px){.loader__logo{width:80px;height:80px}}@media (prefers-reduced-motion: reduce){.loader__logo{transition:none}}.back-to-top{position:fixed;bottom:80px;right:32px;z-index:900;width:48px;height:48px;background:#1a1a1a;color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transform:translateY(8px);transition:opacity .3s var(--ease-out),transform .3s var(--ease-out),background-color .2s ease}.back-to-top.is-visible{opacity:1;pointer-events:auto;transform:translateY(0)}.back-to-top:hover{background:#3a3a3a}.back-to-top:focus-visible{outline:2px solid var(--c-accent);outline-offset:3px}@media all and (max-width: 768px){.back-to-top{bottom:24px;right:16px;width:44px;height:44px}}@media (prefers-reduced-motion: reduce){.back-to-top{transition:opacity .2s ease;transform:none}}.featured{overflow:hidden}.featured__header{text-align:center;margin-bottom:80px}.featured__title{display:inline-flex;flex-direction:column;gap:10px;align-items:center}.featured__title-main{font-size:4.4rem;font-weight:300;line-height:1}.featured__title-sub{font-size:1.2rem;letter-spacing:.3em}.featured__grid{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(6,1fr);gap:5px;aspect-ratio:3 / 4}.featured__item:nth-child(1){grid-column:1 / 3;grid-row:1 / 3}.featured__item:nth-child(2){grid-column:3 / 4;grid-row:1 / 2}.featured__item:nth-child(3){grid-column:3 / 4;grid-row:2 / 3}.featured__item:nth-child(4){grid-column:1 / 2;grid-row:3 / 5}.featured__item:nth-child(5){grid-column:1 / 2;grid-row:5 / 7}.featured__item:nth-child(6){grid-column:2 / 4;grid-row:3 / 7}.featured__item{position:relative;display:block;overflow:hidden;border-radius:10px;background:var(--c-bg-sub);color:inherit;cursor:pointer}.featured__image{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .5s var(--ease-out);will-change:transform}.featured__overlay{position:absolute;left:10px;bottom:10px;display:inline-block;padding:10px 14px;border-radius:6px;background:#00000073;backdrop-filter:blur(10px) saturate(160%);-webkit-backdrop-filter:blur(10px) saturate(160%);color:#fff;text-align:left;opacity:0;transform:translateY(6px);transition:opacity .4s var(--ease-out),transform .4s var(--ease-out);pointer-events:none;max-width:calc(100% - 20px)}.featured__name{font-size:1.6rem;font-weight:500;line-height:1.4;letter-spacing:.02em}.featured__meta{margin-top:4px;display:flex;gap:8px;font-size:1.1rem;letter-spacing:.05em;opacity:.85}.featured__sep{opacity:.6}.featured__item:hover .featured__image,.featured__item:focus-visible .featured__image{transform:scale(1.1)}.featured__item:hover .featured__overlay,.featured__item:focus-visible .featured__overlay{opacity:1;transform:translateY(0)}.featured__cta{text-align:center;margin-top:96px}@media all and (max-width: 1024px){.featured__title-main{font-size:3.6rem}}@media all and (max-width: 768px){.featured__header{margin-bottom:56px}.featured__grid{grid-template-columns:1fr;grid-template-rows:auto;gap:5px;aspect-ratio:auto}.featured__item:nth-child(1),.featured__item:nth-child(2),.featured__item:nth-child(3),.featured__item:nth-child(4),.featured__item:nth-child(5),.featured__item:nth-child(6){grid-column:1;grid-row:auto;aspect-ratio:4 / 3}.featured__cta{margin-top:64px}}@media all and (max-width: 560px){.featured__title-main{font-size:3rem}.featured__title-sub{font-size:1.1rem}.featured__name{font-size:1.8rem}}.company-nav__grid{display:flex;gap:6px;height:clamp(320px,calc(42.7vw - 8px),640px);align-items:stretch}.company-nav__item{flex:1;display:flex;flex-direction:column;text-decoration:none;color:inherit;cursor:pointer;transition:flex .65s cubic-bezier(.22,1,.36,1),opacity .4s cubic-bezier(.22,1,.36,1)}.company-nav__img-wrap{flex:1;min-height:0;position:relative;overflow:hidden;border-radius:4px}.company-nav__img-wrap img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .65s cubic-bezier(.22,1,.36,1)}.company-nav__img-wrap:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#0000;transition:background .45s cubic-bezier(.22,1,.36,1);pointer-events:none}.company-nav__label{margin-top:12px;font-size:2.1rem;letter-spacing:.06em;line-height:1.4;color:var(--c-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .35s ease}@media (hover: hover){.company-nav__grid:has(.company-nav__item:hover) .company-nav__item{flex:.8;opacity:.85}.company-nav__grid:has(.company-nav__item:hover) .company-nav__item:hover{flex:3.2;opacity:1}.company-nav__grid:has(.company-nav__item:hover) .company-nav__img-wrap:after{background:#00000047}.company-nav__grid:has(.company-nav__item:hover) .company-nav__item:hover .company-nav__img-wrap:after{background:#0000}.company-nav__item:hover .company-nav__img-wrap img{transform:scale(1.04)}.company-nav__item:hover .company-nav__label{color:var(--c-gold)}}@media all and (max-width: 768px){.company-nav__grid{flex-direction:column;height:auto;gap:20px}.company-nav__item{flex:none}.company-nav__img-wrap{flex:none;aspect-ratio:16 / 7}.company-nav__img-wrap img{position:absolute}.company-nav__label{font-size:1.8rem;margin-top:10px}}.project-feature{background:var(--c-bg-paper);padding-block:100px}.project-feature__inner{display:grid;grid-template-columns:45fr 55fr;gap:80px;align-items:center}.project-feature__subheading{font-size:1.8rem;font-weight:500;line-height:1.7;letter-spacing:.04em;color:var(--c-text);margin-bottom:24px}.project-feature__body{font-size:1.45rem;line-height:2;color:var(--c-text-sub);margin-bottom:40px}.project-feature__media{border-radius:8px;overflow:hidden;box-shadow:0 12px 40px #0000001a}.project-feature__media img{width:100%;height:auto;display:block}@media all and (max-width: 1200px){.project-feature__inner{gap:56px}.project-feature__subheading{font-size:1.6rem}}@media all and (max-width: 1024px){.project-feature__inner{gap:40px}.project-feature__subheading{font-size:1.5rem}}@media all and (max-width: 768px){.project-feature{padding-block:64px}.project-feature__inner{grid-template-columns:1fr;gap:32px}.project-feature__media{order:-1}.project-feature__subheading{font-size:1.6rem}.project-feature__body{margin-bottom:32px}}@media all and (max-width: 560px){.project-feature{padding-block:48px}.project-feature__subheading{font-size:1.5rem;line-height:1.75}.project-feature__body{font-size:1.4rem}}.recruit{padding-block:56px}.recruit__header{display:grid;grid-template-columns:30fr 70fr;gap:48px;align-items:start;margin-bottom:52px}.recruit__header>.section-title{margin-bottom:0}.recruit__text{display:flex;flex-direction:column;align-items:flex-start;gap:36px;padding-top:6px}.recruit__body{font-size:1.5rem;line-height:2;color:var(--c-text-sub)}.recruit__media{height:clamp(260px,38vw,560px);overflow:hidden;border-radius:8px}.recruit__media img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;display:block}@media all and (max-width: 1200px){.recruit__header{gap:40px}}@media all and (max-width: 1024px){.recruit__header{grid-template-columns:35fr 65fr;gap:32px}}@media all and (max-width: 768px){.recruit__header{grid-template-columns:1fr;gap:0;margin-bottom:32px}.recruit__header>.section-title{margin-bottom:32px}.recruit__text{padding-top:0;gap:24px}.recruit__media{height:auto;aspect-ratio:16 / 9}}@media all and (max-width: 560px){.recruit__body{font-size:1.4rem}}.content-block{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}.content-block--img-left{grid-template-columns:1fr 1fr}.content-block--img-left .content-block__image{order:-1}.content-block__text{display:flex;flex-direction:column;gap:24px}.content-block__image img{width:100%;height:auto;display:block}.page-h4{font-size:2rem;font-weight:500;line-height:1.6;letter-spacing:.05em;color:var(--c-text)}.page-body{font-size:1.5rem;line-height:1.95;color:var(--c-text-sub);letter-spacing:.03em}.page-body+.page-body{margin-top:20px}@media all and (max-width: 1024px){.content-block{gap:48px}.page-h4{font-size:1.8rem}}@media all and (max-width: 768px){.content-block{grid-template-columns:1fr;gap:32px}.content-block--img-left .content-block__image{order:0}.page-h4{font-size:1.7rem}.page-body{font-size:1.4rem}}.company-dl{width:100%;max-width:1280px;margin-inline:auto}.company-dl__row{display:grid;grid-template-columns:180px 1fr;gap:0 32px;padding:20px 0;border-bottom:1px solid var(--c-border);align-items:baseline}.company-dl__row:first-child{border-top:1px solid var(--c-border)}.company-dl__term{font-size:1.3rem;color:var(--c-text-muted);letter-spacing:.08em;line-height:1.6;font-weight:400}.company-dl__desc{font-size:1.5rem;color:var(--c-text);line-height:1.75;margin:0;overflow-wrap:break-word}.company-map{max-width:1280px;margin-inline:auto;margin-top:48px;position:relative;aspect-ratio:16 / 9;overflow:hidden;border-radius:4px}.company-map iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.history-timeline{list-style:none;padding:0;margin:0 auto;max-width:1280px}.history-timeline__item{position:relative;display:grid;grid-template-columns:100px 1fr;gap:0 28px;padding:24px 16px 24px 24px;border-bottom:1px solid var(--c-border);align-items:baseline;border-left:3px solid #000}.history-timeline li:nth-child(odd){background:#f7f7f7}.history-timeline__item:before{content:"";position:absolute;left:-11px;top:50%;transform:translateY(-50%);width:20px;height:20px;border-radius:50%;background:#fff;border:5px solid #000}.history-timeline__year{font-size:1.3rem;color:var(--c-text-muted);letter-spacing:.06em;font-weight:400;line-height:1.6;white-space:nowrap}.history-timeline__text{font-size:1.5rem;color:var(--c-text);line-height:1.75}@media all and (max-width: 768px){.company-dl__row{grid-template-columns:1fr;gap:6px;padding:16px 0}.history-timeline__item{grid-template-columns:80px 1fr;gap:0 16px;padding:20px 12px 20px 20px}}@media all and (max-width: 560px){.history-timeline__item{grid-template-columns:1fr;gap:4px}}.job-section{display:flex;flex-direction:column;gap:48px;max-width:1280px;margin-inline:auto}.job-block__heading{font-size:1.8rem;font-weight:500;margin-bottom:0}.job-dl{width:100%}.job-dl__row{display:grid;grid-template-columns:180px 1fr;gap:0 32px;padding:18px 0;border-bottom:1px solid var(--c-border);align-items:baseline}.job-dl__row:first-child{border-top:1px solid var(--c-border)}.job-dl__term{font-size:1.3rem;color:var(--c-text-muted);letter-spacing:.08em;font-weight:400;line-height:1.6}.job-dl__desc{font-size:1.5rem;color:var(--c-text);line-height:1.75;margin:0;overflow-wrap:break-word}.recruit-contact{background:var(--c-bg-paper);padding:56px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:32px}.recruit-contact__btns{display:flex;gap:24px;flex-wrap:wrap;justify-content:center}.recruit-contact__btns .btn{flex:1;text-align:center;white-space:nowrap}@media all and (max-width: 768px){.job-dl__row{grid-template-columns:1fr;gap:6px;padding:14px 0}.recruit-contact{padding:40px 24px;gap:24px}.recruit-contact__btns{flex-direction:column;align-items:center;gap:16px}.recruit-contact__btns .btn{width:300px;flex:none}}.contact__body{max-width:1280px;margin-inline:auto}.contact__body .form__row.mt-medium,.contact__body .recaptcha-notice{text-align:center}.grecaptcha-badge{visibility:hidden}
