@charset "UTF-8";
/* ==========================================================================//
//
// トップページ
//
// ========================================================================== */
/* 共通
---------------------------------------------------------- */
@media all and (min-width: 751px) {
  .inner {
    padding: 0 clamp(80px, 10vw, 140px);
  }
}

main {
  overflow: hidden;
}

.ttl_contents {
  position: relative;
}
.ttl_contents .sec_ttl {
  padding-bottom: 0;
  position: absolute;
  top: -30px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 87.25%;
  margin-inline: auto;
  z-index: 1;
}
@media screen and (min-width: 400px) and (max-width: 750px) {
  .ttl_contents .sec_ttl {
    top: 0;
  }
}
@media all and (min-width: 751px) {
  .ttl_contents .sec_ttl {
    max-width: 1263px;
    width: 100%;
    top: -4.41vw;
  }
}
@media all and (min-width: 1401px) {
  .ttl_contents .sec_ttl {
    top: -50px;
  }
}
.ttl_contents .sec_ttl::before {
  display: none;
}
.ttl_contents .sec_ttl .en {
  font-family: "Oswald", sans-serif;
  font-size: 64px;
  font-weight: 400;
  letter-spacing: 0.06em;
  -webkit-transform: rotate(-8.42deg);
          transform: rotate(-8.42deg);
  text-align: left;
}
@media all and (min-width: 751px) {
  .ttl_contents .sec_ttl .en {
    font-size: clamp(90px, 12.8vw, 179px);
  }
}
@media all and (max-width: 750px) {
  .ttl_contents .sec_ttl .ttl_image {
    width: min(197px, 100%);
    -webkit-transform: rotate(-8deg);
            transform: rotate(-8deg);
  }
}
@media screen and (min-width: 450px) and (max-width: 750px) {
  .ttl_contents .sec_ttl .ttl_image {
    margin: 20px 0 0;
  }
}
@media all and (min-width: 751px) {
  .ttl_contents .sec_ttl .ttl_image {
    margin: 8.1vw 0 0 4.3vw;
    -webkit-transform: rotate(-8.42deg);
            transform: rotate(-8.42deg);
  }
}
@media screen and (min-width: 751px) and (max-width: 1130px) {
  .ttl_contents .sec_ttl .ttl_image {
    margin: 4vw 0 0 4.3vw;
  }
}
@media all and (min-width: 1401px) {
  .ttl_contents .sec_ttl .ttl_image {
    margin: 110px 0 0 4.3vw;
  }
}
.ttl_contents .sec_image {
  margin: 0 calc(50% - 50vw);
}
.ttl_contents .sec_image img {
  clip-path: polygon(0 44%, 100% 3%, 100% 61.5%, 0% 100%);
}
@media all and (min-width: 751px) {
  .ttl_contents .sec_image img {
    clip-path: polygon(0 41%, 100% 0%, 100% 61.5%, 0% 100%);
  }
}

