@charset "UTF-8";:root{--color-primary: #f7f2e9;--color-primary-rgb: 247, 242, 233;--color-text: #2f2924;--color-muted: rgba(47, 41, 36, .55);--color-line: rgba(90, 62, 22, .16);--color-key-rgb: 255, 53, 0;--color-key: rgb(var(--color-key-rgb));--color-key-40: rgba(var(--color-key-rgb), .4);--color-key-80: rgba(var(--color-key-rgb), .8);--font-ja: "Noto Sans", "Noto Sans JP", sans-serif;--font-en: Montserrat, sans-serif;--space-section: 36px}@media (max-width: 900px){:root{--fs-8: 2.051vw;--fs-9: 2.308vw;--fs-10: 2.564vw;--fs-11: 2.821vw;--fs-12: 3.077vw;--fs-13: 3.333vw;--fs-14: 3.59vw;--fs-15: 3.846vw;--fs-16: 4.103vw;--fs-17: 4.359vw;--fs-18: 4.615vw;--fs-20: 5.128vw;--fs-21: 5.385vw;--fs-22: 5.641vw;--fs-23: 5.897vw;--fs-24: 6.154vw;--fs-25: 6.41vw;--fs-26: 6.667vw;--fs-28: 7.179vw;--fs-30: 7.692vw;--fs-32: 8.205vw;--fs-60: 15.385vw;--space-section: 6.41vw}}@media (min-width: 601px) and (max-width: 900px){:root{--fs-8: 10.4px;--fs-9: 11.7px;--fs-10: 13px;--fs-11: 14.3px;--fs-12: 15.6px;--fs-13: 16.9px;--fs-14: 18.2px;--fs-15: 19.5px;--fs-16: 20.8px;--fs-17: 22.1px;--fs-18: 23.4px;--fs-20: 26px;--fs-21: 27.3px;--fs-22: 28.6px;--fs-23: 29.9px;--fs-24: 31.2px;--fs-25: 32.5px;--fs-26: 33.8px;--fs-28: 36.4px;--fs-30: 39px;--fs-32: 41.6px;--fs-60: 78px;--space-section: 33px}}*{margin:0;padding:0;box-sizing:border-box}h1,h2,h3,h4,h5,h6{font-size:100%}img{border:none}hr{display:none}a{background-color:transparent}iframe{border:0}html,body{width:100%;font-family:var(--font-ja);color:var(--color-text);letter-spacing:.03em;background:var(--color-primary);overflow-x:clip;-webkit-font-smoothing:antialiased}:before,:after{box-sizing:border-box}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;vertical-align:bottom}input,button,textarea,select{border:none;outline:none;background:none;vertical-align:baseline;font-family:inherit;-webkit-appearance:none;-moz-appearance:none;appearance:none}button{cursor:pointer}[lang=en]{font-family:var(--font-en)}:focus-visible{outline:2px solid currentColor;outline-offset:2px}:where(a,button):focus-visible{outline:3px solid var(--color-key);outline-offset:0;border-radius:8px}.visually-hidden{position:absolute;width:1px;height:1px;border:0;overflow:hidden;padding:0;margin:-1px;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap}.text-link{color:var(--color-key);background-image:linear-gradient(var(--color-key),var(--color-key));background-repeat:no-repeat;background-position:bottom left;background-size:100% 1px;line-height:1.75;overflow-wrap:anywhere;padding-bottom:2px;transition:background-size .4s ease,color .4s ease}@media (hover: hover) and (pointer: fine){.text-link:hover{color:var(--color-key-80);background-position:bottom right;background-size:0 1px}}@media (min-width: 901px){.is-sp{display:none}}@media (max-width: 900px){.is-pc{display:none}}@keyframes riseIn{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}::-webkit-scrollbar{width:3px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#2f292433;border-radius:2px}body:not(.is-opening-done){overflow:hidden;height:100dvh}.page-wrapper{display:grid;grid-template-columns:minmax(0,1fr) 560px;min-height:100vh;background:var(--color-primary)}@media (max-width: 900px){.page-wrapper{grid-template-columns:minmax(0,1fr)}}.panel-left{display:flex;flex-direction:column;align-self:start;height:100dvh;background:transparent;position:sticky;top:0;z-index:1}.panel-left__body{display:flex;flex-direction:column;justify-content:flex-start;flex:1;padding:min(64px,7vh) min(52px,4vw);position:relative;z-index:2}@media (max-width: 900px){.panel-left{height:auto}.panel-left:before{content:"";position:absolute;inset:0;background:rgba(var(--color-primary-rgb),.75);backdrop-filter:blur(10px);opacity:0;pointer-events:none;transition:opacity .3s ease}.is-scrolled .panel-left:before{opacity:1}.is-scrolled .panel-left{z-index:30}}.logo-row--nav{display:flex;justify-content:space-between;align-items:center;flex-shrink:0;width:100%;padding:30px min(52px,4vw);animation:fadeIn .7s ease 0s both}.logo-row{display:flex;align-items:center;flex-shrink:0;text-decoration:none;position:relative}@media (max-width: 900px){.logo-row--nav{height:16.41vw;padding:0 5.128vw}.logo-row img{width:25.641vw}}@media (min-width: 601px) and (max-width: 900px){.logo-row--nav{height:83.2px;padding:0 26px}.logo-row img{width:130px}}.back-link{font-size:11px;font-weight:700;font-family:var(--font-en);color:var(--color-text);letter-spacing:.08em;text-transform:uppercase;text-decoration:none;padding:6px 10px;position:relative;transition:background .15s,color .15s}@media (hover: hover) and (pointer: fine){.back-link:hover{color:#fff;background:var(--color-key)}}@media (max-width: 900px){.back-link{font-size:var(--fs-11);padding:6px 10px}}.panel-right{position:relative;z-index:10;background:rgba(var(--color-primary-rgb),.9);border-left:1px solid var(--color-line);animation:openingPanelIn .8s cubic-bezier(.22,1,.36,1) 2.9s both}.panel-nav{display:flex;gap:20px;background:rgba(var(--color-primary-rgb),.75);backdrop-filter:blur(10px);padding:0 var(--space-section);position:sticky;top:0;z-index:10}.panel-nav__item{display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;font-family:var(--font-en);color:var(--color-text);letter-spacing:.08em;text-decoration:none;text-transform:uppercase;padding:1.7em 0;cursor:pointer;transition:color .15s}@media (hover: hover) and (pointer: fine){.panel-nav__item:hover{color:var(--color-key)}}.panel-right [id]{scroll-margin-top:60px}@media (max-width: 900px){.panel-right{border-left:none;animation:none}.panel-nav{border-top:1px solid var(--color-line);border-bottom:1px solid var(--color-line);top:18.85vw;gap:3.846vw;overflow-x:auto;scrollbar-width:none}.panel-nav::-webkit-scrollbar{display:none}.panel-nav__item{font-size:var(--fs-11);white-space:nowrap;flex-shrink:0}.panel-right [id]{scroll-margin-top:33.94vw}}@media (min-width: 601px) and (max-width: 900px){.panel-nav{top:95.6px}.panel-right [id]{scroll-margin-top:172.1px}}.section-header{display:flex;align-items:center;justify-content:space-between;min-height:60px;border-bottom:1px solid var(--color-line);padding:20px var(--space-section)}.section-label{font-size:11px;font-weight:700;font-family:var(--font-en);color:var(--color-key);letter-spacing:.18em;text-transform:uppercase}@media (max-width: 900px){.section-header{min-height:0;padding:4.615vw var(--space-section)}.section-label{font-size:var(--fs-11)}}@media (min-width: 601px) and (max-width: 900px){.section-header{padding:23.4px var(--space-section)}}.link-row{display:flex;justify-content:space-between;align-items:center;min-height:60px;color:var(--color-text);text-decoration:none;border-bottom:1px solid var(--color-line);padding:1em var(--space-section)}@media (hover: hover) and (pointer: fine){.link-row:hover{background:#2f29240a}.link-row:hover .link-row__arrow{transform:translate(5px)}}.link-row__label{font-size:14px}.link-row__arrow{font-size:16px;font-weight:700;font-family:var(--font-en);color:var(--color-key);transition:transform .15s}@media (max-width: 900px){.link-row{min-height:0;padding:3.846vw var(--space-section)}.link-row__label{font-size:var(--fs-12)}.link-row__arrow{font-size:var(--fs-14)}}@media (min-width: 601px) and (max-width: 900px){.link-row{padding:19.5px var(--space-section)}}.page-footer{display:flex;justify-content:flex-end;padding:24px var(--space-section)}.page-footer__copy{font-size:14px;font-weight:700;font-family:var(--font-en);color:var(--color-muted);letter-spacing:.08em}@media (max-width: 900px){.page-footer__copy{font-size:var(--fs-12)}}.left-heading{font-size:clamp(60px,6.8vw,160px);font-weight:700;font-family:var(--font-en);line-height:1;animation:riseIn 1s ease-out .2s both}.left-heading__bar{width:36px;height:2px;background:var(--color-key);margin-top:28px;animation:riseIn 1s ease-out .35s both}.opening{position:fixed;inset:0;z-index:5;background:var(--color-key)}.opening img{opacity:0}.opening__bull,.opening__logo{position:fixed;height:auto;will-change:transform}.opening__bull{max-width:none}.opening.is-ready{background:transparent}.opening.is-ready img{opacity:1}.opening.is-ready .opening__bull,.opening.is-ready .opening__logo{animation:openingSettle 1.1s cubic-bezier(.83,0,.17,1) 1.8s both}.opening.is-ready .opening__logo{animation:fadeIn .9s ease .3s both,openingSettle 1.1s cubic-bezier(.83,0,.17,1) 1.8s both}@keyframes openingSettle{0%{transform:var(--from)}to{transform:none}}.opening--simple{animation:openingOut .6s ease 1.6s both}.opening--simple .opening__bull,.opening--simple .opening__logo{display:none}@keyframes openingOut{to{opacity:0;visibility:hidden}}@media (min-width: 901px){body:not(.is-landed):not(.is-opening-done) .panel-left__bull img,body:not(.is-landed):not(.is-opening-done) .panel-left__logo img{opacity:0}}.is-landed .opening,.is-opening-done .opening{display:none}@keyframes openingPanelIn{0%{opacity:0;transform:translate(60px)}to{opacity:1;transform:translate(0)}}.panel-left__bull{position:fixed;inset:0;z-index:1;overflow:hidden;pointer-events:none}.panel-left__bull img{position:absolute;top:-10%;left:-3.5vw;height:125%;width:auto;max-width:none}.is-landed .panel-left__bull img{transform-origin:0% 50%;transform:scale(var(--bull-scale, 1));will-change:transform}.panel-left__logo{align-self:flex-start}.panel-left__logo img{display:block;width:clamp(180px,19vw,280px);height:auto}@media (max-width: 900px){.panel-left__body{padding:5.128vw}.panel-left{z-index:6}.panel-left__logo img{width:30.769vw}body:not(.is-landed) .panel-left__logo{animation:fadeIn .9s ease .3s both,openingLogoMoveSp 1s cubic-bezier(.22,1,.36,1) 1.6s both}body:not(.is-landed) .panel-left__bull img{transform-origin:50% 45%;animation:openingBullSettleSp 1s cubic-bezier(.22,1,.36,1) 1.6s both}body:not(.is-opening-done) .panel-right{animation:fadeInUpSp .8s cubic-bezier(.22,1,.36,1) 2.6s both}}@keyframes fadeInUpSp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes openingLogoMoveSp{0%{transform:translate(29.487vw,calc(50dvh - 11.625vw)) scale(2)}to{transform:none}}@keyframes openingBullSettleSp{0%{transform:scale(4) translate(6%,4%)}to{transform:none}}@media (min-width: 601px) and (max-width: 900px){.panel-left__body{padding:26px}.panel-left__logo img{width:156px}body:not(.is-landed) .panel-left__logo{animation-name:fadeIn,openingLogoMoveSpPx}}@keyframes openingLogoMoveSpPx{0%{transform:translate(calc(50vw - 104px),calc(50dvh - 26px - 21.79px - 11.2px)) scale(2)}to{transform:none}}.hero{min-height:250px;border-bottom:1px solid var(--color-line);padding:36px var(--space-section)}.hero__text-wrap{line-height:1.45;margin-bottom:16px}.hero__tagline{font-size:32px;font-weight:700;color:var(--color-text);letter-spacing:.08em}.hero__bar{width:18px;height:2px;background:var(--color-key)}.hero__sub{font-size:11px;font-weight:700;font-family:var(--font-en);color:var(--color-muted);letter-spacing:.12em;text-transform:uppercase;margin-top:18px}@media (max-width: 900px){.hero{min-height:51.282vw;padding:6.41vw var(--space-section)}.hero__text-wrap{margin-bottom:4.103vw}.hero__tagline{font-size:var(--fs-24)}.hero__bar{width:18px;height:2px}.hero__sub{font-size:var(--fs-10);margin-top:4.615vw}}@media (min-width: 601px) and (max-width: 900px){.hero{min-height:260px;padding:32.5px var(--space-section)}.hero__text-wrap{margin-bottom:26px}.hero__tagline{font-size:var(--fs-26)}}@media (prefers-reduced-motion: no-preference){:root.js .js-reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s cubic-bezier(.22,1,.36,1),background .35s}:root.js .js-reveal.is-inview{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.opening{display:none}body .panel-left__bull img,body .panel-left__logo,body .panel-right{animation:none}body.is-landed .panel-left__bull img{transform:none}}.about-block{border-bottom:1px solid var(--color-line);padding:35px var(--space-section) 40px}.about-block p{font-size:16px;font-weight:500;line-height:2.1;letter-spacing:.05em;margin-bottom:1.5em}.about-block p:last-child{margin-bottom:0}@media (max-width: 900px){.about-block{padding:7.692vw var(--space-section) 8.205vw}.about-block p{font-size:var(--fs-15);line-height:1.9;text-align:left}}@media (min-width: 601px) and (max-width: 900px){.about-block{padding:39px var(--space-section) 41.6px}}.service-row{display:flex;align-items:flex-start;gap:24px;border-bottom:1px solid var(--color-line);padding:26px var(--space-section) 30px}.service-row__no{font-size:12px;font-weight:700;font-family:var(--font-en);color:var(--color-key);letter-spacing:.08em;padding-top:5px;flex-shrink:0}.service-row__body{flex:1;min-width:0}.service-row__title{font-size:18px;font-weight:700;margin-bottom:.6em}.service-row__desc{font-size:14px;line-height:1.9}.service-row__desc:not(:last-child){margin-bottom:1em}@media (max-width: 900px){.service-row{gap:4.615vw;padding:6.41vw var(--space-section) 7.179vw}.service-row__no{font-size:var(--fs-11);padding-top:1.026vw}.service-row__title{font-size:var(--fs-16)}.service-row__desc{font-size:var(--fs-13)}}@media (min-width: 601px) and (max-width: 900px){.service-row{gap:23.4px;padding:32.5px var(--space-section) 36.4px}.service-row__no{padding-top:5.2px}}.work-row{border-bottom:1px solid var(--color-line);padding:24px var(--space-section) 28px}.work-row__no{display:block;font-family:var(--font-en);font-size:12px;font-weight:700;color:var(--color-key);letter-spacing:.08em;margin-bottom:14px}.work-row__body{display:flex;align-items:flex-start;gap:22px}.work-row__thumb{flex-shrink:0;width:clamp(80px,26vw,140px);aspect-ratio:1/1;border:1px solid var(--color-line);border-radius:4px;overflow:hidden;background:var(--color-primary)}.work-row__thumb img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.work-row__main{flex:1;min-width:0}.work-row__header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px}.work-row__title{font-size:16px;font-weight:700;line-height:1.6;margin-top:-3px}.work-row__title span{display:inline-block}.work-row__desc{font-size:13px;line-height:1.8}.work-badge{display:inline-flex;align-items:center;justify-content:center;height:2em;font-size:9px;font-weight:700;font-family:var(--font-en);color:var(--color-key);line-height:1;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;border:1px solid var(--color-key-40);border-radius:999px;padding:1px 1em 0;flex-shrink:0}.work-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px}.work-tags span{display:inline-flex;align-items:center;justify-content:center;height:2em;font-size:11px;font-weight:500;color:var(--color-muted);line-height:1;border:1px solid var(--color-line);border-radius:999px;padding:0 1em}.works-note{font-size:12px;line-height:1.8;color:var(--color-muted);border-bottom:1px solid var(--color-line);padding:18px var(--space-section)}@media (max-width: 900px){.work-row{padding:6.154vw var(--space-section) 7.179vw}.work-row__no{margin-bottom:3.077vw}.work-row__body{gap:4.103vw}.work-row__thumb{border-radius:1.026vw}.work-row__header{margin-bottom:2.051vw}.work-row__title{font-size:var(--fs-15);margin-top:max(-5px,-1vw)}.work-row__desc{font-size:var(--fs-12)}.work-badge{font-size:var(--fs-8)}.work-tags{gap:1.538vw;margin-top:3.077vw}.work-tags span{font-size:var(--fs-10)}.works-note{font-size:var(--fs-11);padding:4.615vw var(--space-section)}}@media (min-width: 601px) and (max-width: 900px){.work-row{padding:31.2px var(--space-section) 36.4px}.works-note{padding:23.4px var(--space-section)}}.company-table{display:flex;flex-direction:column;border-bottom:1px solid var(--color-line)}.company-table__row{display:flex;gap:24px;border-bottom:1px solid var(--color-line);padding:20px var(--space-section)}.company-table__row:last-child{border-bottom:none}.company-table dt{width:110px;font-size:13px;font-weight:700;line-height:1.9;flex-shrink:0}.company-table dd{flex:1;font-size:14px;line-height:1.9}.company-table .note{font-size:12px;color:var(--color-muted)}@media (max-width: 900px){.company-table__row{flex-direction:column;gap:1.026vw;padding:4.615vw var(--space-section)}.company-table dt{width:auto;font-size:var(--fs-12)}.company-table dd{font-size:var(--fs-13);line-height:1.75}.company-table .note{font-size:var(--fs-11)}}@media (min-width: 601px) and (max-width: 900px){.company-table__row{padding:23.4px var(--space-section)}}.contact-block{border-bottom:1px solid var(--color-line);padding:30px var(--space-section) 34px}.contact-block p{font-size:14px;line-height:2}@media (max-width: 900px){.contact-block{padding:7.179vw var(--space-section) 7.692vw}.contact-block p{font-size:var(--fs-13)}}@media (min-width: 601px) and (max-width: 900px){.contact-block{padding:36.4px var(--space-section) 39px}}
