@charset "UTF-8";

@import "settings.css";

/*============================================================================================
      Header
=============================================================================================*/
.header {
      position: fixed;
      top: 0;
      width: 100%;
      z-index: 99999999;
}
.header_inr {
      padding: 1.6rem 2.4rem 0;
}
.header_logo {
      line-height: 1.5;
      color: var(--color-dark-blue);
      z-index: 1;
}
.header_logo img {
      width: 5.4rem;
}
.header_logo_txt {
      line-height: 1.5;
      gap: 1.2rem;
      -webkit-box-align: baseline;
          -ms-flex-align: baseline;
              align-items: baseline;
}
.header_logo_txt .header_ttl {
      letter-spacing: -0.051rem;
}
.header_logo_txt .header_site_name {
      letter-spacing: 0.016rem;
      font-family: var(--font-en);
}
.header .gnav_itm {
      position: relative;
      display: block;
      cursor: pointer;
}
.header .gnav_itm_nobtm_link {
      position: relative;
}
.header .gnav_itm_nobtm_link::after {
      position: absolute;
      content: "";
      width: 0;
      height: 0.18rem;
      left: 0;
      bottom: -0.5rem;
      background-color: var(--color-reverse);
      -webkit-transition: width .2s;
      -o-transition: width .2s;
      transition: width .2s;
}
.header .gnav_itm_nobtm_link:hover::after{
	width: 100%;
}
.header .header_gnav .gnav_itm_nobtm_link::after {
	background-color: var(--color-navy);
}
.header_right {
      color: var(--color-navy);
}
.header_btn {
      font-family: var(--font-en);
      color: var(--color-main);
      background-color: var(--color-yellow);
      border: 0.2rem solid var(--color-yellow);
      -webkit-transition: var(--transition);
      -o-transition: var(--transition);
      transition: var(--transition);
      border-radius: 2.4rem;
      z-index: 1;
}
.header_btn:hover {
      color: var(--color-bg);
      background-color: var(--color-olive-green);
      border: 0.2rem solid var(--color-bg);
}
.header_btn a {
      display: block;
      width: 100%;
      height: 100%;
      padding: 0.64rem 4rem;
      font-family: var(--font-en);
      @media (max-width:1200px) {
            padding: 1rem 4rem;
      }
}
.header_gnav .gnav_itm_link_wrap {
      display: none;
      position: absolute;
      top: 100%;
      padding-top: 20px;
      @media (max-width:1200px) {
            padding-top: 12px;
      }
}
.header.js_scroll .header_gnav .gnav_itm_link_wrap {
      padding-top: 0;
}
.header.js_scroll .header_gnav .gnav_itm_link_wrap::before {
      top: -11px;
}
.header_gnav .gnav_itm_link {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      min-width: 14.4rem;
      background-color: var(--color-reverse);
      border: 0.2rem solid var(--color-navy);
      border-radius: 1.2rem;
      overflow: hidden;
      padding: 2.4rem 1.6rem;
}
.header_gnav .gnav_itm_link_txt {
      position: relative;
      font-size: 1.4rem;
      font-weight: 500;
      line-height: 1.25;
      white-space: nowrap;
}
.header_gnav .gnav_itm_link_txt + .gnav_itm_link_txt {
      margin-top: 0.9rem;
      padding-top: 0.9rem;
}
.header_gnav .gnav_itm_link_txt a {
      position: relative;
      display: block;
      -webkit-transition: var(--transition);
      -o-transition: var(--transition);
      transition: var(--transition);
}
.header_gnav .gnav_itm_link_txt a::before {
      position: absolute;
      content: "";
      width: 0;
      height: 0.2rem;
      left: 0;
      bottom: -0.9rem;
      background-color: var(--color-navy);
      -webkit-transition: width .2s;
      -o-transition: width .2s;
      transition: width .2s;
}
.header_gnav .gnav_itm_link_txt a::after {
      content: url(../img/common/right-arrow.svg);
      position: absolute;
      top: 0;
      right: 0;
      margin: auto;
      width: 0.6rem;
      height: 0.3rem;
      -webkit-transition: background-color 0.2s;
      -o-transition: background-color 0.2s;
      transition: background-color 0.2s;
}
.header_gnav .gnav_itm_link_txt a:hover::before {
      width: 100%;
}
.header .static_entry {
      display: none;
}

@media (max-width:1200px) {
      .header_inr {
            padding: 1.6rem 1.6rem 0;
      }
      .header_logo_txt {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
                -ms-flex-direction: column;
                    flex-direction: column;
            gap: 0.6rem;
            line-height: 1;
      }
      .header_gnav {
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
                -ms-flex-direction: column;
                    flex-direction: column;
            gap: 0;
            margin-inline: auto;
            margin-top: 10.8rem;
            max-width: var(--cont-width); /* コンテンツ幅 */
            width: calc(100% - 2rem * 2);
      }
      .header .gnav_itm_nobtm_link::after {
            content: none;
      }
      .header_right {
            display: none;
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            padding-bottom: 200px;
            color: var(--color-main);
            background-color: var(--color-reverse);
            overflow-y: scroll;
            overflow-x: hidden;
            padding-bottom: 0;
      }
      .header_gnav .gnav_itm + .gnav_itm {
            border-top: 0.2rem solid var(--color-border);
            margin-top: 1.6rem;
            padding-top: 1.6rem;
      }
      .header_gnav .gnav_itm_ttl {
            font-size: 1.6rem;
            padding-left: 6rem;
            width: 100%;
            position: relative;
      }
      .header_gnav .gnav_itm_ttl::after {
            position: absolute;
            content: url(../img/header/right-arrow.svg);
            right: 0.8rem;
      }
      .header_gnav .gnav_itm_link_wrap {
            position: relative;
      }
      .header_gnav .gnav_itm_link {
            padding-top: 0;
            padding-left: calc((20 / 16) * 1.6rem);
            padding-right: 0;
            padding-bottom: 0;
            border: none;
            padding-left: 6rem;
            width: 100%;
      }
      .header_gnav .gnav_itm_link_txt {
            line-height: 1.75;
            padding-left: 1.6rem;
            font-weight: 600;
      }
      .header_gnav .gnav_itm_link_txt + .gnav_itm_link_txt {
            border-top: 0.2rem solid var(--color-border);
            margin-top: 1.2rem;
            padding-top: 1.2rem;
      }
      .header_gnav .gnav_itm_link_txt a::before {
            position: absolute;
            content: url(../img/header/left-arrow.svg);
            left: -1.6rem;
            bottom: 50%;
            -webkit-transform: translateY(calc(-50% - 1.1rem));
                -ms-transform: translateY(calc(-50% - 1.1rem));
                    transform: translateY(calc(-50% - 1.1rem));
      }
      .header_gnav .gnav_itm_link_txt a::after {
            content: none;
      }
      .header_gnav .gnav_itm_ttl.about-us::before {
            position: absolute;
            top: 0;
            left: 0;
            content: url(../img/header/nav-item_01.png);
      }
            .header_gnav .gnav_itm_ttl.interview::before {
            position: absolute;
            top: 0;
            left: 0;
            content: url(../img/header/nav-item_02.png);
      }
            .header_gnav .gnav_itm_ttl.cross-talk::before {
            position: absolute;
            top: 0;
            left: 0;
            content: url(../img/header/nav-item_03.png);
      }
            .header_gnav .gnav_itm_ttl.enviroment::before {
            position: absolute;
            top: 0;
            left: 0;
            content: url(../img/header/nav-item_04.png);
      }
            .header_gnav .gnav_itm_ttl.faq::before {
            position: absolute;
            top: 0;
            left: 0;
            content: url(../img/header/nav-item_05.png);
      }
      .header_gnav .gnav_itm.js_acd .has_btm_ttl {
      position: relative;
      }
      .header_gnav .gnav_itm.js_acd .has_btm_ttl::before,
      .header_gnav .gnav_itm.js_acd .has_btm_ttl::after {
            position: absolute;
            top: 0;
            bottom: 0;
            background-color: var(--color-main);
            -webkit-transition: all 0.3s linear;
            -o-transition: all 0.3s linear;
            transition: all 0.3s linear;
            z-index: 1;
      }
      .header_gnav .gnav_itm.js_acd .has_btm_ttl::before {
            content: "";
            width: 1.2rem;
            height: 2px;
            right: -0.5rem;
            margin: auto;
      }
      .header_gnav .gnav_itm.js_acd .has_btm_ttl::after {
            content: ""; 
            width: 0.2rem;
            height: 1.2rem;
            right: 0;
            margin: auto; 
      }
      .header_gnav .gnav_itm.js_acd.js_open .has_btm_ttl::before {
            display: none;
      }
      .header_gnav .gnav_itm.js_acd.js_open .has_btm_ttl::after {
            -webkit-transform: rotate(90deg) translateY(0px);
            -ms-transform: rotate(90deg) translateY(0px);
                transform: rotate(90deg) translateY(0px);
      }
      .gnav_itm .has_ico-down-arrow::after {
            display: none;
      }
      .header_gnav .gnav_itm_link_txt a::before {
            content: none;
      }
      .header_gnav .gnav_itm_link_txt a:hover::before {
            width: 0;
      }
      .header .static_entry {
            display: block;
      }
}
@media (max-width:896px) {
      .header_btn a {
            padding: 0.9rem 1.6rem;
      }
}


/*============================================================================================
      Footer
=============================================================================================*/
.footer_nav {
      color: var(--color-reverse);
      background-color: var(--color-main);
      padding: 8rem 12.8rem 7.3rem 13rem;
}
.footer_address {
      font-family: var(--font-Noto-Sans);
}
.footer_top {
      position: relative;
      display: -ms-grid;
      display: grid;
      margin-inline: auto;
}
.footer_logo {
      gap: 0.9rem;
      @media (max-width:896px) {
            -webkit-box-pack: start;
                -ms-flex-pack: start;
                    justify-content: flex-start;
      }
      @media (max-width:576px) {
            -webkit-box-pack: start;
                -ms-flex-pack: start;
                    justify-content: flex-start;
      }
}
.footer_logo_txt {
      gap: 0.9rem;
      font-size: 1.7rem;
      font-weight: 700;
      line-height: 1.5;
      letter-spacing: -0.51px;
      -webkit-box-align: baseline;
          -ms-flex-align: baseline;
              align-items: baseline;
      @media (max-width:896px) {
            gap: 0.6rem;
            line-height: 1;
      }
}
.footer_logo_txt span {
      font-family: var(--font-en);
      font-size: 1.6rem;
      letter-spacing: 0.16px;
      font-weight: 700;
}
.footer_logo_img {
      width: 5.4rem;
}
.footer_nav_lst {
      display: -ms-grid;
      display: grid;
      -ms-grid-columns: 1fr 4rem 1fr 4rem 1fr;
      grid-template-columns: repeat(3, 1fr);
      -ms-grid-rows: 1fr 3.2rem 1fr;
      grid-template-rows: repeat(2, 1fr);
      -webkit-column-gap: 4rem;
         -moz-column-gap: 4rem;
              column-gap: 4rem;
      row-gap: 3.2rem;
      cursor: default;
}
.footer_nav_lst > *:nth-child(1) {
      -ms-grid-row: 1;
      -ms-grid-column: 1;
}
.footer_nav_lst > *:nth-child(2) {
      -ms-grid-row: 1;
      -ms-grid-column: 3;
}
.footer_nav_lst > *:nth-child(3) {
      -ms-grid-row: 1;
      -ms-grid-column: 5;
}
.footer_nav_lst > *:nth-child(4) {
      -ms-grid-row: 3;
      -ms-grid-column: 1;
}
.footer_nav_lst > *:nth-child(5) {
      -ms-grid-row: 3;
      -ms-grid-column: 3;
}
.footer_nav_lst > *:nth-child(6) {
      -ms-grid-row: 3;
      -ms-grid-column: 5;
}
.footer_nav_lst__item {
      position: relative;
      padding-left: 10rem;
      display: block;
}
.footer_nav_lst__item a {
      -webkit-transition: var(--transition);
      -o-transition: var(--transition);
      transition: var(--transition);
}
.footer .footer_nav_lst__item a {
      position: relative;
}
.footer .footer_nav__ttl_link {
      position: relative;
      padding-bottom: 0.4rem;
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
}
.footer .footer_nav__ttl_link::after {
      position: absolute;
      content: "";
      width: 0;
      height: 0.2rem;
      left: 0;
      bottom: -0.3rem;
      background-color: var(--color-reverse);
      -webkit-transition: width .2s;
      -o-transition: width .2s;
      transition: width .2s;
}
.footer_nav_lst__item a:hover .footer_nav__ttl_link::after {
	width: 100%;
}
.footer .footer_nav_btm_lst a::after {
      position: absolute;
      content: "";
      width: 0;
      height: 0.1rem;
      left: 0;
      bottom: -0.5rem;
      background-color: var(--color-reverse);
      -webkit-transition: width .2s;
      -o-transition: width .2s;
      transition: width .2s;
}
.footer_nav_lst__item a:hover {
      opacity: 1;
}
.footer_nav_lst__item a:hover::after {
	width: 100%;
}
.footer_nav_lst__item a::after {
	background-color: var(--color-reverse);
}
.footer_nav_lst__item.about-us {
      -ms-grid-row: 1;
      -ms-grid-row-span: 2;
      -ms-grid-column: 1;
      -ms-grid-column-span: 1;
      grid-area: 1 / 1 / 3 / 2;
      &::before {
            position: absolute;
            top: 0;
            left: 0;
            content: url(../img/footer/nav-item_01.png);
            cursor: default;
      }
}
.footer_nav_lst__item.interview {
      -ms-grid-row: 1;
      -ms-grid-row-span: 1;
      -ms-grid-column: 2;
      -ms-grid-column-span: 1;
      grid-area: 1 / 2 / 2 / 3;
      &::before {
            position: absolute;
            top: 0;
            left: 0;
            content: url(../img/footer/nav-item_02.png);
            cursor: default;
      }
}
.footer_nav_lst__item.cross-talk {
      -ms-grid-row: 2;
      -ms-grid-row-span: 1;
      -ms-grid-column: 2;
      -ms-grid-column-span: 1;
      grid-area: 2 / 2 / 3 / 3;
      &::before {
            position: absolute;
            top: 0;
            left: 0;
            content: url(../img/footer/nav-item_03.png);
            cursor: default;
      }
}
.footer_nav_lst__item.enviroment {
      -ms-grid-row: 1;
      -ms-grid-row-span: 1;
      -ms-grid-column: 3;
      -ms-grid-column-span: 1;
      grid-area: 1 / 3 / 2 / 4;
      &::before {
            position: absolute;
            top: 0;
            left: 0;
            content: url(../img/footer/nav-item_04.png);
            cursor: default;
      }
}
.footer_nav_lst__item.faq {
      -ms-grid-row: 2;
      -ms-grid-row-span: 1;
      -ms-grid-column: 3;
      -ms-grid-column-span: 1;
      grid-area: 2 / 3 / 3 / 4;
      &::before {
            position: absolute;
            top: 0;
            left: 0;
            content: url(../img/footer/nav-item_05.png);
            cursor: default;
      }
}
.footer_nav__ttl {
      line-height: 1.25;
      font-size: 1.8rem;
      font-weight: 700;
}
.footer_nav_btm_lst {
      line-height: 1.2;
      font-size: 1.4rem;
      font-weight: 500;
      margin-top: 2.7rem;
}
.footer_nav_btm_lst li + li {
      margin-top: 1.6rem;
}
.footer_btm {
      color: var(--color-reverse);
      background-color: var(--color-dark-blue);
      padding: 1.6rem 0;
      font-family: var(--font-Gothic);
}
.footer .link_itm_cont {
      margin-right: 2.4rem;
}
.footer .link_itm_cont a::after {
	background-color: var(--color-yellow);
}
.footer_address .g_tab a {
      position: relative;
}
.footer_address .g_tab a::after {
      position: absolute;
      content: "";
      width: 0;
      height: 0.1rem;
      left: 0;
      bottom: -0.5rem;
      background-color: var(--color-reverse);
      -webkit-transition: width .2s;
      -o-transition: width .2s;
      transition: width .2s;
}
.footer_address .g_tab a:hover {
      opacity: 1;
}
.footer_address .g_tab a:hover::after {
	width: 100%;
}

@media (max-width:1200px) {
      .footer_inr {
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
                -ms-flex-direction: column;
                    flex-direction: column;
      }
}
@media (max-width:1200px) {
      .footer_address_br {
            display: none;
      }
      .footer_nav_lst {
            margin-top: 4.8rem;
      }
}
@media (max-width:1020px) {
      .footer_nav {
            padding: 6.4rem 2.4rem;
      }
}
@media (max-width:896px) {
      .footer_nav_lst {
            -webkit-box-pack: justify;
                -ms-flex-pack: justify;
                    justify-content: space-between;
      }
      .footer_nav_lst__item.about-us::before,
      .footer_nav_lst__item.interview::before,
      .footer_nav_lst__item.cross-talk::before,
      .footer_nav_lst__item.enviroment::before,
      .footer_nav_lst__item.faq::before {
            content: none;
      }
      .footer_nav_lst__item {
            padding-left: 0;
      }
      .footer_inr {
            -webkit-box-pack: start;
                -ms-flex-pack: start;
                    justify-content: flex-start;
      }
      .footer_nav {
            padding: 6.4rem clamp(2.4rem, 9.321vw, 20rem);
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
                -ms-flex-direction: column;
                    flex-direction: column;
      }
      .footer_left, .footer_right {
            width: 100%;
      }
      .footer_nav_lst__item {
            padding-left: 0;
      }
}
@media (max-width:576px) {
      .footer_nav_lst {
            display: -ms-grid;
            display: grid;
            -ms-grid-columns: 1fr 2.4rem 1fr;
            grid-template-columns: repeat(2, 1fr);
            -ms-grid-rows: 1fr 1.5rem 1fr 1.5rem 1fr;
            grid-template-rows: repeat(3, 1fr);
            -webkit-column-gap: 2.4rem;
               -moz-column-gap: 2.4rem;
                    column-gap: 2.4rem;
            row-gap: 2.4rem;
            margin-top: 4.8rem;
      }
      .footer_nav_lst > *:nth-child(1) {
            -ms-grid-row: 1;
            -ms-grid-column: 1;
      }
      .footer_nav_lst > *:nth-child(2) {
            -ms-grid-row: 1;
            -ms-grid-column: 3;
      }
      .footer_nav_lst > *:nth-child(3) {
            -ms-grid-row: 3;
            -ms-grid-column: 1;
      }
      .footer_nav_lst > *:nth-child(4) {
            -ms-grid-row: 3;
            -ms-grid-column: 3;
      }
      .footer_nav_lst > *:nth-child(5) {
            -ms-grid-row: 5;
            -ms-grid-column: 1;
      }
      .footer_nav_lst > *:nth-child(6) {
            -ms-grid-row: 5;
            -ms-grid-column: 3;
      }
      .footer_nav_lst__item.about-us {
            -ms-grid-row: 1;
            -ms-grid-row-span: 2;
            -ms-grid-column: 1;
            -ms-grid-column-span: 1;
            grid-area: 1 / 1 / 3 / 2;
      }
      .footer_nav_lst__item.interview {
            -ms-grid-row: 3;
            -ms-grid-row-span: 1;
            -ms-grid-column: 1;
            -ms-grid-column-span: 1;
            grid-area: 3 / 1 / 4 / 2;
      }
      .footer_nav_lst__item.cross-talk {
            -ms-grid-row: 1;
            -ms-grid-row-span: 1;
            -ms-grid-column: 2;
            -ms-grid-column-span: 1;
            grid-area: 1 / 2 / 2 / 3;
      }
      .footer_nav_lst__item.enviroment {
            -ms-grid-row: 2;
            -ms-grid-row-span: 1;
            -ms-grid-column: 2;
            -ms-grid-column-span: 1;
            grid-area: 2 / 2 / 3 / 3;
      }
      .footer_nav_lst__item.faq {
            -ms-grid-row: 3;
            -ms-grid-row-span: 1;
            -ms-grid-column: 2;
            -ms-grid-column-span: 1;
            grid-area: 3 / 2 / 4 / 3;
      }
      .footer_left, .footer_right {
            margin-left: 0;
      }
      .footer_nav_btm_lst {
            margin-top: 1.8rem;
      }
}


