@charset "UTF-8";
@media (max-width: 768px) {
  .sp_none {
    display: none;
  }
}

@media (min-width: 769px) {
  .pc_none {
    display: none;
  }
}

@media (max-width: 1300px) {
  .md_none {
    display: none;
  }
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  line-height: 2.18;
  letter-spacing: 0;
  font-weight: 500;
  color: #333;
}
@media (max-width: 768px) {
  body {
    font-size: 14px;
  }
}

:target {
  scroll-margin-top: 60px;
}
@media (max-width: 1300px) {
  :target {
    scroll-margin-top: 60px;
  }
}

a {
  transition: 0.3s;
}

img {
  display: block;
  width: 100%;
}

a[href*="tel:"] {
  pointer-events: none;
  cursor: default;
  text-decoration: none;
}
@media (max-width: 768px) {
  a[href*="tel:"] {
    pointer-events: auto;
    cursor: pointer;
  }
}

@media (max-width: 768px) {
  a.fax[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
  }
}

.inner {
  width: 100%;
  max-width: 1300px;
  padding: 0 25px;
  margin: auto;
}
@media (max-width: 768px) {
  .inner {
    max-width: 600px;
    padding: 0 16px;
  }
}

.top_section_title_left {
  display: flex;
  flex-direction: column;
  gap: 20px;
  text-align: left;
}
@media (max-width: 768px) {
  .top_section_title_left {
    gap: 16px;
  }
}

.top_section_title_en {
  background: linear-gradient(105deg, #00AF70 5.13%, #37DB71 95.7%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-size: clamp(70px, 6vw, 90px);
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.03em;
  font-family: "Red Hat Display", sans-serif;
}
@media (max-width: 768px) {
  .top_section_title_en {
    font-size: clamp(50px, 16vw, 60px);
  }
}

.top_section_title_ja {
  font-size: clamp(20px, 2vw, 30px);
  font-weight: 700;
  line-height: 1.5; /* 150% */
  letter-spacing: 0.1em;
}
@media (max-width: 768px) {
  .top_section_title_ja {
    font-size: clamp(20px, 5.8666666667vw, 22px);
  }
}

.top_section_title_center {
  display: flex;
  flex-direction: column;
  gap: 20px;
  text-align: center;
  width: fit-content;
  margin-inline: auto;
  position: relative;
}
@media (max-width: 768px) {
  .top_section_title_center {
    gap: 16px;
  }
}

.top_section_title_center_en {
  color: #fff;
  font-size: clamp(70px, 6vw, 90px);
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.03em;
  font-family: "Red Hat Display", sans-serif;
}
@media (max-width: 768px) {
  .top_section_title_center_en {
    font-size: clamp(50px, 16vw, 60px);
  }
}

.top_section_title_center_ja {
  font-size: clamp(20px, 2vw, 30px);
  font-weight: 700;
  line-height: 1.5; /* 150% */
  letter-spacing: 0.1em;
  color: #fff;
}
@media (max-width: 768px) {
  .top_section_title_center_ja {
    font-size: clamp(20px, 5.8666666667vw, 22px);
  }
}

.sub_section_title {
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: center;
  width: fit-content;
  margin-inline: auto;
  position: relative;
  padding-top: 60px;
}

.sub_section_title::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 50px;
  height: 50px;
  background: url(../images/sub/deco_sub_section_title.svg) no-repeat center center/contain;
}

.sub_section_title_en {
  background: linear-gradient(105deg, #00AF70 5.13%, #37DB71 95.7%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-size: clamp(18px, 1.3333333333vw, 20px);
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.03em;
  font-family: "Red Hat Display", sans-serif;
}
@media (max-width: 768px) {
  .sub_section_title_en {
    font-size: clamp(14px, 4.2666666667vw, 16px);
  }
}

.sub_section_title_jp {
  text-align: center;
  font-size: clamp(30px, 2.6666666667vw, 40px);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.1em;
}

.sub_section_title_jp span {
  display: inline-block;
}

.button_yellow {
  background-color: #F7EE40;
  border: 1px solid #F7EE40;
  padding: 24px clamp(50px, 4vw, 60px) 24px clamp(30px, 2.6666666667vw, 40px);
  color: #00AF70;
  border-radius: 50px;
  position: relative;
  display: block;
  font-weight: 700;
  line-height: 1;
  width: 100%;
  overflow: hidden;
  transition: all 0.3s;
}
@media (max-width: 768px) {
  .button_yellow {
    padding: 14px 40px 14px 22px;
  }
}

@media (min-width: 769px) {
  .button_yellow:hover {
    background-color: #fff;
  }
}

.button_yellow::before {
  content: "";
  position: absolute;
  width: 26px;
  height: 26px;
  right: 32px;
  top: 50%;
  transform: translateY(-50%);
  background: url(../images/common/icon_arrow_right_circle_white.svg) no-repeat center center/contain;
  transition: all 0.3s;
}
@media (max-width: 768px) {
  .button_yellow::before {
    right: 20px;
    width: 20px;
    height: 20px;
  }
}

@media (min-width: 769px) {
  .button_yellow:hover::before {
    background: url(../images/common/icon_arrow_right_circle_green.svg) no-repeat center center/contain;
  }
}

.button_green {
  font-weight: 700;
  line-height: 1.6;
  padding: 24px clamp(50px, 4vw, 60px) 24px clamp(30px, 2.6666666667vw, 40px);
  z-index: 0;
  color: #fff;
  position: relative;
  width: 100%;
  border-radius: 50px;
  display: block;
  transition: all 0.3s;
}
@media (max-width: 768px) {
  .button_green {
    padding: 14px 40px 14px 22px;
  }
}

.button_green::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 30px;
  transform: translateY(-50%);
  width: 26px;
  height: 26px;
  background: url(../images/common/icon_arrow_right_circle_white.svg) no-repeat center center/contain;
  transition: all 0.3s;
  z-index: 1;
}
@media (max-width: 768px) {
  .button_green::before {
    right: 20px;
    width: 20px;
    height: 20px;
  }
}

.button_green::after {
  content: "";
  background: linear-gradient(105deg, #00AF70 5.13%, #37DB71 95.7%);
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  border-radius: 50px;
  z-index: -1;
  transition: all 0.3s;
}

@media (min-width: 769px) {
  .button_green:hover {
    background: #37DB71;
  }
}

@media (min-width: 769px) {
  .button_green:hover::after {
    opacity: 0;
  }
}

.button_green_card {
  font-weight: 700;
  line-height: 1.6;
  padding: 24px clamp(50px, 4vw, 60px) 24px clamp(30px, 2.6666666667vw, 40px);
  z-index: 0;
  color: #fff;
  position: relative;
  width: 100%;
  border-radius: 50px;
  display: block;
  transition: all 0.3s;
}
@media (max-width: 768px) {
  .button_green_card {
    padding: 14px 40px 14px 22px;
  }
}

.button_green_card::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 30px;
  transform: translateY(-50%);
  width: 26px;
  height: 26px;
  background: url(../images/common/icon_arrow_right_circle_white.svg) no-repeat center center/contain;
  transition: all 0.3s;
  z-index: 1;
}
@media (max-width: 768px) {
  .button_green_card::before {
    right: 20px;
    width: 20px;
    height: 20px;
  }
}

