@charset "UTF-8";
/* ====================================================
layout
==================================================== */
/* -----------------------------------------------
header
----------------------------------------------- */
.l-header {
  width: 100%;
  position: fixed;
  left: 0;
  right: 0%;
  top: 0;
  z-index: 9999;
  transition: 1s;
}
@media print, screen and (max-width: 768px) {
  .l-header {
    margin-top: 0;
  }
}
.l-header.is_open {
  background-color: #FFF !important;
  height: 100%;
}
.l-header.is-small {
  background-color: #ffffffc4;
  box-shadow: 0 2px 24px 0 rgba(0, 140, 214, 0.15);
}
.l-header.is-small .l-header__link > a {
  border: 1px solid #00994B;
}
.l-header.is-scroll.is-small {
  transform: translateY(-150%);
}
.l-header__logo {
  width: 67rem;
  margin-left: 4rem;
}
@media print, screen and (max-width: 1200px) {
  .l-header__logo {
    width: 55rem;
  }
}
@media print, screen and (max-width: 768px) {
  .l-header__logo {
    width: 20rem;
    margin-left: 1.5rem;
    margin-top: 1.5rem;
  }
}
.l-header__logo > a {
  display: block;
}
.l-header__inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
@media print, screen and (max-width: 768px) {
  .l-header__inner {
    align-items: flex-start;
  }
}
.l-header__right {
  margin-left: auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  overflow: hidden;
  position: relative;
  padding: 3rem 4rem 3rem 2rem;
}
@media print, screen and (max-width: 768px) {
  .l-header__right {
    padding: 1.5rem 1.5rem 1.5rem 2rem;
  }
}
@media print, screen and (max-width: 768px) {
  .l-header__right .l-header__link {
    display: none;
  }
}
.l-header__right::before {
  left: 10rem;
}
.is_open .l-header__right::before {
  transform-origin: 0% 100%;
  transform: scaleX(1.4) skewX(-36deg);
  left: 0;
  background-image: url(../img/common/noise-green.png);
  background-repeat: repeat;
  background-size: 100% auto;
  background-blend-mode: soft-light;
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  top: 0;
  height: 100%;
  z-index: -1;
}
.l-header__link {
  display: flex;
}
@media print, screen and (max-width: 768px) {
  .l-header__link {
    background-image: url(../img/common/noise-green.png);
    background-repeat: repeat;
    background-size: 100% auto;
    background-blend-mode: soft-light;
    padding: 2rem 0 8rem;
    flex-wrap: wrap;
  }
}
.l-header__link > a {
  text-align: center;
  margin-left: 1.6rem;
  background-color: #FFF;
  font-weight: 500;
  font-size: 1.7rem;
  color: #00994B;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 20rem;
  width: 100%;
  line-height: 1;
  padding: 2rem 1rem;
}
@media print, screen and (max-width: 1200px) {
  .l-header__link > a {
    font-size: 2.1rem;
    min-width: 24rem;
  }
}
@media print, screen and (max-width: 768px) {
  .l-header__link > a {
    min-width: auto;
    width: 45%;
    font-size: 1.3rem;
    padding: 1.3rem 1rem;
    margin-bottom: 1.3rem;
    margin-left: 1.2rem;
  }
}
.l-header__link > a.mypage {
  background-color: #00994B;
  color: #FFF;
}
.is_open .l-header__link > a.mypage {
  background-color: #004A39;
}
.l-header__nav {
  display: none;
  width: 100%;
  padding: 10rem 0 4rem;
  position: relative;
  height: calc(100vh - 11rem);
}
@media print, screen and (max-width: 1200px) {
  .l-header__nav {
    overflow-y: scroll;
    padding: 1rem 0 2rem;
    height: calc(100vh - 5rem);
  }
}
@media print, screen and (max-width: 768px) {
  .l-header__nav {
    padding: 1rem 0 0;
  }
}
.l-header__nav::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 4rem;
  bottom: 0;
  left: 0;
  background-image: url(../img/common/noise-green.png);
  background-repeat: repeat;
  background-size: 100% auto;
  background-blend-mode: soft-light;
}
@media print, screen and (max-width: 1200px) {
  .l-header__nav::after {
    display: none;
  }
}
.is_open .l-header__nav {
  display: block;
}
.l-header__nav__inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 95%;
  margin: auto;
}
@media print, screen and (max-width: 768px) {
  .l-header__nav__inner {
    width: 100%;
    padding: 0 1.5rem;
  }
}
.l-header__nav__colum {
  width: 20%;
}
@media print, screen and (max-width: 1200px) {
  .l-header__nav__colum {
    width: 23%;
  }
}
@media print, screen and (max-width: 768px) {
  .l-header__nav__colum {
    width: 100%;
  }
}
.l-header__nav__colum.-person {
  width: 30%;
}
@media print, screen and (max-width: 1200px) {
  .l-header__nav__colum.-person {
    width: 23%;
  }
}
@media print, screen and (max-width: 768px) {
  .l-header__nav__colum.-person {
    width: 100%;
  }
}
.l-header__nav__colum.-person > dl > dd {
  gap: 4%;
}
.l-header__nav__colum.-person > dl > dd a {
  width: 55%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 1rem;
}
@media print, screen and (max-width: 1200px) {
  .l-header__nav__colum.-person > dl > dd a {
    width: 100%;
  }
}
@media print, screen and (max-width: 768px) {
  .l-header__nav__colum.-person > dl > dd a {
    width: 55%;
    font-size: 1.1rem;
    flex-direction: row;
  }
}
.l-header__nav__colum.-person > dl > dd a.-movie > figcaption {
  padding-left: 0;
  padding-top: 0;
}
@media print, screen and (max-width: 768px) {
  .l-header__nav__colum.-person > dl > dd a.-movie > figcaption {
    padding-left: 1.5rem;
  }
}
.l-header__nav__colum.-person > dl > dd a.-movie > figcaption .label {
  margin-bottom: .7rem;
  display: block;
  width: 7.7rem;
}
@media print, screen and (max-width: 768px) {
  .l-header__nav__colum.-person > dl > dd a.-movie > figcaption .label {
    width: 5rem;
    margin-bottom: 0;
  }
}
.l-header__nav__colum.-person > dl > dd a:nth-child(2n) {
  width: 40%;
}
@media print, screen and (max-width: 1200px) {
  .l-header__nav__colum.-person > dl > dd a:nth-child(2n) {
    width: 100%;
  }
}
@media print, screen and (max-width: 768px) {
  .l-header__nav__colum.-person > dl > dd a:nth-child(2n) {
    width: 40%;
  }
}
.l-header__nav__colum.-person > dl > dd a:nth-child(1) > figcaption::after {
  background-image: url(../img/common/nav_person_num01.svg);
}
.l-header__nav__colum.-person > dl > dd a:nth-child(2) > figcaption::after {
  background-image: url(../img/common/nav_person_num02.svg);
}
.l-header__nav__colum.-person > dl > dd a:nth-child(3) > figcaption::after {
  background-image: url(../img/common/nav_person_num03.svg);
}
.l-header__nav__colum.-person > dl > dd a:nth-child(4) > figcaption::after {
  background-image: url(../img/common/nav_person_num04.svg);
}
.l-header__nav__colum.-person > dl > dd a:nth-child(5) > figcaption::after {
  background-image: url(../img/common/nav_person_num05.svg);
}
.l-header__nav__colum.-person > dl > dd a:nth-child(6) > figcaption::after {
  background-image: url(../img/common/nav_person_num06.svg);
}
.l-header__nav__colum.-person > dl > dd a > figure {
  width: 7.7rem;
}
@media print, screen and (max-width: 768px) {
  .l-header__nav__colum.-person > dl > dd a > figure {
    width: 5rem;
  }
}
.l-header__nav__colum.-person > dl > dd a > figcaption {
  position: relative;
  width: calc(100% - 9rem);
  margin-top: 0;
  padding-left: 2.4rem;
  padding-top: 1.8rem;
}
@media print, screen and (max-width: 768px) {
  .l-header__nav__colum.-person > dl > dd a > figcaption {
    width: calc(100% - 5rem);
  }
}
@media print, screen and (max-width: 768px) {
  .l-header__nav__colum.-person > dl > dd a > figcaption {
    padding-left: 2rem;
    padding-top: 1rem;
  }
}
.l-header__nav__colum.-person > dl > dd a > figcaption::after {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 3.9rem;
  height: 3.9rem;
}
@media print, screen and (max-width: 768px) {
  .l-header__nav__colum.-person > dl > dd a > figcaption::after {
    width: 2.5rem;
    height: 2.5rem;
  }
}
.l-header__nav__colum > dl {
  margin-bottom: 4rem;
}
@media print, screen and (max-width: 768px) {
  .l-header__nav__colum > dl {
    margin-bottom: 0;
  }
}
.l-header__nav__colum > dl > dt {
  color: #00994B;
  margin-bottom: 2.8rem;
  font-size: 2.4rem;
  position: relative;
}
@media print, screen and (max-width: 1200px) {
  .l-header__nav__colum > dl > dt {
    font-size: 20px;
    line-height: 1.3;
  }
}
@media print, screen and (max-width: 768px) {
  .l-header__nav__colum > dl > dt {
    font-size: 2.2rem;
    margin-bottom: 0;
    padding: 1.7rem 0;
    border-bottom: 1px solid #aaa;
  }
  .l-header__nav__colum > dl > dt.is-accOpen::after {
    transform: rotate(45deg);
    top: 1rem;
  }
  .l-header__nav__colum > dl > dt::after {
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    right: 0;
    width: 1rem;
    height: 1rem;
    content: '';
    clip-path: polygon(100% 0%, 0% 0%, 0 100%);
    background: linear-gradient(to right, #00994B, #00844B);
    z-index: -1;
    transform: rotate(225deg);
  }
}
.l-header__nav__colum > dl > dt > .en {
  font-weight: 500;
}
@media print, screen and (max-width: 1200px) {
  .l-header__nav__colum > dl > dt > .en {
    display: block;
  }
}
@media print, screen and (max-width: 768px) {
  .l-header__nav__colum > dl > dt > .en {
    display: inline-block;
  }
}
.l-header__nav__colum > dl > dt > .ja {
  font-size: .7em;
}
@media print, screen and (max-width: 768px) {
  .l-header__nav__colum > dl > dt > .ja {
    margin-left: 1rem;
  }
}
@media print, screen and (max-width: 768px) {
  .l-header__nav__colum > dl > dd {
    display: none;
    background-color: #e0dfdf;
    background-image: url(../img/common/noise.png);
    background-repeat: repeat;
    background-size: 100px;
    background-blend-mode: soft-light;
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
    width: 100vw;
    padding: 2rem 1.5rem;
  }
}
@media print, screen and (max-width: 1200px) {
  .l-header__nav__colum > dl > dd.u-fl > *, .l-header__nav__colum > dl > dd > .u-fl > * {
    width: 100%;
    margin-bottom: 8%;
  }
}
@media print, screen and (max-width: 768px) {
  .l-header__nav__colum > dl > dd > .u-fl {
    justify-content: space-between;
  }
}
.l-header__nav__colum > dl > dd a {
  font-size: 1.6rem;
}
@media print, screen and (max-width: 1200px) {
  .l-header__nav__colum > dl > dd a {
    font-size: 15px;
  }
}
@media print, screen and (max-width: 768px) {
  .l-header__nav__colum > dl > dd a {
    font-size: 1.4rem;
    display: flex;
    flex-direction: column-reverse;
  }
}
.l-header__nav__colum > dl > dd a > figure > img {
  width: 100%;
}
.l-header__nav__colum > dl > dd a > figcaption {
  margin-top: 1rem;
}
@media print, screen and (max-width: 768px) {
  .l-header__nav__colum > dl > dd a > figcaption {
    margin-top: 0;
    margin-bottom: 1rem;
  }
}
.l-header__nav__side > a {
  font-size: 1.6rem;
  display: block;
}
@media print, screen and (max-width: 1200px) {
  .l-header__nav__side > a {
    font-size: 15px;
  }
}
@media print, screen and (max-width: 768px) {
  .l-header__nav__side {
    padding: 2rem 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    justify-content: center;
    font-weight: 300;
    font-size: 1rem;
    margin-top: 0;
  }
  .l-header__nav__side > a {
    display: block;
    padding: 0 2rem;
  }
  .l-header__nav__side > a + a {
    border-left: 1px solid #000000;
  }
}

/* -----------------------------------------------
l-footer
----------------------------------------------- */
.l-footer {
  position: relative;
}
@media print, screen and (max-width: 768px) {
  .l-footer {
    margin-top: 7rem;
  }
}
.l-footer__inner {
  padding-top: 6rem;
  padding-bottom: 6rem;
  width: 90%;
  margin: auto;
}
@media print, screen and (max-width: 768px) {
  .l-footer__inner {
    padding: 2rem 1rem 2rem;
  }
}
.l-footer__logo {
  width: 56rem;
  display: block;
}
@media print, screen and (max-width: 768px) {
  .l-footer__logo {
    display: none;
  }
}
.l-footer__nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 5.7rem;
}
@media print, screen and (max-width: 768px) {
  .l-footer__nav {
    display: none;
  }
}
@media print, screen and (max-width: 1200px) {
  .l-footer__nav > dl {
    width: 33.3%;
    margin-bottom: 3rem;
  }
}
.l-footer__nav > dl > dt {
  font-weight: 500;
  font-size: 2,2rem;
  color: #00994B;
  margin-bottom: 2rem;
}
@media print, screen and (max-width: 1200px) {
  .l-footer__nav > dl > dt {
    font-size: 18px;
  }
}
.l-footer__nav > dl > dd > a {
  display: block;
  margin-bottom: 1rem;
  font-size: 1.8rem;
  font-weight: 400;
}
@media print, screen and (max-width: 1200px) {
  .l-footer__nav > dl > dd > a {
    font-size: 13px;
    margin-bottom: 2rem;
  }
}
.l-footer__sidelink {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  justify-content: center;
  font-weight: 300;
  font-size: 1.6rem;
  margin-top: 4rem;
}
@media print, screen and (max-width: 1200px) {
  .l-footer__sidelink {
    font-size: 13px;
  }
}
@media print, screen and (max-width: 768px) {
  .l-footer__sidelink {
    font-size: 1rem;
    margin-top: 0;
  }
}
.l-footer__sidelink > li > a {
  display: block;
  padding: 0 4rem;
}
@media print, screen and (max-width: 768px) {
  .l-footer__sidelink > li > a {
    padding: 0 1.3rem;
  }
}
.l-footer__sidelink > li + li {
  border-left: 1px solid #000000;
}
.l-footer__copy {
  text-align: center;
  font-size: 1.6rem;
  font-weight: 400;
  margin-top: 3rem;
}
@media print, screen and (max-width: 1200px) {
  .l-footer__copy {
    font-size: 12px;
  }
}
@media print, screen and (max-width: 768px) {
  .l-footer__copy {
    font-size: 1rem;
    margin-top: 1.5rem;
  }
}