/*============================================================================================
      Contents
=============================================================================================*/
/* フッターエントリー
------------------------------ */
.sec-entry {
      justify-content: center;
      align-items: center;
      position: relative;
      overflow: hidden;
      z-index: 99;
}
.img-wrap {
      aspect-ratio: 46 / 35;
      justify-content: center;
      align-items: center;
      width: 33.430vw;
      display: flex;
}
.img-wrap.entry-logo {
      aspect-ratio: auto;
      opacity: 0;
      width: 33.4rem;
      position: absolute;
}
.static_entry::before {
      position: absolute;
      content: "";
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-color: #117e564d;
}
.static_entry .second_band {
      margin-left: -8rem;
}
.static_entry .band-wrap_txt {
      white-space: nowrap;
}
.static_entry .entry_btn {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translateX(-50%) translateY(-50%);
      width: 24.1rem;
      height: 13.8rem;
}

.infinite-marquee_img {
      display: flex;
}
.infnite-marquee-content_img {
  display: flex;
}
.img-wrap.entry-logo {
  aspect-ratio: auto;
  opacity: 0;
  width: 200px;
  position: absolute;
}
.green-bg {
      z-index: 1;
      background-color: #117e564d;
      width: 100%;
      height: 100%;
      position: absolute;
}
.animationarea {
      z-index: 4;
      justify-content: center;
      align-items: center;
      width: 100%;
      height: 100%;
      display: flex;
      position: absolute;
}

@media screen and (max-width: 896px) {
      .infinite-marquee_img.sponly {
            display: flex;
      }

      .img-wrap {
            width: auto;
            height: 126px;
      }

      .img-wrap.entry-logo {
            opacity: 1;
            height: auto;
      }
}


/* 共通パーツ
------------------------------ */
/* ヒーローズエリア */
.heros_area {
      margin-top: 13rem;
      overflow: hidden;
}
.heros_img_wrap {
      position: relative;
      max-width: 57.2rem;
      margin-left: auto;
      z-index: 1;
}
.heros_img_wrap {
      -webkit-filter: drop-shadow(10px 10px 9px rgba(0,0,0,0.20));
              filter: drop-shadow(10px 10px 9px rgba(0,0,0,0.20));
}
.heros_area__inr {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: reverse;
          -ms-flex-direction: row-reverse;
              flex-direction: row-reverse;
      -webkit-box-align: end;
          -ms-flex-align: end;
              align-items: flex-end;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between;
}
.heros_area__head {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      gap: 0.8rem;
      width: 100%;
      margin-top: -3.2rem;
}
.heros_area__head .heading_ttl {
      font-size: 3.2rem;
      font-weight: 700;
      color: var(--color-main);
}

@media (max-width:896px) {
      .heros_area {
            margin-top: 11.3rem;
      }
      .heros_area__inr {
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
                -ms-flex-direction: column;
                    flex-direction: column;
            gap: 4rem;
      }
      .heros_area__head {
            margin-top: 4rem;
      }
      .heros_area__head .heading_ttl {
            font-size: 3.6rem;
      }
}


/* ヒーローズエリア（下層 - ラインアニメーション） */
.width-100 {
      width: 100%;
}
.heros_area_inr {
      -webkit-box-pack: start;
            -ms-flex-pack: start;
            justify-content: flex-start;
      -webkit-box-align: center;
            -ms-flex-align: center;
            align-items: center;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      position: relative;
      pointer-events: none;
}
.heros_area_inr.sponly {
      display: none;
}
.mv_icon {
      z-index: 2;
      width: 100%;
      position: absolute;
      inset: 0%;
}
.mv_icon.mv_icon_under {
      z-index: -1;
}

@media screen and (max-width: 896px) {
      .heros_area_inr.pconly {
            display: none;
      }
      .heros_area_inr.sponly {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
      }
      .mv_icon {
            top: -4%;
      }
      .mv_icon.pconly {
            display: none;
      }
}


/* ヒーローズエリア（下層 - 流れる文字） */
.heros_floatingTxt_wrap {
      position: absolute;
      top: 20%;
      left: 0;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      gap: clamp(2rem,3.633vw,5rem);
      -webkit-animation: moveLeft 120s linear infinite;
              animation: moveLeft 120s linear infinite;
      z-index: 1;
}
.heros_floatingTxt {
      display: inline-block;
      color: var(--color-main);
      font-family: var(--font-en);
      font-size: clamp(6.2rem,9.593vw,13.2rem);
      font-weight: 700;
      line-height: 1;
      text-transform: uppercase;
      mix-blend-mode: multiply;
      -webkit-box-flex: 0;
          -ms-flex: 0 0 auto;
              flex: 0 0 auto;
      white-space: nowrap;
}
.heros_floatingTxt_wrap {
      width: 100%;
}
/* トラック（JSで生成） */
.marquee_track {
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex;
      white-space: nowrap;
      will-change: transform;
      -webkit-animation: marquee var(--duration, 20s) linear infinite;
            animation: marquee var(--duration, 20s) linear infinite;
}
/* 各要素の間隔（JSからも変更可） */
.heros_floatingTxt {
      white-space: nowrap;
      display: inline-block;
      margin-right: var(--gap, 32px);
}

@-webkit-keyframes moveLeft {
      from {
            
      }
      to {
            -webkit-transform: translateX(-50%);
                    transform: translateX(-50%);
      }
}
@keyframes moveLeft {
      from {
            
      }
      to {
            -webkit-transform: translateX(-50%);
                    transform: translateX(-50%);
      }
}
@-webkit-keyframes marquee {
      from {
            -webkit-transform: translateX(0); transform: translateX(0);
      }
      to   {
            -webkit-transform: translateX(calc(-1 * var(--shift, 0px))); transform: translateX(calc(-1 * var(--shift, 0px)));
      }
}
@keyframes marquee {
      from {
            -webkit-transform: translateX(0); transform: translateX(0);
      }
      to {
            -webkit-transform: translateX(calc(-1 * var(--shift, 0px))); transform: translateX(calc(-1 * var(--shift, 0px)));
      }
}
/* ユーザーの低速モーション設定を尊重（任意） */
@media (prefers-reduced-motion: reduce) {
      .marquee_track {
            -webkit-animation: none; animation: none; -webkit-transform: none; -ms-transform: none; transform: none;
      }
}
@media (max-width: 896px) {
      .heros_floatingTxt_wrap {
            top: 40%;
            -webkit-animation: moveLeft 30s linear infinite;
                    animation: moveLeft 30s linear infinite;
      }
}


/* リンク */
.link_itm_cont {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      -webkit-transition: background-color 0.3s ease;
      -o-transition: background-color 0.3s ease;
      transition: background-color 0.3s ease;
}
.link_itm_cont {
      position: relative;
      display: block;
}
.link_itm_cont a {
      position: relative;
}
.link_itm_cont a::after {
      position: absolute;
      content: "";
      width: 0;
      height: 0.18rem;
      left: 0;
      bottom: -1rem;
      background-color: var(--color-main);
      -webkit-transition: width .2s;
      -o-transition: width .2s;
      transition: width .2s;
}
.link_itm_cont a:hover::after{
	width: calc(100% - 66px);
}
.link_item_arrow {
      position: relative;
      width: 24px;
      height: 24px;
      overflow: visible;
      cursor: pointer;
}
.link_item_arrow::before {
      content: "";
      position: absolute;
      top: 50%;
      left: 50%;
      width: 74px;
      height: 42px;
      background-color: var(--color-navy);
      mask-image: url('../img/common/arrow_bg.svg');
      -webkit-mask-image: url('../img/common/arrow_bg.svg');
      mask-size: contain;
      -webkit-mask-size: contain;
      mask-repeat: no-repeat;
      -webkit-mask-repeat: no-repeat;
      mask-position: center;
      -webkit-mask-position: center;
      -webkit-transform: translate(-50%, -50%);
          -ms-transform: translate(-50%, -50%);
              transform: translate(-50%, -50%);
      -webkit-transition: background-color 0.3s ease;
      -o-transition: background-color 0.3s ease;
      transition: background-color 0.3s ease;
      z-index: 0;
}
.link_itm_cont a:hover .link_item_arrow::before {
      background-color: var(--color-main);
}
.link_itm_ttl {
      line-height: 1;
}
.link_itm_cont a:hover .link_itm_ttl {
      color: var(--color-main);
}
.arrow_img {
      position: absolute;
      top: 50%;
      left: 50%;
      width: 1.7rem;
      height: 1.3rem;
      -webkit-transform: translate(-50%, -50%);
          -ms-transform: translate(-50%, -50%);
              transform: translate(-50%, -50%);
      -webkit-transition: opacity 0.4s ease, -webkit-transform 0.4s ease;
      transition: opacity 0.4s ease, -webkit-transform 0.4s ease;
      -o-transition: transform 0.4s ease, opacity 0.4s ease;
      transition: transform 0.4s ease, opacity 0.4s ease;
      transition: transform 0.4s ease, opacity 0.4s ease, -webkit-transform 0.4s ease;
      pointer-events: none;
      z-index: 1;
}
.arrow_img.normal {
      opacity: 1;
      -webkit-transform: translate(-50%, -50%) translateX(0);
          -ms-transform: translate(-50%, -50%) translateX(0);
              transform: translate(-50%, -50%) translateX(0);
      z-index: 2;
}
.arrow_img.hover {
      opacity: 0;
      -webkit-transform: translate(-50%, -50%) translateX(-100%);
          -ms-transform: translate(-50%, -50%) translateX(-100%);
              transform: translate(-50%, -50%) translateX(-100%);
      z-index: 1;
}
.link_itm_cont:hover .link_item_arrow .arrow_img.normal {
      -webkit-transform: translate(-50%, -50%) translateX(100%);
          -ms-transform: translate(-50%, -50%) translateX(100%);
              transform: translate(-50%, -50%) translateX(100%);
      opacity: 0;
}
.link_itm_cont:hover .link_item_arrow .arrow_img.hover {
      -webkit-transform: translate(-50%, -50%) translateX(0);
          -ms-transform: translate(-50%, -50%) translateX(0);
              transform: translate(-50%, -50%) translateX(0);
      opacity: 1;
}
.footer .link_item_arrow a::before {
      background-color: var(--color-yellow);
}
.footer .link_item_arrow::before {
      background-color: var(--color-yellow);
}
.footer .link_itm_cont a:hover .link_item_arrow::before {
      background-color: var(--color-yellow);
}
.footer .link_itm_cont a:hover .link_itm_ttl {
      color: var(--color-yellow);
}

@media (max-width:1120px) {
      .arrow_img {
            width: 1.517vw;
      }
}
@media (max-width:896px) {
      .arrow_img {
            width: 1.3rem;
      }
      .link_item_arrow::before {
            width: 6.473vw;
            min-width: 5.8rem;
            height: 3.683vw;
            min-height: 3.3rem;
      }
}


/* アイコン */
.has_ico {
      position: relative;
      display: block;
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
}
.has_ico::before {
      position: absolute;
      display: block;
      left: 0;
}
.has_ico-dot {
      padding-left: 1em;
}
.has_ico-dot::before {
      top: -0.26rem;
      content: url(../img/common/ico_dot.svg);
}
.has_ico-ast {
      padding-left: 1.3em;
}
.has_ico-ast::before {
      content: "\203B";
}
.has_ico-pdf {
      padding-right: 2rem;
}
.has_ico-pdf::after {
      position: absolute;
      content: "";
      top: 0;
      bottom: 0;
      right: 0;
      display: block;
      width: 1.4rem;
      height: 1.9rem;
      margin: auto;
      background: url(../img/common/ico_pdf.svg);
}
.has_ico-down-arrow {
      padding-right: 1.6rem;
}
.has_ico-down-arrow::after {
      top: -0.26rem;
      right: 0;
      content: url(../img/common/down-arrow.svg);
}
.has_ico-border {
      padding-left: 1em;
}
.has_ico-border::before {
      position: absolute;
      content: "";
      top: 50%;
      -webkit-transform: scaleY(-50%);
          -ms-transform: scaleY(-50%);
              transform: scaleY(-50%);
      left: 0;
      width: 12px;
      height: 1px;
      background-color: var(--color-main);
}


/* ページネーション（ドット） */
.swiper-pagination-bullet {
      position: relative;
      width: 17px;
      height: 17px;
      background: none;
      border-radius: 50%;
      -webkit-transition: background-color 0.3s;
      -o-transition: background-color 0.3s;
      transition: background-color 0.3s;
      opacity: 1;
      margin: 0 var(--swiper-pagination-bullet-horizontal-gap,4px) !important;
}
.swiper-pagination-bullet::before {
      position: absolute;
      content: "";
      top: 50%;
      left: 50%;
      -webkit-transform: translateY(-50%) translateX(-50%);
          -ms-transform: translateY(-50%) translateX(-50%);
              transform: translateY(-50%) translateX(-50%);
      background-color: var(--color-dots);
      border-radius: 50%;
      width: 6px;
      height: 6px;
}
.swiper-pagination-bullet-active {
      margin-left: 10px !important;
      margin-right: 10px !important;
      width: 17px;
      height: 17px;
}
.swiper-pagination-bullet-active::before {
      width: 8px;
      height: 8px;
      background-color: var(--color-main);
}
.swiper-pagination-bullet-active::after {
      position: absolute;
      content: "";
      top: 50%;
      left: 50%;
      -webkit-transform: translateY(-50%) translateX(-50%);
          -ms-transform: translateY(-50%) translateX(-50%);
              transform: translateY(-50%) translateX(-50%);
      border-radius: 50%;
      width: 32px;
      height: 32px;
      border: 2px solid var(--color-main);
}
.swiper-pagination.js_interview_dots {
      left:38rem;
      text-align: left;
}
.swiper-pagination-bullet {
      position: relative;
}

@media (max-width:896px) {
      .swiper-pagination {
            bottom: 1.2rem;
            left: -9rem;
            -webkit-box-pack: center;
                -ms-flex-pack: center;
                    justify-content: center;
            padding-left: 0;
            width: 100%;
            text-align: center;
      }
      .swiper-pagination-bullet {
            margin: 0 var(--swiper-pagination-bullet-horizontal-gap,2px) !important;
      }
      .swiper-pagination-bullet-active::after {
            width: 26px;
            height: 26px;
      }
}
@media (max-width:576px) {
      .swiper-pagination-bullet::before {
            width: 5px;
            height: 5px;
      }
      .swiper-pagination-bullet-active::before {
            width: 6px;
            height: 6px;
      }
      .swiper-pagination-bullet-active::after {
            width: 24px;
            height: 24px;
      }
}


/* ページネーション（数字） */
.swiper-pagination.swiper-pagination-fraction {
      font-size: 1.8rem;
      font-weight: 700;
      line-height: 1.2;
      color: var(--color-dark-blue);
      font-family: var(--font-en);
}


/* ページネーション（左右矢印ボタン） */
.swiper-button-prev, .swiper-button-next {
      position: relative;
      display: block;
      content: "";
      background-color: var(--color-dark-blue);
      width: 48px;
      height: 48px;
      border-radius: 50%;
      margin: auto;
      -webkit-transition: var(--transition);
      -o-transition: var(--transition);
      transition: var(--transition);
}
.swiper-button-prev::after {
      display: block;
      position: absolute;
      top: 38%;
      -webkit-transform: translateY(-38%);
          -ms-transform: translateY(-38%);
              transform: translateY(-38%);
      right: 50%;
      -webkit-transform: translateX(50%);
          -ms-transform: translateX(50%);
              transform: translateX(50%);
      content: "";
      width: 16px;
      height: 12px;
      -webkit-mask-image: url(../img/common/arrow_back.svg);
              mask-image: url(../img/common/arrow_back.svg);
      -webkit-mask-size: cover;
              mask-size: cover;
      -webkit-mask-repeat: no-repeat;
              mask-repeat: no-repeat;
      background-color: var(--color-reverse);
}
.swiper-button-next::after {
      display: block;
      position: absolute;
      top: 38%;
      -webkit-transform: translateY(-38%);
          -ms-transform: translateY(-38%);
              transform: translateY(-38%);
      left: 50%;
      -webkit-transform: translateX(-50%);
          -ms-transform: translateX(-50%);
              transform: translateX(-50%);
      content: "";
      width: 16px;
      height: 12px;
      -webkit-mask-image: url(../img/common/arrow.svg);
              mask-image: url(../img/common/arrow.svg);
      -webkit-mask-size: cover;
              mask-size: cover;
      -webkit-mask-repeat: no-repeat;
              mask-repeat: no-repeat;
      background-color: var(--color-reverse);
}

@media (any-hover:hover) {
      .swiper-button-prev:hover, .swiper-button-next:hover {
            background-color: var(--color-main);
      }
}
@media (max-width:896px) {
      .swiper-button-prev, .swiper-button-next {
            width: 40px;
            height: 40px;
      }
      .swiper-button-prev::after, .swiper-button-next::after {
            top: 35%;
      }
}


/* SPのみスワイパー */
@media (min-width: 897px) {
      .sp-swiper {
            overflow: visible;
      }
      .sp-swiper .swiper-wrapper {
            display: block;
            -webkit-transform: none;
                -ms-transform: none;
                    transform: none;
            width: auto;
      }
      .sp-swiper .swiper-slide {
            display: block;
            width: auto;
            -webkit-transform: none;
                -ms-transform: none;
                    transform: none;
            margin-right: 0;
      }
      /* PC時はスライダー操作要素を非表示 */
      .sp-swiper .swiper-pagination,
      .sp-swiper .swiper-button-next,
      .sp-swiper .swiper-button-prev {
            display: none;
      }
}
/* SP時（896px以下）のみスライダーとして動作 */
@media (max-width: 896px) {
      .sp-swiper.sp-slider-active {
            overflow: hidden;
      }
      .sp-swiper.sp-slider-active .swiper-wrapper {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
      }
      .sp-swiper.sp-slider-active .swiper-slide {
            display: block;
            -ms-flex-negative: 0;
                flex-shrink: 0;
      }
      /* SP時はスライダー操作要素を表示 */
      .sp-swiper.sp-slider-active .swiper-pagination,
      .sp-swiper.sp-slider-active .swiper-button-next,
      .sp-swiper.sp-slider-active .swiper-button-prev {
            display: block;
      }
}


/* シャドウ */
.has_shadow {
      -webkit-box-shadow: 8px 8px 20px rgba(0, 0, 0, 0.15);
              box-shadow: 8px 8px 20px rgba(0, 0, 0, 0.15);
}



/* TOP
------------------------------ */
/* MV - タイトル */
.top_mv {
      position: relative;
      width: 100%;
      padding-top: 11.7rem;
      height: calc(73.9rem + 11.7rem);
      @media (max-width:1376px) {
            height: 58.720vw;
      }
}
.top_mv_ttl {
      position: relative;
      line-height: 0;
      z-index: 0;
}
.top_mv_txt {
      position: absolute;
      left: 4.8rem;
      width: 66.6rem;
      @media (max-width:1376px) {
            left: 3.488vw;
            width: 48.401vw;
      }
      @media (max-width:896px) {
            width: 74.330vw;
      }
}
.top_mv_ttl .svg_wrap {
      position: absolute;
      top: -4.8rem;
      left: 4rem;
      @media (max-width:1376px) {
            top: -3.488vw;
            left: 2.906vw;
      }
}

