@charset "utf-8";
/* *************************************
header
************************************* */
.header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
  height: calc(80 * var(--rem));
  background-color: var(--white);
}

.header.is-active {
  box-shadow: 0px 5px 10px 0px rgb(0 0 0 / 0.2);
}

.header__inner {
  padding-inline: calc(20 * var(--rem)) calc(10 * var(--rem));
  height: inherit;
}

.header__container {
  display: flex;
  align-items: center;
  height: inherit;
}

.header__logo {
  width: calc(200 * var(--rem));
  @media (width < 768px) {
    width: calc(160 * var(--rem));
  }
}

.header__hamburger {
  display: none;
  margin-inline-start: auto;
  @media (width < 768px) {
    display: block;
  }
}

.header__modal {
  display: contents;
  @media (width < 768px) {
    display: block;
    position: fixed;
    top: calc(80 * var(--rem));
    left: 0;
    right: 0;
    z-index: calc(infinity);
    width: 100%;
    height: 100dvh;
    background-color: var(--white);
    padding-inline: calc(20 * var(--rem));
    overflow: scroll;
    visibility: hidden;
    opacity: 0;
    transition:
      visibility 0.3s ease,
      opacity 0.3s ease;
  }
}

.header__modal.is-open {
  visibility: visible;
  opacity: 1;
}

.header__modal-container {
  display: contents;
  @media (width < 768px) {
    display: block;
    min-height: calc(750 * var(--rem));
  }
}

.header__nav {
  margin-inline-start: auto;
  display: flex;
  align-items: center;
  gap: calc(24 * var(--rem));
  @media (width < 768px) {
    flex-direction: column-reverse;
    margin-block-start: calc(40 * var(--rem));
    gap: calc(40 * var(--rem));
    width: min(100%, calc(560 * var(--rem)));
    margin-inline: auto;
  }
}

.header__tel {
  display: none;
  @media (width < 768px) {
    display: block;
  }
}

.header__tel a {
}

.header__tel-num {
  font-size: calc(22 * var(--rem));
  text-transform: uppercase;
  line-height: 1;
  font-family: var(--roboto);
  text-align: center;
}

.header__tel-num span {
  font-size: calc(40 * var(--rem));
  font-weight: bold;
  line-height: 1;
  font-family: var(--roboto);
}

.header__tel-time {
  font-size: calc(18 * var(--rem));
  text-align: center;
}

.header__list {
  display: flex;
  align-items: center;
  @media (width < 768px) {
    flex-direction: column;
    width: 100%;
    align-items: revert;
  }
}

.header__list li {
}

.header__list li a {
  display: block;
  padding: calc(20 * var(--rem)) calc(16 * var(--rem));
  text-align: center;
  font-size: calc(18 * var(--rem));
  line-height: 1;
  @media (width < 768px) {
    text-align: left;
    border-bottom: 1px dashed var(--green);
    padding-block: calc(16 * var(--rem));
  }
}

.header__list li:last-child {
  margin-inline-start: calc(24 * var(--rem));
  @media (width < 768px) {
    margin-inline-start: 0;
    margin-block-start: calc(80 * var(--rem));
  }
}

.header__list li:last-child a {
  background-color: var(--yellow);
  color: var(--white);
  width: 100%;
  padding: calc(16 * var(--rem)) calc(40 * var(--rem));
  @media (width < 768px) {
    text-align: center;
    border-bottom: none;
    padding-block: calc(24 * var(--rem));
  }
}

.header__to-top {
  position: fixed;
  bottom: calc(10 * var(--rem));
  right: calc(10 * var(--rem));
  opacity: 0;
  visibility: hidden;
  transition:
    visibility 0.3s ease,
    opacity 0.3s ease;
}

.header.is-active .header__to-top {
  opacity: 1;
  visibility: visible;
}

/* *************************************
footer
************************************* */
.footer {
  background-color: #f4f4f6;
  padding-block-start: calc(50 * var(--rem));
}

.footer__inner {
  padding-inline: calc(75 * var(--rem));
  @media (width < 768px) {
    padding-inline: 20px;
  }
}

.footer__container {
  display: flex;
  @media (width < 768px) {
    display: grid;
    gap: calc(24 * var(--rem));
  }
}

.footer__left {
  @media (width < 768px) {
    display: contents;
  }
}

.footer__logo {
  width: calc(300 * var(--rem));
  @media (width < 768px) {
    order: 1;
    width: calc(200 * var(--rem));
    margin-inline: auto;
  }
}

.footer__meta {
  margin-block-start: calc(13 * var(--rem));
  display: grid;
  gap: calc(12 * var(--rem));
  @media (width < 768px) {
    order: 2;
  }
}

.footer__address,
.footer__tel,
.footer__fax {
  font-size: calc(14 * var(--rem));
  line-height: 1;
  text-transform: uppercase;
  @media (width < 768px) {
    text-align: center;
  }
}

.footer__sns {
  margin-block-start: calc(34 * var(--rem));
  @media (width < 768px) {
    order: 4;
    text-align: center;
    margin: 0;
  }
}

.footer__privacy {
  margin-block-start: calc(20 * var(--rem));
  @media (width < 768px) {
    order: 6;
    text-align: center;
  }
}

.footer__right {
  margin-inline-start: auto;
  margin-block-start: calc(4 * var(--rem));
  display: inline-grid;
  grid-template-columns: repeat(3, 1fr);
  gap: calc(25 * var(--rem));
  @media (width < 768px) {
    grid-template-columns: repeat(2, 1fr);
    gap: calc(14 * var(--rem));
    order: 3;
    width: min(100%, calc(560 * var(--rem)));
    margin-inline: auto;
  }
}

.footer__list-block {
  display: flex;
  flex-direction: column;
}

.footer__list-title[date-modi='news'] {
  margin-block-start: calc(20 * var(--rem));
}

.footer__list {
  margin-block-start: calc(20 * var(--rem));
}

.footer__item[date-modi='contact'] {
  margin-block-start: calc(8 * var(--rem));
}

.footer__item[date-modi='contact'] a {
  @media (width < 768px) {
    font-size: calc(14 * var(--rem));
  }
}

.footer__links-pc {
  margin-block-start: auto;
  display: grid;
  gap: calc(8 * var(--rem));
  @media (width < 768px) {
    display: none;
  }
}

.footer__links-sp {
  display: none;
  @media (width < 768px) {
    display: grid;
    gap: calc(8 * var(--rem));
    order: 5;
  }
}

.footer__links-sp-item {
  @media (width < 768px) {
    text-align: center;
  }
}

.footer__copy {
  margin-block-start: calc(40 * var(--rem));
  background-color: var(--footer-bg);
  text-align: center;
  padding-block: calc(20 * var(--rem));
  color: var(--white);
  font-size: calc(12 * var(--rem));
  @media (width < 768px) {
    margin-block-start: calc(16 * var(--rem));
  }
}

/* *************************************
contact
************************************* */
.contact {
  padding-block: calc(80 * var(--rem));
}

.contact__inner.inner {
  width: min(100%, calc(850 * var(--rem)));
}

.contact__list {
  display: grid;
  gap: calc(16 * var(--rem));
  background-color: var(--green-bg);
  padding: calc(20 * var(--rem)) calc(40 * var(--rem));
  @media (width < 768px) {
  padding-inline: calc(20 * var(--rem));
  }
}

.contact__item {
  position: relative;
  padding-inline-start: calc(16 * var(--rem));
  line-height: 1.8;
}

.contact__item::before {
  content: '';
  display: block;
  position: absolute;
  width: 0.2lh;
  aspect-ratio: 1;
  border-radius: 100vmax;
  top: calc(12 * var(--rem));
  left: 0;
  background-color: var(--green);
}

.contact__form {
  margin-block-start: calc(80 * var(--rem));
}

/* *************************************
thanks & page-404
************************************* */
.thanks,
.page-404 {
  margin-block-start: calc(80 * var(--rem));
  padding-block-end: calc(80 * var(--rem));
  @media (width < 768px) {
  }
}

.thanks__title,
.page-404__title {
  font-size: calc(30 * var(--rem));
  text-align: center;
  @media (width < 768px) {
    font-size: calc(22 * var(--rem));
  }
}

.thanks__text,
.page-404__text {
  font-size: calc(18 * var(--rem));
  margin-block-start: calc(40 * var(--rem));
  text-align: center;
  line-height: 1.8;
  @media (width < 768px) {
    font-size: calc(16 * var(--rem));
  }
}

.thanks__btn,
.page-404__btn {
  margin-block-start: calc(40 * var(--rem));
  text-align: center;
}

/* *************************************
mv
************************************* */
.mv {
  margin-block-start: calc(80 * var(--rem));
  height: calc(100vh - calc(80 * var(--rem)));
  @media (width < 768px) {
    height: calc(70vh - calc(80 * var(--rem)));
  }
}

/* *************************************
contact-section
************************************* */
.contact-section {
  background: url(../../library/images/common/contact-bg.webp) no-repeat center / cover;
  padding-block: calc(68 * var(--rem)) calc(82 * var(--rem));
}

.contact-section__title {
  width: fit-content;
  margin-inline: auto;
}

.contact-section__lead {
  text-align: center;
  font-size: calc(18 * var(--rem));
  margin-block-start: calc(40 * var(--rem));
  line-height: 1.8;
  @media (width < 768px) {
    font-size: calc(16 * var(--rem));
  }
}

.contact-section__wrap {
  margin-block-start: calc(45 * var(--rem));
  padding-block-start: calc(40 * var(--rem));
  border-top: 1px solid var(--border);
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: calc(40 * var(--rem));
  align-items: center;
  width: fit-content;
  margin-inline: auto;
  @media (width < 768px) {
    grid-template-columns: 1fr;
  }
}

.contact-section[data-section='recruit'] .contact-section__wrap {
  grid-template-columns: 1fr;
}

.contact-section__tel a {
  display: block;
}

.contact-section__tel-num {
  font-size: calc(28 * var(--rem));
  text-transform: uppercase;
  line-height: 1;
  font-family: var(--roboto);
  text-align: center;
  @media (width < 768px) {
    font-size: calc(22 * var(--rem));
  }
}

.contact-section__tel-num span {
  font-size: calc(55 * var(--rem));
  font-weight: bold;
  line-height: 1;
  font-family: var(--roboto);
  @media (width < 768px) {
    font-size: calc(40 * var(--rem));
  }
}

.contact-section__tel-time {
  font-size: calc(18 * var(--rem));
  text-align: center;
}

.contact-section__mail {
  @media (width < 768px) {
    text-align: center;
  }
}

/* *************************************
top-news
************************************* */
.top-news {
  margin-block-start: calc(65 * var(--rem));
  padding-block-end: calc(80 * var(--rem));
}

.top-news__inner.inner {
  width: min(100%, 1165px);
}

.top-news__container {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: calc(75 * var(--rem));
  @media (width < 768px) {
    grid-template-columns: 1fr;
    gap: 0;
  }
}

.top-news__left {
  margin-block-start: calc(25 * var(--rem));
  @media (width < 768px) {
    display: contents;
  }
}

.top-news__title {
  @media (width < 768px) {
    order: 1;
    width: fit-content;
    margin-inline: auto;
  }
}

.top-news__btn {
  margin-block-start: calc(33 * var(--rem));
  @media (width < 768px) {
    order: 3;
    margin-block-start: 0;
    margin-block-start: calc(40 * var(--rem));
    text-align: center;
  }
}

.top-news__right {
  @media (width < 768px) {
    order: 2;
  }
}

/* *************************************
top-link
************************************* */
.top-link {
  margin-block-start: calc(4 * var(--rem));
}

.top-link__container {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  min-height: calc(495 * var(--rem));
  gap: calc(4 * var(--rem));
  @media (width < 768px) {
    grid-template-columns: 1fr;
  }
}

.top-link__left {
  display: grid;
  place-content: center;
  position: relative;
  padding: calc(20 * var(--rem));
  background: url(../../library/images/top/csr.webp) no-repeat center / cover;
  height: inherit;
  @media (width < 768px) {
    padding-block: calc(48 * var(--rem));
  }
}

.top-link__left::before {
  content: '';
  display: block;
  position: absolute;
  inset: 0;
  background-color: var(--green-tra);
}

.top-link__left-title {
  position: relative;
  z-index: 1;
  width: fit-content;
  margin-inline: auto;
}

.top-link__left-text {
  position: relative;
  z-index: 1;
  color: var(--white);
  width: min(100%, calc(350 * var(--rem)));
  margin-inline: auto;
  margin-block-start: calc(24 * var(--rem));
  font-size: calc(18 * var(--rem));
  line-height: 2;
}

.top-link__right {
  display: grid;
  place-content: center;
  position: relative;
  padding: calc(20 * var(--rem));
  background: url(../../library/images/top/link_right.webp) no-repeat center / cover;
  height: inherit;
  @media (width < 768px) {
    padding-block: calc(48 * var(--rem));
  }
}

.top-link__right::before {
  content: '';
  display: block;
  position: absolute;
  inset: 0;
  background-color: #00000080;
}

.top-link__right__title {
  position: relative;
  z-index: 1;
  text-align: center;
}