.button_green_card::after {
  content: "";
  background: linear-gradient(105deg, #00AF70 5.13%, #37DB71 95.7%);
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  border-radius: 50px;
  z-index: -1;
  transition: all 0.3s;
}

@media (min-width: 769px) {
  a:hover .button_green_card {
    background: #37DB71;
  }
}

@media (min-width: 769px) {
  a:hover .button_green_card::after {
    opacity: 0;
  }
}

.body.is_open {
  overflow: hidden;
}

.text_orange {
  color: #7FF232;
  font-weight: 700;
}

/* Header
------------------------------ */
.header {
  position: fixed;
  width: 100%;
  top: 0;
  left: 0;
  z-index: 100;
  height: 150px;
  background-color: transparent;
}
@media (max-width: 999px) {
  .header {
    height: 100px;
    background-color: #fff;
  }
}
@media (max-width: 768px) {
  .header {
    height: 60px;
  }
}

.header_fixed {
  box-shadow: 0px 1px 3px rgba(51, 51, 51, 0.5);
  transition: 0.3s;
}

.header.header_fixed {
  background-color: #fff;
  height: 80px;
}
@media (max-width: 999px) {
  .header.header_fixed {
    height: 100px;
  }
}
@media (max-width: 768px) {
  .header.header_fixed {
    height: 60px;
  }
}

.header_inner.inner {
  height: inherit;
}

.header_content {
  height: inherit;
}
.header_top {
  height: inherit;
  display: flex;
  align-items: center;
  gap: 2px;
  justify-content: space-between;
}
@media (max-width: 768px) {
  .header_top {
    padding-top: 0;
    padding-bottom: 0;
    height: 100%;
  }
}

header.header_fixed .header_top {
  border: none;
  height: 100%;
}
@media (max-width: 999px) {
  header.header_fixed .header_top {
    padding: 0;
    height: 100%;
    align-items: center;
  }
}

.header_unit {
  height: inherit;
  padding-right: clamp(20px, 4vw, 60px);
  width: fit-content;
  border-radius: 0 0 50px 0;
  background-color: #fff;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  position: relative;
}
@media (max-width: 768px) {
  .header_unit {
    max-width: clamp(150px, 74.6666666667vw, 280px);
    padding-top: 0;
  }
}

.header_unit::before {
  content: "";
  position: absolute;
  width: 201px;
  height: 100%;
  left: -200px;
  border-radius: 0 0 0 50px;
  background-color: #fff;
}

.header_logo {
  width: 100%;
  max-width: clamp(240px, 32.3333333333vw, 485px);
  transition: 0.3s;
  padding-left: 1px;
}

.header.header_fixed .header_logo {
  max-width: 200px;
}

.header.header_fixed .header_logo_link {
  display: none;
}

.header_logo_link_fixed {
  display: none;
}

.header.header_fixed .header_logo_link_fixed {
  display: block;
}

@media (min-width: 769px) {
  .header.header_fixed .header_logo_link_fixed:hover {
    opacity: 0.7;
  }
}

.header_menu {
  display: flex;
  flex-direction: column;
  gap: clamp(10px, 1.6666666667vw, 25px);
  align-items: flex-end;
  flex-grow: 1;
  width: 100%;
  max-width: 100%;
  height: inherit;
}
@media (max-width: 999px) {
  .header_menu {
    display: none;
  }
}

.header_buttons {
  display: grid;
  grid-template-columns: 1fr 1fr;
  width: 100%;
  max-width: 500px;
  gap: clamp(10px, 1.3333333333vw, 20px);
}

.header.header_fixed .header_buttons {
  display: none;
}

.header_button {
  width: 100%;
  max-width: 240px;
  height: auto;
}

.button_header {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 100%;
  border-radius: 0 0 20px 20px;
  padding: 20px clamp(36px, 3.0666666667vw, 46px) 18px clamp(16px, 1.6vw, 24px);
  background-color: #7FF232;
  height: 100%;
}

@media (min-width: 769px) {
  .button_header:hover {
    background-color: #00AF70;
  }
}

.button_header::before {
  content: "";
  position: absolute;
  width: 26px;
  height: 26px;
  right: clamp(10px, 1.3333333333vw, 20px);
  top: 50%;
  transform: translateY(-50%);
  background: url(../images/common/icon_arrow_right_circle_white.svg) no-repeat center center/contain;
  transition: all 0.3s;
}

.button_header_en {
  color: #00AF70;
  font-family: "Red $font-family-red-hat Display";
  font-size: clamp(14px, 1.0666666667vw, 16px);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.03em;
}

@media (min-width: 769px) {
  .button_header:hover .button_header_en {
    color: #37db71;
  }
}

.button_header_ja {
  font-size: clamp(18px, 1.6vw, 24px);
  font-weight: 700;
  line-height: 1.6;
}

@media (min-width: 769px) {
  .button_header:hover .button_header_ja {
    color: #fff;
  }
}

.header_button_corporate .button_header {
  background-color: #00AF70;
}

@media (min-width: 769px) {
  .header_button_corporate .button_header:hover {
    background-color: #7FF232;
  }
}

.header_button_corporate .button_header_en {
  color: #37db71;
}

.header_button_corporate .button_header:hover .button_header_en {
  color: #00AF70;
}

.header_button_corporate .button_header_ja {
  color: #fff;
  font-size: clamp(14px, 1.2vw, 18px);
}

@media (min-width: 769px) {
  .header_button_corporate .button_header:hover .button_header_ja {
    color: #333;
  }
}

@media (min-width: 769px) {
  .button_header_mail:hover {
    background-color: #fff;
    color: #7FF232;
  }
}

.button_header_mail::before {
  content: "";
  position: absolute;
  width: 20px;
  height: 14px;
  left: 50%;
  top: 12px;
  transform: translateX(-50%);
  background: url(../images/common/icon_mail_white.svg) no-repeat center center/contain;
  transition: all 0.3s;
}

@media (min-width: 769px) {
  .button_header_mail:hover::before {
    background: url(../images/common/icon_mail_light-blue.svg) no-repeat center center/contain;
  }
}

.header_nav {
  width: 100%;
  max-width: 630px;
  height: 100%;
  margin-left: auto;
  display: flex;
  align-items: flex-end;
}
@media (max-width: 768px) {
  .header_nav {
    display: none;
  }
}

.header.header_fixed .header_nav {
  align-items: center;
}

.header_lists {
  width: 100%;
  display: flex;
  justify-content: right;
  height: auto;
  padding-bottom: 8px;
}

.header.header_fixed .header_lists {
  padding-bottom: 0;
}

.header_list {
  position: relative;
  transition: all 0.3s;
}

.header.header_fixed .header_list {
  display: flex;
  align-items: center;
  justify-content: center;
}

.header.header_fixed .header_list:first-child {
  display: none;
}

.header_list.header_list_button {
  display: none;
}

.header.header_fixed .header_list.header_list_button {
  display: block;
}

.header_list:nth-of-type(n + 2) {
  margin-left: clamp(10px, 1.6666666667vw, 25px);
}

.header_list_link.header_list_link_button {
  position: relative;
  width: 100%;
  border-radius: 10px;
  padding: 18px 30px 18px 12px;
  background-color: #7FF232;
  height: 100%;
  width: 150px;
  text-align: left;
}

.header_list_link.header_list_link_button::before {
  content: "";
  position: absolute;
  width: 20px;
  height: 20px;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  background: url(../images/common/icon_arrow_right_circle_white.svg) no-repeat center center/contain;
  transition: all 0.3s;
}

.header_list_link {
  display: block;
  text-align: center;
  white-space: nowrap;
  padding: 5px 0;
  line-height: 1;
  color: #fff;
  font-size: clamp(14px, 1.0666666667vw, 16px);
}

.header.header_fixed .header_list_link {
  color: #333;
}

.header_list:nth-of-type(n + 2) {
  margin-left: clamp(10px, 1.6666666667vw, 25px);
}

@media (min-width: 769px) {
  .header_list_link:hover {
    color: #333;
  }
}

@media (min-width: 769px) {
  .header.header_fixed .header_list_link:hover {
    color: #00AF70;
  }
}

@media (min-width: 769px) {
  .header.header_fixed .header_list_link.header_list_link_button:hover {
    background-color: #00AF70;
    color: #fff;
  }
}

.header_list_dropdown {
  position: absolute;
  bottom: 0;
  left: 50%;
  box-shadow: 0px 3px 8px -2px #C2C2C2;
  transition: all 0.3s;
  transform: translate(-50%, 100%);
  pointer-events: none;
  visibility: hidden;
  opacity: 0;
  width: fit-content;
  display: block;
}

@media (min-width: 769px) {
  .header_list:hover .header_list_dropdown,
  .header_list:focus-within .header_list_dropdown {
    pointer-events: auto;
    visibility: visible;
    opacity: 1;
  }
}

.header_list_dropdown_list {
  display: flex;
  flex-direction: column;
  background-color: #fff;
  width: fit-content;
}

.header_list_dropdown_list_item + .header_list_dropdown_list_item {
  border-top: 1px solid #C2C2C2;
}

.header_list_dropdown_list_item_link {
  padding: 10px 20px;
  width: 100%;
  transition: color 0.3s;
  text-wrap: nowrap;
  display: block;
  line-height: 1.6;
  text-align: center;
}

@media (min-width: 769px) {
  .header_list_dropdown_list_item_link:hover,
  .header_list_dropdown_list_item_link:focus {
    background-color: #37DB71;
    color: #fff;
  }
}

.header_hamburger {
  display: none;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 999;
  width: 100px;
  height: 100px;
  background-color: #00AF70;
  cursor: pointer;
  transition: 0.3s;
  text-align: center;
}
@media (max-width: 999px) {
  .header_hamburger {
    display: block;
  }
}
@media (max-width: 768px) {
  .header_hamburger {
    width: 60px;
    height: 60px;
    color: #fff;
  }
}

.header_hamburger.is_open {
  background-color: transparent;
}

.header_hamburger_bar {
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  display: block;
  width: 50px;
  height: 3px;
  background-color: #fff;
  transition: 0.5s;
}
@media (max-width: 768px) {
  .header_hamburger_bar {
    width: 25px;
    height: 2px;
  }
}

.header_hamburger_bar:nth-of-type(1) {
  top: -24px;
}
@media (max-width: 768px) {
  .header_hamburger_bar:nth-of-type(1) {
    top: -12px;
  }
}

.header_hamburger_bar:nth-of-type(2) {
  top: -10px;
}
@media (max-width: 768px) {
  .header_hamburger_bar:nth-of-type(2) {
    top: -5px;
  }
}

.header_hamburger_bar:nth-of-type(3) {
  top: 4px;
}
@media (max-width: 768px) {
  .header_hamburger_bar:nth-of-type(3) {
    top: 3px;
  }
}

.header_hamburger.is_open .header_hamburger_bar:nth-of-type(1) {
  top: -5px;
  transform: translateX(-50%) rotate(45deg);
}

.header_hamburger.is_open .header_hamburger_bar:nth-of-type(2) {
  opacity: 0;
}

.header_hamburger.is_open .header_hamburger_bar:nth-of-type(3) {
  top: -9px;
  transform: translateX(-50%) rotate(-45deg);
}

.header_hamburger_title {
  position: absolute;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: #fff;
  width: 100%;
  left: 50%;
  bottom: 10px;
  transform: translateX(-50%);
}
@media (max-width: 768px) {
  .header_hamburger_title {
    font-size: 12px;
    letter-spacing: 0;
    bottom: 2px;
  }
}

.header_drawer {
  padding: 70px 0;
  display: none;
  position: absolute;
  z-index: 900;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background-color: #00AF70;
  overflow-y: scroll;
  scrollbar-width: none;
}

.header_drawer::-webkit-scrollbar {
  display: none;
}

.header_drawer_nav {
  padding: 0 5%;
  height: 100%;
  overflow-y: scroll;
}

.header_drawer_list {
  border-bottom: 1px solid #fff;
}

.header_drawer_list_link,
.header_drawer_list_button {
  padding: 15px 0;
  display: flex;
  align-items: center;
  gap: 0 15px;
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
  color: #fff;
}
@media (max-width: 768px) {
  .header_drawer_list_link,
  .header_drawer_list_button {
    font-size: 15px;
  }
}

.header_drawer_list_button {
  padding: 15px 0;
  display: flex;
  align-items: center;
  gap: 0 15px;
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
  color: #fff;
  width: 100%;
  position: relative;
}
@media (max-width: 768px) {
  .header_drawer_list_button {
    font-size: 15px;
  }
}

.header_drawer_list_button:before {
  content: "";
  position: absolute;
  width: 20px;
  height: 20px;
  right: 0;
  top: 50%;
  transform: translateY(-50%) rotate(90deg);
  background: url(../images/common/icon_arrow_right_white.svg) no-repeat center center/contain;
  transition: all 0.3s;
}

.is_open_hamburger .header_drawer_list_button:before {
  transform: translateY(-50%) rotate(-90deg);
}

.header_drawer_list_menu a {
  display: inline-block;
  font-size: 16px;
  font-weight: 700;
  padding: 5px 10px;
}
@media (max-width: 768px) {
  .header_drawer_list_menu a {
    font-size: 14px;
  }
}

.header_drawer_list_dropdown {
  padding-left: 24px;
  max-height: 0;
  margin-bottom: 0;
  overflow: hidden;
  opacity: 0;
  transition: max-height 0.4s ease-out, opacity 0.4s, margin-bottom 0.4s;
}

.is_open_hamburger .header_drawer_list_dropdown {
  max-height: 200px;
  opacity: 1;
  margin-bottom: 18px;
}

.header_drawer_list_dropdown_list {
  display: flex;
  flex-direction: column;
  gap: 13px;
}

.header_drawer_list_dropdown_list_item_link {
  display: block;
  padding: 0 12px;
  color: #fff;
  line-height: 1.6;
}

/* top - top_mv
------------------------------ */
.top_mv {
  background: #F6F4F1;
}

.top_mv .inner {
  height: 100%;
}

.top_mv_inner {
  height: 100%;
  position: relative;
}

.top_mv_content {
  height: clamp(780px, 56.6666666667vw, 850px);
  position: relative;
  background: url(../images/top/top_mv_bg.jpg) no-repeat center center/cover;
  border-radius: 0 0 0 80px;
  margin-right: calc(50% - 50vw);
  padding-right: calc(50vw - 50%);
  padding-top: 315px;
}
@media (max-width: 768px) {
  .top_mv_content {
    background: url(../images/top/top_mv_bg_sp.jpg) no-repeat center center/cover;
    padding-top: 120px;
    padding-bottom: 94px;
    height: auto;
    border-radius: 0 0 0 20px;
  }
}

.top_mv_content::before {
  content: "";
  position: absolute;
  width: 100%;
  max-width: clamp(500px, 52.6666666667vw, 790px);
  height: clamp(500px, 52.6666666667vw, 790px);
  top: 180px;
  right: 0;
  background: url(../images/top/top_mv_image.png) no-repeat center center/contain;
  z-index: 0;
}
@media (min-width: 1800px) {
  .top_mv_content::before {
    right: auto;
    left: 650px;
    background: url(../images/top/top_mv_image_ul.png) no-repeat center center/contain;
  }
}
@media (max-width: 768px) {
  .top_mv_content::before {
    width: clamp(160px, 26.0416666667vw, 200px);
    height: clamp(160px, 26.0416666667vw, 200px);
    top: 74px;
    right: clamp(20px, 7.8125vw, 60px);
    background: url(../images/top/top_mv_image_sp01.png) no-repeat center center/contain;
  }
}

.top_mv_content::after {
  content: "";
  display: none;
  position: absolute;
  bottom: -26px;
  width: clamp(233px, 39.0625vw, 300px);
  height: clamp(233px, 39.0625vw, 300px);
  right: clamp(40px, 10.4166666667vw, 80px);
  background: url(../images/top/top_mv_image_sp02.png) no-repeat center center/contain;
  z-index: 0;
}
@media (max-width: 768px) {
  .top_mv_content::after {
    display: block;
  }
}

.top_mv_content_texts {
  width: 100%;
  max-width: clamp(650px, 56vw, 840px);
  z-index: 1;
  position: relative;
}

.top_mv_content_title {
  font-size: clamp(30px, 2.6666666667vw, 40px);
  font-weight: 700;
  line-height: 1.85;
  letter-spacing: 0.04em;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
@media (max-width: 768px) {
  .top_mv_content_title {
    font-size: clamp(16px, 5.3333333333vw, 20px);
  }
}

.top_mv_content_title span {
  display: block;
  background: #fff;
  padding-left: clamp(30px, 3.7333333333vw, 56px);
  padding-right: clamp(20px, 2vw, 30px);
  width: fit-content;
  border-radius: 0 10px 10px 0;
}
@media (max-width: 768px) {
  .top_mv_content_title span {
    padding-left: 6px;
    padding-right: 10px;
  }
}

.top_mv_content_text {
  color: #fff;
  margin-top: 28px;
  margin-left: clamp(30px, 4vw, 60px);
  font-size: clamp(18px, 1.3333333333vw, 20px);
}
@media (max-width: 768px) {
  .top_mv_content_text {
    font-size: clamp(14px, 4.2666666667vw, 16px);
    padding-top: 8px;
  }
}

.top_mv_content_button {
  margin-left: clamp(30px, 4vw, 60px);
  margin-top: 36px;
  width: 100%;
  max-width: 280px;
}
@media (max-width: 768px) {
  .top_mv_content_button {
    margin-top: 24px;
    max-width: clamp(160px, 31.25vw, 240px);
  }
}

/* top - top_message
------------------------------ */
.top_message {
  padding-top: 120px;
  background-color: #F6F4F1;
}
@media (max-width: 768px) {
  .top_message {
    padding-top: 50px;
  }
}

.top_message_content {
  position: relative;
}

.top_message_content::before {
  content: "";
  position: absolute;
  width: clamp(280px, 28.6666666667vw, 430px);
  height: clamp(280px, 28.6666666667vw, 430px);
  top: 20%;
  left: -10px;
  background: url(../images/top/top_message_deco_circle01.svg) no-repeat center center/contain;
}
@media (max-width: 768px) {
  .top_message_content::before {
    opacity: 0.5;
    width: 200px;
    height: 200px;
  }
}

.top_message_content::after {
  content: "";
  position: absolute;
  width: clamp(200px, 20.8vw, 312px);
  height: clamp(200px, 20.8vw, 312px);
  top: 50%;
  right: 0;
  background: url(../images/top/top_message_deco_circle02.svg) no-repeat center center/contain;
}
@media (max-width: 768px) {
  .top_message_content::after {
    opacity: 0.5;
    top: auto;
    bottom: 0;
    width: 160px;
    height: 160px;
  }
}

.top_message_title {
  display: flex;
  flex-direction: column;
  width: fit-content;
  margin-inline: auto;
  gap: clamp(20px, 1.8666666667vw, 28px);
  position: relative;
}
@media (max-width: 768px) {
  .top_message_title {
    gap: 16px;
  }
}

.top_message_title_en {
  background: linear-gradient(105deg, #00AF70 5.13%, #37DB71 95.7%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-size: clamp(70px, 6vw, 90px);
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0.03em;
  font-family: "Red Hat Display", sans-serif;
  text-align: center;
}
@media (max-width: 768px) {
  .top_message_title_en {
    font-size: clamp(50px, 16vw, 60px);
  }
}

.top_message_title_ja {
  text-align: center;
  font-size: clamp(30px, 2.6666666667vw, 40px);
  font-weight: 700;
  line-height: 1.5; /* 150% */
  letter-spacing: 0.1em;
}
@media (max-width: 768px) {
  .top_message_title_ja {
    font-size: clamp(20px, 5.8666666667vw, 22px);
  }
}

.top_message_title_ja span {
  display: inline-block;
}

.top_message_texts {
  margin-top: 55px;
  text-align: center;
  position: relative;
  z-index: 2;
}
@media (max-width: 768px) {
  .top_message_texts {
    width: 100%;
    max-width: 530px;
    margin-inline: auto;
    text-align: left;
  }
}

.top_message_text {
  font-size: clamp(16px, 1.2vw, 18px);
  line-height: 2.2;
  font-weight: 700;
}

.top_message_text + .top_message_text {
  margin-top: 14px;
}

.top_message_cta {
  margin-top: 120px;
}
@media (max-width: 768px) {
  .top_message_cta {
    margin-top: 60px;
  }
}

/* top - top_about
------------------------------ */
.top_about {
  background-color: #F6F4F1;
  overflow-x: hidden;
}

.inner.top_about_inner {
  position: relative;
  padding-top: 120px;
  padding-bottom: 120px;
}
@media (max-width: 768px) {
  .inner.top_about_inner {
    padding-top: 50px;
    padding-bottom: 40px;
  }
}

.top_about_deco_top {
  position: absolute;
  width: clamp(600px, 52.5333333333vw, 788px);
  right: clamp(0px, -0.6666666667vw, -10px);
  top: 50px;
  z-index: 1;
}
@media (max-width: 768px) {
  .top_about_deco_top {
    width: clamp(150px, 26.0416666667vw, 200px);
    top: 62px;
  }
}

.top_about_deco_bottom {
  position: absolute;
  width: clamp(380px, 26.6666666667vw, 400px);
  right: clamp(0px, -2.6666666667vw, -40px);
  bottom: 0;
  z-index: 1;
}
@media (max-width: 768px) {
  .top_about_deco_bottom {
    right: 0;
    width: 100%;
    max-width: clamp(240px, 96vw, 360px);
    right: clamp(0px, 3.90625vw, 30px);
  }
}

.top_about_content {
  background-color: #fff;
  width: 100%;
  max-width: clamp(800px, 83.3333333333vw, 1250px);
  margin-left: calc(50% - 50vw);
  border-radius: 0 80px 80px 0;
  padding: 90px 60px 120px calc(50vw - 50%);
  position: relative;
}
@media (min-width: 1800px) {
  .top_about_content {
    max-width: 1375px;
    padding-left: 1px;
    margin-left: 0;
  }
}
@media (max-width: 768px) {
  .top_about_content {
    border-radius: 0 20px 20px 0;
    padding: 40px 20px 214px calc(50vw - 50%);
    width: auto;
    max-width: none;
  }
}

.top_about_content::before {
  content: "";
  width: 3000px;
  left: -2999px;
  top: 0;
  height: 100%;
  background: #fff;
  position: absolute;
}

.top_about_texts {
  position: relative;
  z-index: 2;
}

.top_about_text {
  margin-top: 30px;
}

.top_about_buttons {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: clamp(10px, 1.3333333333vw, 20px);
  width: 100%;
  max-width: clamp(600px, 62.6666666667vw, 940px);
  margin-top: 60px;
  position: relative;
  z-index: 2;
}
@media (max-width: 768px) {
  .top_about_buttons {
    margin-top: 30px;
    max-width: 285px;
    margin-inline: auto;
  }
}

/* top - top_job
------------------------------ */
.top_job {
  background-color: #F6F4F1;
  padding-bottom: 120px;
}
@media (max-width: 768px) {
  .top_job {
    padding-bottom: 60px;
  }
}

.top_job_head {
  width: 100%;
  display: flex;
  align-items: center;
  gap: clamp(30px, 4vw, 60px);
}
@media (max-width: 768px) {
  .top_job_head {
    flex-direction: column-reverse;
    text-align: center;
    gap: 30px;
  }
}

.top_job_head_image {
  width: 46.72%;
  flex-shrink: 0;
  max-width: 584px;
  min-width: 400px;
}
@media (max-width: 768px) {
  .top_job_head_image {
    min-width: auto;
    max-width: 400px;
    width: 100%;
  }
}

.top_job_head_texts {
  flex-grow: 1;
  width: 100%;
  margin-top: 30px;
}
@media (max-width: 768px) {
  .top_job_head_texts {
    margin-top: 30px;
    text-align: left;
    max-width: 550px;
    margin-inline: auto;
  }
}

.top_job_head_text {
  margin-top: 40px;
}

.top_job_head_buttons {
  margin-top: 60px;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(274px, 1fr));
  gap: clamp(10px, 1.3333333333vw, 20px);
  width: 100%;
}
@media (max-width: 768px) {
  .top_job_head_buttons {
    grid-template-columns: 1fr;
    margin-inline: auto;
    margin-top: 30px;
  }
}

.top_job_head_button {
  width: 100%;
  max-width: 285px;
  margin-inline: auto;
}

.top_job_body_cards {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 0 clamp(27px, 3.2vw, 48px);
}

.top_job_body_card {
  position: relative;
  width: 100%;
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
  gap: 0;
  margin-top: 80px;
}
@media (max-width: 768px) {
  .top_job_body_card {
    margin-top: 50px;
  }
}

.top_job_body_card_number {
  position: absolute;
  color: #7FF232;
  font-family: "Red Hat Display", sans-serif;
  font-size: 75px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.03em;
  left: 25px;
  top: -38px;
}
@media (max-width: 768px) {
  .top_job_body_card_number {
    font-size: 50px;
    left: 16px;
    top: -26px;
  }
}

.top_job_body_card_title {
  background-color: #535353;
  color: #fff;
  padding: 28px;
  font-size: clamp(24px, 2vw, 30px);
  text-align: center;
  border-radius: 15px 15px 0 0;
}
@media (max-width: 768px) {
  .top_job_body_card_title {
    padding: 16px 20px;
    font-size: clamp(20px, 5.8666666667vw, 22px);
  }
}

.top_job_body_card_image {
  width: 100%;
}

.top_job_body_card_text {
  padding: 20px 24px 30px;
  background: #fff;
  border-radius: 0 0 15px 15px;
}
@media (max-width: 768px) {
  .top_job_body_card_text {
    padding: 16px 20px 24px;
  }
}

/* top - top_interview
------------------------------ */
.top_interview {
  padding-block: 120px;
  background: url(../images/top/top_inerview_bg.jpg) no-repeat center center/cover;
}
@media (max-width: 768px) {
  .top_interview {
    padding-block: 60px;
  }
}

.top_section_title_center.top_section_title_center_top_interview {
  z-index: 2;
}

.top_section_title_center.top_section_title_center_top_interview::before {
  content: "";
  position: absolute;
  width: 130%;
  height: 260%;
  top: -60%;
  left: 50%;
  transform: translateX(-50%);
  background: url(../images/top/top_interview_title_deco.svg) no-repeat center center/contain;
  z-index: -1;
}

.top_section_title_center.top_section_title_center_top_interview span {
  z-index: 2;
}

.top_interview_cards {
  margin-top: 60px;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  position: relative;
  z-index: 2;
  gap: 0 clamp(20px, 2.2666666667vw, 34px);
}

.top_interview_card {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 5;
  gap: 0;
  display: block;
  border-radius: 15px;
  overflow: hidden;
  background: #fff;
  padding-bottom: 28px;
  margin-top: 20px;
}

.top_interview_card_image {
  width: 100%;
  overflow: hidden;
}

.top_interview_card_image img {
  aspect-ratio: 385/250;
  object-fit: cover;
}
@media (min-width: 769px) {
  .top_interview_card_image img {
    transition: all 0.3s;
  }
}

@media (min-width: 769px) {
  .top_interview_card:hover .top_interview_card_image img {
    transform: scale(1.1);
  }
}

.top_interview_card_title {
  padding-inline: clamp(20px, 1.7333333333vw, 26px);
  margin-top: 22px;
  color: #00AF70;
  font-size: clamp(20px, 1.6vw, 24px);
  font-weight: 700;
  line-height: 1.4; /* 250% */
}

.top_interview_card_affiliation {
  margin-top: 8px;
  padding-inline: clamp(20px, 1.7333333333vw, 26px);
}

.top_interview_card_text {
  padding-inline: clamp(20px, 1.7333333333vw, 26px);
  margin-top: 8px;
}

.top_interview_card_button {
  margin-top: 20px;
  margin-inline: auto;
  padding-inline: clamp(20px, 1.7333333333vw, 26px);
  width: 100%;
  max-width: 280px;
}

.top_interview_button {
  margin-top: 80px;
  margin-inline: auto;
  width: 100%;
  max-width: 320px;
}
@media (max-width: 768px) {
  .top_interview_button {
    margin-top: 30px;
    max-width: 300px;
  }
}

/* top - top_benefit
------------------------------ */
.top_benefit {
  overflow-x: hidden;
}

.inner.top_benefit_inner {
  position: relative;
  padding-top: 120px;
}
@media (max-width: 768px) {
  .inner.top_benefit_inner {
    padding-top: 70px;
  }
}

.top_benefit_deco_top {
  position: absolute;
  width: clamp(260px, 22.6666666667vw, 340px);
  right: clamp(0px, 6.6666666667vw, 100px);
  top: 40px;
  z-index: 1;
}
@media (max-width: 768px) {
  .top_benefit_deco_top {
    right: 0;
    width: clamp(180px, 13.3333333333vw, 200px);
    top: 20px;
  }
}

.top_benefit_content {
  background-color: #E6F9DA;
  width: 100%;
  max-width: clamp(800px, 83.3333333333vw, 1250px);
  margin-right: calc(50% - 50vw);
  margin-left: auto;
  border-radius: 80px 0 0 80px;
  padding: 90px calc(50vw - 50%) 120px clamp(60px, 7.3333333333vw, 110px);
  position: relative;
}
@media (min-width: 1800px) {
  .top_benefit_content {
    max-width: 1375px;
    padding-right: 1px;
    margin-right: 0;
  }
}
@media (max-width: 768px) {
  .top_benefit_content {
    border-radius: 20px 0 0 20px;
    padding: 40px calc(50vw - 50%) 50px 20px;
    width: auto;
    max-width: none;
  }
}

.top_benefit_content::before {
  content: "";
  width: 3000px;
  right: -2999px;
  top: 0;
  height: 100%;
  background: #E6F9DA;
  position: absolute;
}

.top_benefit_texts {
  position: relative;
  z-index: 2;
}

.top_benefit_text {
  margin-top: 40px;
}
@media (max-width: 768px) {
  .top_benefit_text {
    margin-top: 30px;
  }
}

.top_benefit_buttons {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: clamp(10px, 1.3333333333vw, 20px);
  width: 100%;
  max-width: clamp(600px, 62.6666666667vw, 940px);
  margin-top: 50px;
}
@media (max-width: 768px) {
  .top_benefit_buttons {
    margin-top: 30px;
    max-width: 285px;
    margin-inline: auto;
  }
}

/* top - top_news
------------------------------ */
.top_news {
  padding: 120px 0;
}
@media (max-width: 768px) {
  .top_news {
    padding: 70px 0 60px;
  }
}

.top_news_content {
  display: flex;
  gap: clamp(30px, 7.3333333333vw, 110px);
  justify-content: space-between;
}
@media (max-width: 768px) {
  .top_news_content {
    flex-direction: column;
    gap: 30px;
  }
}

.top_news_content_left {
  width: 100%;
  max-width: clamp(220px, 18.6666666667vw, 280px);
  flex-shrink: 0;
  padding-top: 16px;
}
@media (max-width: 768px) {
  .top_news_content_left {
    max-width: none;
    width: 100%;
    padding-top: 0;
  }
}

.top_news_button {
  width: 100%;
  max-width: 280px;
  margin-top: 100px;
}
@media (max-width: 768px) {
  .top_news_button {
    margin-top: 30px;
    margin-inline: auto;
  }
}

.top_news_content_right {
  width: 100%;
  flex-grow: 1;
  max-width: 900px;
}
@media (max-width: 768px) {
  .top_news_content_right {
    max-width: none;
  }
}

.top_news_list {
  width: 100%;
  max-height: 540px;
  overflow-y: scroll;
  border-top: 1px solid #00AF70;
}
@media (max-width: 768px) {
  .top_news_list {
    max-height: 320px;
  }
}

.top_news_list_item {
  width: 100%;
}

.top_news_list_link {
  padding: 32px 50px 30px 20px;
  background: #fff;
  width: 100%;
  border-bottom: 1px solid #00AF70;
  display: flex;
  gap: 12px 24px;
  line-height: 1.6;
  position: relative;
  flex-wrap: wrap;
}
@media (max-width: 768px) {
  .top_news_list_link {
    padding: 14px 40px 14px 10px;
  }
}

.top_news_list_link::before {
  content: "";
  position: absolute;
  width: 26px;
  height: 26px;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  background: url(../images/common/icon_arrow_right_circle_green.svg) no-repeat center center/contain;
}
@media (max-width: 768px) {
  .top_news_list_link::before {
    right: 10px;
    width: 20px;
    height: 20px;
    gap: 6px;
  }
}

@media (min-width: 769px) {
  .top_news_list_link:hover {
    background: #F6F4F1;
  }
}

.top_news_list_meta {
  display: flex;
  gap: 5px 20px;
  flex-wrap: nowrap;
  width: 210px;
  gap: 3px 10px;
}

.top_news_list_time {
  color: #00AF70;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.56;
  margin-top: 6px;
}

.top_news_list_cats {
  display: flex;
  gap: 5px 5px;
  flex-wrap: wrap;
  margin-top: 4px;
}

.top_news_list_cat {
  line-height: 1;
  padding: 8px 14px;
  background: #00AF70;
  border-radius: 20px;
  font-size: 14px;
  color: #fff;
  white-space: nowrap;
  height: fit-content;
}

.top_news_list_title {
  margin-top: 4px;
  white-space: wrap;
  flex-grow: 1;
}

/* cta
------------------------------ */
.cta_bg {
  background: linear-gradient(to bottom, #F6F4F1 0%, #F6F4F1 50%, #fff 50%, #fff 100%);
}

.cta_content {
  display: flex;
  gap: clamp(20px, 2.3333333333vw, 35px);
  background: linear-gradient(105deg, #00AF70 5.13%, #37DB71 95.7%);
  border-radius: 80px;
  padding: 74px clamp(50px, 6vw, 90px);
  position: relative;
}
@media (max-width: 768px) {
  .cta_content {
    border-radius: 40px;
    flex-direction: column;
    padding: 50px 25px 50px;
    gap: 30px;
  }
}

.cta_content::before {
  content: "";
  position: absolute;
  width: clamp(260px, 21.7333333333vw, 326px);
  height: clamp(260px, 21.7333333333vw, 326px);
  top: 50%;
  transform: translateY(-50%);
  left: 50%;
  background: url(../images/common/deco_cta_circle.svg) no-repeat center center/contain;
}
@media (max-width: 768px) {
  .cta_content::before {
    width: clamp(240px, 26.6666666667vw, 400px);
    height: rsp-prc(240px, 400px);
    transform: translate(-50%);
    top: 32%;
    left: 56%;
  }
}

.cta_texts {
  width: 100%;
  flex-grow: 1;
  z-index: 1;
}

.cta_title {
  position: relative;
  color: #fff;
  font-size: clamp(28px, 2.6666666667vw, 40px);
  font-weight: 700;
  line-height: 1.4; /* 150% */
  letter-spacing: 0.1em;
}
@media (max-width: 768px) {
  .cta_title {
    text-align: center;
  }
}

.cta_title span {
  display: inline-block;
}

.cta_title::before {
  content: "Recruit";
  position: absolute;
  width: fit-content;
  height: fit-content;
  font-family: "Red Hat Display", sans-serif;
  font-weight: 600;
  top: 10px;
  left: -30px;
  font-size: clamp(70px, 6vw, 90px);
  z-index: -1;
  line-height: 1;
  color: rgba(127, 242, 50, 0.28);
}
@media (max-width: 768px) {
  .cta_title::before {
    font-size: clamp(50px, 17.6vw, 66px);
    left: 0;
    top: 40px;
  }
}

.cta_text {
  margin-top: clamp(30px, 3.2vw, 48px);
  color: #fff;
  font-weight: 700;
  font-size: clamp(16px, 1.2vw, 18px);
}

.cta_buttons {
  width: 100%;
  max-width: clamp(350px, 24.9333333333vw, 374px);
  margin: 0 auto;
}

.cta_button {
  width: 100%;
}

.cta_button + .cta_button {
  margin-top: 20px;
}
@media (max-width: 768px) {
  .cta_button + .cta_button {
    margin-top: 12px;
  }
}

.button_cta {
  background-color: #F7EE40;
  border: 1px solid #F7EE40;
  padding: 22px clamp(60px, 5.3333333333vw, 80px) 22px clamp(90px, 7.3333333333vw, 110px);
  color: #00AF70;
  border-radius: 50px;
  position: relative;
  display: block;
  text-align: center;
  font-weight: 700;
  line-height: 1;
  width: 100%;
  overflow: hidden;
  transition: all 0.3s;
}
@media (max-width: 768px) {
  .button_cta {
    padding: 18px 57px;
  }
}

@media (min-width: 769px) {
  .button_cta:hover {
    background-color: #fff;
    border: 1px solid #fff;
  }
}

.button_cta::before {
  content: "";
  position: absolute;
  width: 46px;
  height: 46px;
  left: clamp(20px, 2.9333333333vw, 44px);
  top: 50%;
  transform: translateY(-50%);
  background: url(../images/common/icon_cta_button_bag.svg) no-repeat center center/contain;
  transition: all 0.3s;
}
@media (max-width: 768px) {
  .button_cta::before {
    width: 34px;
    height: 34px;
  }
}

.cta_button.cta_button_man .button_cta::before {
  background: url(../images/common/icon_cta_button_man.svg) no-repeat center center/contain;
  top: auto;
  bottom: -1px;
  transform: translateY(0);
  width: 60px;
  height: 60px;
}
@media (max-width: 768px) {
  .cta_button.cta_button_man .button_cta::before {
    width: clamp(36px, 11.7333333333vw, 44px);
    height: clamp(36px, 11.7333333333vw, 44px);
  }
}

.cta_button.cta_button_hand .button_cta::before {
  background: url(../images/common/icon_cta_button_hand.svg) no-repeat center center/contain;
  width: 50px;
  height: 50px;
}
@media (max-width: 768px) {
  .cta_button.cta_button_hand .button_cta::before {
    width: 37px;
    height: 37px;
  }
}

.button_cta::after {
  content: "";
  position: absolute;
  width: 26px;
  height: 26px;
  right: 32px;
  top: 50%;
  transform: translateY(-50%);
  background: url(../images/common/icon_arrow_right_circle_white.svg) no-repeat center center/contain;
  transition: all 0.3s;
}
@media (max-width: 768px) {
  .button_cta::after {
    right: 26px;
    width: 18px;
    height: 18px;
  }
}

@media (min-width: 769px) {
  .button_cta:hover::after {
    background: url(../images/common/icon_arrow_right_circle_green.svg) no-repeat center center/contain;
  }
}

/* sub
// ------------------------------ */
.sub_mv {
  background: #F6F4F1;
}

.sub_mv .inner {
  height: 100%;
}

.sub_mv_inner {
  height: 100%;
  position: relative;
}

.sub_mv_content {
  height: 520px;
  position: relative;
  border-radius: 0 0 0 80px;
  margin-right: calc(50% - 50vw);
  padding-right: calc(50vw - 50%);
  padding-top: 150px;
  background: url(../images/sub/sub_mv_bg.jpg) no-repeat center center/cover;
  display: flex;
  gap: 20px;
  padding-left: clamp(40px, 5.2vw, 78px);
}
@media (max-width: 1300px) {
  .sub_mv_content {
    padding-top: 100px;
    height: 400px;
  }
}
@media (max-width: 768px) {
  .sub_mv_content {
    padding-top: 60px;
    border-radius: 0 0 0 20px;
    height: 270px;
    padding-left: 20px;
  }
}

.sub_mv_content_texts {
  width: 100%;
  flex-grow: 1;
  margin-top: 120px;
}
@media (max-width: 1300px) {
  .sub_mv_content_texts {
    margin-top: 80px;
  }
}
@media (max-width: 768px) {
  .sub_mv_content_texts {
    margin-top: 40px;
  }
}

.sub_mv_content_title {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.sub_mv_content_title_en {
  color: #fff;
  font-family: "Red Hat Display", sans-serif;
  font-size: clamp(18px, 1.3333333333vw, 20px);
  font-weight: 600;
  line-height: 1.2; /* 200% */
  letter-spacing: 0.03em;
  font-size: 16px;
}

.sub_mv_content_title_jp {
  color: #fff;
  font-size: clamp(30px, 2.6666666667vw, 40px);
  font-weight: 700;
  line-height: 1.2; /* 200% */
  letter-spacing: 0.04em;
}
@media (max-width: 768px) {
  .sub_mv_content_title_jp {
    font-size: clamp(20px, 6.4vw, 24px);
  }
}

.sub_mv_content_title_jp span {
  display: inline-block;
}

.sub_mv_content_image_wrapper {
  display: flex;
  align-items: center;
  height: auto;
  flex-shrink: 0;
  width: 100%;
  max-width: clamp(260px, 23.6666666667vw, 355px);
}
@media (max-width: 768px) {
  .sub_mv_content_image_wrapper {
    max-width: clamp(120px, 31.25vw, 240px);
  }
}

.sub_mv_content_image {
  width: 100%;
}
.breadcrumb {
  font-size: 12px;
  letter-spacing: 0.05em;
  padding-block: 30px;
  background: #F6F4F1;
}
@media (max-width: 768px) {
  .breadcrumb {
    padding-block: 18px;
  }
}

.breadcrumb_inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px;
  color: #00AF70;
}
@media (max-width: 768px) {
  .breadcrumb_inner {
    gap: 5px 10px;
  }
}

.breadcrumb_wrapper {
  padding-left: clamp(40px, 5.2vw, 78px);
}

.breadcrumb_inner a {
  font-weight: 700;
  cursor: pointer;
}

.breadcrumb_inner a:hover {
  font-weight: 700;
  color: #333;
}

.breadcrumb_icon {
  position: relative;
  display: inline-block;
  margin-inline: 6px;
}

/* news - news_archive_main
------------------------------ */
.news_archive_main {
  margin-top: 110px;
  margin-bottom: 130px;
}
@media (max-width: 768px) {
  .news_archive_main {
    margin-top: 50px;
    margin-bottom: 60px;
  }
}

.news_archive_main_wrapper {
  display: flex;
  justify-content: space-between;
  gap: 58px;
}
@media (max-width: 768px) {
  .news_archive_main_wrapper {
    flex-direction: column;
    gap: 50px;
  }
}

.news_archive_main_group {
  width: 100%;
  max-width: 920px;
  flex: 2;
}

.news_archive_main_item + .news_archive_main_item {
  margin-top: 40px;
}
@media (max-width: 768px) {
  .news_archive_main_item + .news_archive_main_item {
    margin-top: 24px;
  }
}

.news_archive_main_item a {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: clamp(16px, 2.6666666667vw, 40px);
  background-color: #F6F4F1;
  border: 2px solid #F6F4F1;
  border-radius: 15px;
  padding: clamp(20px, 2.6666666667vw, 40px);
}
@media (max-width: 768px) {
  .news_archive_main_item a {
    flex-direction: column;
    gap: 20px;
    padding: 20px 15px;
  }
}

@media (min-width: 769px) {
  .news_archive_main_item a:hover {
    border: 2px solid #00AF70;
  }
}

.news_archive_main_item_img {
  width: 100%;
  max-width: clamp(180px, 16.6666666667vw, 250px);
  overflow: hidden;
  border-radius: 15px;
  overflow: hidden;
}
@media (max-width: 768px) {
  .news_archive_main_item_img {
    max-width: 100%;
  }
}

.news_archive_main_item_img img {
  width: 100%;
  height: auto;
  object-fit: cover;
  aspect-ratio: 250/160;
  transition: 0.3s;
  border-radius: 15px;
}

@media (min-width: 769px) {
  .news_archive_main_item a:hover img {
    transform: scale(1.1);
  }
}

.news_archive_main_item_content {
  width: 100%;
  max-width: 490px;
}
@media (max-width: 768px) {
  .news_archive_main_item_content {
    max-width: 100%;
  }
}

.news_archive_main_item_unit {
  display: flex;
  gap: 20px;
}

.news_archive_main_item_cat {
  font-size: 14px;
  color: #fff;
  background-color: #00AF70;
  width: fit-content;
  padding: 4px 28px;
  border-radius: 50px;
}

.news_archive_main_item_date {
  font-size: 14px;
  color: #00AF70;
  margin-top: 4px;
}

.news_archive_main_item_title {
  font-size: clamp(20px, 1.6vw, 24px);
  line-height: 1.3;
  margin-top: 20px;
  color: #00AF70;
  padding-bottom: 12px;
  border-bottom: 1px solid #00AF70;
}
@media (max-width: 768px) {
  .news_archive_main_item_title {
    font-size: clamp(18px, 5.3333333333vw, 20px);
    margin-top: 10px;
  }
}

.news_archive_main_item_text {
  margin-top: 22px;
}
.news_archive_main_item_btn {
  width: 100%;
  max-width: 240px;
  margin-left: auto;
  margin-top: 20px;
}
@media (max-width: 768px) {
  .news_archive_main_item_btn {
    margin: 20px auto 0;
  }
}

.news_archive_main_item_btn span {
  position: relative;
  display: inline-block;
  width: 100%;
}

.news_archive_main_side {
  width: 100%;
  max-width: 322px;
  flex: 1;
}
@media (max-width: 768px) {
  .news_archive_main_side {
    max-width: 400px;
    margin: 0 auto;
  }
}

.news_archive_main_side_title {
  font-size: 20px;
  background-color: #E6F9DA;
  padding: 22px 24px 24px 24px;
  border-radius: 15px;
}
@media (max-width: 768px) {
  .news_archive_main_side_title {
    font-size: clamp(18px, 5.3333333333vw, 20px);
    padding: 15px 20px;
  }
}

.news_archive_main_side_list_link {
  position: relative;
  display: inline-block;
  width: 100%;
  padding: 26px 30px 18px 0;
  border-bottom: 1px solid #00AF70;
  color: #00AF70;
}
@media (max-width: 768px) {
  .news_archive_main_side_list_link {
    padding: 20px 30px 18px 0;
  }
}

@media (min-width: 769px) {
  .news_archive_main_side_list_link:hover {
    background-color: #F6F4F1;
  }
}

.news_archive_main_side_list_link::after {
  position: absolute;
  content: "";
  width: 26px;
  height: 26px;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  background: url(../images/common/icon_arrow_right_circle_green.svg) no-repeat center center/contain;
  transition: 0.3s;
}
@media (max-width: 768px) {
  .news_archive_main_side_list_link::after {
    width: 20px;
    height: 20px;
  }
}

.news_archive_main_page_navigation {
  margin-top: 58px;
}
@media (max-width: 768px) {
  .news_archive_main_page_navigation {
    margin-top: 24px;
  }
}

.page_navigation {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 11px;
}

.page-numbers {
  display: grid;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-weight: 700;
  background-color: #E6F9DA;
  color: #37DB71;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  font-family: "Red Hat Display", sans-serif;
  font-size: 20px;
  line-height: 1.6;
}

@media (min-width: 769px) {
  .page-numbers:hover {
    color: #fff;
    background-color: #00AF70;
  }
}

.page-numbers.dots {
  pointer-events: none;
}

.page-numbers.current {
  color: #fff;
  background-color: #00AF70;
}

/* news - news_single_main
------------------------------ */
.news_single_main {
  margin-top: 130px;
  margin-bottom: 130px;
}
@media (max-width: 768px) {
  .news_single_main {
    margin-top: 60px;
    margin-bottom: 130px;
  }
}

.news_single_main_wrapper {
  display: flex;
  justify-content: space-between;
  gap: clamp(20px, 3.8666666667vw, 58px);
}
@media (max-width: 768px) {
  .news_single_main_wrapper {
    flex-direction: column;
    gap: 50px;
  }
}

.news_single_main_article {
  width: 100%;
  max-width: 870px;
  flex: 2;
}

.news_article_unit {
  display: flex;
  gap: 20px;
}

.news_article_date {
  font-size: 14px;
  font-weight: 700;
  color: #00AF70;
  margin-top: 4px;
}

.news_article_title {
  font-size: clamp(20px, 2vw, 30px);
  font-weight: 700;
  margin-top: 26px;
  line-height: 1.6;
  color: #00AF70;
  padding-bottom: 16px;
  border-bottom: 1px solid #00AF70;
}
@media (max-width: 768px) {
  .news_article_title {
    font-size: clamp(16px, 4.8vw, 18px);
    margin-top: 14px;
  }
}

.news_article_img {
  width: 100%;
  margin-top: 58px;
  max-width: 760px;
  border-radius: 15px;
  overflow: hidden;
}
@media (max-width: 768px) {
  .news_article_img {
    margin-top: px;
  }
}

.news_article_img img {
  width: 100%;
  height: auto;
  object-fit: cover;
  aspect-ratio: 760/500;
}

.news_article_content {
  margin-top: 50px;
  padding-bottom: 80px;
  border-bottom: 1px solid #00AF70;
}
@media (max-width: 768px) {
  .news_article_content {
    margin-top: 30px;
    padding-bottom: 40px;
  }
}

.news_article_buttons {
  display: flex;
  justify-content: space-between;
  width: 100%;
  max-width: 870px;
  gap: 10px;
  margin-top: 100px;
  margin-inline: auto;
}
@media (max-width: 768px) {
  .news_article_buttons {
    gap: 10px;
    flex-direction: column;
    align-items: center;
    margin-top: 60px;
  }
}

.news_article_button {
  width: 100%;
  max-width: 280px;
}
@media (max-width: 768px) {
  .news_article_button {
    max-width: 220px;
  }
}

.news_article_button a {
  font-weight: 700;
  line-height: 1.6;
  padding: 24px clamp(18px, 2vw, 30px) 24px clamp(18px, 2vw, 30px);
  z-index: 0;
  color: #fff;
  position: relative;
  width: 100%;
  border-radius: 50px;
  display: block;
  transition: all 0.3s;
}
@media (max-width: 768px) {
  .news_article_button a {
    padding: 14px 22px 14px 22px;
  }
}

.news_article_button a::before {
  content: "";
  background: linear-gradient(105deg, #00AF70 5.13%, #37DB71 95.7%);
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  border-radius: 50px;
  z-index: -1;
  transition: all 0.3s;
}

@media (min-width: 769px) {
  .news_article_button a:hover {
    background: #37DB71;
  }
}

@media (min-width: 769px) {
  .news_article_button a:hover::before {
    opacity: 0;
  }
}

.news_article_button_previous a {
  text-align: right;
}
@media (max-width: 768px) {
  .news_article_button_previous a {
    text-align: center;
  }
}

.news_article_button_previous a span {
  position: relative;
  display: inline-block;
  width: 100%;
  padding-left: 30px;
}
@media (max-width: 768px) {
  .news_article_button_previous a span {
    padding-left: 10px;
  }
}

.news_article_button_previous a span::before {
  position: absolute;
  content: "";
  width: 26px;
  height: 26px;
  left: 0;
  top: 50%;
  transform: translateY(-50%) scale(-1, 1);
  background: url(../images/common/icon_arrow_right_circle_white.svg) no-repeat center center/contain;
  transition: 0.3s;
}
@media (max-width: 768px) {
  .news_article_button_previous a span::before {
    width: 20px;
    height: 20px;
  }
}

.news_article_button_all {
  text-align: center;
}

.news_article_button_next a span {
  position: relative;
  display: inline-block;
  width: 100%;
  padding-right: 30px;
}
@media (max-width: 768px) {
  .news_article_button_next a span {
    text-align: center;
  }
}

.news_article_button_next a span::after {
  position: absolute;
  content: "";
  width: 26px;
  height: 26px;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  background: url(../images/common/icon_arrow_right_circle_white.svg) no-repeat center center/contain;
  transition: 0.3s;
}
@media (max-width: 768px) {
  .news_article_button_next a span::after {
    width: 20px;
    height: 20px;
  }
}

/* interview - interview_archive
------------------------------ */
/* interview - interview_archive_introduction
------------------------------ */
.interview_archive_introduction {
  padding-top: 120px;
  padding-bottom: 40px;
}
@media (max-width: 768px) {
  .interview_archive_introduction {
    padding-top: 60px;
    padding-bottom: 20px;
  }
}

.interview_archive_introduction_content {
  margin-top: 10px;
  display: flex;
  gap: clamp(20px, 2vw, 30px);
}
@media (max-width: 768px) {
  .interview_archive_introduction_content {
    flex-direction: column;
    gap: 20px;
    margin-top: 0;
  }
}

.interview_archive_introduction_text {
  flex-grow: 1;
  width: 100%;
  margin-top: 60px;
}
@media (max-width: 768px) {
  .interview_archive_introduction_text {
    margin-top: 30px;
  }
}

.interview_archive_introduction_image {
  width: 100%;
  max-width: clamp(360px, 27.8666666667vw, 418px);
  flex-shrink: 0;
}
@media (max-width: 768px) {
  .interview_archive_introduction_image {
    margin-inline: auto;
  }
}

/* interview - interview_archive_main
------------------------------ */
.interview_archive_main {
  background-color: #F6F4F1;
  padding-top: 120px;
  padding-bottom: 120px;
}
@media (max-width: 768px) {
  .interview_archive_main {
    padding-top: 60px;
    padding-bottom: 60px;
  }
}

.interview_archive_main_items {
  display: grid;
  margin-top: 120px;
  grid-template-columns: repeat(auto-fill, minmax(330px, 1fr));
  gap: 30px clamp(30px, 2.6666666667vw, 40px);
}
@media (max-width: 768px) {
  .interview_archive_main_items {
    margin-top: 60px;
  }
}

.interview_archive_main_item {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
  gap: 0;
  padding: 30px;
  background-color: #fff;
  border-radius: 15px;
  border: 1px solid #fff;
}
@media (max-width: 768px) {
  .interview_archive_main_item {
    padding: 18px;
  }
}

@media (min-width: 769px) {
  .interview_archive_main_item:hover {
    background-color: #E6F9DA;
    border: 1px solid #00AF70;
  }
}

@media (min-width: 769px) {
  .interview_archive_main_item:hover .interview_archive_main_item_image img {
    transform: scale(1.1);
  }
}

.interview_archive_main_item_image {
  width: 100%;
  overflow: hidden;
  border-radius: 15px;
}

.interview_archive_main_item_image img {
  width: 100%;
  height: auto;
  object-fit: cover;
  aspect-ratio: 325/211;
  transition: 0.3s;
}

.interview_archive_main_item_text {
  margin-top: 16px;
  color: #00AF70;
  font-size: clamp(18px, 1.3333333333vw, 20px);
  font-weight: 700;
  line-height: 1.8;
  padding-bottom: 26px;
  border-bottom: 1px solid #37DB71;
}

.interview_archive_main_item_title {
  margin-top: 18px;
  font-weight: 700;
}
@media (max-width: 768px) {
  .interview_archive_main_item_title {
    margin-top: 14px;
  }
}

.interview_archive_main_item_head {
  display: flex;
}

/* interview - interview_single
------------------------------ */
.interview_single_main {
  padding: 130px 0;
}
@media (max-width: 768px) {
  .interview_single_main {
    padding: 60px 0;
  }
}

.interview_single_introduction_content {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(20px, 2.6666666667vw, 40px);
}
@media (max-width: 768px) {
  .interview_single_introduction_content {
    grid-template-columns: 1fr;
    gap: 30px;
  }
}

.interview_single_introduction_texts {
  width: 100%;
}

.interview_single_introduction_phrase {
  color: #00AF70;
  font-size: clamp(30px, 2.6666666667vw, 40px);
  font-weight: 700;
  line-height: 1.5;
}
@media (max-width: 768px) {
  .interview_single_introduction_phrase {
    font-size: clamp(18px, 5.8666666667vw, 22px);
  }
}

.interview_single_introduction_title {
  margin-top: 27px;
  font-weight: 700;
}
@media (max-width: 768px) {
  .interview_single_introduction_title {
    margin-top: 20px;
  }
}

.interview_single_introduction_title_head {
  display: flex;
}

.interview_single_introduction_profile {
  width: 100%;
  background-color: #F6F4F1;
  border-radius: 15px;
  padding: clamp(20px, 2vw, 30px);
}

.interview_single_introduction_profile_title {
  color: #00AF70;
  font-size: clamp(24px, 2vw, 30px);
  line-height: 1.4; /* 200% */
  letter-spacing: 0.1em;
  padding-bottom: 12px;
  border-bottom: 1px solid #00AF70;
}
@media (max-width: 768px) {
  .interview_single_introduction_profile_title {
    font-size: clamp(18px, 5.3333333333vw, 20px);
  }
}

.interview_single_introduction_profile_text {
  margin-top: 28px;
}
@media (max-width: 768px) {
  .interview_single_introduction_profile_text {
    margin-top: 20px;
  }
}

.interview_single_qa {
  margin-top: 70px;
}
@media (max-width: 768px) {
  .interview_single_qa {
    margin-top: 40px;
  }
}

.interview_single_qa_blocks {
  display: flex;
  flex-direction: column;
  gap: 70px;
}
@media (max-width: 768px) {
  .interview_single_qa_blocks {
    gap: 50px;
  }
}

.interview_single_qa_block {
  display: flex;
  gap: clamp(30px, 4vw, 60px);
}
@media (max-width: 768px) {
  .interview_single_qa_block {
    flex-direction: column;
    gap: 14px;
  }
}

.interview_single_qa_block:nth-of-type(n + 2) {
  flex-direction: row-reverse;
}
@media (max-width: 768px) {
  .interview_single_qa_block:nth-of-type(n + 2) {
    flex-direction: column;
  }
}

.interview_single_qa_block_image {
  max-width: 32%;
  width: 100%;
  flex-shrink: 0;
}
@media (max-width: 768px) {
  .interview_single_qa_block_image {
    width: 100%;
    max-width: none;
  }
}

.interview_single_qa_block_image img {
  border-radius: 15px;
  object-fit: cover;
  aspect-ratio: 20/13;
}

.interview_single_qa_block_texts {
  width: 100%;
  flex-grow: 1;
}

.interview_single_qa_block_title {
  color: #00AF70;
  font-size: clamp(24px, 2vw, 30px);
  line-height: 1.4; /* 200% */
  letter-spacing: 0.1em;
  padding-bottom: 12px;
  border-bottom: 1px solid #00AF70;
}
@media (max-width: 768px) {
  .interview_single_qa_block_title {
    font-size: clamp(18px, 5.3333333333vw, 20px);
  }
}

.interview_single_qa_block_text {
  margin-top: 28px;
}
@media (max-width: 768px) {
  .interview_single_qa_block_text {
    margin-top: 16px;
  }
}

.interview_single_bottom {
  margin-top: 74px;
}
@media (max-width: 768px) {
  .interview_single_bottom {
    margin-top: 40px;
  }
}

.interview_single_bottom_content {
  display: flex;
  gap: clamp(20px, 4vw, 60px);
}
@media (max-width: 768px) {
  .interview_single_bottom_content {
    flex-direction: column;
    gap: 50px;
  }
}

.interview_single_bottom_schedule {
  width: 100%;
  flex-grow: 1;
  background-color: #E6F9DA;
  padding: clamp(20px, 2.6666666667vw, 40px);
  border-radius: 15px;
  height: fit-content;
}

.interview_single_bottom_schedule_title {
  color: #00AF70;
  font-size: clamp(24px, 2vw, 30px);
  line-height: 1.4; /* 200% */
  letter-spacing: 0.1em;
  padding-bottom: 12px;
  border-bottom: 1px solid #00AF70;
}
@media (max-width: 768px) {
  .interview_single_bottom_schedule_title {
    font-size: clamp(18px, 5.3333333333vw, 20px);
  }
}

.interview_single_bottom_schedule dl {
  display: grid;
  grid-template-columns: 130px auto;
  gap: 20px clamp(20px, 3.3333333333vw, 50px);
  margin-top: 40px;
  position: relative;
}
@media (max-width: 768px) {
  .interview_single_bottom_schedule dl {
    margin-top: 20px;
    gap: 16px clamp(20px, 8vw, 30px);
    grid-template-columns: 80px auto;
    gap: 16px 14px;
  }
}

.interview_single_bottom_schedule dt {
  width: 100%;
  line-height: 1;
  position: relative;
  z-index: 1;
}

.interview_single_bottom_schedule dt span {
  background-color: #fff;
  border-radius: 50px;
  padding: 10px;
  text-align: center;
  display: inline-block;
  width: 100%;
}

.interview_single_bottom_schedule dl dt:last-of-type::before {
  display: none;
}

.interview_single_bottom_schedule dt::before {
  width: 7px;
  height: calc(100% + 22px);
  background-color: #fff;
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
  z-index: -1;
}

.interview_single_bottom_schedule dd {
  line-height: 1.6;
  margin-top: 4px;
}
.interview_single_bottom_message {
  width: 32%;
  max-width: 400px;
  flex-shrink: 0;
  min-width: 300px;
}
@media (max-width: 768px) {
  .interview_single_bottom_message {
    width: 100%;
    max-width: none;
    min-width: auto;
  }
}

.interview_single_bottom_message_icon {
  width: 100%;
  max-width: 120px;
  margin: 0 auto;
}

.interview_single_bottom_message_title {
  margin-top: 40px;
  color: #00AF70;
  font-size: clamp(24px, 2vw, 30px);
  line-height: 1.4; /* 200% */
  letter-spacing: 0.1em;
  padding-bottom: 12px;
  border-bottom: 1px solid #00AF70;
}
@media (max-width: 768px) {
  .interview_single_bottom_message_title {
    font-size: clamp(18px, 5.3333333333vw, 20px);
    margin-top: 12px;
  }
}

.interview_single_bottom_message_text {
  margin-top: 30px;
}
@media (max-width: 768px) {
  .interview_single_bottom_message_text {
    margin-top: 14px;
  }
}

.interview_single_bottom_message_image {
  margin-top: 30px;
  width: 100%;
}
@media (max-width: 768px) {
  .interview_single_bottom_message_image {
    mat: 20px;
  }
}

.interview_single_bottom_message_image img {
  border-radius: 15px;
  object-fit: cover;
  aspect-ratio: 20/13;
}

/* interview - interview_single_list
------------------------------ */
.interview_single_list {
  padding-top: 120px;
  padding-bottom: 120px;
  background-color: #F6F4F1;
}
@media (max-width: 768px) {
  .interview_single_list {
    padding-top: 60px;
    padding-bottom: 60px;
  }
}

.interview_single_list_items {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(330px, 1fr));
  gap: 30px clamp(30px, 2.6666666667vw, 40px);
}
.interview_single_list_item {
  background-color: #fff;
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 2;
  gap: 0;
  padding: 30px;
  background-color: #fff;
  border-radius: 15px;
  border: 1px solid #fff;
}
@media (max-width: 768px) {
  .interview_single_list_item {
    padding: 18px;
  }
}

@media (min-width: 769px) {
  .interview_single_list_item:hover {
    background-color: #E6F9DA;
    border: 1px solid #00AF70;
  }
}

@media (min-width: 769px) {
  .interview_single_list_item:hover .interview_single_list_item_image img {
    transform: scale(1.1);
  }
}

.interview_single_list_item_text {
  margin-top: 16px;
  color: #00AF70;
  font-size: clamp(18px, 1.3333333333vw, 20px);
  font-weight: 700;
  line-height: 1.8;
  padding-bottom: 26px;
  border-bottom: 1px solid #37DB71;
}

.interview_single_list_item_title {
  margin-top: 18px;
  font-weight: 700;
  padding-right: 60px;
  position: relative;
}
@media (max-width: 768px) {
  .interview_single_list_item_title {
    margin-top: 14px;
  }
}

.interview_single_list_item_title::before {
  content: "";
  position: absolute;
  background: url(../images/common/icon_arrow_right_circle_green.svg) no-repeat center center/contain;
  width: 26px;
  height: 26px;
  right: 0;
  bottom: 0;
}

.interview_single_list_item_head {
  display: flex;
}

/* jobs - jobs_archive_main
------------------------------ */
.jobs_archive_main {
  margin-top: 74px;
}
@media (max-width: 768px) {
  .jobs_archive_main {
    margin-top: 50px;
  }
}

.jobs_archive_main_wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  gap: 20px;
}
@media (max-width: 768px) {
  .jobs_archive_main_wrapper {
    flex-direction: column;
    gap: 50px;
  }
}

.jobs_archive_main_group {
  width: 100%;
  max-width: 900px;
  padding-bottom: 120px;
  flex: 2;
}
@media (max-width: 768px) {
  .jobs_archive_main_group {
    padding-bottom: 60px;
  }
}

.jobs_archive_main_item + .jobs_archive_main_item {
  margin-top: 40px;
}
@media (max-width: 768px) {
  .jobs_archive_main_item + .jobs_archive_main_item .jobs_archive_main_item + .jobs_archive_main_item {
    margin-top: 30px;
  }
}

.jobs_archive_main_item_wrapper {
  padding: clamp(20px, 2.6666666667vw, 40px);
  background: #F6F4F1;
  display: flex;
  border-radius: 15px;
  align-items: flex-start;
  gap: clamp(20px, 2.6666666667vw, 40px);
}
@media (max-width: 768px) {
  .jobs_archive_main_item_wrapper {
    flex-direction: column;
    gap: 20px;
    padding: 20px;
  }
}

a:hover .jobs_archive_main_item_wrapper {
  background-color: #E6F9DA;
}

.jobs_archive_main_item_img {
  width: 100%;
  max-width: 250px;
  min-width: 170px;
  overflow: hidden;
  border-radius: 15px;
  flex: 1;
}
@media (max-width: 768px) {
  .jobs_archive_main_item_img {
    max-width: 100%;
    min-width: auto;
  }
}

.jobs_archive_main_item_img img {
  width: 100%;
  height: auto;
  object-fit: cover;
  aspect-ratio: 250/163;
  transition: 0.3s;
  border-radius: 15px;
  overflow: hidden;
}
@media (min-width: 769px) {
  .jobs_archive_main_item a:hover img {
    transform: scale(1.1);
  }
}

.jobs_archive_main_item_content {
  width: 100%;
  max-width: 500px;
  flex: 2;
}

.jobs_archive_main_item_tags {
  display: flex;
  flex-wrap: wrap;
  gap: 4px clamp(10px, 1.3333333333vw, 20px);
}
@media (max-width: 768px) {
  .jobs_archive_main_item_tags {
    gap: 5px;
  }
}

.jobs_archive_main_item_tag {
  font-size: 14px;
  font-weight: 700;
  width: fit-content;
  text-align: center;
  color: #fff;
  border-radius: 30px;
  line-height: 1.3;
  background: #00AF70;
  padding: 4px 16px;
}
@media (max-width: 768px) {
  .jobs_archive_main_item_tag {
    padding: 3px 10px;
  }
}

.jobs_archive_main_item_title {
  color: #00AF70;
  margin-top: 16px;
  font-size: clamp(20px, 1.6vw, 24px);
  font-weight: 700;
  line-height: 1.2;
  padding-bottom: 12px;
  border-bottom: 1px solid #00AF70;
}
@media (max-width: 768px) {
  .jobs_archive_main_item_title {
    font-size: 18px;
  }
}

.jobs_archive_main_item_occupation {
  font-size: clamp(18px, 1.3333333333vw, 20px);
  font-weight: 700;
  line-height: 1.2;
  margin-top: 18px;
}
@media (max-width: 768px) {
  .jobs_archive_main_item_occupation {
    font-size: 16px;
    margin-top: 10px;
  }
}

.jobs_archive_main_item_text {
  margin-top: 4px;
}

.news_archive_item_button {
  margin-left: auto;
  width: 100%;
  max-width: 260px;
}
@media (max-width: 768px) {
  .news_archive_item_button {
    margin: 20px auto 0;
  }
}

.jobs_archive_no_posts_message {
  font-size: 18px;
}

.jobs_archive_page_navigation {
  margin-top: 70px;
}
@media (max-width: 768px) {
  .jobs_archive_page_navigation .jobs_archive_page_navigation {
    margin-top: 20px;
  }
}

.jobs_archive_main_side {
  width: 100%;
  max-width: 330px;
  padding-bottom: 120px;
  flex: 1;
}
@media (max-width: 768px) {
  .jobs_archive_main_side {
    margin: 0 auto;
    max-width: 360px;
    padding-bottom: 60px;
  }
}

.jobs_side_btn .news_archive_side_list_link {
  border-bottom: 1px solid #333;
  display: block;
  width: 100%;
}

.jobs_side_btn .news_archive_side_list_link span {
  display: inline-block;
  position: relative;
  width: 100%;
  padding: 22px 30px 20px 0;
  transition: all 0.3s;
}
@media (max-width: 768px) {
  .jobs_side_btn .news_archive_side_list_link span {
    padding: 20px 15px;
  }
}

@media (min-width: 769px) {
  .jobs_side_btn .news_archive_side_list_link:hover span {
    background-color: #F6F4F1;
  }
}

.jobs_side_btn .news_archive_side_list_link span::after {
  position: absolute;
  content: "";
  width: 26px;
  height: 26px;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  background: url(../images/common/icon_arrow_right_circle_green.svg) no-repeat center center/contain;
}

.jobs_side_wrapper {
  margin-top: 50px;
}
@media (max-width: 768px) {
  .jobs_side_wrapper {
    margin-top: 30px;
  }
}

.news_archive_side_title {
  font-weight: 700;
  background-color: #E6F9DA;
  padding: 22px 25px;
  border-radius: 15px;
  font-size: 20px;
}
@media (max-width: 768px) {
  .news_archive_side_title {
    padding: 20px 15px;
    font-size: 18px;
  }
}

.jobs_side_list .news_archive_side_list_link {
  border-bottom: 1px solid #00AF70;
}

.jobs_side_list a {
  display: inline-block;
  position: relative;
  font-weight: 700;
  width: 100%;
  color: #00AF70;
  border-bottom: 1px solid #333;
}

.jobs_side_list a span {
  display: inline-block;
  position: relative;
  width: 100%;
  padding: 22px 30px 20px 0;
  transition: all 0.3s;
}
@media (max-width: 768px) {
  .jobs_side_list a span {
    padding: 20px 15px;
  }
}

@media (min-width: 769px) {
  .jobs_side_list a:hover span {
    background-color: #F6F4F1;
  }
}

.jobs_side_list a span::after {
  position: absolute;
  content: "";
  width: 26px;
  height: 26px;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  background: url(../images/common/icon_arrow_right_circle_green.svg) no-repeat center center/contain;
}

/* jobs - jobs_single_main
------------------------------ */
.jobs_single_main {
  margin-top: 75px;
}
@media (max-width: 768px) {
  .jobs_single_main {
    margin-top: 60px;
  }
}

.jobs_single_main_wrapper {
  display: flex;
  justify-content: space-between;
  gap: clamp(20px, 3.3333333333vw, 50px);
}
@media (max-width: 768px) {
  .jobs_single_main_wrapper {
    flex-direction: column;
    gap: 50px;
  }
}

.jobs_single_main_article {
  width: 100%;
  max-width: 900px;
  flex: 2;
}

.jobs_article_tags {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
}
@media (max-width: 768px) {
  .jobs_article_tags {
    gap: 10px;
  }
}

.jobs_article_tag {
  font-size: 14px;
  font-weight: 700;
  width: 100%;
  max-width: 125px;
  text-align: center;
  color: #fff;
  background-color: #00AF70;
  padding: 5px 10px;
  border-radius: 30px;
}

.jobs_article_title {
  color: #00AF70;
  font-size: clamp(20px, 2vw, 30px);
  font-weight: 700;
  line-height: 1.4;
  padding-bottom: 16px;
  border-bottom: 1px solid #00AF70;
  margin-top: 30px;
}
@media (max-width: 768px) {
  .jobs_article_title {
    font-size: clamp(18px, 5.3333333333vw, 20px);
    margin-top: 20px;
  }
}

.jobs_article_img {
  width: 100%;
  max-width: 436px;
  margin-top: 50px;
}
@media (max-width: 768px) {
  .jobs_article_img {
    max-width: 100%;
    margin-top: 20px;
  }
}

.jobs_article_img img {
  aspect-ratio: 436/283;
  object-fit: cover;
  width: 100%;
  height: auto;
  border-radius: 15px;
}

.jobs_article_figure {
  margin-top: 41px;
}
@media (max-width: 768px) {
  .jobs_article_figure {
    margin-top: 20px;
  }
}

.jobs_article_figure dl {
  display: grid;
  grid-template-columns: clamp(140px, 12vw, 180px) 1fr;
}
@media (max-width: 768px) {
  .jobs_article_figure dl {
    grid-template-columns: 1fr;
  }
}

.jobs_article_figure dt {
  line-height: 2.1875;
  background: #E6F9DA;
  border-top: 1px solid #00AF70;
  padding: 17px 25px;
}
@media (max-width: 768px) {
  .jobs_article_figure dt {
    padding: 10px 15px;
  }
}

.jobs_article_figure dt:last-of-type {
  border-bottom: 1px solid #00AF70;
}
@media (max-width: 768px) {
  .jobs_article_figure dt:last-of-type {
    border-bottom: none;
  }
}

.jobs_article_figure dd {
  line-height: 2.1875;
  border-top: 1px solid #00AF70;
  padding: 17px 25px;
}
@media (max-width: 768px) {
  .jobs_article_figure dd {
    padding: 10px 15px;
  }
}

.jobs_article_figure dd:last-of-type {
  border-bottom: 1px solid #00AF70;
}

.jobs_article_btn {
  width: 100%;
  max-width: 260px;
  margin: 70px auto 0;
}
@media (max-width: 768px) {
  .jobs_article_btn {
    max-width: 230px;
    margin-top: 30px;
  }
}

.jobs_article_cards_wrapper {
  margin-top: 120px;
  padding-bottom: 120px;
}
@media (max-width: 768px) {
  .jobs_article_cards_wrapper {
    margin-top: 0px;
    padding-bottom: 60px;
  }
}

.jobs_article_cards_title {
  color: #00AF70;
  font-size: clamp(20px, 2vw, 30px);
  font-weight: 700;
  line-height: 1.4;
  padding-bottom: 16px;
  border-bottom: 1px solid #00AF70;
}
@media (max-width: 768px) {
  .jobs_article_cards_title {
    font-size: clamp(18px, 5.3333333333vw, 20px);
  }
}

.jobs_article_cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(20px, 3.2vw, 48px);
  margin-top: 40px;
}
@media (max-width: 768px) {
  .jobs_article_cards {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 16px;
    margin-top: 20px;
  }
}

.jobs_article_card {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
  gap: 0;
}

.jobs_article_card a {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
  padding-bottom: 20px;
  position: relative;
  background: #E6F9DA;
  border-radius: 15px;
}

@media (min-width: 769px) {
  .jobs_article_card a:hover {
    opacity: 0.6;
  }
}

.jobs_article_card_img {
  overflow: hidden;
  padding: clamp(16px, 2vw, 30px) clamp(16px, 2vw, 30px) 0;
}

.jobs_article_card_img img {
  width: 100%;
  height: auto;
  object-fit: cover;
  aspect-ratio: 320/210;
  transition: 0.3s;
  border-radius: 15px;
  overflow: hidden;
}

.jobs_article_card_title {
  font-size: clamp(18px, 1.3333333333vw, 20px);
  font-weight: 700;
  line-height: 1.6666666667;
  color: #00AF70;
  padding: 0 clamp(16px, 2vw, 30px);
  margin-top: 16px;
}
@media (max-width: 768px) {
  .jobs_article_card_title {
    margin-top: 10px;
    padding: 0 15px;
  }
}

.jobs_article_card_tags {
  margin-top: 14px;
  padding: 0 clamp(16px, 2vw, 30px) clamp(16px, 2vw, 30px);
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
}
@media (max-width: 768px) {
  .jobs_article_card_tags {
    margin-top: 15px;
    padding: 0 15px;
  }
}

.jobs_article_card_tag {
  font-size: 12px;
  font-weight: 700;
  width: fit-content;
  text-align: center;
  color: #fff;
  background: #00AF70;
  padding: 4px 12px;
  border-radius: 30px;
}

/* about - about_massage
------------------------------ */
.about_message {
  padding: 120px 0 120px;
  background-color: #F6F4F1;
}
@media (max-width: 768px) {
  .about_message {
    padding: 60px 0 60px;
  }
}

.about_message_content {
  display: flex;
  gap: 10px;
  margin-top: 80px;
}
@media (max-width: 768px) {
  .about_message_content {
    gap: 30px;
    flex-direction: column;
    margin-top: 40px;
  }
}

.about_message_texts {
  width: 100%;
  flex-grow: 1;
}

.about_message_text + .about_message_text {
  margin-top: 30px;
}
@media (max-width: 768px) {
  .about_message_text + .about_message_text {
    margin-top: 20px;
  }
}

.about_message_image {
  width: 100%;
  max-width: clamp(300px, 26vw, 390px);
  flex-shrink: 0;
}
@media (max-width: 768px) {
  .about_message_image {
    margin-inline: auto;
    max-width: 400px;
  }
}

/* about - about_philosophy
------------------------------ */
.about_philosophy {
  padding: 120px 0;
}
@media (max-width: 768px) {
  .about_philosophy {
    padding: 60px 0;
  }
}

.about_philosophy_texts {
  margin-top: 80px;
}
@media (max-width: 768px) {
  .about_philosophy_texts {
    margin-top: 40px;
  }
}

.about_philosophy_lead {
  color: #00AF70;
  text-align: center;
  font-size: clamp(30px, 2.6666666667vw, 40px);
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.075em;
}
@media (max-width: 768px) {
  .about_philosophy_lead {
    font-size: clamp(18px, 5.8666666667vw, 22px);
  }
}

.about_philosophy_lead span {
  display: inline-block;
  display: inline-block;
  border-bottom: 6px solid #E6F9DA;
}

.about_philosophy_text {
  margin-top: 40px;
  text-align: center;
}
@media (max-width: 768px) {
  .about_philosophy_text {
    text-align: left;
  }
}

.about_philosophy_buttons {
  margin-top: 80px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: clamp(16px, 1.3333333333vw, 20px);
}
@media (max-width: 768px) {
  .about_philosophy_buttons {
    margin-top: 40px;
    gap: 10px;
  }
}

.about_philosophy_button {
  width: 100%;
  max-width: clamp(260px, 20vw, 300px);
}

.about_philosophy_cta {
  margin-top: 120px;
}
@media (max-width: 768px) {
  .about_philosophy_cta {
    margin-top: 60px;
  }
}

/* about - about_office
------------------------------ */
.about_office {
  padding-block: 120px;
}
@media (max-width: 768px) {
  .about_office {
    padding-block: 60px 80px;
  }
}

.about_office_head {
  margin-top: 80px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px clamp(20px, 3.3333333333vw, 50px);
}
@media (max-width: 768px) {
  .about_office_head {
    display: flex;
    flex-direction: column-reverse;
    margin-top: 40px;
    max-width: 600px;
    margin-inline: auto;
  }
}

.about_office_map {
  width: 100%;
}

.about_office_map img {
  width: 100%;
  border-radius: 15px;
}

.about_office_building {
  width: 100%;
}

.about_office_building_image img {
  border-radius: 15px;
}

.about_office_building_name {
  margin-top: 16px;
  font-size: clamp(20px, 1.6vw, 24px);
  font-weight: 700;
  line-height: 1.6;
}
@media (max-width: 768px) {
  .about_office_building_name {
    font-size: 18px;
    margin-top: 12px;
  }
}

.about_office_building_address {
  margin-top: 6px;
  line-height: 1.6;
}

.about_office_body {
  margin-top: 80px;
}
@media (max-width: 768px) {
  .about_office_body {
    margin-top: 40px;
  }
}

.about_office_body_cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px clamp(20px, 3.3333333333vw, 50px);
}
@media (max-width: 768px) {
  .about_office_body_cards {
    grid-template-columns: 1fr;
    gap: 30px;
  }
}

.about_office_body_card {
  width: 100%;
  padding: 30px;
  border-radius: 15px;
  background: #F6F4F1;
}
@media (max-width: 768px) {
  .about_office_body_card {
    padding: 20px;
  }
}

.about_office_body_card_title {
  padding-left: 44px;
  position: relative;
  font-size: clamp(24px, 2vw, 30px);
  line-height: 1.3;
  padding-bottom: 28px;
  border-bottom: 2px solid #00AF70;
}
@media (max-width: 768px) {
  .about_office_body_card_title {
    font-size: clamp(18px, 5.3333333333vw, 20px);
    padding-left: 36px;
    padding-bottom: 20px;
  }
}

.about_office_body_card_title::before {
  content: "";
  position: absolute;
  width: 28px;
  height: 40px;
  left: 0;
  top: 0;
  background: url(../images/common/icon_pin_green.svg) no-repeat center center/contain;
}
.about_office_body_card_right .about_office_body_card_title::before {
  content: "";
  background: url(../images/common/icon_pin_yellow.svg) no-repeat center center/contain;
}
.about_office_body_card dl {
  margin-top: 12px;
}

.about_office_body_card dt {
  margin-top: 6px;
  font-size: clamp(20px, 1.6vw, 24px);
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.01em;
}

.about_office_body_card dd {
  padding-bottom: 12px;
  border-bottom: 1px solid #00AF70;
}

.about_office_body_card dd:last-of-type {
  border: none;
}

/* work - work_introduction
------------------------------ */
.work_introduction {
  padding-block: 120px;
}
@media (max-width: 768px) {
  .work_introduction {
    padding-block: 60px 80px;
  }
}

.work_introduction_inner {
  position: relative;
}

.work_introduction_inner::before {
  content: "";
  position: absolute;
  width: clamp(300px, 30vw, 450px);
  height: clamp(300px, 30vw, 450px);
  bottom: 0%;
  left: clamp(70px, 11.3333333333vw, 170px);
  background: url(../images/sub/work_introduction_bg.svg) no-repeat center center/contain;
}
@media (max-width: 768px) {
  .work_introduction_inner::before {
    width: 240px;
    height: 240px;
    left: 0;
  }
}

.work_introduction_texts {
  padding-left: clamp(100px, 13.3333333333vw, 200px);
  padding-top: 116px;
  line-height: 1.8;
  letter-spacing: 0.1em;
  width: 100%;
  max-width: clamp(600px, 63.3333333333vw, 950px);
  margin-inline: auto;
  position: relative;
  font-weight: 700;
}
@media (max-width: 768px) {
  .work_introduction_texts {
    padding-top: 40px;
    padding-left: 0;
    max-width: none;
  }
}

.work_introduction_lead {
  font-size: clamp(20px, 2vw, 30px);
  color: #00AF70;
}
@media (max-width: 768px) {
  .work_introduction_lead {
    font-size: 18px;
    text-align: center;
  }
}

.work_introduction_lead span {
  display: inline-block;
}

.work_introduction_text {
  font-size: clamp(18px, 1.7333333333vw, 26px);
  padding-top: 14px;
}
@media (max-width: 768px) {
  .work_introduction_text {
    font-size: 16px;
  }
}

/* works - work_introduction
------------------------------ */
.work_value {
  padding-block: 120px;
  background-color: #F6F4F1;
  overflow-x: hidden;
}
@media (max-width: 768px) {
  .work_value {
    padding-block: 60px;
  }
}

.work_value_blocks {
  margin-top: 80px;
}
@media (max-width: 768px) {
  .work_value_blocks {
    margin-top: 40px;
  }
}

.work_value_block {
  display: flex;
  border-radius: 20px;
  margin-left: calc(50% - 50vw);
}
@media (max-width: 768px) {
  .work_value_block {
    flex-direction: column;
    gap: 20px;
    background-color: #fff;
    padding: 20px;
    margin-inline: auto;
    border-radius: 20px;
  }
}
@media (min-width: 1800px) {
  .work_value_block {
    margin-inline: auto;
  }
}

.work_value_block + .work_value_block {
  margin-top: 60px;
}
@media (max-width: 768px) {
  .work_value_block + .work_value_block {
    margin-top: 40px;
  }
}

.work_value_block:nth-of-type(2n) {
  flex-direction: row-reverse;
  margin-left: auto;
  margin-right: calc(50% - 50vw);
}
@media (max-width: 768px) {
  .work_value_block:nth-of-type(2n) {
    flex-direction: column;
    margin-inline: auto;
  }
}
@media (min-width: 1800px) {
  .work_value_block:nth-of-type(2n) {
    margin-inline: auto;
  }
}

.work_value_block_image {
  flex-grow: 1;
  width: 100%;
  margin-top: 60px;
  margin-right: -150px;
  z-index: 2;
}
@media (max-width: 768px) {
  .work_value_block_image {
    margin-inline: auto;
    margin-top: 0;
  }
}

.work_value_block:nth-of-type(2n) .work_value_block_image {
  margin-left: -150px;
  margin-right: 0;
}
@media (max-width: 768px) {
  .work_value_block:nth-of-type(2n) .work_value_block_image {
    margin-inline: auto;
  }
}

.work_value_block_image img {
  border-radius: 0 20px 20px 0;
}
@media (max-width: 768px) {
  .work_value_block_image img {
    border-radius: 15px;
  }
}
@media (min-width: 1800px) {
  .work_value_block_image img {
    border-radius: 20px;
  }
}

.work_value_block:nth-of-type(2n) .work_value_block_image img {
  border-radius: 20px 0 0 20px;
}
@media (max-width: 768px) {
  .work_value_block:nth-of-type(2n) .work_value_block_image img {
    border-radius: 15px;
  }
}
@media (min-width: 1800px) {
  .work_value_block:nth-of-type(2n) .work_value_block_image img {
    border-radius: 20px;
  }
}

.work_value_block_texts {
  background: #fff;
  border-radius: 20px;
  flex-shrink: 0;
  width: 78%;
  padding: 60px 50px 40px clamp(170px, 13.3333333333vw, 200px);
  position: relative;
}
@media (max-width: 768px) {
  .work_value_block_texts {
    padding: 0;
    width: 100%;
    border-radius: 0;
    background: transparent;
  }
}

.work_value_block:nth-of-type(2n) .work_value_block_texts {
  padding-left: 50px;
  padding-right: clamp(170px, 13.3333333333vw, 200px);
}
@media (max-width: 768px) {
  .work_value_block:nth-of-type(2n) .work_value_block_texts {
    padding: 0;
    width: 100%;
    border-radius: 0;
    background: transparent;
  }
}

.work_value_block_texts .work_value_block_head {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.work_value_block_title {
  color: #00AF70;
  font-size: clamp(20px, 2vw, 30px);
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.1em;
}
@media (max-width: 768px) {
  .work_value_block_title {
    font-size: 18px;
  }
}

.work_value_block_tag {
  padding: 6px 14px;
  background-color: #00AF70;
  color: #fff;
  font-size: clamp(18px, 1.3333333333vw, 20px);
  border-radius: 50px;
}
@media (max-width: 768px) {
  .work_value_block_tag {
    font-size: 16px;
    padding: 4px 12px;
  }
}

.work_value_block_body {
  margin-top: 30px;
  line-height: 2.5;
}
@media (max-width: 768px) {
  .work_value_block_body {
    margin-top: 20px;
  }
}

.work_value_block_text + .work_value_block_text {
  margin-top: 20px;
}

/* works - work_occupation
------------------------------ */
.work_occupation {
  padding-block: 120px;
}
@media (max-width: 768px) {
  .work_occupation {
    padding-block: 60px;
  }
}

.work_occupation_cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
  gap: clamp(30px, 3.3333333333vw, 50px);
  margin-top: 80px;
}
@media (max-width: 768px) {
  .work_occupation_cards {
    grid-template-columns: 1fr;
    gap: 50px;
    margin-top: 40px;
  }
}

.work_occupation_card {
  width: 100%;
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 6;
  gap: 0;
  background: #E6F9DA;
  border-radius: 20px;
  overflow: hidden;
  padding-bottom: 40px;
}

.work_occupation_card_image {
  border-radius: 20px 20px 0 0;
}

.work_occupation_card_title {
  padding: 0 clamp(20px, 2vw, 30px) 0;
  margin-top: 26px;
  font-size: clamp(20px, 2vw, 30px);
  font-weight: 700;
  line-height: 1.6;
}

.work_occupation_card_title span {
  display: inline-block;
  width: 100%;
  padding-bottom: 12px;
  border-bottom: 1px solid #00AF70;
  color: #00AF70;
}

.work_occupation_card_lead {
  margin-top: 20px;
  padding: 0 clamp(20px, 2vw, 30px) 0;
  font-size: clamp(18px, 1.6vw, 24px);
  font-weight: 700;
  line-height: 1.6;
}

.work_occupation_card_list {
  font-weight: 700;
  padding: 0 clamp(20px, 2vw, 30px) 0;
  margin-top: 4px;
}

.work_occupation_card_text {
  padding: 0 clamp(20px, 2vw, 30px) 0;
}

.work_occupation_card_buttons {
  margin-top: clamp(20px, 2.6666666667vw, 40px);
  padding: 0 clamp(20px, 2vw, 30px) 0;
  width: 100%;
  max-width: 600px;
  margin-inline: auto;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 10px clamp(10px, 1.3333333333vw, 20px);
}

.work_occupation_card_button {
  width: 100%;
  max-width: 260px;
}

.work_occupation_card_button .button_green {
  font-size: 14px;
  padding-left: 22px;
  padding-right: 54px;
}

.work_occupation_card_button .button_green::before {
  right: 24px;
}

/* works - work_environment
------------------------------ */
.work_environment {
  padding-block: 120px;
}
@media (max-width: 768px) {
  .work_environment {
    padding-block: 60px;
  }
}

.work_environment_cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: clamp(20px, 3.1333333333vw, 47px);
  margin-top: 80px;
}
@media (max-width: 768px) {
  .work_environment_cards {
    grid-template-columns: 1fr;
    gap: 30px;
    margin-top: 40px;
  }
}