.reason {
  margin: -2px -10px 0 auto;
  position: relative;
  z-index: 2;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media all and (min-width: 751px) {
  .reason {
    margin: -90px -15px 0 auto;
  }
}
.reason span {
  padding: 4px 9px;
  display: block;
  background-image: -webkit-gradient(linear, left top, right top, from(#061922), to(#58656B));
  background-image: linear-gradient(90deg, #061922, #58656B);
  color: #fff;
  font-size: 18px;
  font-weight: bold;
  letter-spacing: 0.087px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  line-height: 1;
}
@media all and (min-width: 751px) {
  .reason span {
    padding: 3.5px 15px;
    font-size: 29px;
  }
}
.reason span:not(:first-of-type) {
  margin-top: 4px;
}
@media all and (min-width: 751px) {
  .reason span:not(:first-of-type) {
    margin-top: 10px;
  }
}

/* メインビジュアル
---------------------------------------------------------- */
.mv_video {
  position: relative;
  height: 100vh;
  /* 文字のアニメーション */
  /* 動画 */
}
.mv_video::before, .mv_video::after {
  position: absolute;
  content: "";
  background-image: url(../images/top/top_bg_pc.png);
  background-repeat: no-repeat;
  background-size: cover;
  z-index: -1;
  width: min(449px, 100%);
  height: min(824px, 100%);
}
.mv_video::before {
  bottom: -650px;
  left: -156px;
}
@media all and (min-width: 751px) {
  .mv_video::before {
    left: -141px;
    bottom: -354px;
  }
}
@media all and (max-width: 750px) {
  .mv_video::after {
    display: none;
  }
}
@media all and (min-width: 751px) {
  .mv_video::after {
    right: -141px;
    bottom: -341px;
  }
}
.mv_video .catch_copy {
  position: absolute;
  top: calc(50% + 20px);
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 1;
  width: 87.25%;
}
@media all and (min-width: 751px) {
  .mv_video .catch_copy {
    max-width: 1120px;
    line-height: 1.4;
  }
}
.mv_video .catch_copy span {
  color: #fff;
  font-weight: bold;
}
.mv_video .catch_copy .big {
  font-size: 32px;
  letter-spacing: 0.23px;
}
@media all and (min-width: 751px) {
  .mv_video .catch_copy .big {
    font-size: 81px;
  }
}
.mv_video .catch_copy .normal {
  font-size: 27px;
  font-weight: bold;
}
@media all and (min-width: 751px) {
  .mv_video .catch_copy .normal {
    font-size: 48px;
  }
}
@media all and (min-width: 751px) {
  .mv_video .catch_copy .normal.first {
    margin-left: -10px;
  }
}
@media all and (max-width: 750px) {
  .mv_video .catch_copy .normal.second {
    font-size: 28px;
  }
}
.mv_video .catch_copy .txt_anime {
  display: inline-block;
  opacity: 0;
  -webkit-animation: bgUp 0.5s cubic-bezier(0, 0, 0.2, 1) 0.2s forwards;
          animation: bgUp 0.5s cubic-bezier(0, 0, 0.2, 1) 0.2s forwards;
}
.mv_video .catch_copy .txt_anime2 {
  display: inline-block;
  opacity: 0;
  -webkit-animation: bgUp 0.5s cubic-bezier(0, 0, 0.2, 1) 0.4s forwards;
          animation: bgUp 0.5s cubic-bezier(0, 0, 0.2, 1) 0.4s forwards;
}
@-webkit-keyframes bgUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(3rem);
            transform: translateY(3rem);
    @media all and (min-width: 751px) {
      .mv_video {
        -webkit-transform: translateY(10rem);
                transform: translateY(10rem);
      }
    }
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}
@keyframes bgUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(3rem);
            transform: translateY(3rem);
    @media all and (min-width: 751px) {
      .mv_video {
        -webkit-transform: translateY(10rem);
                transform: translateY(10rem);
      }
    }
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}
.mv_video video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/* 道の途中で、誰かの心を温める仕事
---------------------------------------------------------- */
@media all and (max-width: 750px) {
  .introduction_contents {
    margin-top: 38px;
    padding: 0 24px;
  }
}
@media all and (min-width: 751px) {
  .introduction_contents {
    margin-top: 54px;
  }
}
@media screen and (min-width: 751px) and (max-width: 1340px) {
  .introduction_contents {
    padding: 0 140px;
  }
}
.introduction_contents .wrap {
  background-image: url(../images/top/introduction_sp.webp);
  border-radius: 16px;
  background-repeat: no-repeat;
  background-size: cover;
}
@media all and (min-width: 751px) {
  .introduction_contents .wrap {
    margin-inline: auto;
    padding: 100px 5.58vw 90px;
    background-image: url(../images/top/introduction_pc.webp);
    border-radius: 44px;
    max-width: 1273px;
  }
}
@media all and (max-width: 750px) {
  .introduction_contents .wrap_contents {
    padding: 24px;
  }
}
@media all and (min-width: 1101px) {
  .introduction_contents .wrap_contents {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-inline: auto;
    max-width: 1120px;
  }
}
.introduction_contents .intro_ttl {
  color: #fff;
  font-size: 25px;
  font-weight: bold;
  letter-spacing: 0.23px;
  line-height: 1.44;
}
@media all and (min-width: 751px) {
  .introduction_contents .intro_ttl {
    font-size: 32px;
    line-height: 1.43;
  }
}
@media all and (min-width: 1101px) {
  .introduction_contents .intro_ttl {
    width: 49.8%;
  }
}
@media all and (max-width: 1100px) {
  .introduction_contents .txts {
    margin-top: 24px;
  }
}
@media all and (min-width: 1101px) {
  .introduction_contents .txts {
    width: 38.5%;
  }
}
.introduction_contents .txts p {
  color: #fff;
  font-size: 16px;
  line-height: 2;
}

/* 会社を知る
---------------------------------------------------------- */
.sec_about {
  margin-top: 60px;
  position: relative;
}
@media all and (min-width: 751px) {
  .sec_about {
    margin-top: 40px;
  }
}
@media all and (min-width: 1001px) {
  .sec_about::before {
    position: absolute;
    content: "";
    background-image: url(../images/top/top_bg_pc.png);
    background-repeat: no-repeat;
    background-size: cover;
    z-index: -10;
    width: min(449px, 100%);
    height: min(824px, 100%);
    top: -41px;
    right: -309px;
  }
}
.sec_about .sec_ttl .en {
  color: #A8E6CF;
}
@media all and (min-width: 751px) {
  .sec_about .ttl_image {
    width: 35.85%;
  }
}
.sec_about .menu_list {
  margin-top: 36px;
  position: relative;
}
@media all and (min-width: 751px) {
  .sec_about .menu_list {
    margin-top: 64px;
  }
}
@media all and (min-width: 1001px) {
  .sec_about .menu_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-right: 52px;
    gap: 0 52px;
  }
}
.sec_about .menu_list::before, .sec_about .menu_list::after {
  position: absolute;
  content: "";
  background-image: url(../images/top/top_circle.png);
  background-repeat: no-repeat;
  background-size: cover;
  z-index: -1;
}
.sec_about .menu_list::before {
  top: -70px;
  right: -34px;
  width: min(86px, 100%);
  height: min(86px, 100%);
}
@media all and (min-width: 751px) {
  .sec_about .menu_list::before {
    top: -198px;
    right: -52px;
    width: min(140px, 100%);
    height: min(140px, 100%);
  }
}
.sec_about .menu_list::after {
  bottom: -80px;
  left: -130px;
  width: min(192px, 100%);
  height: min(192px, 100%);
}
@media all and (min-width: 751px) {
  .sec_about .menu_list::after {
    bottom: -140px;
    left: -280px;
    width: min(280px, 100%);
    height: min(280px, 100%);
  }
}
@media all and (max-width: 1000px) {
  .sec_about .menu_list .menu:not(:first-child) {
    margin-top: 20px;
  }
}
@media all and (min-width: 1001px) {
  .sec_about .menu_list .menu {
    width: calc((100% - 52px) / 2);
  }
}
.sec_about .menu_list .menu a {
  display: block;
  text-align: center;
}
@media (min-width: 751px) and (hover: hover) {
  .sec_about .menu_list .menu a:hover img {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
}
.sec_about .menu_list .menu a .image {
  margin-bottom: 15px;
  overflow: hidden;
  border-radius: 10px;
}
.sec_about .menu_list .menu a .image img {
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.sec_about .menu_list .menu a span {
  padding-right: 28px;
  position: relative;
  color: #255720;
  font-size: 18px;
  font-weight: bold;
  letter-spacing: 0.087px;
}
@media all and (min-width: 751px) {
  .sec_about .menu_list .menu a span {
    font-size: 22px;
  }
}
.sec_about .menu_list .menu a span::after {
  position: absolute;
  content: "";
  background-image: url(../images/top/about/about_arrow.svg);
  background-repeat: no-repeat;
  background-size: cover;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 0;
  width: 23px;
  height: 23px;
}

/* インタビュー
---------------------------------------------------------- */
.sec_interview {
  margin-top: 70px;
}
@media all and (min-width: 751px) {
  .sec_interview {
    margin-top: 100px;
  }
}
.sec_interview .sec_ttl .en {
  color: #FF8A65;
}
@media all and (min-width: 751px) {
  .sec_interview .ttl_image {
    width: 32.9%;
  }
}
.sec_interview .splide {
  margin-inline: auto;
}
@media all and (min-width: 1001px) {
  .sec_interview .splide {
    margin-top: 50px;
    width: min(1040px, 100%);
  }
}
.sec_interview .splide__pagination {
  display: none;
}
.sec_interview .splide__arrows {
  position: absolute;
  z-index: 1;
  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-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.sec_interview .splide__arrows .splide__arrow {
  cursor: pointer;
  display: -ms-grid;
  display: grid;
  place-content: center;
  aspect-ratio: 1;
  width: 50px;
  background-color: #282C2A;
  border-radius: 50%;
  pointer-events: auto;
  border: none;
}
@media all and (min-width: 751px) {
  .sec_interview .splide__arrows .splide__arrow {
    width: 60px;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
}
@media (min-width: 751px) and (hover: hover) {
  .sec_interview .splide__arrows .splide__arrow:hover {
    opacity: 0.6;
  }
}
.sec_interview .splide__arrows .splide__arrow.splide__arrow--prev {
  -webkit-transform: translateY(70%) translateX(-20px);
          transform: translateY(70%) translateX(-20px);
}
@media all and (min-width: 751px) {
  .sec_interview .splide__arrows .splide__arrow.splide__arrow--prev {
    -webkit-transform: translateY(18%) translateX(calc(-100% - 13px));
            transform: translateY(18%) translateX(calc(-100% - 13px));
  }
}
.sec_interview .splide__arrows .splide__arrow.splide__arrow--prev::after {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
.sec_interview .splide__arrows .splide__arrow.splide__arrow--next {
  -webkit-transform: translateY(70%) translateX(20px);
          transform: translateY(70%) translateX(20px);
}
@media all and (min-width: 751px) {
  .sec_interview .splide__arrows .splide__arrow.splide__arrow--next {
    -webkit-transform: translateY(18%) translateX(calc(100% + 13px));
            transform: translateY(18%) translateX(calc(100% + 13px));
  }
}
.sec_interview .splide__arrows .splide__arrow::after {
  content: "";
  aspect-ratio: 1;
  background-image: url(../images/top/interview/interview_arrow.svg);
  background-repeat: no-repeat;
  background-size: cover;
  width: 50px;
}
@media all and (min-width: 751px) {
  .sec_interview .splide__arrows .splide__arrow::after {
    width: 60px;
  }
}
.sec_interview .splide__arrows .splide__arrow svg {
  display: none;
}
.sec_interview .interview_list .interview {
  padding-top: 70px;
}
@media all and (min-width: 1001px) {
  .sec_interview .interview_list .interview:nth-child(odd) {
    -webkit-transform: translateY(-70px);
            transform: translateY(-70px);
  }
}
.sec_interview .interview_list .interview a {
  position: relative;
  display: block;
}
@media (min-width: 751px) and (hover: hover) {
  .sec_interview .interview_list .interview a:hover .image img {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
}
.sec_interview .interview_list .interview .image {
  overflow: hidden;
  border-radius: 10px;
}
@media all and (min-width: 1001px) {
  .sec_interview .interview_list .interview .image {
    aspect-ratio: 1/1.325;
  }
}
.sec_interview .interview_list .interview .image img {
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.sec_interview .interview_list .interview .profile {
  padding: 20px 0 7px 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0 10px;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: end;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  position: absolute;
  bottom: 0;
  left: 0;
  color: #fff;
  width: 100%;
  z-index: 0;
  /* 職業 */
}
.sec_interview .interview_list .interview .profile::before {
  position: absolute;
  content: "";
  background-image: -webkit-gradient(linear, left bottom, left top, from(rgb(41, 104, 0)), color-stop(50%, rgba(41, 104, 0, 0.2)), to(rgba(89, 136, 65, 0)));
  background-image: linear-gradient(0deg, rgb(41, 104, 0), rgba(41, 104, 0, 0.2) 50%, rgba(89, 136, 65, 0));
  border-radius: 10px;
  width: 100%;
  height: 82%;
  bottom: 0;
  left: 0;
  z-index: -1;
}
.sec_interview .interview_list .interview .profile .profile_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0 5px;
}
@media all and (min-width: 751px) {
  .sec_interview .interview_list .interview .profile .profile_wrap {
    gap: 0 10px;
  }
}
.sec_interview .interview_list .interview .profile .number {
  font-size: 58px;
  font-weight: bold;
  letter-spacing: 0.115px;
  line-height: 1;
}
@media all and (min-width: 751px) {
  .sec_interview .interview_list .interview .profile .number {
    font-size: 63px;
  }
}
.sec_interview .interview_list .interview .profile .year_name span {
  display: block;
  font-weight: bold;
  letter-spacing: 0.115px;
}
.sec_interview .interview_list .interview .profile .year_name .year {
  font-size: 14px;
}
.sec_interview .interview_list .interview .profile .year_name .name {
  margin-top: 5px;
  font-size: 28px;
  line-height: 1;
}
@media all and (min-width: 751px) {
  .sec_interview .interview_list .interview .profile .year_name .name {
    margin-top: 0;
    font-size: 36px;
  }
}
.sec_interview .interview_list .interview .profile .year_name .name span {
  display: inline-block;
  font-size: 20px;
}
.sec_interview .interview_list .interview .profile .occupation {
  padding: 0 8px 5px 0;
  -webkit-writing-mode: vertical-lr;
      -ms-writing-mode: tb-lr;
          writing-mode: vertical-lr;
  -webkit-text-fill-color: rgba(255, 255, 255, 0.9);
  -webkit-text-stroke: 1px #255720;
  font-size: 27px;
  font-weight: bold;
  letter-spacing: 3.5px;
}
@media all and (min-width: 751px) {
  .sec_interview .interview_list .interview .profile .occupation {
    padding: 0 13px 10px 0;
    font-size: clamp(25px, 2.5vw, 35px);
  }
}
.sec_interview .interview_list .interview .profile .occupation .concierge {
  letter-spacing: -0.1em;
}
.sec_interview .interview_list .interview .profile .occupation .concierge .parentheses {
  display: inline-block;
  -webkit-transform: translateX(0.1em);
          transform: translateX(0.1em);
}
.sec_interview .more_btn {
  margin-top: 30px;
  margin-inline: auto;
}
@media all and (min-width: 751px) {
  .sec_interview .more_btn {
    margin-top: 46px;
    width: min(400px, 100%);
  }
}
.sec_interview .more_btn a {
  padding: 14px 11px;
  display: block;
  position: relative;
  background-image: -webkit-gradient(linear, left top, left bottom, from(#282C2A), to(#6F7270));
  background-image: linear-gradient(180deg, #282C2A, #6F7270);
  border-radius: 8px;
  color: #fff;
  text-align: center;
  z-index: 1;
}
@media all and (min-width: 751px) {
  .sec_interview .more_btn a {
    padding: 14px 25px;
    border-radius: 10px;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
}
@media (min-width: 751px) and (hover: hover) {
  .sec_interview .more_btn a:hover::before {
    opacity: 1;
  }
}
.sec_interview .more_btn a::before {
  position: absolute;
  content: "";
  background-image: -webkit-gradient(linear, left top, left bottom, from(#6F7270), to(#282C2A));
  background-image: linear-gradient(180deg, #6F7270, #282C2A);
  border-radius: 10px;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  opacity: 0;
}
.sec_interview .more_btn a::after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 7px 0 7px 7px;
  border-color: transparent transparent transparent #fff;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 24px;
}
@media all and (min-width: 751px) {
  .sec_interview .more_btn a::after {
    right: 25px;
  }
}
.sec_interview .more_btn a span {
  display: block;
  font-weight: bold;
}
@media all and (max-width: 750px) {
  .sec_interview .more_btn a span {
    margin-left: -26px;
  }
}
.sec_interview .more_btn a .jp {
  font-size: 14px;
}
.sec_interview .more_btn a .en {
  font-size: 18px;
  letter-spacing: 0.092em;
}

/* 座談会
---------------------------------------------------------- */
.sec_crosstalk {
  margin-top: 90px;
  position: relative;
}
@media all and (min-width: 751px) {
  .sec_crosstalk {
    margin-top: 86px;
  }
}
.sec_crosstalk::before {
  position: absolute;
  content: "";
  background-image: url(../images/top/top_bg_sp.png);
  background-repeat: no-repeat;
  background-size: cover;
  z-index: -1;
  width: min(209px, 100%);
  height: min(270px, 100%);
  top: -55px;
  left: -155px;
}
@media all and (min-width: 751px) {
  .sec_crosstalk::before {
    background-image: url(../images/top/top_bg_pc.png);
    top: -150px;
    left: -376px;
    width: min(449px, 100%);
    height: min(824px, 100%);
  }
}
@media all and (min-width: 1101px) {
  .sec_crosstalk::after {
    position: absolute;
    content: "";
    background-image: url(../images/top/top_circle.png);
    background-repeat: no-repeat;
    background-size: cover;
    z-index: -1;
    bottom: -150px;
    right: -270px;
    width: min(410px, 100%);
    height: min(410px, 100%);
  }
}
.sec_crosstalk .sec_ttl .en {
  color: #A8E6CF;
}
@media all and (max-width: 750px) {
  .sec_crosstalk .sec_ttl .en {
    margin-left: -20px;
  }
}
@media all and (min-width: 751px) {
  .sec_crosstalk .ttl_image {
    width: 32.75%;
  }
}
.sec_crosstalk .wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
}
@media all and (min-width: 1101px) {
  .sec_crosstalk .wrap {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: end;
    gap: 0 30px;
  }
}
@media all and (max-width: 1100px) {
  .sec_crosstalk .txts {
    margin-top: 30px;
  }
}
@media all and (min-width: 1101px) {
  .sec_crosstalk .txts {
    width: 36.7%;
  }
}
.sec_crosstalk .txts .txt {
  font-size: 16px;
  font-weight: bold;
  line-height: 2;
}
.sec_crosstalk .txts .cross_list {
  margin-top: 20px;
}
@media all and (min-width: 1101px) {
  .sec_crosstalk .txts .cross_list {
    margin-top: 25px;
    width: min(411px, 100%);
  }
}
.sec_crosstalk .txts .cross_list .cross_detail {
  border-bottom: 1px solid #C4C4C4;
}
.sec_crosstalk .txts .cross_list .cross_detail:first-child {
  border-top: 1px solid #C4C4C4;
}
.sec_crosstalk .txts .cross_list .cross_detail a {
  padding: 15px 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0 12px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
}
@media all and (min-width: 751px) {
  .sec_crosstalk .txts .cross_list .cross_detail a {
    padding: 13px 0;
    gap: 0 24px;
  }
}
@media (min-width: 751px) and (min-width: 1330px) and (hover: hover) {
  .sec_crosstalk .txts .cross_list .cross_detail a:hover::after {
    right: 28px;
  }
}
.sec_crosstalk .txts .cross_list .cross_detail a::after {
  position: absolute;
  content: "";
  background-image: url(../images/top/crosstalk/crosstalk_arrow.svg);
  background-repeat: no-repeat;
  background-size: cover;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 0;
  width: 28px;
  height: 28px;
}
@media all and (min-width: 751px) {
  .sec_crosstalk .txts .cross_list .cross_detail a::after {
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
}
@media all and (min-width: 1330px) {
  .sec_crosstalk .txts .cross_list .cross_detail a::after {
    right: 38px;
  }
}
.sec_crosstalk .txts .cross_list .cross_detail a .number {
  color: rgba(6, 25, 34, 0.5);
  font-size: 18px;
  font-weight: bold;
  letter-spacing: 0.034px;
}
@media all and (min-width: 751px) {
  .sec_crosstalk .txts .cross_list .cross_detail a .number {
    font-size: 24px;
  }
}
.sec_crosstalk .txts .cross_list .cross_detail a .cross_ttl {
  font-size: 15px;
  font-weight: bold;
  letter-spacing: 0.087px;
}
@media all and (min-width: 751px) {
  .sec_crosstalk .txts .cross_list .cross_detail a .cross_ttl {
    font-size: clamp(18px, 1.62vw, 22px);
  }
}
.sec_crosstalk .splide {
  position: relative;
}
@media all and (max-width: 1100px) {
  .sec_crosstalk .splide {
    margin-top: 18px;
  }
}
@media all and (min-width: 1101px) {
  .sec_crosstalk .splide {
    width: 57.1%;
  }
}
@media all and (min-width: 1101px) {
  .sec_crosstalk .splide__pagination {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    position: absolute;
    gap: 4px;
    bottom: 0;
    right: -15px;
    width: auto;
    height: auto;
  }
  .sec_crosstalk .splide__pagination li .splide__pagination__page {
    cursor: pointer;
    position: relative;
    background-color: transparent;
    border: none;
    background-color: #061922;
    width: 5px;
    height: 33px;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  .sec_crosstalk .splide__pagination li .splide__pagination__page.is-active {
    background-color: #30657C;
  }
}
.sec_crosstalk .crossimage_list .cross_image .image {
  aspect-ratio: 1/0.598;
}
@media all and (min-width: 1101px) {
  .sec_crosstalk .crossimage_list .cross_image .image {
    aspect-ratio: 1/0.599;
  }
}
.sec_crosstalk .image {
  overflow: hidden;
  border-radius: 10px;
}

/* 働き方を知る
---------------------------------------------------------- */
.sec_culture {
  margin: 70px 0 42px;
  position: relative;
}
@media all and (min-width: 751px) {
  .sec_culture {
    margin: 186px 0 130px;
  }
}
@media all and (max-width: 750px) {
  .sec_culture::before {
    position: absolute;
    content: "";
    background-image: url(../images/top/top_bg_sp.png);
    background-repeat: no-repeat;
    background-size: cover;
    z-index: -1;
    width: min(209px, 100%);
    height: min(270px, 100%);
    top: -55px;
    left: -155px;
  }
}
.sec_culture .sec_ttl .en {
  color: #FF8A65;
}
@media all and (min-width: 751px) {
  .sec_culture .ttl_image {
    width: 33.9%;
  }
}
@media all and (max-width: 750px) {
  .sec_culture .reason {
    margin: 8px -10px 0 auto;
  }
}
.sec_culture .culture_list {
  margin-top: 45px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  position: relative;
}
@media all and (min-width: 751px) {
  .sec_culture .culture_list {
    margin-top: 82px;
    gap: 19px 79px;
  }
}
@media all and (min-width: 1101px) {
  .sec_culture .culture_list {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.sec_culture .culture_list::before, .sec_culture .culture_list::after {
  position: absolute;
  content: "";
  background-image: url(../images/top/top_circle.png);
  background-repeat: no-repeat;
  background-size: cover;
  width: min(280px, 100%);
  height: min(280px, 100%);
}
@media all and (max-width: 1100px) {
  .sec_culture .culture_list::before {
    display: none;
  }
}
@media all and (min-width: 751px) {
  .sec_culture .culture_list::before {
    top: -110px;
    left: -280px;
  }
}
.sec_culture .culture_list::after {
  bottom: -75px;
  right: -205px;
  z-index: -1;
}
@media all and (min-width: 751px) {
  .sec_culture .culture_list::after {
    bottom: -100px;
    right: -245px;
  }
}
@media all and (max-width: 1100px) {
  .sec_culture .culture_list .culture_detail:not(:first-child) {
    margin-top: 26px;
  }
}
@media all and (min-width: 1101px) {
  .sec_culture .culture_list .culture_detail {
    width: calc((100% - 79px) / 2);
  }
}
.sec_culture .culture_list .culture_detail a {
  display: block;
  text-align: center;
}
@media (min-width: 751px) and (hover: hover) {
  .sec_culture .culture_list .culture_detail a:hover .image img {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
}
.sec_culture .culture_list .culture_detail a .image {
  margin-bottom: 5px;
  overflow: hidden;
  border-radius: 10px;
}
@media all and (min-width: 751px) {
  .sec_culture .culture_list .culture_detail a .image {
    margin-bottom: 15px;
  }
}
.sec_culture .culture_list .culture_detail a .image img {
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.sec_culture .culture_list .culture_detail a span {
  padding-right: 28px;
  position: relative;
  color: #255720;
  font-size: 18px;
  font-weight: bold;
  letter-spacing: 0.087px;
}
@media all and (min-width: 751px) {
  .sec_culture .culture_list .culture_detail a span {
    font-size: 22px;
  }
}
.sec_culture .culture_list .culture_detail a span::after {
  position: absolute;
  content: "";
  background-image: url(../images/top/about/about_arrow.svg);
  background-repeat: no-repeat;
  background-size: cover;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 0;
  width: 23px;
  height: 23px;
}