@charset "UTF-8";
:root{
  --inner:75rem;
  --padding-inline:1.875rem;
}
:root{
  --font-family-base:"hiragino-kaku-gothic-pron", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans JP", sans-serif;
  --font-family-en:"open-sans", "Open Sans", "Helvetica Neue", Arial, sans-serif;
  --font-family-condensed:"din-1451-lt-pro-engschrift", "DIN 1451 Engschrift", "Helvetica Neue Condensed", Arial, sans-serif;
}

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

:root{
  --black:#000;
  --white:#fff;
  --text-black:#444444;
  --main-green:#1eaa39;
  --main-green-bright:#39b54a;
  --main-green-deep:#006837;
  --accent-blue:#009fe8;
  --gray-dark:#666666;
  --gray:#cccccc;
  --gray-mid:#b3b3b3;
  --gray-light:#f2f2f2;
  --body-bg:#ffffff;
}

: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:1366;
  --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.7s;
  --duration-scroll-short:0.5s;
  --duration-scroll:0.7s;
  --duration-scroll-long:0.9s;
  --duration-image-scale:0.8s;
  --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;
}
button{
  color:inherit;
}
a{
  -webkit-tap-highlight-color:transparent;
}

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

.archive-service-business-nav{
  margin-top:3.75rem;
}

.archive-service-business-nav__inner{
  margin-inline:auto;
  max-width:33.125rem;
  padding-inline:var(--padding-inline);
  padding-inline:1.875rem;
}

.archive-service-intro{
  margin-top:3.75rem;
}

.archive-service-intro__inner{
  margin-inline:auto;
  max-width:33.125rem;
  padding-inline:var(--padding-inline);
  text-align:center;
}

.archive-service-intro__text{
  font-size:1rem;
  font-weight:var(--font-weight-semi-bold);
  letter-spacing:0.02em;
  line-height:1.65;
}

.archive-service-intro__text + .archive-service-intro__text{
  margin-top:1.65em;
}

.archive-service-page-title{
  font-feature-settings:"palt";
  margin-inline:auto;
  margin-top:2.5rem;
  max-width:33.125rem;
  padding-inline:var(--padding-inline);
}

.archive-service-works{
  margin-top:4.375rem;
  padding-bottom:6.25rem;
}

.archive-service-works__inner{
  margin-inline:auto;
  max-width:33.125rem;
  padding-inline:3.125rem;
}

.archive-service-works__pagination{
  margin-top:3.75rem;
}

.archive-service-works__empty{
  font-size:1.0625rem;
  font-weight:var(--font-weight-light);
  letter-spacing:0.1em;
  text-align:center;
}

.company-access{
  margin-top:3.75rem;
  overflow-x:clip;
  padding-bottom:5rem;
}

.company-access__inner{
  margin-inline:auto;
  max-width:33.125rem;
  padding-inline:var(--padding-inline);
}

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

.company-access__map-iframe{
  aspect-ratio:600/450;
  border:0;
  display:block;
  width:100%;
}

.company-heading{
  display:flex;
  flex-direction:column;
}

.company-heading__en{
  color:var(--main-green);
  font-family:var(--font-family-en);
  font-size:2.75rem;
  font-weight:var(--font-weight-bold);
  letter-spacing:0.025em;
  line-height:1;
  white-space:nowrap;
}

.company-heading__jp{
  font-size:1.25rem;
  font-weight:var(--font-weight-light);
  letter-spacing:0.025em;
  line-height:1;
  margin-top:0.75rem;
}

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

.company-overview__inner{
  margin-inline:auto;
  max-width:33.125rem;
  padding-inline:var(--padding-inline);
}

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

.company-overview__rule{
  display:flex;
  height:1px;
}

.company-overview__rule-accent{
  background-color:var(--main-green);
  flex:0 0 5rem;
}

.company-overview__rule-rest{
  background-color:var(--gray-mid);
  flex:1;
}

.company-overview__row{
  border-bottom:1px solid var(--gray-mid);
  display:block;
  padding-block:1.125rem;
  padding-inline:0.625rem;
}

.company-overview__label{
  font-size:1rem;
  font-weight:var(--font-weight-bold);
  letter-spacing:0.1em;
  line-height:1.6;
}

.company-overview__value{
  font-size:1rem;
  font-weight:var(--font-weight-light);
  letter-spacing:0.1em;
  line-height:1.6;
  margin-top:0.5rem;
}

.company-page-title{
  margin-inline:auto;
  margin-top:2.5rem;
  max-width:33.125rem;
  padding-inline:var(--padding-inline);
}

.company-section{
  margin-top:5rem;
  padding-bottom:2.5rem;
}

.company-section__inner{
  margin-inline:auto;
  max-width:33.125rem;
  padding-inline:var(--padding-inline);
}

.company-section__item{
  padding-bottom:2.5rem;
}

.company-section__rule{
  display:flex;
  height:1px;
  margin-left:1.25rem;
  padding-right:1.25rem;
}

.company-section__rule-accent{
  background-color:var(--main-green);
  flex:0 0 6.25rem;
}

.company-section__rule-rest{
  background-color:var(--gray-mid);
  flex:1;
}

.company-section__content{
  padding-top:2.5rem;
}

.company-section__body{
  margin-top:1.75rem;
  padding-inline:1.25rem 1.875rem;
}

.company-section__text{
  font-size:1rem;
  font-weight:var(--font-weight-light);
  letter-spacing:0.1em;
  line-height:1.6;
}

.company-section__text + .company-section__text{
  margin-top:1.375rem;
}

.contact-form{
  margin-top:3.125rem;
  padding-bottom:5rem;
}

.contact-form__inner{
  margin-inline:auto;
  max-width:33.125rem;
  padding-inline:var(--padding-inline);
}

.contact-form__list{
  display:flex;
  flex-direction:column;
  gap:1.75rem;
}

.contact-form__item{
  display:grid;
  gap:0.625rem;
  grid-template-columns:1fr;
}

.contact-form__label-wrap{
  align-items:center;
  display:flex;
  gap:0.75rem;
  justify-content:space-between;
}

.contact-form__label{
  font-size:0.9375rem;
  font-weight:var(--font-weight-semi-bold);
  letter-spacing:0.075em;
  line-height:1.4;
  white-space:nowrap;
}

.contact-form__badge{
  align-items:center;
  background-color:#ff0000;
  color:var(--white);
  display:inline-flex;
  flex-shrink:0;
  font-size:0.8125rem;
  font-weight:var(--font-weight-semi-bold);
  justify-content:center;
  letter-spacing:0.075em;
  line-height:1;
  min-height:1.375rem;
  min-width:2.5625rem;
}

.contact-form__badge--optional{
  background-color:var(--gray-dark);
}

.contact-form__field{
  display:grid;
  gap:0.5rem 0.9375rem;
  grid-template-columns:1fr;
}

.contact-form__field--split{
  gap:0.625rem;
  grid-template-columns:1fr 1fr;
}

.contact-form__sublabel{
  display:block;
  font-size:0.875rem;
  font-weight:var(--font-weight-semi-bold);
  letter-spacing:0.075em;
  line-height:1.4;
}

.contact-form__input,
.contact-form__textarea{
  background-color:var(--white);
  border:2px solid var(--text-black);
  border-radius:0.3125rem;
  font-size:0.9375rem;
  font-weight:var(--font-weight-light);
  letter-spacing:0.075em;
  line-height:1.5;
  padding:0.625rem 0.8125rem;
  transition:border-color var(--duration-base) var(--ease-smooth-bounce);
  width:100%;
}
.contact-form__input::-moz-placeholder, .contact-form__textarea::-moz-placeholder{
  color:#cccccc;
}
.contact-form__input::placeholder,
.contact-form__textarea::placeholder{
  color:#cccccc;
}
.contact-form__input:focus,
.contact-form__textarea:focus{
  border-color:var(--main-green);
  outline:none;
}

.contact-form__textarea{
  min-height:9.4375rem;
  resize:vertical;
}

.contact-form__submit{
  margin-top:2.5rem;
  text-align:center;
}

.contact-form__submit-btn{
  align-items:center;
  background-color:var(--gray-dark);
  border:1px solid var(--gray-dark);
  border-radius:calc(infinity * 1px);
  color:var(--white);
  cursor:pointer;
  display:inline-flex;
  font-size:1rem;
  font-weight:var(--font-weight-semi-bold);
  justify-content:center;
  letter-spacing:0.075em;
  line-height:1;
  min-width:9.9375rem;
  padding:0.6875rem 2.5rem;
  transition:background-color var(--duration-base) var(--ease-smooth-bounce), color var(--duration-base) var(--ease-smooth-bounce);
}
.contact-form__input:user-invalid,
.contact-form__textarea:user-invalid{
  border-color:#c00;
}

.contact-form__error{
  color:#c00;
  display:none;
  font-size:0.8125rem;
  letter-spacing:0.075em;
  margin-top:0.375rem;
}

.contact-form__input:user-invalid + .contact-form__error,
.contact-form__textarea:user-invalid + .contact-form__error{
  display:block;
}

.contact-form__field--split .contact-form__error{
  grid-column:1/-1;
}

.contact-form__field--split:has(.contact-form__input:user-invalid) .contact-form__error{
  display:block;
}
.contact-form--confirm .contact-form__intro{
  font-size:0.9375rem;
  font-weight:var(--font-weight-light);
  letter-spacing:0.075em;
  line-height:1.8;
  margin-bottom:1.875rem;
  text-align:center;
}

.contact-form__confirm-value{
  font-size:0.9375rem;
  font-weight:var(--font-weight-light);
  letter-spacing:0.075em;
  line-height:1.6;
}

.contact-form__confirm-submit{
  align-items:center;
  display:flex;
  flex-wrap:wrap;
  gap:1.25rem;
  justify-content:center;
  margin-top:2.5rem;
}

.contact-form__back-btn{
  align-items:center;
  background-color:var(--white);
  border:1px solid var(--gray-dark);
  border-radius:calc(infinity * 1px);
  color:var(--gray-dark);
  cursor:pointer;
  display:inline-flex;
  font-size:1rem;
  font-weight:var(--font-weight-semi-bold);
  justify-content:center;
  letter-spacing:0.075em;
  line-height:1;
  min-width:9.9375rem;
  padding:0.6875rem 2.5rem;
  transition:background-color var(--duration-base) var(--ease-smooth-bounce), color var(--duration-base) var(--ease-smooth-bounce);
}

.contact-intro{
  margin-top:3.375rem;
}

.contact-intro__inner{
  margin-inline:auto;
  max-width:33.125rem;
  padding-inline:var(--padding-inline);
  text-align:center;
}

.contact-intro__text{
  font-size:0.9375rem;
  font-weight:var(--font-weight-semi-bold);
  letter-spacing:0.075em;
  line-height:1.85;
}

