@charset "UTF-8";
@-webkit-keyframes slideLRAnime {
  0% {
    -webkit-clip-path: inset(0 100% 0 0);
            clip-path: inset(0 100% 0 0);
  }
  100% {
    -webkit-clip-path: inset(0);
            clip-path: inset(0);
  }
}
@keyframes slideLRAnime {
  0% {
    -webkit-clip-path: inset(0 100% 0 0);
            clip-path: inset(0 100% 0 0);
  }
  100% {
    -webkit-clip-path: inset(0);
            clip-path: inset(0);
  }
}
@-webkit-keyframes slideTBAnime {
  0% {
    -webkit-clip-path: inset(0 0 100% 0);
            clip-path: inset(0 0 100% 0);
  }
  100% {
    -webkit-clip-path: inset(0);
            clip-path: inset(0);
  }
}
@keyframes slideTBAnime {
  0% {
    -webkit-clip-path: inset(0 0 100% 0);
            clip-path: inset(0 0 100% 0);
  }
  100% {
    -webkit-clip-path: inset(0);
            clip-path: inset(0);
  }
}
/*----------------------------------------------------
メインビジュアル
----------------------------------------------------*/
#mv {
  position: relative;
  width: 100%;
  height: 100vh;
  height: 100dvh;
}
#mv .copy {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 45px;
  text-align: center;
}
@media all and (min-width: 751px) {
  #mv .copy {
    gap: 56px;
  }
}
#mv .copy span {
  color: #fff;
  -webkit-animation: blur 0.8s 0.5s cubic-bezier(0.17, 0.67, 0.87, 0.05) forwards;
          animation: blur 0.8s 0.5s cubic-bezier(0.17, 0.67, 0.87, 0.05) forwards;
  opacity: 0;
}
@-webkit-keyframes blur {
  0% {
    opacity: 0;
    -webkit-filter: blur(20px);
            filter: blur(20px);
  }
  10% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    -webkit-filter: blur(0);
            filter: blur(0);
  }
}
@keyframes blur {
  0% {
    opacity: 0;
    -webkit-filter: blur(20px);
            filter: blur(20px);
  }
  10% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    -webkit-filter: blur(0);
            filter: blur(0);
  }
}
#mv .copy .en {
  font-family: "Roboto", sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 44px;
  letter-spacing: 0.2em;
}
@media all and (min-width: 751px) {
  #mv .copy .en {
    font-size: 80px;
  }
}
@media all and (min-width: 751px) and (max-width: 1250px) {
  #mv .copy .en {
    font-size: 5vw;
  }
}
#mv .copy .jp {
  position: relative;
  text-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  font-weight: bold;
  letter-spacing: 0.2em;
  font-size: 21px;
}
@media all and (min-width: 751px) {
  #mv .copy .jp {
    font-size: 36px;
  }
}
@media all and (min-width: 751px) and (max-width: 1250px) {
  #mv .copy .jp {
    font-size: 3vw;
  }
}
#mv .copy .jp::before {
  position: absolute;
  content: "";
  top: -22px;
  left: 50%;
  -webkit-transform: translate(-50%, -100%) scaleX(0);
          transform: translate(-50%, -100%) scaleX(0);
  background-color: #fff;
  width: 50px;
  height: 3px;
  -webkit-transform-origin: center;
          transform-origin: center;
  -webkit-animation: showLine 0.6s 2.2s forwards ease;
          animation: showLine 0.6s 2.2s forwards ease;
}
@media all and (min-width: 751px) {
  #mv .copy .jp::before {
    top: -26px;
    width: 90px;
    height: 5px;
  }
}
@-webkit-keyframes showLine {
  0% {
    -webkit-transform: translate(-50%, -100%) scaleX(0);
            transform: translate(-50%, -100%) scaleX(0);
  }
  100% {
    -webkit-transform: translate(-50%, -100%) scaleX(100%);
            transform: translate(-50%, -100%) scaleX(100%);
  }
}
@keyframes showLine {
  0% {
    -webkit-transform: translate(-50%, -100%) scaleX(0);
            transform: translate(-50%, -100%) scaleX(0);
  }
  100% {
    -webkit-transform: translate(-50%, -100%) scaleX(100%);
            transform: translate(-50%, -100%) scaleX(100%);
  }
}
#mv .movie {
  height: 100%;
}
#mv .movie video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  background-position: center;
}

