@charset "UTF-8";

:root{--accent:#faa11b;--paper:#fdfdfd;--cream:#faf7f0;--ink:#000}
html{scroll-behavior:smooth}
body{background:var(--paper);font-size:15px;line-height:2;-webkit-text-size-adjust:100%}button{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #bd6b00;outline-offset:6px}h2,h3,p{margin:0}h2{font-size:24px;line-height:1.5}h3{line-height:1.6}.container{width:calc(100% - 80px);max-width:1100px;margin-inline:auto}.eyebrow{margin:0 0 4px;color:#f99400;letter-spacing:.08em;font-size:18px;font-weight:500;line-height:1.5}.skip-link{position:fixed;top:8px;left:8px;padding:8px 16px;background:#fff;z-index:100;transform:translateY(-150%)}.skip-link:focus{transform:none}
.site-header{position:absolute;inset:35px 40px auto 42px;z-index:20;align-items:flex-start}.brand{width:87px;flex-basis:87px}.global-nav{flex-direction:row;align-items:center;gap:40px;font-size:13px;line-height:1.4}.global-nav a:not(.contact){min-width:0}.global-nav .contact,.footer-nav .contact{margin:0 0 0 10px;min-width:150px;width:150px;height:36px;padding:0 20px;display:inline-flex;align-items:center;justify-content:center;border-radius:30px;background:#fbe7c5;font-weight:400;transition:background .25s,color .25s}.global-nav .contact:hover,.footer-nav .contact:hover{background:var(--accent);color:#fff}.global-nav a:not(.contact):hover,.footer-nav a:hover{color:#dd8100}.menu-toggle{display:none}.mv{min-height:clamp(720px,65.38vw,980px)}.mv-copy{top:28.7%;width:auto;right:28px}.mv-copy h1{font-size:clamp(30px,3.05vw,46px);line-height:1.5;letter-spacing:0}.mv-copy p{font-size:15px;margin-top:10px}.mobile-break{display:none}.scroll-sign{display:none}
.about{padding-top:94px}.about-inner{max-width:1130px;width:calc(100% - 80px);margin:0 auto;display:grid;grid-template-columns:290px 1fr;gap:70px}.about-label{display:flex;flex-direction:row-reverse;justify-content:flex-start;align-items:flex-start;padding-right:70px;gap:12px}.about-label .eyebrow{writing-mode:vertical-rl;font-size:18px}.about-label h2{writing-mode:vertical-rl;letter-spacing:.1em;font-size:26px;line-height:1.3}.about-body h3{font-size:30px;line-height:1.7;margin:-6px 0 30px}.about-body p{line-height:2.05}.about-body .statement{margin:20px 0 14px;font-size:18px;line-height:1.8}.statement strong{background:linear-gradient(transparent 62%,#ffead8 62%);box-decoration-break:clone;-webkit-box-decoration-break:clone}.more-link{border:1px solid var(--accent);border-radius:999px;display:inline-flex;width:217px;height:50px;padding:0 14px 0 35px;align-items:center;justify-content:space-between;gap:14px;color:#f79400;font-size:14px;font-weight:700;line-height:1.3;transition:background .25s,transform .25s}.more-link img{width:19px;height:19px;flex-shrink:0}.more-link:hover{background:#fff2de;transform:translateX(3px)}.about-body>.more-link{margin-top:34px}.about-gallery{position:relative;margin-top:120px;padding-bottom:60px;overflow:hidden}.gallery-track{display:flex;width:max-content;gap:20px;margin-left:calc(50% - 864px)}.gallery-track img{width:407px;height:251px;flex:0 0 407px;object-fit:cover;border-radius:20px}.gallery-word{position:absolute;left:50%;bottom:0;transform:translateX(-50%);font-family:Arial,sans-serif;font-size:clamp(90px,16vw,230px);font-weight:700;letter-spacing:.055em;line-height:1;color:#ededed;opacity:.48;pointer-events:none;white-space:nowrap}
.service-intro{padding-top:36px;padding-bottom:65px}.service-intro>p:last-child{margin-top:34px;font-size:15px}.services{border-bottom:0}.service-row{padding:100px 0;background:var(--paper)}.service-row:first-of-type{border-top:1px solid var(--accent)}.service-row:nth-of-type(even){background:var(--cream)}.service-heading{position:relative;height:112px;display:flex;align-items:flex-start;padding-top:31px}.service-watermark{position:absolute;top:0;left:-30px;font-family:Arial,sans-serif;font-size:clamp(42px,5.54vw,76px);line-height:1.4;font-weight:700;color:#f0f0ef;white-space:nowrap;letter-spacing:normal;pointer-events:none}.service-heading>.eyebrow{position:relative}.service-row:nth-of-type(even) .service-watermark{color:#fff}.service-grid{display:grid;grid-template-columns:450px minmax(0,1fr);gap:80px;align-items:center}.service-photo{width:450px;height:auto;border-radius:20px}.service-body h3{font-size:24px;line-height:1.55}.service-description{margin:38px 0 26px;font-size:15px;line-height:1.9}.service-body .eyebrow{white-space:normal}
.area{position:relative;isolation:isolate;margin-top:120px;min-height:595px;border:1px solid var(--accent);border-radius:22px;padding:90px 70px;overflow:hidden}.area-map{position:absolute;right:30px;top:50%;margin-top:-263.5px;width:746px;height:auto;z-index:-1}.area-content .eyebrow{display:flex;align-items:center;gap:20px}.area-content .eyebrow::after{content:"";width:153px;height:1px;background:var(--accent)}.area h3{margin:46px 0 32px;font-size:36px;line-height:1.5}.area p:not(.eyebrow){font-size:15px;line-height:2}.area p+p{margin-top:30px}.recruit{display:grid;grid-template-columns:minmax(0,1fr) 659px;gap:30px;align-items:center;margin-top:150px}.recruit h3{font-size:36px;margin:54px 0 34px;line-height:1.6}.recruit-body>p:not(.eyebrow){font-size:15px;line-height:2}.recruit .more-link{margin-top:45px}.recruit-photo{width:659px;height:auto}.contact-banner{margin-top:108px;min-height:387px;border-radius:25px;padding:62px 70px;display:flex;align-items:center;justify-content:space-between;gap:30px;background:linear-gradient(180deg,#faa313,#fdc469);color:#fff;transition:filter .25s}.contact-banner:hover{filter:brightness(1.04)}.contact-banner h2{font-family:Arial,sans-serif;font-size:60px;font-weight:700;line-height:1.2;letter-spacing:normal}.contact-ja{font-size:20px;font-weight:700;margin-top:8px}.contact-description{font-size:15px;font-weight:700;line-height:2;margin-top:34px}.contact-banner>img{width:84px;height:84px;flex-shrink:0}.site-footer{padding:110px 0 28px}.footer-main{display:flex;align-items:center;justify-content:space-between;gap:32px}.footer-brand{flex:0 0 87px}.footer-nav{display:flex;align-items:center;gap:35px;font-size:12px;line-height:1.5}.footer-nav .contact{font-size:13px}.copyright{text-align:center;font-size:13px;line-height:1.5;margin-top:80px}.copyright small{font-size:inherit}
@media(min-width:1500px){.about-inner{max-width:1100px;grid-template-columns:270px 1fr;gap:65px}}
@media(max-width:1150px) and (min-width:769px){.global-nav{gap:25px}.about-inner{grid-template-columns:180px 1fr;gap:40px}.about-label{padding-right:35px}.service-grid{grid-template-columns:minmax(0,450px) minmax(0,1fr);gap:45px}.service-watermark{left:0;font-size:5.2vw}.recruit{grid-template-columns:40% minmax(0,1fr)}.recruit h3{font-size:32px}.area{padding-inline:45px}.area-map{right:0}.area-content{position:relative}.footer-nav{gap:18px}.service-body h3{font-size:21px}}
@media(max-width:768px){
.container{width:calc(100% - 40px)}.site-header{inset:20px 20px auto}.brand{width:87px;flex-basis:87px;position:relative;z-index:22}.menu-toggle{display:flex;position:relative;z-index:22;border:0;width:50px;height:50px;flex-shrink:0;border-radius:50%;background:var(--accent);color:#fff;cursor:pointer;align-items:center;flex-direction:column;justify-content:center;padding:0;gap:5px}.menu-lines{position:relative;width:30px;height:9px;display:block}.menu-lines::before,.menu-lines::after{content:"";position:absolute;left:0;height:1px;background:#fff;transition:transform .25s,width .25s,top .25s}.menu-lines::before{width:30px;top:0}.menu-lines::after{width:15px;top:7px}.menu-word{font:9px/1 Arial,sans-serif;letter-spacing:2px;padding-left:2px}.menu-toggle[aria-expanded=true] .menu-lines::before{top:4px;transform:rotate(14deg)}.menu-toggle[aria-expanded=true] .menu-lines::after{width:30px;top:4px;transform:rotate(-14deg)}.global-nav{position:fixed;inset:0;z-index:21;background:#fff;flex-direction:column;align-items:center;justify-content:flex-start;padding:207px 24px 50px;gap:30px;overflow-y:auto;visibility:hidden;opacity:0;pointer-events:none;font-size:18px;line-height:26px;text-align:center}.global-nav a:not(.contact){min-width:0}.global-nav .contact{height:36px;width:150px;min-width:150px;margin:20px 0 0;font-size:13px;padding:0 20px;flex-shrink:0}.menu-open .global-nav{visibility:visible;opacity:1;pointer-events:auto}.menu-open .site-header{position:fixed}.menu-open{overflow:hidden}.mv{min-height:755px}.mv-copy{left:20px;right:20px;top:174px;width:auto;text-align:center}.mv-copy h1{font-size:clamp(28px,9.7vw,42px);line-height:1.7;letter-spacing:0;white-space:normal}.mv-copy .line{display:block}.mv-copy p{max-width:none;font-size:14px;line-height:2.2;margin-top:25px}.mobile-break{display:block}.copy-divider{display:none}.cloud--1{top:52%}.cloud--2{top:48%}.cloud--3{top:65%}.cloud--4{top:61%}.cloud--5{top:60%}
.eyebrow{font-size:14px}h2{font-size:21px}.about{padding-top:70px}.about-inner{width:calc(100% - 40px);display:block}.about-label{display:block;padding:0;margin-bottom:28px}.about-label .eyebrow,.about-label h2{writing-mode:horizontal-tb}.about-label .eyebrow{font-size:14px}.about-label h2{font-size:21px;letter-spacing:0;line-height:1.5}.about-body h3{font-size:clamp(21px,5.7vw,28px);margin:0 0 26px;line-height:1.7}.about-body p{font-size:14px;line-height:2}.about-body .statement{font-size:15px;margin:22px 0 12px}.about-body>.more-link{margin-top:24px}.more-link{height:48px;width:210px;font-size:13px}.about-gallery{margin-top:65px;padding-bottom:28px}.gallery-track{gap:14px;margin-left:-100px}.gallery-track img{width:260px;height:auto;flex-basis:260px;border-radius:14px}.gallery-word{font-size:17vw;letter-spacing:.02em}.service-intro{padding-top:30px;padding-bottom:45px}.service-intro>p:last-child{font-size:14px;margin-top:24px}.desktop-break{display:none}.service-row{padding:48px 0 50px;overflow:hidden}.service-heading{height:72px;padding-top:13px}.service-watermark{left:0;top:0;font-size:clamp(24px,6.4vw,46px);letter-spacing:normal;white-space:normal;line-height:1.15}.service-heading>.eyebrow{font-size:13px}.service-grid{display:flex;flex-direction:column;gap:26px;align-items:stretch}.service-photo{width:100%;max-width:450px;align-self:center;border-radius:15px}.service-body h3{font-size:21px}.service-body .eyebrow{font-size:13px;letter-spacing:.065em}.service-description{font-size:14px;line-height:2;margin:20px 0 24px}.area{margin-top:64px;min-height:0;padding:30px 24px 24px;display:flex;flex-direction:column}.area-content{order:0}.area-map{position:static;transform:none;order:1;width:100%;max-width:480px;align-self:center;margin-top:20px;z-index:auto}.area-content .eyebrow::after{width:100px}.area h3{font-size:28px;margin:28px 0 20px}.area p:not(.eyebrow){font-size:14px}.area p+p{margin-top:20px}.recruit{margin-top:70px;display:flex;flex-direction:column;align-items:stretch;gap:32px}.recruit h3{font-size:30px;margin:30px 0 22px}.recruit-body>p:not(.eyebrow){font-size:14px}.recruit .more-link{margin-top:26px}.recruit-photo{width:100%;max-width:659px;align-self:center}.contact-banner{margin-top:64px;min-height:270px;padding:32px 25px;border-radius:20px;gap:12px}.contact-banner h2{font-size:clamp(25px,7.3vw,42px);white-space:nowrap}.contact-ja{font-size:15px;margin-top:4px}.contact-description{font-size:12px;margin-top:23px;line-height:1.9}.contact-banner>img{width:44px;height:44px}.site-footer{padding:64px 0 24px}.footer-main{flex-direction:column;align-items:flex-start;gap:36px}.footer-brand{flex-basis:auto}.footer-nav{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:24px 15px;font-size:13px}.footer-nav .contact{width:140px;min-width:0;margin:0}.copyright{margin-top:48px;font-size:11px}
}
@media(max-width:360px){.mv{min-height:720px}.mv-copy{top:168px;left:15px;right:15px}.mv-copy p{font-size:12px}.contact-banner{padding-inline:20px}.contact-banner h2{font-size:25px}.contact-description{font-size:11px}.about-body h3{font-size:20px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}.mv-copy .line,.mv-copy p{opacity:1;transform:none}}

@media(min-width:769px){.about-gallery{margin-top:95px}.service-intro{padding-top:66px;padding-bottom:45px}.service-heading{height:144px}}


body {
  font-family: "Montserrat", "Noto Sans JP", sans-serif;
}
.gallery-word,
.service-watermark,
.contact-banner h2,
.menu-word {
  font-family: "Montserrat", "Noto Sans JP", sans-serif;
}


.about-gallery {
  --gallery-image-width: 407px;
  --gallery-image-height: 251px;
  --gallery-gap: 20px;
  --gallery-type-size: clamp(90px, 16vw, 230px);
  padding-bottom: calc(var(--gallery-type-size) / 2);
}
.gallery-track {
  display: flex;
  gap: 0;
  width: max-content;
  margin-left: 0;
  animation: gallery-photos-loop 85s linear infinite;
  will-change: transform;
}
.gallery-group {
  display: flex;
  flex-shrink: 0;
  gap: var(--gallery-gap);
  padding-right: var(--gallery-gap);
}
.gallery-track img {
  width: var(--gallery-image-width);
  height: var(--gallery-image-height);
  flex: 0 0 var(--gallery-image-width);
}
.gallery-word {
  left: 0;
  top: calc(var(--gallery-image-height) - var(--gallery-type-size) / 2);
  bottom: auto;
  height: var(--gallery-type-size);
  transform: none;
  font-size: var(--gallery-type-size);
  line-height: 1;
  letter-spacing: .025em;
}
.gallery-word-track {
  display: flex;
  width: max-content;
  height: 100%;
  animation: gallery-words-loop 110s linear infinite;
  will-change: transform;
}
.gallery-word-track span {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  padding-right: .5em;
}
@keyframes gallery-photos-loop {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}
@keyframes gallery-words-loop {
  from { transform: translateX(-50%); }
  to { transform: translateX(0); }
}


.service-heading {
  align-items: center;
  padding-top: 0;
}
.service-watermark {
  top: 50%;
  transform: translateY(-50%);
  font-size: clamp(34px, 5vw, 66px);
  line-height: 1;
}
.service-heading > .eyebrow {
  margin: 0;
  line-height: 1;
}
@media (max-width: 768px) {
  .about-gallery {
    --gallery-image-width: 260px;
    --gallery-image-height: 160.344px;
    --gallery-gap: 14px;
    --gallery-type-size: 17vw;
  }
  .service-watermark {
    font-size: clamp(21px, 5.8vw, 43px);
    white-space: nowrap;
  }
}
@media (prefers-reduced-motion: reduce) {
  .gallery-track, .gallery-word-track {
    animation: none;
    will-change: auto;
  }
}


@media(max-width:768px){.mv-copy p,.about-body p,.service-intro>p:last-child,.service-description,.area p:not(.eyebrow),.recruit-body>p:not(.eyebrow){font-size:15px}}


:root{--text:#000;--ink:#000}
body{color:#000}
.footer-nav{font-size:13px}
.contact-banner h2,.service-watermark{letter-spacing:normal}