.contact-page-title{
  margin-inline:auto;
  margin-top:2.5rem;
  max-width:33.125rem;
  padding-inline:var(--padding-inline);
}

.contact-thanks{
  margin-top:3.375rem;
  padding-bottom:5rem;
}

.contact-thanks__inner{
  margin-inline:auto;
  max-width:33.125rem;
  padding-inline:var(--padding-inline);
  text-align:center;
}

.contact-thanks__text{
  font-size:1.125rem;
  font-weight:var(--font-weight-semi-bold);
  letter-spacing:0.075em;
  line-height:1.8;
}

.contact-thanks__note{
  font-size:0.9375rem;
  font-weight:var(--font-weight-light);
  letter-spacing:0.075em;
  line-height:1.85;
  margin-top:1.25rem;
}

.contact-thanks__btn{
  margin-top:2.5rem;
  text-align:center;
}

.news-list{
  margin-top:3.75rem;
  padding-bottom:5rem;
}

.news-list__inner{
  margin-inline:auto;
  max-width:33.125rem;
  padding-inline:var(--padding-inline);
}

.news-list__rule{
  display:flex;
  height:1px;
}

.news-list__rule-accent{
  background-color:var(--main-green);
  flex:0 0 5rem;
}

.news-list__rule-rest{
  background-color:var(--gray-mid);
  flex:1;
}

.news-list__item{
  border-bottom:1px solid var(--gray-mid);
}

.news-list__link{
  display:block;
  padding-block:1rem;
  padding-inline:0.9375rem;
  transition:color var(--duration-base) var(--ease-smooth-bounce);
}
.news-list__date{
  display:block;
  font-size:0.875rem;
  font-weight:var(--font-weight-light);
  letter-spacing:0.045em;
  line-height:1.6;
}

.news-list__title{
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  display:-webkit-box;
  font-size:0.9375rem;
  font-weight:var(--font-weight-light);
  letter-spacing:0.02em;
  line-height:1.6;
  margin-top:0.25rem;
  overflow:hidden;
}

.news-list__pagination{
  margin-top:3.75rem;
}

.news-list__empty{
  font-size:1rem;
  font-weight:var(--font-weight-light);
  letter-spacing:0.075em;
  margin-top:1.875rem;
  text-align:center;
}

.news-page-title{
  margin-inline:auto;
  margin-top:2.5rem;
  max-width:33.125rem;
  padding-inline:var(--padding-inline);
}

.page-404-intro{
  margin-top:3.375rem;
  padding-bottom:6.25rem;
}

.page-404-intro__inner{
  margin-inline:auto;
  max-width:33.125rem;
  padding-inline:var(--padding-inline);
  text-align:center;
}

.page-404-intro__text{
  font-size:1rem;
  font-weight:var(--font-weight-semi-bold);
  letter-spacing:0.045em;
  line-height:1.65;
}

.page-404-intro__text + .page-404-intro__text{
  margin-top:1.25rem;
}

.page-404-intro__btn-wrap{
  margin-top:2.5rem;
  text-align:center;
}

.page-404-page-title{
  margin-inline:auto;
  margin-top:2.5rem;
  max-width:33.125rem;
  padding-inline:var(--padding-inline);
}

.service-business{
  margin-top:5rem;
  overflow:clip;
}

.service-business__list{
  display:flex;
  flex-direction:column;
  gap:3.75rem;
}

.service-business__item{
  isolation:isolate;
  position:relative;
}

.service-business__item:nth-child(odd){
  --service-panel-bg:var(--main-green-bright);
}

.service-business__item:nth-child(even){
  --service-panel-bg:var(--main-green-deep);
}

.service-business__media{
  width:100%;
}

.service-business__img{
  aspect-ratio:1022/720;
  display:block;
  height:auto;
  object-fit:cover;
  width:100%;
}

.service-business__panel{
  color:var(--white);
  margin-top:-1.875rem;
  position:relative;
}

.service-business__panel::before{
  background-color:var(--service-panel-bg);
  content:"";
  inset:0;
  mix-blend-mode:multiply;
  pointer-events:none;
  position:absolute;
  transform:translateZ(0);
  will-change:mix-blend-mode;
}

.service-business__panel-inner{
  box-sizing:border-box;
  margin-inline:auto;
  max-width:33.75rem;
  padding:1.75rem 1.25rem 2.25rem;
  position:relative;
}

.service-business__item:nth-child(6) .service-business__panel-inner{
  font-feature-settings:"palt";
}

.service-business__heading{
  align-items:center;
  display:flex;
  gap:0.75rem;
}

.service-business__num{
  display:inline-block;
  flex-shrink:0;
  font-family:var(--font-family-en);
  font-size:3.75rem;
  font-style:italic;
  font-weight:var(--font-weight-semi-bold);
  letter-spacing:0.025em;
  line-height:1;
  position:relative;
}

.service-business__num::after{
  background-color:currentColor;
  bottom:-0.375rem;
  content:"";
  height:1px;
  left:0;
  position:absolute;
  right:0;
}

.service-business__title{
  font-size:1.625rem;
  font-weight:var(--font-weight-semi-bold);
  letter-spacing:0.15em;
  line-height:1.31;
}

.service-business__item:nth-child(4) .service-business__title{
  letter-spacing:0.14em;
}

.service-business__item:nth-child(6) .service-business__title{
  letter-spacing:-0.02em;
}

.service-business__body{
  display:flex;
  flex-direction:column;
  font-size:1rem;
  font-weight:var(--font-weight-light);
  gap:1.25rem;
  letter-spacing:0.1em;
  line-height:1.5;
  margin-top:2.5rem;
  padding-inline:0.3125rem;
}

.service-business__block{
  display:flex;
  flex-direction:column;
  gap:0.3125rem;
}

.service-business__detail-list{
  display:flex;
  flex-direction:column;
  gap:0.1875rem;
}

.service-business__btn-wrap{
  margin-top:3.125rem;
}

.btn.service-business__btn{
  padding:0.9375rem 1.25rem 0.9375rem 0.9375rem;
}

.service-business-nav{
  margin-top:6.25rem;
  padding-bottom:7.5rem;
}

.service-business-nav__inner{
  margin-inline:auto;
  max-width:33.125rem;
  padding-inline:var(--padding-inline);
  padding-inline:1.875rem;
}

.service-intro{
  margin-top:4.375rem;
}

.service-intro__inner{
  margin-inline:auto;
  max-width:33.125rem;
  padding-inline:var(--padding-inline);
  text-align:center;
}

.service-intro__heading{
  color:#009245;
  font-size:1.375rem;
  font-weight:var(--font-weight-semi-bold);
  letter-spacing:0.045em;
  line-height:1.33;
}

.service-intro__body{
  margin-top:1.75rem;
}

.service-intro__text{
  font-size:1rem;
  font-weight:var(--font-weight-semi-bold);
  letter-spacing:0.045em;
  line-height:1.65;
}

.service-intro__text + .service-intro__text{
  margin-top:1.5rem;
}

.service-page-title{
  margin-inline:auto;
  margin-top:2.5rem;
  max-width:33.125rem;
  padding-inline:var(--padding-inline);
}

.mv{
  height:calc(100svh - 4rem);
  max-height:43.75rem;
  min-height:35rem;
  overflow:hidden;
  position:relative;
}

.mv__media{
  display:block;
  height:100%;
  width:100%;
}

.mv__img{
  height:100%;
  object-fit:cover;
  object-position:center;
  width:100%;
}

.mv__copy{
  bottom:2.5rem;
  color:var(--white);
  left:1.25rem;
  pointer-events:none;
  position:absolute;
  transform-origin:left bottom;
}

.mv__title{
  font-size:calc(2800 / var(--cq-ref-mobile) * 1cqi);
  font-weight:var(--font-weight-semi-bold);
  letter-spacing:0.1em;
  line-height:1.35;
  transform:skewX(-5deg);
}

.mv__lead{
  font-size:calc(1500 / var(--cq-ref-mobile) * 1cqi);
  font-weight:var(--font-weight-light);
  letter-spacing:0.1em;
  line-height:1.33;
  margin-top:1.25rem;
  transform:skewX(-5deg);
}

.top-company{
  overflow-x:clip;
  padding-block:5rem calc(10000 / var(--cq-ref-mobile) * 1cqi);
  position:relative;
}

.top-company__inner{
  margin-inline:auto;
  max-width:33.125rem;
  padding-inline:var(--padding-inline);
}

.top-company__heading{
  position:relative;
  z-index:2;
}

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

.top-company__media{
  position:relative;
  z-index:1;
}

.top-company__media-img{
  aspect-ratio:777/518;
  height:auto;
  object-fit:cover;
  position:relative;
  width:100%;
  z-index:2;
}