@media (max-width:896px) {
      .top_mv {
            max-width: var(--cont-width);
            height: -webkit-fit-content;
            height: -moz-fit-content;
            height: fit-content;
            width: calc(100% - 2rem * 2);
            margin: auto;
            padding-top: 11.2rem;
      }
      .top_mv_txt {
            position: relative;
            left: 50%;
            -webkit-transform: translateX(-50%);
                -ms-transform: translateX(-50%);
                    transform: translateX(-50%);
            width: 100%;
      }
}


/* MV - スライダー */
.top_mv_slider {
      gap: 5.8rem;
      margin-top: 8rem;
      @media (max-width:1376px) {
            gap: 4.393vw;
            margin-top: clamp(3.8rem, 4.215vw, 5.8rem);
      }
}


/* 小さいスライダー */
.top_mv_slider #small_pnl {
      width: 79.3rem;
      margin: 0 0 3.1rem;
      border-radius: 2rem 2rem;
      @media (max-width:1376px) {
            width: 60.833vw;
            border-radius: 1.453vw;
            margin-left: 0.5rem;
      }
}
.top_mv_slider #small_pnl .swiper-slide {
      max-width: 24.3rem;
      cursor: default;
      @media (max-width:1376px) {
            margin-right: 1.424vw !important;
            width: 16vw !important;
      }
}
.top_mv_slider #small_pnl .small_pnl_cont {
      position: relative;
      aspect-ratio: 1/1;
      width: 100%;
      @media (max-width:1376px) {
            width: 16vw;
      }
}
.top_mv_slider #small_pnl .slider_img {
      width: 100%;
}
.top_mv_slider #small_pnl .que_ttl {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      position: absolute;
      top: 0;
      left: 0;
      font-size: 2.2rem;
      font-weight: 700;
      color: var(--color-reverse);
      padding: 9rem 2.5rem 3.6rem 2rem;
      width: 100%;
      height: 100%;
      @media (max-width:1426px) {
            font-size: 1.542vw;
            padding: 6.540vw 1.816vw 2.616vw 1.453vw;
      }
}


/* 大きいスライダー */
.top_mv_slider .large-slider_wrap {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      margin-bottom: 8rem;
}
.top_mv_slider #large_pnl {
      max-width: 60.4rem;
      cursor: default;
      @media (max-width:1376px) {
            max-width: 43.895vw;
      }
      @media (max-width:896px) {
            max-width: 67.875vw;
            width: 100%;
      }
      @media (max-width:576px) {
            max-width: 85.875vw;
      }
      @media (max-width:400px) {
            width: 400px;
      }
}
.top_mv_slider #large_pnl .large_pnl_cont {
      position: relative;
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
}
.top_mv_slider #large_pnl .slider_img {
      max-width: 54.4rem;
      width: 39.534vw;
      aspect-ratio: 1 / 1;
      @media (max-width:896px) {
            max-width: 60.4rem;
            width: 67.410vw;
      }
      @media (max-width:576px) {
            aspect-ratio: 327 / 290;
            width: 87.41vw;
      }
}
.top_mv_slider #large_pnl .lead_msg {
      position: absolute;
      top: 24%;
      left: 5%;
      color: var(--color-reverse);
      font-weight: 500;
      width: 87%;
      height: 10%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      @media (max-width:1376px) {
            font-size: 1.162vw;
      }
      @media (max-width:896px) {
            font-size: 1.785vw;
      }
}
.top_mv_slider #large_pnl .que_ttl {
      position: absolute;
      top: 36%;
      left: 5%;
      color: var(--color-reverse);
      font-size: 3.2rem;
      font-weight: 700;
      line-height: 1.5;
      width: 87%;
      height: 26.471%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      /* margin-top: 2.5rem; */
      @media (max-width:1376px) {
            font-size: 2.325vw;
            /* margin-top: 1.816vw; */
      }
      @media (max-width:896px) {
            font-size: 3.9vw;
      }
      @media (max-width:576px) {
            /* margin-top: 0; */
            font-size: 5.166vw;
      }
}
.top_mv_slider #large_pnl .info_personal {
      position: absolute;
      bottom: 7%;
      left: 5%;
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      text-align: right;
}
.top_mv_slider #large_pnl .balloon_txt {
      position: relative;
      background-color: var(--color-yellow);
      padding: 1.2rem 2.4rem;
      border-radius: 3.2rem;
      font-size: 1.8rem;
      font-weight: 700;
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      @media (max-width:1376px) {
            padding: 0.872vw 1.744vw;
            border-radius: 2.325vw;
            font-size: 1.308vw;
      }
      @media (max-width:896px) {
            font-size: 2.232vw;
            border-radius: 3.6rem;
      }
      @media (max-width:576px) {
            padding: 1.42vw 2vw;
            font-size: 3vw;
      }
}
.top_mv_slider #large_pnl .balloon_txt::after {
      position: absolute;
      content: "";
      top: 50%;
      -webkit-transform: translateY(-50%);
          -ms-transform: translateY(-50%);
              transform: translateY(-50%);
      right: -1rem;
      width: 3rem;
      height: 3rem;
      -webkit-mask-image: url(../img/common/ico_circle.svg);
              mask-image: url(../img/common/ico_circle.svg);
      -webkit-mask-size: cover;
              mask-size: cover;
      -webkit-mask-repeat: no-repeat;
              mask-repeat: no-repeat;
      background-color: var(--color-yellow);
      @media (max-width:1400px) {
            width: 2.142vw;
            height: 2.142vw;
      }
      @media (max-width:896px) {
            right: -4%;
      }
}
.top_mv_slider #large_pnl .info_depart {
      font-size: 1.3rem;
      font-weight: 500;
      color: var(--color-reverse);
      margin-top: 2.4rem;
      @media (max-width:1376px) {
            font-size: 0.944vw;
            margin-top: 1.744vw;
      }
      @media (max-width:896px) {
            font-size: 1.450vw;
            margin-top: 2.678vw;
      }
}
.top_mv_slider #large_pnl .info_name {
      font-weight: 500;
      color: var(--color-reverse);
      margin-top: 0.4rem;
}
.top_mv_slider #large_pnl .pnl_img {
      position: absolute;
      right: -12%;
      bottom: -13%;
      max-width: 33rem;
      width: 23.982vw;
      @media (max-width:896px) {
            max-width: 35rem;
            width: 39.982vw;
            right: -12%;
            bottom: -10%;
      }
      @media (max-width:576px) {
            width: 43.982vw;
            right: -10%;
            bottom: -10%;
      } 
}
.top_mv_slider #large_pnl .swiper-pagination {
      bottom: -5rem;
      text-align: left;
      @media (max-width:896px) {
            bottom: -8%;
      }
      @media (max-width:576px) {
            bottom: -12%;
      }
}
.swiper-slide-shadow-left,
.swiper-slide-shadow-right {
      background: transparent !important;
}

@media (max-width:896px) {
      .top_mv_slider .large-slider_wrap {
            margin-bottom: 0;
      }
}


/* ふわっと表示させるクラス */
.js_fadeItem {
      opacity: 0;
      -webkit-transform: translateY(20px);
          -ms-transform: translateY(20px);
              transform: translateY(20px);
      -webkit-transition: opacity 0.8s ease, -webkit-transform 0.8s ease;
      transition: opacity 0.8s ease, -webkit-transform 0.8s ease;
      -o-transition: opacity 0.8s ease, transform 0.8s ease;
      transition: opacity 0.8s ease, transform 0.8s ease;
      transition: opacity 0.8s ease, transform 0.8s ease, -webkit-transform 0.8s ease;
}

/* アクティブスライド内のふわっと表示要素 */
.top_mv_slider #large_pnl .swiper-slide-active .js_fadeItem {
      opacity: 1;
      -webkit-transform: translateY(0);
          -ms-transform: translateY(0);
              transform: translateY(0);
      -webkit-transition-delay: 0.8s;
           -o-transition-delay: 0.8s;
              transition-delay: 0.8s;
}

/* 非アクティブスライドでは即座に非表示 */
.top_mv_slider #large_pnl .swiper-slide:not(.swiper-slide-active) .js_fadeItem {
      opacity: 0;
      -webkit-transform: translateY(0);
          -ms-transform: translateY(0);
              transform: translateY(0); /* 位置は変えずにその場で消える */
      -webkit-transition: opacity 0.15s ease;
      -o-transition: opacity 0.15s ease;
      transition: opacity 0.15s ease;
      -webkit-transition-delay: 0s;
           -o-transition-delay: 0s;
              transition-delay: 0s;
}


/* スライダー色分け */
.balloon_yellow {
      background-color: var(--color-yellow);
}
.pnl_green {
      background-color: var(--color-light-green);
}
.pnl_blue {
      background-color: var(--color-light-blue);
}


/* ピックアップバナー */
.pickup_banner {
      margin-top: 11.7rem;
}
.pickup_banner_inr {
      position: relative;
}
.pickup_banner_inr .link_itm_cont {
      position: absolute;
      right: 6.5%;
      bottom: 20%;
}
.pickup_banner_inr:hover .link_item_arrow::before {
      background-color: var(--color-main);
}
.pickup_banner_inr:hover .arrow_img.normal {
      -webkit-transform: translate(-50%, -50%) translateX(100%);
          -ms-transform: translate(-50%, -50%) translateX(100%);
              transform: translate(-50%, -50%) translateX(100%);
      opacity: 0;
}
.pickup_banner_inr:hover .arrow_img.hover {
      -webkit-transform: translate(-50%, -50%) translateX(0);
          -ms-transform: translate(-50%, -50%) translateX(0);
              transform: translate(-50%, -50%) translateX(0);
      opacity: 1;
}

@media (max-width:896px) {
      .pickup_banner_inr .link_itm_cont {
            right: 6%;
            bottom: 18%;
      }
}
@media (max-width:576px) {
      .pickup_banner_inr .link_itm_cont {
            right: 10%;
            bottom: 11%;
      }
}


/* メッセージ */
.sec_message {
      margin-top: 17.7rem;
      z-index: 3;
}
.message_lead_body {
      position: relative;
      font-size: clamp(2.4rem, 3.571vw, 4rem);
      color: var(--color-main);
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
}
.sec_message_img {
      position: relative;
      top: -14rem;
      right: -4.5rem;
      max-width: 67.9rem;
      width: 60.6vw;
      @media (max-width:1190px) {
            top: clamp(0rem, -35.235rem - 150.34vw, 70rem);
            right: 0;
            width: 54.6vw;
      }
}
.sec_message .message_body .message_txt {
      line-height: 2.5;
      font-size: clamp(1.6rem, 2.006vw, 1.8rem);
      width: 48.6rem;
}
.sec_message .message_body .message_txt + .message_txt {
      margin-top: 4rem;
}

@media (max-width:896px) {
      .sec_message {
            margin-top: 8.3rem;
      }
      .sec_message_img {
            margin-top: 5.2rem;
            margin-left: auto;
            margin-right: auto;
            width: 100%;
      }
      .sec_message .message_body .message_txt {
            line-height: 2;
      }
      .sec_message .message_body .message_txt + .message_txt {
            margin-top: 1.6rem;
      }
}


/* 私たちについて */
.sec_about-us {
      padding-top: 34.1rem;
      padding-bottom: 30.5rem;
      overflow: hidden;
      z-index: 999;
}
.sec_about-us .l_wrap_inr {
      position: relative;
}
.sec_about-us .l_wrap_inr::before {
      position: absolute;
      content: "";
      left: 50%;
      bottom: 0;
      -webkit-transform: rotate(-10deg) translateX(-50%);
          -ms-transform: rotate(-10deg) translateX(-50%);
              transform: rotate(-10deg) translateX(-50%);
      border-radius: 50%;
      max-width: 220rem;
      width: 220rem;
      max-height: 130rem;
      height: 140rem;
      background-color: var(--color-olive-green);
}
.img.img_sec-about-us {
      -o-object-fit: contain;
         object-fit: contain;
      position: absolute;
      top: 93%;
      left: -9%;
      right: 0%;
      width: 120%;
}
.sec-about-us {
      background-color: #1f9a6c;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      width: 100vw;
      height: 100vh;
      position: relative;
}
.sec_about-us .g_pgHd_ttl {
      position: relative;
      z-index: 1;
      color: var(--color-reverse);
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      margin: 0 auto;
}
.card_cont {
      margin-top: 17.6rem;
}
.card_item {
      cursor: pointer;
      line-height: 0;
}
.card_item__ttl {
      position: absolute;
      left: 2.4rem;
      bottom: 2.4rem;
      line-height: 1.05;
      -webkit-writing-mode: vertical-rl;
          -ms-writing-mode: tb-rl;
              writing-mode: vertical-rl;
}
.card_item .link_itm_cont {
      position: absolute;
      right: 7.2rem;
      bottom: 5.4rem;
}
.card_item__img {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
}
.card_item__img img {
      border-radius: 2.4rem;
}


@media (max-width:1120px) {
      .sec_about-us .l_wrap_inr::before {
            height: 129.774vw
      }
}
@media (max-width:896px) {
      .sec_about-us .l_wrap_inr::before {
            bottom: 17rem;
            max-height: 200rem;
            height: 209.214vw;
            -webkit-transform: rotate(-16deg) translateX(-50%);
                  -ms-transform: rotate(-16deg) translateX(-50%);
                        transform: rotate(-16deg) translateX(-50%);
      }
}
@media (max-width:765px) {
      .sec_about-us .l_wrap_inr::before {
            width: 267.392vw;
            height: 208.214vw;
            bottom: 20rem;
            -webkit-transform: rotate(-16deg) translateX(-50%);
                  -ms-transform: rotate(-16deg) translateX(-50%);
                        transform: rotate(-16deg) translateX(-50%);
      }
}
@media (max-width:675px) {
      .sec_about-us .l_wrap_inr::before {
            width: 243.392vw;
            height: 210.214vw;
            bottom: 11rem;
      }
}
@media (max-width:550px) {
      .sec_about-us .l_wrap_inr::before {
            width: 241.392vw;
            height: 227.214vw;
            bottom: 7rem;
      }
}
@media screen and (max-width: 479px) {
      .img {
            object-fit: cover;
            width: 100%;
            height: 100%;
      }
      .img.img_sec-about-us {
            object-fit: contain;
            position: absolute;
            bottom: -6rem;
      }
      .sec-about-us {
            justify-content: center;
            align-items: center;
            width: 100vw;
            height: 100vh;
            position: relative;
      }
}


/* リンク矢印 */
.card_item:hover .link_item_arrow::before {
      background-color: var(--color-main);
}
.card_item:hover .link_item_arrow .arrow_img.normal {
      -webkit-transform: translate(-50%, -50%) translateX(100%);
          -ms-transform: translate(-50%, -50%) translateX(100%);
              transform: translate(-50%, -50%) translateX(100%);
      opacity: 0;
}
.card_item:hover .link_item_arrow .arrow_img.hover {
      -webkit-transform: translate(-50%, -50%) translateX(0);
          -ms-transform: translate(-50%, -50%) translateX(0);
              transform: translate(-50%, -50%) translateX(0);
      opacity: 1;
}

@media (max-width:896px) {
      .sec_about-us {
            padding-top: 37.096vw;
            padding-bottom: 39.8666vw;
      }
      .card_cont {
            margin-top: 7.6rem;
      }
      .card_item .link_itm_cont {
            right: 3.6rem;
            bottom: 2rem;
      }
      .card_item__img  {
            width: 87.2vw;
            border-radius: 3.2rem;
      }
      .card_item__img img {
            border-radius: 1.6rem;
      }
      .card_item__ttl {
            position: absolute;
            left: 2rem;
            bottom: 2rem;
            line-height: 1.05;
            -webkit-writing-mode: horizontal-tb;
                -ms-writing-mode: lr-tb;
                    writing-mode: horizontal-tb;
            font-size: clamp(1.8rem, 4.3vw, 3.2rem);
      }
      .card_item__ttl span {
            font-size: clamp(1.2rem, 1.23vw, 1.6rem);
      }
}


/* インタビュー */
.sec_interview {
      position: relative;
}
.sec_interview .bg_txt {
      position: absolute;
      top: 0;
      right: calc(2rem * 2);
      font-size: 27rem;
      font-weight: 700;
      letter-spacing: -13.5px;
      line-height: 1.1;
      -webkit-writing-mode: vertical-rl;
          -ms-writing-mode: tb-rl;
              writing-mode: vertical-rl;
      color: var(--color-top-bg-txt);
      white-space: nowrap;
      z-index: -999;
      cursor: default;
}
.bg_txt_txt:nth-child(2) {
      margin-top: 12rem;
}
.sec_interview .animation_line {
      position: absolute;
      left: 0;
      bottom: 20%;
      height: inherit;
      pointer-events: none;
      @media (max-width:1380px) {
            width: 1656px;
      }
      @media (max-width:896px) {
            width: 108%;
            bottom: 83%;
      }
      @media (max-width:500px) {
            width: 138%;
            bottom: 89%;
      }
}
.sec_interview_inr {
      overflow: hidden;
}
.sec_interview_inr .l_wrap_inr {
      gap: 15rem;
      @media (max-width:1120px) {
            gap: clamp(4rem, 4.392vw, 15rem);
      }
}
.sec_interview_inr #img-swiper {
      padding-bottom: 3rem;
}
.sec_interview .txt_cont {
      width: 48rem;
      z-index: 1;
      margin-top: 8.5rem;
}
.sec_interview .message_body {
      max-width: 39.2rem;
}
.sec_interview .message_body .message_txt {
      font-size: clamp(1.4rem, 1.783vw, 1.6rem);
      line-height: 2;
      font-weight: 500;
}
.sec_interview .slideer_cont {
      max-width: 848.227px;
      max-height: 100%;
}
.interview_swiper .swiper-slide {
      -webkit-transform: scale(.63);
          -ms-transform: scale(.63);
              transform: scale(.63);
      -webkit-transition: .7s;
      -o-transition: .7s;
      transition: .7s;
      -webkit-transition: opacity(0.7) 0.7s ease, scale(.63) 0.9s ease;
      -o-transition: opacity(0.7) 0.7s ease, scale(.63) 0.9s ease;
      transition: opacity(0.7) 0.7s ease, scale(.63) 0.9s ease;
}
.interview_swiper .swiper-slide-active {
      -webkit-transform: scale(1);
          -ms-transform: scale(1);
              transform: scale(1);
      z-index: 1;
      width: 49px;
}
.interview_swiper .slider_img {
      aspect-ratio: 49/58;
      overflow: hidden;
      border-radius: 2.4rem;
      -o-object-fit: cover;
         object-fit: cover;
      -webkit-box-shadow: 6px 6px 17px -4px rgba(0, 0, 0, 0.33);
              box-shadow: 6px 6px 17px -4px rgba(0, 0, 0, 0.33);
}
.interview_swiper .slider_img img {
      width: 100%;
      height: 100%;
      -o-object-fit: cover;
         object-fit: cover;
}
.sec_interview .swiper-pagination {
      text-align: left;
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start;
      margin-left: 29rem;
      bottom: 1rem;
}
.interview_swiper#txt-swiper {
      top: -23rem;
      left: -2.5rem;
      font-weight: 700;
      color: var(--color-main);
}
.interview_swiper#txt-swiper .swiper-slide-front {
      -webkit-transform: scale(1);
          -ms-transform: scale(1);
              transform: scale(1);
}
.interview_txt .lead_msg {
      font-size: 2.4rem;
      line-height: 1.5;
      padding: 1.6rem;
      border-radius: 1.6rem;
      background-color: var(--color-yellow);
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      max-width: calc(2.4rem * 17 + 1.6rem * 2); /* 17文字で折り返す */
}
.interview_txt .info_depart {
      font-size: 1.4rem;
      line-height: 1;
      padding: 0.8rem;
      border-radius: 0.8rem;
      background-color: var(--color-yellow);
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      margin-top: 2.4rem;
}
.interview_txt .info_name {
      font-size: 1.8rem;
      line-height: 1;
      padding: 1rem;
      border-radius: 0.8rem;
      background-color: var(--color-yellow);
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      margin-top: -1rem;
}
.sec_interview .swiper-wrapper {
      -webkit-box-align: end;
          -ms-flex-align: end;
              align-items: flex-end;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      padding-bottom: 2.4rem;
}
.hidden_interview_txt {
      display: none;
}