/*----------------------------------------------------
section共通
----------------------------------------------------*/
section {
  overflow: hidden;
}
section .section_title.center {
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
}
section .section_title.center .en {
  font-family: "Roboto", sans-serif;
  font-style: normal;
  color: #00787e;
  font-weight: bold;
  letter-spacing: 0.2em;
  font-size: 26px;
}
@media all and (min-width: 751px) {
  section .section_title.center .en {
    font-size: 41px;
  }
}
section .section_title.center .jp {
  font-weight: bold;
  letter-spacing: 0.2em;
  font-size: 13px;
}
@media all and (min-width: 751px) {
  section .section_title.center .jp {
    font-size: 18px;
  }
}
section .section_title.small {
  position: relative;
  font-family: "Roboto", sans-serif;
  font-style: normal;
  color: #00787e;
  font-weight: bold;
  font-size: 11px;
  letter-spacing: 0.2em;
  padding-left: 20px;
}
@media all and (min-width: 751px) {
  section .section_title.small {
    font-size: 18px;
    padding-left: 30px;
  }
}
section .section_title.small::before {
  position: absolute;
  content: "";
  background-color: #00787e;
  width: 14px;
  height: 1px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 0;
}
@media all and (min-width: 751px) {
  section .section_title.small::before {
    width: 20px;
  }
}
section .wrap .copy {
  font-weight: bold;
  font-size: 17px;
  letter-spacing: 0.08em;
  margin-top: 10px;
}
@media all and (min-width: 751px) {
  section .wrap .copy {
    font-size: 26px;
    letter-spacing: 0.1em;
  }
}
@media screen and (min-width: 751px) and (max-width: 999px) {
  section .wrap .copy {
    font-size: 20px;
  }
}
section .wrap .text {
  margin-top: 10px;
}
@media all and (min-width: 751px) {
  section .wrap .text {
    margin-top: 12px;
  }
}
section .wrap .text p {
  font-weight: 500;
  font-size: 12px;
  letter-spacing: 0.08em;
  line-height: 2.08;
}
@media all and (min-width: 751px) {
  section .wrap .text p {
    font-size: 16px;
    line-height: 2;
  }
}
@media screen and (min-width: 751px) and (max-width: 999px) {
  section .wrap .text p {
    font-size: 14px;
  }
}
section .wrap .text p:not(:last-child) {
  margin-bottom: 0.8em;
}
@media all and (min-width: 751px) {
  section .wrap .text p:not(:last-child) {
    margin-bottom: 1em;
  }
}
section .btn {
  --bg_color: #006a6f;
  width: min(446px, 70%);
  height: 47px;
  margin-inline: auto;
}
@media all and (min-width: 751px) {
  section .btn {
    width: 350px;
    height: 70px;
  }
}
section .btn a {
  position: relative;
  display: -ms-grid;
  display: grid;
  place-items: center;
  height: 100%;
  background-color: #006a6f;
  border: 1px solid var(--bg_color);
  color: #fff;
  font-weight: bold;
  font-size: 13px;
  letter-spacing: 0.1em;
}
@media all and (min-width: 751px) {
  section .btn a {
    font-size: 18px;
  }
}
section .btn a::after {
  position: absolute;
  content: "";
  display: block;
  aspect-ratio: 1;
  width: 6px;
  top: 48%;
  right: 20px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  -webkit-transform: rotate(45deg) translateY(-50%);
          transform: rotate(45deg) translateY(-50%);
}
@media all and (min-width: 751px) {
  section .btn a::after {
    width: 10px;
    right: 34px;
    border-width: 2px;
  }
}
section .btn.right {
  --bg_color: #00787e;
  width: min(330px, 58%);
}
@media all and (min-width: 751px) {
  section .btn.right {
    width: 174px;
    height: 52px;
    margin-right: unset;
  }
}
section .btn.right a {
  background-color: var(--bg_color);
  border: 1px solid var(--bg_color);
}
@media all and (min-width: 751px) {
  section .btn.right a {
    font-size: 15px;
  }
}
@media all and (min-width: 751px) {
  section .btn.right a::after {
    width: 7px;
    right: 24px;
    border-width: 1px;
  }
}
@media (hover: hover) {
  section .btn a, section .btn a::after {
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  section .btn a:hover {
    color: var(--bg_color);
    background-color: #fff;
  }
  section .btn a:hover::after {
    border-color: var(--bg_color);
  }
}

/*----------------------------------------------------
MESSAGE
----------------------------------------------------*/
#message {
  position: relative;
  z-index: 1;
  padding: 43px 0 38px;
}
@media all and (min-width: 751px) {
  #message {
    padding: 85px 0 66px;
  }
}
#message::before {
  position: absolute;
  z-index: -1;
  content: "MESSAGE";
  font-family: "Roboto", sans-serif;
  font-style: normal;
  color: #f7f7f7;
  font-weight: 900;
  letter-spacing: 0.1em;
  font-size: 74px;
  bottom: 43.3%;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media all and (min-width: 751px) {
  #message::before {
    font-size: 142px;
    left: unset;
    right: -24px;
    -webkit-transform: unset;
            transform: unset;
    bottom: 54%;
  }
}
#message::after {
  position: absolute;
  z-index: -1;
  content: "";
  background-color: #f7f7f7;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 46%;
}
@media all and (min-width: 751px) {
  #message::after {
    width: 79.4%;
    height: 60%;
    left: unset;
    right: 0;
  }
}
#message .inner {
  --sp_padding: 36px;
}
#message .wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 27px;
}
@media all and (min-width: 751px) {
  #message .wrap {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 60px;
  }
}
#message .wrap .image {
  margin-left: calc(50% - 50vw);
}
@media all and (min-width: 751px) {
  #message .wrap .image {
    width: 48.28vw;
  }
}
@media all and (min-width: 1441px) {
  #message .wrap .image {
    width: 60%;
    margin-left: calc(-1 * var(--pc_padding));
  }
}
@media all and (min-width: 751px) {
  #message .wrap .texts {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    margin-top: 14px;
  }
}
#message .wrap .texts .text {
  margin-bottom: 26px;
}
@media all and (min-width: 751px) {
  #message .wrap .texts .text {
    margin-bottom: 30px;
  }
}

