@charset "UTF-8";
:root{
  --inner:66.25rem;
  --inner-wide:78.125rem;
  --inner-narrow:56.25rem;
  --padding-inline:1.875rem;
}
:root{
  --font-family-base:"Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
  --font-family-en:"Barlow", "Noto Sans JP", sans-serif;
  --font-family-serif:"Noto Serif JP", "Hiragino Mincho ProN", serif;
}

:root{
  --font-weight-light:300;
  --font-weight-regular:400;
  --font-weight-medium:500;
  --font-weight-semibold:600;
  --font-weight-bold:700;
}

:root{
  --text-black:#000;
  --text-dark:#333;
  --white:#fff;
  --body-bg:#fff;
  --light-gray:#f7f7f7;
  --pale-mint:#eaf3f1;
  --main-color:#01bf93;
  --accent-mint:#72f6d8;
  --dark:#2f2f2f;
  --dark-green:#2f3e3f;
  --dark-teal:#2e3c3d;
  --slate-gray:#77848b;
  --placeholder:#d9d9d9;
  --icon-sub:#b0b0b0;
  --red:#e0001a;
  --overlay-40:rgba(0, 0, 0, 0.4);
  --overlay-50:rgba(0, 0, 0, 0.5);
}

:root{
  --z-index-header:100;
  --z-index-to-top:200;
  --z-index-drawer:1000;
  --z-index-hamburger:10000;
  --z-index-modal:100000;
}

:root{
  --cq-ref-mobile:375;
  --cq-ref:1440;
  --fluid-basis-mobile:(100vw - 320px) / (375 - 320);
  --fluid-basis:(100vw - 768px) / (1440 - 768);
  --fluid-basis-2:(100vw - 1440px) / (1800 - 1440);
}

:root{
  --duration-short:0.2s;
  --duration-base:0.3s;
  --duration-long:0.5s;
  --duration-extra-long:0.8s;
  --duration-scroll:0.6s;
  --duration-scroll-long:1s;
  --ease-smooth-bounce:cubic-bezier(.48, .07, .33, .79);
}

body{
  background-color:var(--body-bg);
  color:var(--text-black);
  font-family:var(--font-family-base);
}

.u-desktop{
  display:none;
}

.u-desktop-inline{
  display:none;
}

.u-mobile-inline{
  display:inline;
}
html{
  font-size:16px;
}

*,
*::before,
*::after{
  box-sizing:border-box;
}

html{
  -webkit-text-size-adjust:100%;
  -moz-text-size-adjust:100%;
       text-size-adjust:100%;
  scroll-behavior:smooth;
}

body{
  word-wrap:anywhere;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  line-break:strict;
  line-height:1.5;
  margin:0;
  overflow-wrap:anywhere;
  text-rendering:optimizeLegibility;
  word-break:normal;
}

ul,
ol,
button,
body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd,
time,
small{
  margin:0;
  padding:0;
}

ul,
ol{
  list-style:none;
}

a:not([class]){
  -webkit-text-decoration-skip:ink;
          text-decoration-skip-ink:auto;
}

a,
span,
button{
  display:inline-block;
}

small,
time,
figure{
  border:0;
  font:inherit;
  font-size:100%;
  vertical-align:baseline;
}

address{
  font-style:normal;
}

img{
  display:block;
  max-width:100%;
  width:100%;
}

article > * + *{
  margin-top:1em;
}

input,
button,
textarea,
select{
  font:inherit;
}

input,
button,
select,
textarea{
  -webkit-appearance:none;
  -moz-appearance:none;
  appearance:none;
  background:transparent;
  border:none;
  border-radius:0;
  outline:none;
}

textarea{
  resize:vertical;
}

input[type=checkbox],
input[type=radio]{
  border:0;
  clip-path:polygon(0 0, 0 0, 0 0, 0 0);
  height:1px;
  margin:-1px;
  padding:0;
  position:absolute;
  width:1px;
}

input[type=submit],
input[type=button],
label,
button,
select{
  cursor:pointer;
}

a{
  -webkit-text-decoration:none;
  color:inherit;
  text-decoration:none;
  transition:0.3s;
}

button{
  color:inherit;
}
a{
  -webkit-tap-highlight-color:transparent;
}

button{
  -webkit-tap-highlight-color:transparent;
}

.inner{
  margin-left:auto;
  margin-right:auto;
  max-width:500px;
  padding-left:20px;
  padding-right:20px;
  width:100%;
}

.column-archive{
  background-color:var(--light-gray);
  padding-block:3.75rem 5rem;
}

.column-archive__inner{
  margin-inline:auto;
  max-width:var(--inner-wide);
  padding-inline:var(--padding-inline);
  width:100%;
}

.column-archive__list{
  display:grid;
  gap:1.875rem;
  grid-template-columns:1fr;
}

.column-archive .column-card{
  height:100%;
}

.company-greeting{
  padding-block:4.375rem 5rem;
}

.company-greeting__inner{
  margin-inline:auto;
  max-width:var(--inner-wide);
  padding-inline:var(--padding-inline);
  width:100%;
}

.company-greeting__body{
  margin-inline:auto;
  margin-top:2.5rem;
  max-width:51.25rem;
  width:100%;
}

.company-greeting__title{
  font-size:1.25rem;
  font-weight:var(--font-weight-semibold);
  letter-spacing:0.04em;
  line-height:1.6;
}

.company-greeting__paragraph{
  color:var(--text-dark);
  font-size:0.9375rem;
  font-weight:var(--font-weight-medium);
  letter-spacing:0.04em;
  line-height:2;
  margin-top:1.25rem;
}

.company-greeting__sign{
  margin-top:2rem;
  text-align:right;
}

.company-greeting__sign-role{
  color:var(--text-dark);
  font-size:0.8125rem;
  font-weight:var(--font-weight-medium);
  letter-spacing:0.08em;
}

.company-greeting__sign-name{
  display:block;
  font-size:1.125rem;
  font-weight:var(--font-weight-medium);
  letter-spacing:0.12em;
  margin-top:0.375rem;
}

.company-history{
  padding-block:4.375rem 5rem;
}

.company-history__inner{
  margin-inline:auto;
  max-width:var(--inner-wide);
  padding-inline:var(--padding-inline);
  width:100%;
}

.company-history__body{
  display:flex;
  flex-direction:column;
  gap:2.25rem;
  margin-top:2.5rem;
}

.company-history__media{
  overflow:hidden;
}

.company-history__img{
  aspect-ratio:1000/667;
  height:auto;
  object-fit:cover;
  width:100%;
}

.company-history__list{
  padding-left:2.25rem;
  position:relative;
}

.company-history__list::before{
  background-color:var(--main-color);
  bottom:0.5rem;
  content:"";
  left:0.4375rem;
  position:absolute;
  top:0.5rem;
  width:0.125rem;
}

.company-history__item{
  position:relative;
}

.company-history__item + .company-history__item{
  margin-top:2rem;
}

.company-history__marker{
  background-color:var(--main-color);
  border:0.1875rem solid var(--white);
  border-radius:50%;
  box-shadow:0 0 0 0.125rem var(--main-color);
  height:1rem;
  left:-2.25rem;
  position:absolute;
  top:0.3125rem;
  width:1rem;
}

.company-history__year{
  color:var(--text-dark);
  font-size:0.9375rem;
  font-weight:var(--font-weight-medium);
  letter-spacing:0.02em;
}

.company-history__desc{
  color:var(--text-dark);
  font-size:0.9375rem;
  font-weight:var(--font-weight-medium);
  letter-spacing:0.02em;
  line-height:1.8;
  margin-top:0.5rem;
}