.top-link__right-img {
  width: calc(420 * var(--rem));
  position: relative;
  z-index: 1;
  margin-block-start: calc(24 * var(--rem));
  @media (width < 768px) {
    width: min(100%, calc(250 * var(--rem)));
    margin-inline: auto;
  }
}

.top-link__right-img img {
  aspect-ratio: 605 / 263;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.top-link__right-text {
  position: relative;
  z-index: 1;
  color: var(--white);
  width: min(100%, calc(350 * var(--rem)));
  margin-inline: auto;
  margin-block-start: calc(24 * var(--rem));
  font-size: calc(18 * var(--rem));
  line-height: 2;
}

/* *************************************
top-recruit
************************************* */
.top-recruit {
  padding-block: calc(105 * var(--rem)) calc(513 * var(--rem));
  overflow-x: clip;
  margin-block-start: calc(100 * var(--rem));
  background: url(../../library/images/top/recruit_background.webp) no-repeat center / cover;
  @media (width < 768px) {
    padding-block: calc(100 * var(--rem));
    min-height: calc(1595 * var(--rem));
  }
}

.top-recruit__inner.inner {
}

.top-recruit__container {
  display: grid;
  grid-template-columns: 1fr 1.5fr;
  padding-inline-start: calc(76 * var(--rem));
  @media (width < 768px) {
    grid-template-columns: 1fr;
    grid-template-rows: repeat(4, auto);
    padding-inline-start: 0;
  }
}

.top-recruit__wrap {
  position: relative;
}

.top-recruit__wrap::before {
  content: '';
  display: block;
  width: calc(865 * var(--rem));
  aspect-ratio: 1;
  background-color: var(--yellow);
  aspect-ratio: 1 / 0.866;
  clip-path: polygon(25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 0% 50%);
  position: absolute;
  rotate: 90deg;
  top: calc(-111 * var(--rem));
  left: calc(-240 * var(--rem));
  @media (width < 768px) {
    width: calc(360 * var(--rem));
    top: 0;
    left: calc(-40 * var(--rem));
  }
}

.top-recruit__title-en {
  @media (width < 768px) {
    order: 1;
  }
}

.top-recruit__title-jp {
  margin-block-start: calc(23 * var(--rem));
  font-size: calc(45 * var(--rem));
  font-weight: bold;
  font-family: var(--noto-serif);
  position: relative;
  z-index: 1;
  @media (width < 768px) {
    font-size: calc(35 * var(--rem));
    order: 2;
  }
}

.top-recruit__text {
  margin-block-start: calc(34 * var(--rem));
  font-size: calc(20 * var(--rem));
  position: relative;
  z-index: 1;
  @media (width < 768px) {
    font-size: calc(18 * var(--rem));
    order: 3;
    background-color: #ffffff60;
    padding: calc(8 * var(--rem)) calc(16 * var(--rem));
  }
}

.top-recruit__btn {
  margin-block-start: calc(57 * var(--rem));
  position: relative;
  z-index: 1;
  @media (width < 768px) {
    order: 4;
    width: fit-content;
    margin-inline: auto;
    /* margin-block-start: calc(24 * var(--rem)); */
  }
}

.top-recruit__images {
  position: relative;
  @media (width < 768px) {
    margin-block-start: calc(40 * var(--rem));
    order: 5;
    position: static;
    width: fit-content;
    margin-inline: auto;
  }
}

.top-recruit__images-item {
  position: absolute;
  top: calc(-75 * var(--rem));
  left: calc(35 * var(--rem));
  @media (width < 768px) {
    position: static;
  }
}

.top-recruit__img-wrap {
  position: relative;
}

.top-recruit__img-wrap span {
  content: '';
  display: block;
  width: calc(256 * var(--rem));
  height: auto;
  aspect-ratio: 0.866 / 1;
  clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
  background-color: var(--yellow);
  rotate: 14deg;
  position: absolute;
  top: calc(43 * var(--rem));
  left: calc(27 * var(--rem));
  @media (width < 768px) {
    width: calc(174 * var(--rem));
  }
}

.top-recruit__img {
  width: calc(269 * var(--rem));
  height: calc(310 * var(--rem));
  aspect-ratio: 0.866 / 1;
  clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
  @media (width < 768px) {
    width: calc(200 * var(--rem));
    height: auto;
  }
}

.top-recruit__img img {
  aspect-ratio: 1;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* 2つ目 */
.top-recruit__images-item:nth-child(2) {
  top: calc(-118 * var(--rem));
  left: calc(362 * var(--rem));
  z-index: 1;
  @media (width < 768px) {
    margin-inline-start: auto;
  }

  .top-recruit__img-wrap span {
    width: calc(306 * var(--rem));
    top: calc(-40 * var(--rem));
    left: calc(22 * var(--rem));
    @media (width < 768px) {
      top: calc(-17 * var(--rem));
    }
  }

  .top-recruit__img {
    width: calc(316 * var(--rem));
    height: revert;
    @media (width < 768px) {
    }
  }
}

/* 3つ目 */
.top-recruit__images-item:nth-child(3) {
  top: calc(269 * var(--rem));
  left: calc(-8 * var(--rem));
  z-index: 1;
  @media (width < 768px) {
  }

  .top-recruit__img-wrap span {
    width: calc(307 * var(--rem));
    top: calc(59 * var(--rem));
    left: calc(2 * var(--rem));
    @media (width < 768px) {
      width: calc(200 * var(--rem));
      top: calc(12 * var(--rem));
    }
  }

  .top-recruit__img {
    width: calc(340 * var(--rem));
    height: revert;

    img {
      object-position: 31% 50%;
    }

    @media (width < 768px) {
      width: calc(200 * var(--rem));
    }
  }
}

/* 4つ目 */
.top-recruit__images-item:nth-child(4) {
  top: calc(131 * var(--rem));
  left: calc(290 * var(--rem));
  @media (width < 768px) {
    margin-inline-start: auto;
    width: fit-content;
  }

  .top-recruit__img-wrap span {
    width: calc(503 * var(--rem));
    top: calc(59 * var(--rem));
    left: calc(40 * var(--rem));
    @media (width < 768px) {
      width: calc(226 * var(--rem));
    }
  }

  .top-recruit__img {
    width: calc(532 * var(--rem));
    height: revert;
    @media (width < 768px) {
      width: calc(260 * var(--rem));
    }
  }
}

/* *************************************
top-works
************************************* */
.top-works {
  margin-block-start: calc(90 * var(--rem));
}

.top-works__inner.inner {
  max-width: calc(1300 * var(--rem));
}

.top-works__title {
  margin-inline-start: calc(72 * var(--rem));
  @media (width < 768px) {
    margin-inline-start: 0;
  }
}

.top-works__btn {
  text-align: right;
  margin-block-start: calc(-52 * var(--rem));
  @media (width < 768px) {
    margin-block-start: calc(24 * var(--rem));
    padding-inline: calc(20 * var(--rem));
  }
}

.top-works__btn[data-modi='pc'] {
  @media (width < 768px) {
    display: none;
  }
}
.top-works__btn[data-modi='sp'] {
  display: none;
  @media (width < 768px) {
    display: block;
  }
}

.top-works__slider {
  margin-block-start: calc(15 * var(--rem));
}

/* *************************************
top-company
************************************* */
.top-company {
  padding-block: calc(57 * var(--rem)) calc(85 * var(--rem));
  background: url(../../library/images/top/company_background.webp) no-repeat center / cover;
  @media (width < 768px) {
    background-position: 84% 50%;
  }
}

.top-company__container {
  background-color: #ffffff90;
  width: min(100%, calc(580 * var(--rem)));
  padding: calc(70 * var(--rem)) calc(85 * var(--rem));
  @media (width < 768px) {
    width: 100%;
    padding: calc(24 * var(--rem));
  }
}

.top-company_text1 {
  font-size: calc(44 * var(--rem));
  font-weight: 500;
  font-family: var(--noto-serif);
  margin-block-start: calc(14 * var(--rem));
  @media (width < 768px) {
    font-size: calc(30 * var(--rem));
  }
}

.top-company_text2 {
  font-size: calc(20 * var(--rem));
  margin-block-start: calc(35 * var(--rem));
  line-height: 1.8;
  @media (width < 768px) {
    font-size: calc(18 * var(--rem));
  }
}

.top-company__btn {
  margin-block-start: calc(44 * var(--rem));
  @media (width < 768px) {
    text-align: center;
  }
}

/* *************************************
.top-service
************************************* */
.top-service {
  padding-block: calc(95 * var(--rem)) calc(95 * var(--rem));
  min-height: calc(840 * var(--rem));
  background: url(../../library/images/top/top-service-bg.webp) no-repeat center / cover;
  position: relative;
  @media (width < 768px) {
    padding-block-end: calc(95 * var(--rem));
  }
}

.top-service::before {
  content: '';
  display: block;
  position: absolute;
  inset: 0;
  background-color: var(--green-tra);
}

.top-service__inner.inner {
  position: relative;
}

.top-service__inner.inner::after {
  content: '';
  display: block;
  width: calc(370 * var(--rem));
  aspect-ratio: 115/150;
  background: url(../../library/images/top/chizu.svg) no-repeat center / contain;
  position: absolute;
  top: calc(-95 * var(--rem));
  right: 3%;
  @media (width < 768px) {
    width: clamp(11.25rem, 6.479rem + 20.36vw, 16.25rem);
  }
}

.top-service__container {
  display: grid;
  grid-template-columns: 1fr 1.5fr;
  gap: calc(80 * var(--rem));
  position: relative;
  @media (width < 768px) {
    grid-template-columns: 1fr;
    gap: calc(40 * var(--rem));
  }
}

.top-service__images {
  position: relative;
  @media (width < 768px) {
    order: 2;
    width: min(100%, calc(335 * var(--rem)));
    margin-inline: auto;
  }
}

/* 1 */
.top-service__images-item {
  position: absolute;
  top: calc(-68 * var(--rem));
  left: calc(230 * var(--rem));
  @media (width < 768px) {
    position: static;
  }
}

.top-service__img-wrap {
  position: relative;
}

.top-service__img {
  width: calc(263 * var(--rem));
  height: 100%;
  aspect-ratio: 0.866 / 1;
  clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
  @media (width < 768px) {
  }
}

/* 1 */
.top-service__images-item:nth-child(1) {
  z-index: 2;
  .top-service__img {
    @media (width < 768px) {
      position: relative;
      z-index: 1;
    }
  }
}

/* 2 */
.top-service__images-item:nth-child(2) {
  top: calc(33 * var(--rem));
  left: calc(-75 * var(--rem));

  .top-service__img-wrap span {
    content: '';
    display: block;
    width: calc(256 * var(--rem));
    height: auto;
    aspect-ratio: 0.866 / 1;
    clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
    background-color: var(--green-tra);
    rotate: 0deg;
    position: absolute;
    top: calc(78 * var(--rem));
    left: calc(277 * var(--rem));
    @media (width < 768px) {
      top: calc(-79 * var(--rem));
      left: calc(91 * var(--rem));
    }
  }

  .top-service__img {
    width: calc(440 * var(--rem));
    position: relative;
    z-index: 3;
    @media (width < 768px) {
      width: calc(263 * var(--rem));
      margin-inline-start: auto;
    }
  }
}

/* 3 */
.top-service__images-item:nth-child(3) {
  top: calc(415 * var(--rem));
  left: calc(232 * var(--rem));

  .top-service__img-wrap span {
    content: '';
    display: block;
    width: calc(310 * var(--rem));
    height: auto;
    aspect-ratio: 0.866 / 1;
    clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
    background-color: var(--green-tra);
    rotate: 0deg;
    position: absolute;
    top: calc(-57 * var(--rem));
    left: calc(-144 * var(--rem));
    @media (width < 768px) {
      left: calc(-80 * var(--rem));
    }
  }

  .top-service__img {
    width: calc(260 * var(--rem));
    @media (width < 768px) {
      width: calc(263 * var(--rem));
    }
  }
}

.top-service__img img {
  aspect-ratio: 1;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.top-service__images-item:nth-child(1) img {
  object-position: 10% 50%;
  @media (width < 768px) {
    object-position: 22% 50%;
  }
}

.top-service__images-item:nth-child(2) img {
  object-position: 55% 50%;
}

.top-service__images-item:nth-child(3) img {
  object-position: 21% 50%;
}

.top-service__wrap {
  position: relative;
  z-index: 10;
  @media (width < 768px) {
    order: 1;
  }
}

.top-service_title {
  margin-inline-start: calc(10 * var(--rem));
  position: relative;
  z-index: 100;
}

.top-service_text1 {
  font-size: calc(44 * var(--rem));
  font-weight: 500;
  font-family: var(--noto-serif);
  margin-block-start: calc(14 * var(--rem));
  color: var(--white);
  @media (width < 768px) {
    font-size: calc(30 * var(--rem));
  }
}

.top-service_text2 {
  font-size: calc(20 * var(--rem));
  margin-block-start: calc(26 * var(--rem));
  line-height: 1.8;
  color: var(--white);
  width: min(100%, calc(400 * var(--rem)));
  @media (width < 768px) {
    font-size: calc(18 * var(--rem));
  }
}

.top-service__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: calc(15 * var(--rem)) calc(10 * var(--rem));
  width: min(100%, calc(695 * var(--rem)));
  margin-block-start: calc(40 * var(--rem));
  @media (width < 768px) {
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 220px), 1fr));
  }
}