/*----------------------------------------------------
SERVICE
----------------------------------------------------*/
#service {
  position: relative;
  z-index: 1;
  padding: 40px 0;
}
@media all and (min-width: 751px) {
  #service {
    padding: 70px 0 116px;
  }
}
#service::before {
  position: absolute;
  z-index: -1;
  content: "SERVICE";
  font-family: "Roboto", sans-serif;
  font-style: normal;
  color: #f7f7f7;
  font-weight: 900;
  letter-spacing: 0.1em;
  font-size: 84px;
  bottom: 38%;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media all and (min-width: 751px) {
  #service::before {
    font-size: 147px;
    left: -10px;
    -webkit-transform: unset;
            transform: unset;
    bottom: 0;
  }
}
#service::after {
  position: absolute;
  z-index: -1;
  content: "";
  background: linear-gradient(300deg, rgba(0, 120, 126, 0.8) 0, rgba(23, 147, 154, 0.8) 50%);
  bottom: 12%;
  left: 0;
  width: 100%;
  height: 41vw;
}
@media all and (min-width: 751px) {
  #service::after {
    aspect-ratio: 254/205;
    width: 36.2vw;
    max-width: 508px;
    height: auto;
    left: unset;
    bottom: unset;
    right: 0;
    top: 30%;
  }
}
@media all and (min-width: 1441px) {
  #service::after {
    right: unset;
    left: 60%;
  }
}
#service .inner {
  --sp_padding: 36px;
}
#service .wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 50px;
}
@media all and (min-width: 751px) {
  #service .wrap {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 5%;
  }
}
@media all and (min-width: 751px) {
  #service .wrap .image {
    width: 48%;
  }
}
@media all and (min-width: 751px) {
  #service .wrap .texts {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    margin-top: 30px;
  }
}
#service .wrap .texts .text {
  margin-bottom: 26px;
}
@media all and (min-width: 751px) {
  #service .wrap .texts .text {
    margin-bottom: 30px;
  }
}

