:root{--main:#1c2c4c;--main-d:#121e36;--accent:#a8894f;--accent-d:#8f7340;--accent-ink:#7d6230;--on-accent:#fff;--open:#7d6230;--bg:#fff;--soft:#f3f5f8;--ink:#1f2633;--line:#d6dbe4;--slot:#e4e8ef;--sub-bg:#fff;--sub-bg-h:#eef1f6;--closed-bg:#e6e8ec;--ff-h:"Noto Serif JP",serif;--ff-b:"Noto Sans JP",sans-serif;--ff-en:"Noto Serif","Noto Serif JP",serif;--wrap:1200px;--hd-h:88px;--pt:#1c2c4c}
@media (max-width:760px){:root{--hd-h:68px}}

.hd{color:#fff}
.hd.is-scrolled,html.is-menu .hd{background:#fff;color:var(--main);box-shadow:0 1px 0 var(--line)}
.logo__ja{font-weight:600}
.gnav a[aria-current="page"]{color:#d9c08a}@media (hover:hover){.gnav a:hover{color:#d9c08a}}
.hd.is-scrolled .gnav a[aria-current="page"]{color:var(--accent-ink)}@media (hover:hover){.hd.is-scrolled .gnav a:hover{color:var(--accent-ink)}}
.hd__cta{background:var(--accent)}@media (hover:hover){.hd__cta:hover{background:var(--accent-d)}}

.amv{position:relative;height:100vh;height:100svh;min-height:600px;max-height:940px;overflow:hidden;color:#fff;background:var(--main)}
.amv__slides,.amv__s{position:absolute;inset:0}
.amv__s{opacity:0;transition:opacity 1.6s var(--ease)}
.amv__s.is-active{opacity:1}
.amv__s img{width:100%;height:100%;object-fit:cover;transform:scale(1.06);transition:transform 8s linear}
.amv__s.is-active img{transform:scale(1)}
.amv__slides::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,30,54,.55) 0%,rgba(18,30,54,.32) 40%,rgba(18,30,54,.55) 100%)}
.amv__in{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:var(--hd-h) var(--gut) 90px;text-align:center}
.amv__en{font-family:var(--ff-en);font-size:14px;font-weight:500;letter-spacing:.32em}
.amv__t{margin-top:18px;font-size:clamp(28px,3.6vw,48px);font-weight:600;line-height:1.6;letter-spacing:.1em}
.amv__t span{display:block}
.amv__x{margin-top:18px;font-size:16px;line-height:1.9}
.amv__in .btns{justify-content:center;margin-top:36px}
html.js .amv__in>*{opacity:0;transform:translateY(14px);transition:opacity 1.2s var(--ease),transform 1.2s var(--ease)}
html.is-loaded:not(.is-choosing) .amv__in>*{opacity:1;transform:none}
html.is-loaded .amv__in>:nth-child(2){transition-delay:.15s}
html.is-loaded .amv__in>:nth-child(3){transition-delay:.3s}
html.is-loaded .amv__in>:nth-child(4){transition-delay:.45s}
.amv__bars{position:absolute;left:50%;bottom:32px;z-index:3;display:flex;gap:20px;transform:translateX(-50%)}
.amv__bars button{display:flex;flex-direction:column;gap:8px;width:120px;font-size:13px;font-weight:700;letter-spacing:.1em;color:#fff;text-align:left}
.amv__bars i{position:relative;display:block;height:2px;background:rgba(255,255,255,.35);overflow:hidden}
.amv__bars i::after{content:"";position:absolute;inset:0;background:#fff;transform:scaleX(0);transform-origin:left}
.amv__bars .is-active i::after{animation:abar 6.5s linear forwards}
@keyframes abar{to{transform:scaleX(1)}}
@media (max-width:760px){
  .amv{min-height:560px;height:88svh}
  .amv__t{font-size:clamp(20px,6.4vw,28px);letter-spacing:.05em}
  .amv__x{font-size:14.5px}
  .amv__in{padding-bottom:110px}
  .amv__in .btns{width:100%;max-width:340px}
  .amv__bars{gap:12px;bottom:24px}
  .amv__bars button{width:84px;font-size:12px}
}

.sh{margin-bottom:clamp(36px,4.4vw,56px)}
.sh__en{font-family:var(--ff-en);font-size:clamp(32px,3.4vw,44px);font-weight:500;line-height:1.2;letter-spacing:.06em;color:var(--main)}
.sh__t{margin-top:10px;font-family:var(--ff-b);font-size:15px;font-weight:700;letter-spacing:.12em;color:var(--accent-ink)}
.sh__x{margin-top:16px}
.sh--row{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}
.sh__count{font-weight:700;white-space:nowrap}
.sh__count b{margin:0 6px;font-family:var(--ff-en);font-size:30px;font-weight:600;color:var(--main)}
.sh--sm .sh__en{font-size:clamp(26px,2.6vw,32px)}
.sh--sm{margin-bottom:28px}

.asvc{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,3vw,40px)}
.asvc__main{position:relative;display:block;min-height:440px;overflow:hidden;color:#fff}
.asvc__main img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.asvc__main::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,30,54,0) 35%,rgba(18,30,54,.82) 100%)}
.asvc__main .asvc__body{position:absolute;left:0;right:0;bottom:0;z-index:1;padding:32px 36px}
.asvc__main .asvc__t{font-size:clamp(24px,2.4vw,30px)}@media (hover:hover){.asvc__main:hover img{transform:scale(1.04)}}
.asvc__en{display:block;font-family:var(--ff-en);font-size:13px;font-weight:500;letter-spacing:.2em}
.asvc__t{display:block;margin-top:2px;font-family:var(--ff-h);font-size:21px;font-weight:700;line-height:1.5}
.asvc__x{display:block;margin-top:6px;font-size:14.5px;line-height:1.75}
.asvc__list{display:flex;flex-direction:column}
.asvc__item{display:grid;grid-template-columns:200px minmax(0,1fr) auto;gap:24px;align-items:center;flex:1;padding:20px 8px 20px 0;border-bottom:1px solid var(--line)}
.asvc__item:first-child{border-top:1px solid var(--line)}
.asvc__ph{display:block;aspect-ratio:3/2;overflow:hidden}
.asvc__ph img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.asvc__item .asvc__en{color:var(--accent-ink)}
.asvc__item .asvc__t{color:var(--main)}
.asvc__item .arw{color:var(--main)}@media (hover:hover){.asvc__item:hover .asvc__t{color:var(--accent-ink)}}@media (hover:hover){.asvc__item:hover .asvc__ph img{transform:scale(1.05)}}@media (hover:hover){.asvc__item:hover .arw{transform:translateX(4px) rotate(45deg)}}
@media (max-width:960px){.asvc{grid-template-columns:1fr}.asvc__main{min-height:0;aspect-ratio:3/2}}
@media (max-width:600px){
  .asvc__item{grid-template-columns:120px minmax(0,1fr);gap:16px;padding:16px 0}
  .asvc__item .arw{display:none}
  .asvc__t{font-size:18px}
  .asvc__x{font-size:13.5px}
  .asvc__main .asvc__body{padding:20px}
}

.works-top,.works-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 32px}
.wcard__body{padding-top:18px}
.wcard__t{margin-top:6px;font-size:18px;color:var(--main)}
.wcard__x{margin-top:6px}@media (hover:hover){.wcard:hover .wcard__img img{transform:scale(1.05)}}@media (hover:hover){.wcard:hover .wcard__t{color:var(--accent-ink)}}
@media (max-width:960px){.works-top,.works-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.works-top,.works-list{grid-template-columns:minmax(0,1fr);gap:36px}}

