html{scroll-behavior:smooth;overflow-x:clip}body.site{color:#2a2f36;background:#fcfcfc;font-family:"Zen Kaku Gothic New","Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;line-height:1.7;overflow-x:clip}body.site::before{content:"";position:fixed;inset:0;opacity:0;visibility:hidden;pointer-events:none;background:hsla(0,0%,100%,.2);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);transition:opacity .25s ease,visibility .25s ease;z-index:80}body.site.is-menu-open::before{opacity:1;visibility:visible}body.site.is-about-dim::before{opacity:1;visibility:visible;background:rgba(0,0,0,.35);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}.site-scroll-indicator{position:fixed;right:0;bottom:8px;width:160px;height:160px;z-index:90;pointer-events:none;isolation:isolate;opacity:1;visibility:visible;transition:opacity .25s ease,visibility .25s ease}.site-scroll-indicator::before{content:"";position:absolute;width:60px;height:60px;left:90px;top:50px;border-radius:50%;background:radial-gradient(circle at 45% 40%, rgba(218, 165, 32, 0.36), rgba(218, 165, 32, 0.15) 62%, transparent 82%);filter:blur(1.2px);z-index:-1}.site-scroll-indicator svg{display:block;width:100%;height:100%}.site-scroll-indicator text{fill:#2a2f36;font-size:12px;letter-spacing:.08em}.site-scroll-indicator-chevron{fill:none;stroke:#2a2f36;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transform:translateY(-12px)}.site-scroll-indicator-chevron path{opacity:.1;animation:site-scroll-chevron-blink 2.4s infinite ease-in-out}.site-scroll-indicator-chevron path:nth-child(1){animation-delay:0s}.site-scroll-indicator-chevron path:nth-child(2){animation-delay:.2s}.site-scroll-indicator-chevron path:nth-child(3){animation-delay:.4s}body.site.is-scroll-indicator-hidden .site-scroll-indicator{opacity:0;visibility:hidden}@keyframes site-scroll-chevron-blink{0%,100%{opacity:.1}35%{opacity:1}}.site-dim-close{position:absolute;top:-56px;right:0;display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border:0;background:rgba(0,0,0,0);color:color-mix(in srgb, #daa520 80%, #ffffff);font-size:42px;line-height:1;cursor:pointer;opacity:0;visibility:hidden;pointer-events:none;z-index:2}body.site.is-about-dim .site-dim-close{opacity:1;visibility:visible;pointer-events:auto}@media(max-width: 960px){.site-scroll-indicator{display:none}}.section{width:min(100% - 48px,1280px);margin-inline:auto;padding:56px 0}.section__title{margin:0 0 32px;display:flex;align-items:center;gap:16px;font-family:"Zen Kaku Gothic New","Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;font-size:40px;font-weight:700;line-height:1;letter-spacing:.03em;color:#2b5c7a}.section__title::before{content:"";width:8px;height:1.4em;background:currentColor;flex:0 0 auto}.about__grid{display:grid;grid-template-columns:33% 67%;gap:32px;align-items:center}.about{position:relative}.about__media{margin:0;padding-inline:96px;display:flex;align-items:center;justify-content:center}.about__media img{display:block;width:auto;max-width:100%;height:400px;object-fit:contain;transform:translateY(-32px)}.about__content{padding-left:96px;padding-right:96px;display:flex;flex-direction:column;align-items:stretch;justify-content:center;font-size:16px;font-weight:400;line-height:1.9}.about__content p:not(.about__more){margin:0}.about__intro{display:flex;flex-direction:column;gap:2em}.about__lead{font-weight:600}.about__skills{width:100%;margin-top:1.5rem;padding-top:1rem;border-top:1px solid #e6e9ed;font-size:12px;line-height:1.8}.about__skills p{margin:0;width:100%}.about__skills p+p{margin-top:.35rem}.about__more{width:auto;margin-top:16px;text-align:right;color:#2b5c7a;font-weight:700;position:relative;display:inline-flex;align-items:center;gap:.3em;align-self:flex-end;cursor:pointer}.about__more::before{content:"";position:absolute;left:0;bottom:-4px;width:100%;height:1px;background:#2a2f36;transform:scaleX(0);transform-origin:left center;transition:transform .2s ease}.about__more::after{content:"";width:1.5em;height:2px;background:#2b5c7a;flex:0 0 auto}.about__more:hover::before{transform:scaleX(1)}@media(max-width: 960px){.about__grid{grid-template-columns:1fr}.about__media,.about__content{padding-inline:0}.about__media img{height:400px}}.about-detail-panel{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:32px 24px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .25s ease,visibility .25s ease;z-index:92}.about-detail-panel__inner{position:relative;width:min(100% - 48px,1280px);display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:24px}.about-detail-card{padding:24px;border:1px solid rgba(43,92,122,.22);border-radius:16px;background:rgba(252,252,252,.98);box-shadow:0 14px 28px rgba(43,92,122,.12);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);transform:translateY(10px);opacity:0;transition:transform .25s ease,opacity .25s ease}.about-detail-card__title{margin:0;font-size:24px;line-height:1.2;color:#2b5c7a}.about-detail-card__image{display:block;width:100%;height:auto;margin:0;border-radius:10px}.about-detail-card__lead{margin:0 0 1rem;font-size:16px;line-height:1.8}.about-detail-card__scope{margin:0 0 .9rem;font-size:14px;line-height:1.8;min-height:3.6em}.about-detail-card__tags{margin:0;font-size:12px;line-height:1.7;color:#2b5c7a}body.site.is-about-dim .about-detail-panel{opacity:1;visibility:visible;pointer-events:auto}body.site.is-about-dim .about-detail-card{transform:translateY(0);opacity:1}@media(max-width: 1100px){.about-detail-panel__inner{grid-template-columns:1fr}}.site-footer{padding:0}.site-footer__inner{width:min(100% - 48px,1280px);margin-inline:auto;border-top:1px solid #e6e9ed;padding:32px 0 32px}.site-footer__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.site-footer__right{display:flex;align-items:center;justify-content:flex-end;gap:2rem}.site-footer__brand{margin:0;display:flex;align-items:center;gap:16px;font-family:"Jost",sans-serif;font-size:24px;font-weight:500;letter-spacing:.06em;color:#2a2f36}.site-footer__brand-logo{display:block;width:auto;height:40px}.site-footer__nav{display:flex;justify-content:flex-end;gap:2rem}.site-footer__nav a{position:relative;display:inline-block;color:#2a2f36;text-decoration:none;font-size:16px;line-height:1.5}.site-footer__nav a::after{content:"";position:absolute;left:0;bottom:-4px;width:100%;height:1px;background:#2a2f36;transform:scaleX(0);transform-origin:left center;transition:transform .2s ease}.site-footer__nav a:hover::after,.site-footer__nav a:focus-visible::after{transform:scaleX(1)}.site-footer__mail-frame{display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none}.site-footer__social-handle{color:#2a2f36;font-size:14px;letter-spacing:.04em}.site-footer__mail-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:999px;background:#2b5c7a;color:#fff;font-size:22px;line-height:1}.site-footer__social-icon{width:16px;height:16px;fill:#fff}.site-footer__copyright{margin:0;text-align:center;font-size:14px;line-height:1.6;color:#2a2f36}@media(max-width: 960px){.site-footer__top{flex-direction:column;gap:1rem;align-items:center}.site-footer__right{width:100%;justify-content:center}.site-footer__nav{justify-content:center;flex-wrap:wrap;gap:1rem 1.5rem}}.hero{min-height:100vh;height:100vh;width:min(100% - 48px,1280px);margin-inline:auto;display:grid;grid-template-columns:50% 30% 20%;gap:0}.hero__left{display:flex;align-items:center;justify-content:flex-start;height:100%;padding-top:0;margin-left:16px}.hero__right{position:relative;display:flex;justify-content:center;justify-self:stretch;width:100%;box-sizing:border-box;padding-top:69px;padding-right:0}.hero__center{position:relative;padding-top:0;height:100%}.hero__center::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.08);pointer-events:none}.hero__title{margin:0;display:flex;flex-direction:column;align-items:flex-start;gap:8px;line-height:1.1}.hero__title-ja-group{display:flex;flex-direction:column;align-items:stretch;width:fit-content;gap:16px}.hero__title-en{font-family:"Jost",sans-serif;font-size:56px;font-weight:500;letter-spacing:.06em}.hero__title-ja{font-family:"Zen Kaku Gothic New","Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;font-size:56px;font-weight:500;letter-spacing:.01em;position:relative;display:block;width:max-content;white-space:nowrap;padding-bottom:16px}.hero__title-ja::after{content:"";position:absolute;left:4px;right:4px;bottom:0;border-bottom:1px solid #daa520;border-radius:999px}.hero__title-sub{font-family:"Zen Kaku Gothic New","Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;display:block;align-self:flex-end;width:max-content;white-space:nowrap;font-size:16px;font-weight:600;color:#2b5c7a;letter-spacing:.1em;text-align:right}.hero__image{width:100%;height:100vh;display:block;object-fit:cover;filter:saturate(0.8) brightness(1.05) contrast(0.9)}.hero__menu{display:flex;flex-direction:column;gap:14px;align-items:stretch;opacity:1;transform:translateY(0);visibility:visible}.hero__hamburger{position:relative;display:flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;cursor:pointer;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(10px)}.hero__hamburger span{position:absolute;left:0;top:50%;display:block;width:30px;height:2.5px;border-radius:3px;background-color:#2a2f36;transform-origin:center;transition:transform .2s ease}.hero__hamburger span:first-child{transform:translateY(calc(-50% - 9.25px))}.hero__hamburger span:last-child{transform:translateY(calc(-50% + 9.25px))}.hero__right.is-open .hero__hamburger span:first-child{transform:translateY(-50%) rotate(45deg)}.hero__right.is-open .hero__hamburger span:last-child{transform:translateY(-50%) rotate(-45deg)}.hero__menu a{position:relative;display:block;width:8em;color:#2a2f36;text-decoration:none;font-size:24px;letter-spacing:.06em;line-height:2;text-align:justify;text-align-last:justify;text-justify:inter-character;transform:translateX(0);transition:transform .2s ease}.hero__menu a::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:#2a2f36;transform:scaleX(0);transform-origin:left center;transition:transform .2s ease}.hero__menu a:hover,.hero__menu a:focus-visible{transform:translateX(-5px)}.hero__menu a:hover::after,.hero__menu a:focus-visible::after{transform:scaleX(1)}.hero__right.is-compact{position:fixed;top:24px;left:50%;transform:translateX(-50%);width:min(100% - 48px,1280px);display:grid;grid-template-columns:50% 30% 20%;margin-right:0;padding-top:0;z-index:110;pointer-events:none;overflow:visible}.hero__right.is-compact .hero__hamburger{position:relative;grid-column:3;justify-self:end;margin-right:8px;left:0;top:0;right:auto;z-index:111;pointer-events:auto}.hero__right.is-compact .hero__menu{position:relative;grid-column:3;justify-self:end;margin-right:10px;left:0;margin-top:8px;top:0;right:auto;min-width:max-content;align-items:flex-start;opacity:0;visibility:hidden;pointer-events:none;z-index:105}.hero__right.is-compact.is-open .hero__menu{opacity:1;visibility:visible;pointer-events:auto}@media(max-width: 960px){.hero{position:relative;height:auto;min-height:100svh;grid-template-columns:1fr;gap:20px}.hero__left,.hero__right{padding-top:20px}.hero__left{position:absolute;left:16px;right:16px;bottom:256px;z-index:3;height:auto;margin-left:0;padding-top:0;align-items:flex-start}.hero__title-en{font-size:clamp(30px,9vw,56px)}.hero__title-ja{font-size:clamp(26px,8.4vw,56px);max-width:100%}.hero__title-sub{font-size:clamp(12px,3.7vw,16px);max-width:100%}.hero__right.is-compact .hero__hamburger{margin-right:8px;left:0}.hero__right.is-compact .hero__menu{margin-right:10px;left:0}.hero__right.is-compact{width:calc(100% - 32px);grid-template-columns:1fr}.hero__center{order:-1;height:100svh}.hero__image{width:100%;height:100%;object-fit:cover}}.contact{padding:56px 0}.contact__inner{position:relative;width:1280px;margin-inline:auto}.contact__heading{margin:0 0 32px;display:flex;align-items:center;gap:16px;font-family:"Zen Kaku Gothic New","Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;font-size:40px;font-weight:700;line-height:1;letter-spacing:.03em;color:#2b5c7a}.contact__heading::before{content:"";width:8px;height:1.4em;background:currentColor;flex:0 0 auto}.contact__lead{margin:0 auto 32px;max-width:1280px;text-align:left;font-family:"Zen Kaku Gothic New","Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;font-size:16px;line-height:1.6}.contact__form-btn{display:flex;align-items:center;justify-content:center;gap:12px;width:fit-content;margin:0 auto;padding:14px 40px;border-radius:999px;background:#2b5c7a;color:#fff;text-decoration:none;font-family:"Zen Kaku Gothic New","Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;font-size:16px;font-weight:600;letter-spacing:.06em;line-height:1.2;transition:transform .2s ease,box-shadow .2s ease;box-shadow:0 6px 18px rgba(43,92,122,.18)}.contact__form-btn:hover,.contact__form-btn:focus-visible{transform:translateY(-2px);box-shadow:0 10px 22px rgba(43,92,122,.24)}.contact__form-btn:focus-visible{outline:2px solid rgba(43,92,122,.35);outline-offset:3px}.contact__note{margin:20px auto 0;width:fit-content;font-size:13px;line-height:1.7;color:color-mix(in srgb, #2a2f36 75%, #fcfcfc 25%)}.contact__mail{display:flex;align-items:center;justify-content:center;gap:16px;width:fit-content;padding:0;margin:0 auto;color:#2b5c7a;text-decoration:none;font-family:"Zen Kaku Gothic New","Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;font-size:16px;line-height:1.2;transition:color .2s ease}.contact__mail-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:999px;background:#daa520;color:#fff;font-size:22px;line-height:1}.contact__mail-icon-glyph{display:inline-block;transform:translateY(-2px)}.contact__mail:hover,.contact__mail:focus-visible{color:#2b5c7a}.contact__mail:active{color:#2b5c7a}.contact__mail:focus-visible{outline:2px solid rgba(43,92,122,.2);outline-offset:2px;border-radius:4px}@media(max-width: 1320px){.contact__inner{width:calc(100% - 32px)}.contact__heading{font-size:40px}.contact__lead{font-size:16px}.contact__mail{font-size:16px}}#works{position:relative}.works-list{display:flex;flex-direction:column;gap:96px}.works-circle-strip{position:relative;width:100vw;margin-left:calc(50% - 50vw);overflow:hidden}.works-circle-strip::before,.works-circle-strip::after{content:"";position:absolute;top:0;bottom:0;width:40px;pointer-events:none;z-index:2}.works-circle-strip::before{left:0;background:linear-gradient(to right, rgba(252, 252, 252, 0.72) 0%, rgba(252, 252, 252, 0) 100%)}.works-circle-strip::after{right:0;background:linear-gradient(to left, rgba(252, 252, 252, 0.72) 0%, rgba(252, 252, 252, 0) 100%)}.works-circle-strip__track{display:flex;width:max-content;animation:works-circle-marquee 65s linear infinite}.works-circle-strip:hover .works-circle-strip__track,.works-circle-strip:focus-within .works-circle-strip__track{animation-play-state:paused}.works-circle-strip__group{display:flex;align-items:center;gap:16px;padding-right:16px;box-sizing:border-box;overflow-y:hidden}.works-circle-strip img{display:block;height:240px;width:auto;flex:0 0 auto;filter:brightness(0.7);transition:filter .2s ease,height .2s ease}.works-circle-strip img:hover,.works-circle-strip img:focus-visible{filter:brightness(1);height:252px}@keyframes works-circle-marquee{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}.works-item{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:stretch}.works-item:nth-child(even) .works-item__image-wrap{order:2}.works-item:nth-child(even) .works-item__body{order:1}.works-item__image-wrap{display:flex;align-items:stretch;overflow:hidden;border-radius:2px;height:100%;box-sizing:border-box;padding:24px 128px 48px;position:relative;top:0;transition:top .35s ease}.works-item__image{display:block;width:100%;height:100%;object-fit:cover}.works-item__image-wrap:hover,.works-item__image-wrap:focus-visible{top:-6px}.works-item__body{display:flex;flex-direction:column;align-items:flex-start;gap:16px;padding-top:24px}.works-item__meta{margin:0;color:#2b5c7a;font-size:12px;letter-spacing:.16em}.works-item__name{margin:0;font-size:24px;font-weight:500;line-height:1.2;letter-spacing:.06em;color:#2b5c7a}.works-item__desc{margin:0;font-size:16px;line-height:1.95;color:#2a2f36;max-width:36em}.works-item__credit{margin:0;color:#2a2f36;font-size:12px;letter-spacing:.1em}.works-item--text{grid-template-columns:1fr}.works-item--text .works-item__body{padding-top:0;max-width:46em}.works-item__examples{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}.works-item__examples li{position:relative;padding-left:1.2em;font-size:15px;line-height:1.9;color:#2a2f36}.works-item__examples li::before{content:"";position:absolute;left:0;top:.85em;width:8px;height:8px;border-radius:999px;background:#daa520}.works-item__note{margin:6px 0 0;font-size:13px;line-height:1.6;color:color-mix(in srgb, #2a2f36 70%, #fcfcfc 30%)}.works-item__link{margin-top:6px;position:relative;display:inline-block;color:#2a2f36;text-decoration:none;font-size:16px;line-height:1.4}.works-item__link::after{content:"";position:absolute;left:0;bottom:-4px;width:100%;height:1px;background:#2a2f36}@media(max-width: 960px){.works-list{gap:40px}.works-item,.works-item:nth-child(even){grid-template-columns:1fr}.works-item__image-wrap,.works-item:nth-child(even) .works-item__image-wrap,.works-item__body,.works-item:nth-child(even) .works-item__body{order:initial}.works-item__name{font-size:34px}}.process{padding:56px 0;background:#fcfcfc}.process .section__title{width:min(100% - 48px,1280px);margin:0 auto 32px}.process__lead{width:min(100% - 48px,1280px);margin:0 auto 32px;font-size:16px;line-height:1.6;color:#2a2f36}.process__inner{width:min(100% - 48px,1280px);margin-inline:auto;display:grid;grid-template-columns:repeat(11, auto);align-items:start;justify-content:space-between;gap:10px}.process__item{display:flex;flex-direction:column;align-items:center;text-align:center;min-width:0}.process__icon{width:96px;height:96px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;margin-bottom:12px;box-shadow:0 6px 18px rgba(43,92,122,.1)}.process__icon--main{background:color-mix(in srgb, #2b5c7a 88%, #0f2136 12%);color:#fcfcfc}.process__icon--accent{background:color-mix(in srgb, #2b5c7a 88%, #0f2136 12%);color:#fcfcfc}.process__icon--deliver{background:#daa520;color:#fcfcfc}.process__icon-svg{width:42px;height:42px;display:block;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.process__title{margin:0 0 4px;font-size:20px;font-weight:600;line-height:1.4;color:#2b5c7a}.process__text{margin:0;font-size:16px;line-height:1.5;color:#2a2f36}.process__arrow{align-self:center;color:color-mix(in srgb, #2b5c7a 75%, #daa520 25%);font-size:24px;line-height:1;transform:translateY(-10px);user-select:none}@media(max-width: 1100px){.process__inner{grid-template-columns:repeat(3, minmax(0, 1fr));row-gap:22px;column-gap:14px}.process__arrow{display:none}.process__icon{width:84px;height:84px}.process__icon-svg{width:36px;height:36px}.process__title{font-size:16px}.process__text{font-size:13px}}.faq{background:#fcfcfc;padding:56px 0}.faq__inner{width:min(100% - 48px,1280px);margin-inline:auto}.faq__title{margin:0 0 24px;display:flex;align-items:center;gap:16px;color:#2b5c7a;font-size:40px;font-weight:700;line-height:1.2}.faq__title::before{content:"";width:8px;height:1.4em;background:currentColor;flex:0 0 auto}.faq__lead{margin:0 0 32px;color:#2a2f36;font-size:16px;line-height:1.8}.faq__list{width:min(100%,880px);margin-inline:auto;display:flex;flex-direction:column;gap:16px}.faq__item{border-left:2px solid #e6e9ed;background:color-mix(in srgb, #fcfcfc 92%, #e6e9ed 8%)}.faq__question{position:relative;list-style:none;cursor:pointer;padding:18px 56px 18px 28px;color:#2b5c7a;font-size:16px;font-weight:700;line-height:1.6}.faq__question::-webkit-details-marker{display:none}.faq__question::after{content:"";position:absolute;top:50%;right:22px;width:10px;height:10px;border-right:3px solid rgba(42,47,54,.7);border-bottom:3px solid rgba(42,47,54,.7);transform:translateY(-60%) rotate(45deg);transition:transform .2s ease}.faq__item[open] .faq__question::after{transform:translateY(-40%) rotate(-135deg)}.faq__answer{margin:0;padding:0 28px 20px;color:#2a2f36;font-size:15px;line-height:1.8}.faq__answer p{margin:0}.faq__answer ul{margin:6px 0;padding-left:1.2em}.faq__answer li{margin:0}@media(max-width: 960px){.faq__title{font-size:32px}}/*# sourceMappingURL=main.min.css.map */