@media (max-width:896px) {
      .sec_interview .bg_txt {
            font-size: 15rem;
            line-height: 1;
            top: -69%;
            right: 0;
            margin: 0 calc(50% - 53vw);
      }
      .sec_interview .txt_cont {
            width: 100%;
            margin-top: 0;
      }
      .sec_interview .message_body {
            max-width: 100%;
      }
      .interview_slide {
            margin-left: auto;
            margin-right: auto;
      }
      .sec_interview .link_itm_cont {
            margin-left: 0;
            margin-right: auto;
      }
      .sec_interview .swiper-pagination {
            text-align: center;
            -webkit-box-pack: center;
                -ms-flex-pack: center;
                    justify-content: center;
            margin-left: 1rem;
      }
      .sec_interview .slideer_cont {
            max-height: clamp(74rem, 94.633vw, 83rem);
      }
      .sec_interview_inr #img-swiper {
            width: 100vw;
            margin: 0 calc(50% - 50vw);
            height: clamp(74rem, 94.633vw, 83rem);
            margin-bottom: 0;
      }
      .interview_swiper#txt-swiper {
            top: clamp(-19rem, -19rem + 0vw, -19rem);
            left: 0;
            height: fit-content;
      }
      .interview_swiper#txt-swiper .interview_txt {
            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;
            -webkit-box-pack: center;
                -ms-flex-pack: center;
                    justify-content: center;
      }
      .sec_interview .swiper-slide .lead_msg {
            width: 100%;
      }
      .interview_txt .lead_msg {
            font-size: 1.6rem;
            line-height: 1.5;
            padding: 1.2rem;
            max-width: none;
      }
      .interview_txt .info_depart {
            font-size: 1.3rem;
            margin-top: 1rem;
      }
      .interview_txt .info_name {
            font-size: 1.6rem;
            margin-top: -0.8rem;
      }
      .sec_interview_inr #img-swiper {
            padding-bottom: 0;
      }
}
@media (max-width:768px) {
      .sec_interview .slideer_cont {
            max-height: clamp(61rem, 99.902vw, 74rem);
      }
      .sec_interview_inr #img-swiper {
            height: clamp(61rem, 99.902vw, 74rem);
      }
}
@media (max-width:576px) {
      .sec_interview .slideer_cont {
            max-height: clamp(48rem, 116.142vw, 61rem);
      }
      .sec_interview_inr #img-swiper {
            height: clamp(48rem, 116.142vw, 61rem);
      }
}


/* アニメーション共通 */
.animation_wrap {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
            -ms-flex-pack: center;
            justify-content: center;
      -webkit-box-align: center;
            -ms-flex-align: center;
            align-items: center;
      opacity: 0;
      -webkit-transform: translateY(50px);
            -ms-transform: translateY(50px);
            transform: translateY(50px);
      -webkit-transition: opacity 1s ease-out, -webkit-transform 1s ease-out;
      transition: opacity 1s ease-out, -webkit-transform 1s ease-out;
      -o-transition: opacity 1s ease-out, transform 1s ease-out;
      transition: opacity 1s ease-out, transform 1s ease-out;
      transition: opacity 1s ease-out, transform 1s ease-out, -webkit-transform 1s ease-out;
}
.animation_wrap.fade-in {
      opacity: 1;
      -webkit-transform: translateY(0);
            -ms-transform: translateY(0);
            transform: translateY(0);
}


/* インタビューラインアニメーション */
.Top-interview_line {
      stroke-dasharray: 2860.4033px; /* path.getTotalLength() で取得した値 */
      stroke-dashoffset: 2860.4033px;
      -webkit-transition: stroke-dashoffset 2s cubic-bezier(0.47, 0, 0.745, 0.715);
      -o-transition: stroke-dashoffset 2s cubic-bezier(0.47, 0, 0.745, 0.715);
      transition: stroke-dashoffset 2s cubic-bezier(0.47, 0, 0.745, 0.715);
}
svg.active .Top-interview_line {
      stroke-dashoffset: 0;
}
.sec_interview .animation_wrap {
      position: absolute;
      top: -40rem;
      left: 45%;
      -webkit-transform: translateX(-45%);
            -ms-transform: translateX(-45%);
            transform: translateX(-45%);
}
.sec_interview svg {
      width: 104.723vw;
      max-width: 144.1rem;
}
.img.sec-interview_top-page {
      -o-object-fit: contain;
         object-fit: contain;
      position: relative;
}
.img.is-interview {
      position: absolute;
      inset: 0%;
}
.container-sec-enterview {
      z-index: 1;
      position: absolute;
      inset: 0%;
}
.content-wrap_sec-interview {
      grid-column-gap: 8rem;
      grid-row-gap: 8rem;
      -ms-grid-rows: auto;
      grid-template-rows: auto;
      -ms-grid-columns: 1fr 8rem 1fr;
      grid-template-columns: 1fr 1fr;
      grid-auto-columns: 1fr;
      max-width: 1440px;
      margin-left: auto;
      margin-right: auto;
      display: -ms-grid;
      display: grid;
}
.content-wrap_sec-interview > *:nth-child(1) {
      -ms-grid-row: 1;
      -ms-grid-column: 1;
}
.content-wrap_sec-interview > *:nth-child(2) {
      -ms-grid-row: 1;
      -ms-grid-column: 3;
}
.content-sec-interview {
      display: -ms-grid;
      display: grid;
      -ms-grid-columns: 1.5fr 0.5fr;
      grid-template-columns: 1.5fr 0.5fr;
}
.content-up_sec-interview {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      width: 100%;
      height: 100%;
      padding-right: 2rem;
      padding-left: 2rem;
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      line-height: 1;
      font-weight: 400;
}

@media (max-width:1100px) {
      .sec_interview .animation_wrap {
            top: -32%;
      }
}
@media (max-width:896px) {
      .sec_interview .animation_wrap {
            top: -28%;
            left: 50%;
            -webkit-transform: translateX(-50%);
                  -ms-transform: translateX(-50%);
                        transform: translateX(-50%);
      }
}
@media (max-width:498px) {
      .sec_interview .animation_wrap {
            top: -19%;
      }
}


/* 座談会 */
.sec_cross-talk {
      margin-top: -8rem;
}
.sec_cross-talk .l_wrap_inr {
      display: -ms-grid;
      display: grid;
      -webkit-column-gap: 1rem;
         -moz-column-gap: 1rem;
              column-gap: 1rem;
}
.sec_cross-talk .img_cont {
      -ms-grid-row: 1;
      -ms-grid-row-span: 2;
      -ms-grid-column: 1;
      -ms-grid-column-span: 1;
      grid-area: 1 / 1 / 3 / 2;
}
.sec_cross-talk .g_pgHd_ttl {
      -ms-grid-row: 1;
      -ms-grid-row-span: 1;
      -ms-grid-column: 2;
      -ms-grid-column-span: 1;
      grid-area: 1 / 2 / 2 / 3;
}
.sec_cross-talk .txt_cont {
      -ms-grid-row: 2;
      -ms-grid-row-span: 1;
      -ms-grid-column: 2;
      -ms-grid-column-span: 1;
      grid-area: 2 / 2 / 3 / 3;
      max-width: 28.8rem;
}
.sec_cross-talk .message_body .message_txt {
      font-size: clamp(1.4rem, 1.783vw, 1.6rem);
      line-height: 2;
      font-weight: 500;
}

@media (max-width:896px) {
      .sec_cross-talk {
            margin-top: 9.1rem;
      }
      .sec_cross-talk .l_wrap_inr {
            -ms-grid-columns: 1fr;
            grid-template-columns: 1fr;
            -ms-grid-rows: (1fr)[3];
      }
      .sec_cross-talk .l_wrap_inr > *:nth-child(1) {
            -ms-grid-row: 1;
            -ms-grid-column: 1;
      }
      .sec_cross-talk .l_wrap_inr > *:nth-child(2) {
            -ms-grid-row: 2;
            -ms-grid-column: 1;
      }
      .sec_cross-talk .l_wrap_inr > *:nth-child(3) {
            -ms-grid-row: 3;
            -ms-grid-column: 1;
      }
      .sec_cross-talk .img_cont {
            -ms-grid-row: 2;
            -ms-grid-row-span: 1;
            -ms-grid-column: 1;
            -ms-grid-column-span: 1;
            grid-area: 2 / 1 / 3 / 2;
      }
      .sec_cross-talk .g_pgHd_ttl {
            -ms-grid-row: 1;
            -ms-grid-row-span: 1;
            -ms-grid-column: 1;
            -ms-grid-column-span: 1;
            grid-area: 1 / 1 / 2 / 2;
      }
      .sec_cross-talk .txt_cont {
            -ms-grid-row: 3;
            -ms-grid-row-span: 1;
            -ms-grid-column: 1;
            -ms-grid-column-span: 1;
            grid-area: 3 / 1 / 4 / 2;
            max-width: 100%;
      }
}


/* 教育・福利厚生 */
.top_page .sec_environment {
      margin-top: 10.6rem;
}
.top_page .sec_environment .l_wrap_inr {
      padding: 5.7rem 5.6rem 6.4rem 5.6rem;
      border-radius: 4rem;
      background-color: var(--color-sec-bg);
      gap: 10vw;
}
.top_page .sec_environment .message_body {
      max-width: 57.6rem;
}
.top_page .sec_environment .message_body .message_txt {
      font-size: clamp(1.4rem, 1.783vw, 1.6rem);
      line-height: 2;
      font-weight: 500;
}
.top_page .sec_environment .link_itm_cont a::after {
      height: 0.2rem;
      background-color: var(--color-main);
}
.sec_hierarchical .l_wrap_inr,
.sec_occupation .l_wrap_inr {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: start;
          -ms-flex-align: start;
              align-items: flex-start;
      gap: 8.6rem;
}
.sec_hierarchical .g_pgHd_ttl,
.sec_occupation .g_pgHd_ttl {
      z-index: 2;
}
.sec_hierarchical .g_pgHd_ttl::before,
.sec_occupation .g_pgHd_ttl::before {
      position: absolute;
      top: -6.3rem;
      left: -14.9rem;
      content: "";
      background-image: url(../img/environment/ttl_line.png);
      background-repeat: no-repeat;
      background-size: cover;
      width: 342.769px;
      height: 210px;
      z-index: -1;
}
.position-absolute-full {
      position: absolute;
      inset: 0%;
}
.position-absolute-full.z-index-1 {
      z-index: 1;
}
.position-absolute-full.z-index-2 {
      z-index: 2;
}
.sec-crosstalk_img-container {
      position: relative;
}
.img-title-hero-section{
      position: absolute;
      top: -15%;
      left: 8%;
      z-index: -1;
      width: 549px;
      height: 202px;
      @media (max-width:1400px) {
            width: 39.214vw;
            height: 14.428vw;
      }
      @media (max-width:896px) {
            width: 549px;
            height: 202px;
      }
      @media (max-width:700px) {
            width: 78.428vw;
            height: 28.857vw;
      }
}

@media (max-width:896px) {
      .top_page .sec_environment {
            margin-top: 9.6rem;
      }
      .top_page .sec_environment .l_wrap_inr {
            padding: 7.2rem 2.4rem;
            border-radius: 2.4rem;
            gap: 4rem;
      }
      .top_page .sec_environment .message_body {
            max-width: none;
      }
      .sec_hierarchical .l_wrap_inr,
      .sec_occupation .l_wrap_inr {
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
                -ms-flex-direction: column;
                    flex-direction: column;
            gap: 3.2rem;
      }
      .sec_hierarchical .g_pgHd_ttl::before,
      .sec_occupation .g_pgHd_ttl::before {
            top: -2.8rem;
            left: -2.5rem;
            background-image: url(../img/environment/ttl_line_sp.png);
            width: 37rem;
            height: 12rem;
            z-index: -1;
      }
}


/* 会社情報
------------------------------ */
.company_msg {
      margin-top: 12rem;
}
.company_msg .msg_item {
      font-weight: 500;
      line-height: 2;
}
.company_msg .msg_item + .msg_item {
      margin-top: 1.6rem;
}


@media (max-width:896px) {
      .company_msg {
            margin-top: 7.2rem;
      }
      .company_msg .msg_item {
            font-weight: 400;
            line-height: 1.75;
      }
      .company_msg .msg_item + .msg_item {
            margin-top: 0;
      }
}

/* ごあいさつ */
.sec_greetings {
      margin-top: 12rem;
      overflow: hidden;
}
.greetings_img {
      margin-left: -16rem;
      max-width: 55.5rem;
      width: 55.5rem;
}
.greetings_txt {
      line-height: 2;
}
.post_txt {
      line-height: 1.5;
}

@media (max-width:896px) {
      .sec_greetings {
            margin-top: 9.6rem;
      }
      .greetings_img {
            margin-left: 0;
            width: 40.1rem;
            position: relative;
            left: 50%;
            transform: translateX(-50%);
            @media (max-width:375px) {
                  width: 106.933vw;
            }
      }
      .ceo_sign {
            width: 11.8rem;
      }
}

/* 求める人物像 */
.sec_desired-profile {
      margin-top: 12rem;
      
}
.sec_desired-profile .sec_bg {
      padding: 12rem 0 calc(12rem + 5.8rem);
      background-color: var(--color-sec-bg);
      border-radius: 5.6rem 5.6rem 0 0;
}
.profile_lst__item_inr {
      padding: 4.8rem 3.2rem;
      background-color: var(--color-reverse);
      border-radius: 2.4rem;
}
.profile_lst__item_inr .icon_img img {
      max-width: 20.4rem;
}
.sec_desired-profile .description_txt {
      font-weight: 500;
}

@media (max-width:896px) {
      .sec_desired-profile {
            margin-top: 9.6rem;
      }
      .sec_desired-profile .sec_bg {
            padding: 8.8rem 0 11rem;
            border-radius: 4rem 4rem 0 0;
      }
      .profile_lst__item {
            width: 100%;
      }
      .profile_lst__item_inr {
            padding: 2.4rem 1.6rem;
            border-radius: 1.6rem;
      }
      .profile_lst__item_inr .icon_img img {
            width: 9.6rem;
      }
      .sec_desired-profile .description_txt {
            font-weight: 400;
      }
}

/* 経営理念 */
.sec_our-philosophy {
      position: relative;
}
.sec_our-philosophy::before {
      position: absolute;
      content: "";
      top: -5.8rem;
      width: 100%;
      height: 5.8rem;
      border-radius: 5.6rem 5.6rem 0 0;
      background-color: var(--color-bg);
}
.sec_our-philosophy_inr {
      padding-top: 18rem;
      overflow: hidden;
}
.our-philosophy_head {
      min-width: 40.8rem;
      width: 40.8rem;
      @media (max-width:1448px) {
            min-width: clamp(31rem, 28.176vw, 40.8rem);
      }
}
.philosophy_cont {
      position: relative;
      width: 97.4rem;
      height: 73.1rem;
      margin-top: -7.8rem;
      @media (max-width:1372px) {
            width: 70.991vw;
            height: 53.279vw;
      }
}
.philosophy_item {
      position: absolute;
}
.philosophy_item.item_01 {
      top: 12.4rem;
      left: 30.4rem;
      @media (max-width:1372px) {
            top: 9.037vw;
            left: 22.157vw;
      }
}
.philosophy_item.item_02 {
      top: 28.4rem;
      right: 13.4rem;
      @media (max-width:1372px) {
            top: 20.699vw;
            right: 9.766vw;
      }
}
.philosophy_item.item_03 {
      left: 18.9rem;
      bottom: 27rem;
      @media (max-width:1372px) {
            left: 13.775vw;
            bottom: 19.679vw;
      }
}
.philosophy_item.item_04 {
      left: 39.6rem;
      bottom: 7.6rem;
      @media (max-width:1372px) {
            left: 28.862vw;
            bottom: 5.539vw;
      }
}
.philosophy_item_txt {
      font-size: 2.2rem;
      line-height: 1.5;
      color: var(--color-dusty-green);
      @media (max-width:1372px) {
            font-size: 1.603vw;
            line-height: 1.5;
      }
}

@media (max-width:896px) {
      .sec_our-philosophy::before {
            top: -3.2rem;
            height: 3.2rem;
            border-radius: 4rem 4rem 0 0;
      }
      .sec_our-philosophy_inr {
            padding-top: 4.8rem;
      }
      .our-philosophy_head {
            width: 100%;
      }
      .philosophy_cont {
            width: 49.7rem;
            height: 37.3rem;
            margin-top: 0;
            left: 50%;
            transform: translateX(-50%);
            @media (max-width:373px) {
                  width: 133.243vw;
                  height: 100vw;
            }
      }
      .philosophy_item.item_01 {
            top: 5.9rem;
            left: 15.1rem;
            @media (max-width:373px) {
                  top: 15.817vw;
                  left: 40.482vw;
            }
      }
      .philosophy_item.item_02 {
            top: 12.1rem;
            right: 7.5rem;
            @media (max-width:373px) {
                  top: 32.439vw;
                  right: 20.107vw;
            }
      }
      .philosophy_item.item_03 {
            left: 9.5rem;
            bottom: 13.5rem;
            @media (max-width:373px) {
                  left: 25.4693vw;
                  bottom: 36.193vw;
            }
      }
      .philosophy_item.item_04 {
            left: 18.2rem;
            bottom: 3rem;
            @media (max-width:373px) {
                  left: 48.793vw;
                  bottom: 8.042vw;
            }
      }
      .philosophy_item_txt {
            font-size: 1.4rem;
            line-height: 1.5;
            font-weight: 500;
            @media (max-width:373px) {
                  font-size: 3.753vw;
            }
      }
}

/* 会社概要 */
.sec_company-profile {
      padding-top: 16.7rem;
      padding-bottom: 12.8rem;
}
.financial_indicators {
      position: relative;
      cursor: pointer;
}
.financial_indicators::before {
      position: absolute;
      right: 0.8rem;
      bottom: 0.8rem;
      content: "";
      width: 3.4rem;
      height: 3.4rem;
      background-image: url(../img/common/ico_glass.svg);
      background-repeat: no-repeat;
      background-size: cover;
      transition: var(--transition);
}
.financial_indicators img {
      background-color: var(--color-reverse);
      border: 1px solid var(--color-dusty-gray);
}

@media (any-hover:hover) {
      .case_lst__item:hover .financial_indicators::before {
            background-image: url(../img/common/ico_glass_green.svg);
      }
}

@media (max-width:896px) {
      .sec_company-profile {
            padding-top: 9.6rem;
            padding-bottom: 8rem;
      }
}