/* -----------------------------------------------
l-hamburger
----------------------------------------------- */
.l-hamburger {
  display: block;
  cursor: pointer;
  width: 6rem;
  height: 4rem;
  margin-left: 4rem;
  z-index: 99999;
  position: relative;
}
@media print, screen and (max-width: 768px) {
  .l-hamburger {
    width: 2.5rem;
    height: 2rem;
  }
}
.l-hamburger span {
  display: inline-block;
  transition: all 0.4s;
  position: absolute;
  left: 0;
  right: 0%;
  margin: auto;
  height: 2px;
  border-radius: 2rem;
  width: 100%;
  background: #222;
}
@media print, screen and (max-width: 768px) {
  .l-hamburger span {
    height: .2rem;
  }
}
.l-hamburger span:nth-of-type(1) {
  top: 0;
}
.l-hamburger span:nth-of-type(2) {
  top: calc( 50% - .25rem);
}
@media print, screen and (max-width: 768px) {
  .l-hamburger span:nth-of-type(2) {
    top: calc( 50% - .1rem);
  }
}
.l-hamburger span:nth-of-type(3) {
  bottom: 0;
}
.l-hamburger.is_open {
  height: 5.5rem;
}
@media print, screen and (max-width: 768px) {
  .l-hamburger.is_open {
    height: 2rem;
  }
}
.l-hamburger.is_open span {
  background: #FFF;
}
.l-hamburger.is_open span:nth-of-type(1) {
  top: 2.7rem;
  transform: translateY(0) rotate(-210deg);
}
@media print, screen and (max-width: 768px) {
  .l-hamburger.is_open span:nth-of-type(1) {
    top: .9rem;
  }
}
.l-hamburger.is_open span:nth-of-type(2) {
  opacity: 0;
}
.l-hamburger.is_open span:nth-of-type(3) {
  bottom: 2.7rem;
  transform: translateY(0) rotate(210deg);
}
@media print, screen and (max-width: 768px) {
  .l-hamburger.is_open span:nth-of-type(3) {
    bottom: .9rem;
  }
}