.work_environment_card {
  width: 100%;
  border-radius: 15px;
  overflow: hidden;
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
  gap: 0;
}

.work_environment_card_title {
  font-size: clamp(20px, 2vw, 30px);
  font-weight: 700;
  line-height: 1.5;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  background: #535353;
  padding: 30px clamp(20px, 1.6vw, 24px);
  color: #fff;
}

.work_environment_card_title span {
  display: inline-block;
}

.work_occupation_card_image {
  width: 100%;
}

.work_environment_card_text {
  background-color: #F6F4F1;
  padding: 30px clamp(20px, 1.6vw, 24px);
}
@media (max-width: 768px) {
  .work_environment_card_text {
    padding-top: 20px;
  }
}

.work_environment_buttons {
  margin-top: 80px;
  display: grid;
  width: 100%;
  max-width: 280px;
  margin-inline: auto;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 20px clamp(20px, 2vw, 30px);
}
@media (max-width: 768px) {
  .work_environment_buttons {
    margin-top: 30px;
    gap: 16px;
    max-width: 280px;
    grid-template-columns: 1fr;
  }
}

/* system - system_education
------------------------------ */
.system_education {
  padding-block: 120px;
}
@media (max-width: 768px) {
  .system_education {
    padding-block: 60px;
  }
}

