  /* FRONT MV */
  .mv {
    position: relative;
    width: 100%;
    height: 100vh;
    overflow: hidden;
    color: #ffffff;
    padding: 0;
    z-index: 0;
  }

  .mv .block {
    position: absolute;
    left: 16px;
    bottom: 120px;
    z-index: 100;
  }

  .mv__ttl {
    font-size: 3.8rem;
    line-height: 3.6rem;
    font-weight: 900;
    margin: 8px 0;
  }

  .mv__ttl span {
    font-size: 2.7rem;
    line-height: 3.4rem;
    display: block;
  }

  .mv__subttl {
    font-size: 1.6rem;
    line-height: 1.8rem;
    font-weight: 700;
  }
  .mv_pc {
    display: none;
  }
  .mv_sp {
    display: block;
  }

  @media (min-width: 481px) {
    .mv__ttl {
      font-size: 4.6rem;
      line-height: 4.6rem;
      font-weight: 900;
      margin: 16px 0;
    }

    .mv__ttl span {
      font-size: 3.0rem;
      line-height: 3.0rem;
      display: block;
    }

    .mv__subttl {
      font-size: 1.9rem;
      line-height: 2.4rem;
      font-weight: 700;
    }

    .mv .block {
      position: absolute;
      left: 32px;
      bottom: 32px;
      z-index: 100;
    }
  }

  @media (min-width: 768px) {
    .mv__ttl {
      font-size: 8.6rem;
      line-height: 8.6rem;
      font-weight: 900;
      margin: 16px 0;
    }

    .mv__ttl span {
      font-size: 5.6rem;
      line-height: 5.6rem;
      display: block;
    }

    .mv__subttl {
      font-size: 2.2rem;
      line-height: 3.6rem;
      font-weight: 700;
    }

    .mv .block {
      position: absolute;
      left: 40px;
      bottom: 40px;
      z-index: 100;
    }
    .mv_pc {
      display: block;
    }
    .mv_sp {
      display: none;
    }
  }

  @media (min-width: 1024px) {
    .mv__ttl {
      font-size: 8.6rem;
      line-height: 8.6rem;
      font-weight: 900;
      margin: 16px 0;
    }

    .mv__ttl span {
      font-size: 5.6rem;
      line-height: 5.6rem;
      display: block;
    }

    .mv__subttl {
      font-size: 2.2rem;
      line-height: 3.6rem;
      font-weight: 700;
    }

    .mv .block {
      position: absolute;
      left: 40px;
      bottom: 40px;
      z-index: 100;
    }
  }

  @media (min-width: 1280px) {
    .mv__ttl {
      font-size: 10.6rem;
      line-height: 8.6rem;
      font-weight: 900;
      margin: 16px 0;
    }

    .mv__ttl span {
      font-size: 7.0rem;
      line-height: 7.0rem;
      display: block;
    }

    .mv__subttl {
      font-size: 2.6rem;
      line-height: 4.2rem;
      font-weight: 700;
    }

    .mv .block {
      position: absolute;
      left: 48px;
      bottom: 48px;
      z-index: 100;
    }
  }

  @media (min-width: 1400px) {
    .mv__ttl {
      font-size: 13.6rem;
      line-height: 11.6rem;
      font-weight: 900;
      margin: 16px 0;
    }

    .mv__ttl span {
      font-size: 9.0rem;
      line-height: 8.0rem;
      display: block;
    }

    .mv__subttl {
      font-size: 3.2rem;
      line-height: 5.7rem;
      font-weight: 700;
    }

    .mv .block {
      position: absolute;
      left: 64px;
      bottom: 64px;
      z-index: 100;
    }
  }

  /* ABOUT */
  .about .block {
    display: flex;
    flex-direction: row;
    gap: 24px;
  }

  .about .section__header img {
    display: block;
    width: 70%;
    margin: auto;
  }

  .about .block__txt {
    width: 100%;
  }

  .about .block__txt p {
    margin-bottom: 24px;
  }

  .about .block__txt span {
    font-weight: 700;
    color: #2EA93D;
    font-size: 1.7rem;
  }

  .about .box {
    display: flex;
    flex-direction: row;
    gap: 24px;
    align-items: center;
  }

  .about .box__img {
    max-width: 136px;
  }

  .about .block__img:first-child {
    position: absolute;
  }

  .about__img {
    position: relative;
    width: 40%;
    display: none;
  }

  .about__img img {
    max-width: 280px;
  }

  .about__img img:first-child {
    position: absolute;
    left: 0;
    top: 0;
  }

  .about__img img:last-child {
    position: absolute;
    right: 0;
    bottom: 0;
  }

  @media (min-width: 481px) {}

  @media (min-width: 768px) {
    .about__img {
      display: block;
      position: relative;
      width: 40%;
    }

    .about .section__header img {
      display: block;
      width: 40%;
      margin: auto;
    }

    .about .block__txt {
      width: 60%;
    }
  }

  @media (min-width: 1024px) {}

  @media (min-width: 1280px) {}

  @media (min-width: 1400px) {}

  /* HISTORY */
  .history {
    position: relative;
    display: flex;
    flex-direction: column-reverse;
    gap: 0;
    overflow: hidden;
  }

  .history .block__img {
    width: 100%;
    padding: 16px;
  }
  .history .block__txt {
    width: 100%;
    padding: 16px;
  }

  .history iframe {
    position: relative;
    width: 100%;
    min-height: 320px;
  }
  
  .table__history {
    margin: 40px 0;
  }

  .table__hisotry__line {
    display: flex;
    flex-direction: row;
    gap: 8px;
    align-items: center;
  }

  .history .block__txt p {
    margin-bottom: 24px;
}


  @media (min-width: 481px) {}

  @media (min-width: 768px) {
    .history {
      position: relative;
      display: flex;
      flex-direction: column-reverse;
      gap: 40px;
      padding: 0 32px;
    }

    .history .block__txt {
      padding: 0;
      padding-right: 32px;
    }

  }

  @media (min-width: 1024px) {
    .history {
      position: relative;
      display: flex;
      flex-direction: row;
      gap: 24px;
      padding: 0;
    }
    .history .block__img {
      width: 60%;
    }
    .history .block__txt {
      width: 40%;
    }
    .history iframe {
      width: 100%;
      height: 100%;
      position: relative;
    }
  }

  @media (min-width: 1280px) {
    .history {
      position: relative;
      display: flex;
      flex-direction: row;
      gap: 40px;
      padding: 0;
    }
  }

  @media (min-width: 1400px) {}

  .line__1,
  .line__2,
  .line__3,
  .line__4 {
    width: 20%;
    text-align: center;
  }

  .line__2 {
    color: #4C4C4C;
  }

  .line__4 {
    width: 30%;
    color: #2EA93D;
  }

  .line__number_before {
    font-size: 6.0rem;
    line-height: 6.0rem;
    font-weight: 700;
  }

  .line__number_after {
    font-size: 6.0rem;
    line-height: 6.0rem;
    font-weight: 700;
  }

  @media (min-width: 481px) {}

  @media (min-width: 768px) {

    .line__number_before {
      font-size: 9.0rem;
      line-height: 9.0rem;
      font-weight: 700;
    }

    .line__number_after {
      font-size: 9.0rem;
      line-height: 9.0rem;
      font-weight: 700;
    }
  }

  @media (min-width: 1024px) {}

  @media (min-width: 1280px) {
    
    .line__1,
    .line__2,
    .line__3,
    .line__4 {
      width: 10%;
      min-width: 80px;
      text-align: center;
    }
  }

  @media (min-width: 1400px) {}

  /* GALLERY */


  /* STORY */
  .story .inner {
    max-width: 100%;
  }

  .story .section__header {
    text-align: center;
  }

  .story__item {
    display: flex;
    flex-direction: column;
    gap: 32px;
  }

  .story__item__img {
    width: 100%;
  }

  .story__item__img img {
    object-fit: cover;
    height: 280px;
  }

  .story__item__txt {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 16px 32px;
    flex: 1;
  }

  .story__item__catch {
    font-size: 2.6rem;
    line-height: 3.3rem;
    font-weight: 700;
  }

  .story__item__name {
    font-size: 2.0rem;
    line-height: 3.0rem;
    font-weight: 700;
  }

  .story__item__desc {
    background-color: #F9F9F9;
    font-weight: 500;
    border-radius: 3px;
    padding: 16px;
  }

  .story .swiper-button-next,
  .story .swiper-button-prev {
    color: #2EA93D;
  }

  .story .swiper-pagination-bullet-active {
    background: #2EA93D;
  }

  .story .story__gallery {
    padding-bottom: 40px;
  }
  .story .swiper-button-prev {
    left: 0;
  }
  .story .swiper-button-prev {
    right: 0;
  }
  @media (min-width: 481px) {}

  @media (min-width: 768px) {
    .story__item {
      display: flex;
      flex-direction: row;
      gap: 24px;
    }

    .story__item__img {
      width: 384px;
    }

    .story__item__img img {
      height: auto;
    }

    .story__item__catch {
      font-size: 3.7rem;
      line-height: 5.0rem;
      font-weight: 700;
    }

    .story__item__txt {
      display: flex;
      flex-direction: column;
      gap: 32px;
      padding: 0;
      flex: 1;
    }

    .story__item__name {
      font-size: 2.8rem;
      line-height: 4.0rem;
      font-weight: 700;
    }

    .story__item__desc {
      background-color: #F9F9F9;
      padding: 16px;
      font-weight: 500;
      border-radius: 3px;
    }
  }

  @media (min-width: 1024px) {}

  @media (min-width: 1280px) {
    .story__item {
      display: flex;
      flex-direction: row;
      gap: 64px;
    }
  }

  @media (min-width: 1400px) {}

  /* FEATURE */
  .feature .section__header {
    text-align: center;
  }

  .feature__list {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    gap: 32px 16px;
  }

  .feature__item {
    display: flex;
    flex-direction: row;
    gap: 16px;
    background-color: #F9F9F9;
    width: 100%;
  }
  .feature__item strong {
    font-weight: 700;
  }
  .feature__item__txt {
    display: flex;
    flex: 1;
    flex-direction: column;
  }

  .feature__item__txt p {
    font-size: 1.4rem;
    line-height: 2.2rem;
  }

  .feature__item__ttl {
    color: #2EA93D;
    font-size: 2.2rem;
    line-height: 3.0rem;
    font-weight: 700;
    letter-spacing: 1px;
  }

  .feature__item__header {
    display: flex;
    flex-direction: row;
  }

  .feature__item__body {
  }

  .feature__item__img {
    width: 120px;
  }
  .feature__item__img img {
    object-fit: cover;
    height: auto;
    border-radius: 4px;
  }

  .feature__item__button {
    margin: 8px 0;
    font-size: 1.3rem;
  }

  @media (min-width: 481px) {}

  @media (min-width: 768px) {
    .feature__list {
      display: flex;
      flex-direction: row;
      flex-wrap: wrap;
      gap: 32px 16px;
    }

    .feature__item {
      display: flex;
      flex-direction: column;
      background-color: #F9F9F9;
      width: calc((100% - 16px)/2);
    }

    .feature__item__txt {
      padding: 24px;
      display: flex;
      flex-direction: column;
      gap: 8px;
    }
    .feature__item__img {
      width: 100%;
    }
    .feature__item__img img {
      object-fit: cover;
      height: 220px;
    }
    .feature__item__txt p {
      font-size: 1.6rem;
      line-height: 3.0rem;
    }
    .feature__item__button {
      margin: 16px 0;
      font-size: 1.5rem;
    }
    .feature__item__body p {
      min-height: 100px;
    }
  }

  @media (min-width: 896px) {
    .feature__item {
      display: flex;
      flex-direction: column;
      background-color: #F9F9F9;
      width: calc((100% - 32px)/3);
    }
  }

  @media (min-width: 1024px) {

  }

  @media (min-width: 1280px) {

  }

  @media (min-width: 1400px) {}

  /* MAP */
  .recruit__map {
    position: relative;
  }

  .recruit__area {
    position: relative;
    display: inline-block;
    min-width: 104px;
    padding: 8px;
    text-align: center;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.5;
    border-radius: 8px;
    padding-bottom: 24px;
  }

  .recruit__area span {
    font-size: 1.3rem;
  }

  .recruit__area::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    border-style: solid;
    border-width: 6px 12px 6px 0;
    translate: -100% -50%;
  }


  .recruit__area__header {
    margin-bottom: 16px;
  }

  .recruit__area__body {
    min-height: 40px;
  }

  .recruit__area__list {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    text-align: center;
  }

  .recruit__area__item {
    width: calc(100% / 3);
    margin-bottom: 8px;
    font-weight: 600;
    border-right: 2px solid grey;
    font-size: 1.9rem;
  }

  .recruit__area__item:nth-child(3n+3),
  .recruit__area__item:last-child {
    border-right: none;
  }

  .recruit__area__arrow {
    display: block;
    position: absolute;
    bottom: 16px;
    left: 50%;
    transform: translate(-50%, 50%) rotate(135deg);
    color: #333;
    line-height: 1;
    width: 1em;
    height: 1em;
    border: 0.2em solid currentColor;
    border-left: 0;
    border-bottom: 0;
    box-sizing: border-box;
  }


  @media (min-width: 481px) {}

  @media (min-width: 768px) {
    .recruit__area {
      position: relative;
      display: inline-block;
      width: 200px;
      max-width: none;
      margin-left: 20px;
      padding: 8px;
      text-align: left;
      font-size: 16px;
      font-weight: 400;
      line-height: 1.5;
      border-radius: 8px;
    }

    .recruit__area::before {
      content: "";
      position: absolute;
      top: 50%;
      left: 0;
      border-style: solid;
      border-width: 10px 20px 10px 0;
      translate: -100% -50%;
    }
  }

  @media (min-width: 1024px) {}

  @media (min-width: 1280px) {}

  @media (min-width: 1400px) {}

  /* HOKKAIDO */
  .recruit__area__hokkaido {
    border: 2px solid #85AFD3;
    background-color: #ffffff;
    position: absolute;
    top: 0%;
    left: 37%;
  }

  .recruit__area__hokkaido .recruit__area__header {
    background-color: #85AFD3;
    color: #ffffff;
    text-align: center;
    padding: 4px 0;
    font-weight: 700;
  }

  .recruit__area__hokkaido::before {
    top: 0;
    left: 100%;
    translate: 0% 120%;
    border-width: 6px 0 6px 12px;
    border-color: transparent transparent transparent #85AFD3;
  }

  .recruit__area__hokkaido .recruit__area__arrow {
    color: #85AFD3;
  }

  /* TOHOKU */
  .recruit__area__tohoku {
    border: 2px solid #75BECB;
    background-color: #ffffff;
    position: absolute;
    top: 38%;
    right: 0%;
  }

  .recruit__area__tohoku .recruit__area__header {
    background-color: #75BECB;
    color: #ffffff;
    text-align: center;
    padding: 4px 0;
    font-weight: 700;
  }

  .recruit__area__tohoku::before {
    border-color: transparent #75BECB transparent transparent;
  }

  .recruit__area__tohoku::after {
    border-color: transparent transparent transparent;
  }

  .recruit__area__tohoku .recruit__area__arrow {
    color: #75BECB;
  }

  /* KANTO */
  .recruit__area__kanto {
    border: 2px solid #7AB9AC;
    background-color: #ffffff;
    position: absolute;
    top: 57%;
    right: 0%;
  }

  .recruit__area__kanto .recruit__area__header {
    background-color: #7AB9AC;
    color: #ffffff;
    text-align: center;
    padding: 4px 0;
    font-weight: 700;
  }

  .recruit__area__kanto::before {
    border-color: transparent #7AB9AC transparent transparent;
  }

  .recruit__area__kanto::after {
    border-color: transparent transparent transparent;
  }

  .recruit__area__kanto .recruit__area__arrow {
    color: #7AB9AC;
  }

  /* HOKURIKU-KOSHIETSU */
  .recruit__area__koshinetsu-hokuriku {
    border: 2px solid #9C9AC2;
    background-color: #ffffff;
    position: absolute;
    top: 20%;
    right: 36%;
  }

  .recruit__area__koshinetsu-hokuriku .recruit__area__header {
    background-color: #9C9AC2;
    color: #ffffff;
    text-align: center;
    padding: 4px 0;
    font-weight: 700;
  }

  .recruit__area__koshinetsu-hokuriku::before {
    bottom: 0%;
    left: 50%;
    translate: 0% 100%;
    border-width: 12px 6px 0 6px;
    border-color: #9C9AC2 transparent transparent transparent;
  }

  .recruit__area__koshinetsu-hokuriku .recruit__area__arrow {
    color: #9C9AC2;
  }

  /* TOKAI */
  .recruit__area__tokai {
    border: 2px solid #A4C897;
    background-color: #ffffff;
    position: absolute;
    top: 78%;
    right: 8%;
  }


  .recruit__area__tokai .recruit__area__item {
    width: 47%;
  }

  .recruit__area__tokai .recruit__area__header {
    background-color: #A4C897;
    color: #ffffff;
    text-align: center;
    padding: 4px 0;
    font-weight: 700;
  }

  .recruit__area__tokai::before {
    top: 0;
    left: 4%;
    translate: -30% -100%;
    border-width: 0 6px 12px 6px;
    border-color: transparent transparent #A4C897 transparent;
  }

  .recruit__area__tokai .recruit__area__arrow {
    color: #A4C897;
  }

  /* .recruit__area__tokai::after {
    border-color: transparent transparent transparent;
  } */

  .recruit__area__tokai .recruit__area__item {
    width: calc(100% / 2);
  }

  .recruit__area__tokai .recruit__area__item:nth-child(3n+3) {
    border-right: 2px solid grey;
  }

  .recruit__area__tokai .recruit__area__item:nth-child(2n+2) {
    border-right: none;
  }

  /* KANSAI */
  .recruit__area__kinki {
    border: 2px solid #B0AC84;
    background-color: #ffffff;
    position: absolute;
    top: 83%;
    right: 40%;
  }

  .recruit__area__kinki::before {
    top: 0;
    left: 40%;
    translate: -30% -100%;
    border-width: 0 6px 12px 6px;
    border-color: transparent transparent #B0AC84 transparent;
  }

  .recruit__area__kinki .recruit__area__header {
    background-color: #B0AC84;
    color: #ffffff;
    text-align: center;
    padding: 4px 0;
    font-weight: 700;
  }

  .recruit__area__kinki .recruit__area__arrow {
    color: #B0AC84;
  }

  /* CHUGOKU */
  .recruit__area__chugoku {
    border: 2px solid #D3C285;
    background-color: #ffffff;
    position: absolute;
    top: 47%;
    right: 52%;
  }

  .recruit__area__chugoku .recruit__area__header {
    background-color: #D3C285;
    color: #ffffff;
    text-align: center;
    padding: 4px 0;
    font-weight: 700;
  }


  .recruit__area__chugoku::before {
    bottom: 0%;
    left: 50%;
    translate: 0% 100%;
    border-width: 12px 6px 0 6px;
    border-color: #D3C285 transparent transparent transparent;
  }

  .recruit__area__chugoku .recruit__area__arrow {
    color: #D3C285;
  }


  /* SHIOKU */
  .recruit__area__shikoku {
    border: 2px solid #D3A785;
    background-color: #ffffff;
    position: absolute;
    top: 104%;
    right: 58%;
  }

  .recruit__area__tokai .recruit__area__shikoku {
    width: 47%;
  }

  .recruit__area__shikoku .recruit__area__header {
    background-color: #D3A785;
    color: #ffffff;
    text-align: center;
    padding: 4px 0;
    font-weight: 700;
  }

  .recruit__area__shikoku::before {
    top: 0;
    left: 70%;
    translate: -30% -100%;
    border-width: 0 6px 12px 6px;
    border-color: transparent transparent #D3A785 transparent;
  }

  .recruit__area__shikoku .recruit__area__item {
    width: calc(100% / 2);
  }

  .recruit__area__shikoku .recruit__area__item:nth-child(3n+3) {
    border-right: 2px solid grey;
  }

  .recruit__area__shikoku .recruit__area__item:nth-child(2n+2) {
    border-right: none;
  }

  .recruit__area__shikoku .recruit__area__arrow {
    color: #D3A785;
  }

  /* KYUSHU */
  .recruit__area__kyushu-okinawa {
    border: 2px solid #D9A4B3;
    background-color: #ffffff;
    position: absolute;
    top: 60%;
    right: 72%;
  }

  .recruit__area__kyushu-okinawa .recruit__area__header {
    background-color: #D9A4B3;
    color: #ffffff;
    text-align: center;
    padding: 4px 0;
    font-weight: 700;
  }

  .recruit__area__kyushu-okinawa::before {
    bottom: 0%;
    left: 80%;
    translate: 0% 100%;
    border-width: 12px 6px 0 6px;
    border-color: #D9A4B3 transparent transparent transparent;
  }

  .recruit__area__kyushu-okinawa .recruit__area__arrow {
    color: #D9A4B3;
  }


  @media (min-width: 481px) {}

  @media (min-width: 768px) {
    .recruit__area::before {
      content: "";
      position: absolute;
      top: 50%;
      left: 0;
      border-style: solid;
      border-width: 10px 20px 10px 0;
      translate: -100% -50%;
    }

    .recruit__area__hokkaido {
      border: 2px solid #85AFD3;
      background-color: #ffffff;
      position: absolute;
      top: 6%;
      left: 46%;
    }

    .recruit__area__hokkaido::before {
      top: 0;
      left: 100%;
      translate: 0% 120%;
      border-width: 10px 0 10px 20px;
      border-color: transparent transparent transparent #85AFD3;
    }

    .recruit__area__kanto {
      border: 2px solid #7AB9AC;
      background-color: #ffffff;
      position: absolute;
      top: 27%;
      right: -1%;
      width: 240px;
    }

    .recruit__area__tokai {
      border: 2px solid #A4C897;
      background-color: #ffffff;
      position: absolute;
      top: 78%;
      right: 26%;
      width: 140px;
    }

    .recruit__area__tokai::before {
      top: 0;
      left: 20%;
      translate: -30% -100%;
      border-width: 0 10px 20px 10px;
      border-color: transparent transparent #A4C897 transparent;
    }

    .recruit__area__koshinetsu-hokuriku {
      border: 2px solid #9C9AC2;
      background-color: #ffffff;
      position: absolute;
      top: 36%;
      right: 40%;
    }

    .recruit__area__koshinetsu-hokuriku::before {
      bottom: 0%;
      left: 50%;
      translate: 0% 100%;
      border-width: 20px 10px 0 10px;
      border-color: #9C9AC2 transparent transparent transparent;
    }

    .recruit__area__kinki {
      border: 2px solid #B0AC84;
      background-color: #ffffff;
      position: absolute;
      top: 83%;
      right: 42%;
    }

    .recruit__area__kinki::before {
      top: 0;
      left: 20%;
      translate: -30% -100%;
      border-width: 0 10px 20px 10px;
      border-color: transparent transparent #B0AC84 transparent;
    }

    .recruit__area__shikoku {
      border: 2px solid #D3A785;
      background-color: #ffffff;
      position: absolute;
      top: 94%;
      right: 63%;
      width: 140px;
    }

    .recruit__area__shikoku::before {
      top: 0;
      left: 70%;
      translate: -30% -100%;
      border-width: 0 10px 20px 10px;
      border-color: transparent transparent #D3A785 transparent;
    }

    .recruit__area__chugoku {
      border: 2px solid #D3C285;
      background-color: #ffffff;
      position: absolute;
      top: 51%;
      right: 59%;
    }

    .recruit__area__chugoku::before {
      bottom: 0%;
      left: 50%;
      translate: 0% 100%;
      border-width: 20px 10px 0 10px;
      border-color: #D3C285 transparent transparent transparent;
    }

    .recruit__area__kyushu-okinawa {
      border: 2px solid #D9A4B3;
      background-color: #ffffff;
      position: absolute;
      top: 58%;
      right: 81%;
    }
    .recruit__area__kyushu-okinawa::before {
      bottom: 0%;
      left: 80%;
      translate: 0% 100%;
      border-width: 20px 10px 0 10px;
      border-color: #D9A4B3 transparent transparent transparent;
    }
  }

  @media (min-width: 1024px) {}

  @media (min-width: 1280px) {}

  @media (min-width: 1400px) {}

  .recruit__area__sp {
    padding-top: 40px;
    display: flex;
    flex-direction: column;
    gap: 4px;
  }

  .recruit__area__accordion__header {
    font-size: 1.8rem;
    display: flex;
    flex-direction: row;
    gap: 8px;
    align-items: center;
    transition: background-color 0.3s ease, color 0.3s ease;
    /* 背景色と文字色のスムーズな切り替え */
  }

  .recruit__area__name {
    width: 100%;
    flex: 1;
    color: inherit;
  }

  .recruit__area__accordion__header span {
    width: 40px;
    height: 40px;
    display: block;
    text-align: center;
    line-height: 40px;
    font-weight: 700;
    color: #ffffff;
    border-radius: 3px;
  }

  .recruit__area__accordion__body {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.5s ease;
  }

  .recruit__area__accordion__body.active {
    max-height: none;
  }

  .recruit__area__accordion__icon {
    display: inline-block;
    position: relative;
    width: 2em;
    height: 2em;
    border-radius: 50%;
    box-sizing: border-box;
    transition: transform 0.3s ease, border-color 0.3s ease;
  }

  .recruit__area__accordion__icon:after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0.6em;
    height: 0.6em;
    border: solid white;
    border-width: 0 0.2em 0.2em 0;
    transform: translate(-50%, -50%) rotate(45deg);
    box-sizing: border-box;
  }


  .accordion__hokkaido span {
    background-color: #85AFD3;
  }

  .accordion__hokkaido .recruit__area__accordion__icon {
    background-color: #85AFD3;
  }

  .accordion__tohoku span {
    background-color: #75BECB;
  }

  .accordion__tohoku .recruit__area__accordion__icon {
    background-color: #75BECB;
  }

  .accordion__kanto span {
    background-color: #7AB9AC;
  }

  .accordion__kanto .recruit__area__accordion__icon {
    background-color: #7AB9AC;
  }

  .accordion__koshinetsu-hokuriku span {
    background-color: #9C9AC2;
  }

  .accordion__koshinetsu-hokuriku .recruit__area__accordion__icon {
    background-color: #9C9AC2;
  }

  .accordion__tokai span {
    background-color: #A4C897;
  }

  .accordion__tokai .recruit__area__accordion__icon {
    background-color: #A4C897;
  }

  .accordion__kinki span {
    background-color: #B0AC84;
  }

  .accordion__kinki .recruit__area__accordion__icon {
    background-color: #B0AC84;
  }

  .accordion__chugoku span {
    background-color: #D3C285;
  }

  .accordion__chugoku .recruit__area__accordion__icon {
    background-color: #D3C285;
  }

  .accordion__shikoku span {
    background-color: #D3A785;
  }

  .accordion__shikoku .recruit__area__accordion__icon {
    background-color: #D3A785;
  }

  .accordion__kyushu-okinawa span {
    background-color: #D9A4B3;
  }

  .accordion__kyushu-okinawa .recruit__area__accordion__icon {
    background-color: #D9A4B3;
  }

  .recruit__area__accordion__list {
    background-color: #F7F6F6;
    padding: 16px;
  }
  .recruit__area__accordion__item a {
    text-decoration: underline;
    line-height: 2.8rem;
  }

  /* STEPS */
  .steps .section__header {
    text-align: center;
  }

  .steps__list {
    display: flex;
    flex-direction: column;
    gap: 16px;
  }

  .steps__item {
    display: flex;
    flex-direction: column;
    background-color: #F9F9F9;
    border-radius: 4px;
    border: 2px solid #2EA93D;
    padding: 16px;
    align-items: center;
  }

  .steps__item__img img {
    width: 104px;
    height: 104px;
    border-radius: 104px;
    object-fit: cover;
  }

  .steps__item__txt {
    padding: 16px 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex: 1;
  }

  .steps__item__ttl {
    color: #2EA93D;
    font-size: 2.6rem;
    line-height: 3.2rem;
    font-weight: 700;
    letter-spacing: 2px;
    flex: 1;
  }

  .steps__item__header {
    display: flex;
    flex-direction: column;
    text-align: center;
    gap: 8px;
  }

  .icon_step {
    width: 16px;
    margin: auto;
  }


  @media (min-width: 481px) {}

  @media (min-width: 768px) {
    .steps__item__img {
      width: 208px;
      border-radius: 0;
    }

    .steps__item__img img {
      width: 100%;
      height: auto;
      border-radius: 0;
      object-fit: none;
    }

    .steps__item__txt {
      padding: 24px 32px;
      display: flex;
      flex-direction: column;
      gap: 8px;
      flex: 1;
    }

    .steps__item {
      display: flex;
      flex-direction: row;
      background-color: #F9F9F9;
      border: none;
      padding: 0;
    }

    .steps__item__ttl {
      color: #2EA93D;
      font-size: 2.6rem;
      line-height: 3.0rem;
      font-weight: 700;
      letter-spacing: 3px;
    }

    .steps__item__header {
      display: flex;
      flex-direction: row;
      gap: 8px;
      text-align: left;
    }
  }


  @media (min-width: 1024px) {}

  @media (min-width: 1280px) {}

  @media (min-width: 1400px) {}

  /* FAQ */
  .faq__list {}

  .faq__item {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 8px 0;
    border-bottom: 2px solid #F1F1F1;
  }

  .faq__item:first-child {
    border-top: 2px solid #F1F1F1;
  }

  .faq__item__header {
    display: flex;
    align-items: center;
    gap: 16px;
  }

  .faq__q {
    color: #2EA93D;
    font-weight: 700;
    font-size: 1.9rem;
    line-height: 2.6rem;
    flex: 1;
  }

  .faq__icon__q {
    width: 40px;
    height: 40px;
    border-radius: 4px;
    background-color: #2EA93D;
    color: #ffffff;
    font-size: 3.0rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .faq__item__body {
    display: flex; /* もともとの意図が "flex" なら維持 */
    flex-direction: row;
    align-items: top;
    gap: 16px;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
  }

  .faq__icon__accordion img.open {
    transform: rotate(180deg);
    transition: transform 0.3s ease;
  }
  
  .faq__a {
    flex: 1;
    font-weight: 400;
  }

  .faq__icon__a {
    width: 40px;
    height: 40px;
    border-radius: 4px;
    background-color: #FFA800;
    color: #ffffff;
    font-size: 3.0rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .faq__icon__accordion {
    width: 24px;
  }

  .faq__icon__accordion img {
    transition: transform 0.3s ease;
  }

  .faq__icon__accordion img.open {
    transform: rotate(180deg);
  }

  @media (min-width: 481px) {}

  @media (min-width: 768px) {
    
    .faq__item {
      padding: 24px 0;
    }
    .faq__q {
      color: #2EA93D;
      font-weight: 700;
      font-size: 2.3rem;
      flex: 1;
    }

    .faq__icon__accordion {
      display: none;
    }
    .faq__item__body {
      display: flex!important;
      max-height: 300px;
      gap: 16px;
    }
  }

  @media (min-width: 1024px) {}

  @media (min-width: 1280px) {}

  @media (min-width: 1400px) {}

  /* CONTACT */
  .entryform .table_form__header {
    background-color: #FAFAFA;
    text-align: left;
    padding: 16px;
  }

  .entryform .table_form__header dt {
    font-size: 2.0rem;
    font-weight: 600;
    margin-bottom: 16px;
  }


  @media (min-width: 481px) {}

  @media (min-width: 768px) {
    .entryform .table_form__header {
      background-color: #FAFAFA;
      text-align: left;
      padding: 24px;
    }

    .entryform .table_form__header dt {
      font-size: 2.0rem;
      font-weight: 600;
      margin-bottom: 16px;
    }

  }

  @media (min-width: 1024px) {}

  @media (min-width: 1280px) {}

  @media (min-width: 1400px) {}