.top-service__item a {
  display: block;
  border: 2px solid var(--white);
  padding: calc(11 * var(--rem)) calc(10 * var(--rem));
  text-align: center;
  color: var(--white);
  @media (width < 768px) {
    padding-block: calc(16 * var(--rem));
  }
}

.top-service__btn {
  margin-block-start: calc(60 * var(--rem));
  @media (width < 768px) {
    text-align: center;
  }
}

/* *************************************
top-image
************************************* */
.top-image {
}

.top-image__img {
  @media (width < 768px) {
    max-height: calc(400 * var(--rem));
    overflow: clip;
  }
}

.top-image__img img {
  aspect-ratio: 727 /205;
  width: 100%;
  height: 100%;
  object-fit: cover;
  @media (width < 768px) {
    aspect-ratio: 3/2;
  }
}

/* *************************************
post-single
************************************* */
.post-single {
  margin-block-start: calc(80 * var(--rem));
  padding-block-end: calc(80 * var(--rem));
}

.post-single__inner.inner {
  width: min(100%, calc(850 * var(--rem)));
}

.post-single__time {
  display: block;
  text-align: center;
  color: var(--yellow);
  font-weight: bold;
  font-size: calc(20 * var(--rem));
}

.post-single__title {
  width: fit-content;
  margin-inline: auto;
  border-bottom: 2px solid var(--green);
  padding-inline: calc(16 * var(--rem));
  padding-block-end: calc(4 * var(--rem));
}

.post-single__contents {
  margin-block-start: calc(40 * var(--rem));
}

.post-single__btn {
  text-align: center;
  margin-block-start: calc(80 * var(--rem));
}

/* *************************************
post-archive
************************************* */
.post-archive {
  margin-block-start: calc(80 * var(--rem));
  padding-block-end: calc(80 * var(--rem));
}

.post-archive__inner.inner {
  width: min(100%, calc(850 * var(--rem)));
}

.post-archive__cat-list {
  display: flex;
  flex-wrap: wrap;
  gap: calc(16 * var(--rem)) calc(24 * var(--rem));
  justify-content: center;
  width: min(100%, calc(850 * var(--rem)));
  margin-inline: auto;
  @media (width < 768px) {
    gap: calc(8 * var(--rem)) calc(10 * var(--rem));
  }
}

.post-archive__cat-item a {
  background-color: var(--green);
  display: block;
  padding: calc(4 * var(--rem)) calc(8 * var(--rem));
  color: var(--white);
}

.post-archive__cat-item a.current {
  background-color: var(--yellow);
  color: var(--text);
}

.post-archive__list {
  margin-block-start: calc(40 * var(--rem));
}

.post-archive__pagination {
  margin-block-start: calc(80 * var(--rem));
}

/* *************************************
vision
************************************* */
.vision {
  margin-block-start: calc(40 * var(--rem));
  background: url(../../library/images/company/vision-bg.webp) no-repeat center / cover;
  min-height: calc(500 * var(--rem));
  position: relative;
  display: grid;
  place-content: center;
  @media (width < 768px) {
    margin-block-start: calc(80 * var(--rem));
  }
}

.vision::before {
  content: '';
  display: block;
  position: absolute;
  inset: 0;
  background-color: #00000040;
}

.vision__wrap {
  background-color: #ffffff90;
  padding: calc(24 * var(--rem)) calc(32 * var(--rem));
  position: relative;
  z-index: 1;
}

.vision__title {
  text-align: center;
  position: relative;
  z-index: 1;
}

.vision__text {
  margin-block-start: calc(40 * var(--rem));
  text-align: center;
  font-size: calc(20 * var(--rem));
  font-weight: 500;
  line-height: 1.8;
  position: relative;
  z-index: 1;
  @media (width < 768px) {
    font-size: calc(16 * var(--rem));
    text-align: left;
  }
}

/* *************************************
business-activities
************************************* */
.business-activities {
  background-color: var(--gray-bg);
  padding-block: calc(104 * var(--rem));
  @media (width < 768px) {
    padding-block: calc(80 * var(--rem));
  }
}

.business-activities__title {
  text-align: center;
}

.business-activities__container {
  margin-block-start: calc(80 * var(--rem));
  display: grid;
  grid-template-columns: 1.5fr 1fr;
  gap: calc(64 * var(--rem));
  margin-inline-start: calc(50% - 50vw);
  align-items: center;
  @media (width < 768px) {
    grid-template-columns: 1fr;
    margin-inline-start: 0;
  }
}

.business-activities__img {
  @media (width < 768px) {
    width: 100vw;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
  }
}

.business-activities__img img {
  aspect-ratio: 4 / 3;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.business-activities__text p {
  font-size: calc(20 * var(--rem));
  line-height: 1.8;
  margin-block-end: 1em;
  @media (width < 768px) {
    font-size: calc(16 * var(--rem));
  }
}

/* *************************************
company-link
************************************* */
.company-link {
}

.company-link__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  @media (width < 768px) {
    grid-template-columns: 1fr;
  }
}

.company-link__item a {
  position: relative;
  display: block;
}

.company-link__item a::before {
  content: '';
  display: block;
  position: absolute;
  inset: 0;
  background-color: #00000080;
}