.system_section_lead {
  margin-top: 60px;
  font-weight: 700;
  line-height: 3;
  text-align: center;
}
@media (max-width: 768px) {
  .system_section_lead {
    margin-top: 30px;
    line-height: 2;
    text-align: left;
  }
}

.system_education_cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: clamp(20px, 3.2vw, 48px);
  margin-top: 80px;
}
@media (max-width: 768px) {
  .system_education_cards {
    grid-template-columns: 1fr;
    gap: 30px;
    margin-top: 40px;
  }
}

.system_education_card {
  width: 100%;
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
  gap: 0;
  border-radius: 15px;
}

.system_education_card_title {
  padding: 30px 20px;
  background: #535353;
  color: #fff;
  font-size: clamp(20px, 2vw, 30px);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.02em;
  text-align: center;
  border-radius: 15px 15px 0 0;
}

.system_education_card_image {
  width: 100%;
}

.system_education_card_text {
  padding: 30px 20px;
  background: #F6F4F1;
  border-radius: 0 0 15px 15px;
}

.system_education_buttons {
  width: 100%;
  max-width: 960px;
  margin-top: 80px;
  margin-inline: auto;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 20px clamp(20px, 2vw, 30px);
}
@media (max-width: 768px) {
  .system_education_buttons {
    margin-top: 40px;
    gap: 16px;
    max-width: 280px;
    flex-direction: column;
  }
}