.wf__btns button,.ncat button{height:42px;padding:0 18px;background:var(--soft);font-size:14px;font-weight:700;white-space:nowrap;transition:background-color .3s,color .3s}@media (hover:hover){.wf__btns button:hover,.ncat button:hover{background:#e3e8f0}}
.wf__btns button[aria-pressed="true"],.ncat button[aria-pressed="true"]{background:var(--main);color:#fff}
.wf{padding:24px 28px;border:1px solid var(--line)}
.wmap{display:none}

.arsn{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,72px);align-items:center}
.arsn__ph{aspect-ratio:3/2;overflow:hidden}
.arsn__ph img{width:100%;height:100%;object-fit:cover}
.arsn__list li{padding:26px 0;border-bottom:1px solid var(--line)}
.arsn__list li:first-child{border-top:1px solid var(--line)}
.arsn__list h3{font-family:var(--ff-h);font-size:21px;color:var(--main)}
.arsn__list p{margin-top:6px;font-size:15px}
@media (max-width:860px){.arsn{grid-template-columns:1fr}}

.news-wrap{display:grid;grid-template-columns:280px minmax(0,1fr);grid-template-areas:"sh list" "more list";gap:0 64px;align-items:start}
.news-wrap>.sh{grid-area:sh}
.news-wrap>.news-top{grid-area:list}
.news-wrap>.more{grid-area:more;margin-top:0;text-align:left}
.news-wrap .more .btn{min-width:240px}
.nitem{padding:24px 8px 24px 0;border-bottom:1px solid var(--line)}
.news-top>div:first-child .nitem,.news-list>div:first-child .nitem{border-top:1px solid var(--line)}
.nitem__meta time{font-family:var(--ff-en);font-size:15px;color:var(--main)}
.nitem__meta{width:220px}
.nitem__t{font-size:15.5px}@media (hover:hover){.nitem:hover .nitem__t{color:var(--accent-ink)}}@media (hover:hover){.nitem:hover .arw{transform:translateX(4px) rotate(45deg)}}
@media (max-width:960px){.news-wrap{grid-template-columns:1fr;grid-template-areas:"sh" "list" "more"}.news-wrap>.more{margin-top:40px;text-align:center}}
@media (max-width:600px){.nitem{flex-wrap:wrap;gap:4px 12px;padding:18px 0}.nitem__meta{width:100%}.nitem__t{flex:1}}

.recruit-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.jitem{background:var(--soft)}
.jitem__body{padding:22px 24px 26px}
.jitem__t{margin-top:6px;font-size:20px;color:var(--main)}
.jitem__x{margin-top:8px}
.jitem__more{margin-top:16px}@media (hover:hover){.jitem:hover .jitem__t{color:var(--accent-ink)}}@media (hover:hover){.jitem:hover .jitem__more .arw{transform:translateX(4px) rotate(45deg)}}
.recruit-list--closed{margin-top:0}
.recruit-list--closed .jitem{background:var(--closed-bg)}
.recruit-list--closed .jitem__t{color:var(--ink)}
.recruit-closed-h{margin-top:72px}
.hs-recruit .sh__x{margin-top:14px}
@media (max-width:960px){.recruit-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.recruit-list{grid-template-columns:minmax(0,1fr)}}

.hs-easy .easy__img img{transition:transform 1s var(--ease)}@media (hover:hover){.hs-easy .easy__img:hover img{transform:scale(1.02)}}

.cta{padding:clamp(80px,9vw,120px) 0;color:#fff;text-align:center}
.cta__bg::after{content:"";position:absolute;inset:0;background:rgba(18,30,54,.84)}
.cta__en{font-family:var(--ff-en);font-size:clamp(30px,3.2vw,40px);font-weight:500;letter-spacing:.08em}
.cta__t{margin-top:8px;font-size:clamp(20px,2.2vw,26px)}
.cta__x{margin-top:10px}
.cta__box{display:grid;grid-template-columns:1fr 1fr;max-width:860px;margin:44px auto 0;border-top:1px solid rgba(255,255,255,.35);border-bottom:1px solid rgba(255,255,255,.35)}
.cta__col{display:flex;flex-direction:column;align-items:center;gap:8px;padding:32px 24px}
.cta__col+.cta__col{border-left:1px solid rgba(255,255,255,.35)}
.cta__num{font-size:clamp(28px,3vw,36px);line-height:1.3}
.cta .btn--main{background:var(--accent)}@media (hover:hover){.cta .btn--main:hover{background:var(--accent-d)}}
@media (max-width:760px){.cta__box{grid-template-columns:1fr}.cta__col+.cta__col{border-left:0;border-top:1px solid rgba(255,255,255,.35)}.cta__col .btn{width:100%}}

.ft{background:var(--main-d);color:#fff}@media (hover:hover){.ft__nav a:hover{color:#d9c08a}}
.ft__copy{background:#0d1629}

.phead{display:flex;align-items:center;min-height:400px;padding-top:var(--hd-h);color:#fff;background:var(--main);overflow:hidden}
.phead__ph{position:absolute;inset:0}
.phead__ph img{width:100%;height:100%;object-fit:cover}
.phead__ph::after{content:"";position:absolute;inset:0;background:rgba(18,30,54,.66)}
.phead__in{position:relative;text-align:center}
.phead__en{font-size:15px;letter-spacing:.3em}
.phead__t{margin-top:8px;font-size:clamp(28px,3.2vw,40px);letter-spacing:.1em;line-height:1.5}
.phead--detail{min-height:0;padding:calc(var(--hd-h) + 48px) 0 52px}
.phead--detail .phead__t{font-size:clamp(23px,2.6vw,32px)}
.phead__t--sm{font-size:clamp(23px,2.6vw,30px)}
@media (max-width:760px){.phead{min-height:260px}.phead--detail{min-height:0;padding:calc(var(--hd-h) + 32px) 0 36px}}
.crumbs{border-bottom:1px solid var(--line)}

.voices{display:block;margin:72px 0 0}
.voices__list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.voice{grid-template-columns:96px minmax(0,1fr);padding:24px;background:var(--soft)}
@media (max-width:960px){.voices__list{grid-template-columns:1fr}}

html.js .rv{transform:translateY(14px);transition-duration:1.1s}