/* インタビュー - 一覧
------------------------------ */
.sec_interview_lst {
      margin-top: 12rem;
      padding-bottom: 16rem;
}
.card_employ {
      display: block;
      width: 100%;
      margin-inline: auto;
      color: var(--color-main);
}
.card_employ .img_wrap {
      position: relative;
      box-shadow: 6px 6px 17px -4px rgba(0, 0, 0, 0.33);
      border-radius: 1.6rem;
}
.card_employ .img_wrap__body {
      overflow: hidden;
      border-radius: 1.6rem;
}
.card_employ .img_wrap__body img {
      aspect-ratio: 168/199;
      object-fit: cover;
      display: inline-block;
      vertical-align: middle;
}
.card_employ .img_wrap__footer {
      position: absolute;
      left: -2rem;
      bottom: -2.6rem;
      display: block;
      background-image: url(../img/interview/circle_yellow.svg);
      background-repeat: no-repeat;
      background-size: cover;
      width: clamp(7.2rem, 7.412vw, 10.2rem);
      height: clamp(4.1rem, 4.215vw, 5.8rem);
      z-index: 1;
}
.class_graduated {
      position: relative;
      top: 48%;
      transform: translateY(-50%);
      color: var(--color-main);
}
.class_graduated .info_year {
      font-size: clamp(1.2rem, 1.017vw, 1.4rem);
      font-weight: 600;
      line-height: 1;
      display: flex;
      justify-content: center;
      align-items: center;
}
.class_graduated .info_type {
      font-size: clamp(1.4rem, 1.380vw, 1.9rem);
      font-weight: 700;
      line-height: 1;
      display: flex;
      justify-content: center;
      align-items: center;
}
.card_employ .txt_wrap {
      position: relative;
      margin-top: 4rem;
      box-sizing: border-box;
}
@keyframes lineText {
      0% {
            background-size: 0 1.8px;
            background-position: left bottom;
      }
      50% {
            background-size: 50% 1.8px;
            background-position: left bottom;
      }
      100% {
            background-size: 100% 1.8px;
            background-position: left bottom;
      }
}
.card_employ .lead_msg {
      font-size: clamp(1.6rem, 1.598vw, 2.2rem);
      font-weight: 700;
      line-height: 1.5;
      display: inline;
      position: relative;
      background-position: left top 0px;
      background-image: linear-gradient(currentcolor);
      background-repeat: no-repeat;
      background-size: 100% 0;
      animation-fill-mode: forwards;
      letter-spacing: normal;
}
.card_employ .info_depart {
      position: relative;
      margin-top: 1.2rem;
      font-size: 1.4rem;
      font-weight: 500;
      line-height: 1.5;
      width: fit-content;
}
.card_employ .info_name {
      position: relative;
      margin-top: 0.4rem;
      font-size: 1.8rem;
      font-weight: 500;
      line-height: 1.5;
      width: fit-content;
}
.interview_lst_footer {
      margin-top: 8rem;
}
.page_lst {
      display: flex;
      justify-content: center;
      align-items: stretch;
      gap: 1.6rem;
}
.btn_pager {
      display: flex;
      align-items: stretch;
}
.btn_pager::before {
      height: 4.8rem;
      content: "";
      display: block;
      width: 0;
}
.btn_pager__target {
      display: flex;
      align-items: center;
      justify-content: center;
      position: relative;
      width: 4.8rem;
      border-radius: 50%;
      color: var(--color-reverse);
      font-size: 2rem;
      font-weight: 600;
      line-height: 1.5;
      background-color: var(--color-dark-blue);
      transition: var(--transition);
      &.is_crnt {
            border: 0.2rem solid var(--color-dark-blue);
            background-color: var(--color-reverse);
            color: var(--color-dark-blue);
      }
}
.btn_pager__more {
      display: flex;
      align-items: center;
      line-height: 0;
      letter-spacing: -1rem;
      text-indent: -1rem;
      font-size: 2rem;
      color: var(--color-dark-blue);
}

@media (any-hover:hover) {
      .btn_pager__target:hover {
            background-color: var(--color-main);
      }
      .btn_pager__target.is_crnt:hover {
            background-color: var(--color-reverse);
      }
      .card_employ:hover .lead_msg {
            animation: lineText .3s forwards;
      }
}
@media (max-width:896px) {
      .sec_interview_lst {
            margin-top: 7.2rem;
            padding-bottom: 9.6rem;
      }
      .card_employ .img_wrap__body {
            aspect-ratio: 59/40;
      }
      .card_employ .img_wrap__footer {
            left: -5%;
            bottom: -4%;
            display: block;
            background-image: url(../img/interview/circle_yellow.svg);
            background-repeat: no-repeat;
            background-size: cover;
            width: clamp(7.2rem, 11.383vw, 10.2rem);
            height: clamp(4.1rem, 6.473vw, 5.8rem);
      }
      .class_graduated .info_year {
            font-size: clamp(1.2rem, 1.785vw, 1.6rem);
      }
      .class_graduated .info_type {
            font-size: clamp(1.4rem, 2.008vw, 1.8rem);
      }
      .card_employ .txt_wrap {
            margin-top: 2.4rem;
      }
      .card_employ .lead_msg {
            font-size: 1.6rem;
      }
      .card_employ .info_depart {
            font-size: 1.3rem;
            margin-top: 0.8rem;
      }
      .card_employ .info_name {
            font-size: 1.6rem;
      }
      .interview_lst_footer {
            margin-top: 2.4rem;
      }
      .interview_lst_footer .footer_top {
            position: relative;
            display: flex;
            margin-inline: unset;
      }
      .interview_lst_footer .swiper-pagination {
            display: block;
            position: static;
            width: fit-content;
            margin: auto;
      }
      .card_employ .img_wrap__body img {
            width: 100%;
            height: auto;
            aspect-ratio: 59 / 40;
      }
      .btn_pager__target {
            width: 4rem;
            height: 4rem;
            font-size: 1.6rem;
      }
}
@media (max-width:576px) {
      .card_employ .img_wrap__footer {
            left: -4%;
            bottom: -5%;
      }
}


/* インタビュー - 詳細
------------------------------ */
/* ヒーローズエリア（※インタビュー詳細のみレイアウト異なる） */
svg .interview_line {
      stroke-dashoffset: 2100.38623046875px;
      stroke-dasharray: 2100.38623046875px;
      -webkit-transition: stroke-dashoffset 2s ease-in-out 0s;
            -o-transition: stroke-dashoffset 2s ease-in-out 0s;
            transition: stroke-dashoffset 2s ease-in-out 0s;
}
svg.active .interview_line {
      stroke-dashoffset: 0;
}

.heros_area.interview_detail {
      margin-top: 14.1rem;
}
.heros_area.interview_detail .heros_area__inr {
      display: block;
}
.heros_area__kv {
      position: relative;
      width: 100%;
}
.interview_detail .heros_area__head {
      text-align: right;
      color: var(--color-main);
}
.interview_detail .heros_area__head .info_depart {
      font-size: 1.8rem;
      font-weight: 700;
      line-height: 1.5;
}
.interview_detail .heros_area__head .info_name {
      font-size: 3.2rem;
      font-weight: 700;
      line-height: 1.5;
}
.interview_detail .g_breadcrumb_lst {
      -webkit-box-pack: end;
          -ms-flex-pack: end;
              justify-content: flex-end;
      margin-top: 1.6rem;
}
.interview_detail .heros_img_wrap {
      position: relative;
      max-width: 78.7rem;
      margin: 0 auto;
      z-index: 2;
}
.interview_detail .heros_img_wrap img {
-webkit-mask-image: url(../img/interview/interview_mask.svg);
        mask-image: url(../img/interview/interview_mask.svg);
      -webkit-mask-size: cover;
              mask-size: cover;
      -webkit-mask-repeat: no-repeat;
              mask-repeat: no-repeat;
}
.interview_detail .heros_line_cont {
      position: absolute;
      top: 2.8rem;
      left: 50%;
      -webkit-transform: translateX(-50%);
          -ms-transform: translateX(-50%);
              transform: translateX(-50%);
      z-index: 0;
      width: 100%;
}
.heros_area__kv .img_wrap__footer {
      position: absolute;
      right: 6.8rem;
      bottom: 3rem;
      display: block;
      background-image: url(../img/interview/circle_yellow.svg);
      background-repeat: no-repeat;
      background-size: cover;
      width: 21.9rem;
      height: 12.4rem;
      z-index: 1;
}
.heros_area__kv .info_year {
      font-size: 2rem;
      font-weight: 700;
      line-height: 1.5;
}
.heros_area__kv .info_type {
      font-size: 2.4rem;
      font-weight: 900;
      line-height: 1.5;
}
.bg-slider_wrap {
      position: absolute;
      top: 50%;
      -webkit-transform: translateY(-50%);
          -ms-transform: translateY(-50%);
              transform: translateY(-50%);
      width: 100%;
}
.bg-slider_txt {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      gap: 5rem;
      white-space: nowrap;
}
.bg-slider_txt__letter {
      font-size: 16.9rem;
      font-weight: 700;
      line-height: 1.2;
      color: var(--color-main);
      mix-blend-mode: multiply;
      -ms-flex-negative: 0;
          flex-shrink: 0;
      white-space: nowrap;
}
:root {
      --tick-duration: 120s;
      --tick-delay: -60s;
}
.bg-slider_txt__letter:nth-child(odd) {
      -webkit-animation: MoveLeft var(--tick-duration) var(--tick-delay) linear infinite;
              animation: MoveLeft var(--tick-duration) var(--tick-delay) linear infinite;
}
.bg-slider_txt__letter:nth-child(even) {
      -webkit-animation: MoveLeft2 var(--tick-duration) linear infinite;
              animation: MoveLeft2 var(--tick-duration) linear infinite;
}

@-webkit-keyframes MoveLeft {
      0% {
            -webkit-transform: translateX(100%);
                    transform: translateX(100%);
      }
      100% {
            -webkit-transform: translateX(-100%);
                    transform: translateX(-100%);
      }
}

@keyframes MoveLeft {
      0% {
            -webkit-transform: translateX(100%);
                    transform: translateX(100%);
      }
      100% {
            -webkit-transform: translateX(-100%);
                    transform: translateX(-100%);
      }
}
@-webkit-keyframes MoveLeft2 {
      0% {
            -webkit-transform: translateX(0);
                    transform: translateX(0);
      }
      100% {
            -webkit-transform: translateX(-200%);
                    transform: translateX(-200%);
      }
}
@keyframes MoveLeft2 {
      0% {
            -webkit-transform: translateX(0);
                    transform: translateX(0);
      }
      100% {
            -webkit-transform: translateX(-200%);
                    transform: translateX(-200%);
      }
}

@media screen and (max-width: 896px) {
      .bg-slider_txt__letter {
            font-size: clamp(5rem, calc((100vw / 896) * 70), 14rem);
      }
      .top_txt_slider_letter {
            font-size: clamp(5rem, calc((100vw / var(--vw-value-sm)) * 70), 14rem);
      }
}

.interview_detail .heros_area .heros_area__head {
      color: var(--color-main);
      text-align: right;
}
.interview_detail .heros_area .heros_area__head .info_depart {
      font-size: 1.8rem;
      font-weight: 700;
      line-height: 1.5;
}
.interview_detail .heros_area .heros_area__head .info_name {
      font-size: 3.2rem;
      font-weight: 700;
      line-height: 1.5;
}
.interview_detail .heros_area .heros_area__head .g_breadcrumb_lst {
      margin-top: 1.6rem;
      -webkit-box-pack: end;
          -ms-flex-pack: end;
              justify-content: flex-end;
      font-size: 1rem;
      line-height: 1.5;
      font-weight: 500;
}

@media (max-width:896px) {
      .interview_detail .heros_area__head {
            text-align: left;
            margin-top: 4rem;
      }
      .interview_detail .heros_area__head .info_depart {
            font-size: 1.6rem;
      }
      .interview_detail .heros_area__head .info_name {
            font-size: 3.6rem;
            line-height: 1.75;
      }
      .interview_detail .g_breadcrumb_lst {
            -webkit-box-pack: start;
                -ms-flex-pack: start;
                    justify-content: flex-start;
            margin-top: 0.8rem;
      }
      .heros_img_wrap {
            max-width: var(--cont-width);
            width: calc(100% - 2rem * 2);
            margin: auto;
      }
      .interview_detail .heros_area .heros_area__head {
            text-align: left;
      }
      .interview_detail .heros_area .heros_area__head .info_depart {
            font-size: 1.6rem;
      }
      .interview_detail .heros_area .heros_area__head .info_name {
            font-size: 3.6rem;
            line-height: 1.75;
      }
      .interview_detail .heros_area .heros_area__head .g_breadcrumb_lst {
            margin-top: 0.8rem;
            -webkit-box-pack: start;
                -ms-flex-pack: start;
                    justify-content: flex-start;
      }
      .interview_detail .heros_line_cont {
            top: -13.6rem;
            left: -6.1rem;
            width: 137%;
      }
      .heros_area__kv .img_wrap__footer {
            right: 7.589vw;
            bottom: 3.348vw;
            display: block;
            width: 24.441vw;
            height: 13.839vw;
      }
      .heros_area__kv .info_year {
            font-size: clamp(1.4rem, 1.84vw, 2rem);
      }
      .heros_area__kv .info_type {
            font-size: clamp(1.4rem, 3.07vw, 2.4rem);
            line-height: 1;
      }
}


/* 基本レイアウト */
.sec_interview_detail {
      margin-top: 5.6rem;
}
.sec_interview_detail__head {
      background-color: var(--color-main);
      width: 100%;
      padding: 2.4rem 3.2rem;
      border-radius: 2.4rem;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
}
.sec_interview_detail__head .heading_ttl {
      color: var(--color-reverse);
      font-size: 3.2rem;
      font-weight: 700;
      line-height: 1.5;
}
.sec_interview_detail__body {
      margin-top: 11.8rem;
      padding-bottom: 16rem;
}
.interview_wrap_item__inr.has_imgR,
.interview_wrap_item__inr.has_imgL {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: start;
          -ms-flex-align: start;
              align-items: flex-start;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      gap: 12.8rem;
}
.interview_wrap_item__inr.has_imgFull {
      width: 100vw;
      margin: 0 calc(50% - 50vw);
}
.interview_wrap_item__inr.has_imgFull .interview_img {
      width: 100vw;
      max-width: 100%;
}
.interview_wrap_item + .interview_wrap_item {
      margin-top: 17.8rem;
}
.interview_wrap_item + .interview_wrap_item:has(.has_imgFull) {
      margin-top: 11.5rem;
}
.interview_wrap_item:has(.has_imgFull) + .interview_wrap_item {
      margin-top: 12rem;
}
.interview_wrap_item:has(.interview_wrap_item__inr_full) {
      width: 100vw;
      margin-left: calc(-50vw + 50%);
      margin-right: calc(-50vw + 50%);
}
.interview_wrap_item .heading_ttl {
      position: relative;
      color: var(--color-main);
      font-size: 3.6rem;
      font-weight: 500;
      z-index: 0;
}
.interview_wrap_item .heading_ttl::before {
      display: block;
      content: "";
      width: 20.3rem;
      height: 11.6rem;
      position: absolute;
      top: -3.1rem;
      left: -7.4rem;
      background-image: url(../img/interview/sec_ttl_icon.svg);
      background-repeat: no-repeat;
      background-size: cover;
      z-index: -1;
}
.interview_wrap_item .interview_msg {
      position: relative;
      font-size: 1.6rem;
      font-weight: 500;
      z-index: 1;
}
.interview_wrap_item .interview_img_wrap {
      position: relative;
}
.interview_wrap_item .interview_img {
      width: 31.25vw;
      max-width: 46rem;
}
.interview_wrap_item:has(.has_imgL) .interview_img.overlay_img {
      position: relative;
      top: -4.2rem;
      left: 10%;
      width: 18.5rem;
      @media (max-width:1376px) {
            width: 13.444vw;
      }
      @media (max-width:896px) {
            width: clamp(10.4rem, 16.696vw, 18.5rem);
      }
}
.interview_wrap_item:has(.has_imgR) .interview_img.overlay_img {
      position: relative;
      top: -4.2rem;
      left: 48%;
      width: 18.5rem;
      @media (max-width:1376px) {
            width: 13.444vw;
      }
      @media (max-width:896px) {
            width: clamp(10.4rem, 16.696vw, 18.5rem);
            left: 58%;
      }
}
.interview_wrap_item .heading_ttl + .interview_msg,
.interview_wrap_item .interview_msg + .heading_ttl {
      margin-top: 4.8rem;
}
.interview_wrap_item__inr + .interview_wrap_item__inr {
      margin-top: 3.2rem;
}
.interview_question__item {
      color: var(--color-main);
      font-weight: 700;
}
.interview_txt_wrap .interview_question__item + .interview_msg__item {
      margin-top: 1.6rem;
}
.interview_txt_wrap .interview_msg__item + .interview_question__item {
      margin-top: 4.8rem;
}
.interview_img_wrap .interview_img img {
      border-radius: 3.2rem;
}
.interview_wrap_item__inr.has_imgFull img {
      width: 100vw;
      border-radius: 0;
}

@media (max-width:896px) {
      .sec_interview_detail {
            margin-top: 7.2rem;
      }
      .sec_interview_detail__head {
            width: 100vw;
            margin: 0 calc(50% - 50vw);
            border-radius: 0;
            padding: 1.6rem;
      }
      .sec_interview_detail__head .heading_ttl {
            font-size: 2rem;
      }
      .sec_interview_detail__body {
            margin-top: 4rem;
            padding-bottom: 9.6rem;
      }
      .interview_wrap_item + .interview_wrap_item {
            margin-top: 8rem;
      }
      .interview_wrap_item + .interview_wrap_item:has(.has_imgFull) {
            margin-top: 6.4rem;
      }
      .interview_wrap_item:has(.has_imgFull) + .interview_wrap_item {
            margin-top: 6.4rem;
      }
      .interview_wrap_item__inr.has_imgR,
      .interview_wrap_item__inr.has_imgL {
            gap: 7.2rem;
      }
      .interview_wrap_item__inr.has_imgL {
            -webkit-box-orient: vertical;
            -webkit-box-direction: reverse;
                -ms-flex-direction: column-reverse;
                    flex-direction: column-reverse;
      }
      .interview_wrap_item__inr.has_imgR {
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
                -ms-flex-direction: column;
                    flex-direction: column;
      }
      .interview_wrap_item .heading_ttl {
            font-size: 2rem;
      }
      .interview_wrap_item .interview_msg {
            margin-top: 1.6rem;
            font-size: 1.4rem;
            font-weight: 400;
      }
      /* .interview_msg__item + .interview_msg__item {
            margin-top: 1.6rem;
      } */
      .interview_wrap_item .interview_img {
            width: 100%;
      }
      .interview_wrap_item .interview_img_wrap {
            margin: 0 auto;
      }
      .interview_wrap_item .heading_ttl::before {
            width: 8.969rem;
            height: 5.1rem;
            top: -0.9rem;
            left: -1.4rem;
      }
      .interview_wrap_item .heading_ttl + .interview_msg,
      .interview_wrap_item .interview_msg + .heading_ttl {
            margin-top: 2.4rem;
      }
      .interview_wrap_item__inr + .interview_wrap_item__inr {
            margin-top: 4.8rem;
      }
      .interview_txt_wrap .interview_msg__item + .interview_question__item {
            margin-top: 3.2rem;
      }
      .interview_img_wrap .interview_img img {
            border-radius: 1.6rem;
      }
      .interview_wrap_item__inr.has_imgFull img {
            border-radius: 0;
      }
      .interview_wrap_item .interview_img.overlay_img {
            width: 18.5rem;
      }
}
@media (max-width:576px) {
      .interview_wrap_item .interview_img.overlay_img {
            width: 32.118vw;
      }
}