.company-mission{
  background:linear-gradient(120deg, #009f77 0%, var(--main-color) 100%);
  padding-block:4.375rem 5rem;
}

.company-mission__inner{
  margin-inline:auto;
  max-width:var(--inner-wide);
  padding-inline:var(--padding-inline);
  width:100%;
}

.company-mission__layout{
  display:flex;
  flex-direction:column;
  margin-top:2.5rem;
}

.company-mission__img{
  aspect-ratio:600/450;
  height:auto;
  object-fit:cover;
  width:100%;
}

.company-mission__body{
  margin-top:2rem;
}

.company-mission__title{
  color:var(--white);
  font-size:1.375rem;
  font-weight:var(--font-weight-semibold);
  letter-spacing:0.06em;
  line-height:1.5;
}

.company-mission__desc{
  color:var(--white);
  font-size:0.9375rem;
  font-weight:var(--font-weight-medium);
  letter-spacing:0.04em;
  line-height:2;
  margin-top:1.375rem;
}

.company-profile{
  background-color:var(--light-gray);
  padding-block:4.375rem 5rem;
}

.company-profile__inner{
  margin-inline:auto;
  max-width:var(--inner-narrow);
  padding-inline:var(--padding-inline);
  width:100%;
}

.company-profile__list{
  margin-top:2.5rem;
}

.company-profile__row{
  border-top:0.0625rem solid #dcdcdc;
  display:grid;
  gap:0.375rem;
  grid-template-columns:1fr;
  padding-block:1.125rem;
}

.company-profile__row:last-child{
  border-bottom:0.0625rem solid #dcdcdc;
}

.company-profile__term{
  font-size:0.9375rem;
  font-weight:var(--font-weight-medium);
  letter-spacing:0.04em;
}

.company-profile__desc{
  color:var(--text-dark);
  font-size:0.9375rem;
  font-weight:var(--font-weight-medium);
  letter-spacing:0.04em;
  line-height:1.8;
}

.company-profile__qualifications{
  display:flex;
  flex-direction:column;
  gap:0.375rem;
}

.company-profile__note{
  font-size:0.8125rem;
  margin-top:0.5rem;
}

.contact{
  padding-block:3.75rem;
}

.contact__inner{
  display:grid;
  gap:3rem;
  grid-template-columns:1fr;
  margin-inline:auto;
  max-width:var(--inner-wide);
  padding-inline:var(--padding-inline);
  width:100%;
}

.contact__logo-img{
  height:auto;
  width:15rem;
}

.contact__features{
  display:flex;
  flex-direction:column;
  gap:0.75rem;
  margin-top:1.75rem;
}

.contact__feature{
  font-size:0.875rem;
  font-weight:var(--font-weight-medium);
  letter-spacing:0.04em;
  line-height:1.7;
  padding-left:1.625rem;
  position:relative;
}
.contact__feature::before{
  background-color:var(--main-color);
  border-radius:50%;
  content:"";
  height:1rem;
  left:0;
  position:absolute;
  top:0.3125rem;
  width:1rem;
}
.contact__feature::after{
  border-bottom:0.125rem solid var(--white);
  border-right:0.125rem solid var(--white);
  content:"";
  height:0.4375rem;
  left:0.3125rem;
  position:absolute;
  top:0.5rem;
  transform:rotate(45deg);
  width:0.25rem;
}

.contact__tel{
  background-color:var(--light-gray);
  margin-top:1.75rem;
  padding:1.25rem 1.5rem;
  text-align:center;
}

.contact__tel-label{
  font-size:0.8125rem;
  font-weight:var(--font-weight-medium);
  letter-spacing:0.04em;
}

.contact__tel-num{
  color:var(--main-color);
  display:block;
  font-family:var(--font-family-en);
  font-size:1.875rem;
  font-weight:var(--font-weight-semibold);
  letter-spacing:0.04em;
  margin-top:0.375rem;
}

.contact__media{
  margin-top:1.75rem;
}

.contact__img{
  aspect-ratio:3/2;
  height:auto;
  object-fit:cover;
  width:100%;
}

.contact__honeypot{
  display:none;
}

.contact__group + .contact__group{
  margin-top:1.5rem;
}

.contact__label{
  align-items:center;
  display:flex;
  font-size:0.9375rem;
  font-weight:var(--font-weight-medium);
  gap:0.5rem;
  letter-spacing:0.04em;
}

.contact__required,
.contact__optional{
  border-radius:0.125rem;
  font-size:0.6875rem;
  font-weight:var(--font-weight-medium);
  letter-spacing:0.04em;
  padding:0.125rem 0.5rem;
}

.contact__required{
  background-color:var(--main-color);
  color:var(--white);
}

.contact__optional{
  background-color:var(--light-gray);
  color:var(--text-dark);
}

.contact__input,
.contact__textarea{
  background-color:var(--white);
  border:0.0625rem solid var(--placeholder);
  font-size:0.9375rem;
  font-weight:var(--font-weight-medium);
  line-height:1.6;
  margin-top:0.625rem;
  padding:0.75rem 1rem;
  transition:border-color 0.3s ease;
  width:100%;
}
.contact__input::-moz-placeholder, .contact__textarea::-moz-placeholder{
  color:var(--icon-sub);
}
.contact__input::placeholder,
.contact__textarea::placeholder{
  color:var(--icon-sub);
}
.contact__input:focus,
.contact__textarea:focus{
  border-color:var(--main-color);
}

.contact__textarea{
  line-height:1.8;
}

.contact__checks{
  display:flex;
  flex-direction:column;
  gap:0.75rem;
  margin-top:0.75rem;
}

.contact__check{
  align-items:center;
  cursor:pointer;
  display:flex;
  font-size:0.875rem;
  font-weight:var(--font-weight-medium);
  gap:0.625rem;
  letter-spacing:0.04em;
}

.contact__check-box{
  background-color:var(--white);
  border:0.0625rem solid var(--icon-sub);
  flex-shrink:0;
  height:1.25rem;
  position:relative;
  transition:background-color 0.2s ease, border-color 0.2s ease;
  width:1.25rem;
}

.contact__check input[type=checkbox]:checked + .contact__check-box{
  background-color:var(--main-color);
  border-color:var(--main-color);
}

.contact__check input[type=checkbox]:checked + .contact__check-box::after{
  border-bottom:0.125rem solid var(--white);
  border-right:0.125rem solid var(--white);
  content:"";
  height:0.5625rem;
  left:0.375rem;
  position:absolute;
  top:0.1875rem;
  transform:rotate(45deg);
  width:0.3125rem;
}

.contact__check input[type=checkbox]:focus-visible + .contact__check-box{
  outline:0.125rem solid var(--main-color);
  outline-offset:0.125rem;
}

.contact__error{
  color:var(--red);
  display:none;
  font-size:0.75rem;
  font-weight:var(--font-weight-medium);
  letter-spacing:0.04em;
  line-height:1.6;
  margin-top:0.5rem;
}

.contact__group.is-error .contact__error{
  display:block;
}

.contact__group.is-error .contact__input,
.contact__group.is-error .contact__textarea{
  border-color:var(--red);
}

.contact__group.is-error .contact__check-box{
  border-color:var(--red);
}

.contact__group--privacy{
  margin-top:1.75rem;
}

.contact__submit-wrap{
  display:flex;
  justify-content:center;
  margin-top:2.25rem;
}

.contact--thanks .contact__inner{
  display:block;
  max-width:var(--inner);
}

.contact-thanks{
  text-align:center;
}

.contact-thanks__text{
  font-size:1.25rem;
  font-weight:var(--font-weight-semibold);
  letter-spacing:0.04em;
  line-height:1.5;
}

.contact-thanks__note{
  color:var(--text-dark);
  font-size:0.875rem;
  font-weight:var(--font-weight-medium);
  letter-spacing:0.04em;
  line-height:1.9;
  margin-top:1.5rem;
}

.contact-thanks__btn-wrap{
  display:flex;
  justify-content:center;
  margin-top:2.5rem;
}

.news-archive{
  background-color:var(--light-gray);
  padding-block:3.75rem 5rem;
}

.news-archive__inner{
  margin-inline:auto;
  max-width:var(--inner-wide);
  padding-inline:var(--padding-inline);
  width:100%;
}

.news-archive__list{
  display:grid;
  gap:1.25rem;
  grid-template-columns:1fr;
}

.news-archive .news-card{
  height:100%;
}

.sub-mv--notfound .sub-mv__title{
  font-size:4.5rem;
  font-weight:var(--font-weight-bold);
  letter-spacing:0.04em;
  line-height:1;
}

.notfound{
  padding-block:3.75rem 5rem;
}

.notfound__inner{
  margin-inline:auto;
  max-width:var(--inner-narrow);
  padding-inline:var(--padding-inline);
  text-align:center;
  width:100%;
}

.notfound__lead{
  font-size:1.25rem;
  font-weight:var(--font-weight-bold);
  letter-spacing:0.06em;
  line-height:1.6;
}

.notfound__desc{
  color:var(--text-dark);
  font-size:0.9375rem;
  font-weight:var(--font-weight-medium);
  letter-spacing:0.04em;
  line-height:1.9;
  margin-top:1.5rem;
}

.notfound__btn{
  display:flex;
  justify-content:center;
  margin-top:2.5rem;
}

.recruit-access{
  padding-block:3.75rem;
}

.recruit-access__inner{
  margin-inline:auto;
  max-width:var(--inner-wide);
  padding-inline:var(--padding-inline);
  width:100%;
}

.recruit-access__map{
  margin-top:2.5rem;
  overflow:hidden;
}

.recruit-access__map iframe{
  display:block;
  height:18.75rem;
  width:100%;
}

.recruit-application-jobs{
  padding-block:3.75rem;
}

.recruit-application-jobs__inner{
  margin-inline:auto;
  max-width:var(--inner-wide);
  padding-inline:var(--padding-inline);
  width:100%;
}

.recruit-application-jobs__job{
  margin-top:2.5rem;
}

.recruit-application-step{
  background-color:var(--light-gray);
  padding-block:3.75rem;
}

.recruit-application-step__inner{
  margin-inline:auto;
  max-width:var(--inner-wide);
  padding-inline:var(--padding-inline);
  width:100%;
}

.recruit-application-step__list{
  display:grid;
  gap:3rem;
  grid-template-columns:1fr;
  margin-top:2.5rem;
}

.recruit-application-step__item{
  align-items:center;
  display:flex;
  flex-direction:column;
  position:relative;
  text-align:center;
}

.recruit-application-step__item:not(:last-child)::after{
  border-right:0.125rem solid var(--main-color);
  border-top:0.125rem solid var(--main-color);
  bottom:-1.9375rem;
  content:"";
  height:0.875rem;
  left:50%;
  position:absolute;
  transform:translateX(-50%) rotate(135deg);
  width:0.875rem;
}

.recruit-application-step__media{
  position:relative;
  width:100%;
}

.recruit-application-step__img{
  aspect-ratio:3/2;
  height:auto;
  object-fit:cover;
  width:100%;
}

.recruit-application-step__num{
  align-items:center;
  background-color:var(--main-color);
  color:var(--white);
  display:grid;
  font-family:var(--font-family-en);
  font-size:1.125rem;
  font-weight:var(--font-weight-semibold);
  height:2.75rem;
  justify-items:center;
  left:0;
  line-height:1;
  place-items:center;
  position:absolute;
  top:0;
  width:2.75rem;
  z-index:1;
}

.recruit-application-step__title{
  font-size:1.125rem;
  font-weight:var(--font-weight-medium);
  letter-spacing:0.04em;
  line-height:1.5;
  margin-top:1.25rem;
}

.recruit-application-step__desc{
  color:var(--text-dark);
  font-size:0.875rem;
  font-weight:var(--font-weight-medium);
  letter-spacing:0.04em;
  line-height:1.8;
  margin-top:0.75rem;
}

.recruit-content{
  background-color:var(--pale-mint);
  padding-block:3.75rem;
}

.recruit-content__inner{
  margin-inline:auto;
  max-width:var(--inner-wide);
  padding-inline:var(--padding-inline);
  width:100%;
}

.recruit-content__list{
  display:grid;
  gap:1.75rem;
  grid-template-columns:1fr;
  margin-top:2.5rem;
}

.recruit-content__card{
  background-color:var(--white);
  box-shadow:0 0.125rem 1.25rem rgba(0, 0, 0, 0.06);
  display:flex;
  flex-direction:column;
  height:100%;
}

.recruit-content__media{
  overflow:hidden;
}

.recruit-content__img{
  aspect-ratio:3/2;
  height:auto;
  object-fit:cover;
  transition:scale var(--duration-long) ease;
  width:100%;
}

.recruit-content__body{
  display:flex;
  flex-direction:column;
  flex-grow:1;
  gap:0.75rem;
  padding:1.5rem 1.25rem 1.75rem;
}

.recruit-content__title{
  font-size:1.125rem;
  font-weight:var(--font-weight-medium);
  letter-spacing:0.04em;
  line-height:1.5;
  padding-bottom:0.875rem;
  position:relative;
}
.recruit-content__title::after{
  background-color:var(--main-color);
  bottom:0;
  content:"";
  height:0.125rem;
  left:0;
  position:absolute;
  width:2.5rem;
}

.recruit-content__desc{
  color:var(--text-dark);
  font-size:0.875rem;
  font-weight:var(--font-weight-medium);
  letter-spacing:0.04em;
  line-height:1.8;
}
.dept-interview{
  padding-block:3.75rem;
}

.dept-interview--gray{
  background-color:var(--light-gray);
}

.dept-interview__inner{
  margin-inline:auto;
  max-width:var(--inner-wide);
  padding-inline:var(--padding-inline);
  width:100%;
}

.dept-interview__title{
  font-size:1.375rem;
  font-weight:var(--font-weight-semibold);
  letter-spacing:0.04em;
  line-height:1.5;
}

.dept-interview__body{
  display:grid;
  gap:1.75rem;
  grid-template-columns:1fr;
  margin-top:1.75rem;
}

.dept-interview__img{
  aspect-ratio:4/3;
  height:auto;
  object-fit:cover;
  width:100%;
}

.dept-interview__paragraph{
  color:var(--text-dark);
  font-size:0.9375rem;
  font-weight:var(--font-weight-medium);
  letter-spacing:0.02em;
  line-height:2;
}

.dept-interview__paragraph + .dept-interview__paragraph{
  margin-top:1.25rem;
}

.dept-profile{
  background-color:var(--light-gray);
  margin-top:1.5rem;
  padding:1.5rem;
}

.dept-profile__title{
  color:var(--main-color);
  font-family:var(--font-family-en);
  font-size:1.25rem;
  font-weight:var(--font-weight-semibold);
  letter-spacing:0.05em;
  line-height:1.2;
}

.dept-profile__list{
  margin-top:0.875rem;
}

.dept-profile__row{
  grid-column-gap:0.75rem;
  -moz-column-gap:0.75rem;
       column-gap:0.75rem;
  display:grid;
  font-size:0.875rem;
  grid-template-columns:4rem 1fr;
  letter-spacing:0.02em;
  line-height:1.8;
}
.dept-profile__row + .dept-profile__row{
  margin-top:0.75rem;
}

.dept-profile__row dt{
  color:var(--text-dark);
  font-weight:var(--font-weight-semibold);
}

.dept-profile__row dd{
  color:var(--text-dark);
  font-weight:var(--font-weight-medium);
}

.dept-schedule{
  background-color:var(--pale-mint);
  padding-block:3.75rem;
}

.dept-schedule__inner{
  margin-inline:auto;
  max-width:var(--inner-wide);
  padding-inline:var(--padding-inline);
  width:100%;
}

.dept-schedule__title{
  color:var(--main-color);
  font-size:1.75rem;
  font-weight:var(--font-weight-semibold);
  letter-spacing:0.05em;
  line-height:1.3;
  text-align:center;
}

.dept-schedule__subtitle{
  color:var(--text-dark);
  font-size:1rem;
  font-weight:var(--font-weight-medium);
  letter-spacing:0.04em;
  line-height:1.5;
  margin-top:0.5rem;
  text-align:center;
}

.dept-schedule__content{
  display:grid;
  gap:2rem;
  grid-template-columns:1fr;
  margin-top:2.5rem;
}

.dept-schedule__item{
  grid-column-gap:1rem;
  -moz-column-gap:1rem;
  grid-row-gap:0.25rem;
  border-bottom:0.0625rem solid rgba(0, 0, 0, 0.1);
       column-gap:1rem;
  display:grid;
  grid-template-columns:4rem 1fr;
  padding-block:0.75rem;
  row-gap:0.25rem;
}

.dept-schedule__time{
  color:var(--main-color);
  font-family:var(--font-family-en);
  font-size:1rem;
  font-weight:var(--font-weight-semibold);
  letter-spacing:0.04em;
}

.dept-schedule__label{
  font-size:1rem;
  font-weight:var(--font-weight-medium);
  letter-spacing:0.04em;
  line-height:1.5;
}

.dept-schedule__desc{
  color:var(--text-dark);
  font-size:0.875rem;
  font-weight:var(--font-weight-medium);
  grid-column:2;
  letter-spacing:0.02em;
  line-height:1.6;
}

.dept-schedule__img{
  height:auto;
  width:100%;
}

.recruit-engineer-fields{
  background-color:var(--light-gray);
  padding-block:3.75rem;
}

.recruit-engineer-fields__inner{
  margin-inline:auto;
  max-width:var(--inner-wide);
  padding-inline:var(--padding-inline);
  width:100%;
}

.recruit-engineer-fields__list{
  display:grid;
  gap:1.75rem;
  grid-template-columns:1fr;
  margin-top:2.5rem;
}

.recruit-engineer-fields__item{
  background-color:var(--white);
  box-shadow:0 0.125rem 1.25rem rgba(0, 0, 0, 0.06);
  display:flex;
  flex-direction:column;
}

.recruit-engineer-fields__img{
  aspect-ratio:3/2;
  height:auto;
  object-fit:cover;
  width:100%;
}

.recruit-engineer-fields__body{
  flex-grow:1;
  padding:1.5rem 1.25rem 1.75rem;
}

.recruit-engineer-fields__title{
  font-size:1.125rem;
  font-weight:var(--font-weight-semibold);
  letter-spacing:0.04em;
  line-height:1.6;
}

.recruit-engineer-fields__text{
  color:var(--text-dark);
  font-size:0.875rem;
  font-weight:var(--font-weight-medium);
  letter-spacing:0.04em;
  line-height:1.8;
  margin-top:0.75rem;
}

.recruit-engineer-interview{
  padding-top:3.75rem;
}

.recruit-engineer-interview__inner,
.recruit-engineer-interview__tablist{
  margin-inline:auto;
  max-width:var(--inner-wide);
  padding-inline:var(--padding-inline);
  width:100%;
}

.recruit-engineer-interview__tab{
  margin-top:2.5rem;
}

.recruit-engineer-person{
  display:flex;
  flex-direction:column;
  margin-inline:auto;
  margin-top:2.5rem;
  max-width:var(--inner-wide);
  padding-inline:var(--padding-inline);
  width:100%;
}

.recruit-engineer-person__img{
  aspect-ratio:3/2;
  height:auto;
  object-fit:cover;
  width:100%;
}

.recruit-engineer-person__text{
  margin-top:1.75rem;
}

.recruit-engineer-person__field{
  color:var(--main-color);
  font-size:0.8125rem;
  font-weight:var(--font-weight-semibold);
  letter-spacing:0.08em;
  line-height:1.5;
}

.recruit-engineer-person__name{
  font-size:1.375rem;
  font-weight:var(--font-weight-semibold);
  letter-spacing:0.02em;
  line-height:1.6;
  margin-top:0.5rem;
}

.recruit-message{
  padding-block:3.75rem;
}

.recruit-message--green{
  background-color:var(--pale-mint);
}

.recruit-message--accent{
  background:linear-gradient(120deg, #009f77 0%, var(--main-color) 100%);
}

.recruit-message--accent .recruit-message__heading{
  color:var(--white);
}

.recruit-message--accent .recruit-message__text{
  color:var(--white);
}

.recruit-message__inner{
  margin-inline:auto;
  max-width:var(--inner-wide);
  padding-inline:var(--padding-inline);
  width:100%;
}

.recruit-message__body{
  display:flex;
  flex-direction:column;
  margin-top:2.5rem;
}

.recruit-message__img{
  aspect-ratio:3/2;
  height:auto;
  object-fit:cover;
  width:100%;
}

.recruit-message__text-col{
  margin-top:1.75rem;
}

.recruit-message__heading{
  font-size:1.375rem;
  font-weight:var(--font-weight-semibold);
  letter-spacing:0.02em;
  line-height:1.6;
}

.recruit-message__text{
  color:var(--text-dark);
  font-size:0.9375rem;
  font-weight:var(--font-weight-medium);
  letter-spacing:0.04em;
  line-height:2;
  margin-top:1.25rem;
}

.recruit-numbers-company{
  padding-block:3.75rem;
}

.recruit-numbers-company__inner{
  display:flex;
  flex-direction:column;
  gap:3.5rem;
  margin-inline:auto;
  max-width:var(--inner-wide);
  padding-inline:var(--padding-inline);
  width:100%;
}

.recruit-numbers-company__item{
  display:grid;
  gap:1.5rem;
  grid-template-columns:1fr;
}

.recruit-numbers-company__img{
  aspect-ratio:4/3;
  height:auto;
  object-fit:cover;
  width:100%;
}

.recruit-numbers-company__label{
  font-size:1.5rem;
  font-weight:var(--font-weight-medium);
  letter-spacing:0.02em;
  line-height:1.5;
}

.recruit-numbers-company__num{
  color:var(--main-color);
  font-family:var(--font-family-en);
  font-size:3rem;
  font-weight:var(--font-weight-medium);
  letter-spacing:0.05em;
  line-height:1.1;
  margin-top:0.875rem;
}

.recruit-numbers-company__desc{
  color:var(--text-dark);
  font-size:0.9375rem;
  font-weight:var(--font-weight-medium);
  letter-spacing:0.02em;
  line-height:2;
  margin-top:1.125rem;
}

.recruit-numbers-env{
  background-color:var(--pale-mint);
  padding-block:3.75rem;
}

.recruit-numbers-env__inner{
  margin-inline:auto;
  max-width:var(--inner-wide);
  padding-inline:var(--padding-inline);
  width:100%;
}

.recruit-numbers-env__list{
  display:grid;
  gap:1.5rem;
  grid-template-columns:1fr;
  margin-inline:auto;
  margin-top:2.5rem;
  max-width:50rem;
}

.recruit-numbers-env__item{
  background-color:var(--white);
  box-shadow:0 0.125rem 1.25rem rgba(0, 0, 0, 0.06);
  display:flex;
  flex-direction:column;
  height:100%;
}

.recruit-numbers-env__media{
  overflow:hidden;
}

.recruit-numbers-env__img{
  aspect-ratio:4/3;
  height:auto;
  object-fit:cover;
  width:100%;
}

.recruit-numbers-env__body{
  align-items:center;
  display:flex;
  flex-direction:column;
  flex-grow:1;
  gap:0.625rem;
  padding:1.5rem 1rem 1.75rem;
  text-align:center;
}

.recruit-numbers-env__label{
  color:var(--main-color);
  font-size:1.0625rem;
  font-weight:var(--font-weight-medium);
  letter-spacing:0.02em;
  line-height:1.5;
}

.recruit-numbers-env__num{
  color:var(--main-color);
  font-family:var(--font-family-en);
  font-size:3rem;
  font-weight:var(--font-weight-medium);
  letter-spacing:0.05em;
  line-height:1.1;
}

.recruit-numbers-staff{
  padding-block:3.75rem;
}

.recruit-numbers-staff__inner{
  margin-inline:auto;
  max-width:var(--inner-wide);
  padding-inline:var(--padding-inline);
  width:100%;
}

.recruit-numbers-staff__list{
  display:grid;
  gap:1.25rem;
  grid-template-columns:1fr;
  margin-top:2.5rem;
}

.recruit-numbers-staff__card{
  --photo-width:40%;
  background-color:var(--pale-mint);
  display:flex;
  flex-direction:column;
  overflow:hidden;
}

.recruit-numbers-staff__photo{
  clip-path:polygon(0 0, 100% 0, 100% 84%, 0 100%);
}

.recruit-numbers-staff__img{
  aspect-ratio:16/9;
  height:auto;
  object-fit:cover;
  width:100%;
}

.recruit-numbers-staff__card--lunch .recruit-numbers-staff__img{
  object-position:40% 50%;
}

.recruit-numbers-staff__body{
  flex-grow:1;
  padding:1.5rem 1.5rem 2rem;
}

.recruit-numbers-staff__label{
  font-size:1.125rem;
  font-weight:var(--font-weight-bold);
  letter-spacing:0.06em;
  line-height:1.5;
  padding-bottom:0.875rem;
  position:relative;
}
.recruit-numbers-staff__label::after{
  background-color:var(--main-color);
  bottom:0;
  content:"";
  height:2px;
  left:0;
  position:absolute;
  width:2rem;
}

.recruit-numbers-staff__unit{
  font-family:var(--font-family-base);
  font-size:0.4em;
  font-weight:var(--font-weight-bold);
  letter-spacing:0;
  margin-left:0.06em;
}

.recruit-numbers-staff__age{
  color:var(--main-color);
  font-family:var(--font-family-en);
  font-size:4rem;
  font-weight:var(--font-weight-semibold);
  letter-spacing:0.01em;
  line-height:1;
  margin-top:1.25rem;
}
.recruit-numbers-staff__age .recruit-numbers-staff__unit{
  color:var(--text-black);
}

.recruit-numbers-staff__text{
  color:var(--text-dark);
  font-size:0.875rem;
  font-weight:var(--font-weight-medium);
  letter-spacing:0.04em;
  line-height:1.9;
  margin-top:1rem;
}

.recruit-numbers-staff__genders{
  display:grid;
  grid-template-columns:1fr 1fr;
  margin-top:1.5rem;
}

.recruit-numbers-staff__gender{
  align-items:center;
  display:flex;
  flex-direction:column;
}
.recruit-numbers-staff__gender + .recruit-numbers-staff__gender{
  border-left:1px solid var(--placeholder);
}

.recruit-numbers-staff__gender-icon{
  aspect-ratio:1;
  height:auto;
  width:2.75rem;
}

.recruit-numbers-staff__gender-name{
  font-size:0.9375rem;
  font-weight:var(--font-weight-medium);
  letter-spacing:0.06em;
  line-height:1.5;
  margin-top:0.5rem;
}

.recruit-numbers-staff__gender-rate{
  color:var(--main-color);
  font-family:var(--font-family-en);
  font-size:3.5rem;
  font-weight:var(--font-weight-semibold);
  letter-spacing:0.01em;
  line-height:1;
  margin-top:0.5rem;
}

.recruit-numbers-staff__rates{
  margin-top:0.75rem;
}

.recruit-numbers-staff__rate{
  grid-column-gap:0.75rem;
  -moz-column-gap:0.75rem;
  align-items:center;
       column-gap:0.75rem;
  display:grid;
  grid-template-columns:2.25rem 1fr auto;
  padding-block:0.75rem;
}
.recruit-numbers-staff__rate + .recruit-numbers-staff__rate{
  border-top:1px solid var(--placeholder);
}

.recruit-numbers-staff__rate-icon{
  aspect-ratio:1;
  height:auto;
  width:100%;
}

.recruit-numbers-staff__rate-name{
  font-size:0.9375rem;
  font-weight:var(--font-weight-medium);
  letter-spacing:0.04em;
  line-height:1.5;
}

.recruit-numbers-staff__rate-num{
  color:var(--main-color);
  font-family:var(--font-family-en);
  font-size:2.5rem;
  font-weight:var(--font-weight-semibold);
  letter-spacing:0.01em;
  line-height:1;
  white-space:nowrap;
}

.recruit-numbers-staff__note{
  color:var(--text-dark);
  font-size:0.8125rem;
  font-weight:var(--font-weight-medium);
  line-height:1.6;
  margin-top:1.5rem;
  text-align:right;
}

.recruit-why{
  padding-block:3.75rem;
}

.recruit-why__inner{
  margin-inline:auto;
  max-width:var(--inner-wide);
  padding-inline:var(--padding-inline);
  width:100%;
}

.recruit-why__list{
  display:grid;
  gap:1.75rem;
  grid-template-columns:1fr;
  margin-top:2.5rem;
}

.recruit-why__item{
  background-color:var(--white);
  box-shadow:0 0.125rem 1.25rem rgba(0, 0, 0, 0.06);
  display:flex;
  flex-direction:column;
  height:100%;
  overflow:hidden;
}

.recruit-why__media{
  overflow:hidden;
}

.recruit-why__img{
  aspect-ratio:5/2.7;
  height:auto;
  object-fit:cover;
  width:100%;
}

.recruit-why__body{
  flex-grow:1;
  padding:1.5rem 1.5rem 1.75rem;
}

.recruit-why__title{
  font-size:1.25rem;
  font-weight:var(--font-weight-medium);
  letter-spacing:0.04em;
  line-height:1.5;
  padding-bottom:0.875rem;
  position:relative;
}
.recruit-why__title::after{
  background-color:var(--main-color);
  bottom:0;
  content:"";
  height:0.125rem;
  left:0;
  position:absolute;
  width:2.5rem;
}

.recruit-why__desc{
  color:var(--text-dark);
  font-size:0.875rem;
  font-weight:var(--font-weight-medium);
  letter-spacing:0.04em;
  line-height:1.8;
  margin-top:0.875rem;
}

.recruit-work-dept{
  background-color:var(--light-gray);
  padding-block:3.75rem;
}

.recruit-work-dept__inner{
  margin-inline:auto;
  max-width:var(--inner-wide);
  padding-inline:var(--padding-inline);
  width:100%;
}

.recruit-work-dept__list{
  display:grid;
  gap:1.75rem;
  grid-template-columns:1fr;
}

.recruit-work-dept__item{
  background-color:var(--white);
  box-shadow:0 0.125rem 1.25rem rgba(0, 0, 0, 0.06);
  display:flex;
  flex-direction:column;
  height:100%;
}

.recruit-work-dept__media{
  overflow:hidden;
}

.recruit-work-dept__img{
  aspect-ratio:10/7;
  height:auto;
  object-fit:cover;
  width:100%;
}

.recruit-work-dept__body{
  display:flex;
  flex-direction:column;
  flex-grow:1;
  gap:0.625rem;
  padding:1.5rem 1.25rem 1.75rem;
}

.recruit-work-dept__title{
  font-size:1.25rem;
  font-weight:var(--font-weight-medium);
  letter-spacing:0.04em;
  line-height:1.5;
}

.recruit-work-dept__subtitle{
  color:var(--main-color);
  font-family:var(--font-family-en);
  font-size:0.8125rem;
  font-weight:var(--font-weight-medium);
  letter-spacing:0.04em;
  line-height:1.5;
}

.recruit-work-dept__desc{
  color:var(--text-dark);
  font-size:0.875rem;
  font-weight:var(--font-weight-medium);
  letter-spacing:0.04em;
  line-height:1.8;
}

.recruit-work-dept__btn{
  display:flex;
  justify-content:center;
  margin-top:2.5rem;
}

.recruit-work-intro{
  padding-block:3.75rem;
}

.recruit-work-intro__inner{
  margin-inline:auto;
  max-width:var(--inner-wide);
  padding-inline:var(--padding-inline);
  width:100%;
}

.recruit-work-intro__body{
  display:grid;
  gap:1.75rem;
  grid-template-columns:1fr;
  margin-top:2.5rem;
}

.recruit-work-intro__media{
  display:flex;
  flex-direction:column;
  gap:1rem;
}

.recruit-work-intro__media-sub{
  display:grid;
  gap:1rem;
  grid-template-columns:1fr 1fr;
}

.recruit-work-intro__media-main .recruit-work-intro__img{
  aspect-ratio:3/2;
}

.recruit-work-intro__media-sub .recruit-work-intro__img{
  aspect-ratio:4/3;
}

.recruit-work-intro__img{
  height:auto;
  object-fit:cover;
  width:100%;
}

.recruit-work-intro__heading{
  font-size:1.375rem;
  font-weight:var(--font-weight-semibold);
  letter-spacing:0.02em;
  line-height:1.6;
}

.recruit-work-intro__text{
  color:var(--text-dark);
  font-size:0.9375rem;
  font-weight:var(--font-weight-medium);
  letter-spacing:0.04em;
  line-height:2;
  margin-top:1.25rem;
}

.recruit-works{
  padding-block:3.75rem;
}

.recruit-works__inner{
  margin-inline:auto;
  max-width:var(--inner-wide);
  padding-inline:var(--padding-inline);
  width:100%;
}

.recruit-works__job{
  margin-top:2.5rem;
}

.service-concept{
  background:linear-gradient(180deg, var(--white) 0%, var(--pale-mint) 100%);
  overflow:hidden;
  padding-block:5.625rem 2.5rem;
  position:relative;
}

.service-concept__inner{
  margin-inline:auto;
  max-width:var(--inner-wide);
  padding-inline:var(--padding-inline);
  width:100%;
}

.service-concept__list{
  display:grid;
  gap:1.75rem;
  grid-template-columns:1fr;
  margin-top:2.5rem;
}

.service-concept__item{
  background-color:var(--white);
  box-shadow:0 1rem 2.5rem rgba(21, 42, 40, 0.08);
  display:flex;
  flex-direction:column;
  overflow:hidden;
  position:relative;
}

.service-concept__body{
  padding-block:0.875rem 1.5625rem;
  padding-inline:1.5rem;
}

.service-concept__num{
  color:var(--main-color);
  font-size:2.75rem;
  font-weight:var(--font-weight-regular);
  letter-spacing:0.02em;
  line-height:0.9;
}

.service-concept__en{
  color:var(--main-color);
  display:block;
  font-family:var(--font-family-en);
  font-size:0.6875rem;
  font-weight:var(--font-weight-semibold);
  letter-spacing:0.08em;
  line-height:1.3;
  margin-top:0.625rem;
}

.service-concept__rule{
  background:linear-gradient(90deg, var(--main-color) 0,var(--main-color) 2.625rem, #d9dfdd 2.625rem, #d9dfdd 100%);
  display:block;
  height:1px;
  margin-top:0.9375rem;
  width:100%;
}

@supports (background: linear-gradient(red 0%, red 0% 1%, red 2%)) and (top: var(--f)){
.service-concept__rule{
  background:linear-gradient(90deg, var(--main-color) 0 2.625rem, #d9dfdd 2.625rem 100%);
}
}

.service-concept__item-title{
  font-size:1.25rem;
  font-weight:var(--font-weight-bold);
  letter-spacing:0.04em;
  line-height:1.55;
  margin-top:0.9375rem;
}

.service-concept__item-desc{
  color:var(--text-dark);
  font-size:0.875rem;
  font-weight:var(--font-weight-medium);
  letter-spacing:0.04em;
  line-height:1.95;
  margin-top:0.75rem;
}

.service-concept__media{
  order:-1;
  overflow:hidden;
  position:relative;
}
.service-concept__media::before{
  background:linear-gradient(90deg, rgba(1, 191, 147, 0.85), rgba(1, 191, 147, 0.5));
  clip-path:polygon(0 92%, 0 92%, 0 100%, 0 100%);
  content:"";
  inset:0;
  pointer-events:none;
  position:absolute;
  transition:clip-path var(--duration-scroll-long) cubic-bezier(0.25, 0.8, 0.4, 1);
  will-change:clip-path;
  z-index:1;
}

.service-concept__item.is-active .service-concept__media::before{
  clip-path:polygon(0 92%, 100% 76%, 100% 84%, 0 100%);
}

.service-concept__img{
  aspect-ratio:343/265;
  clip-path:polygon(0 0, 100% 0, 100% 84%, 0 100%);
  height:auto;
  object-fit:cover;
  width:100%;
}

.service-detail{
  background:linear-gradient(90deg, var(--light-gray) 0%, var(--white) 24%, var(--white) 76%, var(--light-gray) 100%);
  overflow:clip;
  padding-block:1.75rem 4.5rem;
  position:relative;
}
.service-detail::before, .service-detail::after{
  background-image:radial-gradient(var(--main-color) 0.09375rem, transparent 0.09375rem);
  background-size:0.75rem 0.75rem;
  content:"";
  height:6.25rem;
  opacity:0.25;
  pointer-events:none;
  position:absolute;
  right:5%;
  width:6.25rem;
}
.service-detail::before{
  left:2%;
  right:auto;
  top:0.75rem;
}
.service-detail::after{
  bottom:3rem;
}

.service-detail__inner{
  margin-inline:auto;
  max-width:var(--inner-wide);
  padding-inline:var(--padding-inline);
  position:relative;
  width:100%;
  z-index:1;
}

.service-detail__list{
  display:flex;
  flex-direction:column;
  gap:5rem;
  margin-top:5rem;
}

.service-detail__item{
  display:flex;
  flex-direction:column;
  position:relative;
  scroll-margin-top:5.3125rem;
}

.service-detail__item::before{
  background-color:var(--main-color);
  content:"";
  display:none;
  position:absolute;
  transform-origin:top;
  transition:transform var(--duration-scroll-long) cubic-bezier(0.2, 0.9, 0.35, 1);
  width:0.1875rem;
  will-change:transform;
}

.service-detail__body::before{
  background-color:var(--main-color);
  content:"";
  height:calc(100% - 1.25rem);
  left:0;
  position:absolute;
  top:1.25rem;
  transform:scaleY(0);
  transform-origin:top;
  transition:transform var(--duration-scroll-long) cubic-bezier(0.25, 0.8, 0.4, 1);
  width:0.125rem;
  will-change:transform;
}

.service-detail__body.is-active::before{
  transform:scaleY(1);
}

.service-detail__body{
  order:2;
  padding-left:1.25rem;
  padding-top:2rem;
  position:relative;
  z-index:5;
}

.service-detail__num{
  color:var(--main-color);
  display:inline-block;
  flex-shrink:0;
  font-size:3rem;
  font-weight:var(--font-weight-medium);
  letter-spacing:0.04em;
  line-height:0.9;
  margin-right:0.75rem;
  vertical-align:middle;
}

.service-detail__content{
  display:inline;
}

.service-detail__label{
  color:var(--main-color);
  display:inline-block;
  font-family:var(--font-family-en);
  font-size:0.625rem;
  font-weight:var(--font-weight-semibold);
  letter-spacing:0.08em;
  line-height:1.3;
  vertical-align:middle;
}

.service-detail__item-title{
  font-size:1.25rem;
  font-weight:var(--font-weight-medium);
  letter-spacing:0.04em;
  line-height:1.45;
  margin-top:1.125rem;
}

.service-detail__desc{
  color:var(--text-dark);
  font-size:0.875rem;
  font-weight:var(--font-weight-medium);
  letter-spacing:0.04em;
  line-height:1.9;
  margin-top:1rem;
}

.service-detail__media{
  height:17.5rem;
  margin-inline:-1rem;
  order:1;
  position:relative;
  width:calc(100% + 2rem);
  z-index:1;
}

.service-detail__media-inner{
  clip-path:polygon(6% 0, 100% 0, 94% 100%, 0 100%);
  height:100%;
  overflow:hidden;
  position:relative;
  width:100%;
  z-index:1;
}

.service-detail__img{
  height:100%;
  object-fit:cover;
  width:100%;
}

.service-detail__media::before{
  background-color:rgba(1, 191, 147, 0.72);
  content:"";
  height:calc(100% + 1.75rem);
  pointer-events:none;
  position:absolute;
  right:86%;
  top:-0.875rem;
  transform:skewX(-16deg) scaleY(0);
  transform-origin:top;
  transition:transform var(--duration-scroll-long) cubic-bezier(0.25, 0.8, 0.4, 1);
  transition-delay:0.2s;
  width:16%;
  will-change:transform;
  z-index:2;
}

.service-detail__item.is-active .service-detail__media::before{
  transform:skewX(-16deg) scaleY(1);
}

.service-detail__media::after{
  background-color:rgba(1, 191, 147, 0.18);
  bottom:-1.125rem;
  content:"";
  height:2.25rem;
  pointer-events:none;
  position:absolute;
  right:8%;
  transform:skewX(-16deg);
  width:6.25rem;
  z-index:3;
}

.top-about{
  background-color:var(--light-gray);
  display:flex;
  flex-direction:column;
}

.top-about__intro{
  display:flex;
  flex-direction:column;
  gap:1.875rem;
  margin-inline:auto;
  margin-top:3.75rem;
  max-width:var(--inner-wide);
  padding-inline:var(--padding-inline);
  width:100%;
}

.top-about__intro-text{
  display:flex;
  flex-direction:column;
  gap:1.25rem;
}

.top-about__intro-title{
  font-family:var(--font-family-en);
  font-size:1.25rem;
  font-weight:var(--font-weight-regular);
  letter-spacing:0.112em;
  line-height:1.6;
}

.top-about__intro-desc{
  font-family:var(--font-family-en);
  font-size:0.875rem;
  font-weight:var(--font-weight-regular);
  letter-spacing:0.112em;
  line-height:1.6;
}

.top-about__intro-media{
  order:-1;
  width:100%;
}

.top-about__intro-img{
  aspect-ratio:5/4;
  height:auto;
  object-fit:cover;
  width:100%;
}

.top-about__media{
  aspect-ratio:1440/1074;
  margin-top:3.75rem;
  position:relative;
  width:100%;
}

.top-about__media-mint{
  background-color:var(--pale-mint);
  height:60.751%;
  position:absolute;
  right:0;
  top:43.249%;
  width:11.417%;
  z-index:1;
}

.top-about__media-bar{
  background-color:var(--main-color);
  height:48.513%;
  left:0;
  position:absolute;
  top:25.857%;
  width:100%;
  z-index:2;
}

.top-about__media-img-wrap{
  height:57.208%;
  left:10.417%;
  position:absolute;
  top:0;
  width:89.583%;
  z-index:3;
}

.top-about__media-img{
  aspect-ratio:1290/500;
  height:100%;
  max-width:none;
  object-fit:cover;
}

.top-about__problem{
  margin-inline:auto;
  margin-top:0.625rem;
  max-width:var(--inner);
  padding-inline:var(--padding-inline);
  position:relative;
  width:100%;
  z-index:4;
}

.top-about__problem-content{
  align-items:flex-end;
  display:flex;
  flex-direction:column;
  gap:1.875rem;
}

.top-about__problem-headings{
  display:flex;
  flex-direction:column;
  gap:1.25rem;
  width:100%;
}

.top-about__problem-title{
  font-family:var(--font-family-en);
  font-size:1.25rem;
  font-weight:var(--font-weight-regular);
  letter-spacing:0.112em;
  line-height:1.6;
}

.top-about__problem-subtitle{
  font-family:var(--font-family-en);
  font-size:0.9375rem;
  font-weight:var(--font-weight-regular);
  letter-spacing:0.112em;
  line-height:1.6;
}

.top-about__problem-desc{
  font-family:var(--font-family-en);
  font-size:0.875rem;
  font-weight:var(--font-weight-regular);
  letter-spacing:0.112em;
  line-height:1.6;
}

.top-business{
  background-color:var(--light-gray);
  padding-block:5.625rem 3.75rem;
}

.top-business__heading{
  align-items:center;
  display:flex;
  flex-direction:column;
  gap:1rem;
  padding-inline:var(--padding-inline);
  text-align:center;
}

.top-business__title{
  font-family:var(--font-family-en);
  font-size:1.375rem;
  font-weight:var(--font-weight-regular);
  letter-spacing:0.02em;
  line-height:1.6;
}

.top-business__desc{
  font-family:var(--font-family-en);
  font-size:0.875rem;
  font-weight:var(--font-weight-regular);
  letter-spacing:0.112em;
  line-height:1.6;
}

.top-business__list{
  display:flex;
  flex-direction:column;
  gap:5rem;
  margin-top:3.75rem;
}

.top-business__item{
  display:grid;
  grid-template-columns:1fr;
}

.top-business__media{
  grid-row:1;
}

.top-business__img{
  aspect-ratio:600/500;
  height:auto;
  object-fit:cover;
  width:100%;
}

.top-business__card{
  display:flex;
  flex-direction:column;
  grid-row:2;
  margin-top:2.5rem;
  padding-inline:var(--padding-inline);
}

.top-business__item-content{
  display:flex;
  flex-direction:column;
  gap:2.5rem;
  width:100%;
}

.top-business__item-heading{
  display:flex;
  flex-direction:column;
  gap:1.25rem;
}

.top-business__item-title{
  font-family:var(--font-family-en);
  font-size:1.375rem;
  font-weight:var(--font-weight-medium);
  letter-spacing:0.112em;
  line-height:1.6;
}

.top-business__item-desc{
  color:var(--text-dark);
  font-family:var(--font-family-en);
  font-size:0.875rem;
  font-weight:var(--font-weight-regular);
  letter-spacing:0.112em;
  line-height:1.6;
}

.top-column{
  background-color:var(--light-gray);
  padding-block:3.75rem;
}

.top-column__inner{
  margin-inline:auto;
  max-width:var(--inner);
  padding-inline:var(--padding-inline);
  width:100%;
}

.top-column__title{
  font-family:var(--font-family-en);
  font-size:1.375rem;
  font-weight:var(--font-weight-regular);
  letter-spacing:0.112em;
  line-height:1.6;
}

.top-column__list{
  display:grid;
  gap:1.25rem;
  grid-template-columns:1fr;
  margin-top:2.5rem;
}

.top-column__item{
  display:contents;
}

.top-column__more{
  display:flex;
  justify-content:flex-end;
  margin-top:3.125rem;
}

.top-feature{
  background-color:var(--light-gray);
  display:flex;
  flex-direction:column;
}

.top-feature__row{
  display:grid;
  grid-template-columns:1fr;
}

.top-feature__media-wrap{
  overflow:hidden;
  width:100%;
}

.top-feature__media{
  aspect-ratio:720/750;
  height:auto;
  object-fit:cover;
  width:100%;
}

.top-feature__card{
  background-color:var(--white);
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:2.5rem var(--padding-inline);
  width:100%;
}

.top-feature__inner{
  display:flex;
  flex-direction:column;
  gap:2rem;
}

.top-feature__heading{
  display:flex;
  flex-direction:column;
  gap:1.25rem;
}

.top-feature__title{
  font-family:var(--font-family-en);
  font-size:1.25rem;
  font-weight:var(--font-weight-medium);
  letter-spacing:0.112em;
  line-height:1.6;
}

.top-feature__desc{
  color:var(--text-dark);
  font-family:var(--font-family-en);
  font-size:0.875rem;
  font-weight:var(--font-weight-regular);
  letter-spacing:0.112em;
  line-height:1.6;
}

.top-movie{
  background-color:var(--light-gray);
  padding-block:5rem 6.25rem;
  scroll-margin-top:1.5625rem;
}

.top-movie__inner{
  margin-inline:auto;
  max-width:var(--inner);
  padding-inline:var(--padding-inline);
  width:100%;
}

.top-movie__title{
  font-family:var(--font-family-en);
  font-size:1.375rem;
  font-weight:var(--font-weight-regular);
  letter-spacing:0.112em;
  line-height:1.6;
}

.top-movie__list{
  display:grid;
  gap:1.25rem;
  grid-template-columns:1fr;
  margin-top:2.5rem;
}

.top-movie__card{
  display:block;
  overflow:hidden;
  position:relative;
  width:100%;
}
.top-movie__card:focus-visible{
  outline:2px solid var(--main-color);
  outline-offset:3px;
}

.top-movie__img{
  aspect-ratio:16/9;
  height:auto;
  object-fit:cover;
  transition:transform 0.4s ease;
  width:100%;
}

.top-movie__play{
  bottom:0.75rem;
  height:2.25rem;
  left:0.75rem;
  position:absolute;
  width:2.25rem;
}

.top-movie__play-icon{
  display:block;
  height:100%;
  width:100%;
}

.top-movie__play-circle,
.top-movie__play-triangle{
  transition:fill 0.3s;
}

.top-mv{
  height:100vh;
  min-height:35rem;
  overflow:hidden;
  position:relative;
  width:100%;
}
.top-mv::after{
  background-color:rgba(0, 0, 0, 0.2);
  content:"";
  inset:0;
  pointer-events:none;
  position:absolute;
  z-index:1;
}

.top-mv__video{
  height:100%;
  inset:0;
  object-fit:cover;
  position:absolute;
  width:100%;
  z-index:0;
}

.top-mv__decor{
  inset:0;
  overflow:hidden;
  pointer-events:none;
  position:absolute;
  z-index:2;
}

.top-mv__decor-teal{
  background-color:rgba(29, 125, 143, 0.55);
  bottom:0;
  clip-path:polygon(0 100%, 0 10%, 100% 100%);
  height:95%;
  left:0;
  position:absolute;
  width:65%;
}

.top-mv__decor-mint{
  background-color:rgba(114, 246, 216, 0.4);
  clip-path:polygon(0 0, 100% 0, 0 100%);
  height:50%;
  left:0;
  position:absolute;
  top:0;
  width:38%;
}

.top-mv__inner{
  align-items:flex-start;
  color:var(--white);
  display:flex;
  flex-direction:column;
  inset:0;
  justify-content:center;
  padding-inline:var(--padding-inline);
  padding-top:clamp(30px, 6000 / var(--cq-ref-mobile) * 1cqi, 120px);
  position:absolute;
  z-index:3;
}

.top-mv__catch{
  color:var(--white);
  font-family:"Oswald", sans-serif;
  font-size:3rem;
  font-weight:400;
  letter-spacing:0.04em;
  line-height:1.1;
}

.top-mv__title{
  align-items:baseline;
  color:var(--white);
  display:flex;
  flex-direction:row;
  flex-wrap:wrap;
  font-family:"Roboto", "Noto Sans JP", sans-serif;
  font-size:1.25rem;
  font-weight:400;
  gap:0.5rem 1rem;
  letter-spacing:0.08em;
  line-height:1.5;
  margin-top:1.5rem;
}

.top-mv__title-line{
  background-color:transparent;
  padding:0;
}

.top-mv__desc{
  color:var(--white);
  font-family:"Noto Sans JP", sans-serif;
  font-size:0.875rem;
  font-weight:var(--font-weight-regular);
  letter-spacing:0.08em;
  line-height:1.8;
  margin-top:1.75rem;
}

.top-news{
  background-color:var(--light-gray);
  padding-block:3.75rem;
}

.top-news__inner{
  margin-inline:auto;
  max-width:var(--inner);
  padding-inline:var(--padding-inline);
  width:100%;
}

.top-news__title{
  font-family:var(--font-family-en);
  font-size:1.375rem;
  font-weight:var(--font-weight-regular);
  letter-spacing:0.112em;
  line-height:1.6;
}

.top-news__list{
  display:grid;
  gap:1.25rem;
  grid-template-columns:1fr;
  margin-top:2.5rem;
}

.top-news__item{
  display:contents;
}

.top-news__more{
  display:flex;
  justify-content:flex-end;
  margin-top:3.125rem;
}

.top-numbers{
  background-color:var(--slate-gray);
  padding-block:3.75rem;
}

.top-numbers__inner{
  align-items:center;
  display:flex;
  flex-direction:column;
  gap:3.75rem;
  margin-inline:auto;
  max-width:var(--inner);
  padding-inline:var(--padding-inline);
  width:100%;
}

.top-numbers__heading{
  display:flex;
  flex-direction:column;
  gap:1.25rem;
  max-width:100%;
  width:-moz-max-content;
  width:max-content;
}

.top-numbers__title{
  color:var(--white);
  font-family:var(--font-family-en);
  font-size:1.375rem;
  font-weight:var(--font-weight-regular);
  letter-spacing:0.112em;
  line-height:1.6;
  text-align:center;
}

.top-numbers__subtitle{
  color:var(--white);
  font-family:var(--font-family-en);
  font-size:0.875rem;
  font-weight:var(--font-weight-regular);
  letter-spacing:0.112em;
  line-height:1.6;
  text-align:center;
}

.top-numbers__body{
  width:100%;
}

.top-numbers__list{
  align-items:center;
  display:flex;
  flex-direction:column;
  gap:1.25rem;
  width:100%;
}

.top-numbers__item{
  align-items:center;
  background-color:var(--white);
  display:flex;
  flex-direction:column;
  gap:0.5rem;
  height:13.75rem;
  justify-content:flex-end;
  padding:0.875rem 0;
  width:13.75rem;
}

.top-numbers__icon{
  flex-shrink:0;
  height:5rem;
  width:5rem;
}

.top-numbers__item:nth-child(3) .top-numbers__icon{
  transform:translateX(0.625rem);
}

.top-numbers__value{
  color:var(--main-color);
  font-family:var(--font-family-en);
  font-size:2.5rem;
  font-weight:var(--font-weight-semibold);
  letter-spacing:0.112em;
  line-height:1.6;
}

.top-numbers__label{
  color:var(--main-color);
  font-family:var(--font-family-en);
  font-size:1.125rem;
  font-weight:var(--font-weight-regular);
  letter-spacing:0.112em;
  line-height:1.6;
}

.top-numbers__unit{
  font-family:var(--font-family-base);
  font-size:1.25rem;
  letter-spacing:0.05em;
  margin-left:0.25rem;
}

.top-numbers__note{
  color:var(--white);
  font-size:0.75rem;
  font-weight:var(--font-weight-medium);
  letter-spacing:0.05em;
  line-height:1.6;
  margin-top:1.25rem;
  text-align:center;
}

.top-recruit{
  background-color:var(--light-gray);
  display:grid;
  grid-template-columns:1fr;
  padding-top:3.75rem;
}

.top-recruit__card{
  align-items:flex-end;
  background-color:var(--white);
  display:flex;
  flex-direction:column;
  gap:1.875rem;
  grid-row:2;
  padding:2.5rem var(--padding-inline);
  width:100%;
}

.top-recruit__heading{
  display:flex;
  flex-direction:column;
  gap:1rem;
  width:100%;
}

.top-recruit__title{
  font-family:var(--font-family-en);
  font-size:1.25rem;
  font-weight:var(--font-weight-regular);
  letter-spacing:0.112em;
  line-height:1.6;
}

.top-recruit__desc{
  font-family:var(--font-family-en);
  font-size:0.875rem;
  font-weight:var(--font-weight-regular);
  letter-spacing:0.112em;
  line-height:1.6;
}

.top-recruit__link{
  max-width:500px;
  text-align:right;
  width:100%;
}

.top-recruit__img{
  aspect-ratio:600/400;
  height:auto;
  object-fit:cover;
  width:100%;
}

.top-service{
  background-color:var(--light-gray);
  display:grid;
  grid-template-columns:1fr;
  padding-top:7.5rem;
}

.top-service__card{
  align-items:flex-end;
  background-color:var(--white);
  display:flex;
  flex-direction:column;
  gap:1.875rem;
  grid-row:2;
  padding:2.5rem var(--padding-inline);
  width:100%;
}

.top-service__heading{
  display:flex;
  flex-direction:column;
  gap:1rem;
  width:100%;
}

.top-service__title{
  font-family:var(--font-family-en);
  font-size:1.25rem;
  font-weight:var(--font-weight-regular);
  letter-spacing:0.112em;
  line-height:1.6;
}

.top-service__desc{
  font-family:var(--font-family-en);
  font-size:0.875rem;
  font-weight:var(--font-weight-regular);
  letter-spacing:0.112em;
  line-height:1.6;
}

.top-service__img{
  aspect-ratio:600/400;
  height:auto;
  object-fit:cover;
  width:100%;
}

.top-works{
  background-color:var(--dark-teal);
  padding-block:3.75rem;
}

.top-works__inner{
  margin-inline:auto;
  max-width:var(--inner);
  padding-inline:var(--padding-inline);
  width:100%;
}

.top-works__title{
  color:var(--white);
  font-family:var(--font-family-en);
  font-size:1.375rem;
  font-weight:var(--font-weight-regular);
  letter-spacing:0.112em;
  line-height:1.6;
}

.top-works__list{
  display:grid;
  gap:2.5rem;
  grid-template-columns:1fr;
  margin-top:2.5rem;
}

.top-works__more{
  display:flex;
  justify-content:flex-end;
  margin-top:3.125rem;
}

.top-works__more .arrow-link__text{
  color:var(--white);
}

.top-works .empty-posts{
  color:var(--white);
}

.works-archive{
  background-color:var(--dark-teal);
  color:var(--white);
  padding-block:3.75rem 5rem;
}

.works-archive__inner{
  margin-inline:auto;
  max-width:var(--inner-wide);
  padding-inline:var(--padding-inline);
  width:100%;
}

.works-archive__list{
  display:grid;
  gap:2.5rem;
  grid-template-columns:1fr;
  margin-top:2.5rem;
}

.works-detail{
  padding-block:3.75rem 5rem;
}

.works-detail__gallery{
  margin-inline:auto;
  max-width:var(--inner-wide);
  padding-inline:var(--padding-inline);
  width:100%;
}

.works-detail__gallery-list{
  display:grid;
  gap:1rem;
  grid-template-columns:repeat(2, 1fr);
  margin-top:1.875rem;
}

.works-detail__gallery-img{
  aspect-ratio:4/3;
  height:auto;
  object-fit:cover;
  width:100%;
}

.works-detail__summary{
  margin-inline:auto;
  max-width:var(--inner-narrow);
  padding-inline:var(--padding-inline);
  width:100%;
}

.works-detail__gallery + .works-detail__summary{
  margin-top:3.75rem;
}

.works-detail__table{
  margin-top:1.875rem;
}

.works-detail__row{
  border-top:0.0625rem solid #dcdcdc;
  display:grid;
  gap:0.375rem;
  grid-template-columns:1fr;
  padding-block:1.125rem;
}

.works-detail__row:last-child{
  border-bottom:0.0625rem solid #dcdcdc;
}

.works-detail__term{
  font-size:0.9375rem;
  font-weight:var(--font-weight-medium);
  letter-spacing:0.04em;
}

.works-detail__desc{
  color:var(--text-dark);
  font-size:0.9375rem;
  font-weight:var(--font-weight-medium);
  letter-spacing:0.04em;
  line-height:1.9;
}

.works-detail__back{
  display:flex;
  justify-content:center;
  margin-top:3.125rem;
}
.js-fade-in{
  opacity:0;
  transition:opacity var(--duration-scroll) ease;
}
.js-fade-in.is-active{
  opacity:1;
}
.js-fade-up{
  opacity:0;
  transition:opacity var(--duration-scroll) ease-in-out, translate var(--duration-scroll) ease-in-out;
  translate:0 20px;
  will-change:opacity, translate;
}
.js-fade-up.is-active{
  opacity:1;
  translate:0 0;
}
.js-slide-left{
  opacity:0;
  transition:opacity var(--duration-scroll) ease-in-out, translate var(--duration-scroll) ease-in-out;
  translate:-20px 0;
  will-change:opacity, translate;
}
.js-slide-left.is-active{
  opacity:1;
  translate:0 0;
}
.js-fade-down{
  opacity:0;
  transition:opacity var(--duration-scroll) ease, translate var(--duration-scroll) ease;
  translate:0 -20px;
  will-change:opacity, translate;
}
.js-fade-down.is-active{
  opacity:1;
  translate:0 0;
}
.js-slide-right{
  opacity:0;
  transition:opacity var(--duration-scroll) ease, translate var(--duration-scroll) ease;
  translate:10px 0;
  will-change:opacity, translate;
}
.js-slide-right.is-active{
  opacity:1;
  translate:0 0;
}

.js-scaleImg{
  overflow:hidden;
}
.js-scaleImg img{
  opacity:0;
  scale:1.1;
  transition:scale var(--duration-extra-long) ease-in-out, opacity var(--duration-extra-long) ease-in-out;
  will-change:scale, opacity;
}
.js-scaleImg.is-active img{
  opacity:1;
  scale:1;
}

.js-about-media .top-about__media-bar{
  transition:width var(--duration-scroll) ease-in-out;
  transition-delay:0.3s;
  width:0;
  will-change:width;
}
.js-about-media .top-about__media-img-wrap{
  overflow:hidden;
}
.js-about-media .top-about__media-img-wrap img{
  opacity:0;
  scale:1.1;
  transition:scale var(--duration-extra-long) ease-in-out, opacity var(--duration-extra-long) ease-in-out;
  will-change:scale, opacity;
}
.js-about-media.is-active .top-about__media-bar{
  width:100%;
}
.js-about-media.is-active .top-about__media-img-wrap img{
  opacity:1;
  scale:1;
}

.js-card h2{
  opacity:0;
  transition:opacity var(--duration-scroll) ease-in-out, translate var(--duration-scroll) ease-in-out;
  transition-delay:0.2s;
  translate:-20px 0;
  will-change:opacity, translate;
}
.js-card p{
  opacity:0;
  transition:opacity var(--duration-scroll) ease-in-out, translate var(--duration-scroll) ease-in-out;
  transition-delay:0.3s;
  translate:-20px 0;
  will-change:opacity, translate;
}
.js-card a{
  opacity:0;
  transition:opacity var(--duration-scroll) ease-in-out, translate var(--duration-scroll) ease-in-out;
  transition-delay:0.4s;
  translate:-20px 0;
  will-change:opacity, translate;
}
.js-card.is-active h2, .js-card.is-active p, .js-card.is-active a{
  opacity:1;
  translate:0 0;
}

.js-business-item .top-business__media{
  overflow:hidden;
}
.js-business-item .top-business__media img{
  opacity:0;
  scale:1.1;
  transition:scale var(--duration-extra-long) ease-in-out, opacity var(--duration-extra-long) ease-in-out;
  will-change:scale, opacity;
}
.js-business-item .top-business__item-title{
  opacity:0;
  transition:opacity var(--duration-scroll) ease-in-out, translate var(--duration-scroll) ease-in-out;
  transition-delay:1s;
  translate:-20px 0;
  will-change:opacity, translate;
}
.js-business-item .top-business__item-desc{
  opacity:0;
  transition:opacity var(--duration-scroll) ease-in-out, translate var(--duration-scroll) ease-in-out;
  transition-delay:1.1s;
  translate:-20px 0;
  will-change:opacity, translate;
}
.js-business-item .top-business__item-btn{
  opacity:0;
  transition:opacity var(--duration-scroll) ease-in-out, translate var(--duration-scroll) ease-in-out;
  transition-delay:1.2s;
  translate:-20px 0;
  will-change:opacity, translate;
}
.js-business-item.is-active .top-business__media img{
  opacity:1;
  scale:1;
}
.js-business-item.is-active .top-business__item-title{
  opacity:1;
  translate:0 0;
}
.js-business-item.is-active .top-business__item-desc{
  opacity:1;
  translate:0 0;
}
.js-business-item.is-active .top-business__item-btn{
  opacity:1;
  translate:0 0;
}

.js-feature-row .top-feature__media-wrap img{
  opacity:0;
  scale:1.1;
  transition:scale var(--duration-extra-long) ease-in-out, opacity var(--duration-extra-long) ease-in-out;
}
.js-feature-row .top-feature__heading .top-feature__title{
  opacity:0;
  transition:opacity var(--duration-scroll) ease-in-out, translate var(--duration-scroll) ease-in-out;
  transition-delay:1.2s;
  translate:-20px 0;
  will-change:opacity, translate;
}
.js-feature-row .top-feature__heading .top-feature__desc{
  opacity:0;
  transition:opacity var(--duration-scroll) ease-in-out, translate var(--duration-scroll) ease-in-out;
  transition-delay:1.3s;
  translate:-20px 0;
  will-change:opacity, translate;
}
.js-feature-row .top-feature__btn{
  opacity:0;
  transition:opacity var(--duration-scroll) ease-in-out, translate var(--duration-scroll) ease-in-out;
  transition-delay:1.4s;
  translate:-20px 0;
  will-change:opacity, translate;
}
.js-feature-row.is-active .top-feature__media-wrap img{
  opacity:1;
  scale:1;
}
.js-feature-row.is-active .top-feature__heading .top-feature__title, .js-feature-row.is-active .top-feature__heading .top-feature__desc, .js-feature-row.is-active .top-feature__btn{
  opacity:1;
  translate:0 0;
}

:root{
  --delay-1:0.1s;
  --delay-2:0.2s;
  --delay-3:0.3s;
  --delay-4:0.4s;
  --delay-5:0.5s;
}

.--delay-1{
  transition-delay:var(--delay-1);
}

.--delay-2{
  transition-delay:var(--delay-2);
}

.--delay-3{
  transition-delay:var(--delay-3);
}

.--delay-4{
  transition-delay:var(--delay-4);
}

.--delay-5{
  transition-delay:var(--delay-5);
}
.arrow-link{
  align-items:center;
  display:inline-flex;
  gap:0.75rem;
}

.arrow-link__text{
  font-family:var(--font-family-en);
  font-size:0.875rem;
  font-weight:var(--font-weight-regular);
  letter-spacing:0.112em;
  line-height:1.6;
  transition:color 0.4s ease-in-out;
}

.arrow-link__icon{
  flex-shrink:0;
  height:2.25rem;
  width:2.25rem;
}

.arrow-link__icon-progress{
  vector-effect:non-scaling-stroke;
  stroke-dashoffset:100;
  transition:stroke-dashoffset 0.4s ease-in-out;
}
.breadcrumb{
  background-color:var(--white);
}

.breadcrumb__list{
  align-items:center;
  color:var(--text-dark);
  display:flex;
  flex-wrap:wrap;
  font-size:0.75rem;
  font-weight:var(--font-weight-medium);
  gap:0.25rem 0.5625rem;
  letter-spacing:0.04em;
  line-height:1.6;
  margin-inline:auto;
  max-width:var(--inner-wide);
  padding-block:1rem;
  padding-inline:var(--padding-inline);
  width:100%;
}

.breadcrumb__item{
  align-items:center;
  display:flex;
  gap:0.5rem;
}
.breadcrumb__item:not(:last-child)::after{
  border-right:0.09375rem solid var(--icon-sub);
  border-top:0.09375rem solid var(--icon-sub);
  content:"";
  flex-shrink:0;
  height:0.4375rem;
  margin-top:0.1875rem;
  transform:rotate(45deg);
  width:0.4375rem;
}

.breadcrumb__current{
  color:var(--main-color);
}

.btn{
  align-items:center;
  background-color:var(--dark);
  color:var(--accent-mint);
  display:inline-flex;
  font-family:var(--font-family-en);
  font-size:0.8125rem;
  font-weight:var(--font-weight-regular);
  height:3.75rem;
  isolation:isolate;
  justify-content:space-between;
  letter-spacing:0.112em;
  line-height:1.6;
  overflow:hidden;
  padding:0 1rem;
  position:relative;
  width:13.75rem;
  will-change:color;
}
.btn::after{
  background-color:var(--main-color);
  content:"";
  inset:0;
  position:absolute;
  transform:scale(0, 1);
  transform-origin:right top;
  transition:transform 0.4s cubic-bezier(0.8, 0, 0.2, 1);
  will-change:transform;
  z-index:-1;
}

.btn.btn--sm{
  max-width:13.75rem;
  width:100%;
}

.btn__icon{
  flex-shrink:0;
  height:2rem;
  transition:filter 0.4s cubic-bezier(0.8, 0, 0.2, 1);
  width:2rem;
  will-change:filter;
}

.category-filter__list{
  display:flex;
  flex-wrap:wrap;
  gap:0.625rem;
}

.category-filter__tab{
  border:0.0625rem solid currentColor;
  font-size:0.8125rem;
  font-weight:var(--font-weight-medium);
  letter-spacing:0.06em;
  line-height:1.4;
  padding:0.5rem 1rem;
  transition:color 0.3s ease, background-color 0.3s ease, border-color 0.3s ease;
}

.category-filter__tab.is-active{
  background-color:var(--main-color);
  border-color:var(--main-color);
  color:var(--white);
}
.column-card{
  display:grid;
  grid-template-rows:auto 1fr;
  position:relative;
}

.column-card__image-wrap{
  overflow:hidden;
  width:100%;
}

.column-card__image{
  aspect-ratio:310/233;
  object-fit:cover;
  transition:transform 0.3s ease-in-out;
  width:100%;
  will-change:transform;
}

.column-card__body{
  background-color:var(--white);
  display:flex;
  flex-direction:column;
  gap:1rem;
  padding:0.625rem 1.25rem;
}

.column-card__head{
  align-items:center;
  display:flex;
  gap:1.5rem;
}

.column-card__date{
  font-family:var(--font-family-en);
  font-size:0.75rem;
  font-weight:var(--font-weight-regular);
  letter-spacing:0.112em;
  line-height:1.6;
}

.column-card__category{
  background-color:var(--main-color);
  border-radius:0.5rem;
  color:var(--white);
  font-family:var(--font-family-en);
  font-size:0.75rem;
  font-weight:var(--font-weight-regular);
  letter-spacing:0.112em;
  line-height:1.6;
  padding:0.25rem;
}

.column-card__title{
  -webkit-box-orient:vertical;
  line-clamp:2;
  -webkit-line-clamp:2;
  display:-webkit-box;
  font-family:var(--font-family-en);
  font-size:1.125rem;
  font-weight:var(--font-weight-medium);
  letter-spacing:0.112em;
  line-height:1.6;
  overflow:hidden;
  transition:color 0.3s ease-in-out;
  will-change:color;
}

.column-card__desc{
  -webkit-box-orient:vertical;
  line-clamp:3;
  -webkit-line-clamp:3;
  display:-webkit-box;
  font-family:var(--font-family-en);
  font-size:1rem;
  font-weight:var(--font-weight-regular);
  letter-spacing:0.112em;
  line-height:1.6;
  overflow:hidden;
}

.column-card__more{
  align-self:flex-end;
}
.detail-mv{
  --header-h:65px;
  color:var(--white);
  isolation:isolate;
  padding-top:var(--header-h);
  position:relative;
}
.detail-mv::before{
  background-color:var(--main-color);
  clip-path:polygon(0 0, 40% 0, 0 55%);
  content:"";
  inset:var(--header-h) 0 0;
  opacity:0.5;
  pointer-events:none;
  position:absolute;
  z-index:2;
}
.detail-mv::after{
  background-color:var(--accent-mint);
  clip-path:polygon(0 0, 26% 0, 0 81%);
  content:"";
  inset:var(--header-h) 0 0;
  opacity:0.4;
  pointer-events:none;
  position:absolute;
  z-index:2;
}

.detail-mv__img{
  aspect-ratio:390/300;
  height:auto;
  object-fit:cover;
  width:100%;
}

.detail-mv__overlay{
  background:linear-gradient(to bottom, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.65) 100%);
  inset:var(--header-h) 0 0;
  pointer-events:none;
  position:absolute;
  z-index:1;
}

.detail-mv__inner{
  display:flex;
  flex-direction:column;
  inset:var(--header-h) 0 0;
  justify-content:flex-end;
  margin-inline:auto;
  max-width:90rem;
  padding-bottom:1.25rem;
  padding-inline:var(--padding-inline);
  position:absolute;
  width:100%;
  z-index:3;
}

.detail-mv__category{
  align-self:flex-start;
  background-color:var(--main-color);
  border-radius:0.5rem;
  font-family:var(--font-family-en);
  font-size:0.8125rem;
  font-weight:var(--font-weight-medium);
  letter-spacing:0.112em;
  line-height:1.6;
  padding:0.25rem 0.625rem;
}

.detail-mv__title{
  font-size:1.5rem;
  font-weight:var(--font-weight-medium);
  letter-spacing:0.05em;
  line-height:1.5;
  margin-top:1rem;
}

.drawer{
  background-color:var(--dark-green);
  color:var(--white);
  height:calc(100dvh - 4.0625rem);
  left:0;
  opacity:0;
  overflow-y:auto;
  position:fixed;
  right:0;
  top:4.0625rem;
  transition:opacity 0.4s ease, visibility 0s linear 0.4s;
  visibility:hidden;
  width:100%;
  z-index:var(--z-index-drawer);
}
.drawer.is-open{
  opacity:1;
  transition:opacity 0.4s ease, visibility 0s linear 0s;
  visibility:visible;
}

.drawer__nav{
  display:flex;
  flex-direction:column;
  gap:2rem;
  min-height:100%;
  padding:3rem 1.5rem 2.5rem;
}

.drawer__list{
  display:flex;
  flex-direction:column;
}

.drawer__item{
  border-bottom:1px solid rgba(255, 255, 255, 0.202);
}
.drawer__item:first-child{
  border-top:1px solid rgba(255, 255, 255, 0.202);
}

.drawer__link{
  align-items:center;
  color:var(--white);
  display:grid;
  font-family:var(--font-family-base);
  font-size:1rem;
  font-weight:var(--font-weight-medium);
  gap:1.25rem;
  grid-template-columns:1fr auto;
  letter-spacing:0.08em;
  padding:1.25rem 0.25rem;
  position:relative;
  transition:color 0.3s ease, padding-left 0.3s ease;
}
.drawer__link::after{
  background-color:var(--main-color);
  content:"";
  height:0.0625rem;
  justify-self:end;
  transition:width 0.3s ease;
  width:1.5rem;
}
.drawer__link.is-current{
  color:var(--main-color);
}

.drawer__contact{
  align-items:center;
  background-color:var(--main-color);
  color:var(--white);
  display:grid;
  font-family:var(--font-family-en);
  font-size:1.125rem;
  font-weight:var(--font-weight-medium);
  grid-template-columns:1fr auto;
  letter-spacing:0.112em;
  padding:1.375rem 1.75rem;
  transition:background-color 0.3s ease;
}
.drawer__contact::after{
  content:"→";
  font-family:var(--font-family-en);
  justify-self:end;
}

.drawer__sub{
  display:flex;
  flex-direction:column;
  padding-bottom:1rem;
  padding-left:1rem;
}

.drawer__sub-link{
  color:rgba(255, 255, 255, 0.85);
  display:block;
  font-family:var(--font-family-base);
  font-size:0.875rem;
  font-weight:var(--font-weight-regular);
  letter-spacing:0.08em;
  padding:0.625rem 0.25rem;
  transition:color 0.3s ease;
}
.drawer__sub-link::before{
  color:var(--main-color);
  content:"− ";
}

body.is-drawer-open{
  overflow:hidden;
}

.empty-posts{
  font-size:1.125rem;
  font-weight:var(--font-weight-medium);
  letter-spacing:0.04em;
  margin-top:2.5rem;
  text-align:center;
}

.entry-detail{
  padding-block:3.125rem 4.375rem;
}

.entry-detail__inner{
  margin-inline:auto;
  max-width:var(--inner-narrow);
  padding-inline:var(--padding-inline);
  width:100%;
}

.entry-detail__meta{
  align-items:center;
  display:flex;
  gap:1rem;
}

.entry-detail__date{
  color:var(--text-dark);
  font-family:var(--font-family-en);
  font-size:0.9375rem;
  font-weight:var(--font-weight-medium);
  letter-spacing:0.08em;
}

.entry-detail__category{
  background-color:var(--main-color);
  border-radius:0.5rem;
  color:var(--white);
  font-size:0.75rem;
  font-weight:var(--font-weight-medium);
  letter-spacing:0.06em;
  line-height:1.6;
  padding:0.25rem 0.625rem;
}

.entry-detail__body{
  color:var(--text-dark);
  font-size:0.9375rem;
  font-weight:var(--font-weight-medium);
  letter-spacing:0.04em;
  line-height:1.9;
  margin-top:1.5rem;
}

.entry-detail__body > * + *{
  margin-top:1.5rem;
}

.entry-detail__body h2{
  border-bottom:0.125rem solid var(--main-color);
  color:var(--text-black);
  font-size:1.25rem;
  font-weight:var(--font-weight-bold);
  letter-spacing:0.04em;
  line-height:1.5;
  margin-top:3rem;
  padding-bottom:0.75rem;
}

.entry-detail__body h3{
  border-left:0.25rem solid var(--main-color);
  color:var(--text-black);
  font-size:1.125rem;
  font-weight:var(--font-weight-bold);
  letter-spacing:0.04em;
  line-height:1.5;
  margin-top:2.5rem;
  padding-left:0.875rem;
}

.entry-detail__body a{
  -webkit-text-decoration:underline;
  color:var(--main-color);
  text-decoration:underline;
}

.entry-detail__body ul,
.entry-detail__body ol{
  padding-left:1.5rem;
}

.entry-detail__body ul{
  list-style:disc;
}

.entry-detail__body ol{
  list-style:decimal;
}

.entry-detail__body li + li{
  margin-top:0.5rem;
}

.entry-detail__body img{
  height:auto;
  max-width:100%;
  width:auto;
}

.entry-detail__body p:has(> img + img){
  display:grid;
  gap:1.5rem 1rem;
}

.entry-detail__body p:has(> img + img) > img{
  width:100%;
}

.entry-detail__body blockquote{
  background-color:var(--light-gray);
  border-left:0.25rem solid var(--placeholder);
  padding:1rem 1.25rem;
}

.entry-detail__body strong{
  font-weight:var(--font-weight-bold);
}

.entry-detail__back{
  display:flex;
  justify-content:center;
  margin-top:3.125rem;
}

.footer{
  background-color:var(--dark-green);
  color:var(--white);
  padding-block:3.5rem 1.5rem;
}

.footer__inner{
  margin-inline:auto;
  max-width:78.75rem;
  padding-inline:20px;
  width:100%;
}

.footer__main{
  border-bottom:1px solid #d9d9d9;
  display:flex;
  flex-direction:column;
  gap:2.5rem;
  padding-bottom:2.5rem;
}

.footer__company{
  display:flex;
  flex-direction:column;
  gap:2rem;
}

.footer__brand{
  display:flex;
  flex-direction:column;
  gap:1.25rem;
}

.footer__company-name{
  font-family:var(--font-family-en);
  font-size:1.25rem;
  font-weight:var(--font-weight-medium);
  letter-spacing:0.112em;
  line-height:1.6;
}

.footer__desc{
  font-family:var(--font-family-base);
  font-size:0.9375rem;
  letter-spacing:0.05em;
  line-height:1.8;
}

.footer__contact-info{
  display:flex;
  flex-direction:column;
  gap:0.625rem;
}

.footer__info-row{
  align-items:center;
  display:flex;
  font-family:var(--font-family-en);
  font-size:0.875rem;
  gap:0.625rem;
  letter-spacing:0.112em;
  line-height:1.6;
}

.footer__info-icon{
  flex-shrink:0;
  height:1.125rem;
  width:1.125rem;
}

.footer__tel{
  transition:opacity 0.3s ease;
}

.footer__menus{
  align-items:flex-start;
  display:flex;
  flex-direction:row;
  gap:1.5rem;
}

.footer__menu{
  display:flex;
  flex:1;
  flex-direction:column;
  gap:1.25rem;
}

.footer__menu-title{
  color:var(--accent-mint);
  font-family:var(--font-family-en);
  font-size:1rem;
  font-weight:var(--font-weight-medium);
  letter-spacing:0.112em;
  line-height:1.6;
}

.footer__menu-list{
  display:flex;
  flex-direction:column;
  gap:0.875rem;
}

.footer__menu-link{
  font-family:var(--font-family-en);
  font-size:0.875rem;
  font-weight:var(--font-weight-regular);
  letter-spacing:0.112em;
  line-height:1.6;
  transition:color 0.3s ease;
}

.footer__copyright{
  font-family:var(--font-family-en);
  font-size:0.75rem;
  letter-spacing:0.112em;
  line-height:1.6;
  margin-top:1.5rem;
  text-align:center;
}

.hamburger{
  display:block;
  height:1rem;
  margin-left:auto;
  margin-right:1.25rem;
  position:relative;
  width:1.75rem;
  z-index:calc(var(--z-index-drawer) + 1);
}

.hamburger__line{
  background-color:var(--text-black);
  height:1px;
  left:0;
  position:absolute;
  transition:top 0.3s ease, bottom 0.3s ease, transform 0.3s ease, opacity 0.2s ease, background-color 0.3s ease;
  width:100%;
}
.hamburger__line:nth-child(1){
  top:0;
}
.hamburger__line:nth-child(2){
  top:50%;
  transform:translateY(-50%);
}
.hamburger__line:nth-child(3){
  bottom:0;
}

.header--transparent .hamburger__line{
  background-color:var(--white);
}

.header--transparent.is-scrolled .hamburger__line{
  background-color:var(--text-black);
}

body.is-drawer-open .hamburger__line{
  background-color:var(--white);
}

.hamburger.is-open .hamburger__line:nth-child(1){
  top:50%;
  transform:translateY(-50%) rotate(45deg);
}
.hamburger.is-open .hamburger__line:nth-child(2){
  opacity:0;
}
.hamburger.is-open .hamburger__line:nth-child(3){
  bottom:50%;
  transform:translateY(50%) rotate(-45deg);
}

.header{
  background-color:var(--white);
  border-bottom:1px solid transparent;
  left:0;
  position:fixed;
  top:0;
  transition:background-color 0.3s ease, border-color 0.3s ease;
  width:100%;
  z-index:var(--z-index-header);
}

.header--transparent{
  background-color:transparent;
  border-bottom-color:rgba(255, 255, 255, 0.4);
}

.header--transparent.is-scrolled{
  background-color:var(--white);
  border-bottom-color:transparent;
}

body.is-drawer-open .header{
  background-color:var(--dark-green);
  border-bottom-color:transparent;
}

.header__inner{
  align-items:center;
  display:flex;
  height:4.0625rem;
  padding-left:0.625rem;
  padding-right:5.5rem;
  position:relative;
  transition:height 0.3s ease;
}

.header__logo-link{
  display:block;
  width:11.25rem;
}

.header__logo{
  line-height:1;
  position:relative;
}

.header__logo-img{
  aspect-ratio:300/53;
  height:auto;
  transition:opacity 0.3s ease;
}

.header__logo-img--white{
  inset:0;
  opacity:0;
  position:absolute;
}

.header--transparent .header__logo-img--default{
  opacity:0;
}
.header--transparent .header__logo-img--white{
  opacity:1;
}

.header--transparent.is-scrolled .header__logo-img--default{
  opacity:1;
}
.header--transparent.is-scrolled .header__logo-img--white{
  opacity:0;
}

body.is-drawer-open .header__logo-img--default{
  opacity:0;
}
body.is-drawer-open .header__logo-img--white{
  opacity:1;
}

.header__nav{
  display:none;
}

.header__nav-link{
  --cq-ref:1090;
  background-image:linear-gradient(var(--main-color), var(--main-color));
  background-position:bottom right;
  background-repeat:no-repeat;
  background-size:0 0.0625rem;
  color:var(--text-dark);
  font-family:var(--font-family-en);
  font-size:clamp(11px, 1700 / var(--cq-ref) * 1cqi, 20px);
  font-weight:var(--font-weight-medium);
  letter-spacing:0.112em;
  line-height:1.6;
  padding-bottom:0.25rem;
  position:relative;
  top:0.25rem;
  transition:background-size 0.3s ease, color 0.3s ease;
}
.header__nav-link.is-current{
  background-position:bottom left;
  background-size:100% 0.0625rem;
  color:var(--main-color);
}

.header--transparent .header__nav-link{
  color:var(--white);
}

.header--transparent.is-scrolled .header__nav-link{
  color:var(--text-dark);
}

.header__contact{
  align-items:center;
  background-color:var(--main-color);
  color:var(--white);
  display:grid;
  font-family:var(--font-family-base);
  font-size:0.75rem;
  font-weight:var(--font-weight-medium);
  height:5.5rem;
  isolation:isolate;
  justify-items:center;
  letter-spacing:0.08em;
  line-height:1.4;
  overflow:hidden;
  place-items:center;
  position:absolute;
  right:0;
  text-align:center;
  top:0;
  width:5.5rem;
  z-index:calc(var(--z-index-drawer) + 2);
}
.header__contact::after{
  background-color:#019976;
  content:"";
  inset:0;
  position:absolute;
  transform:scale(0, 1);
  transform-origin:right top;
  transition:transform 0.4s cubic-bezier(0.8, 0, 0.2, 1);
  z-index:-1;
}

.header__nav-item{
  position:relative;
}

.header__dropdown{
  background-color:var(--white);
  box-shadow:0 0.5rem 1.5rem rgba(0, 0, 0, 0.1);
  left:50%;
  margin-top:1rem;
  min-width:14.375rem;
  opacity:0;
  padding-block:0.5rem;
  position:absolute;
  top:100%;
  transform:translateX(-50%);
  transition:opacity 0.3s ease;
  visibility:hidden;
  z-index:calc(var(--z-index-header) + 1);
}
.header__dropdown::before{
  content:"";
  height:1rem;
  left:0;
  position:absolute;
  right:0;
  top:-1rem;
}
.header__dropdown-link{
  color:var(--text-dark);
  display:block;
  font-family:var(--font-family-en);
  font-size:0.875rem;
  font-weight:var(--font-weight-medium);
  letter-spacing:0.08em;
  line-height:1.5;
  padding:0.625rem 1.25rem;
  white-space:nowrap;
}

.info-section{
  background-color:var(--light-gray);
  padding-block:5rem;
}

.info-section__inner{
  margin-inline:auto;
  max-width:var(--inner);
  padding-inline:var(--padding-inline);
  width:100%;
}

.info-section__list{
  display:grid;
  gap:1.25rem;
  grid-template-columns:1fr;
}

.info-section__card{
  color:var(--white);
  display:flex;
  flex-direction:column;
  gap:1.875rem;
  justify-content:space-between;
  overflow:hidden;
  padding:1.875rem 1.25rem;
  position:relative;
}
.info-section__card::after{
  background-color:rgba(0, 0, 0, 0.4);
  content:"";
  inset:0;
  position:absolute;
  z-index:1;
}
.info-section__card > *{
  position:relative;
  z-index:2;
}

.info-section__bg{
  height:100%;
  inset:0;
  object-fit:cover;
  position:absolute;
  width:100%;
  z-index:0;
}

.info-section__heading{
  display:flex;
  flex-direction:column;
  gap:1.25rem;
}

.info-section__title{
  font-family:var(--font-family-en);
  font-size:1.25rem;
  font-weight:var(--font-weight-medium);
  letter-spacing:0.112em;
  line-height:1.6;
}

.info-section__desc{
  font-family:var(--font-family-en);
  font-size:0.875rem;
  font-weight:var(--font-weight-regular);
  letter-spacing:0.112em;
  line-height:1.6;
}

.info-section__btn-group{
  align-self:stretch;
  display:flex;
  flex-direction:column;
  gap:0.75rem;
  width:100%;
}

.job-card{
  display:grid;
  grid-template-columns:1fr;
}

.job-card__img{
  aspect-ratio:3/2;
  height:auto;
  object-fit:cover;
  width:100%;
}

.job-card__body{
  margin-top:1.5rem;
}

.job-card__en{
  color:var(--main-color);
  font-family:var(--font-family-en);
  font-size:0.75rem;
  font-weight:var(--font-weight-medium);
  letter-spacing:0.16em;
  line-height:1.4;
}

.job-card__title{
  font-size:1.5rem;
  font-weight:var(--font-weight-semibold);
  letter-spacing:0.08em;
  line-height:1.4;
  margin-top:0.5rem;
}

.job-card__desc{
  color:var(--text-dark);
  font-size:0.875rem;
  font-weight:var(--font-weight-medium);
  letter-spacing:0.04em;
  line-height:1.9;
  margin-top:1rem;
}

.job-card__tags{
  display:flex;
  flex-wrap:wrap;
  gap:0.5rem;
  margin-top:1.25rem;
}

.job-card__tag{
  border:0.0625rem solid var(--main-color);
  color:var(--main-color);
  font-size:0.75rem;
  font-weight:var(--font-weight-medium);
  letter-spacing:0.04em;
  line-height:1.5;
  padding:0.25rem 0.75rem;
}

.job-card__link{
  margin-top:1.75rem;
}

.news-card{
  grid-row-gap:1.5rem;
  background-color:var(--white);
  display:grid;
  grid-template-rows:auto auto 1fr auto;
  padding:1.25rem;
  position:relative;
  row-gap:1.5rem;
}

.news-card__head{
  align-items:center;
  display:flex;
  gap:1.5rem;
}

.news-card__date{
  font-family:var(--font-family-en);
  font-size:0.75rem;
  font-weight:var(--font-weight-regular);
  letter-spacing:0.112em;
  line-height:1.6;
}

.news-card__category{
  background-color:var(--main-color);
  border-radius:0.5rem;
  color:var(--white);
  font-family:var(--font-family-en);
  font-size:0.75rem;
  font-weight:var(--font-weight-regular);
  letter-spacing:0.112em;
  line-height:1.6;
  padding:0.25rem;
}

.news-card__title{
  -webkit-box-orient:vertical;
  line-clamp:2;
  -webkit-line-clamp:2;
  display:-webkit-box;
  font-family:var(--font-family-en);
  font-size:1.125rem;
  font-weight:var(--font-weight-medium);
  letter-spacing:0.112em;
  line-height:1.6;
  overflow:hidden;
  transition:color 0.3s ease-in-out;
  will-change:color;
}

.news-card__desc{
  -webkit-box-orient:vertical;
  line-clamp:3;
  -webkit-line-clamp:3;
  display:-webkit-box;
  font-family:var(--font-family-en);
  font-size:1rem;
  font-weight:var(--font-weight-regular);
  letter-spacing:0.112em;
  line-height:1.6;
  overflow:hidden;
}

.news-card__more{
  align-self:end;
  justify-self:end;
}
.pagination{
  margin-top:3.125rem;
}

.pagination__list{
  display:flex;
  flex-wrap:wrap;
  gap:0.5rem;
  justify-content:center;
}

.pagination .page-numbers{
  align-items:center;
  border:0.0625rem solid currentColor;
  display:flex;
  font-family:var(--font-family-en);
  font-size:0.875rem;
  font-weight:var(--font-weight-medium);
  height:2.5rem;
  justify-content:center;
  line-height:1;
  transition:color 0.3s ease-in-out, background-color 0.3s ease-in-out, border-color 0.3s ease-in-out;
  width:2.5rem;
}

.pagination .page-numbers.current{
  background-color:var(--main-color);
  border-color:var(--main-color);
  color:var(--white);
}

.pagination .page-numbers.dots{
  border-color:transparent;
}
.read-more{
  align-items:flex-end;
  color:var(--accent-mint);
  display:inline-flex;
  font-family:var(--font-family-en);
  font-size:0.75rem;
  font-weight:var(--font-weight-regular);
  gap:0.25rem;
  letter-spacing:0.112em;
  line-height:1.6;
}

.read-more--main{
  color:var(--main-color);
}

.read-more__icon{
  flex-shrink:0;
  height:1.125rem;
  transition:transform 0.3s ease-in-out;
  width:1.125rem;
  will-change:transform;
}
.sec-heading{
  text-align:center;
}

.sec-heading__en{
  color:var(--main-color);
  font-family:var(--font-family-en);
  font-size:1.875rem;
  font-weight:var(--font-weight-medium);
  letter-spacing:0.12em;
  line-height:1;
}

.sec-heading__title{
  font-size:1.125rem;
  font-weight:var(--font-weight-medium);
  letter-spacing:0.14em;
  line-height:1.5;
  margin-top:0.625rem;
  padding-bottom:1.5rem;
  position:relative;
}
.sec-heading__title::after{
  background-color:var(--main-color);
  bottom:0.625rem;
  content:"";
  height:2px;
  left:50%;
  position:absolute;
  transform:translateX(-50%);
  width:2.375rem;
}

.sec-heading__lead{
  font-size:1rem;
  font-weight:var(--font-weight-medium);
  letter-spacing:0.06em;
  line-height:1.9;
  margin-top:1.75rem;
  text-align:left;
}

.sec-heading--light .sec-heading__en{
  color:var(--white);
}

.sec-heading--light .sec-heading__title{
  color:var(--white);
}

.sec-heading--light .sec-heading__title::after{
  background-color:var(--white);
}

.sec-heading--light .sec-heading__lead{
  color:var(--white);
}

.sub-mv{
  --header-h:65px;
  color:var(--white);
  isolation:isolate;
  padding-top:var(--header-h);
  position:relative;
}
.sub-mv::before{
  background-color:var(--main-color);
  clip-path:polygon(0 0, 40% 0, 0 55%);
  content:"";
  inset:var(--header-h) 0 0;
  opacity:0.5;
  pointer-events:none;
  position:absolute;
  z-index:2;
}
.sub-mv::after{
  background-color:var(--accent-mint);
  clip-path:polygon(0 0, 26% 0, 0 81%);
  content:"";
  inset:var(--header-h) 0 0;
  opacity:0.4;
  pointer-events:none;
  position:absolute;
  z-index:2;
}

.sub-mv picture{
  display:contents;
}

.sub-mv__img{
  aspect-ratio:390/300;
  height:auto;
  object-fit:cover;
  width:100%;
}

.sub-mv__overlay{
  background:linear-gradient(90deg, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0) 60%);
  inset:var(--header-h) 0 0;
  pointer-events:none;
  position:absolute;
  z-index:1;
}

.sub-mv__inner{
  display:flex;
  flex-direction:column;
  inset:var(--header-h) 0 0;
  justify-content:center;
  margin-inline:auto;
  max-width:var(--inner);
  padding-inline:var(--padding-inline);
  position:absolute;
  width:100%;
  z-index:3;
}

.sub-mv__title{
  font-size:1.75rem;
  font-weight:var(--font-weight-medium);
  letter-spacing:0.08em;
  line-height:1.3;
}

.sub-mv__en{
  color:var(--white);
  font-family:var(--font-family-en);
  font-size:0.75rem;
  font-weight:var(--font-weight-regular);
  letter-spacing:0.2em;
  line-height:1.4;
  margin-top:0.25rem;
}

.tab{
  scroll-margin-top:5.3125rem;
}

.tab__list{
  border-bottom:0.0625rem solid rgba(0, 0, 0, 0.12);
  display:grid;
  grid-auto-columns:1fr;
  grid-auto-flow:column;
}

.tab__button{
  align-items:center;
  color:var(--slate-gray);
  display:flex;
  flex-direction:column;
  gap:0.25rem;
  justify-content:center;
  padding:0.75rem 0.25rem 0.875rem;
  position:relative;
  text-align:center;
  transition:color var(--duration-base) ease;
}
.tab__button::after{
  background-color:var(--main-color);
  bottom:-0.0625rem;
  content:"";
  height:0.1875rem;
  left:0;
  position:absolute;
  right:0;
  transform:scaleX(0);
  transition:transform var(--duration-base) ease;
}
.tab__button[aria-selected=true]{
  color:var(--main-color);
}
.tab__button[aria-selected=true]::after{
  transform:scaleX(1);
}
.tab__button:focus-visible{
  outline:2px solid var(--main-color);
  outline-offset:-2px;
}

.tab__label{
  font-size:0.8125rem;
  font-weight:var(--font-weight-semibold);
  letter-spacing:0.04em;
  line-height:1.4;
}

.tab__sub{
  font-size:0.6875rem;
  font-weight:var(--font-weight-medium);
  letter-spacing:0.04em;
  line-height:1.4;
}

.tab__panel:focus-visible{
  outline:2px solid var(--main-color);
  outline-offset:4px;
}

.video-modal{
  background-color:transparent;
  border:none;
  margin:auto;
  max-height:none;
  max-width:none;
  overflow:visible;
  padding:0;
  width:min(100% - 2.5rem, 60rem);
  width:min(100% - 2.5rem, 60rem, (100dvh - 7.5rem) * 16 / 9);
}
.video-modal::backdrop{
  background-color:rgba(0, 0, 0, 0.8);
}

.video-modal__body{
  position:relative;
}

.video-modal__close{
  bottom:calc(100% + 0.625rem);
  height:2.25rem;
  position:absolute;
  right:0;
  width:2.25rem;
}
.video-modal__close::before, .video-modal__close::after{
  background-color:var(--white);
  content:"";
  height:2px;
  left:50%;
  position:absolute;
  top:50%;
  transition:background-color 0.3s;
  width:1.75rem;
}
.video-modal__close::before{
  transform:translate(-50%, -50%) rotate(45deg);
}
.video-modal__close::after{
  transform:translate(-50%, -50%) rotate(-45deg);
}
.video-modal__close:focus-visible{
  outline:2px solid var(--accent-mint);
  outline-offset:2px;
}

.video-modal__frame{
  aspect-ratio:16/9;
  background-color:var(--text-black);
}

.video-modal__iframe{
  border:none;
  display:block;
  height:100%;
  width:100%;
}

body.is-video-modal-open{
  overflow:hidden;
}

.work-card{
  display:flex;
  flex-direction:column;
  height:100%;
}

.work-card__image-wrap{
  overflow:hidden;
  width:100%;
}

.work-card__image{
  aspect-ratio:300/225;
  object-fit:cover;
  transition:transform 0.3s ease-in-out;
  width:100%;
  will-change:transform;
}

.work-card__body{
  display:flex;
  flex-direction:column;
  gap:1.5rem;
  padding:1.25rem;
}

.work-card__category{
  align-self:flex-start;
  background-color:var(--main-color);
  border-radius:0.5rem;
  color:var(--white);
  font-family:var(--font-family-en);
  font-size:0.75rem;
  font-weight:var(--font-weight-regular);
  letter-spacing:0.112em;
  line-height:1.6;
  padding:0.25rem;
}

.work-card__title{
  -webkit-box-orient:vertical;
  line-clamp:2;
  -webkit-line-clamp:2;
  color:var(--white);
  display:-webkit-box;
  font-family:var(--font-family-en);
  font-size:1.125rem;
  font-weight:var(--font-weight-medium);
  letter-spacing:0.112em;
  line-height:1.6;
  overflow:hidden;
  transition:color 0.3s ease-in-out;
  will-change:color;
}

.work-card__more{
  align-self:flex-end;
}

@media (min-width: 600px){
  .recruit-numbers-env__list{
    grid-template-columns:repeat(2, 1fr);
  }

  .top-movie__list{
    grid-template-columns:repeat(2, 1fr);
  }
}

@media (min-width: 768px){
  .u-desktop{
    display:block;
  }

  .u-mobile{
    display:none;
  }

  .u-desktop-inline{
    display:inline;
  }

  .u-mobile-inline{
    display:none;
  }

  html{
    font-size:1.2903225806vw;
  }

  .inner{
    max-width:1340px;
    padding-left:50px;
    padding-right:50px;
  }

  .column-archive{
    padding-block:5rem 6.25rem;
  }

  .column-archive__list{
    gap:2.5rem 2.1875rem;
    grid-template-columns:repeat(3, 1fr);
  }

  .column-archive .column-card{
    grid-row:auto;
    grid-template-rows:auto 1fr;
  }

  .column-archive .column-card__body{
    grid-row:auto;
    grid-template-rows:auto auto 1fr auto;
    row-gap:1rem;
  }

  .company-greeting{
    padding-block:7.5rem 8.125rem;
  }

  .company-greeting__body{
    margin-top:3.5rem;
  }

  .company-greeting__title{
    font-size:1.75rem;
  }

  .company-greeting__paragraph{
    font-size:1rem;
    line-height:2.1;
    margin-top:1.5rem;
  }

  .company-greeting__sign{
    margin-top:2.5rem;
  }

  .company-greeting__sign-role{
    font-size:0.875rem;
  }

  .company-greeting__sign-name{
    font-size:1.375rem;
  }

  .company-history{
    padding-block:6.875rem 7.5rem;
  }

  .company-history__body{
    align-items:start;
    display:grid;
    gap:3.75rem;
    grid-template-columns:1fr 1fr;
    margin-top:4rem;
  }

  .company-history__item + .company-history__item{
    margin-top:2.25rem;
  }

  .company-history__year{
    font-size:1rem;
  }

  .company-history__desc{
    font-size:1rem;
  }

  .company-mission{
    padding-block:6.875rem 7.5rem;
  }

  .company-mission__layout{
    grid-column-gap:4rem;
    -moz-column-gap:4rem;
    align-items:center;
         column-gap:4rem;
    display:grid;
    grid-template-columns:520fr 550fr;
    margin-top:4rem;
  }

  .company-mission__media{
    grid-column:2;
    grid-row:1;
  }

  .company-mission__body{
    grid-column:1;
    grid-row:1;
    margin-top:0;
  }

  .company-mission__title{
    font-size:1.875rem;
  }

  .company-mission__desc{
    font-size:1rem;
    line-height:2.1;
    margin-top:1.875rem;
  }

  .company-profile{
    padding-block:6.875rem 7.5rem;
  }

  .company-profile__list{
    margin-top:3.75rem;
  }

  .company-profile__row{
    gap:1.5rem;
    grid-template-columns:16.25rem 1fr;
    padding-block:1.625rem;
  }

  .company-profile__term{
    font-size:1.0625rem;
  }

  .company-profile__desc{
    font-size:1rem;
  }

  .company-profile__note{
    font-size:0.875rem;
  }

  .contact{
    padding-block:6.25rem;
  }

  .contact__inner{
    -moz-column-gap:3.75rem;
    align-items:start;
         column-gap:3.75rem;
    grid-template-columns:5fr 7fr;
  }

  .contact__logo-img{
    width:18.125rem;
  }

  .contact__tel-num{
    font-size:2.125rem;
  }

  .contact-thanks__text{
    font-size:1.5rem;
  }

  .contact-thanks__note{
    font-size:0.9375rem;
  }

  .contact-thanks__btn-wrap{
    margin-top:5rem;
  }

  .news-archive{
    padding-block:5rem 6.25rem;
  }

  .news-archive__list{
    gap:2.1875rem;
    grid-template-columns:repeat(3, 1fr);
  }

  .news-archive .news-card{
    grid-row:auto;
    grid-template-rows:auto auto 1fr auto;
  }

  .sub-mv--notfound .sub-mv__title{
    font-size:min(160px, 14000 / var(--cq-ref) * 1cqi);
  }

  .notfound{
    padding-block:6.25rem 7.5rem;
  }

  .notfound__lead{
    font-size:1.625rem;
  }

  .notfound__desc{
    font-size:1rem;
    margin-top:2rem;
  }

  .notfound__btn{
    margin-top:3.5rem;
  }

  .recruit-access{
    padding-block:6.25rem;
  }

  .recruit-access__map{
    margin-top:3.75rem;
  }

  .recruit-access__map iframe{
    height:28.125rem;
  }

  .recruit-application-jobs{
    padding-block:6.25rem;
  }

  .recruit-application-jobs__job{
    margin-top:3.75rem;
  }

  .recruit-application-step{
    padding-block:6.25rem;
  }

  .recruit-application-step__list{
    gap:2.5rem;
    grid-template-columns:repeat(4, 1fr);
    margin-top:3.75rem;
  }

  .recruit-application-step__item:not(:last-child)::after{
    content:none;
  }

  .recruit-application-step__item:not(:last-child) .recruit-application-step__media::after{
    border-right:0.125rem solid var(--main-color);
    border-top:0.125rem solid var(--main-color);
    content:"";
    height:0.875rem;
    position:absolute;
    right:-1.625rem;
    top:50%;
    transform:translateY(-50%) rotate(45deg);
    width:0.875rem;
  }

  .recruit-application-step__title{
    font-size:1.25rem;
  }

  .recruit-content{
    padding-block:6.25rem;
  }

  .recruit-content__list{
    gap:1.875rem;
    grid-template-columns:repeat(3, 1fr);
    margin-top:3.75rem;
  }

  .recruit-content__title{
    font-size:1.25rem;
  }

  .dept-interview{
    padding-block:6.25rem;
  }

  .dept-interview__title{
    font-size:1.875rem;
  }

  .dept-interview__body{
    -moz-column-gap:3.75rem;
    align-items:start;
         column-gap:3.75rem;
    grid-template-columns:1fr 1fr;
    margin-top:2.5rem;
  }

  .dept-interview__media{
    grid-column:1;
    grid-row:1;
  }

  .dept-interview__body--reverse .dept-interview__media{
    grid-column:2;
  }

  .dept-interview__text{
    grid-column:2;
    grid-row:1;
  }

  .dept-interview__body--reverse .dept-interview__text{
    grid-column:1;
  }

  .dept-interview__paragraph{
    font-size:1rem;
  }

  .dept-profile__title{
    font-size:1.375rem;
  }

  .dept-profile__row{
    font-size:0.9375rem;
    grid-template-columns:4.5rem 1fr;
  }

  .dept-schedule{
    padding-block:6.25rem;
  }

  .dept-schedule__title{
    font-size:2.25rem;
  }

  .dept-schedule__subtitle{
    font-size:1.125rem;
  }

  .dept-schedule__content{
    -moz-column-gap:3rem;
    align-items:center;
         column-gap:3rem;
    grid-template-columns:1fr 1fr;
    margin-top:3.5rem;
  }

  .dept-schedule__media{
    grid-column:2;
    grid-row:1;
  }

  .recruit-engineer-fields{
    padding-block:6.25rem;
  }

  .recruit-engineer-fields__list{
    gap:1.875rem;
    grid-template-columns:repeat(3, 1fr);
    margin-top:3.75rem;
  }

  .recruit-engineer-fields__title{
    font-size:1.25rem;
  }

  .recruit-engineer-interview{
    padding-top:6.25rem;
  }

  .recruit-engineer-interview__tab{
    margin-top:3.5rem;
  }

  .recruit-engineer-person{
    grid-column-gap:3.75rem;
    -moz-column-gap:3.75rem;
    align-items:center;
         column-gap:3.75rem;
    display:grid;
    grid-template-columns:1fr 1fr;
    margin-top:3.75rem;
  }

  .recruit-engineer-person__media{
    grid-column:2;
    grid-row:1;
  }

  .recruit-engineer-person__text{
    grid-column:1;
    grid-row:1;
    margin-top:0;
  }

  .recruit-engineer-person__field{
    font-size:0.875rem;
  }

  .recruit-engineer-person__name{
    font-size:1.875rem;
  }

  .recruit-message{
    padding-block:6.25rem;
  }

  .recruit-message__body{
    grid-column-gap:3.75rem;
    -moz-column-gap:3.75rem;
    align-items:center;
         column-gap:3.75rem;
    display:grid;
    grid-template-columns:1fr 1fr;
    margin-top:3.5rem;
  }

  .recruit-message__media{
    grid-column:1;
    grid-row:1;
  }

  .recruit-message--reverse .recruit-message__media{
    grid-column:2;
  }

  .recruit-message__text-col{
    grid-column:2;
    grid-row:1;
    margin-top:0;
  }

  .recruit-message--reverse .recruit-message__text-col{
    grid-column:1;
  }

  .recruit-message__heading{
    font-size:1.875rem;
  }

  .recruit-message__text{
    font-size:1rem;
    line-height:2.1;
    margin-top:1.5rem;
  }

  .recruit-numbers-company{
    padding-block:6.25rem;
  }

  .recruit-numbers-company__inner{
    gap:5.625rem;
  }

  .recruit-numbers-company__item{
    -moz-column-gap:4rem;
    align-items:center;
         column-gap:4rem;
    grid-template-columns:1fr 1fr;
  }

  .recruit-numbers-company__media{
    grid-column:1;
    grid-row:1;
  }

  .recruit-numbers-company__item--reverse .recruit-numbers-company__media{
    grid-column:2;
  }

  .recruit-numbers-company__body{
    grid-column:2;
    grid-row:1;
  }

  .recruit-numbers-company__item--reverse .recruit-numbers-company__body{
    grid-column:1;
  }

  .recruit-numbers-company__label{
    font-size:2rem;
  }

  .recruit-numbers-company__num{
    font-size:4rem;
  }

  .recruit-numbers-company__desc{
    font-size:1rem;
  }

  .recruit-numbers-env{
    padding-block:6.25rem;
  }

  .recruit-numbers-env__list{
    gap:2.5rem;
    margin-top:3.75rem;
  }

  .recruit-numbers-env__label{
    font-size:1.125rem;
  }

  .recruit-numbers-env__num{
    font-size:3.5rem;
  }

  .recruit-numbers-staff{
    padding-block:6.25rem;
  }

  .recruit-numbers-staff__list{
    gap:1.5rem;
    grid-template-columns:repeat(2, 1fr);
    margin-top:3.75rem;
  }

  .recruit-numbers-staff__card{
    grid-column:span 2;
  }

  .recruit-numbers-staff__card--gender,
  .recruit-numbers-staff__card--club{
    grid-column:span 1;
  }

  .recruit-numbers-staff__card--age,
  .recruit-numbers-staff__card--hobby{
    display:grid;
    grid-template-columns:1fr var(--photo-width);
  }

  .recruit-numbers-staff__card--lunch{
    display:grid;
    grid-template-columns:var(--photo-width) 1fr;
  }

  .recruit-numbers-staff__photo{
    clip-path:polygon(36% 0, 100% 0, 100% 100%, 0 100%);
    position:relative;
  }

  .recruit-numbers-staff__card--age .recruit-numbers-staff__photo,
  .recruit-numbers-staff__card--hobby .recruit-numbers-staff__photo{
    grid-column:2;
    grid-row:1;
  }

  .recruit-numbers-staff__card--lunch .recruit-numbers-staff__photo{
    clip-path:polygon(0 0, 100% 0, 64% 100%, 0 100%);
    grid-column:1;
    grid-row:1;
  }

  .recruit-numbers-staff__img{
    aspect-ratio:auto;
    height:100%;
    inset:0;
    position:absolute;
  }

  .recruit-numbers-staff__body{
    grid-row:1;
    padding:2rem 1.75rem 2.25rem;
  }

  .recruit-numbers-staff__label{
    font-size:1.25rem;
  }

  .recruit-numbers-staff__age{
    font-size:4.5rem;
    margin-top:1.75rem;
  }

  .recruit-numbers-staff__text{
    margin-top:1.25rem;
  }

  .recruit-numbers-staff__genders{
    margin-top:2rem;
  }

  .recruit-numbers-staff__gender-icon{
    width:3.25rem;
  }

  .recruit-numbers-staff__gender-name{
    font-size:1rem;
  }

  .recruit-numbers-staff__rates{
    margin-top:1rem;
  }

  .recruit-numbers-staff__rate{
    grid-template-columns:2.5rem 1fr auto;
  }

  .recruit-numbers-staff__rate-num{
    font-size:2.75rem;
  }

  .recruit-numbers-staff__note{
    margin-top:2rem;
  }

  .recruit-why{
    padding-block:6.25rem;
  }

  .recruit-why__list{
    gap:2.5rem;
    grid-template-columns:repeat(2, 1fr);
    margin-top:3.75rem;
  }

  .recruit-why__body{
    padding:1.75rem 1.875rem 2rem;
  }

  .recruit-why__title{
    font-size:1.375rem;
  }

  .recruit-why__desc{
    font-size:0.9375rem;
  }

  .recruit-work-dept{
    padding-block:6.25rem;
  }

  .recruit-work-dept__list{
    gap:1.875rem;
    grid-template-columns:repeat(3, 1fr);
  }

  .recruit-work-dept__title{
    font-size:1.375rem;
  }

  .recruit-work-dept__btn{
    margin-top:3.5rem;
  }

  .recruit-work-intro{
    padding-block:6.25rem;
  }

  .recruit-work-intro__body{
    -moz-column-gap:3.75rem;
    align-items:center;
         column-gap:3.75rem;
    grid-template-columns:1fr 1fr;
    margin-top:3.5rem;
  }

  .recruit-work-intro__heading{
    font-size:1.875rem;
  }

  .recruit-work-intro__text{
    font-size:1rem;
    line-height:2.1;
    margin-top:1.5rem;
  }

  .recruit-works{
    padding-block:6.25rem;
  }

  .recruit-works__job{
    margin-top:3.75rem;
  }

  .service-concept{
    padding-block:9.375rem 6.25rem;
  }

  .service-concept__list{
    gap:2rem;
    grid-template-columns:repeat(3, 1fr);
    margin-top:4rem;
  }

  .service-detail{
    padding-block:6.25rem 11.25rem;
  }

  .service-detail::before, .service-detail::after{
    height:7.5rem;
    width:7.5rem;
  }

  .service-detail::before{
    left:5%;
    top:4.5rem;
  }

  .service-detail__inner{
    padding-inline:4rem;
  }

  .service-detail__list{
    gap:9.375rem;
    margin-top:8.75rem;
  }

  .service-detail__item{
    align-items:center;
    display:grid;
    grid-template-columns:43% 57%;
    min-height:20.625rem;
    scroll-margin-top:8.75rem;
  }

  .service-detail__item:nth-child(even){
    grid-template-columns:57% 43%;
  }

  .service-detail__item::before{
    display:block;
    height:100%;
    left:clamp(-7.5rem, -12000 / var(--cq-ref) * 0.2cqi, 0.9375rem);
    top:0;
    transform:skewX(-10deg) scaleY(0);
    transition:transform var(--duration-extra-long) cubic-bezier(0.22, 1, 0.36, 1);
  }

  .service-detail__item:nth-child(even)::before{
    left:auto;
    right:clamp(-6.25rem, -10000 / var(--cq-ref) * 0.9cqi, -1.5rem);
  }

  .service-detail__item.is-active::before{
    transform:skewX(-10deg) scaleY(1);
  }

  .service-detail__body::before{
    display:none;
  }

  .service-detail__body{
    grid-column-gap:1.5rem;
    -moz-column-gap:1.5rem;
    align-items:start;
         column-gap:1.5rem;
    display:grid;
    grid-template-columns:auto 1fr;
    order:0;
    padding-block:3rem;
    padding-inline:2rem;
  }

  .service-detail__item:nth-child(even) .service-detail__body{
    order:2;
  }

  .service-detail__num{
    display:block;
    font-size:4.5rem;
    grid-column:1;
    grid-row:1;
    margin-right:0;
  }

  .service-detail__content{
    display:block;
    grid-column:2;
    grid-row:1;
    padding-top:0.5rem;
  }

  .service-detail__label{
    display:block;
    font-size:0.8125rem;
  }

  .service-detail__item-title{
    font-size:1.8125rem;
    margin-top:0.5rem;
  }

  .service-detail__desc{
    font-size:1.0625rem;
    grid-column:1/-1;
    grid-row:2;
    line-height:2;
    margin-top:2.5rem;
  }

  .service-detail__media{
    filter:drop-shadow(0 0.75rem 1.25rem rgba(0, 0, 0, 0.06));
    height:25rem;
    margin-inline:0;
    order:0;
    width:auto;
  }

  .service-detail__item:nth-child(even) .service-detail__media{
    order:1;
  }

  .service-detail__media-inner{
    clip-path:polygon(12% 0, 100% 0, 88% 100%, 0 100%);
  }

  .service-detail__media::before{
    height:calc(100% + 0.625rem);
    right:-9%;
    top:-0.5625rem;
    transition:transform var(--duration-extra-long) cubic-bezier(0.22, 1, 0.36, 1) 0.15s;
    width:14%;
  }

  .service-detail__item:nth-child(even) .service-detail__media::before{
    left:5%;
    right:auto;
  }

  .service-detail__media::after{
    bottom:-1.75rem;
    height:3.375rem;
    left:-3%;
    right:auto;
    width:9.375rem;
  }

  .service-detail__item:nth-child(even) .service-detail__media::after{
    left:auto;
    right:8%;
  }

  .top-about__intro{
    align-items:center;
    flex-direction:row;
    gap:3.5rem;
    margin-top:6.25rem;
  }

  .top-about__intro-text{
    flex:1;
    gap:1.5rem;
  }

  .top-about__intro-title{
    font-size:1.75rem;
  }

  .top-about__intro-desc{
    font-size:1rem;
  }

  .top-about__intro-btn{
    margin-top:2.5rem;
  }

  .top-about__intro-media{
    flex:0 0 48%;
    max-width:35rem;
    order:0;
  }

  .top-about__media{
    aspect-ratio:1440/874;
    margin-top:8.75rem;
  }

  .top-about__media-mint{
    height:56.751%;
    top:43.249%;
    width:10.417%;
  }

  .top-about__media-img{
    height:auto;
  }

  .top-about__problem{
    align-items:stretch;
    margin-top:-10vw;
    max-width:var(--inner);
    padding-inline:var(--padding-inline);
  }

  .top-about__problem-content{
    gap:3.125rem;
    max-width:45rem;
  }

  .top-about__problem-headings{
    grid-column:2;
    grid-row:1;
  }

  .top-about__problem-title{
    font-size:1.75rem;
  }

  .top-about__problem-subtitle{
    font-size:1.125rem;
  }

  .top-about__problem-desc{
    font-size:1rem;
  }

  .top-about__problem-link{
    grid-column:2;
    grid-row:2;
    justify-self:end;
  }

  .top-business{
    padding-block:12.5625rem 6.25rem;
  }

  .top-business__heading{
    gap:1.25rem;
  }

  .top-business__title{
    font-size:1.75rem;
    letter-spacing:0.112em;
  }

  .top-business__desc{
    font-size:1rem;
  }

  .top-business__list{
    gap:2.5rem;
    margin-top:6.25rem;
  }

  .top-business__item{
    align-items:center;
    grid-template-columns:1fr clamp(10px, 60000 / var(--cq-ref) * 1cqi, 12000px);
  }

  .top-business__item:nth-child(even){
    grid-template-columns:clamp(10px, 60000 / var(--cq-ref) * 1cqi, 12000px) 1fr;
  }

  .top-business__media{
    grid-column:2;
  }

  .top-business__item:nth-child(even) .top-business__media{
    grid-column:1;
  }

  .top-business__img{
    box-shadow:-1.25rem 1.25rem 0 var(--pale-mint);
  }

  .top-business__item:nth-child(2) .top-business__img{
    box-shadow:1.25rem -1.25rem 0 var(--pale-mint);
  }

  .top-business__item:nth-child(3) .top-business__img{
    box-shadow:-1.25rem -1.25rem 0 var(--pale-mint);
  }

  .top-business__card{
    align-items:flex-end;
    grid-column:1;
    grid-row:1;
    margin-top:0;
    padding-inline:0;
    padding-left:calc(7500 / var(--cq-ref) * 1cqi);
    padding-right:calc(26500 / var(--cq-ref) * 1cqi);
  }

  .top-business__item:nth-child(even) .top-business__card{
    align-items:flex-start;
    grid-column:2;
    padding-left:calc(26500 / var(--cq-ref) * 1cqi);
    padding-right:calc(7500 / var(--cq-ref) * 1cqi);
  }

  .top-business__item-content{
    width:fit-content;
  }

  .top-business__item-heading{
    gap:2rem;
  }

  .top-business__item-title{
    font-size:1.75rem;
  }

  .top-business__item-desc{
    font-size:1rem;
  }

  .top-column{
    padding-block:6.25rem;
  }

  .top-column__title{
    font-size:1.75rem;
  }

  .top-column__list{
    -moz-column-gap:2.1875rem;
         column-gap:2.1875rem;
    grid-template-columns:repeat(3, 1fr);
    grid-template-rows:auto auto auto 1fr auto;
    margin-top:3.125rem;
    row-gap:0;
  }

  .top-feature__row{
    grid-template-columns:1fr 1fr;
  }

  .top-feature__media-wrap{
    grid-column:1;
    grid-row:1;
  }

  .top-feature__row--reverse .top-feature__media-wrap{
    grid-column:2;
  }

  .top-feature__media{
    aspect-ratio:720/900;
  }

  .top-feature__card{
    align-items:flex-start;
    align-self:end;
    aspect-ratio:720/768;
    grid-column:2;
    grid-row:1;
    padding:0 0 0 calc(8000 / var(--cq-ref) * 1cqi);
  }

  .top-feature__row--reverse .top-feature__card{
    align-items:flex-end;
    align-self:start;
    grid-column:1;
    padding:0 calc(8000 / var(--cq-ref) * 1cqi) 0 0;
  }

  .top-feature__inner{
    gap:2.5rem;
    max-width:26.875rem;
    width:100%;
  }

  .top-feature__heading{
    gap:2rem;
  }

  .top-feature__title{
    font-size:1.75rem;
  }

  .top-feature__desc{
    font-size:1rem;
  }

  .top-movie{
    padding-block:6.25rem 8.75rem;
    scroll-margin-top:3.125rem;
  }

  .top-movie__inner{
    max-width:90rem;
  }

  .top-movie__title{
    font-size:1.75rem;
  }

  .top-movie__list{
    -moz-column-gap:2.1875rem;
         column-gap:2.1875rem;
    margin-top:3.125rem;
  }

  .top-movie__play{
    bottom:0.875rem;
    height:2.75rem;
    left:0.875rem;
    width:2.75rem;
  }

  .top-mv{
    max-height:62.5rem;
    min-height:50rem;
  }

  .top-mv__decor-teal{
    height:90%;
    width:50%;
  }

  .top-mv__decor-mint{
    height:55%;
    width:28%;
  }

  .top-mv__inner{
    --cq-ref:1240;
    padding-left:8.75rem;
    padding-right:5rem;
    padding-top:clamp(80px, 14000 / var(--cq-ref) * 1cqi, 200px);
  }

  .top-mv__catch{
    font-size:clamp(70px, 10000 / var(--cq-ref) * 1cqi, 120px);
  }

  .top-mv__title{
    font-size:clamp(25px, 3400 / var(--cq-ref) * 1cqi, 40px);
    gap:0.5rem;
    margin-top:2rem;
  }

  .top-mv__desc{
    font-size:clamp(15px, 2000 / var(--cq-ref) * 1cqi, 26px);
    margin-top:4.0625rem;
  }

  .top-news{
    padding-block:6.25rem;
  }

  .top-news__title{
    font-size:1.75rem;
  }

  .top-news__list{
    -moz-column-gap:2.1875rem;
         column-gap:2.1875rem;
    grid-template-columns:repeat(3, 1fr);
    grid-template-rows:auto auto 1fr auto;
    margin-top:3.125rem;
    row-gap:1.5rem;
  }

  .top-numbers{
    padding-block:6.25rem;
  }

  .top-numbers__inner{
    gap:6.25rem;
  }

  .top-numbers__title{
    font-size:1.75rem;
    text-align:left;
  }

  .top-numbers__subtitle{
    font-size:1rem;
  }

  .top-numbers__list{
    flex-direction:row;
    gap:2.5rem;
    justify-content:center;
  }

  .top-numbers__note{
    font-size:0.8125rem;
    margin-top:1.5rem;
    text-align:right;
  }

  .top-recruit{
    align-items:center;
    grid-template-columns:clamp(370px, 60000 / var(--cq-ref) * 1cqi, 12000px) 840fr;
    padding-top:5rem;
  }

  .top-recruit__card{
    align-items:flex-start;
    gap:calc(5000 / var(--cq-ref) * 1cqi);
    grid-column:2;
    grid-row:1;
    padding:calc(5400 / var(--cq-ref) * 1cqi) calc(4000 / var(--cq-ref) * 1cqi) calc(5400 / var(--cq-ref) * 1cqi) calc(12000 / var(--cq-ref) * 1cqi);
  }

  .top-recruit__heading{
    gap:1.25rem;
    max-width:31.25rem;
  }

  .top-recruit__title{
    font-size:1.75rem;
  }

  .top-recruit__desc{
    font-size:1rem;
  }

  .top-service{
    align-items:center;
    grid-template-columns:840fr clamp(370px, 60000 / var(--cq-ref) * 1cqi, 12000px);
    padding-top:5rem;
  }

  .top-service__card{
    gap:calc(5000 / var(--cq-ref) * 1cqi);
    grid-column:1;
    grid-row:1;
    padding:calc(5400 / var(--cq-ref) * 1cqi) calc(12000 / var(--cq-ref) * 1cqi) calc(5400 / var(--cq-ref) * 1cqi) calc(4000 / var(--cq-ref) * 1cqi);
  }

  .top-service__heading{
    gap:1.25rem;
    max-width:31.25rem;
  }

  .top-service__title{
    font-size:1.75rem;
  }

  .top-service__desc{
    font-size:1rem;
  }

  .top-works{
    padding-block:6.25rem;
  }

  .top-works__title{
    font-size:1.75rem;
  }

  .top-works__list{
    -moz-column-gap:3.125rem;
         column-gap:3.125rem;
    grid-template-columns:repeat(3, 1fr);
    margin-top:3.125rem;
    row-gap:5rem;
  }

  .works-archive{
    padding-block:5rem 6.875rem;
  }

  .works-archive__list{
    -moz-column-gap:3.125rem;
         column-gap:3.125rem;
    grid-template-columns:repeat(3, 1fr);
    margin-top:3.125rem;
    row-gap:4.375rem;
  }

  .works-detail{
    padding-block:6.25rem 7.5rem;
  }

  .works-detail__gallery-list{
    gap:1.875rem;
    grid-template-columns:repeat(3, 1fr);
    margin-top:3.125rem;
  }

  .works-detail__gallery + .works-detail__summary{
    margin-top:6.25rem;
  }

  .works-detail__table{
    margin-top:3.125rem;
  }

  .works-detail__row{
    gap:2.5rem;
    grid-template-columns:11.25rem 1fr;
    padding-block:1.625rem;
  }

  .works-detail__term{
    font-size:1.0625rem;
  }

  .works-detail__desc{
    font-size:1rem;
  }

  .works-detail__back{
    margin-top:4.375rem;
  }

  .js-slide-right{
    translate:20px 0;
  }

  .js-business-item .top-business__item-title{
    transition-delay:0.3s;
  }

  .js-business-item .top-business__item-desc{
    transition-delay:0.5s;
  }

  .js-business-item .top-business__item-btn{
    transition-delay:0.5s;
  }

  .js-feature-row .top-feature__heading .top-feature__title{
    transition-delay:0.5s;
  }

  .js-feature-row .top-feature__heading .top-feature__desc{
    transition-delay:0.6s;
  }

  .js-feature-row .top-feature__btn{
    transition-delay:0.7s;
  }

  .arrow-link{
    gap:1rem;
  }

  .arrow-link__text{
    font-size:1rem;
  }

  .arrow-link__icon{
    height:2.75rem;
    width:2.75rem;
  }

  .breadcrumb__list{
    font-size:1.0625rem;
    padding-block:0.9375rem;
  }

  .breadcrumb__item:not(:last-child)::after{
    border-width:0.125rem;
    height:0.5625rem;
    width:0.5625rem;
  }

  .btn{
    font-size:0.875rem;
    height:4.5rem;
    padding:0 1.25rem;
    width:16.25rem;
  }

  .btn.btn--sm{
    padding:0 1rem;
  }

  .btn__icon{
    height:2.5rem;
    width:2.5rem;
  }

  .category-filter__list{
    gap:0.75rem;
  }

  .category-filter__tab{
    font-size:0.9375rem;
    padding:0.625rem 1.5rem;
  }

  .column-card{
    grid-row:span 5;
    grid-template-rows:subgrid;
  }

  .column-card__image-wrap{
    grid-row:1;
  }

  .column-card__body{
    grid-row-gap:1rem;
    display:grid;
    gap:initial;
    gap:unset;
    grid-row:2/-1;
    grid-template-rows:subgrid;
    row-gap:1rem;
  }

  .column-card__more{
    align-self:end;
    justify-self:end;
  }

  .detail-mv{
    --header-h:max(75px, min(calc(120 * 100 / var(--cq-ref) * 1cqi), 120px));
    --header-h:clamp(75px, calc(120 * 100 / var(--cq-ref) * 1cqi), 120px);
  }

  .detail-mv::before{
    clip-path:polygon(0 0, 40% 0, 0 68%);
  }

  .detail-mv::after{
    clip-path:polygon(0 0, 26% 0, 0 86%);
  }

  .detail-mv__img{
    aspect-ratio:1440/550;
  }

  .detail-mv__inner{
    padding-bottom:5rem;
  }

  .detail-mv__category{
    font-size:1rem;
  }

  .detail-mv__title{
    font-size:2.25rem;
    margin-top:1.25rem;
  }

  .drawer{
    display:none;
  }

  .empty-posts{
    font-size:1.25rem;
    margin-top:3.125rem;
  }

  .entry-detail{
    padding-block:5rem 6.25rem;
  }

  .entry-detail__body{
    font-size:1.0625rem;
    margin-top:2rem;
  }

  .entry-detail__body h2{
    font-size:1.5rem;
  }

  .entry-detail__body h3{
    font-size:1.25rem;
  }

  .entry-detail__body p:has(> img + img){
    grid-template-columns:repeat(2, 1fr);
  }

  .entry-detail__back{
    margin-top:5rem;
  }

  .footer{
    padding-block:4.5rem 5rem;
  }

  .footer__inner{
    max-width:1320px;
    padding-inline:30px;
  }

  .footer__main{
    flex-direction:row;
    gap:4.5rem;
    justify-content:space-between;
  }

  .footer__company{
    gap:2.5rem;
    width:30rem;
  }

  .footer__brand{
    gap:1.875rem;
  }

  .footer__company-name{
    font-size:1.5rem;
  }

  .footer__desc{
    font-size:1rem;
    letter-spacing:0.112em;
    line-height:1.6;
  }

  .footer__menus{
    gap:4.5rem;
    margin-top:4.25rem;
  }

  .footer__menu{
    flex:0 0 auto;
  }

  .footer__menu-title{
    font-size:1.125rem;
  }

  .footer__menu-link{
    font-size:1rem;
  }

  .footer__copyright{
    font-size:0.875rem;
    margin-top:2rem;
  }

  .hamburger{
    display:none;
  }

  .header__inner{
    height:clamp(75px, 12000 / var(--cq-ref) * 1cqi, 120px);
    padding-left:1.25rem;
    padding-right:clamp(110px, 18000 / var(--cq-ref) * 1cqi, 180px);
  }

  .header--transparent.is-scrolled .header__inner{
    height:clamp(80px, 10000 / var(--cq-ref) * 1cqi, 100px);
  }

  .header__logo-link{
    width:clamp(170px, 30000 / var(--cq-ref) * 1cqi, 300px);
  }

  .header__nav{
    display:block;
    margin-left:auto;
    margin-right:1.875rem;
  }

  .header__nav-list{
    align-items:center;
    display:flex;
    gap:clamp(10px, 2000 / var(--cq-ref) * 1.15cqi, 60px);
  }

  .header__contact{
    font-family:var(--font-family-en);
    font-size:clamp(11px, 2100 / var(--cq-ref) * 1.1cqi, 23px);
    font-weight:var(--font-weight-medium);
    height:clamp(110px, 18000 / var(--cq-ref) * 1cqi, 180px);
    letter-spacing:0.112em;
    line-height:1.6;
    width:clamp(110px, 18000 / var(--cq-ref) * 1cqi, 180px);
  }

  .info-section{
    padding-block:6.25rem;
  }

  .info-section__inner{
    max-width:1020px;
    padding-inline:10px;
  }

  .info-section__list{
    gap:clamp(10px, 4000 / var(--cq-ref) * 1cqi, 40px);
    grid-template-columns:1fr 1fr;
  }

  .info-section__card{
    gap:2.5rem;
    padding:2.6875rem 1.75rem;
  }

  .info-section__card--contact{
    padding-inline:0.75rem;
  }

  .info-section__card--contact .info-section__heading{
    padding-inline:1rem;
  }

  .info-section__heading{
    gap:2.5rem;
  }

  .info-section__title{
    font-size:1.75rem;
  }

  .info-section__desc{
    font-size:1rem;
  }

  .info-section__btn-group{
    align-self:flex-end;
    flex-direction:row;
    gap:1rem;
    justify-content:flex-end;
  }

  .info-section__btn-group--contact{
    align-self:stretch;
  }

  .job-card{
    -moz-column-gap:3.75rem;
    align-items:center;
         column-gap:3.75rem;
    grid-template-columns:11fr 9fr;
  }

  .job-card__body{
    margin-top:0;
  }

  .job-card__en{
    font-size:0.8125rem;
  }

  .job-card__title{
    font-size:2rem;
  }

  .job-card__desc{
    font-size:0.9375rem;
    margin-top:1.25rem;
  }

  .job-card__tags{
    margin-top:1.5rem;
  }

  .job-card__tag{
    font-size:0.8125rem;
  }

  .job-card__link{
    margin-top:2.25rem;
  }

  .news-card{
    grid-row:span 4;
    grid-template-rows:subgrid;
  }

  .pagination{
    margin-top:4.375rem;
  }

  .pagination__list{
    gap:0.75rem;
  }

  .pagination .page-numbers{
    font-size:1rem;
    height:2.75rem;
    width:2.75rem;
  }

  .sec-heading__en{
    font-size:3.5rem;
    letter-spacing:0.16em;
  }

  .sec-heading__title{
    font-size:1.625rem;
    padding-bottom:1.75rem;
  }

  .sec-heading__title::after{
    bottom:0;
    height:3px;
    width:3rem;
  }

  .sec-heading__lead{
    font-size:1.5rem;
    margin-top:2.625rem;
    text-align:center;
  }

  .sub-mv{
    --header-h:max(75px, min(calc(120 * 100 / var(--cq-ref) * 1cqi), 120px));
    --header-h:clamp(75px, calc(120 * 100 / var(--cq-ref) * 1cqi), 120px);
  }

  .sub-mv::before{
    clip-path:polygon(0 0, 40% 0, 0 68%);
  }

  .sub-mv::after{
    clip-path:polygon(0 0, 26% 0, 0 86%);
  }

  .sub-mv__img{
    aspect-ratio:1440/550;
  }

  .sub-mv__inner{
    margin-inline:0;
    max-width:none;
    padding-left:calc(18000 / var(--cq-ref) * 1cqi);
    padding-right:2.5rem;
  }

  .sub-mv__title{
    font-size:min(68px, 5800 / var(--cq-ref) * 1cqi);
  }

  .sub-mv__en{
    font-size:min(36px, 2600 / var(--cq-ref) * 1cqi);
    margin-top:0.5rem;
  }

  .tab{
    scroll-margin-top:8.75rem;
  }

  .tab__button{
    padding:1.25rem 1rem 1.375rem;
  }

  .tab__label{
    font-size:1.125rem;
  }

  .tab__sub{
    font-size:0.8125rem;
  }
}

@media (min-width: 1024px){
  .recruit-numbers-staff__list{
    grid-template-columns:repeat(10, 1fr);
  }

  .recruit-numbers-staff__card--age{
    grid-column:span 4;
  }

  .recruit-numbers-staff__card--gender,
  .recruit-numbers-staff__card--club{
    grid-column:span 3;
  }

  .recruit-numbers-staff__card--lunch,
  .recruit-numbers-staff__card--hobby{
    grid-column:span 5;
  }

  .top-movie__list{
    grid-template-columns:repeat(3, 1fr);
  }

  .detail-mv__title{
    font-size:3rem;
  }
}

@media (min-width: 1240px){
  html{
    font-size:16px;
  }
}

@media (min-width: 1440px){
  .recruit-numbers-staff__age{
    font-size:5rem;
  }

  .recruit-numbers-staff__gender-rate{
    font-size:4rem;
  }

  .recruit-numbers-staff__rate-name{
    font-size:1rem;
  }

  .recruit-numbers-staff__rate-num{
    font-size:3rem;
  }
}

@media (max-width: 768px){
  .--delay-1,
  .--delay-2,
  .--delay-3,
  .--delay-4{
    transition-delay:0s;
  }
}

@media (max-width: 767px){
  :root{
    --inner:33.75rem;
    --inner-wide:33.75rem;
    --inner-narrow:33.75rem;
    --padding-inline:1.25rem;
  }

  .top-about__intro-title{
    font-feature-settings:"palt";
  }

  .top-about__problem-link .arrow-link__text{
    text-align:right;
  }

  .top-business__heading{
    margin-inline:auto;
    max-width:500px;
  }

  .top-business__item-content{
    margin-inline:auto;
    max-width:500px;
  }

  .top-feature{
    gap:5rem;
  }

  .top-feature__inner{
    margin-inline:auto;
    max-width:500px;
  }

  .top-recruit__heading{
    margin-inline:auto;
    max-width:500px;
  }

  .top-recruit__link{
    margin-inline:auto;
  }

  .top-service__heading{
    margin-inline:auto;
    max-width:500px;
  }

  .top-service__link{
    margin-inline:auto;
    max-width:500px;
    text-align:right;
    width:100%;
  }
}

@media (max-width: 390px){
  html{
    font-size:4.1025641026vw;
  }
}

@media (any-hover: hover){
  a:hover{
    cursor:pointer;
  }

  .recruit-content__card:hover .recruit-content__img{
    scale:1.05;
  }

  .top-movie__card:hover .top-movie__img{
    transform:scale(1.05);
  }

  .top-movie__card:hover .top-movie__play-circle{
    fill:var(--main-color);
  }

  .top-movie__card:hover .top-movie__play-triangle{
    fill:var(--white);
  }

  .arrow-link:hover .arrow-link__text{
    color:var(--main-color);
  }

  .breadcrumb__link:hover{
    color:var(--main-color);
  }

  .btn:hover{
    color:var(--white);
  }

  .btn:hover::after{
    transform:scale(1, 1);
    transform-origin:left top;
  }

  .btn:hover .btn__icon{
    filter:brightness(0) invert(1);
  }

  .category-filter__tab:not(.is-active):hover{
    background-color:var(--main-color);
    border-color:var(--main-color);
    color:var(--white);
  }

  .column-card:hover .column-card__image{
    transform:scale(1.05);
  }

  .column-card:hover .column-card__title{
    color:var(--main-color);
  }

  .drawer__link:hover{
    color:var(--main-color);
    padding-left:0.75rem;
  }

  .drawer__link:hover::after{
    width:2.25rem;
  }

  .drawer__sub-link:hover{
    color:var(--main-color);
  }

  .footer__tel:hover{
    opacity:0.7;
  }

  .footer__menu-link:hover{
    color:var(--accent-mint);
  }

  .header__nav-link:hover{
    background-position:bottom left;
    background-size:100% 0.0625rem;
    color:var(--main-color);
  }

  .header--transparent.is-scrolled .header__nav-link:hover{
    color:var(--main-color);
  }

  .header__contact:hover::after{
    transform:scale(1, 1);
    transform-origin:left top;
  }

  .header__nav-item--has-child:hover .header__dropdown{
    opacity:1;
    visibility:visible;
  }

  .header__dropdown-link:hover{
    background-color:var(--light-gray);
    color:var(--main-color);
  }

  .news-card:hover .news-card__title{
    color:var(--main-color);
  }

  .pagination a.page-numbers:hover{
    background-color:var(--main-color);
    border-color:var(--main-color);
    color:var(--white);
  }

  a:hover .read-more__icon{
    transform:translateX(0.25rem);
  }

  .tab__button:hover{
    color:var(--main-color);
  }

  .video-modal__close:hover::before, .video-modal__close:hover::after{
    background-color:var(--accent-mint);
  }

  .work-card:hover .work-card__image{
    transform:scale(1.05);
  }

  .work-card:hover .work-card__title{
    color:var(--main-color);
  }
}