.system_education_button {
  width: 100%;
  max-width: clamp(260px, 20vw, 300px);
}
@media (max-width: 768px) {
  .system_education_button {
    max-width: 280px;
  }
}

/* system - system_benefit
------------------------------ */
.system_benefit {
  padding: 120px 0;
  background: #F6F4F1;
}
@media (max-width: 768px) {
  .system_benefit {
    padding: 60px 0;
  }
}

.system_benefit_cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
  gap: clamp(30px, 2.6666666667vw, 40px) clamp(20px, 2.6666666667vw, 40px);
  margin-top: 70px;
}
@media (max-width: 768px) {
  .system_benefit_cards {
    grid-template-columns: 1fr;
    margin-top: 40px;
  }
}

.system_benefit_card {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
  gap: 0;
  background: #fff;
  border-radius: 15px;
  padding: 30px;
}
@media (max-width: 768px) {
  .system_benefit_card {
    padding: 20px;
  }
}

.system_benefit_card_image {
  width: 100%;
  max-width: 112px;
  margin: 0 auto;
}

.system_benefit_card_title {
  margin-top: 12px;
  text-align: center;
  font-size: clamp(20px, 1.6vw, 24px);
  font-weight: 700;
  line-height: 1.5;
  color: #00AF70;
  padding-bottom: 12px;
  border-bottom: 1px solid #00AF70;
}