/* 1日のスケジュール */
.schedule_wrap {
      margin-top: 16rem;
      background-color: var(--color-sec-bg);
      border-radius: 5.6rem 0 0 5.6rem;
      padding: 8rem 0 8rem 8rem;
      margin-right: calc(50% - 50vw);
}
.schedule_wrap .heading_cont {
      position: relative;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between;
      -webkit-box-align: end;
          -ms-flex-align: end;
              align-items: flex-end;
}
.schedule_wrap .g_pgHd_ttl {
      font-size: 3.2rem;
      font-weight: 700;
      -webkit-writing-mode: horizontal-tb;
          -ms-writing-mode: lr-tb;
              writing-mode: horizontal-tb;
}
.schedule_wrap .g_pgHd_ttl_en {
      font-size: 1.6rem;
      line-height: 1;
      letter-spacing: 0.32rem;
}
.schedule_wrap .body_cont {
      padding-right: 8rem;
}
.schedule_wrap .schedule_lst {
      margin-top: 5.7rem;
      margin-right: 8rem;
}
.schedule_lst__item {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      position: relative;
      display: flex;
      flex-direction: column;
      -webkit-box-align: start;
          -ms-flex-align: start;
              align-items: flex-start;
      max-width: 26.9rem;
}
.schedule_lst__item::before {
      position: absolute;
      content: "";
      left: 15px;
      top: 31px;
      width: 100%;
      height: 2px;
      background-color: var(--color-main);
}
.schedule_lst__item::after {
      position: absolute;
      content: "";
      left: 15px;
      top: 26px;
      width: 12px;
      height: 12px;
      border-radius: 50%;
      background-color: var(--color-main);
}
.schedule_lst__item:last-child::before {
      content: none;
}
.schedule_lst__item:last-child::after {
      /* content: none; */
}
.schedule_lst__item .info_head {
      width: 100%;
}
.schedule_lst__item .info_time {
      position: relative;
      left: 0;
      font-size: 1.8rem;
      font-weight: 600;
      line-height: 1;
      width: 100%;
      color: var(--color-main);
      font-family: var(--font-en);
}
.schedule_lst__item .info_subject {
      margin-top: 4.4rem;
      font-size: 1.8rem;
      font-weight: 700;
      color: var(--color-main);
}
.schedule_lst__item .info_txt {
      margin-top: 0.8rem;
      font-size: 1.4rem;
}
.schedule_lst__item .info_bottom {
      padding: 0 4rem 0 1.5rem;
}
.schedule_lst__btn {
      position: absolute;
      right: 10.8rem;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: end;
          -ms-flex-pack: end;
              justify-content: flex-end;
      gap: 3.4rem;
      margin-right: -7.2rem;
      @media (max-width:1376px) {
            right: 7.848vw;
      }
      @media (max-width:1119px) {
            right: 0;
      }
}
.schedule_lst__btn .swiper-button-prev,
.schedule_lst__btn .swiper-button-next {
      margin: 0;
}

@media (min-width:897px) {
      .schedule_lst__sp {
            display: none;
      }
}
@media (max-width:896px) {
      .schedule_wrap {
            margin-top: 8rem;
            border-radius: 2.4rem 0 0 2.4rem;
            padding: 4rem 0 4rem 4rem;
      }
      .schedule_wrap .g_pgHd_ttl {
            font-size: 2.4rem;
      }
      .schedule_wrap .g_pgHd_ttl_en {
            font-size: 1.5rem;
            letter-spacing: 0.3rem;
      }
      .schedule_wrap .body_cont {
            padding-right: 4rem;
      }
      .schedule_wrap .schedule_lst {
            margin-top: 3.2rem;
            margin-right: 4rem;
      }
      .schedule_lst__item .info_time {
            font-size: 1.6rem;
      }
      .schedule_lst__item::before {
            top: 27px;
      }
      .schedule_lst__item::after {
            width: 10px;
            height: 10px;
            top: 23px;
      }
      .schedule_lst__item .info_subject {
            margin-top: 3.4rem;
            font-size: 1.6rem;
      }
      .schedule_lst__item .info_txt {
            line-height: 1.5;
      }
      .schedule_lst__btn {
            position: relative;
            margin-top: 3.24rem;
            margin-right: -2.4rem;
            margin-left: auto;
            gap: 3rem;
      }
      .schedule_lst__btn_pc {
            display: none;
      }
}


/* 他のインタビューをみる */
.other-interview_wrap {
      position: relative;
      margin-top: 12rem;
}
.other-interview_wrap::before {
      position: absolute;
      content: "";
      background-image: url(../img/interview/ttl_line.png);
      background-repeat: no-repeat;
      background-size: cover;
      width: 53.2rem;
      height: 44.3rem;
      top: -11.3rem;
      left: -16.2rem;
}
.other-interview_wrap .heading_cont {
      position: relative;
      z-index: 1;
}
.other-interview_wrap .g_pgHd_ttl {
      font-size: 3.2rem;
      font-weight: 700;
      text-align: center;
      -webkit-writing-mode: horizontal-tb;
          -ms-writing-mode: lr-tb;
              writing-mode: horizontal-tb;
}
.other-interview_wrap .g_pgHd_ttl_en {
      font-size: 1.6rem;
      font-weight: 700;
      line-height: 1;
      letter-spacing: 0.32rem;
}
.other-interview_wrap .body_cont {
      margin-top: 5.6rem;
      overflow: hidden;
      padding: 0 4rem 0 0.8rem;
}
.other-interview_wrap .interview_lst {
      -webkit-box-align: start;
          -ms-flex-align: start;
              align-items: flex-start;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between;
      margin-left: 2rem;
}
.other-interview_wrap .interview_lst__item {
      width: 24.4rem;
}
.other-interview_wrap .class_graduated {
      top: 47%;
}
.interview_other-swiper .interview_lst_footer {
      position: relative;
      margin-top: 3.2rem;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
}
.interview_other-swiper .card_employ .lead_msg {
      font-size: 1.8rem;
}
.interview_other-swiper .card_employ .info_depart {
      font-size: 1.3rem;
}
.interview_other-swiper .card_employ .info_name {
      font-size: 1.6rem;
}
.interview_other-swiper .interview_lst_footer .g_btn {
      height: 48px;
      width: 236px;
}
.interview_other-swiper .interview_lst_footer .g_btn a {
      height: 100%;
      width: 100%;
}

@media (max-width:896px) {
      .other-interview_wrap {
            margin-top: 9.6rem;
      }
      .other-interview_wrap::before {
            content: none;
      }
      .other-interview_wrap .body_cont {
            margin-top: 3.2rem;
            padding: 0 2.6rem 0;
      }
      .other-interview_wrap .g_pgHd_ttl {
            font-size: 2.4rem;
            text-align: left;
      }
      .other-interview_wrap .g_pgHd_ttl_en {
            font-size: 1.5rem;
            letter-spacing: 0.3rem;
      }
      .interview_other-swiper .card_employ .lead_msg {
            font-size: clamp(1.6rem, 2.008vw, 1.8rem);
      }
      .other-interview_wrap .interview_lst {
            margin-left: 0.6rem;
      }
}


/* よくあるご質問 - 一覧
------------------------------ */
.sec_qa {
      margin-top: 12rem;
      padding-bottom: 16rem;
}
.qa_cat {
      width: 24.4rem;
      border: 0.2rem solid var(--color-dark-blue);
      border-radius: 0.8rem;
      background-color: var(--color-reverse);
}
.qa_select_cat {
      line-height: 0;
      width: 100%;
}
.qa_select_cat select {
      padding: 1.2rem 3.2rem 1.2rem 1.2rem;
      font-size: 1.4rem;
      font-weight: 700;
      line-height: 1;
      color: var(--color-dark-blue);
      display: block;
      width: 100%;
      height: 100%;
}
.qa_select_cat::after {
      position: absolute;
      content: '';
      pointer-events: none;
}
.qa_select_cat::after {
      position: absolute;
      content: url(../img/common/down-arrow.svg);
      top: 50%;
      transform: translateY(-50%);
      right: 1.2em;
      width: 8px;
      height: 8px;
}
.qa_select_item {
      appearance: none;
      -webkit-appearance: none;
      -moz-appearance: none;
      min-width: 230px;
      height: 2.8em;
      padding: .4em 3.6em .4em .8em;
      border: 2px solid #2589d0;
      border-radius: 3px;
      color: #333333;
      font-size: 1em;
      cursor: pointer;
}
.qa_select_item:focus {
      outline: 1px solid #2589d0;
}
.qa_lst {
      margin-top: 8.8rem;
      display: grid;
      gap: 4.8rem;
      grid-template-columns: repeat(4, 1fr);
      @media (max-width:896px) {
            gap: 3.2rem;
            grid-template-columns: repeat(3, 1fr);
      }
}
.qa_lst_footer {
      margin-top: 8rem;
}
.card_qa {
      position: relative;
      aspect-ratio: 1/1.003;
      max-width: 24.4rem;
      background-image: url(../img/qa/qa-card.svg);
      background-repeat: no-repeat;
      background-size: cover;
      padding: 5.6rem 4.2rem 1.2rem 2.4rem;
      display: flex;
      align-items: center;
      @media (max-width:1120px) {
            padding: 5vw 3.75vw 1.071vw 2.142vw;
      }
}
.card_qa__ttl {
      font-size: 2.2rem;
      font-weight: 700;
      line-height: 3.2rem;
      color: var(--color-main);
      @media (max-width:1120px) {
            font-size: 1.964vw;
      }
      @media (max-width:896px) {
            font-size: 2.455vw;
      }
}
.card_qa__cat {
      position: absolute;
      top: 1.6rem;
      right: 1.6rem;
      font-size: 1rem;
      font-weight: 700;
      text-transform: uppercase;
      white-space: nowrap;
      color: var(--color-main);
}
.card_qa .g_btn.g_btn_circle {
      position: absolute;
      right: 1.2rem;
      bottom: 1.2rem;
      cursor: pointer;
      overflow: visible;
      @media (max-width:1120px) {
            right: 1.071vw;
            bottom: 1.071vw;
      }
}
.qa_lst__item_link {
      display: block;
      width: 100%;
      height: 100%;
}
.qa_lst__item_link:hover .g_btn.g_btn_circle {
      background-color: var(--color-reverse);
      color: var(--color-main);
}
.qa_lst__item_link:hover .g_btn_circle .arrow_img.normal {
      -webkit-transform: translate(-50%, -50%) translateX(100%);
          -ms-transform: translate(-50%, -50%) translateX(100%);
              transform: translate(-50%, -50%) translateX(100%);
      opacity: 0;
}
.qa_lst__item_link:hover .g_btn_circle .arrow_img.hover {
      -webkit-transform: translate(-50%, -50%) translateX(0);
          -ms-transform: translate(-50%, -50%) translateX(0);
              transform: translate(-50%, -50%) translateX(0);
      opacity: 1;
} 

@media (max-width:576px) {
      .sec_qa {
            margin-top: 7.2rem;
            padding-bottom: 9.6rem;
      }
      .qa_lst {
            margin-top: 4.8rem;
            gap: 1.5rem;
            grid-template-columns: repeat(2, 1fr);
      }
      .qa_lst_footer {
            margin-top: 2.4rem;
      }
      .card_qa {
            aspect-ratio: 157 / 172;
            width: 100%;
            height: 100%;
            background-image: url(../img/qa/qa-card_sp.png);
            padding: 7rem 1.6rem 5rem 1.6rem;
      }
      .card_qa__ttl {
            font-size: 3.819vw;
      }
      .card_qa__cat {
            top: 3.2vw;
            left: 14.666vw;
      }
      .card_qa .g_btn.g_btn_circle {
            right: 3.2vw;
            bottom: 3.2vw;
      }
      .g_btn.g_btn_circle {
            width: 8vw;
            height: 8vw;
      }
      .arrow_img {
            width: 3.466vw;
      }
}


/* よくあるご質問 - 詳細
------------------------------ */
.sec_qa_detail {
      margin-top: 12rem;
      padding-bottom: 16rem;
}
.sec_qa_detail .question_cont {
      position: relative;
      background-color: var(--color-main);
      border-radius: 3.2rem;
      color: var(--color-reverse);
      padding: 4.8rem 4rem 5.6rem;
}
.sec_qa_detail .question_cat {
      font-size: 1.6rem;
      font-weight: 700;
      line-height: 1.5;
}
.sec_qa_detail .question_ttl {
      font-size: 3.6rem;
      font-weight: 700;
      line-height: 1.5;
}
.sec_qa_detail .question_ttl_num {
      letter-spacing: 0.64rem;
}
.sec_qa_detail .answer_cont {
      background-color: var(--color-reverse);
      border: 0.4rem solid var(--color-main);
      border-radius: 3.2rem;
      padding: 7.2rem 4rem;
}
.sec_qa_detail .question_cont .icon_question {
      width: 6.5rem;
}
.sec_qa_detail .answer_head + .answer_body {
      margin-top: 3.2rem;
}
.sec_qa_detail .answer_ttl {
      font-size: 2.6rem;
      font-weight: 700;
      line-height: 1.75;
      color: var(--color-main);
}
.sec_qa_detail .answer_body .txt_cont__item + .txt_cont__item {
      margin-top: 7.2rem;
}
.sec_qa_detail .answer_body .answer_img {
      max-width: 54rem;
}
.sec_qa_detail .answer_body .ansewr_head {
      font-size: 2.2rem;
      font-weight: 700;
}
.sec_qa_detail .answer_body .ansewr_txt {
      font-size: 1.6rem;
      font-weight: 500;
      line-height: 2;
}
.sec_qa_detail .answer_body .ansewr_head + .ansewr_txt {
      margin-top: 2.4rem;
}
.sec_qa_detail .answer_body .ansewr_txt + .ansewr_txt {
      margin-top: 1.6rem;
}
.sec_qa_detail .profile_cont {
  max-width: 20rem;
}
.sec_qa_detail .profile_cont .profile_img img {
      border-radius: 1.5rem;
}
.sec_qa_detail .profile_cont .profile_info {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      margin-top: 1.4rem;
      font-size: 1.4rem;
      font-weight: 700;
      background-color: var(--color-yellow);
      color: var(--color-main);
      border-radius: 2.5rem;
      padding: 0.4rem 0.8rem;
      white-space: nowrap;
}
.sec_qa_detail .profile_cont .info_depart {
      margin-top: 1.2rem;
      font-size: 1.3rem;
      font-weight: 500;
      line-height: 1.5;
}
.sec_qa_detail .profile_cont .info_name {
      margin-top: 0.4rem;
      font-size: 1.8rem;
      font-weight: 500;
      line-height: 1.5;
}
.sec_qa_detail .profile_cont .lead_msg {
      margin-top: 1.6rem;
      font-size: 1.3rem;
      font-weight: 500;
      line-height: 1.5;
}
.sec_qa_detail .question_cont_footer {
      margin-top: 5.9rem;
      display: -ms-grid;
      display: grid;
      -ms-grid-columns: (1fr)[3];
      grid-template-columns: repeat(3, 1fr);
      width: 100%;
}
.sec_qa_detail .question_cont_footer .button-prev,
.sec_qa_detail .question_cont_footer .button-next {
      position: relative;
      display: block;
      content: "";
      background-color: var(--color-dark-blue);
      width: 48px;
      height: 48px;
      border-radius: 50%;
      margin: auto 0;
      -webkit-transition: var(--transition);
      -o-transition: var(--transition);
      transition: var(--transition);
}
.sec_qa_detail .question_cont_footer .button-prev {
      left: 0;
}
.sec_qa_detail .question_cont_footer .button-prev::after {
      display: block;
      position: absolute;
      top: 38%;
      -webkit-transform: translateY(-38%);
          -ms-transform: translateY(-38%);
              transform: translateY(-38%);
      right: 50%;
      -webkit-transform: translateX(50%);
          -ms-transform: translateX(50%);
              transform: translateX(50%);
      content: "";
      width: 16px;
      height: 12px;
      -webkit-mask-image: url(../img/common/arrow_back.svg);
              mask-image: url(../img/common/arrow_back.svg);
      -webkit-mask-size: cover;
              mask-size: cover;
      -webkit-mask-repeat: no-repeat;
              mask-repeat: no-repeat;
      background-color: var(--color-reverse);
}
.sec_qa_detail .question_cont_footer .button-next::after {
      display: block;
      position: absolute;
      top: 38%;
      -webkit-transform: translateY(-38%);
          -ms-transform: translateY(-38%);
              transform: translateY(-38%);
      left: 50%;
      -webkit-transform: translateX(-50%);
          -ms-transform: translateX(-50%);
              transform: translateX(-50%);
      content: "";
      width: 16px;
      height: 12px;
      -webkit-mask-image: url(../img/common/arrow.svg);
              mask-image: url(../img/common/arrow.svg);
      -webkit-mask-size: cover;
              mask-size: cover;
      -webkit-mask-repeat: no-repeat;
              mask-repeat: no-repeat;
      background-color: var(--color-reverse);
}
.question_btn a {
      display: block;
      width: 100%;
      height: 100%;
}
.question_btn_ttl {
      -webkit-transition: var(--transition);
      -o-transition: var(--transition);
      transition: var(--transition);
}
.question_btnLeft .button-prev,
.question_btnRight .button-next {
      -ms-flex-negative: 0;
          flex-shrink: 0;
}
.question_cont_footer .g_btn.g_btn_back {
      margin: 0 auto;
      height: -webkit-fit-content;
      height: -moz-fit-content;
      height: fit-content;
}

@media (any-hover:hover) {
      .question_btn a:hover .question_btn_ttl {
            color: var(--color-main);
      }
      .question_btn a:hover .button-prev,
      .question_btn a:hover .button-next {
            background-color: var(--color-main);
      }
}
@media (max-width:896px) {
      .sec_qa_detail {
            margin-top: 9.6rem;
            padding-bottom: 8.8rem;
      }
      .sec_qa_detail .question_cont {
            padding: 1.6rem;
            border-radius: 1.6rem;
      }
      .sec_qa_detail .question_cat {
            font-size: 1.2rem;
            font-weight: 600;
      }
      .sec_qa_detail .question_cont .icon_question img {
            width: clamp(3.1rem, 7.254vw, 6.5rem);
            min-width: 3.1rem;
      }
      .sec_qa_detail .question_ttl {
            font-size: 2rem;
      }
      .sec_qa_detail .question_ttl_num {
            letter-spacing: 0.44rem;
      }
      .sec_qa_detail .answer_cont {
            padding: 3.2rem 2.4rem;
            border: 0.3rem solid var(--color-main);
      }
      .sec_qa_detail .answer_head + .answer_body {
            margin-top: 1.6rem;
      }
      .sec_qa_detail .answer_ttl {
            font-size: 1.8rem;
      }
      .sec_qa_detail .answer_body .ansewr_head {
            font-size: 1.6rem;
      }
      .sec_qa_detail .answer_body .ansewr_txt {
            font-size: 1.4rem;
      }
      .sec_qa_detail .answer_body .txt_cont__item + .txt_cont__item {
            margin-top: 2.4rem;
      }
      .sec_qa_detail .answer_body .ansewr_head + .ansewr_txt {
            margin-top: 1.6rem;
      }
      .sec_qa_detail .profile_cont {
            -webkit-column-gap: 1.6rem;
               -moz-column-gap: 1.6rem;
                    column-gap: 1.6rem;
            row-gap: 2.4rem;
            max-width: 100%;
      }
      .sec_qa_detail .profile_cont .profile_info {
            font-size: 1.3rem;
            margin-top: 0;
            line-height: 1.25;
            padding: 0.4rem 1.6rem;
      }
      .sec_qa_detail .profile_cont .profile_info_detail {
            padding-left: 1.6rem;
      }
      .sec_qa_detail .profile_cont .info_depart {
            font-size: 1.2rem;
            margin-top: 0;
      }
      .sec_qa_detail .profile_cont .info_name {
            font-size: 1.6rem;
      }
      .sec_qa_detail .profile_cont .lead_msg {
            font-weight: 400;
      }
      .sec_qa_detail .profile_cont .info_depart,
      .sec_qa_detail .profile_cont .info_name,
      .sec_qa_detail .profile_cont .lead_msg {
            -ms-flex-item-align: start;
                -ms-grid-row-align: start;
                align-self: start;
      }
      .sec_qa_detail .profile_cont > *:not(.profile_img) {
            -ms-flex-item-align: start;
                -ms-grid-row-align: start;
                align-self: start;
      }
      .sec_qa_detail .question_cont_footer {
            margin-top: 2.4rem;
      }
      .sec_qa_detail .question_cont_footer .button-prev,
      .sec_qa_detail .question_cont_footer .button-next {
            width: 4rem;
            height: 4rem;
      }
      .sec_qa_detail .question_cont_footer .button-prev::after {
            width: 1.3rem;
            height: 1rem;
      }
      .sec_qa_detail .question_cont_footer .button-next::after {
            width: 1.3rem;
            height: 1rem;
      }
}


