html.is-top{scroll-behavior:smooth;scroll-padding-top:73px}body{color:#1b1f1c;-webkit-font-smoothing:antialiased;background:#f5f4ef;margin:0;font-family:Noto Sans JP,sans-serif}a{color:#1e3a2f;text-decoration:none}a:hover{color:#4a2a7a}input,select,textarea,button{font-family:inherit}.en{font-family:Outfit,sans-serif}.nowrap{display:inline-block}.label{letter-spacing:.3em;color:#5e655f;font-family:Outfit,sans-serif;font-size:13px}.note{color:#5e655f;font-size:13px}.accent-bar{background:#4a2a7a;width:64px;height:3px}.breadcrumb{color:#5e655f;gap:8px;font-size:13px;display:flex}.breadcrumb a{color:#5e655f}.breadcrumb a:hover{color:#4a2a7a}.text-link{text-underline-offset:3px;text-decoration:underline}.btn{cursor:pointer;border-radius:0;padding:16px 32px;font-size:15px;font-weight:700;display:inline-block}.btn--green{color:#f5f4ef;background:#1e3a2f;border:none}.btn--green:hover{color:#f5f4ef;background:#2a4a3d}.btn--paper{color:#1e3a2f;background:#f5f4ef}.btn--paper:hover{color:#1e3a2f;background:#fff}.btn--ghost-light{color:#f5f4ef;border:1px solid #f5f4ef;padding:15px 32px}.btn--ghost-light:hover{color:#f5f4ef;background:#2a4a3d}.btn--outline{color:#1e3a2f;background:0 0;border:1px solid #1e3a2f;padding:15px 32px}.btn--outline:hover{color:#1e3a2f;background:#f5f4ef}.btns{flex-wrap:wrap;gap:16px;display:flex}.logo{align-items:flex-end;gap:10px;display:flex}.logo__bars{align-items:flex-end;gap:3px;display:flex}.logo__bars span{background:#1e3a2f;width:4px;display:block}.logo__bars span:first-child{height:14px}.logo__bars span:nth-child(2){height:21px}.logo__bars span:nth-child(3){background:#4a2a7a;height:28px}.logo__word{letter-spacing:.04em;color:#1e3a2f;font-family:Outfit,sans-serif;font-size:22px;font-weight:400;line-height:.95}.logo--dark .logo__bars span{background:#f5f4ef}.logo--dark .logo__bars span:nth-child(3){background:#8e6cc4}.logo--dark .logo__word{color:#f5f4ef}.site-header{z-index:20;background:#f5f4ef;border-bottom:1px solid #d9d8d0;position:fixed;top:0;left:0;right:0}.site-header__inner{box-sizing:border-box;justify-content:space-between;align-items:center;gap:24px;max-width:1200px;height:72px;margin:0 auto;padding:0 clamp(20px,5vw,32px);display:flex}.header-spacer{height:73px}.gnav{flex-wrap:wrap;align-items:center;gap:28px;font-size:14px;font-weight:500;display:flex}.gnav a{color:#1b1f1c}.gnav a:hover{color:#4a2a7a}.gnav a.gnav__cta{color:#f5f4ef;background:#1e3a2f;padding:10px 20px;font-weight:700}.gnav a.gnav__cta:hover{color:#f5f4ef;background:#2a4a3d}.menu-btn{cursor:pointer;background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:6px;width:44px;height:44px;margin-right:-10px;padding:0;display:none}.menu-btn span{background:#1e3a2f;width:24px;height:2px;display:block}.menu-btn[aria-expanded=true] span:first-child{width:26px;transform:translateY(4px)rotate(45deg)}.menu-btn[aria-expanded=true] span:nth-child(2){width:26px;transform:translateY(-4px)rotate(-45deg)}.menu-btn[aria-expanded=true] span:nth-child(3){display:none}.mnav{box-sizing:border-box;background:#f5f4ef;border-top:1px solid #d9d8d0;flex-direction:column;height:calc(100vh - 73px);padding:8px 24px 32px;display:flex;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.mnav[hidden]{display:none}.mnav a{color:#1b1f1c;border-bottom:1px solid #d9d8d0;padding:18px 0;font-size:16px;font-weight:700}.mnav a:hover{color:#4a2a7a}.mnav a.mnav__cta{color:#f5f4ef;text-align:center;background:#1e3a2f;border-bottom:none;margin-top:32px;padding:18px 24px}.mnav a.mnav__cta:hover{color:#f5f4ef;background:#2a4a3d}@media (width<=899.98px){.gnav{display:none}.menu-btn{display:flex}}@media (width>=900px){.mnav{display:none!important}}.site-footer{color:#f5f4ef;background:#1e3a2f}.site-footer__inner{flex-direction:column;gap:40px;max-width:1200px;margin:0 auto;padding:56px 32px 40px;display:flex}.site-footer__top{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:32px;display:flex}.site-footer__info{flex-direction:column;gap:16px;display:flex}.site-footer__addr{color:#b9d3c4;font-size:13px;line-height:1.8}.fnav{flex-wrap:wrap;gap:24px;font-size:13px;display:flex}.fnav a{color:#f5f4ef}.fnav a:hover{color:#c9b8e3}.site-footer__copy{color:#b9d3c4;border-top:1px solid #4f6e60;padding-top:24px;font-family:Outfit,sans-serif;font-size:13px}.sec{max-width:1200px;margin:0 auto;padding:112px clamp(20px,5vw,32px) 0}.sec--stack{flex-direction:column;gap:48px;display:flex}.sec--stack-40{flex-direction:column;gap:40px;display:flex}.sec-head{flex-direction:column;gap:12px;display:flex}.sec-head h2{margin:0;font-size:32px;font-weight:700}.sec-head .lead{color:#3a403b;max-width:720px;margin:8px 0 0;font-size:16px;line-height:1.9}.split{flex-wrap:wrap;gap:32px 56px;display:flex}.split__head{flex:240px}.split__body{flex:3 560px;min-width:0}.fv{color:#f5f4ef;background:#1e3a2f}.fv__inner{flex-direction:column;gap:32px;max-width:1200px;margin:0 auto;padding:clamp(64px,10vw,96px) clamp(20px,5vw,32px) clamp(72px,10vw,104px);display:flex}.fv .label{color:#b9d3c4}.fv h1{letter-spacing:.02em;margin:0;font-size:clamp(36px,5vw,56px);font-weight:700;line-height:1.4}.fv__bar{background:#8e6cc4;width:80px;height:4px}.fv__text{color:#d5e2da;text-wrap:pretty;max-width:520px;margin:0;font-size:16px;line-height:1.9}.cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:24px;display:grid}.card{background:#ecebe6;border-bottom:2px solid #1e3a2f;flex-direction:column;gap:18px;padding:40px 32px;display:flex}.card h3{margin:0;font-size:22px;font-weight:700}.card ul{color:#3a403b;flex-direction:column;gap:8px;margin:0;padding:0;font-size:15px;line-height:1.6;list-style:none;display:flex}.steps{grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));gap:40px 0;margin:0;padding:0;list-style:none;display:grid}.steps__pair{grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:32px 0;display:grid}.step{flex-direction:column;gap:16px;padding-right:24px;display:flex}.step__no{letter-spacing:.2em;color:#5e655f;font-family:Outfit,sans-serif;font-size:13px}.step__line{background:#1e3a2f;height:3px;margin-right:-24px}.step__line--last{background:#4a2a7a;margin-right:0}.step h3{margin:0;font-size:18px;font-weight:700}.step p{color:#3a403b;margin:0;font-size:15px;line-height:1.8}.works{border-top:2px solid #1e3a2f;flex-direction:column;display:flex}.works__row{border-bottom:1px solid #d9d8d0;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:8px 40px;padding:24px 0;display:grid}.works__who,.works__what{flex-direction:column;display:flex}.works__who{gap:4px}.works__what{gap:2px}.works__name{color:#1e3a2f;font-size:18px;font-weight:700}.works__tag{color:#5e655f;font-size:13px;line-height:1.6}.works__main{font-size:15px;line-height:1.7}.works__sub{color:#5e655f;font-size:13px;line-height:1.7}.profile{flex-flow:row-reverse wrap;align-items:flex-start;gap:56px;display:flex}.profile__photo{aspect-ratio:4/5;background-color:#f5f4ef;background-position:49%;background-repeat:no-repeat;background-size:cover;flex:360px;max-width:440px}@media (width<=1023.98px){.profile__photo{display:none}}.profile__text{flex-direction:column;flex:360px;gap:28px;min-width:0;display:flex}.profile__name{flex-wrap:wrap;align-items:baseline;gap:16px;display:flex}.profile__role{color:#1e3a2f;font-family:Outfit,sans-serif;font-size:15px;font-weight:500}.profile__ja{letter-spacing:.06em;font-size:28px;font-weight:700}.profile__en{color:#5e655f;font-family:Outfit,sans-serif;font-size:15px}.history{grid-template-columns:72px 1fr;column-gap:24px;margin:0;display:grid}.history dt,.history dd{border-top:1px solid #d9d8d0;margin:0;padding:16px 0}.history dt{color:#1e3a2f;font-family:Outfit,sans-serif;font-size:18px}.history dd{font-size:15px;line-height:1.8}.history dt.is-current{color:#4a2a7a;font-weight:500}.history dt:last-of-type,.history dd:last-of-type{border-bottom:1px solid #d9d8d0}.news{border-top:2px solid #1e3a2f;grid-template-columns:max-content 1fr;column-gap:clamp(16px,4vw,40px);margin:0;padding:0;list-style:none;display:grid}.news>li{grid-column:1/-1;grid-template-columns:subgrid;display:grid}.news__item{grid-column:1/-1;grid-template-columns:subgrid;color:#1b1f1c;border-bottom:1px solid #d9d8d0;padding:20px 0;display:grid}a.news__item:hover{color:#4a2a7a}.news__date{color:#5e655f;font-family:Outfit,sans-serif;font-size:15px}.news__title{font-size:15px;line-height:1.7}.company{border-top:2px solid #1e3a2f;grid-template-columns:max-content 1fr;column-gap:clamp(20px,5vw,48px);margin:0;font-size:15px;display:grid}.company dt,.company dd{border-bottom:1px solid #d9d8d0;margin:0;padding:18px 0}.company dt{color:#1e3a2f;font-weight:700}.company dd{line-height:1.7}.company__list{flex-direction:column;line-height:1.8;display:flex}.sec--last{padding-bottom:112px}.cta{background:#ecebe6;border-bottom:2px solid #1e3a2f;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:32px 56px;padding:clamp(40px,8vw,64px) clamp(24px,6vw,56px);display:flex}.cta__text{flex-direction:column;gap:16px;display:flex}.cta h2{color:#1e3a2f;flex-direction:column;margin:0;font-size:clamp(22px,5.6vw,32px);font-weight:700;line-height:1.6;display:flex}.cta .btn{padding:18px 48px;font-size:16px}.page{max-width:1200px;margin:0 auto;padding:88px clamp(20px,5vw,32px) 112px}.page-head{flex-direction:column;gap:24px;display:flex}.page-head h1{color:#1e3a2f;margin:0;font-weight:700;line-height:1.5}.page--contact{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));align-items:start;gap:48px 80px;display:grid}.page--contact .page-head{max-width:420px}.page--contact .page-head h1{font-size:36px}.page-head__text{color:#3a403b;text-wrap:pretty;margin:0;font-size:15px;line-height:1.9}.form{flex-direction:column;gap:28px;display:flex}.form[hidden]{display:none}.field{flex-direction:column;gap:10px;display:flex}.field__label{align-items:center;gap:10px;font-size:15px;font-weight:700;display:flex}.req,.opt{font-size:13px;font-weight:500}.req{color:#4a2a7a}.opt{color:#5e655f}.input{color:#1b1f1c;-webkit-appearance:none;appearance:none;background:#fff;border:1px solid #d9d8d0;border-radius:0;outline:none;padding:14px 16px;font-size:16px}.input:focus{border-color:#1e3a2f}textarea.input{resize:vertical;line-height:1.8}.err{color:#4a2a7a;font-size:13px}.err[hidden]{display:none}.field-pair{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:28px 24px;display:grid}.field-group{border:0;flex-direction:column;gap:12px;min-width:0;margin:0;padding:0;display:flex}.field-group legend{margin-bottom:12px;padding:0}.topics{flex-wrap:wrap;gap:10px;display:flex}.topic{cursor:pointer;color:#1b1f1c;background:#fff;border:1px solid #d9d8d0;border-radius:0;min-height:44px;padding:10px 18px;font-size:14px;font-weight:400}.topic[aria-pressed=true]{color:#f5f4ef;background:#1e3a2f;border-color:#1e3a2f;font-weight:700}.agree{border-top:1px solid #d9d8d0;flex-direction:column;gap:10px;padding-top:24px;display:flex}.agree__label{cursor:pointer;align-items:center;gap:12px;min-height:44px;font-size:15px;display:flex}.agree__label input{accent-color:#1e3a2f;flex:none;width:20px;height:20px;margin:0}.submit{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.submit .btn{padding:18px 56px;font-size:16px}.submit .btn:disabled{cursor:default;background:#2a4a3d}.hp{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.done{background:#ecebe6;border-bottom:2px solid #1e3a2f;flex-direction:column;gap:20px;padding:56px 48px;display:flex}.done[hidden]{display:none}.done h2{color:#1e3a2f;margin:0;font-size:26px;font-weight:700;line-height:1.5}.done p{color:#3a403b;margin:0;font-size:15px;line-height:1.9}.done .btns{padding-top:8px}.page--split{flex-wrap:wrap;align-items:flex-start;gap:48px 80px;display:flex}.page--split .page-head{flex:240px}.page--split .page-head h1{font-size:32px}.policy{color:#3a403b;flex-direction:column;flex:3 560px;min-width:0;font-size:15px;line-height:1.9;display:flex}.policy p{text-wrap:pretty;margin:0}.policy__intro{margin-bottom:40px!important}.policy section{border-top:1px solid #d9d8d0;flex-direction:column;gap:12px;padding:32px 0;display:flex}.policy section:first-of-type{border-top:2px solid #1e3a2f}.policy section:last-of-type{border-bottom:1px solid #d9d8d0}.policy h2{color:#1e3a2f;margin:0;font-size:18px;font-weight:700}.policy ul{flex-direction:column;gap:4px;margin:0;padding-left:1.4em;display:flex}.policy__date{color:#5e655f;padding-top:24px;font-size:13px}.page--404 .page-head{max-width:640px}.page--404 .page-head h1{font-size:32px}