/* -----------------------------------------------
home
----------------------------------------------- */
.home-sec {
  position: relative;
  padding-bottom: 22rem;
  overflow: hidden;
}
@media print, screen and (max-width: 768px) {
  .home-sec {
    padding-bottom: 8rem;
  }
}
.home-sec.-left.home-news::before {
  height: 80%;
  top: 0;
}
.home-sec.-left.animated::after {
  transform: skewX(130deg) translateX(-85%);
  transition: transform 1s cubic-bezier(0.645, 0.045, 0.355, 1) 0.8s;
}
.home-sec.-left::after {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 91rem;
  transform: skewX(130deg) translateX(0);
  margin: auto;
  position: absolute;
  content: "";
  z-index: 1;
  background: linear-gradient(to right, #00994B, #00844B);
}
@media print, screen and (max-width: 768px) {
  .home-sec.-left::after {
    height: 40rem;
  }
}
.home-sec.-left::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 28rem;
  z-index: -1;
  background-color: #e0dfdf;
  background-image: url(../img/common/noise.png);
  background-repeat: repeat;
  background-size: 100px;
  background-blend-mode: soft-light;
}
.home-sec.-right.animated::after {
  transform: skewX(130deg) translateX(85%);
  transition: transform 1s cubic-bezier(0.645, 0.045, 0.355, 1) 0.8s;
}
.home-sec.-right::after {
  right: 0;
  top: 0;
  width: 100%;
  height: 51rem;
  transform: skewX(130deg) translateX(-85%);
  margin: auto;
  position: absolute;
  content: "";
  z-index: 1;
  background: linear-gradient(to top, #00994B, #00844B);
}
@media print, screen and (max-width: 768px) {
  .home-sec.-right::after {
    height: 40rem;
    top: -13rem;
  }
}
.home-sec__head {
  display: block;
  padding-top: 9rem;
  min-height: 51rem;
  z-index: 2;
  position: relative;
}
@media print, screen and (max-width: 768px) {
  .home-sec__head {
    padding-top: 3rem;
    min-height: 34rem;
  }
  .home-environment .home-sec__head {
    min-height: 42rem;
  }
}
@media print, screen and (max-width: 768px) and (max-width: 768px) {
  .home-environment .home-sec__head {
    min-height: 40rem;
  }
}
@media print, screen and (max-width: 768px) {
  .home-crosstalk .home-sec__head {
    min-height: 42rem;
  }
}
@media print, screen and (max-width: 768px) and (max-width: 768px) {
  .home-crosstalk .home-sec__head {
    min-height: 40rem;
  }
}

.-left .home-sec__head.animated::after, .-right .home-sec__head.animated::after {
  transform: translateX(0%);
  transition: transform 1s cubic-bezier(0.645, 0.045, 0.355, 1) 0.8s;
}
.home-sec__head::after {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  width: 120rem;
  height: 51rem;
  background-size: cover;
  background-position: top right;
  background-repeat: no-repeat;
}
@media print, screen and (max-width: 768px) {
  .home-sec__head::after {
    width: 100%;
    height: 17rem;
    top: auto;
    bottom: 0;
  }
}
.-left .home-sec__head::after {
  right: 0;
  transform: translateX(20%);
}
.-right .home-sec__head::after {
  left: 0;
  transform: translateX(-20%);
}
.home-about .home-sec__head::after {
  background-image: url(../img/home/about_head.png);
}
.home-works .home-sec__head::after {
  background-image: url(../img/home/works_head.png);
}
.home-environment .home-sec__head::after {
  background-image: url(../img/home/environment_head.png);
}
.home-person .home-sec__head::after {
  background-image: url(../img/home/person_head.png);
}
.home-crosstalk .home-sec__head::after {
  background-image: url(../img/home/crosstalk_head.png);
}
.home-linkbox {
  position: relative;
  padding-left: 5.7rem;
}
@media print, screen and (max-width: 768px) {
  .home-linkbox {
    padding-left: 2rem;
  }
}
.home-linkbox > figcaption {
  position: absolute;
  width: 50%;
  padding: 4.5rem 3rem 2rem 3rem;
  background-color: #00994B;
  left: 0;
  bottom: 3rem;
  font-size: 1.6rem;
  color: #FFF;
}
@media print, screen and (max-width: 768px) {
  .home-linkbox > figcaption {
    padding: 3rem 1rem 1rem 1rem;
    font-size: 1rem;
    bottom: 1rem;
    width: 70%;
  }
}
.home-linkbox > figcaption > .c-liner {
  font-size: 2.6rem;
  position: absolute;
  bottom: 6rem;
}
@media print, screen and (max-width: 1200px) {
  .home-linkbox > figcaption > .c-liner {
    font-size: 18px;
  }
}
@media print, screen and (max-width: 768px) {
  .home-linkbox > figcaption > .c-liner {
    font-size: 1.5rem;
    bottom: 3rem;
  }
}
.home-linkbox > figcaption > .c-liner > span {
  padding: .2rem 1rem;
}
.home-linkbox:nth-child(2n) {
  margin-top: 5rem;
}
@media print, screen and (max-width: 768px) {
  .home-linkbox:nth-child(2n) {
    margin-top: 0;
  }
}
.home-title {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}
.-right .home-title {
  align-items: flex-end;
}
.-left .home-title {
  align-items: flex-start;
}
.home-title > .en {
  font-weight: 500;
  font-size: 15rem;
  display: block;
  line-height: 1;
}
@media print, screen and (max-width: 768px) {
  .home-title > .en {
    font-size: 7rem;
  }
}
.-right .home-title > .en {
  text-align: right;
  padding-right: 20rem;
}
@media print, screen and (max-width: 768px) {
  .-right .home-title > .en {
    padding-right: 1.5rem;
  }
}
.-left .home-title > .en {
  text-align: left;
  padding-left: 20rem;
}
@media print, screen and (max-width: 768px) {
  .-left .home-title > .en {
    padding-left: 1.5rem;
  }
}
.-right .home-title > .en::first-letter {
  color: #00994B;
}
.-left .home-title > .en::first-letter {
  color: #FFF;
}
.home-title > .ja {
  font-size: 4rem;
  display: block;
  position: relative;
  width: 96rem;
}
@media print, screen and (max-width: 768px) {
  .home-title > .ja {
    font-size: 2rem;
    width: 90%;
  }
}
.home-title > .ja > .cover {
  display: block;
  position: relative;
  overflow: hidden;
  margin-bottom: 3rem;
}
.-right .home-title > .ja > .cover {
  padding: .8rem 2rem .8rem 10rem;
}
@media print, screen and (max-width: 768px) {
  .-right .home-title > .ja > .cover {
    padding: .4rem 2rem .4rem 5rem;
  }
}
.-right .home-title > .ja > .cover::before {
  background-color: #000;
  transform-origin: 0 100%;
  transform: scaleX(1.4) skewX(-36deg);
  left: 0;
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  top: 0;
  height: 100%;
  z-index: -1;
}
.-left .home-title > .ja > .cover {
  padding: .8rem 2rem .8rem 20rem;
}
@media print, screen and (max-width: 768px) {
  .-left .home-title > .ja > .cover {
    padding: .4rem 2rem .4rem 2rem;
  }
}
.-left .home-title > .ja > .cover::before {
  background-color: #000;
  transform-origin: 100% 100%;
  transform: scaleX(1.4) skewX(-36deg);
  right: 9rem;
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  top: 0;
  height: 100%;
  z-index: -1;
}
.home-title > .ja > .cover > .inner {
  color: #FFF;
  position: relative;
  display: inline-block;
}
.home-mv {
  width: 100vw;
  position: relative;
  overflow: hidden;
  height: 108rem;
  display: flex;
  align-items: center;
  padding-left: 13rem;
}
@media print, screen and (max-width: 1200px) {
  .home-mv {
    padding-left: 6rem;
  }
}
@media print, screen and (max-width: 768px) {
  .home-mv {
    height: 55rem;
    padding-left: 0;
  }
}
.home-mv.animated::after {
  transform: skewX(139deg) translateX(-77%);
  transition: transform 0.5s cubic-bezier(0.645, 0.045, 0.355, 1) 0.8s;
}
.home-mv.animated::before {
  transform: skewX(-139deg) translateX(-77%);
  transition: transform 0.5s cubic-bezier(0.645, 0.045, 0.355, 1) 0.8s;
}
.home-mv::after {
  opacity: 0.75;
  width: 100%;
  height: 100%;
  transform: skewX(139deg) translateX(-20%);
  right: 0;
  top: 0;
  margin: auto;
  position: absolute;
  background-color: #FFF;
  content: "";
  z-index: 1;
}
@media print, screen and (max-width: 768px) {
  .home-mv::after {
    right: 15rem;
  }
}
.home-mv::before {
  opacity: 0.75;
  width: 100%;
  height: 100%;
  transform: skewX(-139deg) translateX(-20%);
  right: 0;
  bottom: 0;
  margin: auto;
  position: absolute;
  content: "";
  z-index: 2;
  background: linear-gradient(to right, #00994B, #00844B);
}
@media print, screen and (max-width: 768px) {
  .home-mv::before {
    right: 15rem;
  }
}
.home-mv__title {
  z-index: 3;
  position: relative;
  width: 75rem;
  opacity: 1;
}
@media print, screen and (max-width: 1200px) {
  .home-mv__title {
    width: 40%;
  }
}
@media print, screen and (max-width: 768px) {
  .home-mv__title {
    width: 100%;
    position: absolute;
    bottom: 2.5rem;
  }
}
.home-mv iframe {
  position: absolute;
  top: 50%;
  right: 50%;
  bottom: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
@media print, screen and (max-width: 768px) {
  .home-mv iframe {
    width: 102rem;
    -webkit-transform: translate(-60%, -50%);
    transform: translate(-60%, -50%);
  }
}
.home-news {
  position: relative;
  padding: 10rem 0 45.5rem;
}
@media print, screen and (max-width: 768px) {
  .home-news {
    padding: 2.5rem 1.5rem 16rem;
  }
}
.home-news__wrap {
  background-color: #FFF;
  padding: 5.6rem 7rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  min-height: 36rem;
  z-index: 2;
  position: relative;
}
@media print, screen and (max-width: 768px) {
  .home-news__wrap {
    padding: 2.5rem 2.5rem;
    display: block;
    min-height: auto;
  }
}
.home-news__title {
  font-weight: 500;
  width: 25%;
  line-height: 1;
  z-index: 2;
}
@media print, screen and (max-width: 768px) {
  .home-news__title {
    width: 100%;
  }
}
.home-news__title span {
  display: inline-block;
  position: relative;
}
.home-news__title span.head {
  z-index: 1;
  color: #FFF;
  font-size: 88px;
}
@media print, screen and (max-width: 1200px) {
  .home-news__title span.head {
    font-size: 60px;
  }
}
@media print, screen and (max-width: 768px) {
  .home-news__title span.head {
    font-size: 44px;
  }
}
.home-news__title span.head::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 130px;
  height: 130px;
  content: '';
  clip-path: polygon(100% 0%, 0% 0%, 0 100%);
  background: linear-gradient(to right, #00994B, #00844B);
  z-index: -1;
}
@media print, screen and (max-width: 1200px) {
  .home-news__title span.head::after {
    width: 80px;
    height: 80px;
  }
}
@media print, screen and (max-width: 768px) {
  .home-news__title span.head::after {
    width: 60px;
    height: 60px;
  }
}
.home-news__title span.foot {
  font-size: 55px;
  z-index: 2;
}
@media print, screen and (max-width: 1200px) {
  .home-news__title span.foot {
    font-size: 40px;
  }
}
@media print, screen and (max-width: 768px) {
  .home-news__title span.foot {
    font-size: 22px;
  }
}
.home-news__list {
  width: 75%;
}
@media print, screen and (max-width: 768px) {
  .home-news__list {
    width: 100%;
    margin-top: 2.5rem;
  }
}
.home-news__list dl {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.home-news__list dl + dl {
  margin-top: 4rem;
}
@media print, screen and (max-width: 768px) {
  .home-news__list dl + dl {
    margin-top: 1.5rem;
  }
}
.home-news__list dt {
  font-family: "Jost", sans-serif;
  font-weight: 600;
  width: 20%;
  font-size: 20px;
}
@media print, screen and (max-width: 768px) {
  .home-news__list dt {
    width: 100%;
    font-size: 15px;
  }
}
.home-news__list dd {
  width: 80%;
  font-size: 16px;
}
@media print, screen and (max-width: 768px) {
  .home-news__list dd {
    width: 100%;
    font-size: 15px;
  }
}
.home-about {
  margin-top: -28rem;
  z-index: 2;
}
@media print, screen and (max-width: 768px) {
  .home-about {
    margin-top: -11.7rem;
  }
}
.home-about__main {
  margin-top: -7rem;
  position: relative;
  z-index: 2;
}
@media print, screen and (max-width: 768px) {
  .home-about__main {
    margin-top: 3rem;
  }
}
.home-works__main {
  margin-top: 8rem;
  z-index: 2;
  position: relative;
}
@media print, screen and (max-width: 768px) {
  .home-works__main {
    margin-top: 3rem;
  }
}
.home-works__main .home-linkbox:nth-child(3) {
  width: 60%;
  margin: auto;
}
@media print, screen and (max-width: 768px) {
  .home-works__main .home-linkbox:nth-child(3) {
    width: 100%;
  }
}
.home-person__main {
  margin-top: -12rem;
  z-index: 2;
  position: relative;
}
@media print, screen and (max-width: 768px) {
  .home-person__main {
    margin-top: -5rem;
  }
}
.home-person__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-end;
  justify-content: center;
  gap: 4%;
}
.home-person__item {
  display: block;
  width: 22%;
  margin-top: 6rem;
}
@media print, screen and (max-width: 768px) {
  .home-person__item {
    width: 45%;
    margin-top: 4rem;
  }
}
.home-person__item:nth-child(2n + 1) {
  margin-bottom: -3rem !important;
}
@media print, screen and (max-width: 768px) {
  .home-person__item:nth-child(2n + 1) {
    margin-bottom: -2rem !important;
  }
}
.home-enviroment__main {
  margin-top: 8rem;
  z-index: 2;
  position: relative;
}
@media print, screen and (max-width: 768px) {
  .home-enviroment__main {
    margin-top: 3rem;
  }
}
.home-enviroment__main .home-linkbox {
  padding-left: 0;
}
@media print, screen and (max-width: 768px) {
  .home-enviroment__main .home-linkbox {
    padding-left: 2rem;
  }
}
.home-enviroment__main .home-linkbox > figcaption {
  width: 100%;
  position: relative;
}
@media print, screen and (max-width: 768px) {
  .home-enviroment__main .home-linkbox > figcaption {
    width: 80%;
    position: absolute;
  }
}
.home-crosstalk {
  padding-bottom: 8rem;
}
.home-crosstalk .home-linkbox:nth-child(2n) {
  margin-top: 0;
}
.home-crosstalk .c-liner > span.movie {
  font-size: .7em;
  background-color: #004A39;
}
.home-crosstalk__main {
  margin-top: -6rem;
  z-index: 2;
  position: relative;
}
@media print, screen and (max-width: 768px) {
  .home-crosstalk__main {
    margin-top: 3rem;
  }
}
.home-recruit {
  background-image: url(../img/home/recruit_bg.jpg);
  background-size: cover;
  padding: 16rem 0 39rem;
}
@media print, screen and (max-width: 768px) {
  .home-recruit {
    padding: 5rem 0 7rem;
  }
}
.home-recruit__title {
  line-height: 1;
}
.home-recruit__title > .en {
  font-weight: 500;
}
.home-recruit__title > .en > span.head {
  z-index: 1;
  color: #FFF;
  font-size: 15rem;
  position: relative;
  padding-left: 2rem;
  display: inline-block;
}
@media print, screen and (max-width: 768px) {
  .home-recruit__title > .en > span.head {
    font-size: 7rem;
    padding-left: 1rem;
  }
}
.home-recruit__title > .en > span.head::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 22rem;
  height: 22rem;
  content: '';
  clip-path: polygon(100% 0%, 0% 0%, 0 100%);
  background: linear-gradient(to right, #00994B, #00844B);
  z-index: -1;
}
@media print, screen and (max-width: 768px) {
  .home-recruit__title > .en > span.head::after {
    width: 10rem;
    height: 10rem;
  }
}
.home-recruit__title > .en > span.foot {
  font-size: 9rem;
  z-index: 2;
  position: relative;
}
@media print, screen and (max-width: 768px) {
  .home-recruit__title > .en > span.foot {
    font-size: 4rem;
  }
}
.home-recruit__title > .ja {
  display: block;
  font-size: 4rem;
  margin-left: 11rem;
}
@media print, screen and (max-width: 768px) {
  .home-recruit__title > .ja {
    font-size: 2rem;
    margin-left: 6rem;
  }
}
.home-recruit__main {
  margin-top: 9rem;
  gap: 3%;
}
@media print, screen and (max-width: 768px) {
  .home-recruit__main {
    gap: 6%;
    margin-top: 6rem;
  }
}
.home-recruit__main > * {
  width: 17%;
}
@media print, screen and (max-width: 768px) {
  .home-recruit__main > * {
    width: 47%;
  }
}
.home-recruit__item {
  padding: 2rem 1rem;
  background-color: #FFF;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
@media print, screen and (max-width: 768px) {
  .home-recruit__item {
    margin-bottom: 2rem;
  }
}
.home-recruit__item > figure {
  width: 12rem;
}
@media print, screen and (max-width: 768px) {
  .home-recruit__item > figure {
    width: 6rem;
  }
}
.home-recruit__item > figcaption {
  text-align: center;
  font-size: 2rem;
  font-weight: 400;
  line-height: 1.6;
  margin-top: 1.5rem;
  color: #00994B;
}
@media print, screen and (max-width: 1200px) {
  .home-recruit__item > figcaption {
    font-size: 16px;
  }
}
@media print, screen and (max-width: 768px) {
  .home-recruit__item > figcaption {
    font-size: 1.4rem;
    margin-top: .5rem;
  }
}

/* ====================================================
page
==================================================== */
.page-mv {
  width: 100vw;
  position: relative;
  overflow: hidden;
  height: 108rem;
  display: flex;
  align-items: center;
  padding-left: 13rem;
  background-size: cover;
}
@media print, screen and (max-width: 1200px) {
  .page-mv {
    padding-left: 6rem;
  }
}
@media print, screen and (max-width: 768px) {
  .page-mv {
    padding-left: 2rem;
    height: 21rem;
  }
}
.page-mv.animated::after {
  transform: skewX(139deg) translateX(-77%);
  transition: transform 0.5s cubic-bezier(0.645, 0.045, 0.355, 1) 0.8s;
}
.page-mv.animated::before {
  transform: skewX(139deg) translateX(77%);
  transition: transform 0.5s cubic-bezier(0.645, 0.045, 0.355, 1) 0.8s;
}
.page-mv::after {
  opacity: 0.75;
  width: 100%;
  height: 100%;
  transform: skewX(139deg) translateX(-110%);
  right: 0;
  top: 0;
  margin: auto;
  position: absolute;
  background-color: #FFF;
  content: "";
  z-index: 1;
}
.page-mv::before {
  opacity: 0.75;
  width: 20%;
  height: 60%;
  transform: skewX(139deg) translateX(110%);
  right: 0;
  bottom: 0;
  margin: auto;
  position: absolute;
  background-color: #FFF;
  content: "";
  z-index: 1;
}
@media print, screen and (max-width: 768px) {
  .page-mv::before {
    right: 0;
    width: 25%;
    height: 25%;
  }
}
.page-mv__title {
  z-index: 2;
}
.page-mv__title__cover {
  min-width: 60rem;
  font-size: 7.4rem;
  letter-spacing: .2em;
}
@media print, screen and (max-width: 768px) {
  .page-mv__title__cover {
    font-size: 1.9rem;
    min-width: 16rem;
  }
}
.page-mv__title__cover::before {
  right: 0;
}
.page-mv.-about {
  background-image: url(../img/about/mv_bg.jpg);
}
.page-mv.-works {
  background-image: url(../img/works/mv_bg.jpg);
}
.page-mv.-recruit {
  background-image: url(../img/recruit/mv_bg.jpg);
}
.page-mv.-person {
  background-image: url(../img/person/mv_bg.jpg);
}
.page-mv.-talk {
  background-image: url(../img/crosstalk/mv_bg.jpg);
}
.page-mv.-talk_2022 {
  background-image: url(../img/crosstalk/talk_2022/mv_bg.jpg);
}
.page-mv.-talk_2024 {
  background-image: url(../img/crosstalk/talk_2024/mv_bg.jpg);
}
.page-mv.-talk_career {
  background-image: url(../img/crosstalk/talk_career/mv_bg.jpg);
}
.page-mv.-talk_dandi {
  background-image: url(../img/crosstalk/talk_dandi/mv_bg.jpg);
}
.page-mv.-talk .page-mv__title__cover, .page-mv.-talk_2022 .page-mv__title__cover, .page-mv.-talk_2024 .page-mv__title__cover, .page-mv.-talk_career .page-mv__title__cover, .page-mv.-talk_dandi .page-mv__title__cover {
  min-width: 40rem;
}
@media print, screen and (max-width: 768px) {
  .page-mv.-talk .page-mv__title__cover, .page-mv.-talk_2022 .page-mv__title__cover, .page-mv.-talk_2024 .page-mv__title__cover, .page-mv.-talk_career .page-mv__title__cover, .page-mv.-talk_dandi .page-mv__title__cover {
    min-width: 10rem;
  }
}
.page-mv.-env {
  background-image: url(../img/env/mv_bg.jpg);
}
.page-mv.-env .page-mv__title__cover {
  min-width: 80rem;
}
@media print, screen and (max-width: 768px) {
  .page-mv.-env .page-mv__title__cover {
    min-width: 20rem;
  }
}
.page-sec {
  margin-top: 15rem;
  margin-bottom: 15rem;
}
@media print, screen and (max-width: 768px) {
  .page-sec {
    margin-top: 3rem;
    margin-bottom: 3rem;
  }
}

/* ====================================================
recurit
==================================================== */
.recruit-links {
  margin-top: 12rem;
}
@media print, screen and (max-width: 768px) {
  .recruit-links {
    margin-top: 3rem;
    margin-bottom: 3rem;
  }
}
.recruit-links.mb0 > a {
  margin-bottom: 0;
}
.recruit-links__item {
  font-size: 2.2rem;
  width: 100%;
}
@media print, screen and (max-width: 1200px) {
  .recruit-links__item {
    font-size: 18px;
  }
}
@media print, screen and (max-width: 768px) {
  .recruit-links__item {
    font-size: 1.7rem;
  }
}
.recruit-links__item .c-geometry__inner {
  line-height: 2;
}
.recruit-links__item .c-geometry__inner .c-longarrow {
  position: absolute;
  right: 0;
  width: calc(100% - 15rem);
}
@media print, screen and (max-width: 1200px) {
  .recruit-links__item .c-geometry__inner .c-longarrow {
    width: calc(100% - 30rem);
  }
}
@media print, screen and (max-width: 768px) {
  .recruit-links__item .c-geometry__inner .c-longarrow {
    width: calc(100% - 16rem);
  }
}
.recruit-flow__item {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 4.8rem 0;
  margin-bottom: 1rem;
  position: relative;
  border-bottom: 1px solid #00994B;
}
@media print, screen and (max-width: 768px) {
  .recruit-flow__item {
    padding: 1.5rem 0;
    margin-bottom: .5rem;
  }
}
.recruit-flow__item::after {
  position: absolute;
  width: 3.2rem;
  height: 1.8rem;
  content: '';
  clip-path: polygon(0 0, 100% 0%, 50% 100%);
  background: #00994B;
  bottom: -1.8rem;
  left: 0;
  right: 0;
  margin: auto;
}
@media print, screen and (max-width: 768px) {
  .recruit-flow__item::after {
    width: 2rem;
    height: 1rem;
    bottom: -1rem;
  }
}
.recruit-flow__item:last-child {
  border-bottom: none;
}
.recruit-flow__item:last-child::after {
  display: none;
}
.recruit-flow__item dt {
  width: 15%;
  color: #FFF;
  text-align: center;
  background-color: #00994B;
  font-size: 2.4rem;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  line-height: 1.5;
  padding: 2rem;
}
@media print, screen and (max-width: 768px) {
  .recruit-flow__item dt {
    width: 25%;
    font-size: 1.2rem;
    padding: 2rem .5rem;
  }
}
.recruit-flow__item dd {
  width: 85%;
  line-height: 2.2;
  padding-left: 5rem;
}
@media print, screen and (max-width: 768px) {
  .recruit-flow__item dd {
    width: 70%;
    padding-left: .5rem;
    line-height: 1.8;
    font-size: 1.2rem;
  }
}
.recruit-faq {
  font-size: 1.9rem;
  margin-bottom: 2rem;
}
@media print, screen and (max-width: 1200px) {
  .recruit-faq {
    font-size: 17px;
  }
}
@media print, screen and (max-width: 768px) {
  .recruit-faq {
    font-size: 1.2rem;
    margin-bottom: .5rem;
  }
}
.recruit-faq__q {
  font-weight: 700;
  padding: 1.5rem 3rem 2rem 7rem;
  position: relative;
  border-bottom: 1px solid #000000;
  margin-bottom: 2rem;
  cursor: pointer;
}
@media print, screen and (max-width: 768px) {
  .recruit-faq__q {
    padding: .5rem 2rem 1rem 3rem;
    margin-bottom: 1rem;
  }
}
.recruit-faq__q::after {
  position: absolute;
  content: "";
  width: 4.2rem;
  height: 4.2rem;
  background-image: url(../img/recruit/icon_faq-q.svg);
  background-size: cover;
  left: 0;
  top: 1rem;
}
@media print, screen and (max-width: 768px) {
  .recruit-faq__q::after {
    width: 2rem;
    height: 2rem;
    top: .5rem;
  }
}
.recruit-faq__q::before {
  position: absolute;
  content: "∧";
  right: 0;
  top: 1rem;
}
@media print, screen and (max-width: 768px) {
  .recruit-faq__q::before {
    font-size: .8em;
    top: 1.2rem;
  }
}
.recruit-faq__q.is-accOpen::before {
  transform: rotate(180deg);
}
.recruit-faq__a {
  padding-bottom: 2rem;
  font-weight: 400;
  padding-left: 7rem;
  position: relative;
  display: none;
}
@media print, screen and (max-width: 768px) {
  .recruit-faq__a {
    padding-left: 3rem;
  }
}
.recruit-faq__a::after {
  position: absolute;
  content: "";
  width: 4.2rem;
  height: 4.8rem;
  background-image: url(../img/recruit/icon_faq-a.svg);
  background-size: cover;
  left: 0;
  top: 0;
}
@media print, screen and (max-width: 768px) {
  .recruit-faq__a::after {
    width: 2rem;
    height: 2.4rem;
  }
}
.recruit-acsess__detail {
  font-size: 1.9rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
}
@media print, screen and (max-width: 768px) {
  .recruit-acsess__detail {
    font-size: 1.2rem;
    align-items: stretch;
  }
}
.recruit-acsess__detail > dt {
  width: 7rem;
  background-color: #000000;
  color: #FFF;
  text-align: center;
  font-weight: 400;
  margin-top: 1rem;
}
@media print, screen and (max-width: 768px) {
  .recruit-acsess__detail > dt {
    display: flex;
    align-items: center;
    justify-content: center;
  }
}
.recruit-acsess__detail > dd {
  width: calc(100% - 7rem - 1rem);
  font-weight: 600;
  margin-top: 1rem;
}
.recruit-acsess__map iframe {
  width: 100%;
}

.message-philosophy {
  padding: 8rem 2rem;
  border: 1.8rem solid;
  margin-top: 6rem;
  border-image: linear-gradient(to bottom, #50B9BB 0%, #007D4B 100%) 1;
}
@media print, screen and (max-width: 768px) {
  .message-philosophy {
    border-width: .4rem;
    padding: 3rem 2rem;
    margin-top: 2rem;
  }
}
.message-philosophy__title {
  font-size: 6.3rem;
  font-weight: 600;
}
@media print, screen and (max-width: 768px) {
  .message-philosophy__title {
    font-size: 2.5rem;
    line-height: 1.2;
  }
}
.message-philosophy > p {
  line-height: 2.4;
  font-size: 3.4rem;
}
@media print, screen and (max-width: 768px) {
  .message-philosophy > p {
    font-size: 1.6rem;
    line-height: 2;
  }
}
.message-philosophy > p > em {
  font-size: 1.6em;
}
@media print, screen and (max-width: 768px) {
  .message-philosophy > p > em {
    font-size: 1.4em;
  }
}

/* ====================================================
about
==================================================== */
.business-head {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  flex-wrap: nowrap;
  gap: 3rem;
}
@media print, screen and (max-width: 768px) {
  .business-head {
    flex-wrap: wrap;
    gap: 1rem;
  }
}
.business-head > figcaption {
  width: 60%;
}
@media print, screen and (max-width: 768px) {
  .business-head > figcaption {
    width: 100%;
  }
}
.business-head > figure {
  width: 40%;
}
@media print, screen and (max-width: 768px) {
  .business-head > figure {
    width: 100%;
  }
}
.business-body {
  padding-bottom: 5rem;
}
@media print, screen and (max-width: 768px) {
  .business-body {
    padding-bottom: 1rem;
  }
}
.business-body > .title {
  margin-bottom: 6rem;
  position: relative;
  border-bottom: 1px solid #000000;
  padding: .5rem 0;
  font-weight: 600;
}
@media print, screen and (max-width: 768px) {
  .business-body > .title {
    margin-bottom: 2rem;
    margin-top: 1rem;
  }
}
.business-body > .title::after {
  position: absolute;
  width: 3.2rem;
  height: 1.8rem;
  content: '';
  clip-path: polygon(0 0, 100% 0%, 50% 100%);
  background: #000000;
  bottom: -1.8rem;
  left: 0;
  right: 0;
  margin: auto;
}
@media print, screen and (max-width: 768px) {
  .business-body > .title::after {
    width: 2rem;
    height: 1rem;
    bottom: -1rem;
  }
}
.business-body__item {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 5rem;
}
@media print, screen and (max-width: 768px) {
  .business-body__item {
    margin-top: 2rem;
  }
}
.business-body__item > dt {
  width: 18%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  background-color: #00994B;
  color: #FFF;
}
@media print, screen and (max-width: 768px) {
  .business-body__item > dt {
    width: 100%;
  }
}
.business-body__item > dd {
  width: 80%;
}
@media print, screen and (max-width: 768px) {
  .business-body__item > dd {
    width: 100%;
    margin-top: 1rem;
  }
}

.guide-card {
  padding: 2rem;
  border-style: solid;
  border-color: #000000;
  border-right-width: 1px;
  border-bottom-width: 1px;
  word-break: break-all;
}
@media print, screen and (min-width: 768px) {
  .guide-card:nth-child(3n) {
    border-right: none;
  }
  .guide-card:nth-last-child(1), .guide-card:nth-last-child(2), .guide-card:nth-last-child(3) {
    border-bottom: none;
  }
}
@media print, screen and (max-width: 768px) {
  .guide-card {
    padding: .8rem;
  }
  .guide-card:nth-child(2n) {
    border-right: none;
  }
  .guide-card:nth-last-child(1), .guide-card:nth-last-child(2) {
    border-bottom: none;
  }
}
.guide-card__title.p-heading--geometry {
  margin-bottom: 1rem;
  font-size: 20px;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .guide-card__title.p-heading--geometry {
    font-size: calc(20px - .5rem);
  }
}
@media print, screen and (max-width: 768px) {
  .guide-card__title.p-heading--geometry {
    font-size: 1.1rem;
    margin-bottom: .2rem;
  }
}
.guide-card__data {
  font-size: 110px;
  text-align: center;
  background-size: 100% auto;
  height: 32rem;
  background-repeat: no-repeat;
  background-position: center;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  align-items: center;
  letter-spacing: .02em;
  text-shadow: 3px 3px 0 #FFF, -3px 3px 0 #FFF, -3px -3px 0 #FFF, 3px -3px 0 #FFF;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .guide-card__data {
    font-size: 18rem;
  }
}
@media print, screen and (max-width: 768px) {
  .guide-card__data {
    height: 11rem;
    font-size: 5rem;
    background-size: 90% auto;
  }
}
.guide-card__data.pie-chart {
  opacity: 1;
}
.guide-card__data.pie-chart.animated {
  opacity: 0;
  animation: rotate .5s  forwards ease-in-out;
}
.-employee .guide-card__data {
  background-image: url(../img/about/guide-employee.svg);
}
.-operatingRevenue .guide-card__data {
  background-image: url(../img/about/guide-operatingRevenue.svg);
  font-size: 92px;
  text-align: left;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .-operatingRevenue .guide-card__data {
    font-size: 14rem;
  }
}
@media print, screen and (max-width: 768px) {
  .-operatingRevenue .guide-card__data {
    font-size: 4rem;
  }
}
.-age .guide-card__data img {
  width: 80%;
  margin: auto;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .-age .guide-card__data img {
    width: 70%;
  }
}
@media print, screen and (max-width: 768px) {
  .-age .guide-card__data img {
    width: 70%;
  }
}
.-ratio .guide-card__data {
  background-image: url(../img/about/guide-ratio.svg);
}
.-old .guide-card__data {
  background-image: url(../img/about/guide-old.svg);
}
.-holiday .guide-card__data {
  background-image: url(../img/about/guide-holiday.svg);
}
.-serviceYears .guide-card__data {
  background-image: url(../img/about/guide-serviceYears.svg);
}
.-paidLeave .guide-card__data {
  background-image: url(../img/about/guide-paidLeave.svg);
}
.-gender01 .guide-card__data, .-gender02 .guide-card__data {
  background-image: url(../img/about/guide-gender.svg);
  font-size: 90px;
  text-align: left;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 0 1rem;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .-gender01 .guide-card__data, .-gender02 .guide-card__data {
    font-size: 13rem;
  }
}
@media print, screen and (max-width: 768px) {
  .-gender01 .guide-card__data, .-gender02 .guide-card__data {
    font-size: 4rem;
  }
}
.-shutdown .guide-card__data {
  background-image: url(../img/about/guide-shutdown.svg);
}

@keyframes rotate {
  0% {
    opacity: 0;
    transform: rotate(-120deg);
  }
  50%, 100% {
    opacity: 1;
    transform: rotate(0);
  }
}
/* ====================================================
works
==================================================== */
.works-item__wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  flex-wrap: nowrap;
  gap: 4rem;
}
@media print, screen and (max-width: 768px) {
  .works-item__wrap {
    flex-wrap: wrap;
    gap: 2rem;
  }
}
.works-item__wrap > figure {
  width: 20%;
}
@media print, screen and (max-width: 768px) {
  .works-item__wrap > figure {
    width: 100%;
  }
}
.works-item__wrap > figcaption {
  width: 80%;
}
@media print, screen and (max-width: 768px) {
  .works-item__wrap > figcaption {
    width: 100%;
    margin-top: 1rem;
  }
}
.works-item__links {
  width: 60%;
  margin: 6rem 0 0 auto;
}
@media print, screen and (max-width: 768px) {
  .works-item__links {
    width: 100%;
    margin: 2rem 0 0 auto;
  }
}

.solution-item {
  margin-bottom: 4rem;
}
.solution-item__title {
  display: flex;
  align-items: center;
  font-size: 30px;
  color: #00994B;
  font-weight: 600;
  border-bottom: 1px solid #00994B;
  line-height: 1.5;
  margin-bottom: 3.5rem;
  display: flex;
  align-items: center;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .solution-item__title {
    font-size: calc(30px - .5rem);
  }
}
@media print, screen and (max-width: 768px) {
  .solution-item__title {
    font-size: 1.4rem;
    margin-bottom: 1rem;
  }
}
.solution-item__title > .num {
  border-right: 1px solid #00994B;
  font-size: 44px;
  font-weight: 400;
  display: inline-block;
  line-height: 1;
  padding: 0 1.5rem 1.5rem 0;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .solution-item__title > .num {
    font-size: calc(44px - .5rem);
  }
}
@media print, screen and (max-width: 768px) {
  .solution-item__title > .num {
    font-size: 2rem;
    padding: .5rem 1rem 1rem 0;
  }
}
.solution-item__title > .num > em {
  font-weight: 500;
  font-size: 1.6em;
  color: #FFF;
  text-shadow: 1px 1px 0 #00994B, -1px -1px 0 #00994B, -1px 1px 0 #00994B, 1px -1px 0 #00994B, 0px 1px 0 #00994B, -1px 0 #00994B, -1px 0 0 #00994B, 1px 0 0 #00994B;
}
@media print, screen and (max-width: 768px) {
  .solution-item__title > .num > em {
    font-size: 1.4em;
  }
}
.solution-item__title > .text {
  display: inline-block;
  padding: 0 0 1rem 2rem;
  display: flex;
  align-items: center;
}
@media print, screen and (max-width: 768px) {
  .solution-item__title > .text {
    padding: 0 0 0rem .5rem;
  }
}
.solution-item__wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  flex-wrap: nowrap;
  gap: 4rem;
}
@media print, screen and (max-width: 768px) {
  .solution-item__wrap {
    flex-wrap: wrap;
    gap: 1rem;
  }
}
.solution-item__wrap > figure {
  width: 30%;
}
@media print, screen and (max-width: 768px) {
  .solution-item__wrap > figure {
    width: 100%;
  }
}
.case02 .solution-item__wrap > figure {
  width: 50%;
}
@media print, screen and (max-width: 768px) {
  .case02 .solution-item__wrap > figure {
    width: 100%;
  }
}
.solution-item__wrap > figcaption {
  width: 70%;
}
@media print, screen and (max-width: 768px) {
  .solution-item__wrap > figcaption {
    width: 100%;
  }
}
.case02 .solution-item__wrap > figcaption {
  width: 50%;
}
@media print, screen and (max-width: 768px) {
  .case02 .solution-item__wrap > figcaption {
    width: 100%;
  }
}

/* ====================================================
people
==================================================== */
.people-movie {
  cursor: pointer;
  transition: opacity 0.3s ease;
}
.people-movie:hover {
  opacity: .7;
}

.movie-modal-area iframe {
  width: 148rem;
  height: 73rem;
}
@media print, screen and (max-width: 768px) {
  .movie-modal-area iframe {
    width: 32rem;
    height: 17rem;
  }
}

.interview-mv {
  width: 100vw;
  position: relative;
  overflow: hidden;
  height: 96rem;
}
@media print, screen and (max-width: 768px) {
  .interview-mv {
    height: 19rem;
  }
}
.interview-mv__head {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  justify-content: flex-start;
  margin-top: 19rem;
}
@media print, screen and (max-width: 768px) {
  .interview-mv__head {
    margin-top: 3.5rem;
  }
}
.interview-mv__index {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  z-index: 1;
  width: 26rem;
}
@media print, screen and (max-width: 768px) {
  .interview-mv__index {
    width: 4.5rem;
  }
}
.interview-mv__index > .en {
  display: inline-block;
  width: 3rem;
}
@media print, screen and (max-width: 768px) {
  .interview-mv__index > .en {
    width: .7rem;
  }
}
.interview-mv__index > .num {
  display: inline-block;
  font-size: 20rem;
  color: #FFF;
  text-shadow: 1px 1px 0 #000000, -1px -1px 0 #000000, -1px 1px 0 #000000, 1px -1px 0 #000000, 0px 1px 0 #000000, -1px 0 #000000, -1px 0 0 #000000, 1px 0 0 #000000;
  position: relative;
  width: 21rem;
  height: 21rem;
  line-height: .7em;
}
@media print, screen and (max-width: 768px) {
  .interview-mv__index > .num {
    font-size: 3rem;
    width: 3rem;
    height: 3.5rem;
  }
}
.interview-mv__index > .num::after {
  position: absolute;
  width: 21rem;
  height: 21rem;
  right: 0;
  bottom: 0;
  content: "";
  background-image: url(../img/person/person_head-cover.svg);
}
@media print, screen and (max-width: 768px) {
  .interview-mv__index > .num::after {
    width: 3rem;
    height: 3rem;
  }
}
.interview-mv__profile {
  margin-top: 8rem;
  margin-left: -6rem;
  z-index: 2;
  height: 15rem;
}
@media print, screen and (max-width: 768px) {
  .interview-mv__profile {
    margin-top: .5rem;
    margin-left: .2rem;
    height: 5rem;
  }
}
.interview-mv__profile > img {
  height: inherit;
}
.interview-mv__division {
  margin-top: 4rem;
}
@media print, screen and (max-width: 768px) {
  .interview-mv__division {
    margin-top: .5rem;
  }
}
.interview-mv__division .c-geometry__cover {
  padding: .5% 8% .5% 2%;
  display: inline-block;
}
.interview-mv__division.p-heading--geometry {
  font-size: 32px;
  margin-bottom: 3rem;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .interview-mv__division.p-heading--geometry {
    font-size: calc(32px - 2rem);
  }
}
@media print, screen and (max-width: 768px) {
  .interview-mv__division.p-heading--geometry {
    font-size: .8rem;
    margin-bottom: 1rem;
  }
}
.interview-mv__title .p-heading--geometry {
  font-size: 40px;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .interview-mv__title .p-heading--geometry {
    font-size: calc(40px - 2rem);
  }
}
@media print, screen and (max-width: 768px) {
  .interview-mv__title .p-heading--geometry {
    font-size: 1.4rem;
  }
}
.interview-mv__title .c-geometry__cover {
  padding: .5% 8% .5% 2%;
  display: inline-block;
}
.interview-mv__bg {
  z-index: -2;
  position: absolute;
  width: calc(100% - 24rem);
  right: 0;
  top: 0;
}
@media print, screen and (max-width: 768px) {
  .interview-mv__bg {
    width: calc(100% - 5rem);
  }
}
.interview-schedule {
  margin-top: 36rem;
  position: relative;
  padding: 6rem 0 17rem;
  background-image: url(/img/person/schedule_bg.png);
  background-size: 100% auto;
  text-align: center;
  color: #FFF;
}
@media print, screen and (max-width: 768px) {
  .interview-schedule {
    margin-top: 8rem;
    padding: 3rem 0 3rem;
  }
}
.interview-schedule > .deco {
  position: absolute;
  content: "";
  top: -14.5rem;
  left: 0;
  right: 0;
  width: 95rem;
  margin: auto;
}
@media print, screen and (max-width: 768px) {
  .interview-schedule > .deco {
    top: -2.8rem;
    width: 20rem;
  }
}
.interview-schedule__list {
  margin-top: 6rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  position: relative;
}
@media print, screen and (max-width: 768px) {
  .interview-schedule__list {
    width: 80%;
    margin: 1rem auto 0;
  }
}
@media print, screen and (max-width: 768px) {
  .interview-schedule__list::after {
    z-index: 1;
    position: absolute;
    content: "";
    top: 2.5rem;
    margin: auto;
    width: .15rem;
    height: 95%;
    background-image: linear-gradient(to top, #FFF 0.2rem, transparent 0.2rem);
    background-size: .15rem .5rem;
    background-repeat: repeat-y;
    left: 3rem;
    top: 0;
  }
}
.interview-schedule__list.-item5 .interview-schedule__item {
  width: calc(100% / 5);
}
.interview-schedule__list.-item6 .interview-schedule__item {
  width: calc(100% / 6);
}
.interview-schedule__list.-item7 .interview-schedule__item {
  width: calc(100% / 7);
}
.interview-schedule__list.-item8 .interview-schedule__item {
  width: calc(100% / 8);
}
.interview-schedule__list.-item9 .interview-schedule__item {
  width: calc(100% / 9);
}
.interview-schedule__item {
  position: relative;
}
@media print, screen and (max-width: 768px) {
  .interview-schedule__item {
    width: 100% !important;
    padding-left: 8rem;
    margin-bottom: 3rem;
    height: 6rem;
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    justify-content: center;
  }
  .interview-schedule__item:last-child {
    margin-bottom: 0;
  }
}
.interview-schedule__item::after {
  position: absolute;
  content: "";
  top: 2.5rem;
  margin: auto;
  width: 4.5rem;
  height: .2rem;
  background-image: linear-gradient(to right, #FFF 0.2rem, transparent 0.2rem);
  background-size: 10px 2px;
  background-repeat: repeat-x;
  left: -2.25rem;
}
@media print, screen and (max-width: 768px) {
  .interview-schedule__item::after {
    display: none;
  }
}
.interview-schedule__item:first-child::after {
  display: none;
}
.interview-schedule__item > .time > figcaption {
  font-weight: 300;
  padding-bottom: 5rem;
  position: relative;
}
@media print, screen and (max-width: 768px) {
  .interview-schedule__item > .time > figcaption {
    padding-bottom: 0rem;
    text-align: left;
    line-height: 1;
  }
}
.interview-schedule__item > .time > figcaption::after {
  position: absolute;
  content: "";
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 1px;
  height: calc(100% - 1.7em);
  background-color: #FFF;
}
@media print, screen and (max-width: 768px) {
  .interview-schedule__item > .time > figcaption::after {
    display: none;
  }
}
.interview-schedule__item > .time > figure {
  width: 5rem;
  margin: auto;
}
@media print, screen and (max-width: 768px) {
  .interview-schedule__item > .time > figure {
    width: 6rem;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 2;
  }
}
@media print, screen and (max-width: 768px) {
  .interview-schedule__item > p {
    text-align: left;
  }
}
.interview-off {
  position: relative;
  padding: 21rem 6rem 6rem;
}
@media print, screen and (max-width: 768px) {
  .interview-off {
    padding: 4rem 1.5rem 1rem;
  }
}
.interview-off__title {
  z-index: 1;
  position: absolute;
  top: 6rem;
  left: -3.5rem;
  width: 70rem;
}
@media print, screen and (max-width: 768px) {
  .interview-off__title {
    top: 1.2rem;
    left: -1rem;
    width: 15rem;
  }
}
.interview-off__title .p-heading--geometry .c-geometry__cover {
  padding-left: 14%;
}
@media print, screen and (max-width: 768px) {
  .interview-off__title .p-heading--geometry .c-geometry__cover {
    padding-left: 8%;
    font-size: 1.2rem;
  }
}
.interview-off__text {
  width: 80%;
}
@media print, screen and (max-width: 768px) {
  .interview-off__text {
    width: 78%;
  }
}
.interview-off > figure {
  position: absolute;
}
.interview-off.-person1 > figure {
  width: 14rem;
  right: 8rem;
  bottom: 4rem;
}
@media print, screen and (max-width: 768px) {
  .interview-off.-person1 > figure {
    top: 2rem;
    bottom: auto;
    right: 1.5rem;
    width: 5rem;
  }
}
.interview-off.-person2 > figure {
  width: 20rem;
  right: 4rem;
  bottom: 3rem;
}
@media print, screen and (max-width: 768px) {
  .interview-off.-person2 > figure {
    top: 2rem;
    bottom: auto;
    right: 1.2rem;
    width: 6rem;
  }
}
.interview-off.-person3 > figure {
  width: 18rem;
  right: 4rem;
  bottom: 3rem;
}
@media print, screen and (max-width: 768px) {
  .interview-off.-person3 > figure {
    top: 2rem;
    bottom: auto;
    right: 1.2rem;
    width: 6rem;
  }
}
.interview-off.-person4 > figure {
  width: 23rem;
  right: 3rem;
  bottom: 3rem;
}
@media print, screen and (max-width: 768px) {
  .interview-off.-person4 > figure {
    top: 2rem;
    bottom: auto;
    right: 1rem;
    width: 7rem;
  }
}
.interview-off.-person5 > figure {
  width: 19rem;
  right: 5rem;
  bottom: 4rem;
}
@media print, screen and (max-width: 768px) {
  .interview-off.-person5 > figure {
    top: 2rem;
    bottom: auto;
    right: 1.5rem;
    width: 6rem;
  }
}
.interview-off.-person6 > figure {
  width: 19rem;
  right: 5rem;
  bottom: 4rem;
}
@media print, screen and (max-width: 768px) {
  .interview-off.-person6 > figure {
    top: 2rem;
    bottom: auto;
    right: 1.5rem;
    width: 6rem;
  }
}
.interview-links {
  margin: 20rem 0;
}
@media print, screen and (max-width: 768px) {
  .interview-links {
    margin: 1.5rem 2rem 3rem;
  }
}
.interview-links__wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  flex-wrap: nowrap;
  align-items: center;
  gap: 7rem;
}
@media print, screen and (max-width: 768px) {
  .interview-links__wrap {
    gap: 1.5rem;
  }
}
.interview-links__wrap > .back {
  width: 7rem;
}
@media print, screen and (max-width: 768px) {
  .interview-links__wrap > .back {
    width: 3rem;
  }
}
.interview-links__wrap > a:not([class]) {
  width: 27rem;
}
@media print, screen and (max-width: 768px) {
  .interview-links__wrap > a:not([class]) {
    width: 13rem;
  }
}

/* ====================================================
crosstalk
==================================================== */
.crosstalk-links__item {
  position: relative;
  display: block;
  margin-top: 6rem;
  cursor: pointer;
}
@media print, screen and (max-width: 768px) {
  .crosstalk-links__item {
    margin-top: 1rem;
  }
}
.crosstalk-links__item__title {
  position: absolute;
  left: 0;
  bottom: 3rem;
  z-index: 2;
  min-width: 45rem;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .crosstalk-links__item__title {
    min-width: 60rem;
  }
}
@media print, screen and (max-width: 768px) {
  .crosstalk-links__item__title {
    min-width: 17rem;
    bottom: .5rem;
  }
}
.crosstalk-links__item.-dandi .crosstalk-links__item__title {
  min-width: 62rem;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .crosstalk-links__item.-dandi .crosstalk-links__item__title {
    min-width: 80rem;
  }
}
@media print, screen and (max-width: 768px) {
  .crosstalk-links__item.-dandi .crosstalk-links__item__title {
    min-width: 25rem;
  }
}
.crosstalk-talkwrap {
  justify-content: space-between;
}
.crosstalk-talkwrap > figcaption {
  width: 70%;
}
@media print, screen and (max-width: 768px) {
  .crosstalk-talkwrap > figcaption {
    width: 100%;
  }
}
.crosstalk-talkwrap > figure {
  width: 25%;
}
.crosstalk-talkitem {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 3rem;
}
@media print, screen and (max-width: 768px) {
  .crosstalk-talkitem {
    margin-bottom: 2rem;
  }
}
.crosstalk-talkitem > dt {
  width: 70px;
}
.crosstalk-talkitem > dd {
  line-height: 2.2;
  width: calc(100% - 70px - 2rem);
}
@media print, screen and (max-width: 768px) {
  .crosstalk-talkitem > dd {
    font-size: 1.2rem;
    line-height: 2;
  }
}
.crosstalk-message {
  background-color: #D9F0E4;
  position: relative;
  padding: 6rem 6rem 6rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
}
@media print, screen and (max-width: 768px) {
  .crosstalk-message {
    padding: 1rem 1.5rem 1rem;
    align-items: center;
  }
}
.crosstalk-message > figcaption {
  width: 75%;
}
@media print, screen and (max-width: 768px) {
  .crosstalk-message > figcaption {
    width: 65%;
  }
}
.crosstalk-message > figure {
  width: 20%;
}
@media print, screen and (max-width: 768px) {
  .crosstalk-message > figure {
    width: 30%;
  }
}
.crosstalk-message__title {
  z-index: 1;
  position: relative;
  left: -6rem;
}
@media print, screen and (max-width: 768px) {
  .crosstalk-message__title {
    left: -1.5rem;
  }
}
.crosstalk-message__title .p-heading--geometry .c-geometry__cover {
  padding-left: 7%;
  display: inline-block;
}
@media print, screen and (max-width: 768px) {
  .crosstalk-message__title .p-heading--geometry .c-geometry__cover {
    padding-left: 8%;
    font-size: 1.2rem;
  }
}

/* ====================================================
environment
==================================================== */
.dandi-policy {
  border: 1.5rem solid #D9F0E4;
  padding: 3rem 4rem;
}
@media print, screen and (max-width: 768px) {
  .dandi-policy {
    border-width: .5rem;
    padding: 1.5rem;
  }
}

.change-table {
  width: 100%;
  margin-top: 4rem;
}
@media print, screen and (max-width: 768px) {
  .change-table {
    margin-top: 2rem;
    position: relative;
  }
}
.change-table thead tr th {
  padding: 1rem;
  text-align: left;
}
@media print, screen and (max-width: 768px) {
  .change-table thead tr th {
    padding: 0;
    display: block;
    width: 100%;
    position: absolute;
  }
  .change-table thead tr th:nth-child(3) {
    top: 18rem;
  }
  .change-table thead tr th:nth-child(4) {
    top: calc(18rem * 2);
  }
}
@media print, screen and (max-width: 768px) {
  .change-table tbody {
    display: flex;
  }
}
@media print, screen and (max-width: 768px) {
  .change-table tbody tr {
    width: 50%;
  }
}
.change-table tbody tr td {
  line-height: 1;
  letter-spacing: 0;
  font-size: 14rem;
  text-align: center;
  padding: 6rem 2rem;
  background-repeat: no-repeat;
  background-size: 50% auto;
  background-position: center bottom;
}
@media print, screen and (max-width: 768px) {
  .change-table tbody tr td {
    font-size: 5rem;
    padding: 6rem 1rem 1rem;
    display: inline-block;
    width: 100%;
    float: left;
    background-size: 50% auto;
  }
}
.change-table tbody tr td.paid-2018 {
  background-image: url(/img/env/paid_icon-gray.svg);
}
.change-table tbody tr td.overtime-2018 {
  background-image: url(/img/env/overtime_icon-gray.svg);
}
@media print, screen and (max-width: 768px) {
  .change-table tbody tr td.overtime-2018 {
    padding-top: 8rem;
  }
}
.change-table tbody tr td.paternity-2018 {
  background-image: url(/img/env/paternity_icon-gray.svg);
}
@media print, screen and (max-width: 768px) {
  .change-table tbody tr td.paternity-2018 {
    padding-top: 8rem;
  }
}
.change-table tbody tr td.paid-2024 {
  background-image: url(/img/env/paid_icon-green.svg);
}
.change-table tbody tr td.overtime-2024 {
  background-image: url(/img/env/overtime_icon-green.svg);
}
@media print, screen and (max-width: 768px) {
  .change-table tbody tr td.overtime-2024 {
    padding-top: 8rem;
  }
}
.change-table tbody tr td.paternity-2024 {
  background-image: url(/img/env/paternity_icon-green.svg);
}
@media print, screen and (max-width: 768px) {
  .change-table tbody tr td.paternity-2024 {
    padding-top: 8rem;
  }
}

.env-table__btn {
  position: absolute;
  width: 43rem;
  top: 27.5rem;
  left: 61.5rem;
  cursor: pointer;
  transition: opacity 0.3s ease;
}
.env-table__btn:hover {
  opacity: .7;
}
@media print, screen and (max-width: 768px) {
  .env-table__btn {
    width: 22rem;
    top: 14.8rem;
    left: 33rem;
  }
}
.env-table > figure {
  width: 100%;
  position: relative;
}
@media print, screen and (max-width: 768px) {
  .env-table > figure {
    width: 80rem;
    padding-bottom: 2rem;
  }
}
.env-table__img {
  width: 79rem;
}
@media print, screen and (max-width: 768px) {
  .env-table__img {
    width: 90%;
  }
}

/* ====================================================
component
==================================================== */
.c-inner--790 {
  width: 79rem;
  margin-left: auto;
  margin-right: auto;
}
@media print, screen and (max-width: 1200px) {
  .c-inner--790 {
    width: calc(100% - 20rem);
  }
}
@media print, screen and (max-width: 768px) {
  .c-inner--790 {
    width: 100%;
  }
}

.c-inner--960 {
  width: 96rem;
  margin-left: auto;
  margin-right: auto;
}
@media print, screen and (max-width: 1200px) {
  .c-inner--960 {
    width: calc(100% - 20rem);
  }
}
@media print, screen and (max-width: 768px) {
  .c-inner--960 {
    width: 100%;
  }
}

.c-inner--1500 {
  width: 150rem;
  margin-left: auto;
  margin-right: auto;
}
@media print, screen and (max-width: 1200px) {
  .c-inner--1500 {
    width: calc(100% - 20rem);
  }
}
@media print, screen and (max-width: 768px) {
  .c-inner--1500 {
    width: 100%;
  }
}

@media print, screen and (max-width: 768px) {
  .c-inner-sp {
    padding-right: 1.5rem;
    padding-left: 1.5rem;
  }
}
.c-bgnoise--gray {
  background-color: #e0dfdf;
  background-image: url(../img/common/noise.png);
  background-repeat: repeat;
  background-size: 100px;
  background-blend-mode: soft-light;
}

.c-readmore {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}

.c-longarrow {
  display: block;
  position: relative;
  height: 1rem;
  cursor: pointer;
  color: #FFF;
  overflow: hidden;
  width: calc(100% - 13rem);
  z-index: 1;
}
.c-longarrow::after {
  content: '';
  display: block;
  width: 28rem;
  height: 1rem;
  background: url(../img/common/icon_arrow.svg) no-repeat;
  position: absolute;
  background-position: right center;
  z-index: 1111;
  right: 0;
  top: 0;
  -webkit-transition: right .3s;
  transition: right .3s;
  background-size: 100% auto;
}
.c-longarrow__text {
  position: relative;
  display: inline-block;
  padding-right: 2rem;
  background-color: #004A39;
  z-index: 2;
}
@media print, screen and (max-width: 768px) {
  .c-longarrow__text {
    padding-right: .5rem;
    letter-spacing: 0;
  }
}

.c-liner > span {
  display: inline-block;
  background-color: #000;
  color: #FFF;
  margin-bottom: 1rem;
}
@media print, screen and (max-width: 768px) {
  .c-liner > span {
    margin-bottom: .4rem;
  }
}

.c-geometry.-green .c-geometry__cover::before {
  background-color: #00994B;
}
.c-geometry.-darkgreen .c-geometry__cover::before {
  background-color: #004A39;
}
.c-geometry.-black .c-geometry__cover::before {
  background-color: #000000;
}
.c-geometry.-label .c-geometry__cover {
  margin-left: auto;
  width: calc(100% - (17rem / 1.6));
  padding-left: 6%;
}
@media print, screen and (max-width: 768px) {
  .c-geometry.-label .c-geometry__cover {
    width: calc(100% - (5.5rem / 1.2));
    padding-left: 6%;
  }
}
.c-geometry__cover {
  display: block;
  position: relative;
  overflow: hidden;
  padding: 2% 15% 2% 5%;
}
@media print, screen and (max-width: 768px) {
  .c-geometry__cover {
    padding: 1.4% 10% 1.4% 2%;
  }
}
.c-geometry__cover::before {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  top: 0;
  height: 100%;
  z-index: -1;
  transform-origin: 100% 0;
  transform: scaleX(1.4) skewX(-36deg);
  right: 0;
}
@media print, screen and (max-width: 768px) {
  .c-geometry__cover::before {
    transform: scaleX(1.4) skewX(340deg);
  }
}
.c-geometry__inner {
  color: #FFF;
  line-height: 1.4;
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
.c-geometry__label {
  display: inline-block;
  width: 17rem;
  height: 17rem;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
}
@media print, screen and (max-width: 768px) {
  .c-geometry__label {
    width: 5.5rem;
    height: 5.5rem;
  }
}

.c-linebtm {
  border-bottom: #00994B 1px solid;
  padding-bottom: 1rem;
  margin-bottom: 1rem;
}

.c-linecard {
  border: #00994B 1px solid;
  min-height: 17rem;
  display: flex;
  align-items: center;
  padding: 2rem;
  justify-content: center;
}
@media print, screen and (max-width: 768px) {
  .c-linecard {
    font-size: 1.1rem;
    letter-spacing: 0;
    padding: 1rem .2rem;
    min-height: 8rem;
  }
}

.c-label {
  padding: .5rem;
  margin-bottom: 0 !important;
}

/* ====================================================
project
==================================================== */
.p-heading--geometry {
  margin-bottom: 5rem;
  font-size: 34px;
  position: relative;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-heading--geometry {
    font-size: calc(34px - .5rem);
  }
}
@media print, screen and (max-width: 768px) {
  .p-heading--geometry {
    font-size: 1.6rem;
    margin-bottom: 1rem;
    letter-spacing: 0;
  }
}
.p-heading--geometry .c-geometry__cover {
  padding-left: 2%;
}
@media print, screen and (max-width: 768px) {
  .p-heading--geometry .c-geometry__cover {
    padding-left: 3%;
  }
}
.p-heading--geometry-sub {
  margin-bottom: 2.5rem;
  font-size: 23px;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-heading--geometry-sub {
    font-size: calc(23px - .5rem);
  }
}
@media print, screen and (max-width: 768px) {
  .p-heading--geometry-sub {
    margin-bottom: 1rem;
    font-size: 1.5rem;
  }
}
.p-heading--geometry-sub .c-geometry__cover {
  padding: 1% 3rem;
}
@media print, screen and (max-width: 768px) {
  .p-heading--geometry-sub .c-geometry__cover {
    padding: 1% 3rem 1% 1.5rem;
  }
}
.p-heading--longarrow {
  position: relative;
}
.p-heading--longarrow__text {
  background-color: #FFF;
  display: inline-block;
  z-index: 2;
  position: relative;
  font-size: 60px;
  padding-right: 2rem;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-heading--longarrow__text {
    font-size: calc(60px - 2rem);
  }
}
@media print, screen and (max-width: 768px) {
  .p-heading--longarrow__text {
    font-size: 1.6rem;
    padding-right: 1rem;
  }
}
.p-heading--longarrow__arrow {
  position: absolute;
  display: block;
  top: 0;
  bottom: 0;
  right: 0;
  width: 100%;
  z-index: 1;
  margin: auto;
  height: 2rem;
}
@media print, screen and (max-width: 768px) {
  .p-heading--longarrow__arrow {
    height: .8rem;
  }
}
.p-heading--longarrow .c-longarrow {
  overflow: visible;
  width: 100%;
  cursor: default;
}
.p-heading--longarrow .c-longarrow::after {
  width: 100%;
  height: 2rem;
  background-image: url(../img/common/icon_arrow-heading.svg);
  background-size: auto 100%;
}
@media print, screen and (max-width: 768px) {
  .p-heading--longarrow .c-longarrow::after {
    height: .8rem;
  }
}
.p-heading--longarrow .c-longarrow:hover::after {
  animation-name: none;
}

.p-btn--geometry {
  display: block;
  font-size: 22px;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-btn--geometry {
    font-size: calc(22px - .5rem);
  }
}
@media print, screen and (max-width: 768px) {
  .p-btn--geometry {
    font-size: 1.5rem;
  }
}
.p-btn--geometry .c-geometry__cover {
  padding: 1.5% 15% 1.5% 2%;
}

.p-table {
  border: 1px solid #00994B;
  width: 100%;
}
@media print, screen and (max-width: 768px) {
  .p-table {
    font-size: 1.2rem;
  }
}
.p-table .w20 {
  width: 20%;
}
.p-table .w80 {
  width: 80%;
}
.p-table th, .p-table td {
  padding: 2.5rem;
  border: 1px solid #00994B;
  background-color: #fff;
  line-height: 1.8;
}
@media print, screen and (max-width: 768px) {
  .p-table th, .p-table td {
    padding: 1rem .5rem;
  }
}
.p-table th {
  text-align: center;
  vertical-align: middle;
  font-weight: 600;
  color: #00994B;
}
.p-table td {
  line-height: 2.2;
}

/* ====================================================
flex
==================================================== */
.u-fl {
  display: flex;
  flex-wrap: wrap;
}
.u-fl.space-between {
  justify-content: space-between;
}
.u-fl.align-end {
  align-items: flex-end;
}
.u-fl.align-start {
  align-items: flex-start;
}
.u-fl.align-center {
  align-items: center;
}
.u-fl.align-stretch {
  align-items: stretch;
}

.od2 {
  order: 2;
}

@media print, screen and (max-width: 768px) {
  .od0-sp {
    order: 0;
  }

  .od2-sp {
    order: 2;
  }
}
.u-fl--col2,
.u-fl--col3,
.u-fl--col4,
.u-fl--col5 {
  flex-wrap: wrap;
}

.u-fl--col1 > * {
  width: 100%;
}

.u-fl--col2 > * {
  width: 50%;
}

.u-fl--col3 > * {
  width: calc(100% / 3);
}

.u-fl--col4 > * {
  width: 25%;
}

.u-fl--col5 > * {
  width: 20%;
}

.u-fl--col2.gap {
  gap: 4.6%;
}

.u-fl--col3.gap {
  gap: 4.5%;
}

.u-fl--col4.gap {
  gap: 2%;
}

.u-fl--col5.gap {
  gap: 1%;
}

.u-fl--col2.gap > * {
  width: 47.7%;
  margin-bottom: 4%;
}

.u-fl--col3.gap > * {
  width: 30.33%;
  margin-bottom: 5%;
}

.u-fl--col4.gap > * {
  width: 23.5%;
  margin-bottom: 4%;
}

.u-fl--col5.gap > * {
  width: 19.2%;
  margin-bottom: 3%;
}

.u-fl--col2.gap.mt0 > *, .u-fl--col3.gap.mt0 > *, .u-fl--col4.gap.mt0 > *, .u-fl--col5.gap.mt0 > * {
  margin-bottom: 0;
}

@media print, screen and (max-width: 768px) {
  .u-fl--col2.u-fl__sp-block > *,
  .u-fl--col3.u-fl__sp-block > *,
  .u-fl--col4.u-fl__sp-block > *,
  .u-fl--col5.u-fl__sp-block > * {
    width: 100%;
  }

  .u-fl--col2.gap.u-fl__sp-block > *,
  .u-fl--col3.gap.u-fl__sp-block > *,
  .u-fl--col4.gap.u-fl__sp-block > *,
  .u-fl--col5.gap.u-fl__sp-block > * {
    margin-bottom: 4%;
  }

  .u-fl--col2.gap.u-fl__sp-block > *:last-child,
  .u-fl--col3.gap.u-fl__sp-block > *:last-child,
  .u-fl--col4.gap.u-fl__sp-block > *:last-child,
  .u-fl--col5.gap.u-fl__sp-block > *:last-child {
    margin-bottom: 0;
  }

  .u-fl__sp-col3 > * {
    width: calc(100% / 3);
  }

  .u-fl__sp-col2 > * {
    width: 50%;
  }

  .u-fl__sp-col2.gap {
    gap: 4%;
  }

  .u-fl__sp-col3.gap {
    gap: 3%;
  }

  .u-fl__sp-col2.gap > * {
    width: 48%;
    margin-bottom: 4%;
  }

  .u-fl__sp-col3.gap > * {
    width: 31.33%;
    margin-bottom: 3%;
  }

  .u-fl--col2.gap.nogap-sp, .u-fl--col3.gap.nogap-sp, .u-fl--col4.gap.nogap-sp, .u-fl--col5.gap.nogap-sp {
    gap: 0;
  }

  .u-fl--col2.gap.nogap-sp > * {
    width: 50%;
    margin-bottom: 0;
  }

  .u-fl--col3.gap.nogap-sp > * {
    width: calc(100% / 3);
    margin-bottom: 0;
  }

  .u-fl--col4.gap.nogap-sp > * {
    width: 25%;
    margin-bottom: 0;
  }

  .u-fl--col5.gap.nogap-sp > * {
    width: 20%;
    margin-bottom: 0;
  }
}
.u-inlineblock {
  display: inline-block;
}

.u-block {
  display: block;
}

@media print, screen and (max-width: 768px) {
  .u-block-sp {
    display: block;
  }
}
.u-asterisk li {
  padding-left: 1em;
  text-indent: -1em;
}
@media print, screen and (max-width: 768px) {
  .u-asterisk {
    font-size: 1rem;
  }
}

/* ====================================================
font
==================================================== */
.u-lh22 {
  line-height: 2.2;
}

.u-lh24 {
  line-height: 2.4;
}

@media print, screen and (max-width: 768px) {
  .u-lh20-sp {
    line-height: 2;
  }
}
/* ====================================================
font
==================================================== */
.u-font-jost {
  font-family: "Jost", sans-serif;
}

.u-font-serif {
  font-family: "Noto Serif JP", serif;
}

.u-fs12 {
  font-size: 12px;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .u-fs12 {
    font-size: calc(12px - .5rem);
  }
}

.u-fs13 {
  font-size: 13px;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .u-fs13 {
    font-size: calc(13px - .5rem);
  }
}

.u-fs14 {
  font-size: 14px;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .u-fs14 {
    font-size: calc(14px - .5rem);
  }
}

.u-fs15 {
  font-size: 15px;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .u-fs15 {
    font-size: calc(15px - .5rem);
  }
}

.u-fs17 {
  font-size: 17px;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .u-fs17 {
    font-size: calc(17px - .5rem);
  }
}

.u-fs18 {
  font-size: 18px;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .u-fs18 {
    font-size: calc(18px - .5rem);
  }
}

.u-fs20 {
  font-size: 20px;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .u-fs20 {
    font-size: calc(20px - .5rem);
  }
}

.u-fs22 {
  font-size: 22px;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .u-fs22 {
    font-size: calc(22px - .5rem);
  }
}

.u-fs24 {
  font-size: 24px;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .u-fs24 {
    font-size: calc(24px - .5rem);
  }
}

.u-fs25 {
  font-size: 25px;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .u-fs25 {
    font-size: calc(25px - .5rem);
  }
}

.u-fs26 {
  font-size: 26px;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .u-fs26 {
    font-size: calc(26px - .5rem);
  }
}

.u-fs28 {
  font-size: 28px;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .u-fs28 {
    font-size: calc(28px - .5rem);
  }
}

.u-fs30 {
  font-size: 30px;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .u-fs30 {
    font-size: calc(30px - .5rem);
  }
}

.u-fs32 {
  font-size: 32px;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .u-fs32 {
    font-size: calc(32px - .5rem);
  }
}

.u-fs36 {
  font-size: 36px;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .u-fs36 {
    font-size: calc(36px - .5rem);
  }
}

.u-fs40 {
  font-size: 4.0rem;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .u-fs40 {
    font-size: calc(40px - 2rem);
  }
}

.u-fs42 {
  font-size: 4.2rem;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .u-fs42 {
    font-size: calc(42px - 2rem);
  }
}

.u-fs2em {
  font-size: .2em;
}

.u-fs3em {
  font-size: .3em;
}

.u-fs5em {
  font-size: .5em;
}

.u-fs8em {
  font-size: .8em;
}

.u-fs12em {
  font-size: 1.2em;
}

.u-fs15em {
  font-size: 1.5em;
}

@media print, screen and (max-width: 768px) {
  .u-fs8-sp {
    font-size: .8rem;
  }

  .u-fs10-sp {
    font-size: 1.0rem;
  }

  .u-fs12-sp {
    font-size: 1.2rem;
  }

  .u-fs13-sp {
    font-size: 1.3rem;
  }

  .u-fs14-sp {
    font-size: 1.4rem;
  }

  .u-fs15-sp {
    font-size: 1.5rem;
  }

  .u-fs16-sp {
    font-size: 1.6rem;
  }

  .u-fs18-sp {
    font-size: 1.8rem;
  }

  .u-fs20-sp {
    font-size: 2rem;
  }

  .u-fs10em-sp {
    font-size: 1em;
  }

  .u-fs12em-sp {
    font-size: 1.2em;
  }
}
/* ====================================================
font color
==================================================== */
.u-fc-red {
  color: #f4000c;
}

.u-fc-black {
  color: #000000;
}

.u-fc-green {
  color: #00994B;
}

.u-fc-gray {
  color: #666666;
}

.u-bg-lightgray {
  background-color: #E1E1E1;
}

.u-bg-lightgreen {
  background-color: #D9F0E4;
}

/* ====================================================
text
==================================================== */
.u-text-right {
  text-align: right;
}

.u-text-left {
  text-align: left;
}

.u-text-center {
  text-align: center;
}

.u-text-middle {
  font-weight: 500;
}

.u-text-bold {
  font-weight: 600;
}

@media print, screen and (max-width: 768px) {
  .u-text-left-sp {
    text-align: left;
  }

  .u-text-center-sp {
    text-align: center;
  }

  .u-text-right-sp {
    text-align: right;
  }
}
/* ====================================================
margin
==================================================== */
.u-mt10 {
  margin-top: 1rem;
}

.u-mt20 {
  margin-top: 2rem;
}

.u-mt30 {
  margin-top: 3rem;
}

.u-mt40 {
  margin-top: 4rem;
}

.u-mt50 {
  margin-top: 5rem;
}

.u-mt60 {
  margin-top: 6rem;
}

.u-mt80 {
  margin-top: 8rem;
}

.u-mt90 {
  margin-top: 9rem;
}

.u-mt110 {
  margin-top: 11rem;
}

.u-mt120 {
  margin-top: 12rem;
}

.u-mt-auto {
  margin-top: auto;
}

.u-mb0 {
  margin-bottom: 0rem;
}

.u-mb10 {
  margin-bottom: 1rem;
}

.u-mrl-auto {
  margin-left: auto;
  margin-right: auto;
}

@media print, screen and (max-width: 768px) {
  .u-mt0-sp {
    margin-top: 0rem;
  }

  .u-mt5-sp {
    margin-top: .5rem;
  }

  .u-mt10-sp {
    margin-top: 1rem;
  }

  .u-mt20-sp {
    margin-top: 2rem;
  }

  .u-mt30-sp {
    margin-top: 3rem;
  }

  .u-mt40-sp {
    margin-top: 4rem;
  }

  .u-mt60-sp {
    margin-top: 6rem;
  }

  .u-mb0-sp {
    margin-bottom: 0rem !important;
  }
}
/* ====================================================
width
==================================================== */
@media print, screen and (max-width: 768px) {
  .u-full-sp {
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
    width: 100vw;
  }
}
/* ====================================================
part
==================================================== */
.u-disc-list {
  list-style: disc;
  margin-left: 1em;
  line-height: 1.8;
  text-align: left;
}
.u-disc-list > li {
  list-style-position: outside;
}
.u-disc-list > li::marker {
  font-size: .8em;
}

a.u-textlink {
  color: #00994B;
  text-decoration: underline;
}

/* ====================================================
width
==================================================== */
.u-w10 {
  width: 10%;
}

.u-w30 {
  width: 30%;
}

.u-w32 {
  width: 32%;
}

.u-w50 {
  width: 50%;
}

.u-w70 {
  width: 70%;
}

.u-w80 {
  width: 80%;
}

@media print, screen and (max-width: 768px) {
  .u-w100-sp {
    width: 100%;
  }
}