/*----------------------------------------------------
INTERVIEW
----------------------------------------------------*/
#interview {
  position: relative;
  padding: 37px 0 50px;
}
@media all and (min-width: 751px) {
  #interview {
    padding: 65px 0 85px;
  }
}
#interview::before {
  position: absolute;
  z-index: -1;
  content: "";
  background: linear-gradient(300deg, rgba(0, 120, 126, 0.8) 0, rgba(23, 147, 154, 0.8) 50%);
  bottom: 0;
  left: 0;
  width: 100%;
  height: 64%;
}
#interview .splide_wrap {
  margin-top: 44px;
  margin-bottom: 43px;
}
@media all and (max-width: 750px) {
  #interview .splide_wrap {
    margin-inline: calc(50% - 50vw);
  }
}
@media all and (min-width: 751px) {
  #interview .splide_wrap {
    margin-right: -23px;
    margin-bottom: 37px;
  }
}
@media all and (max-width: 750px) {
  #interview .splide_wrap .splide__track {
    overflow: visible;
  }
}
@media all and (min-width: 751px) {
  #interview .splide_wrap .splide__track {
    overflow: hidden;
    padding-top: 20px;
    padding-bottom: 20px;
  }
}
#interview .splide_wrap .splide__arrows {
  position: absolute;
  z-index: 1;
  top: calc(50% - 20px);
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: calc(50.4% + 110px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  pointer-events: none;
}
@media all and (min-width: 751px) {
  #interview .splide_wrap .splide__arrows {
    top: calc(50% - 40px);
    width: 100%;
  }
}
#interview .splide_wrap .splide__arrows .splide__arrow {
  display: -ms-grid;
  display: grid;
  place-content: center;
  aspect-ratio: 1;
  width: 41px;
  border: none;
  background-color: #2e3738;
  border-radius: 50%;
  opacity: 0.3;
  pointer-events: auto;
}
@media all and (min-width: 751px) {
  #interview .splide_wrap .splide__arrows .splide__arrow {
    width: 65px;
  }
}
#interview .splide_wrap .splide__arrows .splide__arrow::after {
  content: "";
  aspect-ratio: 1;
  width: 8px;
  border-style: solid;
  border-color: #fff;
  border-width: 1px 1px 0 0;
}
@media all and (min-width: 751px) {
  #interview .splide_wrap .splide__arrows .splide__arrow::after {
    width: 14px;
  }
}
#interview .splide_wrap .splide__arrows .splide__arrow > svg {
  display: none;
}
@media all and (min-width: 751px) {
  #interview .splide_wrap .splide__arrows .splide__arrow--prev {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}
#interview .splide_wrap .splide__arrows .splide__arrow--prev::after {
  -webkit-transform: rotate(-135deg);
          transform: rotate(-135deg);
  margin-left: 3px;
}
@media all and (min-width: 751px) {
  #interview .splide_wrap .splide__arrows .splide__arrow--next {
    -webkit-transform: translateX(calc(50% - 23px));
            transform: translateX(calc(50% - 23px));
  }
}
#interview .splide_wrap .splide__arrows .splide__arrow--next::after {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  margin-right: 3px;
}
@media (hover: hover) {
  #interview .splide_wrap .splide__arrows .splide__arrow {
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s;
  }
  #interview .splide_wrap .splide__arrows .splide__arrow:hover {
    opacity: 1;
  }
}
#interview .splide_wrap .splide__list .splide__slide {
  position: relative;
}
#interview .splide_wrap .splide__list .splide__slide a {
  display: block;
}
@media (hover: hover) {
  #interview .splide_wrap .splide__list .splide__slide a .image img {
    -webkit-transition: -webkit-transform 0.4s ease;
    transition: -webkit-transform 0.4s ease;
    transition: transform 0.4s ease;
    transition: transform 0.4s ease, -webkit-transform 0.4s ease;
  }
  #interview .splide_wrap .splide__list .splide__slide a:hover .image img {
    -webkit-transform: translateY(-20px);
            transform: translateY(-20px);
  }
}
#interview .splide_wrap .splide__list .splide__slide .copy {
  position: absolute;
  top: 50%;
  left: 0;
  z-index: 1;
}
#interview .splide_wrap .splide__list .splide__slide .texts {
  position: absolute;
  z-index: 1;
  bottom: -13px;
  right: -15px;
  background-color: #fff;
  text-align: center;
  min-width: 121px;
  padding: 8px 8px 9px;
}
@media all and (min-width: 751px) {
  #interview .splide_wrap .splide__list .splide__slide .texts {
    bottom: -20px;
    right: -23px;
    min-width: 190px;
    padding: 17px 13px 20px;
  }
}
@media screen and (min-width: 751px) and (max-width: 999px) {
  #interview .splide_wrap .splide__list .splide__slide .texts {
    min-width: 170px;
    padding: 14px 10px 16px;
  }
}
#interview .splide_wrap .splide__list .splide__slide .texts .position {
  color: #00787e;
  font-weight: bold;
  letter-spacing: 0.04em;
  font-size: 9px;
  padding-bottom: 5px;
  border-bottom: 1px solid rgba(20, 144, 151, 0.5);
}
@media all and (min-width: 751px) {
  #interview .splide_wrap .splide__list .splide__slide .texts .position {
    font-size: 13px;
  }
}
@media screen and (min-width: 751px) and (max-width: 999px) {
  #interview .splide_wrap .splide__list .splide__slide .texts .position {
    font-size: 12px;
  }
}
#interview .splide_wrap .splide__list .splide__slide .texts .name {
  font-weight: bold;
  letter-spacing: 0.04em;
  font-size: 12px;
  margin-top: 5px;
}
@media all and (min-width: 751px) {
  #interview .splide_wrap .splide__list .splide__slide .texts .name {
    font-size: 18px;
  }
}
@media screen and (min-width: 751px) and (max-width: 999px) {
  #interview .splide_wrap .splide__list .splide__slide .texts .name {
    font-size: 16px;
  }
}
#interview .splide_wrap .splide__pagination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 6px;
  margin-top: 46px;
}
@media all and (min-width: 751px) {
  #interview .splide_wrap .splide__pagination {
    gap: 10px;
    margin-top: 65px;
  }
}
#interview .splide_wrap .splide__pagination .splide__pagination__page {
  aspect-ratio: 1;
  width: 6px;
  border: 1px solid #c3c3c3;
  border-radius: 50%;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media all and (min-width: 751px) {
  #interview .splide_wrap .splide__pagination .splide__pagination__page {
    width: 8px;
  }
}
#interview .splide_wrap .splide__pagination .splide__pagination__page.is-active {
  background-color: #fff;
  border-color: #fff;
}