.system_benefit_card_text {
  margin-top: 24px;
}

/* entry - entry_flow
------------------------------ */
.entry_flow {
  margin-top: 120px;
}
@media (max-width: 768px) {
  .entry_flow {
    margin-top: 60px;
  }
}

.entry_flow_content {
  margin-top: 80px;
}
@media (max-width: 768px) {
  .entry_flow_content {
    margin-top: 40px;
  }
}

.entry_flow_card {
  border-radius: 20px;
  background: #F6F4F1;
  padding: 50px 44px 60px;
  position: relative;
}
@media (max-width: 768px) {
  .entry_flow_card {
    padding: 20px 20px 46px;
  }
}

.entry_flow_card::before {
  content: "";
  position: absolute;
  width: 59px;
  height: 96px;
  bottom: -28px;
  left: 70px;
  background: url(../images/sub/entry_flow_card_arrow_down.svg) no-repeat center center/contain;
}
@media (max-width: 768px) {
  .entry_flow_card::before {
    width: 37px;
    height: 60px;
    left: 50px;
    bottom: -23px;
  }
}

.entry_flow_card:last-of-type::before {
  display: none;
}

.entry_flow_card + .entry_flow_card {
  margin-top: 40px;
}
@media (max-width: 768px) {
  .entry_flow_card + .entry_flow_card {
    margin-top: 30px;
  }
}