.company-link__img img {
  aspect-ratio: 4/ 3;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.company-link__title {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  text-align: center;
}

/* *************************************
greeting
************************************* */
.greeting {
  margin-block-start: calc(104 * var(--rem));
  @media (width < 768px) {
    margin-block-start: calc(80 * var(--rem));
  }
}

.greeting__title {
  text-align: center;
}

.greeting__container {
  margin-block-start: calc(104 * var(--rem));
  @media (width < 768px) {
    margin-block-start: calc(80 * var(--rem));
  }
}

/* *************************************
overview
************************************* */
.overview {
  padding-block: calc(104 * var(--rem));
  background-image: linear-gradient(0deg, transparent calc(100% - 1px), #f0f0f0 calc(100% - 1px)), linear-gradient(90deg, transparent calc(100% - 1px), #f0f0f0 calc(100% - 1px));
  background-size: 32px 32px;
  background-repeat: repeat;
  background-position: center center;
  overflow-x: hidden;
  scroll-behavior: smooth;

  @media (width < 768px) {
    padding-block: calc(80 * var(--rem));
  }
}

.overview__inner.inner {
  width: min(100%, calc(1050 * var(--rem)));
}

.overview__title {
  text-align: center;
}

.overview__contents1 {
  margin-block-start: calc(80 * var(--rem));
}

/* *************************************
sales-office
************************************* */
.sales-office {
  margin-block-start: calc(104 * var(--rem));
  @media (width < 768px) {
    margin-block-start: calc(80 * var(--rem));
  }
}

.sales-office__inner.inner {
  width: min(100%, calc(1050 * var(--rem)));
}

.sales-office__title {
  text-align: center;
}

.sales-office__table-block {
  margin-block-start: calc(80 * var(--rem));
}

.sales-office__table {
  margin-block-start: calc(16 * var(--rem));
}

/* *************************************
history
************************************* */
.history {
  padding-block: calc(104 * var(--rem));
  margin-block-start: calc(104 * var(--rem));
  @media (width < 768px) {
    padding-block: calc(80 * var(--rem));
    margin-block-start: calc(80 * var(--rem));
  }
}

.history__inner.inner {
  width: min(100%, calc(1050 * var(--rem)));
}

.history__title {
  text-align: center;
}

.history__table {
  margin-block-start: calc(80 * var(--rem));
}

/* *************************************
products
************************************* */
.products {
}

.products__lead {
  margin-block-start: calc(64 * var(--rem));
  padding-inline: calc(20 * var(--rem));
}

.products__item {
  display: flex;
  align-items: center;
  gap: calc(80 * var(--rem));
  padding-inline-start: calc(80 * var(--rem));
  padding-block: calc(100 * var(--rem));
  @media (width < 768px) {
    flex-direction: column-reverse;
    padding-inline: calc(20 * var(--rem));
    gap: calc(40 * var(--rem));
    padding-block: calc(64 * var(--rem));
    overflow: clip;
  }
}

.products__wrap {
  width: 50%;
  @media (width < 768px) {
    width: 100%;
  }
}

.products__title {
  border-bottom: 2px solid var(--border);
  padding-block-end: calc(8 * var(--rem));
}

.products__title-en {
  font-size: calc(22 * var(--rem));
  font-weight: bold;
  text-transform: capitalize;
  color: var(--yellow);
  @media (width < 768px) {
    font-size: calc(18 * var(--rem));
  }
}

.products__title-jp {
  font-size: calc(55 * var(--rem));
  line-height: 1;
  color: var(--green);
  font-feature-settings: 'palt';
  font-kerning: auto;
  @media (width < 768px) {
    font-size: calc(30 * var(--rem));
  }
}

.products__text {
  margin-block-start: calc(24 * var(--rem));
}

.products__text p {
  font-size: calc(20 * var(--rem));
  line-height: 2;
  margin-block-end: 1em;
  @media (width < 768px) {
    font-size: calc(18 * var(--rem));
  }
}

.products__btn {
  text-align: center;
  margin-block-start: calc(64 * var(--rem));
}

.products__img {
  width: 50%;
  position: relative;
  z-index: 1;
  @media (width < 768px) {
    width: revert;
    margin-inline: calc(50% - 50vw);
  }
}

.products__img::before {
  content: '';
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  top: calc(16 * var(--rem));
  left: calc(-16 * var(--rem));
  background-color: var(--green);
}

.products__img img {
  aspect-ratio: 4 /3;
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: relative;
  z-index: 1;
}

.products__item:nth-child(even) {
  flex-direction: row-reverse;
  padding-inline: 0 calc(80 * var(--rem));
  background-color: var(--green);
  @media (width < 768px) {
    flex-direction: column-reverse;
    padding-inline: calc(20 * var(--rem));
  }

  .products__img::before {
    top: calc(16 * var(--rem));
    left: calc(16 * var(--rem));
    background-color: var(--white);
  }

  .products__title-jp {
    color: var(--white);
  }

  .products__text p {
    color: var(--white);
  }
}

/* *************************************
recruit-mv
************************************* */
.recruit-mv {
  margin-block-start: calc(80 * var(--rem));
}

/* *************************************
recruit-message
************************************* */
.recruit-message {
  margin-block-start: calc(64 * var(--rem));
  @media (width < 768px) {
    margin-block-start: calc(40 * var(--rem));
  }
}

.recruit-message__title {
  font-size: calc(26 * var(--rem));
  text-align: center;
  border-bottom: 2px solid var(--border);
  padding-block-end: calc(4 * var(--rem));
  width: fit-content;
  margin-inline: auto;
  padding-inline: calc(24 * var(--rem));
  @media (width < 768px) {
    font-size: calc(18 * var(--rem));
    padding: 0;
    text-align: left;
    width: 100%;
  }
}

.recruit-message__title span:nth-of-type(odd) {
  font-size: calc(30 * var(--rem));
  color: var(--green);
  @media (width < 768px) {
    font-size: calc(22 * var(--rem));
  }
}

.recruit-message__title span:nth-of-type(even) {
  font-size: calc(30 * var(--rem));
  color: var(--yellow);
  @media (width < 768px) {
    font-size: calc(22 * var(--rem));
  }
}

/* *************************************
department-introduction
************************************* */
.department-introduction {
  margin-block-start: calc(104 * var(--rem));
  background: linear-gradient(90deg, var(--green-bg) 0%, var(--green-bg) 5%, transparent 5%, transparent 100%);
  @media (width < 768px) {
    margin-block-start: calc(80 * var(--rem));
    background: revert;
  }
}

.department-introduction__container {
  padding-inline-start: 10%;
  @media (width < 768px) {
    padding-inline: 20px;
  }
}

.department-introduction__lead {
  margin-block-start: calc(16 * var(--rem));
  font-size: calc(18 * var(--rem));
  line-height: 1.8;
  @media (width < 768px) {
    padding-inline-end: 0;
    font-size: calc(16 * var(--rem));
  }
}

.department-introduction__list {
}

.department-introduction__item {
  padding-block: calc(64 * var(--rem));
  border-bottom: 2px solid var(--green);
}

.department-introduction__list-title {
  display: flex;
  align-items: center;
  gap: calc(8 * var(--rem));
  font-size: calc(40 * var(--rem));
  line-height: 1;
  position: relative;
  @media (width < 768px) {
    font-size: calc(28 * var(--rem));
    line-height: 1.2;
    align-items: flex-start;
  }
}

.department-introduction__list-title::before {
  content: '';
  display: block;
  width: 1.4lh;
  aspect-ratio: 1;
  background: url(../../library/images/recruit/hexagon.svg) no-repeat center / contain;
  @media (width < 768px) {
    width: 1lh;
  }
}

.department-introduction__list-title::after {
  content: '';
  display: block;
  width: 100%;
  height: 2px;
  background: linear-gradient(90deg, var(--green) 0%, var(--green) 10%, var(--border) 10%, var(--border) 100%);
  position: absolute;
  left: 0;
  bottom: calc(-13 * var(--rem));
  @media (width < 768px) {
    background: linear-gradient(90deg, var(--green) 0%, var(--green) 20%, var(--border) 20%, var(--border) 100%);
  }
}

.department-introduction__images {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin-block-start: calc(24 * var(--rem));
  overflow: clip;

  @media (width < 768px) {
    grid-template-columns: repeat(2, 1fr);
    margin-inline: calc(50% - 50vw);
  }
}

.department-introduction__img img {
  aspect-ratio: 3 /4;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.department-introduction__text-block {
  padding-block-start: calc(24 * var(--rem));
  padding-inline: calc(24 * var(--rem));
  @media (width < 768px) {
    padding-inline: 0;
  }
}

.department-introduction__text-title {
  font-size: calc(26 * var(--rem));
  @media (width < 768px) {
    font-size: calc(22 * var(--rem));
  }
}

.department-introduction__text-title span:nth-of-type(1) {
  color: var(--green);
  font-size: calc(30 * var(--rem));
}

.department-introduction__text-title span:nth-of-type(2) {
  color: var(--yellow);
  font-size: calc(30 * var(--rem));
}

.department-introduction__text {
  margin-block-start: calc(24 * var(--rem));
  font-size: calc(18 * var(--rem));
  line-height: 1.8;
  @media (width < 768px) {
    font-size: calc(16 * var(--rem));
  }
}

/* *************************************
recruit-greetings
************************************* */
.recruit-greetings {
  margin-block-start: calc(104 * var(--rem));
  @media (width < 768px) {
    margin-block-start: calc(80 * var(--rem));
  }
}

.recruit-greetings__title {
  text-align: center;
}

.recruit-greetings__container {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0 calc(40 * var(--rem));
  align-items: center;
  margin-block-start: calc(40 * var(--rem));
  @media (width < 768px) {
    grid-template-columns: 1fr;
  }
}

.recruit-greetings__img {
  width: min(100%, calc(1050 * var(--rem)));
}

.recruit-greetings__img {
  @media (width < 768px) {
    order: 1;
  }
}

.recruit-greetings__img:nth-of-type(2) {
  @media (width < 768px) {
    display: none;
  }
}

.recruit-greetings__img img {
  aspect-ratio: 1290 / 860;
  width: 100%;
  height: auto;
  object-fit: cover;
}

.recruit-greetings__subtitle {
  font-size: calc(40 * var(--rem));
  color: var(--green);
  font-family: var(--noto-serif);
  @media (width < 768px) {
    font-size: calc(24 * var(--rem));
    text-align: center;
    margin-block-start: calc(16 * var(--rem));
  }
}

.recruit-greetings__text-block:nth-of-type(1) {
  @media (width < 768px) {
    order: 2;
  }
}
.recruit-greetings__text-block:nth-of-type(2) {
  @media (width < 768px) {
    order: 3;
  }
}

.recruit-greetings__text-block p {
  margin-block-end: 1em;
  line-height: 1.8;
}

.recruit-greetings__subtitle + p {
  margin-block-start: calc(24 * var(--rem));
  @media (width < 768px) {
    margin-block-start: calc(16 * var(--rem));
  }
}

.recruit-greetings__name {
  font-size: calc(18 * var(--rem));
  text-align: right;
  margin-block-start: calc(40 * var(--rem));
  font-family: var(--noto-serif);
}

.recruit-greetings__name span {
  font-size: calc(30 * var(--rem));
}

/* *************************************
voices
************************************* */
.voices {
  margin-block-start: calc(80 * var(--rem));
  padding-block: calc(104 * var(--rem));
  background-color: var(--gray-bg);
  @media (width < 768px) {
    padding-block: calc(80 * var(--rem));
  }
}

.voices__title {
  text-align: center;
}

.voices__lead {
  margin-block-start: calc(16 * var(--rem));
  font-size: calc(18 * var(--rem));
  line-height: 1.8;
  text-align: center;
  @media (width < 768px) {
    padding-inline-end: 0;
    font-size: calc(16 * var(--rem));
  }
}

.voices__list {
  margin-block-start: calc(64 * var(--rem));
}

.voices__btn {
  margin-block-start: calc(80 * var(--rem));
  text-align: center;
  @media (width < 768px) {
    margin-block-start: calc(40 * var(--rem));
  }
}

/* *************************************
work-environment
************************************* */
.work-environment {
}

.work-environment__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  @media (width < 768px) {
    grid-template-columns: 1fr;
  }
}

.work-environment__item {
  background-color: var(--green);
  position: relative;
  @media (width < 768px) {
    padding-block-start: calc(80 * var(--rem));
  }
}

.work-environment__item:nth-child(2) {
  padding-block-start: calc(104 * var(--rem));
  background-color: var(--yellow);
  @media (width < 768px) {
    padding-block: 0 calc(80 * var(--rem));
  }
}

.work-environment__item a {
  display: grid;
  place-content: center;
  min-height: calc(500 * var(--rem));
  background: url(../../library/images/recruit/education.webp) no-repeat center / cover;
  position: relative;
  @media (width < 768px) {
    min-height: calc(400 * var(--rem));
  }
}

@media (any-hover: hover) {
  .work-environment__item a:hover {
    opacity: 1;
  }
}

.work-environment__item:nth-child(2) a {
  background: url(../../library/images/recruit/employee.webp) no-repeat center / cover;
}

.work-environment__item a::before {
  content: '';
  display: block;
  position: absolute;
  inset: 0;
  background-color: #00000020;
  transition: background-color 0.3s ease;
}

@media (any-hover: hover) {
  .work-environment__item a:hover::before {
    background-color: color-mix(in srgb, #00000020, #000 20%);
  }
}

.work-environment__title {
  font-size: calc(50 * var(--rem));
  color: var(--white);
  line-height: 1;
  position: relative;
  z-index: 1;
  text-align: center;
  @media (width < 768px) {
    font-size: calc(30 * var(--rem));
  }
}

.work-environment__en {
  font-size: calc(20 * var(--rem));
  text-align: center;
  text-transform: uppercase;
  font-family: var(--roboto);
  color: var(--white);
  position: relative;
  z-index: 1;
  text-align: center;
}

/* *************************************
guidelines
************************************* */
.guidelines {
  margin-block-start: calc(104 * var(--rem));
  @media (width < 768px) {
    margin-block-start: calc(80 * var(--rem));
  }
}

.guidelines__title {
  text-align: center;
}

.guidelines__cat-list {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: calc(8 * var(--rem));
  margin-inline: auto;
  margin-block-start: calc(80 * var(--rem));
  border-bottom: 2px solid var(--green);
  padding-inline: 10%;
  @media (width < 768px) {
    padding-inline: 2%;
    gap: calc(4 * var(--rem));
  }
}

.guidelines__cat-item {
  margin-block-end: calc(-2 * var(--rem));
}

.guidelines__btn {
  padding: calc(10 * var(--rem));
  border: 2px solid var(--green);
  font-size: calc(16 * var(--rem));
  font-weight: 500;
  transition: border-color 0.1s ease;
  color: var(--text);
  @media (width < 768px) {
    font-size: calc(12 * var(--rem));
    padding: calc(4 * var(--rem));
    min-height: calc(63 * var(--rem));
  }
}

.guidelines__btn.is-active {
  border-bottom: 2px solid var(--white);
}

.guidelines__table {
  margin-block-start: calc(80 * var(--rem));
  width: min(100%, calc(850 * var(--rem)));
  margin-inline: auto;
  @media (width < 768px) {
    margin-block-start: calc(40 * var(--rem));
  }
}

.guidelines__form-btn {
  margin-block-start: calc(80 * var(--rem));
  text-align: center;
  @media (width < 768px) {
    margin-block-start: calc(40 * var(--rem));
  }
}

/* *************************************
recruitment-flow
************************************* */
.recruitment-flow {
  background-color: var(--green-bg);
  margin-block-start: calc(80 * var(--rem));
  padding-block: calc(80 * var(--rem));
  @media (width < 768px) {
    margin-block-start: calc(40 * var(--rem));
  }
}

.recruitment-flow__list {
  margin-block-start: calc(40 * var(--rem));
}

/* *************************************
case-single
************************************* */
.case-single {
  margin-block-start: calc(104 * var(--rem));
  padding-block-end: calc(80 * var(--rem));
  @media (width < 768px) {
    margin-block-start: calc(80 * var(--rem));
  }
}

.case-single__inner.inner {
  width: min(100%, calc(1050 * var(--rem)));
}

.case-single__award {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  width: fit-content;
  max-width: calc(850 * var(--rem));
  margin-inline: auto;
}

.case-single__award-img {
  width: calc(80 * var(--rem));
  position: relative;
  z-index: 1;
  @media (width < 768px) {
    width: calc(60 * var(--rem));
  }
}

.case-single__award-img img {
  aspect-ratio: 1;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.case-single__award-title {
  padding: calc(4 * var(--rem)) calc(16 * var(--rem));
  font-size: calc(22 * var(--rem));
  background: linear-gradient(90deg, #d4af37 0%, /* 左端：落ち着いた金 */ #f2d06b 25%, /* やや明るめ */ #ffffff 45%, /* 中央左：強い光の反射（白） */ #efcf6a 55%, /* 中央右：明るい金 */ #b8860b 80%, /* 右側：深い陰影 */ #e6c670 100% /* 右端：再び明るく */);
  margin-inline-start: calc(-40 * var(--rem));
  padding-inline: calc(40 * var(--rem));
  @media (width < 768px) {
    font-size: calc(20 * var(--rem));
    padding-inline-end: calc(20 * var(--rem));
  }
}

.case-single__year {
  text-align: center;
  margin-block-start: calc(24 * var(--rem));
  font-size: calc(18 * var(--rem));
  position: relative;
}

.case-single__year::after {
  content: '';
  display: block;
  width: calc(40 * var(--rem));
  height: 2px;
  background-color: var(--yellow);
  position: absolute;
  bottom: calc(-4 * var(--rem));
  left: 50%;
  transform: translate(-50%, 0%);
}

.case-single__title {
  text-align: center;
  margin-block-start: calc(8 * var(--rem));
  width: min(100%, calc(850 * var(--rem)));
  margin-inline: auto;
}

.case-single__cat {
  display: block;
  width: fit-content;
  margin-inline: auto;
  margin-block-start: calc(16 * var(--rem));
  background-color: var(--green);
  padding: calc(4 * var(--rem)) calc(18 * var(--rem));
  color: var(--white);
}

.case-single__content {
  margin-block-start: calc(40 * var(--rem));
}

/* *************************************
case-archive
************************************* */
.case-archive {
  margin-block-start: calc(104 * var(--rem));
  padding-block-end: calc(80 * var(--rem));
  @media (width < 768px) {
    margin-block-start: calc(40 * var(--rem));
  }
}

.case-archive__cat-list {
  display: flex;
  flex-wrap: wrap;
  gap: calc(16 * var(--rem)) calc(24 * var(--rem));
  justify-content: center;
  width: min(100%, calc(850 * var(--rem)));
  margin-inline: auto;
  @media (width < 768px) {
    gap: calc(8 * var(--rem)) calc(10 * var(--rem));
  }
}

.case-archive__cat-item a {
  background-color: var(--green);
  display: block;
  padding: calc(4 * var(--rem)) calc(8 * var(--rem));
  color: var(--white);
}

.case-archive__cat-item a.current {
  background-color: var(--yellow);
  color: var(--text);
}

.case-archive__list {
  margin-block-start: calc(40 * var(--rem));
}

.case-archive__pagination {
  margin-block-start: calc(80 * var(--rem));
}

/* *************************************
education
************************************* */
.education {
  padding-block: calc(104 * var(--rem));
  overflow: clip;
  background-image: linear-gradient(0deg, transparent calc(100% - 1px), #f0f0f0 calc(100% - 1px)), linear-gradient(90deg, transparent calc(100% - 1px), #f0f0f0 calc(100% - 1px));
  background-size: 32px 32px;
  background-repeat: repeat;
  background-position: center center;
  scroll-behavior: smooth;
}

.education__lead {
  margin-block-start: calc(40 * var(--rem));
  width: min(100%, calc(1050 * var(--rem)));
}

.education__list {
  margin-block-start: calc(80 * var(--rem));
  display: grid;
  gap: calc(104 * var(--rem));
  @media (width < 768px) {
    margin-block-start: calc(40 * var(--rem));
    gap: calc(40 * var(--rem));
  }
}

.education__list-item {
  padding-block: calc(80 * var(--rem));
  background: linear-gradient(90deg, var(--green-bg) 0%, var(--green-bg) 65%, transparent 65%, transparent 100%);
  @media (width < 768px) {
    padding-block: calc(56 * var(--rem));
  }
}

.education__list-item:nth-child(even) {
  background: linear-gradient(90deg, transparent 0%, transparent 35%, var(--green-bg) 35%, var(--green-bg) 100%);
}

.education__list-item-inner.inner {
  @media (width < 768px) {
  }
}

.education__list-container {
  display: flex;
  gap: calc(40 * var(--rem));
  @media (width < 768px) {
    display: grid;
  }
}

.education__list-item:nth-child(even) .education__list-container {
  flex-direction: row-reverse;
}

.education__list-images {
  width: 60%;
  margin-inline-start: calc(50% - 50vw);
  @media (width < 768px) {
    width: 100vw;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
  }
}

.education__list-item:nth-child(even) .education__list-images {
  margin-inline: 0 calc(50% - 50vw);
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: calc(4 * var(--rem));
  @media (width < 768px) {
    margin-left: -50vw;
    margin-right: -50vw;
  }
}

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

.education__list-wrap {
  width: 50%;
  @media (width < 768px) {
    width: 100%;
  }
}

.education__list-text {
  font-size: calc(20 * var(--rem));
  line-height: 1.8;
  margin-block-start: calc(24 * var(--rem));
  @media (width < 768px) {
    font-size: calc(18 * var(--rem));
  }
}

/* *************************************
employee-benefits
************************************* */
.employee-benefits {
  padding-block: calc(80 * var(--rem));
  background-color: var(--gray-bg);
}

.employee-benefits__lead {
  margin-block-start: calc(40 * var(--rem));
}

.employee-benefits__list {
  width: fit-content;
  margin-inline: auto;
  margin-block-start: calc(40 * var(--rem));
}

.employee-benefits__slider-top {
  margin-block-start: calc(40 * var(--rem));
}

/* *************************************
interview-top
************************************* */
.interview-top {
  padding-block: calc(104 * var(--rem));
  position: relative;
  @media (width < 768px) {
    padding-bottom: calc(80 * var(--rem));
  }
}

.interview-top::before {
  content: 'tuchita construction';
  font-size: calc(80 * var(--rem));
  font-weight: 900;
  font-family: var(--roboto);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--gray-bg);
  position: absolute;
  top: 10%;
  right: 0%;
  z-index: 10;
  line-height: 1;
  @media (width < 768px) {
    font-size: calc(40 * var(--rem));
    top: 5%;
    left: 20px;
    right: revert;
  }
}

.interview-top__container {
  display: grid;
  grid-template-columns: 1.5fr 1fr;
  gap: calc(40 * var(--rem));
  align-items: center;
  margin-inline-start: calc(50% - 50vw);
  position: relative;
  z-index: 1;
  @media (width < 768px) {
    grid-template-columns: 1fr;
    margin-inline: 0;
     gap: calc(24 * var(--rem));
  }
}

.interview-top__img {
  @media (width < 768px) {
    width: 100vw;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
  }
}

.interview-top__img img {
  aspect-ratio: 3 /2;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.interview-top__name {
  font-size: calc(50 * var(--rem));
  letter-spacing: 0.1em;
  line-height: 1;
  @media (width < 768px) {
    font-size: calc(35 * var(--rem));
  }
}

.interview-top__department {
  font-size: calc(30 * var(--rem));
  background-color: var(--green);
  color: var(--white);
  padding: calc(5 * var(--rem)) calc(16 * var(--rem));
  margin-block-start: calc(16 * var(--rem));
  @media (width < 768px) {
    font-size: calc(22 * var(--rem));
    text-align: right;
  }
}

.interview-top__table {
  margin-block-start: calc(40 * var(--rem));
  display: grid;
  gap: calc(24 * var(--rem));
}

.interview-top__table-item {
  display: grid;
  grid-template-columns: calc(120 * var(--rem)) 1fr;
  gap: calc(24 * var(--rem));
}

.interview-top__table-item dt {
  font-feature-settings: 'palt';
  font-kerning: auto;
}

/* *************************************
faq
************************************* */
.faq {
}

.faq + .faq {
  margin-block-start: calc(104 * var(--rem));
}

.faq__container {
  margin-inline-end: calc(50% - 50vw);
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: calc(40 * var(--rem));
  align-items: center;
  @media (width < 768px) {
    grid-template-columns: 1fr;
    margin-inline-end: 0;
  }
}

.faq__list {
  @media (width < 768px) {
    order: 2;
  }
}

.faq__img {
  @media (width < 768px) {
    order: 1;
  }
}

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

.faq[date-modi='reverse'] {
  .faq__container {
    margin-inline: calc(50% - 50vw) 0;
    @media (width < 768px) {
      margin-inline: 0;
    }
  }
}

/* *************************************
interview-message
************************************* */
.interview-message {
  margin-block-start: calc(104 * var(--rem));
  @media (width < 768px) {
    margin-block-start: calc(80 * var(--rem));
  }
}

.interview-message__title {
  font-size: calc(30 * var(--rem));
  display: grid;
  grid-template-columns: auto 1fr;
  gap: calc(8 * var(--rem));
  align-items: center;
  border-bottom: 2px solid var(--green);
  @media (width < 768px) {
    font-size: calc(24 * var(--rem));
  }
}

.interview-message__title::before {
  content: '';
  display: block;
  width: calc(55 * var(--rem));
  aspect-ratio: 1;
  background: url(../../library/images/common/megahon.svg) no-repeat center / contain;
  @media (width < 768px) {
    width: calc(30 * var(--rem));
  }
}

.interview-message__text {
  margin-block-start: calc(24 * var(--rem));
  line-height: 1.8;
}

/* *************************************
recruit-form-btn
************************************* */
.recruit-form-btn {
  text-align: center;
  margin-block-start: calc(80 * var(--rem));
  @media (width < 768px) {
    margin-block-start: calc(40 * var(--rem));
  }
}

/* *************************************
other-interviews
************************************* */
.other-interviews {
  margin-block-start: calc(104 * var(--rem));
  padding-block: calc(80 * var(--rem));
  background-color: var(--gray-bg);
}

.other-interviews__title {
  text-align: center;
}

.other-interviews__list {
  margin-block-start: calc(80 * var(--rem));
}

/* *************************************
voice-archive
************************************* */
.voice-archive {
  margin-block-start: calc(104 * var(--rem));
  @media (width < 768px) {
    margin-block-start: calc(80 * var(--rem));
  }
}

.voice-archive__pagination {
  margin-block-start: calc(80 * var(--rem));
}

/* *************************************
emblem
************************************* */
.emblem {
  margin-block-start: calc(104 * var(--rem));
  background-color: var(--green-bg);
  padding-block: calc(80 * var(--rem));
  @media (width < 768px) {
    margin-block-start: calc(80 * var(--rem));
  }
}

.emblem__title {
  text-align: center;
}

.emblem__img {
  width: min(100%, calc(300 * var(--rem)));
  margin-inline: auto;
  margin-block-start: calc(80 * var(--rem));
  @media (width < 768px) {
    width: min(100%, calc(250 * var(--rem)));
  }
}

.emblem__img img {
  aspect-ratio: 1;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.emblem__text {
  margin-block-start: calc(40 * var(--rem));
  font-size: calc(18 * var(--rem));
  line-height: 1.8;
  width: min(100%, calc(650 * var(--rem)));
  margin-inline: auto;
}

/* *************************************
csr-lead
************************************* */
.csr-lead {
  margin-block-start: calc(104 * var(--rem));
  @media (width < 768px) {
    margin-block-start: calc(80 * var(--rem));
  }
}

.csr-lead__title {
  text-align: center;
}

.csr-lead__container {
  margin-block-start: calc(40 * var(--rem));
  background: url(../../library/images/csr/csr-lead-bg.webp) no-repeat center / cover;
  padding-block: calc(80 * var(--rem));
  @media (width < 768px) {
  }
}

.csr-lead__wrap {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: calc(24 * var(--rem));
  align-items: center;
  background-color: #ffffff80;
  padding: calc(40 * var(--rem));
  @media (width < 768px) {
    grid-template-columns: 1fr;
    padding-inline: calc(20 * var(--rem));
  }
}

.csr-lead__text {
  font-size: calc(20 * var(--rem));
  line-height: 1.8;
  font-weight: 500;
  @media (width < 768px) {
    order: 2;
    font-size: calc(16 * var(--rem));
  }
}

.csr-lead__img {
  @media (width < 768px) {
    order: 1;
  }
}

.csr-lead__img img {
  aspect-ratio: 600/ 470;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* *************************************
community-contribution
************************************* */
.community-contribution {
  background-color: var(--green-bg);
  padding-block: calc(80 * var(--rem));
}

.community-contribution__title {
  text-align: center;
}

.community-contribution__text {
  text-align: center;
  margin-block-start: calc(48 * var(--rem));
  padding-inline: 25px;
  font-size: calc(18 * var(--rem));
  @media (width < 768px) {
    padding-inline: 20px;
  }
}

.community-contribution__btn {
  margin-block-start: calc(80 * var(--rem));
  text-align: center;
  @media (width < 768px) {
    margin-block-start: calc(40 * var(--rem));
  }
}

/* *************************************
csr-disaster-prevention
************************************* */
.csr-disaster-prevention {
  margin-block-start: calc(104 * var(--rem));
  @media (width < 768px) {
    margin-block-start: calc(80 * var(--rem));
  }
}

.csr-disaster-prevention__title {
  text-align: center;
}

.csr-disaster-prevention__container {
  margin-block-start: calc(48 * var(--rem));
  display: grid;
  grid-template-columns: 1.5fr 1fr;
  gap: calc(40 * var(--rem));
  align-items: center;
  @media (width < 768px) {
    grid-template-columns: 1fr;
  }
}

.csr-disaster-prevention__img img {
  aspect-ratio: 625 / 469;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.csr-disaster-prevention__text {
  font-size: calc(18 * var(--rem));
  line-height: 1.8;
  @media (width < 768px) {
    font-size: calc(16 * var(--rem));
  }
}

.csr-disaster-prevention__btn {
  text-align: center;
  margin-block-start: calc(40 * var(--rem));
}

/* *************************************
geosite
************************************* */
.geosite {
  margin-block-start: calc(104 * var(--rem));
  padding-block: calc(80 * var(--rem));
  background-color: var(--gray-bg);
}

.geosite__title {
  text-align: center;
}

.geosite__text {
  margin-block-start: calc(48 * var(--rem));
  text-align: center;
  font-size: calc(18 * var(--rem));
}

.geosite__images {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: calc(8 * var(--rem));
  margin-block-start: calc(24 * var(--rem));
  @media (width < 768px) {
    grid-template-columns: 1fr;
  }
}

.geosite__image img {
  aspect-ratio: 990 /743;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* *************************************
roppou
************************************* */
.roppou {
  margin-block-start: calc(104 * var(--rem));
  @media (width < 768px) {
    margin-block-start: calc(80 * var(--rem));
  }
}

.roppou.roppou--page {
  margin-block-start: calc(104 * var(--rem));
  @media (width < 768px) {
    margin-block-start: calc(80 * var(--rem));
  }
}

.roppou__title {
  text-align: center;
}

.roppou__link {
  background: url(../../library/images/csr/roppou-bg.webp) no-repeat center / cover;
  padding-block: calc(80 * var(--rem));
  padding-inline: 25px;
  display: grid;
  place-content: center;
  position: relative;
  margin-block-start: calc(48 * var(--rem));
  @media (width < 768px) {
    padding-inline: 20px;
  }
}

.roppou__link::before {
  content: '';
  display: block;
  position: absolute;
  inset: 0;
  background-color: #00000080;
}

.roppou__wrap {
  position: relative;
  z-index: 1;
}

.roppou__subtitle {
  text-align: center;
}

.roppou__img img {
  aspect-ratio: 605/263;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.roppou__text {
  color: var(--white);
  width: min(100%, calc(350 * var(--rem)));
  margin-inline: auto;
  margin-block-start: calc(24 * var(--rem));
  font-size: calc(18 * var(--rem));
  line-height: 2;
}

.roppou--page .roppou__text {
  font-size: calc(44 * var(--rem));
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.4;
  font-family: var(--noto-serif);
  width: fit-content;
  margin-inline: auto;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  @media (width < 768px) {
    font-size: calc(30 * var(--rem));
  }
}

.roppou--page .roppou__text::after {
  content: '';
  display: block;
  width: 0.6lh;
  aspect-ratio: 1;
  background: url(../../library/images/roppou/shop.svg) no-repeat center / contain;
}

/* *************************************
disaster-prevention
************************************* */
.disaster-prevention {
  margin-block-start: calc(104 * var(--rem));
  overflow: clip;
  @media (width < 768px) {
    margin-block-start: calc(80 * var(--rem));
  }
}

.disaster-prevention__title {
  text-align: center;
}

.disaster-prevention__lead-title {
  font-size: calc(30 * var(--rem));
  line-height: 1.8;
  text-align: center;
  color: var(--green);
  @media (width < 768px) {
    font-size: calc(22 * var(--rem));
  }
}

.disaster-prevention__lead {
  font-size: calc(18 * var(--rem));
  line-height: 1.8;
  text-align: center;
  @media (width < 768px) {
    font-size: calc(16 * var(--rem));
  }
}

.disaster-prevention__list-bg {
  background: url(../../library/images/csr/disaster-prevention__list-bg.webp) no-repeat center / cover;
  padding: calc(40 * var(--rem)) calc(80 * var(--rem));
  margin-block-start: calc(40 * var(--rem));
  margin-inline: calc(50% - 50vw);
  @media (width < 768px) {
    padding-inline: calc(20 * var(--rem));
  }
}

.disaster-prevention__list-container {
  background-color: #ffffff90;
  padding: calc(40 * var(--rem)) calc(80 * var(--rem));
  width: 60%;
  margin-inline: auto;
  @media (width < 768px) {
    width: 100%;
    padding-inline: calc(20 * var(--rem));
  }
}

.disaster-prevention__list-block {
  margin-block-start: calc(24 * var(--rem));
}

.disaster-prevention__list-block + .disaster-prevention__list-block {
  margin-block-start: calc(56 * var(--rem));
}

.disaster-prevention__list-title {
  border-bottom: 2px solid var(--green);
  padding-block-end: calc(4 * var(--rem));
  font-size: calc(24 * var(--rem));
  font-weight: bold;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: calc(8 * var(--rem));
  @media (width < 768px) {
    font-size: calc(20 * var(--rem));
  }
}

.disaster-prevention__list-title::before {
  content: '';
  display: block;
  width: 1.2lh;
  aspect-ratio: 1;
  background: url(../../library/images/common/page-top_img-bg.svg) no-repeat center / contain;
  margin-block-start: calc(-4 * var(--rem));
}

.disaster-prevention__list {
  margin-block-start: calc(16 * var(--rem));
  display: grid;
  gap: calc(4 * var(--rem));
}

.disaster-prevention__item {
  position: relative;
  padding-inline-start: calc(10 * var(--rem));
  font-size: calc(18 * var(--rem));
  @media (width < 768px) {
    font-size: calc(16 * var(--rem));
  }
}

.disaster-prevention__item::before {
  content: '';
  display: block;
  width: 0.2lh;
  aspect-ratio: 1;
  background-color: var(--green);
  border-radius: 100vmax;
  position: absolute;
  top: calc(11 * var(--rem));
  left: 0;
}

.disaster-prevention__wrap {
  margin-block-start: calc(40 * var(--rem));
  text-align: center;
}

.disaster-prevention__subtitle {
  font-size: calc(24 * var(--rem));
  color: var(--green);
  margin-block-start: calc(40 * var(--rem));
  @media (width < 768px) {
    font-size: calc(20 * var(--rem));
  }
}

.disaster-prevention__text {
}

.disaster-prevention__img-list {
  margin-block-start: calc(40 * var(--rem));
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(2, auto);
  gap: calc(4 * var(--rem));
  width: calc(1050 * var(--rem));
  margin-inline: auto;
  position: relative;
  z-index: 10;
  @media (width < 768px) {
    width: 100%;
  }
}

.disaster-prevention__img-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.disaster-prevention__img-item:nth-child(1) {
  grid-row: span 1;
  grid-column: 2/3;
  img {
    aspect-ratio: 1290/ 968;
  }
}
.disaster-prevention__img-item:nth-child(2) {
  grid-row: 2/3;
  grid-column: 2/3;
  img {
    aspect-ratio: 1290/ 968;
  }
}
.disaster-prevention__img-item:nth-child(3) {
  grid-row: 1/3;
  grid-column: 1/2;
  img {
    aspect-ratio: 521/ 790;
  }
}

/* *************************************
track-record
************************************* */
.track-record {
  margin-block-start: calc(104 * var(--rem));
  padding-block: calc(154 * var(--rem)) calc(80 * var(--rem));
  background-image: linear-gradient(0deg, transparent calc(100% - 1px), #f0f0f0 calc(100% - 1px)), linear-gradient(90deg, transparent calc(100% - 1px), #f0f0f0 calc(100% - 1px));
  background-size: 36px 36px;
  background-repeat: repeat;
  background-position: center center;
  overflow-x: clip;
  scroll-behavior: smooth;
  position: relative;
  background-color: var(--white);
  @media (width < 768px) {
    margin-block-start: calc(80 * var(--rem));
    padding-block-start: calc(72 * var(--rem));
  }
}

.track-record::after {
  content: '';
  display: block;
  width: 95%;
  height: calc(400 * var(--rem));
  background-color: var(--green);
  position: absolute;
  top: -12%;
  left: 0;
  z-index: 0;
  @media (width < 768px) {
    height: calc(216 * var(--rem));
    top: -6%;
  }
}

.track-record__title {
  text-align: center;
}

.track-record__table {
  margin-block-start: calc(40 * var(--rem));
  width: fit-content;
  margin-inline: auto;
  display: grid;
  gap: calc(16 * var(--rem));
}

.track-record__table-item {
  display: grid;
  grid-template-columns: calc(110 * var(--rem)) 1fr;
  gap: calc(16 * var(--rem));
  @media (width < 768px) {
    grid-template-columns: 1fr;
    gap: calc(4 * var(--rem));
  }
}

.track-record__table-item {
}

.track-record__table-item dt {
  display: inline-grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: calc(8 * var(--rem));
  font-size: calc(18 * var(--rem));
  font-weight: bold;
}

.track-record__table-item dt::before {
  content: '';
  display: block;
  width: 0.6lh;
  aspect-ratio: 1;
  border-radius: 100vmax;
  background-color: var(--green);
}

.track-record__table-item dd {
  font-size: calc(18 * var(--rem));
  @media (width < 768px) {
    font-size: calc(16 * var(--rem));
  }
}

.track-record__list {
  margin-block-start: calc(40 * var(--rem));
  display: grid;
  gap: calc(40 * var(--rem));
}

.track-record__item {
  display: flex;
  align-items: center;
  gap: calc(24 * var(--rem));
  @media (width < 768px) {
    flex-direction: column;
    gap: calc(8 * var(--rem));
  }
}

.track-record__item:nth-child(even) {
  flex-direction: row-reverse;
  @media (width < 768px) {
    flex-direction: column;
  }
}

.track-record__img {
  width: 50%;
  @media (width < 768px) {
    width: 100%;
  }
}

.track-record__img img {
  aspect-ratio: 3/ 2;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.track-record__list-wrap {
  width: 50%;
  @media (width < 768px) {
    width: 100%;
  }
}

.track-record__list-title {
  font-size: calc(35 * var(--rem));
  border-bottom: 2px solid var(--green);
  padding-block-end: calc(4 * var(--rem));
  @media (width < 768px) {
    font-size: calc(24 * var(--rem));
  }
}

.track-record__list-title::first-letter {
  color: var(--green);
}

.track-record__list-text {
  font-size: calc(18 * var(--rem));
  margin-block-start: calc(24 * var(--rem));
  @media (width < 768px) {
    font-size: calc(16 * var(--rem));
    margin-block-start: calc(8 * var(--rem));
  }
}

.track-record__text-block {
  margin-block-start: calc(24 * var(--rem));
  background-color: var(--white);
  padding: calc(40 * var(--rem)) calc(64 * var(--rem));
  width: min(100%, calc(850 * var(--rem)));
  margin-inline: auto;
  border-left: 4px solid var(--green);
  box-shadow: 0px 5px 10px 0px rgb(0 0 0 / 0.2);
  padding: calc(20 * var(--rem));
}

.track-record__text-block + .track-record__text-block {
  margin-block-start: calc(40 * var(--rem));
}

.track-record__text-block-title {
  margin-block-start: calc(64 * var(--rem));
  width: fit-content;
  margin-inline: auto;
  background-color: var(--white);
  padding: calc(6 * var(--rem)) calc(16 * var(--rem));
  border: 2px solid var(--green);
  @media (width < 768px) {
  font-size: calc(20 * var(--rem));
  }
}

.track-record__text {
  font-size: calc(18 * var(--rem));
  line-height: 1.8;
  @media (width < 768px) {
    font-size: calc(16 * var(--rem));
  }
}

.track-record__bullet-title {
  border-bottom: 2px solid var(--green);
  padding-block-end: calc(4 * var(--rem));
  font-size: calc(20 * var(--rem));
  font-weight: bold;
}

.track-record__bullet-list {
  margin-block-start: calc(16 * var(--rem));
  display: grid;
  gap: calc(8 * var(--rem));
}

.track-record__bullet-item {
  position: relative;
  padding-inline-start: calc(16 * var(--rem));
}

.track-record__bullet-item::before {
  content: '';
  display: block;
  width: 0.3lh;
  aspect-ratio: 1;
  background-color: var(--green);
  border-radius: 100vmax;
  position: absolute;
  top: calc(8 * var(--rem));
  left: 0;
}

.track-record__bullet-text {
  margin-block-start: calc(16 * var(--rem));
}

/* *************************************
roppou-top-slider
************************************* */
.roppou-top-slider {
  margin-block-start: calc(80 * var(--rem));
}

/* *************************************
about-roppou
************************************* */
.about-roppou {
  margin-block-start: calc(104 * var(--rem));
  @media (width < 768px) {
    margin-block-start: calc(40 * var(--rem));
  }
}

.about-roppou__container {
  display: grid;
  grid-template-columns: 1.5fr 1fr;
  gap: calc(24 * var(--rem));
  @media (width < 768px) {
    grid-template-columns: 1fr;
  }
}

.about-roppou__mask {
  position: relative;
  width: fit-content;
  margin-inline: auto;
}

.about-roppou__mask::before {
  content: '';
  display: block;
  position: absolute;
  inset: 0;
  background-color: #ffffff80;
  z-index: 1;
}

.about-roppou__title {
  display: inline-grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  background: url(../../library/images/csr/roppou-bg.webp) no-repeat center / cover;
  padding: calc(20 * var(--rem));
  position: relative;
  @media (width < 768px) {
    display: grid;
    grid-template-columns: 1fr;
    gap: calc(8 * var(--rem));
    padding-inline: calc(10 * var(--rem));
  }
}

.about-roppou__title::before {
  content: '';
  display: block;
  width: calc(230 * var(--rem));
  aspect-ratio: 1;
  background: url(../../library/images/roppou/roppou-kao.svg) no-repeat center / contain;
  position: relative;
  z-index: 10;
  @media (width < 768px) {
    margin-inline: auto;
    width: 50%;
  }
}

.about-roppou__title > .title10 {
  position: relative;
  z-index: 10;
}

.about-roppou__text {
  line-height: 2.4;
  letter-spacing: 0.15em;
}

.about-roppou__text span:nth-of-type(1) {
  --shadow: #34a853;
  font-weight: bold;
  text-shadow:
    1px 1px 1px var(--shadow),
    -1px -1px 1px var(--shadow),
    -1px 1px 1px var(--shadow),
    1px -1px 1px var(--shadow),
    1px 0 1px var(--shadow),
    -1px 0 1px var(--shadow),
    0 1px 1px var(--shadow),
    0 -1px 1px var(--shadow);
  color: var(--white);
}

.about-roppou__text span:nth-of-type(2) {
  --shadow: #4185f4;
  font-weight: bold;
  text-shadow:
    1px 1px 1px var(--shadow),
    -1px -1px 1px var(--shadow),
    -1px 1px 1px var(--shadow),
    1px -1px 1px var(--shadow),
    1px 0 1px var(--shadow),
    -1px 0 1px var(--shadow),
    0 1px 1px var(--shadow),
    0 -1px 1px var(--shadow);
  color: var(--white);
}

.about-roppou__text span:nth-of-type(3) {
  --shadow: #ea4335;
  font-weight: bold;
  text-shadow:
    1px 1px 1px var(--shadow),
    -1px -1px 1px var(--shadow),
    -1px 1px 1px var(--shadow),
    1px -1px 1px var(--shadow),
    1px 0 1px var(--shadow),
    -1px 0 1px var(--shadow),
    0 1px 1px var(--shadow),
    0 -1px 1px var(--shadow);
  color: var(--white);
}

/* *************************************
roppou-bottom-slider
************************************* */
.roppou-bottom-slider {
  margin-block-start: calc(104 * var(--rem));
  @media (width < 768px) {
    margin-block-start: calc(40 * var(--rem));
  }
}

/* *************************************
sales-site
************************************* */
.sales-site {
  margin-block-start: calc(140 * var(--rem));
  background-color: var(--green-bg);
  padding-block: calc(104 * var(--rem));
  @media (width < 768px) {
    margin-block-start: calc(80 * var(--rem));
  }
}

.sales-site__inner.inner {
  width: min(100%, calc(1970 * var(--rem)));
}

.sales-site__container {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: calc(40 * var(--rem));
  align-items: center;
  @media (width < 768px) {
    grid-template-columns: 1fr;
  }
}

.sales-site__wrap {
  @media (width < 768px) {
    order: 2;
  }
}

.sales-site__images {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: calc(4 * var(--rem));
  @media (width < 768px) {
    order: 1;
    width: 100vw;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
  }
}

.sales-site__img img {
  aspect-ratio: 1290 /860;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.sales-site__text {
  line-height: 1.8;
  letter-spacing: 0.15em;
  margin-block-start: calc(40 * var(--rem));
  width: min(100%, calc(600 * var(--rem)));
  margin-inline: auto;
  @media (width < 768px) {
    margin-block-start: calc(24 * var(--rem));
  }
}

.sales-site__btn {
  margin-block-start: calc(40 * var(--rem));
  text-align: center;
}

/* *************************************
sales-location
************************************* */
.sales-location {
  margin-block-start: calc(104 * var(--rem));
  @media (width < 768px) {
    margin-block-start: calc(80 * var(--rem));
  }
}

.sales-location__inner.inner {
}

.sales-location__lead {
  text-align: center;
  font-size: calc(18 * var(--rem));
  margin-block-start: calc(24 * var(--rem));
  @media (width < 768px) {
    font-size: calc(16 * var(--rem));
  }
}

.sales-location__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: calc(40 * var(--rem));
  margin-block-start: calc(40 * var(--rem));
  @media (width < 768px) {
    grid-template-columns: 1fr;
  }
}

.sales-location__item {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 2;
  gap: calc(16 * var(--rem));
  align-items: self-start;
}

.sales-location__img {
  @media (width < 768px) {
    width: 100vw;
    position: relative;
    left: 50%;
    right: 50%;
    margin-inline: -50vw;
  }
}

.sales-location__img img {
  aspect-ratio: 954/ 519;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.sales-location__table {
  display: grid;
  gap: calc(16 * var(--rem));
}

.sales-location__table-item {
  display: grid;
  grid-template-columns: calc(200 * var(--rem)) 1fr;
  gap: calc(24 * var(--rem));
  align-items: self-start;
  padding-bottom: calc(8 * var(--rem));
  border-bottom: 1px solid var(--border);
  @media (width < 768px) {
    grid-template-columns: 1fr;
    gap: calc(8 * var(--rem));
  }
}

.sales-location__table-item dt {
  padding-block: calc(4 * var(--rem));
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: calc(4 * var(--rem));
}

.sales-location__table-item dt::before {
  content: '';
  display: block;
  width: 1.2lh;
  aspect-ratio: 1;
  background: url(../../library/images/roppou/roppou-kao.svg) no-repeat center / contain;
}

.sales-location__table-item dd {
  @media (width < 768px) {
    padding-inline-start: calc(36 * var(--rem));
  }
}

.sales-location__address,
.sales-location__link {
  padding-block: calc(4 * var(--rem));
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: calc(4 * var(--rem));
}

.sales-location__address::after,
.sales-location__link::after {
  content: '';
  display: block;
  width: 1lh;
  aspect-ratio: 1;
  background: url(../../library/images/roppou/roppou-kao.svg) no-repeat center / contain;
}

.sales-location__address::after {
  background: url(../../library/images/roppou/map.svg) no-repeat center / contain;
}

.sales-location__link::after {
  background: url(../../library/images/roppou/link.svg) no-repeat center / contain;
}

/* *************************************
roppou-kun
************************************* */
.roppou-kun {
  margin-block-start: calc(64 * var(--rem));
}

.roppou-kun__container {
  display: grid;
  grid-template-columns: 1fr 1.5fr;
  gap: calc(40 * var(--rem));
  align-items: center;
  @media (width < 768px) {
    grid-template-columns: 1fr;
    margin-block-start: calc(24 * var(--rem));
    gap: calc(24 * var(--rem));
  }
}

.roppou-kun__img {
  width: 70%;
  margin-inline: auto;
  @media (width < 768px) {
    width: 50%;
  }
}

.roppou-kun__img img {
  aspect-ratio: 499/522;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.roppou-kun__text {
  line-height: 1.8;
  letter-spacing: 0.15em;
}

.roppou-kun__images {
  margin-block-start: calc(64 * var(--rem));
  background-color: var(--green);
  padding-block: calc(80 * var(--rem));
  @media (width < 768px) {
    margin-block-start: calc(24 * var(--rem));
  }
}

.roppou-kun__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: calc(24 * var(--rem));
  @media (width < 768px) {
    grid-template-columns: 1fr;
  }
}

.roppou-kun__list-img img {
  aspect-ratio: 1280 / 860;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.roppou-kun__list-text {
  margin-block-start: calc(4 * var(--rem));
  text-align: center;
  color: var(--white);
}

/* *************************************
tv-broadcast
************************************* */
.tv-broadcast {
  margin-block-start: calc(104 * var(--rem));
  @media (width < 768px) {
    margin-block-start: calc(80 * var(--rem));
  }
}

.tv-broadcast__list {
  margin-block-start: calc(40 * var(--rem));
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: calc(80 * var(--rem)) calc(24 * var(--rem));
  @media (width < 768px) {
    grid-template-columns: 1fr;
    row-gap: calc(24 * var(--rem));
  }
}

.tv-broadcast__item iframe {
  aspect-ratio: 560 / 315;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* *************************************
products-lade
************************************* */
.products-lade {
  margin-block-start: calc(80 * var(--rem));
}

.products-lade__inner.inner {
  width: min(100%, calc(1150 * var(--rem)));
}

.products-lade__title {
  text-align: center;
}

.products-lade__text {
  font-size: calc(18 * var(--rem));
  line-height: 1.8;
  margin-block-start: calc(24 * var(--rem));
  text-align: center;
  @media (width < 768px) {
    text-align: left;
  }
}

/* *************************************
products-activities
************************************* */
.products-activities {
  margin-block-start: calc(104 * var(--rem));
  background: url(../../library/images/products/roads-bridges/roads-bridges1.webp) no-repeat center / cover;
  padding-block: calc(105 * var(--rem));
  position: relative;
  @media (width < 768px) {
    margin-block-start: calc(80 * var(--rem));
  }
}

.products-activities[data-modi='river-erosion'] {
  background: url(../../library/images/products/river-erosion/river-erosion1.webp) no-repeat center / cover;
}

.products-activities[data-modi='life-line'] {
  background: url(../../library/images/products/lifeline/lifeline1.webp) no-repeat center / cover;
}

.products-activities[data-modi='building-land'] {
  background: url(../../library/images/products/building-land/building-land1.webp) no-repeat center / cover;
}

.products-activities[data-modi='maintenance'] {
  background: url(../../library/images/products/maintenance/maintenance1.webp) no-repeat center / cover;
}

.products-activities::before {
  opacity: 0.5;
  background-image: linear-gradient(rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4)), radial-gradient(circle, rgba(255, 255, 255, 0.2) 1px, transparent 1px);
  background-size:
    100% 100%,
    5px 5px;
  background-color: var(--green-tra);
  content: '';
  position: absolute;
  z-index: 0;
  inset: 0;
}

.products-activities__inner.inner {
  width: min(100%, calc(1050 * var(--rem)));
}

.products-activities__title {
  text-align: center;
  position: relative;
  z-index: 1;
}

.products-activities__lade {
  margin-block-start: calc(40 * var(--rem));
  text-align: center;
  color: var(--white);
  position: relative;
  z-index: 1;
  font-size: calc(18 * var(--rem));
  @media (width < 768px) {
    margin-block-start: calc(24 * var(--rem));
  }
}

.products-activities__list {
  margin-block-start: calc(80 * var(--rem));
}

/* *************************************
our-strengths
************************************* */
.our-strengths {
  padding-block-start: calc(104 * var(--rem));
  background-image: linear-gradient(0deg, transparent calc(100% - 1px), #f0f0f0 calc(100% - 1px)), linear-gradient(90deg, transparent calc(100% - 1px), #f0f0f0 calc(100% - 1px));
  background-size: 32px 32px;
  background-repeat: repeat;
  background-position: center center;
  overflow-x: hidden;
  scroll-behavior: smooth;
  @media (width < 768px) {
    padding-block-start: calc(80 * var(--rem));
  }
}

.our-strengths__title {
  text-align: center;
}

.our-strengths__lead {
  text-align: center;
  margin-block-start: calc(40 * var(--rem));
  font-size: calc(18 * var(--rem));
  @media (width < 768px) {
    font-size: calc(16 * var(--rem));
    margin-block-start: calc(24 * var(--rem));
  }
}

/* *************************************
introduction-category
************************************* */
.introduction-category {
  margin-block-start: calc(4 * var(--rem));
  background-color: var(--gray-bg);
  padding-block: calc(80 * var(--rem));
  @media (width < 768px) {
    padding-block: calc(40 * var(--rem));
  }
}

.introduction-category__inner.inner {
  max-width: calc(1300 * var(--rem));
}

.introduction-category__title {
  margin-inline-start: calc(72 * var(--rem));
  @media (width < 768px) {
    margin-inline-start: 0;
  }
}

.introduction-category__btn {
  text-align: right;
  margin-block-start: calc(-52 * var(--rem));
  @media (width < 768px) {
    margin-block-start: calc(24 * var(--rem));
    padding-inline: calc(20 * var(--rem));
  }
}

.introduction-category__btn[data-modi='pc'] {
  @media (width < 768px) {
    display: none;
  }
}
.introduction-category__btn[data-modi='sp'] {
  display: none;
  @media (width < 768px) {
    display: block;
  }
}

.introduction-category__slider {
  margin-block-start: calc(15 * var(--rem));
}

/* *************************************
partner
************************************* */
.partner {
  margin-block-start: calc(104 * var(--rem));
  padding-bottom: calc(80 * var(--rem));
  @media (width < 768px) {
    margin-block-start: calc(80 * var(--rem));
  }
}

.partner__inner.inner {
  width: min(100%, calc(1050 * var(--rem)));
}

.partner__container + .partner__container {
  margin-block-start: calc(80 * var(--rem));
}

.partner__title {
  border-bottom: 2px solid var(--green);
  position: relative;
  @media (width < 768px) {
    font-size: calc(22 * var(--rem));
  }
}

.partner__title::before {
  content: '';
  position: absolute;
  bottom: calc(-2 * var(--rem));
  width: calc(180 * var(--rem));
  height: calc(2 * var(--rem));
  background: var(--yellow);
  @media (width < 768px) {
    width: calc(80 * var(--rem));
  }
}

.partner__subtitle {
  margin-block-start: calc(16 * var(--rem));
  position: relative;
  padding-inline-start: calc(24 * var(--rem));
  @media (width < 768px) {
    font-size: calc(18 * var(--rem));
    padding-inline-start: calc(16 * var(--rem));
  }
}

.partner__subtitle::before {
  content: '';
  display: block;
  width: 0.7lh;
  aspect-ratio: 1;
  background-color: var(--green);
  border-radius: 100vmax;
  position: absolute;
  top: calc(14 * var(--rem));
  left: 0;
  transform: translate(0%, -50%);
  @media (width < 768px) {
    width: 0.5lh;
  }
}

.partner__num-list {
  margin-block-start: calc(16 * var(--rem));
  display: grid;
  gap: calc(16 * var(--rem));
  margin-inline-start: calc(24 * var(--rem));
}

.partner__num-item {
  counter-increment: num;
}

.partner__num-item::before {
  content: counter(num, decimal-leading) '.';
}

.partner__wrap + .partner__wrap {
  margin-block-start: calc(40 * var(--rem));
}

.partner__bullet-list {
  margin-block-start: calc(16 * var(--rem));
  display: grid;
  gap: calc(16 * var(--rem));
  margin-inline-start: calc(24 * var(--rem));
  @media (width < 768px) {
    margin-inline-start: calc(8 * var(--rem));
  }
}

.partner__bullet-item {
  position: relative;
  padding-inline-start: calc(12 * var(--rem));
}

.partner__bullet-item::before {
  content: '';
  display: block;
  width: 0.2lh;
  aspect-ratio: 1;
  background-color: var(--green);
  border-radius: 100vmax;
  position: absolute;
  top: calc(11 * var(--rem));
  left: 0;
}

.partner__table {
  margin-block-start: calc(40 * var(--rem));
  display: grid;
  gap: calc(8 * var(--rem));
}

.partner__table-item {
  display: grid;
  grid-template-columns: calc(50 * var(--rem)) auto 1fr;
  gap: calc(8 * var(--rem));
}

.partner__table-item dd span {
  font-size: calc(14 * var(--rem));
}

.partner__link {
  margin-block-start: calc(40 * var(--rem));
  display: flex;
  gap: calc(24 * var(--rem));
  @media (width < 768px) {
    flex-direction: column;
    width: min(100%, calc(400 * var(--rem)));
    margin-inline: auto;
  }
}

.partner__link a {
  display: inline-grid;
  grid-template-columns: 1fr auto;
  gap: calc(8 * var(--rem));
  background-color: var(--green);
  color: var(--white);
  padding: calc(10 * var(--rem)) calc(16 * var(--rem));
  @media (width < 768px) {
    padding-block: calc(24 * var(--rem));
  }
}

.partner__link a::after {
  content: '';
  display: block;
  width: 1lh;
  aspect-ratio: 1;
  background: url(../../library/images/common/download.svg) no-repeat center / contain;
}

.partner__link a.partner__pdf::after {
  background: url(../../library/images/common/pdf.svg) no-repeat center / contain;
}

.partner__text {
  margin-block-start: calc(16 * var(--rem));
}

.partner__contact {
  margin-block-start: calc(32 * var(--rem));
  width: fit-content;
  padding-inline: calc(8 * var(--rem));
  border-left: calc(4 * var(--rem)) solid var(--green);
  font-size: calc(18 * var(--rem));
  display: grid;
  place-content: center;
}

.partner__contact a {
  padding: calc(8 * var(--rem));
}

/* *************************************
izukenki-mv
************************************* */
.izukenki-mv {
  height: calc(100vh - calc(80 * var(--rem)));
  margin-block-start: calc(80 * var(--rem));
  position: relative;
  @media (width < 768px) {
    height: calc(70vh - calc(80 * var(--rem)));
  }
}

.izukenki-mv__img {
  height: inherit;
}

.izukenki-mv__img img {
  aspect-ratio: 1440/960;
  width: 100%;
  height: 100%;
  object-fit: cover;
  @media (width < 768px) {
    object-position: 88% 50%;
  }
}

.izukenki-mv__title {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  padding-inline: calc(25 * var(--rem));
  display: grid;
  gap: calc(40 * var(--rem));
  @media (width < 768px) {
    padding-inline: calc(10 * var(--rem));
    top: 100%;
    gap: calc(16 * var(--rem));
  }
}

.izukenki-mv__title-img {
  width: calc(500 * var(--rem));
  background-color: var(--white);
  padding: calc(16 * var(--rem));
  @media (width < 768px) {
    width: calc(250 * var(--rem));
    padding: calc(8 * var(--rem));
  }
}

.izukenki-mv__title-img img {
  aspect-ratio: 953 /186;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.izukenki-mv__title-main span {
  font-size: calc(50 * var(--rem));
  background: var(--izu-kenki);
  color: #fff;
  font-weight: 900;
  letter-spacing: 0.08em;
  display: block;
  width: fit-content;
  padding: calc(5 * var(--rem)) calc(16 * var(--rem));
  margin-bottom: calc(8 * var(--rem));
  @media (width < 768px) {
    font-size: calc(26 * var(--rem));
  }
}

.izukenki-mv__title-main .sp_contents {
  @media (width < 768px) {
    display: contents;
  }
}

.izukenki-mv__title-main .pc_contents {
  display: contents;
  @media (width < 768px) {
    display: block;
  }
}

.izukenki-mv__title-sub span {
  background: #1f1f1f;
  color: #fff;
  font-weight: 900;
  font-size: calc(28 * var(--rem));
  letter-spacing: 0.08em;
  display: block;
  width: fit-content;
  padding: calc(5 * var(--rem)) calc(16 * var(--rem));
  margin-bottom: calc(8 * var(--rem));
  @media (width < 768px) {
    font-size: calc(18 * var(--rem));
  }
}

/* *************************************
about-izukenki
************************************* */
.about-izukenki {
  margin-block-start: calc(104 * var(--rem));
  padding-block-end: calc(104 * var(--rem));
  position: relative;
  @media (width < 768px) {
    margin-block-start: calc(250 * var(--rem));
    padding-block-end: calc(80 * var(--rem));
  }
}

.about-izukenki::after {
  content: '';
  display: block;
  width: calc(100 * var(--rem));
  aspect-ratio: 1;
  background-color: var(--white);
  position: absolute;
  top: calc(100% - 1px);
  left: 50%;
  transform: translate(-50%, 0%);
  clip-path: polygon(0 0, 50% 60%, 100% 0);
  @media (width < 768px) {
    width: calc(80 * var(--rem));
  }
}

.about-izukenki__title {
  text-align: center;
}

.about-izukenki__container {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: calc(40 * var(--rem));
  align-items: center;
  margin-inline-start: calc(50% - 50vw);
  margin-block-start: calc(24 * var(--rem));
  @media (width < 768px) {
    grid-template-columns: 1fr;
    margin-inline: 0;
  }
}

.about-izukenki__img {
  @media (width < 768px) {
    width: 100vw;
    position: relative;
    left: 50%;
    right: 50%;
    margin-inline: -50vw;
  }
}

.about-izukenki__img img {
  aspect-ratio: 723 / 482;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.about-izukenki__lead {
  font-size: calc(18 * var(--rem));
  line-height: 1.8;
}

/* *************************************
izu-kenki-strengths
************************************* */
.izu-kenki-strengths {
  background-color: var(--gray-bg);
  padding-block: calc(104 * var(--rem));
}

.izu-kenki-strengths__title {
  text-align: center;
}

.izu-kenki-strengths__list {
  margin-block-start: calc(24 * var(--rem));
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: calc(24 * var(--rem));
  @media (width < 768px) {
    grid-template-columns: 1fr;
  }
}

.izu-kenki-strengths__item {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
  gap: calc(8 * var(--rem));
  background-color: var(--white);
  padding-block-end: calc(24 * var(--rem));
  @media (width < 768px) {
    grid-template-rows: revert;
  }
}

.izu-kenki-strengths__subtitle {
  font-size: calc(24 * var(--rem));
  text-align: center;
}

.izu-kenki-strengths__img img {
  aspect-ratio: 1290 /860;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.izu-kenki-strengths__text {
  padding-inline: calc(16 * var(--rem));
}

/* *************************************
izu-kenki-contribution
************************************* */
.izu-kenki-contribution {
  padding-block: calc(104 * var(--rem));
  background-image: linear-gradient(0deg, transparent calc(100% - 1px), #f0f0f0 calc(100% - 1px)), linear-gradient(90deg, transparent calc(100% - 1px), #f0f0f0 calc(100% - 1px));
  background-size: 32px 32px;
  background-repeat: repeat;
  background-position: center center;
  overflow-x: hidden;
  scroll-behavior: smooth;
  @media (width < 768px) {
    padding-block: calc(80 * var(--rem));
  }
}

.izu-kenki-contribution__title {
  text-align: center;
}

.izu-kenki-contribution__list {
  margin-block-start: calc(40 * var(--rem));
  display: grid;
  gap: calc(40 * var(--rem));
  @media (width < 768px) {
    gap: calc(16 * var(--rem));
  }
}

.izu-kenki-contribution__item {
  padding-block: calc(40 * var(--rem));
  background: linear-gradient(90deg, transparent 0%, transparent 20%, var(--izu-kenki) 20%, var(--izu-kenki) 60%, transparent 60%, transparent 100%);
  @media (width < 768px) {
    background: linear-gradient(90deg, var(--izu-kenki) 0%, var(--izu-kenki) 40%, transparent 40%, transparent 100%);
  }
}

.izu-kenki-contribution__item:nth-child(odd) {
  background: linear-gradient(90deg, transparent 0%, transparent 40%, var(--izu-kenki) 40%, var(--izu-kenki) 80%, transparent 80%, transparent 100%);
  @media (width < 768px) {
    background: linear-gradient(90deg, transparent 0%, transparent 60%, var(--izu-kenki) 60%, var(--izu-kenki) 100%);
  }
}

.izu-kenki-contribution__container {
  display: flex;
  gap: calc(40 * var(--rem));
  align-items: center;
  @media (width < 768px) {
    flex-direction: column;
    gap: 0;
    box-shadow: 0px 5px 10px 0px rgb(0 0 0 / 0.2);
  }
}

.izu-kenki-contribution__item:nth-child(odd) .izu-kenki-contribution__container {
  flex-direction: row-reverse;
  @media (width < 768px) {
    flex-direction: column;
  }
}

.izu-kenki-contribution__img {
  width: 50%;
  @media (width < 768px) {
    width: 100%;
  }
}

.izu-kenki-contribution__img img {
  aspect-ratio: 833 /546;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.izu-kenki-contribution__item:nth-child(3) .izu-kenki-contribution__img img {
  object-position: 50% 10%;
}

.izu-kenki-contribution__wrap {
  width: 50%;
  background-color: var(--white);
  padding: calc(40 * var(--rem)) calc(24 * var(--rem));
  box-shadow: 0px 5px 10px 0px rgb(0 0 0 / 0.2);
  border-left: 4px solid var(--izu-kenki-gray);
  @media (width < 768px) {
    width: 100%;
    box-shadow: none;
    padding: calc(16 * var(--rem)) calc(24 * var(--rem));
  }
}

.izu-kenki-contribution__subtitle {
  font-size: calc(30 * var(--rem));
  @media (width < 768px) {
    font-size: calc(24 * var(--rem));
  }
}

.izu-kenki-contribution__text {
  margin-block-start: calc(16 * var(--rem));
}

/* *************************************
izu-kenki-overview
************************************* */
.izu-kenki-overview {
  padding-block: calc(80 * var(--rem));
  background-color: var(--green-bg);
  @media (width < 768px) {
    padding-block: calc(80 * var(--rem));
  }
}

.izu-kenki-overview__title {
  text-align: center;
}

.izu-kenki-overview__container {
  background-color: var(--white);
  padding: calc(80 * var(--rem)) calc(40 * var(--rem));
  @media (width < 768px) {
    padding: calc(40 * var(--rem)) calc(10 * var(--rem));
  }
}

.izu-kenki-overview__table-title {
  font-size: calc(24 * var(--rem));
  display: inline-grid;
  grid-template-columns: 1fr auto;
  gap: calc(8 * var(--rem));
  align-items: center;
}

.izu-kenki-overview__table-title::before {
  content: '';
  display: block;
  width: 0.6lh;
  aspect-ratio: 1;
  background-color: var(--green);
}

.izu-kenki-overview__table {
}

.izu-kenki-overview__wrap {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: calc(24 * var(--rem));
  align-items: center;
  margin-block-start: calc(40 * var(--rem));
  @media (width < 768px) {
    grid-template-columns: 1fr;
  }
}

.izu-kenki-overview__img img {
  aspect-ratio: 593 /395;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* *************************************
izu-kenki-machinery
************************************* */
.izu-kenki-machinery {
  padding-block: calc(80 * var(--rem));
  background: url(../../library/images/izu-kenki/machinery-bg.webp) no-repeat center / cover;
  position: relative;
  @media (width < 768px) {
    padding-block: calc(80 * var(--rem));
  }
}

.izu-kenki-machinery::before {
  content: '';
  display: block;
  position: absolute;
  inset: 0;
  background-color: #00000050;
}

.izu-kenki-machinery__inner.inner {
  width: min(100%, calc(1050 * var(--rem)));
}

.izu-kenki-machinery__title {
  text-align: center;
}

.izu-kenki-machinery__container {
  background-color: var(--white);
  padding: calc(80 * var(--rem)) calc(40 * var(--rem));
  position: relative;
  z-index: 1;
  @media (width < 768px) {
    padding: calc(40 * var(--rem)) calc(10 * var(--rem));
  }
}

.izu-kenki-machinery__table-title {
  font-size: calc(24 * var(--rem));
  display: inline-grid;
  grid-template-columns: 1fr auto;
  gap: calc(8 * var(--rem));
  align-items: center;
}

.izu-kenki-machinery__table-title::before {
  content: '';
  display: block;
  width: 0.6lh;
  aspect-ratio: 1;
  background-color: var(--green);
}

.izu-kenki-machinery__table {
  margin-block-start: calc(40 * var(--rem));
}

.izu-kenki-machinery__notis {
  text-align: right;
  margin-block-start: calc(8 * var(--rem));
}

/* *************************************
izu-kenki-certifications
************************************* */
.izu-kenki-certifications {
  padding-block: calc(80 * var(--rem));
  background-color: var(--green-bg);
  @media (width < 768px) {
    padding-block: calc(80 * var(--rem));
  }
}

.izu-kenki-certifications__inner.inner {
  width: min(100%, calc(1050 * var(--rem)));
}

.izu-kenki-certifications__title {
  text-align: center;
}

.izu-kenki-certifications__container {
  background-color: var(--white);
  padding: calc(80 * var(--rem)) calc(40 * var(--rem));
  @media (width < 768px) {
    padding: calc(40 * var(--rem)) calc(10 * var(--rem));
  }
}

.izu-kenki-certifications__table-title {
  font-size: calc(24 * var(--rem));
  display: inline-grid;
  grid-template-columns: 1fr auto;
  gap: calc(8 * var(--rem));
  align-items: center;
}

.izu-kenki-certifications__table-title::before {
  content: '';
  display: block;
  width: 0.6lh;
  aspect-ratio: 1;
  background-color: var(--green);
}

.izu-kenki-certifications__table {
  margin-block-start: calc(40 * var(--rem));
}

/* *************************************
privacy
************************************* */
.privacy {
  margin-block-start: calc(80 * var(--rem));
  padding-block-end: calc(104 * var(--rem));
  @media (width < 768px) {
    margin-block-start: calc(40 * var(--rem));
    padding-block-end: calc(80 * var(--rem));
  }
}

.privacy__inner.inner {
  width: min(100%, calc(1050 * var(--rem)));
}

.privacy__lead {
  text-align: center;
  margin-block-start: calc(40 * var(--rem));
  line-height: 1.8;
}

.privacy section {
  margin-block-start: calc(64 * var(--rem));
}

.privacy h2 {
  border-left: calc(4 * var(--rem)) solid var(--green);
  padding-inline-start: calc(8 * var(--rem));
}

.privacy ol,
.privacy ul {
  margin-block-start: calc(16 * var(--rem));
  display: grid;
  gap: calc(16 * var(--rem));
}

.privacy ol > li {
  position: relative;
  counter-increment: num;
  padding-inline-start: calc(24 * var(--rem));
}

.privacy ol > li::before {
  content: counter(num, decimal-leading) '.';
  position: absolute;
  top: 0;
  left: 0;
  color: var(--green);
}

.privacy ul > li {
  position: relative;
  padding-inline-start: calc(16 * var(--rem));
  line-height: 1.8;
}

.privacy ul > li::before {
  content: '';
  display: block;
  position: absolute;
  width: 0.2lh;
  aspect-ratio: 1;
  border-radius: 100vmax;
  top: calc(12 * var(--rem));
  left: 0;
  background-color: var(--green);
}

.privacy ul > li > p {
  margin-block-start: calc(16 * var(--rem));
}

.privacy p {
  margin-block-start: calc(16 * var(--rem));
  line-height: 1.8;
}

.privacy a {
  color: var(--green);
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: strict;
}

.privacy__contact-wrap {
  background-color: var(--green-bg);
  padding: calc(24 * var(--rem));
  margin-block-start: calc(24 * var(--rem));
}

.privacy__contact-wrap > p {
  list-style: 2;
  margin: 0;
}