/*----------------------------------------------------
CROSS TALK
----------------------------------------------------*/
#crosstalk {
  position: relative;
  padding: 50px 0;
}
@media all and (min-width: 751px) {
  #crosstalk {
    padding: 78px 0 124px;
  }
}
#crosstalk::before {
  position: absolute;
  z-index: -1;
  content: "";
  background-color: #f7f7f7;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 64%;
}
#crosstalk .inner {
  --sp_padding: 17px;
}
#crosstalk ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 30px;
  margin-top: 33px;
  margin-bottom: 38px;
}
@media all and (min-width: 751px) {
  #crosstalk ul {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 27px;
    margin-top: 50px;
    margin-bottom: 56px;
  }
}
@media all and (min-width: 751px) {
  #crosstalk ul li {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}
#crosstalk ul li a {
  position: relative;
  display: block;
}
@media (hover: hover) {
  #crosstalk ul li a .image img {
    -webkit-transition: -webkit-transform 0.3s ease-out;
    transition: -webkit-transform 0.3s ease-out;
    transition: transform 0.3s ease-out;
    transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out;
  }
  #crosstalk ul li a:hover .image img {
    -webkit-transform: scale(1.08);
            transform: scale(1.08);
  }
}
#crosstalk ul li a .num {
  position: absolute;
  z-index: 1;
  top: 9px;
  left: 12px;
  aspect-ratio: 33/31;
  width: 46px;
}
@media all and (min-width: 751px) {
  #crosstalk ul li a .num {
    top: 13px;
    left: 18px;
    width: 66px;
  }
}
#crosstalk ul li a .image {
  overflow: hidden;
}
#crosstalk ul li a .texts {
  position: relative;
  z-index: 1;
  margin-inline: auto;
  margin-top: -15px;
  width: 94%;
  background-color: #fff;
  text-align: center;
  padding: 16px 22px 18px;
}
@media all and (min-width: 751px) {
  #crosstalk ul li a .texts {
    margin-top: -20px;
    padding: 24px 30px 22px;
  }
}
#crosstalk ul li a .texts .copy {
  color: #00787e;
  font-weight: bold;
  letter-spacing: 0.06em;
  font-size: 12px;
  line-height: 1.66;
  margin-bottom: 10px;
  margin-inline: -10px;
}
@media all and (min-width: 751px) {
  #crosstalk ul li a .texts .copy {
    font-size: 17px;
    margin-inline: -14px;
    margin-bottom: 16px;
  }
}
@media all and (min-width: 751px) and (max-width: 1200px) {
  #crosstalk ul li a .texts .copy {
    font-size: 15px;
  }
}
@media screen and (min-width: 751px) and (max-width: 999px) {
  #crosstalk ul li a .texts .copy {
    font-size: 14px;
  }
}
@media all and (min-width: 751px) and (max-width: 1440px) {
  #crosstalk ul li a .texts .copy.reduction {
    font-size: 1.13vw;
  }
}
@media all and (min-width: 751px) and (max-width: 1440px) and (max-width: 1200px) {
  #crosstalk ul li a .texts .copy.reduction {
    font-size: 1.3vw;
  }
}
#crosstalk ul li a .texts .title {
  font-weight: bold;
  letter-spacing: 0.1em;
  font-size: 12px;
  padding-top: 10px;
  border-top: 1px solid rgba(50, 149, 154, 0.6);
}
@media all and (min-width: 751px) {
  #crosstalk ul li a .texts .title {
    font-size: 16px;
    letter-spacing: 0.3em;
    padding-top: 14px;
  }
}