.entry_flow_card_wrapper {
  display: flex;
  gap: clamp(30px, 3.6vw, 54px);
}
@media (max-width: 768px) {
  .entry_flow_card_wrapper {
    flex-direction: column;
    gap: 4px;
  }
}

.entry_flow_card_number {
  background: linear-gradient(105deg, #00AF70 5.13%, #37DB71 95.7%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-size: 75px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0.03em;
  font-family: "Red Hat Display", sans-serif;
  text-align: center;
  width: 100%;
  flex-shrink: 0;
  max-width: clamp(90px, 7.2vw, 108px);
}
@media (max-width: 768px) {
  .entry_flow_card_number {
    font-size: 48px;
  }
}

.entry_flow_card_texts {
  width: 100%;
  flex-grow: 1;
}

.entry_flow_card_title {
  color: #00AF70;
  font-size: clamp(20px, 2vw, 30px);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.1em;
  padding-bottom: 10px;
  border-bottom: 1px solid #00AF70;
  width: 100%;
}

.entry_flow_card_text {
  width: 100%;
  margin-top: 20px;
}

.entry_flow_card_button {
  margin-top: 30px;
  width: 100%;
  max-width: 300px;
}
@media (max-width: 768px) {
  .entry_flow_card_button {
    margin-top: 20px;
    max-width: 260px;
    margin-inline: auto;
  }
}

/* entry - entry_form
------------------------------ */
.entry_form {
  padding-block: 120px;
}
@media (max-width: 768px) {
  .entry_form {
    padding-block: 60px;
  }
}

.entry_form_title {
  color: #00AF70;
  font-size: clamp(22px, 2vw, 30px);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.1em;
  padding-bottom: 12px;
  border-bottom: 1px solid #00AF70;
  width: 100%;
}

.entry_form_text {
  margin-top: 26px;
}
@media (max-width: 768px) {
  .entry_form_text {
    margin-top: 20px;
  }
}

/* form
------------------------------ */
.form_wrapper {
  margin-top: 40px;
}
@media (max-width: 768px) {
  .form_wrapper {
    margin-top: 20px;
  }
}

.form_row {
  display: grid;
  grid-template-columns: clamp(270px, 24.6666666667vw, 370px) 1fr;
}
@media (max-width: 768px) {
  .form_row {
    grid-template-columns: 1fr;
    gap: 10px;
  }
}

.form_row_center {
  align-items: center;
}

.form_title {
  position: relative;
  line-height: 2.5;
  font-weight: 700;
  letter-spacing: 0.05em;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  border-top: 1px solid #00AF70;
  padding: 16px 20px;
  background-color: #E6F9DA;
  box-sizing: border-box;
}
@media (max-width: 768px) {
  .form_title {
    align-items: center;
    padding: 10px 15px;
    border-bottom: 1px solid #00AF70;
  }
}

.form_title:last-of-type {
  border-bottom: 1px solid #00AF70;
}
.form_title_small {
  font-size: 14px;
  font-weight: 400;
}

.form_title.form_title_start {
  align-items: flex-start;
}

.form_title_must,
.form_title_any {
  font-size: 14px;
  font-weight: 700;
  line-height: 100%;
  color: #fff;
  background-color: #00AF70;
  border-radius: 50px;
  width: 100%;
  max-width: 57px;
  text-align: center;
  padding: 8px 5px;
  margin-top: 7px;
}
@media (max-width: 768px) {
  .form_title_must,
  .form_title_any {
    font-size: 13px;
    padding: 5px 5px;
    margin-top: 0;
  }
}

.form_input {
  line-height: 187.5%;
  letter-spacing: 0;
  display: grid;
  align-items: center;
  padding: 12px 20px 11px;
  min-height: 74px;
  border-top: 1px solid #00AF70;
  box-sizing: border-box;
}
@media (max-width: 768px) {
  .form_input {
    padding: 0 15px 10px;
    border: none;
    min-height: auto;
  }
}

.form_input:last-of-type {
  border-bottom: 1px solid #00AF70;
}
@media (max-width: 768px) {
  .form_input:last-of-type {
    border: none;
  }
}

.form_input_example {
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: #E6F9DA;
  margin-top: 1px;
}

.form_input_request {
  padding: 25px 24px;
}

.form_input_about {
  padding: 19px 24px 23px;
}

.form_input_years {
  display: flex;
  align-items: center;
  gap: 0 9px;
}

.form_input input[type=text],
.form_input input[type=tel],
.form_input input[type=email] {
  width: 100%;
  background-color: #E6F9DA !important;
  padding: 10px 15px;
}
@media (max-width: 768px) {
  .form_input input[type=text],
  .form_input input[type=tel],
  .form_input input[type=email] {
    padding: 10px 10px;
  }
}

.form_input_name input[type=text] {
  max-width: 460px;
}

.form_input_tel input[type=tel] {
  max-width: 460px;
}

.form_input_mail input[type=email] {
  max-width: 460px;
}

.form_input_post {
  display: flex;
  align-items: center;
  gap: 10px;
}

.form_input_post {
  display: flex;
  align-items: center;
  gap: 10px 12px;
}

.form_input .form_input_post input[type=text] {
  width: 100%;
  max-width: 355px;
}

.form_input_address_text input[type=text] {
  width: 100%;
  max-width: 460px;
  margin-top: 10px;
}

.form_input_textarea textarea {
  width: 100% !important;
  max-width: 881px;
  height: 160px !important;
  padding: 10px 15px;
  background-color: #E6F9DA;
}

.form_input_text {
  position: relative;
  display: inline-block;
  font-size: 15px;
  padding-left: 15px;
}

.form_input_text::before {
  position: absolute;
  content: "※";
  left: 0;
  top: 0;
}

.form_input_lot {
  padding: 25px 24px 22px;
}

.form_input_birth_calender {
  width: fit-content;
  background-color: #37DB71;
  padding: 5px 15px;
}

.form_radio {
  padding: 11px 20px;
}
@media (max-width: 768px) {
  .form_radio {
    padding-top: 0;
  }
}

.form_radio_buttons {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  height: 100%;
  gap: 10px 45px;
}
@media (max-width: 768px) {
  .form_radio_buttons {
    flex-direction: column;
    align-items: flex-start;
  }
}

.form_radio_button {
  letter-spacing: 0.05em;
}

.form_radio_button input[type=radio] {
  position: relative;
  display: inline-block;
  appearance: none;
  width: 40px;
  height: 40px;
  max-width: 100%;
  transition: all 0.15s ease-out 0s;
  cursor: pointer;
  background-color: #E6F9DA;
  outline: none;
  border-radius: 50%;
}

.form_radio_button input[type=radio]:before {
  position: absolute;
  content: "";
  width: 20px;
  height: 20px;
  left: 50%;
  top: 50%;
  border-radius: 50%;
  transform: scale(0) translate(-50%, -50%);
  transition: all ease-out 250ms;
}

.form_radio_button input[type=radio]:checked:before {
  transform: scale(1) translate(-50%, -50%);
  background-color: #00AF70;
}

.form_radio_button label {
  display: flex;
  align-items: center;
  gap: 0 9px;
  letter-spacing: 0.05em;
}

.form_title.form_title_file.form_title_file_second,
.form_input.form_input_file.form_input_file_second {
  border-top: none;
}

@media (max-width: 768px) {
  .form_title.form_title_file.form_title_file_second {
    border-top: 1px solid #00AF70;
  }
}

@media (max-width: 768px) {
  .form_title.form_title_file {
    padding-bottom: 0;
  }
}

@media (max-width: 768px) {
  .form_input.form_input_file {
    padding-top: 0;
    border-top: none;
  }
}

.form_input_file input[type=file]::-webkit-file-upload-button {
  background: -webkit-gradient(linear, left top, left bottom, from(transparent), to(transparent));
  background-color: transparent;
  border: 0;
  margin: 0 30px 0 0;
}
@media (max-width: 768px) {
  .form_input_file input[type=file]::-webkit-file-upload-button {
    margin: 0 2px 0 0;
  }
}

.form_input_file input {
  position: relative;
}
@media (max-width: 768px) {
  .form_input_file input {
    font-size: 14px;
    width: 100%;
    max-width: 344px;
  }
}

.form_input_file input::before {
  background: #E6F9DA;
  content: "ファイル選択";
  font-size: 16px;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  border: 1px solid #00AF70;
  padding: 0px 20px;
  box-sizing: border-box;
  position: absolute;
  height: 100%;
  display: grid;
  place-items: center;
  line-height: 1;
}
@media (max-width: 768px) {
  .form_input_file input::before .form_input_file input::before {
    padding: 2px 10px;
    font-size: 14px;
  }
}

.form_input_file_annotation {
  margin-top: 10px;
  font-size: 14px;
}

.form .mfp_err {
  display: none;
}

.form_file .mfp_element_file {
  font-size: 14px;
  max-width: 100%;
  padding: 7px 8px;
}

.form_privacy_wrapper {
  margin-top: 40px;
}
@media (max-width: 768px) {
  .form_privacy_wrapper {
    margin-top: 20px;
  }
}

.form_privacy {
  height: 178px;
  overflow: scroll;
  background-color: #E6F9DA;
  padding: 35px 40px;
}
@media (max-width: 768px) {
  .form_privacy {
    height: 150px;
    padding: 15px 20px;
    margin-top: 15px;
  }
}

.form_privacy_title {
  font-size: clamp(20px, 1.6vw, 24px);
  font-weight: 700;
  color: #00AF70;
}

.form_privacy_text {
  line-height: 180%;
  margin-top: 15px;
}
@media (max-width: 768px) {
  .form_privacy_text {
    margin-top: 10px;
  }
}

.form_privacy_text p + p {
  margin-top: 20px;
}
@media (max-width: 768px) {
  .form_privacy_text p + p {
    margin-top: 10px;
  }
}

.form_checkbox {
  display: flex;
  align-items: center;
  height: 100%;
}

.form_checkbox_wrapper {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 15px 20px;
}

.form_checkbox_confirmation {
  justify-content: center;
  margin-top: 56px;
}
@media (max-width: 768px) {
  .form_checkbox_confirmation {
    margin-top: 20px;
  }
}

.form_checkbox_label.form_checkbox_label_none {
  display: none;
}

.form_checkbox_parts {
  position: relative;
  display: inline-block;
  padding-left: 48px;
}

.form_checkbox_parts::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  width: 35px;
  height: 35px;
  border: none;
  background-color: #E6F9DA;
}