/* 事業内容
------------------------------ */
.sec_business {
      margin-top: 12rem;
      padding-bottom: 15.2rem;
}

@media (max-width:896px) {
      .sec_business {
            margin-top: 4rem;
            padding-bottom: 9.6rem;
      }
}

/* 事業紹介 */
.job_wrap .head_cont__txt {
      margin-top: 4.8rem;
      font-weight: 500;
      line-height: 2;
      max-width: 49.6rem;
}
.job_wrap .img_cont {
      width: 55.2rem;
}
.job_wrap .body_cont {
      margin-top: 8.271rem;
}
.job_lst .job_lst__item {
      padding: 5.6rem;
      border-radius: 4rem;
      background-color: var(--color-sec-bg);
}
.job_lst .job_lst__item + .job_lst__item {
      margin-top: 3.2rem;
}
.job_ttl {
      font-size: 4.4rem;
}
.job_desc {
      margin-top: 3.2rem;
}
.job_desc__txt {
      line-height: 2;
      width: 50%;
}
.job_desc__img {
      width: 50%;
}
.job_case_ttl {
      padding-left: 2rem;
}
.job_case_ttl::before {
      display: block;
      position: absolute;
      content: "";
      top: 50%;
      -webkit-transform: translateY(-50%);
          -ms-transform: translateY(-50%);
              transform: translateY(-50%);
      left: 0;
      width: 1.6rem;
      height: 0.2rem;
      background-color: var(--color-main);
}
.job_case_img_lst {
      margin-top: 1.2rem;
}
.job_case_img_lst .job_case_img_lst__item {
      border-radius: 1.6rem;
}
.job_case_name {
      margin-top: 0.4rem;
      padding-left: 1.4rem;
}
.job_case_name::before {
      position: absolute;
      content: "";
      top: 0.8rem;
      left: 0;
      display: block;
      width: 0.5rem;
      height: 0.5rem;
      background-color: var(--color-text);
      border-radius: 50%;
}

@media (max-width:896px) {
      .job_wrap .head_cont__txt {
            margin-top: 3.2rem;
            font-weight: 400;
            line-height: 1.75;
            font-size: 14px;
            max-width: 100%;
      }
      .job_wrap .img_cont {
            width: 100%;
      }
      .job_wrap .body_cont {
            margin-top: 4rem;
      }
      .job_lst .job_lst__item {
            padding: 2.4rem;
            border-radius: 1.6rem;
      }
      .job_lst .job_lst__item + .job_lst__item {
            margin-top: 2.4rem;
      }
      .job_ttl {
            font-size: 2.6rem;
      }
      .job_desc__txt {
            font-size: 1.4rem;
            width: 100%;
      }
      .job_desc__img {
            width: 100%;
      }
      .job_desc {
            margin-top: 1.6rem;
      }
      .job_case_img_lst .job_case_img_lst__item {
            border-radius: 0.8rem;
            width: 100%;
      }
      .job_case_name {
            padding-left: 1.2rem;
      }
      .job_case_img_lst__btn .swiper-button-prev,
      .job_case_img_lst__btn .swiper-button-next {
            margin: 0;
      }
      .job_case_img_lst__btn .swiper-pagination {
            width: -webkit-fit-content;
            width: -moz-fit-content;
            width: fit-content;
            position: static;
      }
}

/* 部署紹介 */
.depart_wrap {
      background-color: var(--color-sec-bg);
      border-radius: 5.6rem 5.6rem 0 0;
      padding: 12rem 0;
      margin-top: 12rem;
}
.depart_wrap .department_lst__item {
      position: relative;
      line-height: 1.5;
      background-color: var(--color-reverse);
      padding: 6.4rem 3.2rem 4.8rem;
      border-radius: 2.4rem;
}
.depart_wrap .department_lst__item img {
      max-width: 20.4rem;
}
.depart_wrap .department_lst__item.has_line::after {
      position: absolute;
      top: 0;
      right: -3.2rem;
      content: "";
      height: 100%;
      width: 0.1rem;
      background: var(--color-sub-border);
}
.depart_wrap .elder_lst__item {
      width: 5rem;
      aspect-ratio: 1 / 1;
}
.depart_wrap .elder_lst__item img {
      width: 31.8rem;
}
.department_lst__img img {
      border-radius: 1.6rem;
}

@media (max-width:896px) {
      .depart_wrap {
            border-radius: 4rem 4rem 0 0;
            padding: 8rem 0;
            margin-top: 9.6rem;
      }
      .depart_wrap .department_lst__item {
            padding: 2.4rem 1.6rem;
            border-radius: 1.6rem;
      }
      .depart_wrap .department_lst__item img {
            max-width: 9.6rem;
      }
      .depart_wrap .department_lst__item.has_line::after {
            right: -1.2rem;
      }
}
@media (max-width:576px) {
      .depart_wrap .department_lst__item.has_line::after {
            
      }
}


/* 働く環境 */
.office_wrap {
      background-color: var(--color-sec-bg);
}
.office_wrap_inr {
      background-color: var(--color-bg);
      position: relative;
      border-radius: 5.6rem 5.6rem 0 0;
      padding-top: 12rem;
}
.office_img_cont {
      margin-right: calc(50% - 50vw);
      border-radius: 4rem 0 0 4rem;
}
.office_lst {
      border-radius: 4rem 0 0 4rem;
}
.office_lst .office_lst__item {
      width: 55.6rem;
}
.office_lst .office_lst__img {
      aspect-ratio: 278 / 185;
}
.office_lst__page {
      margin-right: 14rem;
      position: absolute;
      right: 0;
      bottom: -6.2rem;
}
.office_lst__page .swiper-pagination {
      position: static;
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      height: -webkit-fit-content;
      height: -moz-fit-content;
      height: fit-content;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
}
.office_lst__btn {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      gap: 4.2rem;
}

@media (max-width:896px) {
      .office_wrap_inr {
            border-radius: 4rem 4rem 0 0;
            padding-top: 9rem;
      }
      .office_img_cont {
            border-radius: 0;
            width: 100vw;
            margin: 0 calc(50% - 50vw);
            border-radius: 0;
      }
      .office_lst__page {
            right: 0;
            margin-right: 0;
            width: 100%;
      }
      .office_lst__page .swiper-pagination {
            position: absolute;
            left: 50%;
            -webkit-transform: translateX(-50%);
                -ms-transform: translateX(-50%);
                    transform: translateX(-50%);
      }
      .office_lst__btn {
            gap: 9.3rem;
      }
}


/* ENTRY
------------------------------ */
.band-wrap {
      z-index: 999;
      line-height: 1;
}
.band-wrap.top_band {
      position: absolute;
      top: 0;
}
.band-wrap.btm_band {
      position: absolute;
      bottom: 0;
}
.band-text_main span {
      margin-right: 2rem;
      white-space: nowrap;
      display: inline-block;
      font-size: 8rem;
      line-height: 1;
      font-weight: 700;
      color: var(--color-reverse);
      font-family: var(--font-en);
}
.band-text_sub span {
      margin-right: 1rem;
      white-space: nowrap;
      display: inline-block;
      font-size: 1.6rem;
      line-height: 1;
      font-weight: 500;
      color: var(--color-reverse);
      margin-bottom: 0.3rem;
}

/* 流れるアニメーション */
.band-text_main {
      display: inline-block;
      white-space: nowrap;
      will-change: transform;
}
.band-text_sub {
      display: inline-block;
      white-space: nowrap;
      will-change: transform;
}


/* 上段のアニメーション（左へスクロール） */
.band-wrap.top_band .band-text_main {
      -webkit-animation: scrollLeft 200s linear infinite;
              animation: scrollLeft 200s linear infinite;
}
.band-wrap.top_band .band-text_sub {
      -webkit-animation: scrollLeft 170s linear infinite;
              animation: scrollLeft 170s linear infinite;
}


/* 下段のアニメーション（右へスクロール） */
.band-wrap.btm_band .band-text_main {
      -webkit-animation: scrollRight 200s linear infinite;
              animation: scrollRight 200s linear infinite;
}
.band-wrap.btm_band .band-text_sub {
      -webkit-animation: scrollRight 170s linear infinite;
              animation: scrollRight 170s linear infinite;
}

@-webkit-keyframes scrollLeft {
      from {
            -webkit-transform: translateX(0%);
                    transform: translateX(0%);
      }
      to {
            -webkit-transform: translateX(-50%);
                    transform: translateX(-50%);
      }
}

@keyframes scrollLeft {
      from {
            -webkit-transform: translateX(0%);
                    transform: translateX(0%);
      }
      to {
            -webkit-transform: translateX(-50%);
                    transform: translateX(-50%);
      }
}
@-webkit-keyframes scrollRight {
      from {
            -webkit-transform: translateX(-50%);
                    transform: translateX(-50%);
      }
      to {
            -webkit-transform: translateX(0%);
                    transform: translateX(0%);
      }
}
@keyframes scrollRight {
      from {
            -webkit-transform: translateX(-50%);
                    transform: translateX(-50%);
      }
      to {
            -webkit-transform: translateX(0%);
                    transform: translateX(0%);
      }
}

@media (max-width:896px) {
      .band-text_main span {
            margin-right: 1rem;
            font-size: 4rem;
      }
      .band-text_sub span {
            margin-right: 0.5rem;
            font-size: 1.3rem;
      }
      .band-text_main {
            -webkit-animation: scrollLeft 250s linear infinite;
                    animation: scrollLeft 250s linear infinite;
      }
      .band-text_sub {
            -webkit-animation: scrollLeft 260s linear infinite;
                    animation: scrollLeft 260s linear infinite;
      }
}


/* 数字で見る
------------------------------ */
.sec_num {
      margin-top: 12rem;
      padding-bottom: 16rem;
      font-family: var(--font-jp);
}
.num_lead {
      font-weight: 500;
      line-height: 2;
}

/* list */
.num_itm {
      padding: 3.2rem 2.6rem;
      border: 0.3rem solid var(--color-main);
      border-radius: 24px;
      background-color: var(--color-reverse);
}
.num_itm.num_itm__high {
      padding-bottom: 4rem;
}
.num_itm_ttl {
      padding-left: 3.4rem;
      color: var(--color-main);
      font-size: clamp(1.6rem,1.598vw,2.2rem);
      font-weight: 700;
      line-height: 1.2;
}
.num_itm_ttl.u_ic::before {
      position: absolute;
      top: 55%;
      left: 0;
      width: 2.6rem;
      height: 1.6rem;
      background-image: url(../img/numbers/ico_ttl.svg);
      background-repeat: no-repeat;
      background-size: contain;
      -webkit-transform: translateY(-50%);
          -ms-transform: translateY(-50%);
              transform: translateY(-50%);
}
.num_itm_value {
      color: var(--color-main);
      font-size: clamp(6rem,7.267vw,10rem);
      font-weight: 700;
      line-height: 1;
      font-family: var(--font-en);
      white-space: nowrap;
}
.num_itm_value.num_itm_value__navy {
      color: var(--color-dark-navy);
}
.num_itm_unit {
      font-size: 4.6rem;
      font-size: clamp(2.6rem,3.343vw,4.6rem);
}
.num_itm_unit__note {
      position: relative;
}
.num_itm_unit__note.num_unit_note__1::before {
      content: "※1";
      position: absolute;
      top: -0.4rem;
      right: 0;
      font-size: clamp(1.2rem,1.162vw,1.6rem);
}
.num_itm_unit__note.num_unit_note__2::before {
      content: "※2";
      position: absolute;
      top: -0.4rem;
      right: 0;
      font-size: clamp(1.2rem,1.162vw,1.6rem);
}
.num_itm_decimal {
      font-size: 8rem;
      font-size: clamp(4.6rem,5.813vw,8rem);
}
.num_itm_img {
      width: 100%;
      max-width: 14rem;
      height: 100%;
      max-height: 10rem;
}
.num_itm_img__lg {
      width: 100%;
      max-width: 100%;
      max-height: 26rem;
}
.num_itm_img__shampaign {
      width: 100%;
      max-width: 100%;
      max-height: 26rem;
}
.num_graph {
      gap: clamp(2.4rem, 9.447vw,13rem);
}
.num_graph_list {
      width: 100%;
      max-width: 44.3rem;
}
.num_graph_itm_img {
      width: 100%;
      max-width: 6rem;
      aspect-ratio: 1 / 1;
}
.num_graph_itm_field {
      font-size: 2.2rem;
      font-weight: 700;
      line-height: 1;
}
.num_graph_itm_field_narrow.u_ic::after {
      position: absolute;
      top: 50%;
      right: -9.3rem;
      width: 3.6rem;
      height: 0.4rem;
      -webkit-mask-image: url(../img/numbers/ico_dots.svg);
              mask-image: url(../img/numbers/ico_dots.svg);
      -webkit-mask-repeat: no-repeat;
              mask-repeat: no-repeat;
      -webkit-mask-size: contain;
              mask-size: contain;
}
.num_graph_itm_field_wide.u_ic::after {
      position: absolute;
      top: 50%;
      right: -7.3rem;
      width: 3.6rem;
      height: 0.4rem;
      -webkit-mask-image: url(../img/numbers/ico_dots.svg);
              mask-image: url(../img/numbers/ico_dots.svg);
      -webkit-mask-repeat: no-repeat;
              mask-repeat: no-repeat;
      -webkit-mask-size: contain;
              mask-size: contain;
}
.num_graph_itm_field.u_ic.num_graph_itm_field__green::after {
      background-color: var(--color-main);
}
.num_graph_itm_field.u_ic.num_graph_itm_field__blue::after {
      background-color: var(--color-marine-blue);
}
.num_graph_itm_field.u_ic.num_graph_itm_field__aqua::after {
      background-color: var(--color-aqua);
}
.num_graph_itm_field.u_ic.num_graph_itm_field__marine::after {
      background-color: var(--color-aqua-blue);
}
.num_graph_itm_field.u_ic.num_graph_itm_field__grape::after {
      background-color: var(--color-grape);
}
.num_graph_itm_field.u_ic.num_graph_itm_field__gray::after {
      background-color: var(--color-gray);
}
.num_graph_itm_field.u_ic.num_graph_itm_field__orange::after {
      background-color: var(--color-orange);
}
.num_graph_itm_value {
      font-size: 6rem;
      font-weight: 700;
      line-height: 1;
}
.num_graph_itm_value_sm {
      font-size: 5rem;
}
.num_graph_itm_unit {
      font-size: 3.6rem;
}
.num_graph_itm_field__minato {
      padding-right: 2.2rem;
}
.num_graph_itm_field__jimusyo {
      padding-right: 2.2rem;
}
.num_graph_itm_field__hotel {
      padding-right: 2.2rem;
}
.num_graph_itm_field__tenpo {
      padding-right: 4.4rem;
}
@media (max-width: 896px) {
      .sec_num {
            margin-top: 7.2rem;
            padding-bottom: 9.6rem;
      }
      .num_lead {
            font-weight: 400;
            line-height: 1.75;
      }
      .num_itm_ttl {
            padding-left: 2.7rem;
            font-size: 1.6rem;
            line-height: 1;
      }
      .num_itm_ttl.u_ic::before {
            width: 1.9rem;
            height: 1.1rem;
      }
      .num_itm {
            padding: 2.4rem 2.4rem 3.2rem 2.4rem;
      }
      .num_itm.num_itm__high {
            padding-bottom: 3.2rem;
      } 
      .num_itm_value_wid50_md {
            width: 50%;
      }
      .num_itm_value_wid50_md:nth-of-type(2) {
            padding-left: 2.5rem;
      }
      .num_itm_img__lg {
            max-height: unset;
      }
      .num_itm_img__shampaign {
            max-width: 16rem;
      }
      .num_graph {
            gap: 2.4rem;
      }
}
@media (max-width: 576px) {
      .num_itm_img {
            max-width: 9rem;
      }
      .num_itm_value_wid50_md {
            width: 100%;
      } 
      .num_graph_itm_value {
            font-size: 3.8rem;
      }
      .num_graph_itm_value_sm {
            font-size: 3rem;
      }
      .num_graph_itm_unit {
            font-size: 2.6rem;
      }
      .num_itm_img__shampaign {
            max-width: 9rem;
      }
      .num_graph_itm_img {
            max-width: 4rem;
      }
      .num_graph_itm_field {
            font-size: 1.6rem;
      }
      .num_graph_itm_field__minato,
      .num_graph_itm_field__jimusyo,
      .num_graph_itm_field__hotel {
            padding-right: 1.6rem;
      }
      .num_graph_itm_field__tenpo {
            padding-right: 3.2rem;
      }
      .num_graph_itm_field_narrow.u_ic::after {
            right: -6.8rem;
      }
      .num_graph_itm_field_wide.u_ic::after {
            right: -5.3rem;
      }
}


/* 教育・福利厚生
------------------------------ */
.sec_environment {
      position: relative;
      margin-top: 12rem;
      z-index: 2;
      padding-bottom: 12.1rem;
}
.education_msg .msg_item {
      font-weight: 500;
      line-height: 2;
}
.education_img{
      width: 91.7%;
      max-width: 102.8rem;
      margin: auto;
}

@media (max-width:896px){
      .sec_environment {
            margin-top: 7.2rem;
      }
      .education_msg .msg_item {
            font-weight: 400;
            line-height: 1.75;
            font-size: 1.4rem;
      }
      .education_img_itm{
            overflow-x: scroll;
      }
      .education_img_itm::-webkit-scrollbar{
            background: var(--color-light-gray);
            height: 0.4rem;
            border-radius: 0.4rem;
      }
      .education_img_itm::-webkit-scrollbar-thumb{
            background-color: var(--color-dark-blue);
            border-radius: 0.4rem;
      }
      .education_img{
            width: 80rem;
            padding-bottom: 2.4rem;
      }
}

.sec_hierarchical .g_pgHd_ttl,
.sec_occupation .g_pgHd_ttl{
      font-weight: 700;
      font-size: 3.6rem;
      line-height: 1.75;
}
@media (max-width:896px){
      .sec_hierarchical .g_pgHd_ttl,
      .sec_occupation .g_pgHd_ttl{
            font-size: 2.4rem;
            line-height: 1.2;
      }
}
.hierarchical_lst,
.occupation_lst{
      position: relative;
      z-index: 2;
      width: 85.4rem;
}
.hierarchical_lst__itm,
.occupation_lst__itm{
      padding: 4.8rem 0;
}
.hierarchical_lst__itm:first-child,
.occupation_lst__itm:first-child{
      padding-top: 0;
}
.hierarchical_lst__itm:last-child,
.occupation_lst__itm:last-child{
      padding-bottom: 0;
}

@media (max-width:896px){
      .hierarchical_lst,
      .occupation_lst{
            width: 100%;
      }
      .hierarchical_lst__itm,
      .occupation_lst__itm{
            padding: 3.2rem 0;
      }
}

.hierarchical_lst__itm,
.occupation_lst__itm{
      border-bottom: solid 0.2rem var(--color-sub-border);
}
.hierarchical_lst__itm:last-child,
.occupation_lst__itm:last-child{
      border-bottom: none;
}
.hierarchical_itm_img img,
.occupation_itm_img img{
      min-width: 30rem;
      max-width: 30rem;
      border-radius: 1.6rem;
}
.hierarchical_label,
.occupation_label{
      font-size: 1.4rem;
}
.hierarchical_training,
.occupation_training{
      font-size: 2.2rem;
      font-weight: 700;
      margin-top: 1.2rem;
      line-height: normal;
}
.hierarchical_txt{
      font-size: 1.6rem;
      line-height: 1.5;
      font-weight: 400;
      margin-top: 1.6rem;
}