/*----------------------------------------------------
CULTURE
----------------------------------------------------*/
#culture {
  position: relative;
  z-index: 1;
  padding: 60px 0 80px;
}
@media all and (min-width: 751px) {
  #culture {
    padding: 120px 0 66px;
    margin-bottom: 125px;
  }
}
#culture::before {
  position: absolute;
  z-index: -1;
  content: "CULTURE";
  font-family: "Roboto", sans-serif;
  font-style: normal;
  color: #f7f7f7;
  font-weight: 900;
  letter-spacing: 0.1em;
  font-size: 74px;
  bottom: 43.3%;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media all and (min-width: 751px) {
  #culture::before {
    font-size: 142px;
    left: unset;
    right: -24px;
    -webkit-transform: unset;
            transform: unset;
    bottom: 54%;
  }
}
#culture::after {
  position: absolute;
  z-index: -1;
  content: "";
  background-color: #f7f7f7;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 46%;
}
@media all and (min-width: 751px) {
  #culture::after {
    width: 79.4%;
    height: 60%;
    left: unset;
    right: 0;
  }
}
#culture .inner {
  --sp_padding: 36px;
}
#culture .wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 27px;
}
@media all and (min-width: 751px) {
  #culture .wrap {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 60px;
  }
}
#culture .wrap .image {
  margin-left: calc(50% - 50vw);
}
@media all and (min-width: 751px) {
  #culture .wrap .image {
    width: 48.28vw;
  }
}
@media all and (min-width: 1441px) {
  #culture .wrap .image {
    width: 60%;
    margin-left: calc(-1 * var(--pc_padding));
  }
}
@media all and (min-width: 751px) {
  #culture .wrap .texts {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    margin-top: 14px;
  }
}
#culture .wrap .texts .text {
  margin-bottom: 26px;
}
@media all and (min-width: 751px) {
  #culture .wrap .texts .text {
    margin-bottom: 30px;
  }
}