.form_checkbox_input {
  display: none;
}

.form_checkbox_input:checked + .form_checkbox_parts::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 11px;
  width: 12px;
  height: 24px;
  transform: translateY(-50%) rotate(45deg);
  border-bottom: 3px solid #00AF70;
  border-right: 3px solid #00AF70;
}

.checkbox_err .mfp_err {
  display: none;
  width: 228px;
  max-width: 100%;
  margin: auto;
  padding: 5px 0;
}

.form_input_select {
  position: relative;
  width: 100%;
  display: flex;
  align-items: center;
  gap: 10px 40px;
  flex-wrap: wrap;
}
@media (max-width: 768px) {
  .form_input_select {
    gap: 10px 30px;
  }
}

.form_input_select span {
  text-wrap: nowrap;
  display: inline-block;
  width: fit-content;
}

.form_input_select select {
  cursor: pointer;
  padding: 10px 60px 10px 15px;
  background: url(../images/common/icon_triangle_arrow_down_white.svg) no-repeat right 9px center/22px 13px, linear-gradient(270deg, #37DB71 0, #37DB71 40px, #E6F9DA 40px, #E6F9DA 100%);
  margin-left: 10px;
}

.form_input_select span:nth-of-type(n + 2) select {
  margin-left: 0;
}

.form_btn {
  position: relative;
  width: 100%;
  max-width: 290px;
  margin: 50px auto 0;
  transition: 0.3s;
}
@media (max-width: 768px) {
  .form_btn {
    max-width: 260px;
    margin: 30px auto 0;
  }
}

.mfp_element_button {
  background-color: #7FF232;
}

/* contact-thanks - contact_thanks
------------------------------ */
.contact-thanks {
  margin-top: 100px;
  margin-bottom: 130px;
}
@media (max-width: 768px) {
  .contact-thanks {
    margin-top: 50px;
    margin-bottom: 70px;
  }
}

.contact-thanks_text {
  margin-top: 50px;
}
@media (max-width: 768px) {
  .contact-thanks_text {
    margin-top: 20px;
  }
}

.contact-thanks_btn {
  margin-top: 50px;
  width: 100%;
  max-width: 260px;
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 768px) {
  .contact-thanks_btn {
    margin-top: 20px;
  }
}

/* 404
------------------------------ */
.not_found {
  margin-top: 100px;
  padding-bottom: 120px;
}
@media (max-width: 768px) {
  .not_found {
    margin-top: 50px;
    padding-bottom: 60px;
  }
}

.not_found_text {
  text-align: center;
}

.not_found_btn {
  text-align: center;
  margin-top: 50px;
  width: 100%;
  max-width: 300px;
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 768px) {
  .not_found_btn {
    margin-top: 30px;
  }
}

.other-page_cta01 {
  margin-top: 100px;
}
@media (max-width: 768px) {
  .other-page_cta01 {
    margin-top: 50px;
  }
}

/* footer
------------------------------ */
.footer {
  margin: 130px 0 0;
  position: relative;
}
@media (max-width: 768px) {
  .footer {
    margin-top: 70px;
  }
}

.footer::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: clamp(400px, 35.3333333333vw, 530px);
  height: clamp(400px, 35.3333333333vw, 530px);
  background: url(../images/common/footer_bg.svg) no-repeat center center/contain;
  z-index: -1;
}
@media (max-width: 768px) {
  .footer::before {
    width: 100%;
    max-width: clamp(200px, 20vw, 300px);
    height: clamp(200px, 20vw, 300px);
    top: 28%;
  }
}

.footer_inner {
  display: flex;
  gap: 50px;
  justify-content: space-between;
}

.footer_texts {
  width: 100%;
  max-width: 300px;
  flex-shrink: 0;
}
@media (max-width: 768px) {
  .footer_texts {
    min-width: auto;
    text-align: center;
    margin-inline: auto;
  }
}

.footer_logo {
  width: 100%;
  max-width: 400px;
}

.footer_logo_name {
  display: inline-block;
  font-size: 20px;
  font-weight: 700;
  line-height: 1;
  margin-top: 20px;
}

.footer_logo_title {
  color: #37DB71;
  font-size: 18px;
  line-height: 1;
}

.footer_logo_title span {
  font-family: "Red Hat Display", sans-serif;
}

.footer_address {
  width: 100%;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.05em;
}

.footer_address span {
  display: inline-block;
}

.footer_navs {
  display: flex;
  width: 100%;
  max-width: 450px;
  gap: clamp(30px, 5.3333333333vw, 80px);
}
@media (max-width: 768px) {
  .footer_navs {
    display: none;
  }
}

.footer_nav {
  width: 100%;
  max-width: 120px;
  font-size: 14px;
}

.footer_nav_item a {
  display: inline-block;
  white-space: nowrap;
  padding: 0 6px;
  position: relative;
}

.footer_nav_item a::before {
  content: "";
  background-color: #37DB71;
  bottom: 1px; /* 要素の下端からの距離 */
  height: 2px; /* 下線の高さ */
  left: 0; /* 要素の左端からの距離 */
  opacity: 0; /* 不透明度 */
  position: absolute; /* 絶対位置指定 */
  transition: all 0.3s; /* アニメーション効果を追加 */
  width: 100%; /* 要素の幅 */
}

.footer_nav_item a:hover::before {
  bottom: 3px; /* 下線を上から下に移動 */
  opacity: 1; /* 不透明度を変更してフェードイン */
}

.footer_nav_sub {
  padding-left: 30px;
}

.footer_nav_sub_item a {
  position: relative;
  color: #333;
  display: block;
}

.footer_nav_sub_item a span {
  position: relative;
}

.footer_nav_sub_item a span::before {
  content: "";
  position: absolute;
  width: 8px;
  height: 13px;
  left: -12px;
  top: 50%;
  transform: translateY(-50%);
  background: url(../images/common/icon_arrow_right_blue.svg) no-repeat center center/contain;
}

.recruit_message_swiper {
  margin: 70px calc(50% - 50vw) 0;
  width: 100vw;
}
@media (max-width: 768px) {
  .recruit_message_swiper {
    margin-top: 40px;
  }
}

.footer_swiper {
  margin-top: 60px;
}
@media (max-width: 768px) {
  .footer_swiper {
    margin-top: 40px;
  }
}

.footer_swiper_wrapper {
  transition-timing-function: linear;
}

.footer_swiper_slide {
  width: 300px;
}
@media (max-width: 768px) {
  .footer_swiper_slide {
    width: 200px;
  }
}

.footer_swiper_slide img {
  width: 100%;
}

.footer_copyright {
  color: #fff;
  margin-top: 120px;
  padding: 40px 0;
  background: #00AF70;
  text-align: center;
}
@media (max-width: 768px) {
  .footer_copyright {
    margin-top: 60px;
    padding: 16px 0 100px;
  }
}

.footer_copyright small {
  font-size: 12px;
  letter-spacing: 0.05em;
  color: #fff;
}
@media (max-width: 768px) {
  .footer_copyright small {
    display: block;
    width: 60%;
    margin: 0 auto;
  }
}

/* page_top
------------------------------ */
.page_top {
  position: fixed;
  right: 30px;
  bottom: 30px;
  width: 50px;
  height: 50px;
  color: #fff;
  background-color: #37DB71;
  border: 1px solid #37DB71;
  cursor: pointer;
  transition: 0.3s;
  z-index: 10;
  box-shadow: 0px 0px 5px rgba(255, 255, 255, 0.5);
}
@media (max-width: 768px) {
  .page_top {
    right: 16px;
    bottom: 100px;
  }
}

@media (min-width: 769px) {
  .page_top:hover {
    color: #37DB71;
    background-color: #fff;
  }
}

.page_top::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 16px;
  height: 16px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  transform: translate(-50%) rotate(-45deg);
}

@media (min-width: 769px) {
  .page_top:hover::before {
    border-color: #37DB71;
  }
}

/* foot_menu
------------------------------ */
.foot_menu {
  display: none;
  position: fixed;
  width: 100%;
  left: 0;
  bottom: 0;
  grid-template-columns: 1fr 1fr;
  z-index: 100;
  font-size: clamp(16px, 1.2vw, 18px);
  font-weight: 700;
  line-height: 1;
  height: auto;
  box-shadow: 0px -1px 10px -3px rgba(0, 0, 0, 0.7);
}

.foot_menu_wrapper {
  display: grid;
  grid-template-columns: 1fr 1fr;
}

.footer_action_item {
  text-align: center;
}

.footer_action_item a {
  position: relative;
  display: block;
  padding: 44px 0px 12px;
}

.footer_action_item.jobs {
  background-color: #E6F9DA;
  color: #00AF70;
}

.footer_action_item.contact {
  background-color: #37DB71;
  color: #fff;
}

.footer_action_item.jobs a::before {
  position: absolute;
  content: "";
  width: 29px;
  height: 29px;
  top: 10px;
  left: 50%;
  transform: translateX(-50%);
  background: url(../images/common/icon_jobs_green.svg) no-repeat center center/contain;
}

.footer_action_item.contact a::before {
  position: absolute;
  content: "";
  width: 29px;
  height: 29px;
  top: 10px;
  left: 50%;
  transform: translateX(-50%);
  background: url(../images/common/icon_mail_white.svg) no-repeat center center/contain;
}

/* about_data
------------------------------ */
.about_data {
  padding: 120px 0;
}
@media (max-width: 768px) {
  .about_data {
    padding: 60px 0;
  }
}

.about_data_content {
  margin-top: 80px;
}

.about_data_items_row {
  display: grid;
  gap: clamp(10px, 1.6666666667vw, 25px);
}
@media (max-width: 768px) {
  .about_data_items_row {
    max-width: 400px;
    margin: 0 auto;
  }
}

.about_data_items_row + .about_data_items_row {
  margin-top: clamp(10px, 1.6666666667vw, 25px);
}

.about_data_items_row.about_data_items_row_first,
.about_data_items_row.about_data_items_row_fifth {
  grid-template-columns: repeat(3, 1fr);
}
@media (max-width: 768px) {
  .about_data_items_row.about_data_items_row_first,
  .about_data_items_row.about_data_items_row_fifth {
    grid-template-columns: 1fr;
  }
}

.about_data_item {
  background: #E6F9DA;
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 1;
  gap: 0;
  padding: 34px clamp(16px, 2vw, 30px) 40px;
  border-radius: 15px;
}
@media (max-width: 768px) {
  .about_data_item {
    padding: 24px 16px 26px;
  }
}

.about_data_item_wrapper {
  position: relative;
}

.about_data_item_content_head {
  text-align: center;
  font-size: clamp(20px, 1.7333333333vw, 26px);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.01em;
  position: relative;
  z-index: 2;
}

.about_data_item_title span {
  display: inline-block;
}

.about_data_item_body {
  position: relative;
  z-index: 2;
  margin-top: 20px;
}

.about_data_item_script {
  justify-content: center;
  font-weight: 600;
  line-height: 1;
  display: flex;
  align-items: flex-end;
  background: linear-gradient(105deg, #00AF70 5.13%, #37DB71 95.7%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.about_data_item_script_image_sp {
  width: 100%;
  max-width: 200px;
  margin-inline: auto;
}

.about_data_item_num {
  font-family: "Red Hat Display", sans-serif;
  font-size: clamp(50px, 5.3333333333vw, 80px);
}

.about_data_item_unit {
  font-size: clamp(16px, 1.6vw, 24px);
  margin-bottom: 10px;
}

.about_data_item_annotation {
  text-align: center;
  margin-top: 16px;
  font-size: 14px;
  line-height: 1.4;
}

.about_data_items_row.about_data_items_row_second,
.about_data_items_row.about_data_items_row_third {
  grid-template-columns: repeat(2, 1fr);
}
@media (max-width: 768px) {
  .about_data_items_row.about_data_items_row_second,
  .about_data_items_row.about_data_items_row_third {
    grid-template-columns: 1fr;
  }
}

.about_data_items_row_second .about_data_item_wrapper,
.about_data_items_row_third .about_data_item_wrapper {
  display: flex;
  justify-content: space-between;
  gap: 5px;
  align-items: center;
}
@media (max-width: 768px) {
  .about_data_items_row_second .about_data_item_wrapper,
  .about_data_items_row_third .about_data_item_wrapper {
    flex-direction: column;
  }
}

@media (max-width: 768px) {
  .about_data_items_row_second .about_data_item_wrapper {
    display: block;
  }
}

.about_data_items_row.about_data_items_row_fourth {
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
}
@media (max-width: 768px) {
  .about_data_items_row.about_data_items_row_fourth {
    grid-template-columns: 1fr;
    grid-template-rows: 1fr;
  }
}

.about_data_items_row_fourth .about_data_item {
  display: block;
}

.about_data_items_row_fourth .about_data_item.about_data_item_age,
.about_data_items_row_fourth .about_data_item.about_data_item_staff {
  display: flex;
  align-items: center;
  gap: 10px;
}

.about_data_item_staff,
.about_data_item_age {
  display: flex;
  align-items: center;
}

.about_data_item_staff {
  grid-column: 1/2;
  grid-row: 1/2;
}
@media (max-width: 768px) {
  .about_data_item_staff {
    grid-column: auto;
    grid-row: auto;
  }
}

.about_data_item_age {
  grid-column: 1/2;
  grid-row: 2/3;
}
@media (max-width: 768px) {
  .about_data_item_age {
    grid-column: auto;
    grid-row: auto;
  }
}

.about_data_item_workplace {
  grid-column: 2/3;
  grid-row: 1/3;
}
@media (max-width: 768px) {
  .about_data_item_workplace {
    grid-column: auto;
    grid-row: auto;
  }
}

.about_data_item_staff .about_data_item_wrapper,
.about_data_item_age .about_data_item_wrapper {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: center;
  width: 100%;
  margin: 0 auto;
}
@media (max-width: 768px) {
  .about_data_item_staff .about_data_item_wrapper,
  .about_data_item_age .about_data_item_wrapper {
    flex-direction: column;
  }
}

.about_data_item_birthplace .about_data_item_title,
.about_data_item_workplace .about_data_item_title {
  text-align: left;
}

.about_data_items_row.about_data_items_row_sixth {
  grid-template-columns: 2fr 1fr;
}
@media (max-width: 768px) {
  .about_data_items_row.about_data_items_row_sixth {
    grid-template-columns: 1fr;
  }
}

.about_data_items_row_sixth .about_data_item {
  display: block;
}

.about_data_item_wrapper_childcare {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: center;
  width: 100%;
  max-width: clamp(300px, 36.6666666667vw, 550px);
  margin: 0 auto;
  gap: 20px;
}

.about_data_item_wrapper_childcare_man .about_data_item_num {
  font-size: clamp(20px, 2vw, 30px);
}

.about_data_item_deco {
  position: absolute;
  width: 100%;
  max-width: clamp(60px, 6.6666666667vw, 100px);
}

.about_data_item_deco_bottom {
  bottom: 0;
  right: 50%;
  transform: translateX(50%);
}

.about_data_item_deco_right {
  top: 0;
  right: 0;
}

.about_data_item_deco_left {
  top: 0;
  left: 0;
}

.about_data_item_deco_center {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.inner_ready {
  padding: 120px 0 120px;
}

.inner_ready_bg {
  background-color: #F6F4F1;
}

.about_data_annotation {
  text-align: right;
}

/*# sourceMappingURL=style.css.map */