.top-company__media-deco{
  background:linear-gradient(135deg, #63B85A 0%, #009FE8 100%);
  bottom:-0.625rem;
  left:11%;
  position:absolute;
  right:min(-0.9375rem, 15.625rem - 50vw);
  top:-0.625rem;
  z-index:1;
}

.top-company__content{
  margin-top:3.75rem;
  position:relative;
  z-index:2;
}

.top-company__title{
  font-size:1.75rem;
  font-weight:var(--font-weight-semi-bold);
  letter-spacing:0.15em;
  line-height:1.31;
  position:relative;
}
.top-company__title::after{
  background-color:var(--main-green);
  content:"";
  height:0.125rem;
  left:0;
  position:absolute;
  top:calc(100% + 0.875rem);
  width:3.25rem;
}

.top-company__body{
  display:flex;
  flex-direction:column;
  gap:1.25rem;
  margin-top:3.4375rem;
}

.top-company__text{
  font-size:1rem;
  font-weight:var(--font-weight-light);
  letter-spacing:0.1em;
  line-height:1.6;
}

.top-company__btn{
  margin-top:1.75rem;
}

.top-company__brandmark{
  bottom:calc(-2000 / var(--cq-ref) * 1cqi);
  color:#DBDCDC;
  font-family:var(--font-family-en);
  font-size:calc(4500 / var(--cq-ref-mobile) * 1cqi);
  font-weight:var(--font-weight-light);
  left:0;
  letter-spacing:0.085em;
  line-height:1;
  pointer-events:none;
  position:absolute;
  transform:skewX(-5deg);
  white-space:nowrap;
  z-index:1;
}

.top-news{
  background:linear-gradient(135deg, #63B85A 0%, #009FE8 100%);
  color:var(--white);
  overflow-x:clip;
  padding-block:5rem;
  position:relative;
}

.top-news__inner{
  margin-inline:auto;
  max-width:33.125rem;
  padding-inline:var(--padding-inline);
  position:relative;
  z-index:1;
}

.top-news__heading-jp{
  align-items:center;
  display:flex;
  gap:1.25rem;
}

.top-news__heading-line{
  background-color:var(--white);
  display:inline-block;
  flex-shrink:0;
  height:1.5px;
  width:5rem;
}

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

.top-news__item{
  border-bottom:1px solid var(--white);
}

.top-news__item:first-child .top-news__link{
  padding-top:0;
}

.top-news__link{
  color:var(--white);
  display:flex;
  flex-direction:column;
  gap:0.25rem;
  padding-block:0.875rem;
  transition:opacity var(--duration-base) ease;
}

.top-news__date{
  flex-shrink:0;
  font-size:0.875rem;
  font-weight:var(--font-weight-light);
  letter-spacing:0.1em;
  line-height:1;
}

.top-news__item-title{
  font-size:0.9375rem;
  font-weight:var(--font-weight-light);
  letter-spacing:0.1em;
  line-height:1.36;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.top-news__empty{
  font-size:1rem;
  font-weight:var(--font-weight-light);
  letter-spacing:0.075em;
  margin-top:2.5rem;
}

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

.top-news__brandmark{
  background-image:url("/wp-content/themes/kurako/assets/images/top/top-news-brandmark.svg");
  background-position:right top;
  background-repeat:no-repeat;
  background-size:contain;
  bottom:0;
  mix-blend-mode:multiply;
  pointer-events:none;
  position:absolute;
  right:max(0px, 50vw - 42.6875rem);
  top:0;
  width:13.4375rem;
}

.top-service{
  background-color:var(--gray-light);
  container-type:inline-size;
  overflow-x:clip;
  padding-block:5rem;
  position:relative;
}

.top-service__inner{
  margin-inline:auto;
  max-width:33.125rem;
  padding-inline:var(--padding-inline);
}

.top-service__list{
  display:flex;
  flex-direction:column;
  gap:3.75rem;
  margin-top:3.125rem;
}

.top-service__item{
  display:grid;
  gap:1.5rem;
  grid-template-areas:"img" "content";
  grid-template-columns:1fr;
}

.top-service__media{
  grid-area:img;
  margin-inline:calc(50% - 50cqw);
}

.top-service__media-img{
  aspect-ratio:658/344;
  height:auto;
  object-fit:cover;
  width:100%;
}

.top-service__content{
  display:flex;
  flex-direction:column;
  grid-area:content;
  padding-block:1.25rem;
  padding-left:1rem;
  position:relative;
}

.top-service__content::before{
  background-color:var(--text-black);
  bottom:0;
  content:"";
  left:0;
  position:absolute;
  top:0;
  width:1px;
}

.top-service__label{
  align-items:center;
  color:var(--main-green);
  display:inline-flex;
  flex-direction:column;
  font-family:var(--font-family-en);
  letter-spacing:0.045em;
  line-height:1;
  width:fit-content;
}

.top-service__label-en{
  font-size:0.8125rem;
  font-weight:var(--font-weight-bold);
}

.top-service__label-num{
  font-size:1.75rem;
  font-weight:var(--font-weight-bold);
}

.top-service__item-title{
  font-size:1.5rem;
  font-weight:var(--font-weight-semi-bold);
  letter-spacing:0.1em;
  line-height:1.35;
  margin-top:1.125rem;
}

.top-service__item-text{
  font-size:1rem;
  font-weight:var(--font-weight-light);
  letter-spacing:0.1em;
  line-height:1.65;
  margin-top:1rem;
}

.top-service__btn-wrap{
  align-self:flex-start;
  margin-top:3rem;
}

.swiper{
  list-style:none;
  margin-inline:auto;
  overflow:hidden;
  padding:0;
  position:relative;
  z-index:1;
}

.swiper-wrapper{
  box-sizing:content-box;
  display:flex;
  height:100%;
  position:relative;
  transition-property:transform;
  width:100%;
  z-index:1;
}

.swiper-slide{
  flex-shrink:0;
  position:relative;
  transition-property:transform;
}

.top-works{
  overflow:clip;
  padding-block:5rem;
  position:relative;
}

.top-works__inner{
  margin-inline:auto;
  max-width:33.125rem;
  padding-inline:var(--padding-inline);
}

.top-works__empty{
  font-size:1rem;
  font-weight:var(--font-weight-light);
  letter-spacing:0.075em;
  margin-inline:auto;
  margin-top:2.5rem;
  max-width:33.125rem;
  padding-inline:var(--padding-inline);
}

.top-works__slider{
  margin-top:2.5rem;
}

.top-works__item{
  width:17.5rem;
}

.top-works__link{
  display:block;
}

.top-works__media{
  overflow:clip;
}

.top-works__img{
  aspect-ratio:321/237;
  height:auto;
  object-fit:cover;
  transition:transform var(--duration-base) ease;
  will-change:transform;
}
.top-works__pagination{
  display:flex;
  gap:1.25rem;
  justify-content:center;
  margin-top:2.5rem;
}

.top-works__dot{
  background-color:var(--gray);
  border-radius:calc(infinity * 1px);
  height:0.6875rem;
  padding:0;
  transition:background-color var(--duration-base) var(--ease-smooth-bounce);
  width:0.6875rem;
}
.top-works__dot.is-active{
  background-color:#009245;
}

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

.works-business{
  margin-top:3.75rem;
}

.works-business__inner{
  margin-inline:auto;
  max-width:33.125rem;
  padding-inline:var(--padding-inline);
}

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

.works-business__header{
  align-items:center;
  background:linear-gradient(to right, #63b85a, #009fe8);
  display:flex;
  gap:0.625rem;
  min-height:2.875rem;
  padding-inline:1.875rem 1.25rem;
}

.works-business__header-bar{
  background-color:var(--white);
  flex-shrink:0;
  height:1.75rem;
  width:0.25rem;
}

.works-business__header-title{
  color:var(--white);
  font-size:1.375rem;
  font-weight:var(--font-weight-semi-bold);
  letter-spacing:0.045em;
  line-height:1;
}

.works-business__list-wrap{
  margin-top:2.5rem;
  padding-inline:3.125rem;
}

.works-business__btn-wrap{
  margin-top:2.5rem;
  text-align:center;
}

.works-business__empty{
  font-size:1rem;
  font-weight:var(--font-weight-light);
  letter-spacing:0.075em;
  text-align:center;
}

.works-business-nav{
  margin-top:5rem;
  padding-bottom:6.25rem;
}

.works-business-nav__inner{
  margin-inline:auto;
  max-width:33.125rem;
  padding-inline:var(--padding-inline);
  padding-inline:1.875rem;
}

.works-intro{
  margin-top:3.75rem;
}

.works-intro__inner{
  margin-inline:auto;
  max-width:33.125rem;
  padding-inline:var(--padding-inline);
  text-align:center;
}

.works-intro__title{
  font-feature-settings:"palt";
  color:#009245;
  font-size:1.1875rem;
  font-weight:var(--font-weight-semi-bold);
  letter-spacing:0.075em;
  line-height:1.35;
}

.works-intro__body{
  margin-top:1.25rem;
}

.works-intro__text{
  font-size:1rem;
  font-weight:var(--font-weight-semi-bold);
  letter-spacing:0.045em;
  line-height:1.65;
}

.works-intro__text + .works-intro__text{
  margin-top:1.65em;
}

.works-page-title{
  margin-inline:auto;
  margin-top:2.5rem;
  max-width:33.125rem;
  padding-inline:var(--padding-inline);
}
.js-section-heading .section-heading__en span,
.js-section-heading .section-heading__jp{
  opacity:0;
  transform:translateX(20px);
  transition:opacity var(--duration-scroll) ease-in-out, transform var(--duration-scroll) ease-in-out;
  will-change:opacity, transform;
}

.js-company-section-heading .company-heading__en span,
.js-company-section-heading .company-heading__jp{
  opacity:0;
  transform:translateX(10px);
  transition:opacity var(--duration-scroll-short) ease-in-out, transform var(--duration-scroll-short) ease-in-out;
  will-change:opacity, transform;
}

.js-section-heading.is-active .section-heading__en span,
.js-section-heading.is-active .section-heading__jp,
.js-company-section-heading.is-active .company-heading__en span,
.js-company-section-heading.is-active .company-heading__jp{
  opacity:1;
  transform:translateX(0);
}

.js-section-heading .section-heading__en span,
.js-company-section-heading .company-heading__en span{
  transition-delay:calc(0.05s * var(--index));
}

.js-section-heading .section-heading__jp,
.js-company-section-heading .company-heading__jp{
  transition-delay:0.3s;
}
.js-top-company .section-heading__en span,
.js-top-company .section-heading__jp,
.js-top-company .top-company__title,
.js-top-company .top-company__body,
.js-top-company .top-company__btn{
  opacity:0;
  transform:translateX(10px);
  transition:opacity var(--duration-scroll) ease-in-out, transform var(--duration-scroll) ease-in-out;
  will-change:opacity, transform;
}

.js-top-company-brandmark{
  opacity:0;
  transform:translateX(25px);
  transition:opacity var(--duration-scroll-long) ease-in-out, transform var(--duration-scroll-long) ease-in-out;
  will-change:opacity, transform;
}

.js-top-company .section-heading__en span{
  transition-delay:calc(0.05s * var(--index));
}

.js-top-company .section-heading__jp{
  transition-delay:0.3s;
}

.js-top-company .top-company__title{
  transition-delay:1.1s;
}

.js-top-company .top-company__body{
  transition-delay:1.3s;
}

.js-top-company .top-company__btn{
  transition-delay:1.5s;
}

.js-top-company .top-company__media-img-wrap{
  overflow:hidden;
}

.js-top-company .top-company__media-img-wrap img{
  opacity:0;
  transform:scale(1.03);
  transition:opacity var(--duration-image-scale) ease-in-out, transform var(--duration-image-scale) ease-in-out;
  transition-delay:0.4s;
  will-change:opacity, transform;
}

.js-top-company.is-active .section-heading__en span,
.js-top-company.is-active .section-heading__jp,
.js-top-company.is-active .top-company__title,
.js-top-company.is-active .top-company__body,
.js-top-company.is-active .top-company__btn,
.js-top-company-brandmark.is-active{
  opacity:1;
  transform:translateX(0);
}

.js-top-company.is-active .top-company__media-img-wrap img{
  opacity:1;
  transform:scale(1);
}

.js-top-service-item .top-service__content::before{
  bottom:auto;
  height:0;
  transition:height var(--duration-scroll) linear;
  will-change:height;
}

.js-top-service-item.is-active .top-service__content::before{
  height:100%;
  transition-delay:0.6s;
}

.js-top-service-item .top-service__label,
.js-top-service-item .top-service__item-title,
.js-top-service-item .top-service__item-text,
.js-top-service-item .top-service__btn-wrap{
  opacity:0;
  transform:translateX(10px);
  transition:opacity var(--duration-scroll) ease-in-out, transform var(--duration-scroll) ease-in-out;
  will-change:opacity, transform;
}

.js-top-service-item .top-service__media{
  overflow:hidden;
}

.js-top-service-item .top-service__media-img{
  opacity:0;
  transform:scale(1.05);
  transition:opacity var(--duration-image-scale) ease-in-out, transform var(--duration-image-scale) ease-in-out;
  will-change:opacity, transform;
}

.js-top-service-item.is-active .top-service__label{
  transition-delay:0.7s;
}

.js-top-service-item.is-active .top-service__item-title{
  transition-delay:0.7s;
}

.js-top-service-item.is-active .top-service__item-text{
  transition-delay:0.9s;
}

.js-top-service-item.is-active .top-service__btn-wrap{
  transition-delay:1.1s;
}

.js-top-service-item.is-active .top-service__media-img{
  transition-delay:0s;
}

.js-top-service-item.is-active .top-service__label,
.js-top-service-item.is-active .top-service__item-title,
.js-top-service-item.is-active .top-service__item-text,
.js-top-service-item.is-active .top-service__btn-wrap{
  opacity:1;
  transform:translateX(0);
}

.js-top-service-item.is-active .top-service__media-img{
  opacity:1;
  transform:scale(1);
}

.js-top-works .section-heading__en span,
.js-top-works .section-heading__jp{
  opacity:0;
  transform:translateX(10px);
  transition:opacity var(--duration-scroll) ease-in-out, transform var(--duration-scroll) ease-in-out;
  will-change:opacity, transform;
}

.js-top-works .section-heading__en span{
  transition-delay:calc(0.05s * var(--index));
}

.js-top-works .section-heading__jp{
  transition-delay:0.3s;
}

.js-top-works.is-active .section-heading__en span,
.js-top-works.is-active .section-heading__jp{
  opacity:1;
  transform:translateX(0);
}

.js-top-works .top-works__slider{
  opacity:0;
  transform:translateX(20px);
  transition:opacity var(--duration-scroll) ease-in-out, transform var(--duration-scroll) ease-in-out;
  transition-delay:0.3s;
  will-change:opacity, transform;
}

.js-top-works.is-active .top-works__slider{
  opacity:1;
  transform:translateX(0);
}

.js-top-news .section-heading__en span,
.js-top-news .section-heading__jp{
  opacity:0;
  transform:translateX(15px);
  transition:opacity var(--duration-scroll) ease-in-out, transform var(--duration-scroll) ease-in-out;
  will-change:opacity, transform;
}

.js-top-news.is-active .section-heading__en span,
.js-top-news.is-active .section-heading__jp{
  opacity:1;
  transform:translateX(0);
}

.js-top-news .section-heading__en span{
  transition-delay:calc(0.05s * var(--index));
}

.js-top-news .section-heading__jp{
  transition-delay:0.3s;
}

.js-top-news .top-news__item{
  opacity:0;
  transform:translateX(15px);
  transition:opacity var(--duration-scroll) ease-in-out, transform var(--duration-scroll) ease-in-out;
  will-change:opacity, transform;
}

.js-top-news.is-active .top-news__item{
  opacity:1;
  transform:translateX(0);
}

.js-top-news .top-news__item:nth-child(1){
  transition-delay:0.5s;
}

.js-top-news .top-news__item:nth-child(2){
  transition-delay:0.6s;
}

.js-top-news .top-news__item:nth-child(3){
  transition-delay:0.7s;
}

.js-top-news .top-news__item:nth-child(4){
  transition-delay:0.8s;
}

.js-top-news .top-news__item:nth-child(5){
  transition-delay:0.9s;
}

.js-top-news .top-news__item:nth-child(6){
  transition-delay:1s;
}

.js-top-news .top-news__btn-wrap{
  opacity:0;
  transform:translateX(15px);
  transition:opacity var(--duration-scroll) ease-in-out, transform var(--duration-scroll) ease-in-out;
  will-change:opacity, transform;
}

.js-top-news.is-active .top-news__btn-wrap{
  opacity:1;
  transform:translateX(0);
  transition-delay:1.1s;
}
.js-service-business-item .service-business__media{
  overflow:hidden;
}

.js-service-business-item .service-business__img{
  opacity:0;
  transform:scale(1.08);
  transition:opacity var(--duration-scroll-long) var(--ease-smooth-bounce), transform var(--duration-scroll-long) var(--ease-smooth-bounce);
  will-change:opacity, transform;
}

.js-service-business-item .service-business__panel-inner{
  opacity:0;
  transform:translateX(10px);
  transition:opacity var(--duration-scroll-long) var(--ease-smooth-bounce), transform var(--duration-scroll-long) var(--ease-smooth-bounce);
  transition-delay:0.7s;
  will-change:opacity, transform;
}

.js-service-business-item.is-active .service-business__img{
  opacity:1;
  transform:scale(1);
}

.js-service-business-item.is-active .service-business__panel-inner{
  opacity:1;
  transform:translateX(0);
}

.breadcrumb{
  background-color:var(--main-green);
  padding-block:0.625rem;
}

.breadcrumb__inner{
  margin-inline:auto;
  max-width:61.25rem;
  padding-inline:var(--padding-inline);
}

.breadcrumb__list{
  align-items:center;
  display:flex;
}

.breadcrumb__item{
  align-items:center;
  color:var(--white);
  display:flex;
  font-size:0.875rem;
  font-weight:var(--font-weight-light);
  letter-spacing:0.02em;
  line-height:1.5;
}

.breadcrumb__item::after{
  content:">";
  display:inline-block;
  margin-inline:0.5rem;
}

.breadcrumb__item:last-child::after{
  content:none;
}

.breadcrumb__link{
  transition:opacity var(--duration-base) var(--ease-smooth-bounce);
}

.btn{
  --btn-color:var(--main-green);
  --btn-bg-active:var(--main-green);
  --btn-text-active:var(--white);
  align-items:center;
  border:2px solid var(--btn-color);
  border-radius:calc(infinity * 1px);
  display:inline-flex;
  font-size:1rem;
  font-weight:var(--font-weight-light);
  gap:0.875rem;
  isolation:isolate;
  justify-content:space-between;
  letter-spacing:0.1em;
  line-height:1;
  overflow:hidden;
  padding:0.9375rem 2rem 0.9375rem 2rem;
  position:relative;
  transition:color var(--duration-base) var(--ease-smooth-bounce);
  will-change:color;
}

.btn::before{
  background-color:var(--btn-bg-active);
  content:"";
  display:block;
  height:100%;
  left:0;
  position:absolute;
  top:0;
  transform:scaleX(0);
  transform-origin:right;
  transition:transform var(--duration-base) var(--ease-smooth-bounce);
  width:100%;
  will-change:transform;
}
.btn__text{
  position:relative;
  white-space:nowrap;
  z-index:1;
}

.btn__arrow{
  -webkit-mask-image:url("/wp-content/themes/kurako/assets/images/common/arrow.svg");
  -webkit-mask-repeat:no-repeat;
  -webkit-mask-size:contain;
  -webkit-mask-position:center;
  aspect-ratio:86/11;
  background-color:currentColor;
  flex-shrink:0;
  mask-image:url("/wp-content/themes/kurako/assets/images/common/arrow.svg");
  mask-position:center;
  mask-repeat:no-repeat;
  mask-size:contain;
  position:relative;
  transform:translateY(-0.1875rem);
  transition:background-color var(--duration-base) var(--ease-smooth-bounce);
  width:4.125rem;
  z-index:1;
}

.btn--compact{
  padding:0.75rem 1.25rem;
}

.btn--bold{
  font-weight:var(--font-weight-semi-bold);
}

.btn--white{
  --btn-color:var(--white);
  --btn-bg-active:var(--white);
  --btn-text-active:var(--main-green);
  color:var(--white);
}

.business-nav{
  display:grid;
  grid-template-columns:1fr;
}

.business-nav__item{
  border-bottom:1px solid var(--text-black);
}

.business-nav__link{
  align-items:center;
  display:flex;
  font-size:1rem;
  font-weight:var(--font-weight-semi-bold);
  justify-content:space-between;
  letter-spacing:0.1em;
  padding-block:1rem;
  padding-inline:0.875rem;
  transition:color var(--duration-base) var(--ease-smooth-bounce);
  width:100%;
}

.business-nav__arrow{
  display:inline-block;
  flex-shrink:0;
  margin-left:0.75rem;
  transition:transform var(--duration-base) var(--ease-smooth-bounce);
}
.drawer{
  -webkit-overflow-scrolling:touch;
  background-color:var(--white);
  background-image:radial-gradient(circle at 0% 0%, rgba(30, 170, 57, 0.08) 0%, transparent 60%), radial-gradient(circle at 100% 100%, rgba(0, 159, 232, 0.06) 0%, transparent 50%);
  inset:0;
  opacity:0;
  overflow-y:auto;
  overscroll-behavior:contain;
  padding-top:4rem;
  position:fixed;
  transform:translateY(-0.5rem);
  transition:opacity var(--duration-base) ease, visibility var(--duration-base) ease, transform var(--duration-base) var(--ease-smooth-bounce);
  visibility:hidden;
  z-index:var(--z-index-drawer);
}
.drawer.is-open{
  opacity:1;
  transform:translateY(0);
  visibility:visible;
}

.drawer__inner{
  margin-inline:auto;
  max-width:32.5rem;
  padding:1.75rem 1.5rem 3rem;
}

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

.drawer__item{
  position:relative;
}
.drawer__item:not(:last-child){
  border-bottom:1px solid rgba(0, 0, 0, 0.08);
}

.drawer__link{
  align-items:baseline;
  color:var(--text-black);
  display:flex;
  gap:0.75rem;
  padding:1.25rem 2.25rem 1.25rem 0.25rem;
  position:relative;
  transition:color var(--duration-base) ease, padding-left var(--duration-base) ease;
}
.drawer__link::after{
  border-right:2px solid var(--main-green);
  border-top:2px solid var(--main-green);
  content:"";
  height:0.5rem;
  position:absolute;
  right:0.75rem;
  top:50%;
  transform:translate(0, -50%) rotate(45deg);
  transition:transform var(--duration-base) var(--ease-smooth-bounce), border-color var(--duration-base) ease;
  width:0.5rem;
}

.drawer__link-text{
  font-size:1.0625rem;
  font-weight:var(--font-weight-semi-bold);
  letter-spacing:0.08em;
  line-height:1;
}

.drawer__link-en{
  color:var(--main-green);
  font-family:var(--font-family-en);
  font-size:0.6875rem;
  font-weight:var(--font-weight-bold);
  letter-spacing:0.12em;
  line-height:1;
}

.drawer__toggle{
  align-items:baseline;
  color:var(--text-black);
  display:flex;
  gap:0.75rem;
  padding:1.25rem 2.5rem 1.25rem 0.25rem;
  position:relative;
  text-align:left;
  transition:color var(--duration-base) ease;
  width:100%;
}
.drawer__toggle::before, .drawer__toggle::after{
  background-color:var(--main-green);
  border-radius:calc(infinity * 1px);
  content:"";
  height:0.125rem;
  position:absolute;
  right:0.5rem;
  top:50%;
  transition:transform var(--duration-base) var(--ease-smooth-bounce), opacity var(--duration-base) ease;
  width:0.875rem;
}
.drawer__toggle::before{
  transform:translateY(-50%);
}
.drawer__toggle::after{
  transform:translateY(-50%) rotate(90deg);
}
.drawer__toggle[aria-expanded=true]::after{
  opacity:0;
  transform:translateY(-50%) rotate(180deg);
}

.drawer__sub{
  max-height:0;
  overflow:hidden;
  transition:max-height var(--duration-base) var(--ease-smooth-bounce);
}

.drawer__sub-list{
  background-color:rgba(30, 170, 57, 0.05);
  border-radius:0.75rem;
  display:flex;
  flex-direction:column;
  gap:0.125rem;
  margin:0 -0.25rem 0.5rem;
  padding:0.75rem 1rem;
}

.drawer__sub-item{
  position:relative;
}

.drawer__sub-link{
  align-items:center;
  color:var(--text-black);
  display:flex;
  font-size:1rem;
  font-weight:var(--font-weight-regular);
  gap:0.625rem;
  letter-spacing:0.06em;
  padding:0.375rem 0.25rem;
  transition:color var(--duration-base) ease, padding-left var(--duration-base) ease;
}
.drawer__sub-link::before{
  background-color:var(--main-green);
  border-radius:calc(infinity * 1px);
  content:"";
  flex-shrink:0;
  height:0.375rem;
  transition:transform var(--duration-base) ease;
  width:0.375rem;
}

.drawer__cta{
  align-items:center;
  display:flex;
  flex-direction:column;
  gap:1.25rem;
  margin-top:2.25rem;
}

.drawer__contact{
  align-items:center;
  background-color:var(--main-green-bright);
  border-radius:calc(infinity * 1px);
  color:var(--white);
  display:inline-flex;
  font-size:1.0625rem;
  font-weight:var(--font-weight-semi-bold);
  gap:0.625rem;
  height:3.5rem;
  justify-content:center;
  letter-spacing:0.1em;
  line-height:1;
  min-width:17.5rem;
  padding-inline:1rem 1.5rem;
  transition:transform var(--duration-base) ease, box-shadow var(--duration-base) ease;
}

.drawer__contact-icon{
  align-items:center;
  background-color:var(--white);
  border-radius:calc(infinity * 1px);
  color:var(--main-green-bright);
  display:inline-flex;
  font-size:0.75rem;
  height:1.375rem;
  justify-content:center;
  line-height:1;
  padding-left:0.1875rem;
  width:1.375rem;
}

.drawer__tel{
  align-items:center;
  color:var(--main-green-deep);
  display:inline-flex;
  flex-direction:column;
  gap:0.25rem;
  transition:opacity var(--duration-base) ease;
}

.drawer__tel-number{
  font-family:var(--font-family-condensed);
  font-size:1.875rem;
  font-weight:var(--font-weight-semi-bold);
  letter-spacing:0.045em;
  line-height:1;
}

.drawer__tel-hours{
  color:var(--text-black);
  font-size:0.75rem;
  font-weight:var(--font-weight-light);
  letter-spacing:0.08em;
}

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

.footer{
  background-color:#393F44;
  color:var(--white);
  padding-block:3.125rem 1.25rem;
}

.footer__inner{
  padding-inline:var(--padding-inline);
}

.footer__catch{
  margin-bottom:1.75rem;
  text-align:center;
}

.footer__catch-img{
  display:inline-block;
  height:auto;
  max-width:min(100%, 41.1875rem);
  width:auto;
}

.footer__main{
  align-items:flex-start;
  display:flex;
  flex-direction:column;
  gap:2.5rem;
  margin-bottom:3.125rem;
}

.footer__logo-link{
  display:inline-block;
  transition:opacity var(--duration-base) ease;
  width:12.5rem;
}

.footer__logo-img{
  height:auto;
  width:100%;
}

.footer__address{
  display:flex;
  flex-direction:column;
  font-style:normal;
  gap:0.4375rem;
}

.footer__address-line{
  font-size:1rem;
  font-weight:var(--font-weight-light);
  letter-spacing:0.1em;
  line-height:1.81;
}

.footer__tel{
  transition:opacity var(--duration-base) ease;
}

.footer__nav-list{
  grid-column-gap:2.5rem;
  -moz-column-gap:2.5rem;
  grid-row-gap:1.5rem;
       column-gap:2.5rem;
  display:grid;
  grid-auto-flow:row;
  grid-template-columns:repeat(3, max-content);
  row-gap:1.5rem;
}

.footer__nav-link{
  display:flex;
  flex-direction:column;
  gap:1.375rem;
}

.footer__nav-jp{
  font-size:1rem;
  font-weight:var(--font-weight-light);
  letter-spacing:0.045em;
  line-height:1.4;
}

.footer__nav-en{
  color:var(--gray-dark);
  font-family:var(--font-family-en);
  font-size:0.625rem;
  font-weight:var(--font-weight-light);
  letter-spacing:0.045em;
  line-height:1;
  transition:color var(--duration-base) ease;
}

.footer__copyright{
  color:#999999;
  font-size:0.6875rem;
  font-weight:var(--font-weight-light);
  letter-spacing:0.1em;
  line-height:1.5;
  text-align:center;
}

.hamburger{
  align-items:center;
  background-color:rgba(30, 170, 57, 0.08);
  border-radius:calc(infinity * 1px);
  display:flex;
  flex-direction:column;
  flex-shrink:0;
  gap:0.3125rem;
  height:2.75rem;
  justify-content:center;
  transition:background-color var(--duration-base) ease;
  width:2.75rem;
}

.hamburger__bar{
  background-color:var(--main-green);
  border-radius:calc(infinity * 1px);
  height:2px;
  transition:transform var(--duration-base) var(--ease-smooth-bounce), opacity var(--duration-base) ease, background-color var(--duration-base) ease;
  width:1.25rem;
}

.hamburger.is-open{
  background-color:var(--main-green);
}
.hamburger.is-open .hamburger__bar{
  background-color:var(--white);
}
.hamburger.is-open .hamburger__bar:nth-of-type(1){
  transform:translateY(0.4375rem) rotate(45deg);
}
.hamburger.is-open .hamburger__bar:nth-of-type(2){
  opacity:0;
}
.hamburger.is-open .hamburger__bar:nth-of-type(3){
  transform:translateY(-0.4375rem) rotate(-45deg);
}

body{
  padding-top:4rem;
}

.header{
  background-color:var(--white);
  box-shadow:none;
  height:4rem;
  left:0;
  position:fixed;
  right:0;
  top:0;
  transition:background-color var(--duration-base) ease, box-shadow var(--duration-base) ease;
  z-index:calc(var(--z-index-drawer) + 1);
}

.header.is-scrolled{
  box-shadow:0 1px 4px rgba(0, 0, 0, 0.06);
}

body.is-drawer-open .header{
  background-color:transparent;
  box-shadow:none;
}

.header__inner{
  align-items:center;
  display:flex;
  gap:0.75rem;
  height:100%;
  justify-content:space-between;
  padding-inline:var(--padding-inline);
}

.header__logo-link{
  display:block;
  flex-shrink:0;
  transition:opacity var(--duration-base) ease;
  width:11.25rem;
}

.header__logo{
  line-height:1;
}

.header__logo-img{
  height:auto;
  object-fit:contain;
}

.header__wrap{
  display:none;
}

.header__nav{
  display:none;
}

.header__nav-list{
  align-items:center;
  display:flex;
  gap:3.375rem;
}

.header__nav-link{
  color:#808080;
  font-size:0.875rem;
  font-weight:var(--font-weight-semi-bold);
  letter-spacing:0.1em;
  transition:color var(--duration-base) ease;
}
.header__nav-link.is-current{
  color:var(--main-green-deep);
}

.header__cta{
  display:none;
}

.header__tel{
  align-items:center;
  background-color:var(--main-green-deep);
  border-radius:calc(infinity * 1px);
  color:var(--white);
  display:inline-flex;
  flex-direction:column;
  gap:0.125rem;
  height:3.0625rem;
  justify-content:center;
  line-height:1.2;
  padding-inline:1.3125rem;
  text-align:center;
  transition:opacity var(--duration-base) ease;
}

.header__tel-number{
  font-size:1.125rem;
  font-weight:var(--font-weight-semi-bold);
  letter-spacing:0.1em;
  line-height:1;
}

.header__tel-hours{
  font-size:0.75rem;
  font-weight:var(--font-weight-semi-bold);
  letter-spacing:0.1em;
  line-height:1;
}

.header__contact{
  align-items:center;
  background-color:var(--main-green-bright);
  border-radius:calc(infinity * 1px);
  color:var(--white);
  display:inline-flex;
  font-size:1rem;
  font-weight:var(--font-weight-semi-bold);
  gap:0.5rem;
  height:3.0625rem;
  letter-spacing:0.1em;
  line-height:1;
  padding-inline:0.5625rem 0.4375rem;
  transition:opacity var(--duration-base) ease;
}

.header__contact-icon{
  align-items:center;
  background-color:var(--white);
  border-radius:calc(infinity * 1px);
  color:var(--main-green-bright);
  display:inline-flex;
  font-size:0.8125rem;
  height:1.375rem;
  justify-content:center;
  line-height:1;
  padding-left:0.1875rem;
  width:1.375rem;
}

.page-title{
  display:flex;
  flex-direction:column;
}

.page-title.page-title--small .page-title__en{
  font-size:2.625rem;
}
.page-title.page-title--small .page-title__jp{
  font-size:1.125rem;
}

.page-title__en{
  color:var(--main-green);
  font-family:var(--font-family-en);
  font-size:3.75rem;
  font-weight:var(--font-weight-bold);
  letter-spacing:0.025em;
  line-height:1;
  white-space:nowrap;
}

.page-title__jp{
  align-items:center;
  display:flex;
  font-size:1.25rem;
  font-weight:var(--font-weight-light);
  gap:0.625rem;
  letter-spacing:0.045em;
  line-height:1;
  margin-top:1rem;
}

.page-title__line{
  background-color:var(--text-black);
  display:inline-block;
  flex-shrink:0;
  height:1px;
  width:3.125rem;
}

.pagination{
  align-items:center;
  display:flex;
  flex-wrap:wrap;
  gap:0.625rem;
  justify-content:center;
}

.pagination .page-link,
.pagination .current-page{
  align-items:center;
  aspect-ratio:1/1;
  background-color:var(--gray-mid);
  border-radius:calc(infinity * 1px);
  color:var(--white);
  display:flex;
  font-size:1rem;
  font-weight:var(--font-weight-light);
  justify-content:center;
  line-height:1;
  transition:background-color var(--duration-base) var(--ease-smooth-bounce);
  width:1.8125rem;
}

.pagination .current-page{
  background-color:#009245;
}

.pagination .dots{
  align-items:flex-end;
  color:var(--text-black);
  display:inline-flex;
  font-size:0.875rem;
  font-weight:var(--font-weight-semi-bold);
  height:1.8125rem;
  line-height:1;
}

.post-card{
  display:block;
}

.post-card__media{
  background-color:var(--gray);
  overflow:hidden;
}

.post-card__img{
  aspect-ratio:1/1;
  height:auto;
  object-fit:cover;
  transition:transform var(--duration-base) var(--ease-smooth-bounce);
  will-change:transform;
}

.post-card__title{
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  display:-webkit-box;
  font-size:1rem;
  font-weight:var(--font-weight-semi-bold);
  letter-spacing:0.045em;
  line-height:1.6;
  margin-top:0.75rem;
  max-width:100%;
  overflow:hidden;
  text-align:center;
  transition:color var(--duration-base) var(--ease-smooth-bounce);
}
.post-card-list{
  display:grid;
  gap:2.5rem;
  grid-template-columns:1fr;
}

.post-navigation{
  align-items:center;
  border-bottom:1px solid #c7c7c7;
  border-top:1px solid #c7c7c7;
  display:flex;
  gap:1.25rem;
  justify-content:space-between;
  margin-top:2.5rem;
  padding-block:0.9375rem;
  padding-inline:0.3125rem;
}

.post-navigation__prev,
.post-navigation__next{
  font-size:1rem;
  font-weight:var(--font-weight-light);
  letter-spacing:0.1em;
  transition:color var(--duration-base) var(--ease-smooth-bounce);
}

.post-navigation__next{
  margin-left:auto;
}

.post-navigation .is-empty{
  pointer-events:none;
  visibility:hidden;
}

.post-single{
  margin-top:3.75rem;
  padding-bottom:3.75rem;
}

.post-single__inner{
  margin-inline:auto;
  max-width:33.125rem;
  padding-inline:var(--padding-inline);
}

.post-single__header{
  display:flex;
  flex-direction:column;
  gap:0.75rem;
}

.post-single__date{
  font-size:0.9375rem;
  font-weight:var(--font-weight-light);
  letter-spacing:0.2em;
  line-height:1;
}

.post-single__title{
  border-left:1px solid var(--text-black);
  font-size:1.25rem;
  font-weight:var(--font-weight-light);
  letter-spacing:0.2em;
  margin-left:0.375rem;
  padding-left:0.9375rem;
}

.post-single__mv{
  margin-top:1.875rem;
}

.post-single__mv-img{
  aspect-ratio:810/572;
  height:auto;
  object-fit:cover;
}

.post-single__content{
  font-size:1rem;
  font-weight:var(--font-weight-light);
  letter-spacing:0.24em;
  line-height:1.8;
  margin-top:1.875rem;
}
.post-single__content h2{
  font-size:1.375rem;
  font-weight:var(--font-weight-semi-bold);
  letter-spacing:0.15em;
  line-height:1.6;
  margin-top:2.5rem;
}
.post-single__content h3{
  font-size:1.25rem;
  font-weight:var(--font-weight-semi-bold);
  letter-spacing:0.15em;
  line-height:1.6;
  margin-top:2rem;
}
.post-single__content h4{
  font-size:1.125rem;
  font-weight:var(--font-weight-semi-bold);
  letter-spacing:0.15em;
  line-height:1.6;
  margin-top:1.5rem;
}
.post-single__content p{
  margin-top:1rem;
}
.post-single__content a{
  -webkit-text-decoration:underline;
  color:#0366d6;
  text-decoration:underline;
  transition:opacity var(--duration-base) var(--ease-smooth-bounce);
}
.post-single__content ul,
.post-single__content ol{
  margin-top:1rem;
}
.post-single__content ul{
  list-style:disc;
  padding-left:1.5rem;
}
.post-single__content ol{
  list-style:decimal;
  padding-left:2rem;
}
.post-single__content ul li + li,
.post-single__content ol li + li{
  margin-top:0.5rem;
}
.post-single__content figure{
  margin-top:1.5rem;
}

.post-single__back{
  margin-top:2.5rem;
  text-align:center;
}

.post-single-related{
  padding-block:2.5rem 5rem;
}

.post-single-related__inner{
  margin-inline:auto;
  max-width:33.125rem;
  padding-inline:var(--padding-inline);
}

.post-single-related__heading{
  border-left:2px solid var(--text-black);
  font-size:1.25rem;
  font-weight:var(--font-weight-semi-bold);
  letter-spacing:0.2em;
  line-height:1.2;
  margin-left:0.9375rem;
  padding-left:0.9375rem;
}

.post-single-related__list{
  display:grid;
  gap:1.875rem;
  grid-template-columns:1fr;
  margin-top:2.5rem;
  padding-inline:3.125rem;
}

.post-single-related__link{
  display:block;
}

.post-single-related__media{
  background-color:var(--gray);
  overflow:hidden;
}

.post-single-related__img{
  aspect-ratio:259/183;
  height:auto;
  object-fit:cover;
  transition:transform var(--duration-base) var(--ease-smooth-bounce);
  will-change:transform;
}

.post-single-related__title{
  font-size:1rem;
  font-weight:var(--font-weight-light);
  letter-spacing:0.2em;
  line-height:1.6;
  margin-top:1.125rem;
  text-align:center;
  transition:color var(--duration-base) var(--ease-smooth-bounce);
}
.section-heading{
  --heading-en-color:var(--main-green);
  display:flex;
  flex-direction:column;
}

.section-heading__en{
  color:var(--heading-en-color);
  font-family:var(--font-family-en);
  font-size:3.75rem;
  font-weight:var(--font-weight-bold);
  letter-spacing:0.045em;
  line-height:1;
  white-space:nowrap;
}

.section-heading--white{
  --heading-en-color:var(--white);
}

.section-heading__jp{
  align-items:center;
  display:flex;
  font-size:1.25rem;
  font-weight:var(--font-weight-light);
  gap:1.25rem;
  letter-spacing:0.045em;
  line-height:1;
  margin-top:1rem;
}

.section-heading__line{
  background-color:var(--text-black);
  display:inline-block;
  flex-shrink:0;
  height:1.5px;
  width:5rem;
}

.sub-mv__media{
  display:block;
}

.sub-mv__img{
  height:auto;
}

@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.3008130081vw;
  }

  html.is-service{
    font-size:1.1851851852vw;
  }

  a[href*="tel:"]{
    pointer-events:none;
  }

  .archive-service-business-nav{
    margin-top:9.0625rem;
  }

  .archive-service-business-nav__inner{
    max-width:70.5rem;
  }

  .archive-service-intro{
    margin-top:7.8125rem;
  }

  .archive-service-intro__inner{
    max-width:63.4375rem;
  }

  .archive-service-intro__text{
    font-size:1.25rem;
  }

  .archive-service-page-title{
    gap:1.25rem;
    margin-top:4.875rem;
    max-width:78.875rem;
  }

  .archive-service-works{
    margin-top:7.1875rem;
    padding-bottom:10.625rem;
  }

  .archive-service-works__inner{
    max-width:66.25rem;
    padding-inline:3.75rem;
  }

  .archive-service-works__pagination{
    margin-top:4.375rem;
  }

  .archive-service-works__empty{
    font-size:1.125rem;
    letter-spacing:0.075em;
  }

  .company-access{
    margin-top:3.5625rem;
    padding-bottom:7.5rem;
  }

  .company-access__inner{
    max-width:66.125rem;
  }

  .company-access__map{
    margin-top:3.25rem;
  }

  .company-access__map-iframe{
    aspect-ratio:1364/524;
    max-height:32.75rem;
  }

  .company-heading__en{
    font-size:4.0625rem;
    letter-spacing:0.045em;
  }

  .company-heading__jp{
    font-size:1.875rem;
    letter-spacing:0.045em;
    margin-top:1.375rem;
  }

  .company-overview{
    padding-block:2.5625rem 3.4375rem;
  }

  .company-overview__inner{
    max-width:66.125rem;
  }

  .company-overview__table{
    margin-top:2.9375rem;
    padding-left:4.8125rem;
  }

  .company-overview__rule-accent{
    flex-basis:11.3125rem;
  }

  .company-overview__row{
    display:grid;
    grid-template-columns:13.125rem 1fr;
    padding-block:1.03125rem;
    padding-inline:0;
  }

  .company-overview__label{
    font-size:1.0625rem;
    letter-spacing:0.045em;
    padding-left:1.6875rem;
  }

  .company-overview__value{
    font-size:1.0625rem;
    letter-spacing:0.045em;
    margin-top:0;
  }

  .company-page-title{
    margin-top:4.8125rem;
    max-width:78.875rem;
  }

  .company-section{
    margin-top:5.4375rem;
  }

  .company-section__inner{
    max-width:66.125rem;
  }

  .company-section__rule{
    height:2px;
    margin-left:2.3125rem;
    padding-right:2.5rem;
  }

  .company-section__rule-accent{
    flex-basis:12.3125rem;
  }

  .company-section__content{
    padding-top:2.625rem;
  }

  .company-section__body{
    margin-top:2.9375rem;
    padding-inline:3.5625rem 5.625rem;
  }

  .company-section__text{
    font-size:1.0625rem;
    letter-spacing:0.045em;
    line-height:1.5;
  }

  .contact-form{
    margin-top:4.375rem;
    padding-bottom:10rem;
  }

  .contact-form__inner{
    max-width:53.75rem;
  }

  .contact-form__list{
    gap:1.875rem;
  }

  .contact-form__item{
    align-items:start;
    gap:1.25rem;
    grid-template-columns:13.1875rem 1fr;
  }

  .contact-form__label-wrap{
    min-height:2.75rem;
  }

  .contact-form__field--split{
    gap:0.9375rem;
  }

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

  .contact-form__submit{
    margin-top:3.75rem;
  }

  .contact-form__submit-btn{
    font-size:1.125rem;
  }

  .contact-form--confirm .contact-form__intro{
    font-size:1.0625rem;
  }

  .contact-form__confirm-value{
    font-size:1rem;
    padding-top:0.625rem;
  }

  .contact-form__confirm-submit{
    gap:1.875rem;
    margin-top:3.75rem;
  }

  .contact-form__back-btn{
    font-size:1.125rem;
  }

  .contact-intro{
    margin-top:5rem;
  }

  .contact-intro__inner{
    max-width:63.4375rem;
  }

  .contact-intro__text{
    font-size:1.125rem;
  }

  .contact-page-title{
    margin-top:4.875rem;
    max-width:78.875rem;
  }

  .contact-thanks{
    margin-top:5rem;
    padding-bottom:10rem;
  }

  .contact-thanks__inner{
    max-width:63.4375rem;
  }

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

  .contact-thanks__note{
    font-size:1.0625rem;
    margin-top:1.875rem;
  }

  .contact-thanks__btn{
    margin-top:3.75rem;
  }

  .news-list{
    margin-top:9.25rem;
    padding-bottom:11.25rem;
  }

  .news-list__inner{
    max-width:57.1875rem;
  }

  .news-list__rule-accent{
    flex-basis:11.3125rem;
  }

  .news-list__link{
    grid-column-gap:3.4375rem;
    -moz-column-gap:3.4375rem;
    align-items:center;
         column-gap:3.4375rem;
    display:grid;
    grid-template-columns:6.875rem 1fr;
    padding-block:1.01875rem;
    padding-inline:3.125rem 0.625rem;
  }

  .news-list__date{
    font-size:0.9375rem;
  }

  .news-list__title{
    font-size:1.0625rem;
    margin-top:0;
  }

  .news-list__pagination{
    margin-top:3.4375rem;
  }

  .news-list__empty{
    font-size:1.125rem;
    margin-top:2.5rem;
  }

  .news-page-title{
    margin-top:4.875rem;
    max-width:78.875rem;
  }

  .page-404-intro{
    margin-top:5rem;
    padding-bottom:10rem;
  }

  .page-404-intro__inner{
    max-width:63.4375rem;
  }

  .page-404-intro__text{
    font-size:1.25rem;
  }

  .page-404-intro__btn-wrap{
    margin-top:3.75rem;
  }

  .page-404-page-title{
    margin-top:4.875rem;
    max-width:78.875rem;
  }

  .service-business{
    margin-top:7.5rem;
  }

  .service-business__list{
    gap:7rem;
  }

  .service-business__item{
    aspect-ratio:1366/813;
  }

  .service-business__media{
    position:absolute;
    top:0;
    width:74.8169838946%;
  }

  .service-business__item:nth-child(odd) .service-business__media{
    left:0;
  }

  .service-business__item:nth-child(even) .service-business__media{
    right:0;
  }

  .service-business__panel{
    align-items:center;
    aspect-ratio:839/704;
    display:flex;
    margin-top:0;
    position:absolute;
    top:13.9092240117%;
    width:61.420204978%;
  }

  .service-business__item:nth-child(odd) .service-business__panel{
    right:0;
  }

  .service-business__item:nth-child(even) .service-business__panel{
    left:0;
  }

  .service-business__panel-inner{
    margin-inline:0;
    max-width:auto;
    padding-block:0.625rem 4.375rem;
    padding-inline:7.9856972586% 14.8986889154%;
    width:100%;
  }

  .service-business__item:nth-child(2) .service-business__panel-inner,
  .service-business__item:nth-child(4) .service-business__panel-inner,
  .service-business__item:nth-child(6) .service-business__panel-inner{
    box-sizing:content-box;
    margin-left:auto;
    max-width:48.75rem;
    padding-inline:13.9451728248% 7.747318236%;
  }

  .service-business__item:nth-child(2) .service-business__panel-inner .service-business__body,
  .service-business__item:nth-child(4) .service-business__panel-inner .service-business__body,
  .service-business__item:nth-child(6) .service-business__panel-inner .service-business__body{
    padding-left:0.625rem;
    padding-right:0.625rem;
  }

  .service-business__item:nth-child(1) .service-business__panel-inner,
  .service-business__item:nth-child(3) .service-business__panel-inner,
  .service-business__item:nth-child(5) .service-business__panel-inner{
    box-sizing:content-box;
    max-width:41.125rem;
  }

  .service-business__item:nth-child(2) .service-business__panel-inner{
    padding-right:7.25rem;
  }

  .service-business__item:nth-child(4) .service-business__panel-inner{
    padding-left:12.7532777116%;
    padding-right:0.3125rem;
  }

  .service-business__item:nth-child(4) .service-business__panel-inner .service-business__body{
    padding-right:5rem;
  }

  .service-business__item:nth-child(6) .service-business__panel-inner{
    padding-left:12.7532777116%;
    padding-right:0;
  }

  .service-business__heading{
    gap:0.9375rem;
  }

  .service-business__num{
    font-size:7.375rem;
  }

  .service-business__num::after{
    bottom:-0.625rem;
  }

  .service-business__title{
    font-size:3.375rem;
  }

  .service-business__body{
    font-size:clamp(8px, 1700 / var(--cq-ref) * 1cqi, 19px);
    gap:1.375rem;
    letter-spacing:0.015em;
    line-height:1.29;
    padding-inline:1.25rem 0;
  }

  .service-business__btn-wrap{
    margin-left:1.25rem;
    margin-top:4.5rem;
  }

  .btn.service-business__btn{
    padding:1.1875rem 1.25rem 1.1875rem 0.9375rem;
  }

  .service-business-nav{
    margin-top:14.875rem;
    padding-bottom:19.75rem;
  }

  .service-business-nav__inner{
    max-width:70.5rem;
    padding-inline:0;
  }

  .service-intro{
    margin-top:3.125rem;
  }

  .service-intro__inner{
    max-width:52.5rem;
  }

  .service-intro__heading{
    font-size:1.875rem;
  }

  .service-intro__body{
    margin-top:2.5rem;
  }

  .service-intro__text{
    font-size:1.25rem;
  }

  .service-intro__text + .service-intro__text{
    margin-top:2.0625rem;
  }

  .service-page-title{
    margin-top:4.9375rem;
    max-width:78.875rem;
  }

  .mv{
    height:calc(100vh - 5.9375rem);
    max-height:50rem;
    min-height:43.75rem;
    padding-inline:0.9375rem;
  }

  .mv__copy{
    bottom:calc(5000 / var(--cq-ref) * 1cqi);
    left:calc(5000 / var(--cq-ref) * 1cqi);
  }

  .mv__title{
    font-size:calc(4600 / var(--cq-ref) * 1cqi);
  }

  .mv__lead{
    font-size:calc(2100 / var(--cq-ref) * 1cqi);
    margin-left:calc(1700 / var(--cq-ref) * 1cqi);
    margin-top:calc(1000 / var(--cq-ref) * 1cqi);
  }

  .top-company{
    padding-block:7.375rem calc(20000 / var(--cq-ref) * 1cqi);
  }

  .top-company__inner{
    max-width:78.4375rem;
    position:relative;
  }

  .top-company__heading{
    margin-left:-0.375rem;
  }

  .top-company__main{
    align-items:flex-start;
    flex-direction:row;
    margin-top:0;
  }

  .top-company__media{
    flex:0 0 47.375rem;
    margin-left:-14.4375rem;
    margin-top:0.625rem;
    order:2;
  }

  .top-company__media-deco{
    bottom:max(-7cqw, -105px);
    left:13rem;
    right:calc(36.875rem - 50vw);
    top:max(-8cqw, -105px);
  }

  .top-company__content{
    flex:0 0 41.25rem;
    margin-top:3.375rem;
    order:1;
  }

  .top-company__title{
    font-size:3.375rem;
  }

  .top-company__body{
    max-width:26.1875rem;
  }

  .top-company__text{
    font-size:1.0625rem;
    letter-spacing:0.035em;
    line-height:1.41;
  }

  .top-company__brandmark{
    bottom:calc(-2000 / var(--cq-ref) * 1cqi);
    font-size:calc(16600 / var(--cq-ref) * 1cqi);
  }

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

  .top-news__inner{
    max-width:78.4375rem;
  }

  .top-news__list{
    margin-top:4.0625rem;
    max-width:43.4375rem;
  }

  .top-news__link{
    align-items:baseline;
    flex-direction:row;
    gap:3.125rem;
    padding:1rem 0.625rem;
  }

  .top-news__empty{
    font-size:1.125rem;
    margin-top:3.75rem;
  }

  .top-news__btn-wrap{
    margin-top:3.9375rem;
    max-width:43.4375rem;
  }

  .top-news__brandmark{
    background-position:right center;
    bottom:0.5rem;
    top:1.875rem;
    width:34.375rem;
  }

  .top-service{
    padding-block:4rem 6.125rem;
  }

  .top-service__inner{
    max-width:78.4375rem;
  }

  .top-service__list{
    gap:5.3125rem;
    margin-top:6.25rem;
  }

  .top-service__item{
    align-items:center;
    gap:4.875rem;
    grid-template-areas:"content img";
    grid-template-columns:31.25rem 1fr;
    margin-right:calc(50% - 50cqw);
    padding-left:2.6875rem;
  }

  .top-service__item:nth-child(even){
    gap:4.875rem;
    grid-template-areas:"img content";
    grid-template-columns:1fr 31.25rem;
    margin-left:calc(50% - 50cqw);
    margin-right:0;
    padding-left:0;
    padding-right:2.6875rem;
  }

  .top-service__media{
    margin-inline:0;
  }

  .top-service__content{
    justify-content:center;
    min-height:21.6875rem;
    padding-block:0;
    padding-left:3.125rem;
  }

  .top-service__content::before{
    width:2px;
  }

  .top-service__label-num{
    font-size:2.1875rem;
  }

  .top-service__item-title{
    font-size:2.3125rem;
    margin-top:1.3125rem;
  }

  .top-service__item-text{
    font-size:1.0625rem;
    letter-spacing:0.04em;
    margin-top:1.5625rem;
  }

  .top-service__btn-wrap{
    margin-top:3.625rem;
  }

  .top-works{
    padding-block:3.375rem 4.8125rem;
  }

  .top-works__inner{
    max-width:78.75rem;
  }

  .top-works__empty{
    font-size:1.125rem;
    max-width:78.75rem;
  }

  .top-works__slider{
    margin-top:5rem;
  }

  .top-works__item{
    width:auto;
  }

  .top-works__pagination{
    gap:2rem;
    margin-top:4rem;
  }

  .top-works__dot{
    height:0.8125rem;
    width:0.8125rem;
  }

  .top-works__btn-wrap{
    margin-top:5.0625rem;
  }

  .works-business{
    margin-top:6.625rem;
  }

  .works-business__inner{
    max-width:66.25rem;
  }

  .works-business__category + .works-business__category{
    margin-top:5.3125rem;
  }

  .works-business__header{
    min-height:4.125rem;
    padding-inline:3.6875rem 1.75rem;
  }

  .works-business__header-bar{
    height:2.5rem;
    width:0.5rem;
  }

  .works-business__header-title{
    font-size:1.875rem;
  }

  .works-business__list-wrap{
    margin-top:4.5625rem;
    padding-inline:1.875rem;
  }

  .works-business__btn-wrap{
    margin-top:4.625rem;
  }

  .works-business__empty{
    font-size:1.125rem;
  }

  .works-business-nav{
    margin-top:11.1875rem;
    padding-bottom:8.0625rem;
  }

  .works-business-nav__inner{
    max-width:70.5rem;
    padding-inline:0;
  }

  .works-intro{
    margin-top:3.375rem;
  }

  .works-intro__inner{
    max-width:63.4375rem;
  }

  .works-intro__title{
    font-size:1.875rem;
  }

  .works-intro__body{
    margin-top:2.3125rem;
  }

  .works-intro__text{
    font-size:1.25rem;
  }

  .works-page-title{
    margin-top:4.8125rem;
    max-width:78.875rem;
  }

  .js-company-section-heading .company-heading__en span,
  .js-company-section-heading .company-heading__jp{
    transform:translateX(20px);
  }

  .js-top-company .section-heading__en span,
  .js-top-company .section-heading__jp,
  .js-top-company .top-company__title,
  .js-top-company .top-company__body,
  .js-top-company .top-company__btn{
    transform:translateX(15px);
  }

  .js-top-company .top-company__title{
    transition-delay:0.7s;
  }

  .js-top-company .top-company__body{
    transition-delay:0.9s;
  }

  .js-top-company .top-company__btn{
    transition-delay:1s;
  }

  .js-top-company .top-company__media-img-wrap img{
    transform:scale(1.05);
    transition-delay:0.7s;
  }

  .js-top-service-item.is-active .top-service__content::before{
    transition-delay:0s;
  }

  .js-top-service-item.is-active .top-service__label{
    transition-delay:0.3s;
  }

  .js-top-service-item.is-active .top-service__item-title{
    transition-delay:0.3s;
  }

  .js-top-service-item.is-active .top-service__item-text{
    transition-delay:0.4s;
  }

  .js-top-service-item.is-active .top-service__btn-wrap{
    transition-delay:0.5s;
  }

  .js-top-service-item.is-active .top-service__media-img{
    transition-delay:0.6s;
  }

  .js-top-works .section-heading__en span,
  .js-top-works .section-heading__jp{
    transform:translateX(15px);
  }

  .js-service-business-item .service-business__panel-inner{
    transform:translateX(30px);
    transition-delay:0.5s;
  }

  .breadcrumb{
    padding-block:0.5625rem;
  }

  .breadcrumb__item{
    font-size:1.125rem;
  }

  .breadcrumb__item::after{
    margin-inline:0.75rem;
  }

  .btn{
    border:3px solid var(--btn-color);
    font-size:1.125rem;
    padding:1.0625rem 2.6875rem 1.0625rem 2.625rem;
  }

  .btn__arrow{
    width:5.375rem;
  }

  .btn--compact{
    min-width:18.875rem;
    padding:0.9375rem 1.375rem;
  }

  .btn--thin{
    border-width:2px;
  }

  .business-nav{
    -moz-column-gap:0.8125rem;
         column-gap:0.8125rem;
    grid-template-columns:repeat(3, 1fr);
    row-gap:2.375rem;
  }

  .business-nav__link{
    font-size:1.125rem;
    padding-block:0.875rem 1.25rem;
  }

  .drawer{
    display:none;
  }

  .footer{
    padding-block:4.375rem 1.375rem;
  }

  .footer__catch{
    margin-bottom:2.0625rem;
  }

  .footer__main{
    grid-column-gap:11rem;
    -moz-column-gap:11rem;
    grid-row-gap:1.875rem;
    align-items:center;
         column-gap:11rem;
    display:grid;
    grid-template-areas:"logo nav" "address nav";
    grid-template-columns:auto 1fr;
    margin-bottom:5.625rem;
    margin-inline:auto;
    max-width:58.125rem;
    row-gap:1.875rem;
  }

  .footer__logo-link{
    grid-area:logo;
    width:15.4375rem;
  }

  .footer__address{
    grid-area:address;
  }

  .footer__nav{
    grid-area:nav;
  }

  .footer__nav-list{
    -moz-column-gap:2.75rem;
         column-gap:2.75rem;
    grid-auto-flow:column;
    grid-template-rows:auto auto;
    row-gap:2.1875rem;
  }

  .footer__copyright{
    font-size:1rem;
  }

  .hamburger{
    display:none;
  }

  body{
    padding-top:5.9375rem;
  }

  .header{
    height:5.9375rem;
  }

  .header__inner{
    justify-content:flex-start;
    margin-inline:auto;
    max-width:76.875rem;
    padding-inline:0.9375rem;
  }

  .header__logo-link{
    width:12.25rem;
  }

  .header__wrap{
    align-items:center;
    display:flex;
    gap:2.375rem;
    margin-left:auto;
  }

  .header__nav{
    display:block;
  }

  .header__cta{
    align-items:center;
    display:flex;
    flex-shrink:0;
    gap:0.5rem;
  }

  .page-title.page-title--small .page-title__en{
    font-size:7.375rem;
  }

  .page-title.page-title--small .page-title__jp{
    font-size:1.875rem;
  }

  .page-title__en{
    font-size:7.375rem;
    letter-spacing:0.045em;
  }

  .page-title__en.page-title__en--ls-small{
    letter-spacing:-0.004em;
  }

  .page-title__jp{
    font-size:1.875rem;
    gap:1.25rem;
    margin-top:1.5625rem;
  }

  .page-title__line{
    height:1.5px;
    width:5rem;
  }

  .pagination .page-link,
  .pagination .current-page{
    font-size:1.125rem;
    width:1.875rem;
  }

  .post-card__title{
    font-size:1.0625rem;
  }

  .post-card-list{
    gap:5.25rem 2.75rem;
    grid-template-columns:repeat(3, 1fr);
  }

  .post-navigation{
    gap:3.75rem;
    margin-top:3.75rem;
    padding-block:1.25rem;
  }

  .post-navigation__prev,
  .post-navigation__next{
    font-size:1.0625rem;
    letter-spacing:0.045em;
  }

  .post-single{
    margin-top:9.375rem;
    padding-bottom:7.5rem;
  }

  .post-single__inner{
    max-width:54.375rem;
  }

  .post-single__header{
    gap:1.3125rem;
  }

  .post-single__date{
    font-size:1.125rem;
  }

  .post-single__title{
    font-size:1.375rem;
    padding-left:1.4375rem;
  }

  .post-single__mv{
    margin-top:2.5rem;
  }

  .post-single__content{
    font-size:1.0625rem;
    margin-top:2.5rem;
  }

  .post-single__content h2{
    font-size:1.5625rem;
  }

  .post-single__content h3{
    font-size:1.375rem;
  }

  .post-single__content h4{
    font-size:1.25rem;
  }

  .post-single__back{
    margin-top:3.75rem;
  }

  .post-single-related{
    padding-block:3.75rem 7.5rem;
  }

  .post-single-related__inner{
    max-width:54.375rem;
  }

  .post-single-related__heading{
    font-size:1.5625rem;
    letter-spacing:0.38em;
    margin-left:0;
    padding-left:1.25rem;
  }

  .post-single-related__list{
    gap:1rem;
    grid-template-columns:repeat(3, 1fr);
    margin-top:3.75rem;
    padding-inline:0;
  }

  .post-single-related__title{
    font-size:1.125rem;
    margin-top:1.4375rem;
  }

  .section-heading__en{
    font-size:7.375rem;
  }

  .section-heading__jp{
    font-size:1.875rem;
    margin-top:1.25rem;
  }
}

@media (min-width: 1230px){
  html{
    font-size:16px;
  }
}

@media (min-width: 1350px){
  html.is-service{
    font-size:16px;
  }
}

@media (max-width: 767px){
  :root{
    --padding-inline:0.9375rem;
  }

  .breadcrumb__inner{
    overflow-x:auto;
  }

  .breadcrumb__item{
    white-space:nowrap;
  }
}

@media (max-width: 390px){
  html{
    font-size:4.1025641026vw;
  }
}

@media (any-hover: hover){
  a:hover{
    cursor:pointer;
  }

  .contact-form__submit-btn:hover{
    background-color:var(--white);
    color:var(--gray-dark);
  }

  .contact-form__back-btn:hover{
    background-color:var(--gray-dark);
    color:var(--white);
  }

  .news-list__link:hover{
    color:var(--main-green);
  }

  .top-news__link:hover{
    opacity:0.7;
  }

  .top-works__link:hover .top-works__img{
    transform:scale(1.05);
  }

  .top-works__dot:hover{
    background-color:#009245;
  }

  .breadcrumb__link:hover{
    opacity:0.7;
  }

  .btn:hover{
    color:var(--btn-text-active);
  }

  .btn:hover::before{
    transform:scaleX(1);
    transform-origin:left;
  }

  .business-nav__link:hover{
    color:var(--main-green);
  }

  .business-nav__link:hover .business-nav__arrow{
    transform:translateX(0.25rem);
  }

  .drawer__link:hover{
    color:var(--main-green-deep);
    padding-left:0.625rem;
  }

  .drawer__link:hover::after{
    border-color:var(--main-green-deep);
    transform:translate(0.25rem, -50%) rotate(45deg);
  }

  .drawer__sub-link:hover{
    color:var(--main-green-deep);
    padding-left:0.625rem;
  }

  .drawer__sub-link:hover::before{
    transform:scale(1.4);
  }

  .drawer__tel:hover{
    opacity:0.7;
  }

  .footer__logo-link:hover{
    opacity:0.7;
  }

  .footer__tel:hover{
    opacity:0.7;
  }

  .footer__nav-link:hover .footer__nav-en{
    color:var(--white);
  }

  .hamburger:hover{
    background-color:rgba(30, 170, 57, 0.16);
  }

  .hamburger.is-open:hover{
    background-color:var(--main-green-deep);
  }

  .header__logo-link:hover{
    opacity:0.8;
  }

  .header__nav-link:hover{
    color:var(--main-green-deep);
  }

  .header__tel:hover{
    opacity:0.8;
  }

  .header__contact:hover{
    opacity:0.85;
  }

  .pagination .page-link:hover{
    background-color:#009245;
  }

  .post-card:hover .post-card__img{
    transform:scale(1.05);
  }

  .post-card:hover .post-card__title{
    color:var(--main-green);
  }

  .post-navigation__prev:hover,
  .post-navigation__next:hover{
    color:var(--main-green);
  }

  .post-single__content a:hover{
    opacity:0.7;
  }

  .post-single-related__link:hover .post-single-related__img{
    transform:scale(1.05);
  }

  .post-single-related__link:hover .post-single-related__title{
    color:var(--main-green);
  }
}