@media (max-width:896px){
      .hierarchical_itm_img img,
      .occupation_itm_img img{
            width: 100%;
            max-width: 100%;
      }
      .hierarchical_training,
      .occupation_training{
            font-size: 1.8rem;
      }
      .hierarchical_label,
      .occupation_label{
            font-size: 1.2rem;
      }
      .hierarchical_training,
      .occupation_training{
            margin-top: 0.8rem;
      }
      .hierarchical_txt{
            font-size: 1.4rem;
      }
}


/* 階層ラベル */
.hierarchical_itm_txt .new_employee,
.hierarchical_itm_txt .young,
.hierarchical_itm_txt .mid_level,
.hierarchical_itm_txt .management,
.occupation_itm_txt .new_employee,
.occupation_itm_txt .young,
.occupation_itm_txt .mid_level{
      position: relative;
      font-weight: 700;
      line-height: 1.2;
      padding-left: 2.8rem;
}
.hierarchical_itm_txt .new_employee,
.occupation_itm_txt .new_employee{
      color: var(--color-light-mint-green);
}
.hierarchical_itm_txt .young,
.occupation_itm_txt .young{
      color: var(--color-emerald-green);
}
.hierarchical_itm_txt .mid_level,
.occupation_itm_txt .mid_level{
      color: var(--color-light-indigo);
}
.hierarchical_itm_txt .management{
      color: var(--color-light-purple);
}
.occupation__new_employee .young{
      margin-left: 1.6rem;
}

/* 階層ラベルアイコン */
.hierarchical_itm_txt .new_employee::before,
.hierarchical_itm_txt .young::before,
.hierarchical_itm_txt .mid_level::before,
.hierarchical_itm_txt .management::before,
.occupation_itm_txt .new_employee::before,
.occupation_itm_txt .young::before,
.occupation_itm_txt .mid_level::before{
      position: absolute;
      content: "";
      top: 0;
      bottom: 0;
      left: 0;
      display: inline-block;
      width: 2.2rem;
      height: 1.3rem;
      margin: auto;
      background-repeat: no-repeat;
}
.hierarchical_itm_txt .new_employee::before,
.occupation_itm_txt .new_employee::before{
      background-image: url(../img/environment/icon_new_employee.png);
      background-repeat: no-repeat;
      background-size: contain;
}
.hierarchical_itm_txt .young::before,
.occupation_itm_txt .young::before{
      background-image: url(../img/environment/icon_young.png);
      background-repeat: no-repeat;
      background-size: contain;
}
.hierarchical_itm_txt .mid_level::before,
.occupation_itm_txt .mid_level::before{
      background-image: url(../img/environment/icon_mid_level.png);
      background-repeat: no-repeat;
      background-size: contain;
}
.hierarchical_itm_txt .management::before{
      background-image: url(../img/environment/icon_management.png);
      background-repeat: no-repeat;
      background-size: contain;
}

/* 研修名 */
.hierarchical__new_employee .hierarchical_training,
.occupation__new_employee .occupation_training{
      color: var(--color-main);
}
.hierarchical__young .hierarchical_training{
      color: var(--color-green02);
}
.hierarchical__mid_level .hierarchical_training,
.occupation__mid_level .occupation_training{
      color: var(--color-indigo);
}
.hierarchical__management .hierarchical_training{
      color: var(--color-purple);
}

.hierarchical__new_employee .young{
      margin-left: 1.6rem;
}
.occupation_department{
      margin-top: 1.6rem;
}
.department_label{
      font-weight: 500;
}

@media (max-width:896px) {
      .occupation_department{
            margin-top: 1.2rem;
      }
}


/* 部署 */
.occupation__new_employee .department_label{
      color: var(--color-main);
}
.occupation__mid_level .department_label{
      color: var(--color-indigo);
}
.occupation__new_employee .department_label,
.occupation__mid_level .department_label{
      position: relative;
      padding-left: 1.6rem;
}
.occupation__new_employee .department_label::before,
.occupation__mid_level .department_label::before{
      content: "";
      position: absolute;
      top: 50%;
      left: 0;
      display: inline-block;
      width: 1.2rem;
      height: 0.1rem;
      border-radius: 0.1rem;
}
.occupation__new_employee .department_label::before{
      background-color:  var(--color-main);
}
.occupation__mid_level .department_label::before{
      background-color:  var(--color-indigo);
}
.department_txt{
      line-height: 1.5;
}

@media (max-width:896px) {
      .occupation__new_employee .department_label,
      .occupation__mid_level .department_label{
            font-size: 1.4rem;
      }
      .department_txt{
            font-size: 1.4rem;
      }
}


/* 福利厚生 */
.sec_benefits{
      background-color: var(--color-sec-bg);
      border-radius: 5.6rem 5.6rem 0 0;
      padding: 12rem 0;
      margin-top: 12rem;
}
.benefits_lst__itm{
      padding: 6.4rem 3.2rem 4.8rem;
      background-color: var(--color-reverse);
      border-radius: 2.4rem;
}
.benefits_lst__itm .benefits_txt{
      line-height: 1.5;
}
.benefits_lst__itm .benefits_itm_txt{
      width: 81.2rem;
}
.benefits_itm_txt .benefits_txt{
      line-height: 2;
}
.benefits_lst__itm .benefits_icon  img{
      max-width: 20.4rem;
}

@media (max-width:896px){
      .sec_benefits{
            border-radius: 4rem 4rem 0 0;
            padding: 8rem 0;
            margin-top: 8rem;
      }
      .benefits_lst__itm .benefits_txt{
            font-size: 1.4rem;
      }
      .benefits_itm_txt .benefits_txt{
            line-height: 1.5;
      }
      .benefits_lst__itm{
            padding: 2.4rem 1.6rem;
            border-radius: 1.6rem;
      }
      .benefits_lst__itm .benefits_icon  img{
            max-width: 9.6rem;
      }
}
.benefits_lst__itm.benefits_lst__service{
      display: -ms-grid;
      display: grid;
      -ms-grid-columns: 20.4rem 4rem 1fr;
      grid-template-columns: 20.4rem 1fr;
      -ms-grid-rows: auto;
      grid-template-rows: auto;
      grid-column-gap: 4rem;
      grid-row-gap: 0px;
      padding: 3.2rem;
}
.benefits_lst__itm.benefits_lst__service > *:nth-child(1){
      -ms-grid-row: 1;
      -ms-grid-column: 1;
}
.benefits_lst__itm.benefits_lst__service > *:nth-child(2){
      -ms-grid-row: 1;
      -ms-grid-column: 3;
}
.benefits_icon { -ms-grid-row: 1; -ms-grid-row-span: 2; -ms-grid-column: 1; -ms-grid-column-span: 1; grid-area: 1 / 1 / 3 / 2; }
.benefits_ttl { -ms-grid-row: 1; -ms-grid-row-span: 1; -ms-grid-column: 2; -ms-grid-column-span: 1; grid-area: 1 / 2 / 2 / 3; }
.benefits_txt { -ms-grid-row: 2; -ms-grid-row-span: 1; -ms-grid-column: 2; -ms-grid-column-span: 1; grid-area: 2 / 2 / 3 / 3; }
@media (max-width:896px) {
      .benefits_lst__itm.benefits_lst__service {
            display: -ms-grid;
            display: grid;
            -ms-grid-columns: 9.6rem 1.6rem 1fr;
            grid-template-columns: 9.6rem 1fr;
            -ms-grid-rows: auto;
            grid-template-rows: auto;
            grid-column-gap: 1.6rem;
            grid-row-gap: 1.6rem;
      }
      .benefits_lst__itm.benefits_lst__service > *:nth-child(1) {
            -ms-grid-row: 1;
            -ms-grid-column: 1;
      }
      .benefits_lst__itm.benefits_lst__service > *:nth-child(2) {
            -ms-grid-row: 1;
            -ms-grid-column: 3;
      }
      .benefits_icon { -ms-grid-row: 1; -ms-grid-row-span: 1; -ms-grid-column: 1; -ms-grid-column-span: 1; grid-area: 1 / 1 / 2 / 2; }
      .benefits_ttl { -ms-grid-row: 1; -ms-grid-row-span: 1; -ms-grid-column: 2; -ms-grid-column-span: 1; grid-area: 1 / 2 / 2 / 3; }
      .benefits_txt { -ms-grid-row: 2; -ms-grid-row-span: 1; -ms-grid-column: 1; -ms-grid-column-span: 2; grid-area: 2 / 1 / 3 / 3; }
}


/* 募集要項
------------------------------ */
.sec_entry {
      margin-top: 12rem;
      padding-bottom: 28rem;
}
.recruit_wrap .lead_txt {
      font-weight: 500;
      line-height: 2;
}
.sec_entry .entry_btn {
      padding: 2.4rem 2.4rem 2.4rem 4.8rem;
      background-color: var(--color-yellow);
      border-radius: 7.45rem;
      -webkit-transition: var(--transition);
      -o-transition: var(--transition);
      transition: var(--transition);
      gap: 6rem;
      @media (max-width:1120px) {
            padding: 2.142vw 2.142vw 2.142vw 4.285vw;
            gap: 5.357vw;
      }
}
.sec_entry .entry_btn a {
      display: block;
      width: 100%;
      height: 100%;
}
.sec_entry .entry_btn__ttl {
      font-size: 5.4rem;
      -webkit-transition: var(--transition);
      -o-transition: var(--transition);
      transition: var(--transition);
      @media (max-width:1120px) {
            font-size: 4.821vw;
      }
}
.sec_entry .entry_btn__logo {
      padding: 3rem 1.6rem;
      background-color: var(--color-reverse);
      border-radius: 7.45rem;
      @media (max-width:1120px) {
            padding: 2.678vw 1.428vw;
      }
}
.sec_entry .entry_btn__logo img {
      aspect-ratio: 8 / 1;
}
.sec_entry .career_wrap .entry_btn {
      padding: 2.4rem;
      background-color: var(--color-yellow);
      border-radius: 7.45rem;
}
.sec_entry .entry_btn_cont .tel_icon {
      width: 8.2rem;
      aspect-ratio: 1/1;
}
.sec_entry .entry_btn_cont .tel_number {
      font-size: 5.4rem;
      -webkit-transition: var(--transition);
      -o-transition: var(--transition);
      transition: var(--transition);
}
.sec_entry .entry_btn .entry_btn_mask {
      position: absolute;
      top: 0;
      left: 0;
      content: "";
      width: 100%;
      height: 100%;
      background-color: rgba(0,0,0,0.8);
      border-radius: 7.45rem;
}
.sec_entry .entry_btn .entry_btn_mask .info_date {
      @media (max-width:1120px) {
            font-size: 1.428vw;
      }
}
.sec_entry .entry_btn .entry_btn_mask .info_state {
      font-size: 4.6rem;
      @media (max-width:1120px) {
            font-size: 4.107vw;
      }
}
.entry_btn_2026__ttl,
.entry_btn_2027__ttl {
      white-space: nowrap;
}

@media (any-hover:hover) {
      .sec_entry .entry_btn_cont a:hover .entry_btn__ttl {
            color: var(--color-bg);
      }
      .sec_entry .entry_btn_cont a:hover .tel_number {
            color: var(--color-bg);
      }
      .sec_entry .entry_btn_cont a:hover .entry_btn {
            background-color: var(--color-main);
      }
}
@media (max-width:896px) {
      .sec_entry {
            margin-top: 7.2rem;
            padding-bottom: 8.8rem;
      }
      .recruit_wrap .lead_txt {
            font-size: 1.4rem;
            font-weight: 400;
            line-height: 1.75;
      }
      .sec_entry .recruit_wrap .entry_btn {
            padding: 1.6rem 6.5rem;
            gap: 1.2rem;
      }
      .sec_entry .entry_btn__ttl {
            font-size: 3.6rem;
      }
      .sec_entry .entry_btn__logo {
            padding: 1.2rem 2.4rem;
      }
      .sec_entry .career_wrap .entry_btn {
            padding: 1.6rem;
      }
      .sec_entry .entry_btn_cont .tel_icon {
            width: 4.6rem;
            aspect-ratio: 1/1;
      }
      .sec_entry .entry_btn_cont .tel_number {
            font-size: 2.8rem;
      }
      .sec_entry .entry_btn .entry_btn_mask .info_date {
            font-size: 1.4rem;
      }
      .sec_entry .entry_btn .entry_btn_mask .info_state {
            font-size: 3.6rem;
      }
}


/* 座談会
------------------------------ */
/* レイアウト */
.btm_page .sec_cross-talk {
      margin-top: 12rem;
}
.btm_page .sec_cross-talk_inr {
      display: block;
}
.sec_cross-talk_body .item_wrap {
      padding-left: calc(218px + 96px);
      margin-top: 8.4rem;
}

@media (max-width:896px) {
      .btm_page .sec_cross-talk {
            margin-top: 7.2rem;
      }
      .sec_cross-talk_body .item_wrap {
            padding-left: 0;
            margin-top: 8.8rem;
      }
}


/* 左ナビ */
.sec_cross-talk_menu {
      position: relative;
      float: left;
      z-index: 999;
      max-width: 216px;
}
.fixedLeft_nav_inr {
      position: sticky;
}
.js_LeftNav {
      height: 100%;
}
.js_LeftNav_inr {
      width: 216px;
}
.fixedLeft_nav__lst .fixedLeft_nav__item {
      color: var(--color-gray);
      font-size: 1.4rem;
      font-weight: 500;
      line-height: 1.5;
}
.fixedLeft_nav__lst .fixedLeft_nav__item.js_current {
      color: var(--color-dark-blue);
}
.fixedLeft_nav__lst .fixedLeft_nav__item + .fixedLeft_nav__item {
      margin-top: 1.2rem;
}
.fixedLeft_nav__ttl.has_ico {
      padding-left: 2.8rem;
}
.fixedLeft_nav__ttl.has_ico::before {
      position: absolute;
      top: 50%;
      -webkit-transform: translateY(-50%);
          -ms-transform: translateY(-50%);
              transform: translateY(-50%);
      content: "";
      -webkit-mask-image: url(../img/common/ico_nav.svg);
              mask-image: url(../img/common/ico_nav.svg);
      -webkit-mask-repeat: no-repeat;
              mask-repeat: no-repeat;
      -webkit-mask-size: cover;
              mask-size: cover;
      background-color: var(--color-gray);
      width: 2rem;
      height: 1.1rem;
}
.fixedLeft_nav__lst .fixedLeft_nav__item.js_current .fixedLeft_nav__ttl.has_ico::before {
      background-color: var(--color-dark-blue);
}


/* サイドナビゲーション */
.g_sideNav__bg {
      position: absolute;
      top: auto;
}
.g_sideNav__bg.js_nav {
      position: fixed;
      top: 128px;
      left: 0;
}
.sec_cross-talk_menu.is-fixed {
      position: fixed;
      top: 76px;
      left: 0;
      width: 216px;
      z-index: 9999;
}
.sec_cross-talk_menu.is-fixedTop {
      position: relative;
      left: 0;
}


/* プロフィール */
.sec_cross-talk .profile_lst__img {
      max-width: 13rem;
      border-radius: 50%;
      height: -webkit-fit-content;
      height: -moz-fit-content;
      height: fit-content;
}
.sec_cross-talk .profile_lst__img_txt {
      white-space: nowrap;
}
.img_bg_green {
      background-color: var(--color-light-mint-green);
}
.img_bg_blue {
      background-color: var(--color-light-indigo);
}
.img_bg_purple {
      background-color: var(--color-light-purple);
}
.img_bg_yellow {
      background-color: var(--color-dusty-yellow);
}

@media (max-width:576px) {
      .sec_cross-talk .profile_lst__img {
            max-width: 9.2rem;
      }
}


/* QA */
.qa_wrap {
      background-color: var(--color-sec-bg);
      border-radius: 5.6rem 5.6rem 0 0;
      width: 100vw;
      margin: 0 calc(50% - 50vw);
      padding-bottom: 12rem;
}
.qa_wrap_item + .qa_wrap_item {
      margin-top: 12rem;
}
.qa_wrap_lst .qa_wrap_lst__item {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: stretch;
          -ms-flex-align: stretch;
              align-items: stretch;
      gap: 3.2rem;
}
.qa_wrap_lst .qa_wrap_lst__item + .qa_wrap_lst__item {
      margin-top: 3.2rem;
}
.qa_wrap_lst .qa_wrap_lst__item + .qa_wrap_lst__item:has(.qa_wrap_inr__img) {
      margin-top: 5.6rem;
}
.qa_wrap_lst .qa_wrap_lst__item:has(.qa_wrap_inr__img) + .qa_wrap_lst__item {
      margin-top: 5.6rem;
}
.qa_wrap_lst__imgWrap {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 clamp(52px, 5.81vw, 80px);
              flex: 0 0 clamp(52px, 5.81vw, 80px);
}
.qa_wrap_lst .qa_wrap_lst__item .qa_wrap_inr__img {
      width: 100%;
}
.qa_wrap_lst__img {
      border-radius: 50%;
      overflow: hidden;
}
.qa_wrap_lst__img + .qa_wrap_lst__name {
      margin-top: 0.6rem;
}
.qa_wrap_lst__txtWrap {
      position: relative;
      width: 100%;
      min-height: 10rem;
      height: -webkit-fit-content;
      height: -moz-fit-content;
      height: fit-content;
      padding: clamp(12px, 1.74vw, 24px);
      border-radius: clamp(8px, 2.18vw, 30px);
      background: var(--color-reverse);
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      z-index: 0;
}
.qa_wrap_lst__txtWrap::before {
      position: absolute;
      top: 2.5rem;
      left: -1.3rem;
      content: "";
      -webkit-mask-image: url(../img/common/left-balloon.svg);
              mask-image: url(../img/common/left-balloon.svg);
      -webkit-mask-repeat: no-repeat;
              mask-repeat: no-repeat;
      -webkit-mask-size: cover;
              mask-size: cover;
      background-color: var(--color-reverse);
      width: 3rem;
      height: 3rem;
      z-index: -1;
}
.full_photo_wrap {
      width: 100vw;
      margin: 0 calc(50% - 50vw);
      overflow: hidden;
      background-color: var(--color-sec-bg);
}

@media (max-width:896px) {
      .qa_wrap {
            margin-top: 8.8rem;
            padding-bottom: 5.6rem;
      }
      .qa_wrap_bg {
            padding-top: 8rem;
            border-radius: 4rem 4rem 0 0;
      }
      .qa_wrap_item + .qa_wrap_item {
            margin-top: 6.4rem;
      }
      .qa_wrap_lst .qa_wrap_lst__item {
            gap: 2.4rem;
      }
      .qa_wrap_lst .qa_wrap_lst__item + .qa_wrap_lst__item {
            margin-top: 1.6rem;
      }
      .qa_wrap_lst__imgWrap {
            -webkit-box-flex: 0;
                -ms-flex: 0 0 clamp(52px, 5.81vw, 80px);
                    flex: 0 0 clamp(52px, 5.81vw, 80px);
            padding: clamp(1px, 1.16vw, 16px) 0;
      }
      .qa_wrap_lst__img + .qa_wrap_lst__name {
            margin-top: 0.6rem;
      }
      .qa_wrap_lst__txtWrap {
            padding: clamp(12px, 1.74vw, 24px);
            border-radius: clamp(8px, 2.18vw, 30px);
            min-height: 7.4rem;
      }
}


/* 404ページ
------------------------------ */
.sec_not-found {
      margin-top: 11.3rem;
      padding-bottom: 20rem;
}

@media (max-width:896px) {
      .sec_not-found {
            margin-top: 8.3rem;
            padding-bottom: 16rem;
      }
}