@charset "UTF-8";
/*共通スタイル*/
/* main colors */
*, *::before, *::after {
  box-sizing: border-box;
}

body, h1, h2, h3, h4, p, figure, blockquote, dl, dd {
  margin: 0;
}

ul[role=list], ol[role=list] {
  list-style: none;
}

html:focus-within {
  scroll-behavior: smooth;
}

body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}

a:not([class]) {
  text-decoration-skip-ink: auto;
}

img, picture {
  max-width: 100%;
  display: block;
}

input, button, textarea, select {
  font: inherit;
}

@media (prefers-reduced-motion: reduce) {
  html:focus-within {
    scroll-behavior: auto;
  }
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
body {
  word-break: break-all;
  font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  text-size-adjust: 100%;
  font-family: "YakuHanJP", "Noto Sans JP", sans-serif;
  color: #313234;
  line-height: 1.75;
  font-size: 14px;
  font-weight: 500;
}
@media (min-width: 920px) {
  body {
    font-size: clamp(14px, 1vw, 19.8px);
    line-height: 1.75;
  }
}

img,
svg {
  display: inline-block;
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

svg {
  max-width: 100%;
}

button {
  cursor: pointer;
}

a {
  color: inherit;
  text-decoration: none;
}
a:hover {
  cursor: pointer !important;
  text-decoration: none;
  color: inherit;
}

ul {
  list-style-type: none;
  padding: 0;
  margin: 0;
}
ul.disc {
  list-style-type: disc;
  padding-left: 1.5em;
  list-style-position: outside;
}

html:has(.smooth:target) {
  scroll-behavior: smooth;
}

.site_wrapper {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 100vh;
}

.site_body {
  margin-bottom: auto;
}

.section_inr {
  position: relative;
  max-width: 1980px;
  margin: 0 auto;
}

.section_ttl {
  margin-bottom: 12px;
}
.section_ttl_en {
  font-family: "Barlow Semi Condensed", sans-serif;
  font-size: 45px;
  font-weight: 400;
  line-height: 1;
  margin-bottom: 6px;
}
@media (min-width: 920px) {
  .section_ttl_en {
    font-size: clamp(40px, 4.25vw, 84.15px);
  }
}
.section_ttl_en_large {
  font-size: 48px;
  margin-bottom: 8px;
}
@media (min-width: 920px) {
  .section_ttl_en_large {
    margin-bottom: 22px;
    font-size: clamp(50px, 4.6875vw, 92.8125px);
  }
}
.section_ttl_ja {
  font-size: clamp(16px, 1.5vw, 29.7px);
  line-height: 1;
  font-weight: 400;
}
.section_ttl_center {
  text-align: center;
}
.section_ttl_green {
  color: #24D53F;
}
.section_ttl_white {
  color: #fff;
}

.container-large {
  width: 100%;
  max-width: 720px;
  padding: 0 15px;
  margin: 0 auto;
}
@media (min-width: 920px) {
  .container-large {
    max-width: clamp(1500px, 100vw, 1640px);
    padding: 0 40px;
  }
}

.container-middle {
  width: 100%;
  max-width: 720px;
  padding: 0 15px;
  margin: 0 auto;
}
@media (min-width: 920px) {
  .container-middle {
    max-width: clamp(1340px, 86.25vw, 1560px);
    padding: 0 40px;
  }
}

.container-base {
  width: 100%;
  max-width: 720px;
  padding: 0 15px;
  margin: 0 auto;
}
@media (min-width: 920px) {
  .container-base {
    max-width: clamp(1260px, 78.75vw, 1560px);
    padding: 0 40px;
  }
}

.container-small {
  width: 100%;
  max-width: 720px;
  padding: 0 15px;
  margin: 0 auto;
}
@media (min-width: 920px) {
  .container-small {
    max-width: clamp(1200px, 77.5vw, 1560px);
    padding: 0 40px;
  }
}

.br_sp {
  display: block;
}
@media (min-width: 920px) {
  .br_sp {
    display: none;
  }
}

.br_pc {
  display: none;
}
@media (min-width: 920px) {
  .br_pc {
    display: block;
  }
}

.btn {
  padding: 12px 13px 12px 50px;
  border: 1px solid #313234;
  display: flex;
  align-items: center;
  gap: 50px;
  width: fit-content;
  transition: all 0.3s ease;
}
@media (min-width: 920px) {
  .btn {
    padding: min(14px, 0.875vw) min(15px, 0.9375vw) min(14px, 0.875vw) min(68px, 4.25vw);
    gap: 60px;
  }
}
.btn_txt {
  font-size: 19px;
  line-height: 1.25;
  font-family: "Barlow Semi Condensed", sans-serif;
  font-weight: 400;
}
@media (min-width: 920px) {
  .btn_txt {
    font-size: min(26px, 1.625vw);
  }
}
.btn_arrow {
  display: inline-block;
  width: 13px;
  height: 30px;
  background-color: #313234;
  -webkit-mask-image: url("../img/common/btn_arrow.svg");
  mask-image: url("../img/common/btn_arrow.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
  transition: background-color 0.3s ease;
}
@media (min-width: 920px) {
  .btn_arrow {
    width: min(17px, 1.0625vw);
    height: min(39px, 2.4375vw);
  }
}
@media (min-width: 920px) {
  .btn:hover {
    background-color: #313234;
    color: #fff;
  }
}
@media (min-width: 920px) {
  .btn:hover .btn_arrow {
    background-color: #fff;
  }
}
.btn_white {
  border: 1px solid #fff;
  color: #fff;
}
.btn_white .btn_arrow {
  background-color: #fff;
}
@media (min-width: 920px) {
  .btn_white:hover {
    background-color: #fff;
    color: #313234;
  }
}
@media (min-width: 920px) {
  .btn_white:hover .btn_arrow {
    background-color: #313234;
  }
}
.btn_gradient {
  background: linear-gradient(237.83deg, rgba(36, 213, 63, 0.3) 14.39%, #24d53f 70.39%);
  border: none;
}
.btn_green {
  background: #24D53F;
  border: none;
}
.btn_center {
  margin: 0 auto;
}
@media (max-width: 919px) {
  .btn.sp_center {
    margin: 0 auto;
  }
}
.btn_ja .btn_txt {
  font-size: 16px;
}
@media (min-width: 920px) {
  .btn_ja .btn_txt {
    font-size: 20px;
  }
}
.btn_light {
  background-color: #24d53f;
  border: none;
}
@media (min-width: 920px) {
  .btn_light {
    background-color: rgba(36, 213, 63, 0.4);
    padding: min(10px, 0.625vw) min(16px, 1vw) min(10px, 0.625vw) min(60px, 3.75vw);
  }
}
@media (min-width: 920px) {
  .btn_light .btn_txt {
    font-size: 18px;
  }
}
@media (min-width: 920px) {
  .btn_light .btn_arrow {
    width: min(14px, 0.875vw);
    height: min(34px, 2.125vw);
  }
}
@media (min-width: 920px) {
  .btn_light:hover {
    background-color: #24d53f;
    color: #313234;
  }
}
@media (min-width: 920px) {
  .btn_light:hover .btn_arrow {
    background-color: #313234;
  }
}

.reveal_wrap {
  position: relative;
  display: inline-block;
  overflow: hidden;
}
.reveal_wrap .reveal_txt {
  display: block;
  opacity: 0;
  line-height: 1.6;
}
.reveal_wrap .reveal_bg {
  position: absolute;
  top: 0;
  left: -130%;
  width: 100%;
  height: 100%;
  background-color: #24D53F;
  transform: skewX(43deg);
  z-index: 2;
}
.reveal_wrap .reveal_bg_green {
  background-color: #313234;
}
.reveal_wrap.is_active .reveal_bg {
  animation: revealBgSlide 1.2s cubic-bezier(0.77, 0, 0.175, 1) forwards;
}
.reveal_wrap.is_active .reveal_txt {
  animation: revealTextShow 0.1s forwards;
  animation-delay: 0.6s;
}

@keyframes revealBgSlide {
  0% {
    left: -130%;
  }
  100% {
    left: 130%;
  }
}
@keyframes revealTextShow {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.interview {
  padding: 42px 0 72px;
}
@media (min-width: 920px) {
  .interview {
    padding: 172px 0 180px;
  }
}
.interview_swiper {
  overflow: visible !important;
}
@media (min-width: 920px) {
  .interview_swiper {
    overflow: hidden !important;
  }
}
.interview_list {
  display: flex;
  flex-direction: row;
}
@media (min-width: 920px) {
  .interview_list {
    justify-content: space-between;
    gap: 20px;
    max-width: 1460px;
    margin: 0 auto;
  }
}
.interview_item {
  height: auto;
}
@media (min-width: 920px) {
  .interview_item {
    width: calc((100% - 40px) / 3) !important;
    flex-shrink: 0;
  }
}
.interview_label {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 10px;
  font-weight: 400;
  line-height: 1;
  margin-bottom: 12px;
  font-family: "Barlow Semi Condensed", sans-serif;
}
@media (min-width: 920px) {
  .interview_label {
    font-size: 20px;
  }
}
.interview_label::before {
  content: "";
  width: 9px;
  height: 9px;
  border: 1px solid #313234;
  border-radius: 50%;
}
@media (min-width: 920px) {
  .interview_label::before {
    width: 14px;
    height: 14px;
    transform: translateY(1px);
  }
}
.interview_link {
  display: block;
  text-decoration: none;
}
.interview_link:hover .interview_img {
  transform: scale(1.05);
}
.interview_link:hover .interview_btn {
  background-color: #313234;
}
.interview_card {
  position: relative;
  width: 100%;
  aspect-ratio: 205/252;
  overflow: hidden;
  margin-bottom: 10px;
}
@media (min-width: 920px) {
  .interview_card {
    aspect-ratio: 473/551;
  }
}
.interview_imgWrap {
  width: 100%;
  height: 100%;
}
.interview_img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}
.interview_content {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  padding: 8px;
  color: #fff;
  z-index: 2;
}
@media (min-width: 920px) {
  .interview_content {
    padding: min(24px, 1.8461538462vw) min(24px, 1.8461538462vw) min(30px, 2.3076923077vw);
  }
}
.interview_content .black {
  color: #313234;
}
.interview_title {
  font-size: min(13px, 3.3333333333vw);
  font-weight: 700;
  line-height: 1.7;
  margin-bottom: auto;
}
@media (min-width: 920px) {
  .interview_title {
    font-size: min(24px, 1.5vw);
  }
}
.interview_profile {
  position: relative;
  padding-left: 12px;
}
@media (min-width: 920px) {
  .interview_profile {
    margin-left: 8px;
  }
}
.interview_profile::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 4px;
  height: 100%;
  background-color: #24D53F;
}
.interview_profile .profile_name {
  font-size: 13px;
  line-height: 1.2;
  font-weight: 700;
  margin-bottom: 4px;
}
@media (min-width: 920px) {
  .interview_profile .profile_name {
    font-size: 20px;
  }
}
.interview_profile .profile_desc {
  font-size: 12px;
  line-height: 1.4;
}
.interview_btn_wrap {
  display: flex;
  justify-content: center;
}
.interview_btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 185px;
  height: 35px;
  background-color: #313234;
  color: #24D53F;
  font-family: "Barlow Semi Condensed", sans-serif;
  font-size: 16px;
  font-weight: 400;
  border-radius: 99px;
  transition: background-color 0.3s ease;
  position: relative;
}
.interview_btn::after {
  position: absolute;
  right: 15px;
  top: 50%;
  transform: translateY(-50%);
  content: "";
  width: 8px;
  height: 20px;
  background-color: #24D53F;
  -webkit-mask-image: url("../img/home/more_arrow.svg");
  mask-image: url("../img/home/more_arrow.svg");
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
}

.pc_hidden {
  display: block;
}
@media (min-width: 920px) {
  .pc_hidden {
    display: none;
  }
}

.sp_hidden {
  display: none;
}
@media (min-width: 920px) {
  .sp_hidden {
    display: block;
  }
}

/*ヘッダーのスタイル*/
.site_header {
  padding: 6px 16px 6px 8px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: fixed;
  background: #E8E0D6;
  width: 100%;
  top: 0;
  left: 0;
  z-index: 999;
}
@media (min-width: 920px) {
  .site_header {
    padding: 0 45px 0 34px;
    justify-content: flex-end;
  }
}
@media (max-width: 919px) {
  .site_header_logo {
    max-width: 143px;
    z-index: 999;
  }
}
@media (min-width: 920px) {
  .site_header_logo {
    position: absolute;
    left: 34px;
    top: 22px;
  }
}
.site_header .trapezoid {
  position: absolute;
  top: 0;
  width: 340px;
  height: 67px;
  background: #E8E0D6;
  clip-path: polygon(0 0, 100% 0, calc(100% - 60px) 100%, 0 100%);
  z-index: -1;
}
@media (max-width: 919px) {
  .site_header .trapezoid {
    right: 0;
    width: 90px;
    height: 50px;
    clip-path: polygon(0 0, 100% 0, 100% 100%, 30px 100%);
  }
}
@media (min-width: 920px) {
  .site_header .trapezoid {
    left: 0;
  }
}
.site_header .trapezoid .site_header_logo {
  position: absolute;
  top: 22px;
  left: 34px;
}

.global_nav {
  z-index: 99;
  /* ▼ ハンバーガーボタン ▼ */
}
.global_nav_toggle {
  box-shadow: none;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  width: auto;
  height: auto;
  border: none;
  position: absolute;
  top: 7px;
  right: 16px;
  z-index: 1001;
  background: transparent;
  color: #313234;
  transition: 0.3s linear;
  text-align: center;
  padding: 0;
  border-radius: 0;
}
@media (min-width: 920px) {
  .global_nav_toggle {
    display: none;
  }
}
.global_nav_toggle_txt {
  font-size: 12px;
  font-weight: 500;
  line-height: 1;
  font-family: "Barlow Semi Condensed", sans-serif;
}
.global_nav_toggle_icon {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 34px;
  height: 16px;
  font-size: 24px;
  line-height: 1;
  /* ★ ボタン用 緑括弧の直接指定 */
}
.global_nav_toggle_icon .bracket_left,
.global_nav_toggle_icon .bracket_right {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 6px;
  display: block;
  pointer-events: none;
}
.global_nav_toggle_icon .bracket_left {
  left: 0;
  background: linear-gradient(#24D53F, #24D53F) 0 0/2px 100% no-repeat;
}
.global_nav_toggle_icon .bracket_left::before, .global_nav_toggle_icon .bracket_left::after {
  content: "";
  position: absolute;
  left: 0;
  width: 6px;
  height: 2px;
  background: #24D53F;
  transform-origin: left center;
}
.global_nav_toggle_icon .bracket_left::before {
  top: 0;
  transform: translateX(1px) rotate(-35deg);
}
.global_nav_toggle_icon .bracket_left::after {
  bottom: 0;
  transform: translateX(1px) rotate(35deg);
}
.global_nav_toggle_icon .bracket_right {
  right: 0;
  background: linear-gradient(#24D53F, #24D53F) 100% 0/2px 100% no-repeat;
}
.global_nav_toggle_icon .bracket_right::before, .global_nav_toggle_icon .bracket_right::after {
  content: "";
  position: absolute;
  right: 0;
  width: 6px;
  height: 2px;
  background: #24D53F;
  transform-origin: right center;
}
.global_nav_toggle_icon .bracket_right::before {
  top: 0;
  transform: translateX(-1px) rotate(35deg);
}
.global_nav_toggle_icon .bracket_right::after {
  bottom: 0;
  transform: translateX(-1px) rotate(-35deg);
}
.global_nav_toggle_icon {
  /* ★ 「＋」が「－」になるアニメーション線 */
}
.global_nav_toggle_icon .mark_line {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 14px;
  height: 14px;
  transform: translate(-50%, -50%);
  pointer-events: none;
}
.global_nav_toggle_icon .mark_line::before, .global_nav_toggle_icon .mark_line::after {
  content: "";
  position: absolute;
  background-color: #333;
  transition: transform 0.3s ease;
}
.global_nav_toggle_icon .mark_line::before {
  top: 50%;
  left: 0;
  width: 100%;
  height: 1.5px;
  transform: translateY(-50%);
}
.global_nav_toggle_icon .mark_line::after {
  top: 0;
  left: 50%;
  width: 1.5px;
  height: 100%;
  transform: translateX(-50%);
}
.global_nav_toggle.is-active .global_nav_toggle_icon .mark_line::after {
  transform: translateX(-50%) rotate(90deg);
}
.global_nav {
  /* ▼ メニューオーバーレイ ▼ */
}
@media (max-width: 919px) {
  .global_nav_overlay {
    opacity: 0;
    visibility: hidden;
    position: fixed;
    z-index: 999;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    /* ▼ 修正：100dvhを使うと、スマホのURLバーを考慮した正確な高さになります */
    height: 100dvh;
    transition: all 0.3s linear;
    overflow-y: auto;
    background: #E8E0D6;
    /* ▼ 削除：ここで align-items: center をするとスクロール時に下の余白が消えます ▼ */
    /* display: flex; */
    /* align-items: center; */
    /* flex-direction: column; */
    display: block; /* 普通のブロック要素に戻す */
  }
}
@media (max-width: 919px) {
  .global_nav_overlay.is-open {
    visibility: visible;
    opacity: 1;
  }
}
@media (max-width: 919px) {
  .global_nav_container {
    padding: 86px 34px 80px;
    position: relative;
    z-index: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    min-height: 100%;
  }
}
.global_nav {
  /* ▼ メニューリスト ▼ */
}
.global_nav_list {
  display: flex;
  gap: 10px;
  flex-direction: column;
  align-items: stretch;
  width: 100%;
}
@media (max-width: 919px) {
  .global_nav_list {
    gap: 41px;
  }
}
@media (min-width: 920px) {
  .global_nav_list {
    flex-direction: row;
    gap: 20px;
    width: auto;
  }
}
@media (min-width: 920px) and (min-width: 1200px) {
  .global_nav_list {
    gap: 30px;
  }
}
@media (min-width: 920px) {
  .global_nav_list_item {
    display: flex;
    align-items: center;
  }
}
@media (max-width: 919px) {
  .global_nav_list_item:last-child {
    display: none;
  }
}
.global_nav_list {
  /* ▼ 各リンクの設定 ▼ */
}
.global_nav_list_link {
  display: block;
  width: 100%;
  max-width: 200px;
  margin: 0 auto;
  line-height: 1.4;
  transition: opacity 0.3s ease-out;
  color: #313234;
  position: relative;
  letter-spacing: 1px;
  font-weight: 400;
  letter-spacing: 0;
  /* --- PC用スタイル --- */
}
@media (min-width: 920px) {
  .global_nav_list_link {
    font-size: 17px;
    padding: 14px 0;
    overflow: hidden;
  }
  .global_nav_list_link .bracket_left,
  .global_nav_list_link .bracket_right {
    display: none;
  }
  .global_nav_list_link::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 3px;
    background-color: #24D53F;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.3s ease;
  }
  .global_nav_list_link:hover::after, .global_nav_list_link.is-active::after {
    transform: scaleX(1);
  }
}
.global_nav_list_link {
  /* --- スマホ用スタイル（括弧デザイン） --- */
}
@media (max-width: 919px) {
  .global_nav_list_link {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    font-weight: 500;
    text-align: center;
    padding: 2px 32px;
    line-height: 1;
  }
  .global_nav_list_link .bracket_left,
  .global_nav_list_link .bracket_right {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 7px;
    display: block;
    pointer-events: none;
  }
  .global_nav_list_link .bracket_left {
    left: 0;
    background: linear-gradient(#24D53F, #24D53F) 0 0/1.5px 100% no-repeat;
  }
  .global_nav_list_link .bracket_left::before, .global_nav_list_link .bracket_left::after {
    content: "";
    position: absolute;
    left: 0;
    width: 7px;
    height: 1.5px;
    background: #24D53F;
    transform-origin: left center;
  }
  .global_nav_list_link .bracket_left::before {
    top: 0;
    transform: translateX(1px) rotate(-35deg);
  }
  .global_nav_list_link .bracket_left::after {
    bottom: 0;
    transform: translateX(1px) rotate(35deg);
  }
  .global_nav_list_link .bracket_right {
    right: 0;
    background: linear-gradient(#24D53F, #24D53F) 100% 0/1.5px 100% no-repeat;
  }
  .global_nav_list_link .bracket_right::before, .global_nav_list_link .bracket_right::after {
    content: "";
    position: absolute;
    right: 0;
    width: 7px;
    height: 1.5px;
    background: #24D53F;
    transform-origin: right center;
  }
  .global_nav_list_link .bracket_right::before {
    top: 0;
    transform: translateX(-1px) rotate(35deg);
  }
  .global_nav_list_link .bracket_right::after {
    bottom: 0;
    transform: translateX(-1px) rotate(-35deg);
  }
}

/* ▼ スマホ専用 追加ボタンエリア ▼ */
.mobile_nav_btns {
  display: none;
}
@media (max-width: 919px) {
  .mobile_nav_btns {
    display: flex;
    flex-direction: column;
    gap: 15px;
    width: 100%;
    max-width: 380px;
    margin-top: 68px;
  }
}
.mobile_nav_btns a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 56px;
  font-size: 18px;
  font-weight: 600;
  text-decoration: none;
  position: relative;
  transition: opacity 0.3s;
}
.mobile_nav_btns a:active {
  opacity: 0.7;
}
.mobile_nav_btns .btn_mobile_contact {
  background-color: transparent;
  border: 1px solid #313234;
  color: #313234;
}
.mobile_nav_btns .btn_mobile_contact::after {
  content: "";
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  width: 12px; /* 矢印画像のサイズ */
  height: 29px;
  /* ▼ 矢印の色（ここで指定した色がマスクで切り抜かれて表示されます） ▼ */
  background-color: #313234;
  /* ▼ mask-imageに変更 ▼ */
  -webkit-mask-image: url("../img/common/btn_arrow.svg");
  mask-image: url("../img/common/btn_arrow.svg");
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
}
.mobile_nav_btns .btn_mobile_insta {
  font-size: 21px;
  font-family: "Barlow Semi Condensed", sans-serif;
  background-color: #24D53F;
  color: #fff;
  gap: 5px;
  /* ▼ 修正：画像にしたアイコンのサイズ調整 ▼ */
}
.mobile_nav_btns .btn_mobile_insta .icon_insta {
  width: 20px;
  height: 20px;
  object-fit: contain;
}

/*フッターのスタイル*/
.fixed_foot {
  width: 100%;
  position: fixed;
  background: #E8E0D6;
  z-index: 998;
  display: flex;
  bottom: 0;
  padding-bottom: env(safe-area-inset-bottom);
  justify-content: space-between;
  align-items: center;
  padding: 0 0 0 14px;
}
@media (max-width: 919px) {
  .fixed_foot {
    justify-content: center;
    padding: 5px 10px;
  }
}
.fixed_foot .copyright {
  color: #24D53F;
  font-size: 14px;
}
@media (max-width: 919px) {
  .fixed_foot .copyright {
    display: none;
  }
}
.fixed_foot .sns_link {
  display: flex;
  align-items: center;
  font-family: "Barlow Semi Condensed", sans-serif;
  gap: 5px;
  color: #24D53F;
  font-size: 14px;
}
@media (min-width: 920px) {
  .fixed_foot .sns_link {
    font-size: 16px;
  }
}
@media (max-width: 919px) {
  .fixed_foot .sns_link img {
    width: 14px;
  }
}
.fixed_foot .page_top {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 14px 12px;
  background-color: #24D53F;
}
@media (max-width: 919px) {
  .fixed_foot .page_top {
    display: none;
  }
}

.foot_contact {
  background-color: #24D53F;
  padding: 68px 0 72px;
}
@media (min-width: 920px) {
  .foot_contact {
    padding: 84px 0 90px;
  }
}
.foot_contact_catch {
  font-size: 22px;
  letter-spacing: 0.07em;
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
  margin-bottom: 7px;
  margin-top: 32px;
}
@media (min-width: 920px) {
  .foot_contact_catch {
    font-size: 34px;
    margin-top: 54px;
    margin-bottom: 15px;
  }
}
.foot_contact_txt {
  text-align: center;
  margin-bottom: 28px;
}
@media (min-width: 920px) {
  .foot_contact_txt {
    margin-bottom: 50px;
  }
}

.footer {
  background: #E8E0D6;
  padding: 60px 24px;
}
@media (min-width: 1200px) {
  .footer {
    padding: 68px 0 145px;
  }
}
.footer_inr {
  max-width: 1600px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 43px;
  padding: 0;
}
@media (min-width: 1200px) {
  .footer_inr {
    padding: 0 40px;
    flex-direction: row;
    justify-content: space-between;
    gap: 0;
  }
}
@media (max-width: 919px) {
  .footer_logo {
    max-width: 82px;
  }
}
.footer_company {
  display: flex;
  gap: 24px;
  align-items: center;
}
@media (min-width: 920px) {
  .footer_company {
    gap: min(78px, 4.875vw);
  }
}
.footer_company_info {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
@media (min-width: 920px) {
  .footer_company_info {
    gap: 24px;
  }
}
.footer_company_address, .footer_company_num {
  font-size: 10px;
  line-height: 1.47;
  font-weight: 300;
}
@media (min-width: 920px) {
  .footer_company_address, .footer_company_num {
    font-size: 17px;
    font-weight: 500;
  }
}
@media (max-width: 919px) {
  .footer_nav {
    width: 100%;
    padding: 0 11px;
    margin-bottom: 32px;
  }
}
.footer_nav_list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  row-gap: 14px;
}
@media (max-width: 919px) {
  .footer_nav_list {
    grid-template-columns: repeat(2, 1fr);
    row-gap: 24px;
    column-gap: 26px;
    padding: 0 8px;
  }
}
.footer_nav_list_item {
  /* 💡 魔法の並び替え（スマホ版の画像デザインの順に合わせる） */
}
@media (max-width: 919px) {
  .footer_nav_list_item:nth-child(1) {
    order: 1;
  }
  .footer_nav_list_item:nth-child(4) {
    order: 2;
  }
  .footer_nav_list_item:nth-child(7) {
    order: 3;
  }
  .footer_nav_list_item:nth-child(2) {
    order: 4;
  }
  .footer_nav_list_item:nth-child(5) {
    order: 5;
  }
  .footer_nav_list_item:nth-child(8) {
    order: 6;
  }
  .footer_nav_list_item:nth-child(3) {
    order: 7;
  }
  .footer_nav_list_item:nth-child(6) {
    order: 8;
  }
  .footer_nav_list_item:nth-child(9) {
    order: 9;
  }
}
.footer_nav_list_item_link {
  display: inline-flex;
  align-items: center;
  width: 100%;
  justify-content: space-between;
  font-size: 14px;
  padding: 4px 5px 4px 3px;
  gap: 5px;
  border-bottom: 1px solid #313234;
  line-height: 1.25;
}
@media (min-width: 920px) {
  .footer_nav_list_item_link {
    gap: 10px;
    font-size: 19px;
    color: inherit;
    text-decoration: none;
    border-bottom: none;
    width: fit-content;
  }
}
@media (min-width: 920px) {
  .footer_nav_list_item_link .arrow_circle {
    width: 21px;
    height: 21px;
    border-radius: 50%;
    border: 1px solid #313234;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.3s ease, border-color 0.3s ease;
  }
}
.footer_nav_list_item_link .arrow_circle img {
  display: block;
  padding-top: 1px;
  padding-left: 2px;
}
@media (max-width: 919px) {
  .footer_nav_list_item_link .arrow_circle img {
    width: 7px;
    padding: 0;
  }
}
.footer_nav_list_item_link:hover .arrow_circle {
  background-color: #24D53F;
  border-color: #24D53F;
}
@media only screen and (max-width: 767px) {
  .footer_nav_list_item_link:hover .arrow_circle {
    background-color: transparent;
    border-color: transparent;
  }
}
.footer {
  /* コピーライトのスタイル */
}
.footer_copyright {
  text-align: center;
  color: #24D53F;
  font-size: 10px;
  font-family: "Barlow Semi Condensed", sans-serif;
}
@media (min-width: 920px) {
  .footer_copyright {
    display: none;
  }
}

.aboutus_introduction {
  padding: 0 15px;
}
@media (min-width: 920px) {
  .aboutus_introduction {
    max-width: 1980px;
    margin: 0 auto;
    padding: 0;
  }
}
@media (min-width: 920px) {
  .aboutus_introduction_bg {
    position: relative;
  }
}
@media (max-width: 919px) {
  .aboutus_introduction_bg_img {
    margin: 0 calc(50% - 50vw);
    width: 100vw;
  }
}
.aboutus_introduction_box {
  border: 1px solid #24D53F;
  background-color: #fff;
  position: relative;
  padding: 50px 10px;
}
@media (min-width: 920px) {
  .aboutus_introduction_box {
    position: absolute;
    left: min(40px, 2.8571428571vw);
    top: min(80px, 5.7142857143vw);
    padding: min(80px, 5.7142857143vw) min(70px, 5vw);
  }
}
@media (min-width: 920px) and (min-width: 1200px) {
  .aboutus_introduction_box {
    left: min(150px, 10.7142857143vw);
    top: min(90px, 6.4285714286vw);
  }
}
@media (max-width: 919px) {
  .aboutus_introduction_box {
    margin-top: -122px;
  }
}
.aboutus_introduction_box_arrowhead {
  position: absolute;
}
@media (min-width: 920px) {
  .aboutus_introduction_box_arrowhead {
    width: auto;
    right: -33px;
    bottom: -20px;
  }
}
@media (max-width: 919px) {
  .aboutus_introduction_box_arrowhead {
    width: 48px;
    left: 10px;
    top: -20px;
  }
}
.aboutus_introduction_catch {
  font-size: 20px;
  line-height: 1.62;
  margin-bottom: 12px;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-align: center;
}
@media (min-width: 920px) {
  .aboutus_introduction_catch {
    text-align: left;
    font-size: clamp(26px, 2.125vw, 42.075px);
    margin-bottom: 38px;
  }
}
.aboutus_introduction_txt {
  line-height: 2.1875;
  font-weight: 700;
}
@media (max-width: 919px) {
  .aboutus_introduction_txt {
    text-align: center;
    font-size: 13px;
  }
}
.aboutus_feature {
  /* スマホ用のベーススタイル */
  padding: 80px 0;
}
@media (min-width: 920px) {
  .aboutus_feature {
    /* PC用のスタイル（1400px基準で縮小スケール） */
    padding: min(80px, 5.7142857143vw) 0;
  }
}
.aboutus_feature_wrapper {
  display: flex;
  flex-direction: column;
  gap: 40px;
}
@media (min-width: 920px) {
  .aboutus_feature_wrapper {
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
    gap: 6%;
  }
}
.aboutus_feature {
  /* --- 画像エリア（PC固定用） --- */
}
.aboutus_feature_visual {
  /* ▼ スマホ時は非表示 ▼ */
  display: none;
}
@media (min-width: 920px) {
  .aboutus_feature_visual {
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: sticky;
    top: 0;
    height: 100vh;
    margin-left: calc(50% - 50vw);
    width: 49.875vw;
  }
}
.aboutus_feature_indicators {
  display: flex;
  gap: 10px;
  margin-bottom: 16px;
  padding-left: 18px;
}
@media (min-width: 920px) {
  .aboutus_feature_indicators {
    gap: 10px;
    margin-bottom: 28px;
  }
}
.aboutus_feature_indicators .feature_indicator {
  width: 57px;
  height: 6px;
  border: 1px solid #24D53F;
  background-color: transparent;
  transition: background-color 0.4s ease;
}
.aboutus_feature_indicators .feature_indicator.is-active {
  background-color: #24D53F;
}
.aboutus_feature_images {
  position: relative;
  width: 100%;
  aspect-ratio: 4/3;
  overflow: hidden;
  position: relative;
}
.aboutus_feature_images::before {
  content: "";
  position: absolute;
  right: 14px;
  bottom: 14px;
  width: 52px;
  height: 66px;
  background-image: url("../img/aboutus/arrow_bottom.svg");
  background-repeat: no-repeat;
  background-position: left center;
  z-index: 3;
}
@media (max-width: 919px) {
  .aboutus_feature_images::before {
    display: none;
  }
}
.aboutus_feature_images .feature_img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity 0.6s ease-in-out;
}
.aboutus_feature_images .feature_img.is-active {
  opacity: 1;
  z-index: 2;
}
.aboutus_feature {
  /* --- コンテンツエリア --- */
}
.aboutus_feature_content {
  width: 100%;
}
@media (min-width: 920px) {
  .aboutus_feature_content {
    width: 41.1538461538%;
  }
}
.aboutus_feature_step {
  margin-bottom: 80px;
}
@media (min-width: 920px) {
  .aboutus_feature_step {
    min-height: 100vh; /* 1画面分（ヘッダー分引く） */
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin-bottom: 0;
  }
}
.aboutus_feature_step:last-child {
  margin-bottom: 0;
}
.aboutus_feature_step {
  /* ▼ スマホ用画像のスタイル ▼ */
}
.aboutus_feature_step .step_mobile_visual {
  display: block;
  margin-bottom: 30px; /* 下の01などの番号との余白 */
  width: 100%;
  aspect-ratio: 4/3;
  background-color: #f5f5f5;
  overflow: hidden;
}
.aboutus_feature_step .step_mobile_visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media (min-width: 920px) {
  .aboutus_feature_step .step_mobile_visual {
    /* PCでは非表示 */
    display: none;
  }
}
.aboutus_feature_step .step_num {
  text-align: center;
  color: #24D53F;
  font-size: 32px;
  font-weight: 400;
  font-family: "Barlow Semi Condensed", sans-serif;
  line-height: 1;
  margin-bottom: 10px;
}
@media (min-width: 920px) {
  .aboutus_feature_step .step_num {
    font-size: 70px;
    margin-bottom: min(32px, 2.2857142857vw);
  }
}
.aboutus_feature_step .step_title {
  text-align: center;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.43;
  margin-bottom: 30px;
}
@media (min-width: 920px) {
  .aboutus_feature_step .step_title {
    font-size: 28px;
    margin-bottom: min(22px, 1.5714285714vw);
  }
}
.aboutus_feature_step .step_text {
  font-size: 14px;
  line-height: 1.8;
}
@media (min-width: 920px) {
  .aboutus_feature_step .step_text {
    font-size: 15px;
  }
}
.aboutus_feature_step .step_box {
  background-color: #E8E0D6;
  padding: 20px 5vw;
  border-radius: 8px;
  margin-top: 20px;
}
@media (min-width: 920px) {
  .aboutus_feature_step .step_box {
    padding: min(20px, 1.4285714286vw) min(30px, 2.1428571429vw);
    border-radius: min(8px, 0.5714285714vw);
    margin-top: 50px;
  }
}
.aboutus_feature_step .step_box .box_ttl {
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: 700;
  font-size: 15px;
  margin-bottom: 16px;
  line-height: 2;
}
@media (min-width: 920px) {
  .aboutus_feature_step .step_box .box_ttl {
    gap: 14px;
    font-size: 20px;
    margin-bottom: min(16px, 1.1428571429vw);
  }
}
.aboutus_feature_step .step_box .box_ttl_txt {
  border-bottom: 2px solid #24D53F;
}
.aboutus_feature_step .step_box .box_ttl .box_icon {
  width: 36px;
  height: 36px;
}
.aboutus_feature_step .step_box .box_text {
  font-size: 14px;
  line-height: 1.5333;
}
@media (min-width: 920px) {
  .aboutus_feature_step .step_box .box_text {
    font-size: min(15px, 1.0714285714vw);
  }
}
.aboutus_service {
  background-color: #24D53F;
  padding: 80px 0 0;
  position: relative;
}
@media (min-width: 920px) {
  .aboutus_service {
    overflow: hidden;
    padding: 100px 0;
  }
}
.aboutus_service_container {
  width: 100%;
  max-width: 720px;
  padding: 0 15px;
  margin: 0 auto;
}
@media (min-width: 920px) {
  .aboutus_service_container {
    max-width: 1260px;
    max-width: 1322px;
    padding: 0 40px;
  }
}
.aboutus_service_header {
  margin-bottom: 60px;
  max-width: 1260px;
  margin: 0 auto;
  padding: 0 20px;
  margin-bottom: 40px;
}
@media (min-width: 920px) {
  .aboutus_service_header {
    padding: 0 40px;
    margin-bottom: 82px;
  }
}
.aboutus_service_header_title_wrap {
  position: relative;
  display: inline-flex;
  align-items: center;
  margin-bottom: 24px;
}
.aboutus_service_header_title_wrap .page_section_ttl_wrap {
  margin: 0;
}
.aboutus_service_header_arrows {
  display: none;
}
@media (min-width: 1400px) {
  .aboutus_service_header_arrows {
    top: 0;
    position: absolute;
    right: 100%;
    align-items: center;
    white-space: nowrap;
    display: flex;
    margin-right: min(20px, 1.2658227848vw);
  }
}
@media screen and (min-width: 1400px) and (min-width: 1580px) {
  .aboutus_service_header_arrows {
    margin-right: min(70px, 4.375vw);
  }
}
@media (min-width: 1400px) {
  .aboutus_service_header_arrows img {
    height: auto;
    flex-shrink: 0;
    width: min(100px, 6.3291139241vw);
  }
}
@media screen and (min-width: 1400px) and (min-width: 1580px) {
  .aboutus_service_header_arrows img {
    width: min(130px, 8.125vw);
  }
}
.aboutus_service_header_content {
  font-size: 14px;
  line-height: 1.8;
  font-weight: 500;
  margin: 0;
}
@media (min-width: 920px) {
  .aboutus_service_header_content {
    font-size: 16px;
  }
}
.aboutus_service_board {
  position: relative;
}
.aboutus_service_item {
  background-color: #fff;
  padding: 40px 34px;
  gap: 20px;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  -webkit-clip-path: polygon(36px -20px, calc(100% - 36px) -20px, calc(100% + 20px) 36px, calc(100% + 20px) calc(100% - 36px), calc(100% - 36px) calc(100% + 20px), 36px calc(100% + 20px), -20px calc(100% - 36px), -20px 36px);
  clip-path: polygon(36px -20px, calc(100% - 36px) -20px, calc(100% + 20px) 36px, calc(100% + 20px) calc(100% - 36px), calc(100% - 36px) calc(100% + 20px), 36px calc(100% + 20px), -20px calc(100% - 36px), -20px 36px);
}
@media (min-width: 920px) {
  .aboutus_service_item {
    padding: min(50px, 3.5714285714vw) min(149px, 10.6428571429vw) min(50px, 3.5714285714vw) min(109px, 7.7857142857vw);
    flex-direction: row;
    gap: 40px;
    justify-content: space-between;
    -webkit-clip-path: polygon(60px 0, calc(100% - 60px) 0, 100% 60px, 100% calc(100% - 60px), calc(100% - 60px) 100%, 60px 100%, 0 calc(100% - 60px), 0 60px);
    clip-path: polygon(60px 0, calc(100% - 60px) 0, 100% 60px, 100% calc(100% - 60px), calc(100% - 60px) 100%, 60px 100%, 0 calc(100% - 60px), 0 60px);
  min-height: 393px;
  }
}
@supports (corner-shape: bevel) {
  .aboutus_service_item {
    border-radius: 36px;
    corner-shape: bevel;
    -webkit-clip-path: none;
    clip-path: none;
  }
  @media (min-width: 920px) {
    .aboutus_service_item {
      border-radius: 60px;
    }
  }
}
.aboutus_service_item .item_img,
.aboutus_service_item .item_info {
  position: relative;
  z-index: 5;
}
@media (min-width: 920px) {
  .aboutus_service_item .item_img {
    width: 51.0165%;
  }
}
@media (min-width: 920px) {
  .aboutus_service_item .item_txtArea {
    width: 40.65156%;
  }
}
.aboutus_service_item .item_txtArea_ttl {
  font-size: 18px;
  margin-bottom: 8px;
  font-weight: 700;
  line-height: 1.43;
}
@media (min-width: 920px) {
  .aboutus_service_item .item_txtArea_ttl {
    font-size: min(28px, 2vw);
    margin-bottom: clamp(12px, 1.875vw, 37.125px);
  }
}
.aboutus_service_item .item_txtArea_txt {
  line-height: 1.8;
  font-size: 14px;
}
@media (min-width: 920px) {
  .aboutus_service_item .item_txtArea_txt {
    font-size: 15px;
  }
}
.aboutus_service_item_wrap {
  padding: 0;
  position: relative;
  /* 以前あった ::before と ::after（斜め線のSVG画像）は完全に削除！ */
}
.aboutus_service_item_wrap:nth-child(odd) .aboutus_service_tab {
  left: -8px;
}
@media (min-width: 920px) {
  .aboutus_service_item_wrap:nth-child(odd) .aboutus_service_tab {
    left: -12px;
  }
}
.aboutus_service_item_wrap:nth-child(odd) .aboutus_service_tab::before {
  right: 100%;
}
.aboutus_service_item_wrap:nth-child(odd) .aboutus_service_item {
  border-left: 2px solid #00e228;
}
.aboutus_service_item_wrap:nth-child(odd) .tab_text {
  transform: rotate(180deg);
}
.aboutus_service_item_wrap:nth-child(even) .aboutus_service_tab {
  right: -8px;
}
@media (min-width: 920px) {
  .aboutus_service_item_wrap:nth-child(even) .aboutus_service_tab {
    right: -12px;
  }
}
.aboutus_service_item_wrap:nth-child(even) .aboutus_service_tab::before {
  left: 100%;
}
.aboutus_service_item_wrap:nth-child(even) .aboutus_service_item {
  border-right: 2px solid #00e228;
}
.aboutus_service_item_wrap:nth-child(even) .tab_text {
  transform: none;
}
.aboutus_service_tab {
  /* ▼ タブは元の画像（tab_bg.svg）をそのまま使用 ▼ */
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 20;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 164px;
  background-image: url("../img/aboutus/tab_bg.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
@media (min-width: 920px) {
  .aboutus_service_tab {
    width: 27px;
    height: 200px;
  }
}
.aboutus_service_tab::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 50vw;
  height: 2px;
  background-color: #fff;
  z-index: -1;
}
@media (max-width: 919px) {
  .aboutus_service_tab::before {
    display: none;
  }
}
.aboutus_service_tab .tab_text {
  position: relative;
  z-index: 3;
  writing-mode: vertical-rl;
  font-size: 13px;
  font-weight: bold;
}
.aboutus_foot {
  width: 100%;
}
.aboutus_foot img {
  width: 100%;
}
@media (min-width: 920px) {
  .aboutus .foot_btn_wrap {
    padding: 138px 0 108px;
  }
}

.company_message {
  padding: 0 0 120px;
}
@media (min-width: 920px) {
  .company_message {
    padding: 108px 0 230px;
  }
}
.company_message_body {
  display: flex;
  flex-direction: column-reverse;
  gap: 20px;
}
@media (min-width: 920px) {
  .company_message_body {
    flex-direction: row;
    justify-content: space-between;
    gap: 0;
  }
}
@media (min-width: 920px) {
  .company_message_txtArea {
    width: 49.6923076923%;
  }
}
@media (min-width: 920px) {
  .company_message_img {
    width: 40%;
    padding-top: 20px;
  }
}
.company_message_catch {
  font-size: clamp(26px, 2.125vw, 42.075px);
  font-weight: 700;
  letter-spacing: 0.07em;
  line-height: 1.62;
  margin-bottom: clamp(24px, 2.5vw, 49.5px);
}
.company_message_txt {
  display: flex;
  flex-direction: column;
  gap: 28px;
  margin-bottom: 8px;
}
.company_message_name {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 18px;
  font-size: 15px;
  line-height: 1.5;
}
.company_message_name .name {
  font-size: clamp(20px, 1.5vw, 29.7px);
  font-weight: 700;
  padding-bottom: 3px;
}
.company_attempt {
  background-color: #24D53F;
  padding: 80px 0;
  overflow: hidden;
}
@media (min-width: 920px) {
  .company_attempt {
    padding: 110px 0 236px;
  }
}
.company_attempt .attempt_header {
  position: relative;
  display: flex;
  align-items: center;
  margin-bottom: 64px;
}
@media (min-width: 920px) {
  .company_attempt .attempt_header {
    padding: 0 36px;
  }
}
.company_attempt .attempt_header .page_section_ttl_wrap {
  margin: 0;
}
.company_attempt .attempt_header_arrows {
  display: none;
}
@media (min-width: 1400px) {
  .company_attempt .attempt_header_arrows {
    top: 0;
    position: absolute;
    right: 100%;
    align-items: center;
    white-space: nowrap;
    display: flex;
    margin-right: 0;
  }
}
@media screen and (min-width: 1400px) and (min-width: 1580px) {
  .company_attempt .attempt_header_arrows {
    margin-right: min(4px, 0.25vw);
  }
}
@media (min-width: 1400px) {
  .company_attempt .attempt_header_arrows img {
    height: auto;
    flex-shrink: 0;
    width: min(100px, 6.3291139241vw);
  }
}
@media screen and (min-width: 1400px) and (min-width: 1580px) {
  .company_attempt .attempt_header_arrows img {
    width: min(130px, 8.125vw);
  }
}
.company_attempt .attempt_header .page_section_ttl {
  margin: 0;
}
.company_attempt .attempt_list {
  display: flex;
  flex-direction: column;
  gap: 60px;
}
@media (min-width: 920px) {
  .company_attempt .attempt_list {
    gap: 81px;
  }
}
.company_attempt .attempt_item {
  position: relative;
  display: flex;
  flex-direction: column-reverse;
  width: 100%;
}
@media (min-width: 920px) {
  .company_attempt .attempt_item {
    flex-direction: row;
    align-items: center;
  }
}
.company_attempt .attempt_item:nth-child(odd) {
  justify-content: flex-start;
}
.company_attempt .attempt_item:nth-child(even) {
  justify-content: flex-end;
}
.company_attempt .attempt_item:nth-child(even) .attempt_imgs {
  margin-left: auto;
}
.company_attempt .attempt_imgs {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
@media (min-width: 920px) {
  .company_attempt .attempt_imgs {
    flex-direction: row;
  }
}
.company_attempt .attempt_text {
  margin-bottom: -20px;
  background-color: rgba(255, 255, 255, 0.9019607843);
  z-index: 2;
  padding: 20px;
  box-sizing: border-box;
  position: relative;
}
@media (min-width: 920px) {
  .company_attempt .attempt_text {
    margin: 0;
    position: absolute;
    top: -40px;
    padding: min(48px, 3vw) min(125px, 7.8125vw) min(48px, 3vw) min(80px, 5vw);
    width: clamp(500px, 36.25vw, 717.75px);
  }
}
.company_attempt .attempt_text h3 {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.43;
  margin-bottom: 10px;
}
@media (min-width: 920px) {
  .company_attempt .attempt_text h3 {
    font-size: 28px;
    margin-bottom: 20px;
  }
}
.company_attempt .attempt_text p {
  font-size: 14px;
  line-height: 1.8;
  margin: 0;
  text-align: justify;
}
@media (min-width: 920px) {
  .company_attempt .attempt_text p {
    font-size: 15px;
  }
}
.company_attempt .attempt_item:nth-child(odd) .attempt_text {
  right: max(50% - 50vw, 50% - 800px);
  left: auto;
}
.company_attempt .attempt_item:nth-child(even) .attempt_text {
  left: max(50% - 50vw, 50% - 800px);
  right: auto;
  padding: 20px;
}
@media (min-width: 920px) {
  .company_attempt .attempt_item:nth-child(even) .attempt_text {
    padding: min(48px, 3vw) min(80px, 5vw) min(48px, 3vw) min(125px, 7.8125vw);
  }
}
.company_overview {
  padding: 154px 0 0;
}
.company_overview .overview_list_wrap {
  display: flex;
  flex-direction: column;
  width: 100%;
  margin-top: 46px;
  margin-bottom: 56px;
}
@media (min-width: 920px) {
  .company_overview .overview_list_wrap {
    flex-direction: row;
    justify-content: space-between;
  }
}
.company_overview .overview_list {
  margin: 0;
}
@media (min-width: 920px) {
  .company_overview .overview_list:first-child {
    width: 42.1538461538%;
  }
}
@media (min-width: 920px) {
  .company_overview .overview_list:last-child {
    width: 53.6153846154%;
  }
}
.company_overview .overview_list_item {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 12px 10px 13px;
  border-bottom: 1px solid rgba(49, 50, 52, 0.4509803922);
}
@media (min-width: 920px) {
  .company_overview .overview_list_item {
    flex-direction: row;
    gap: 10px;
  }
}
.company_overview .overview_list_item dt {
  flex-shrink: 0;
  font-weight: bold;
  font-size: 16px;
  line-height: 1.78;
  font-weight: 700;
}
@media (min-width: 920px) {
  .company_overview .overview_list_item dt {
    font-size: 18px;
    width: 100px;
  }
}
.company_overview .overview_list_item dd {
  margin: 0;
  flex-grow: 1;
  font-size: 16px;
  line-height: 1.78;
  font-weight: 300;
}
@media (min-width: 920px) {
  .company_overview .overview_list_item dd {
    font-size: 18px;
  }
}
.company_overview .overview_list_item dd > ol.business_list {
  margin: 0;
  padding-left: 1.4em;
}
.company_overview .overview_list_item dd.license_list {
  display: flex;
  flex-direction: column;
}
.company_overview .overview_list_item .license_item {
  display: flex;
  flex-direction: column;
}
@media (min-width: 920px) {
  .company_overview .overview_list_item .license_item {
    flex-direction: row;
  }
}
.company_overview .overview_list_item .license_item .license_label {
  flex-shrink: 0;
}
.company_overview_access_map {
  width: 100%;
}
.company_overview_access_map iframe {
  width: 100%;
}
.company_overview_access .overview_list_item {
  border-bottom: none;
  padding: 0 10px;
  margin-bottom: 30px;
}
.company_history {
  padding: 126px 0 0;
}
.company_history .history_body {
  display: flex;
  flex-direction: column-reverse;
  gap: 60px;
  width: 100%;
}
@media (min-width: 920px) {
  .company_history .history_body {
    flex-direction: row;
    justify-content: space-between;
    margin-top: 50px;
  }
}
@media (min-width: 920px) {
  .company_history .history_body .history_timeline {
    width: 43.0769230769%;
  }
}
.company_history .history_body .timeline_list {
  list-style: none;
  padding: 0;
  margin: 0;
  position: relative;
}
@media (min-width: 920px) {
  .company_history .history_body .timeline_list {
    padding-top: 12px;
    padding-left: 51px;
  }
}
.company_history .history_body .timeline_list::before {
  content: "";
  position: absolute;
  top: 20px;
  bottom: -40px;
  left: 5px;
  width: 2px;
  height: 100%;
  background-color: #24D53F;
  z-index: 1;
}
@media (min-width: 920px) {
  .company_history .history_body .timeline_list::before {
    left: 57px;
  }
}
.company_history .history_body .timeline_list_item {
  position: relative;
  display: flex;
  flex-direction: column;
  padding-left: 24px;
  margin-bottom: 24px;
}
@media (min-width: 920px) {
  .company_history .history_body .timeline_list_item {
    padding-left: 36px;
    flex-direction: row;
    align-items: flex-start;
  }
}
.company_history .history_body .timeline_list_item:last-child {
  margin-bottom: 0;
}
.company_history .history_body .timeline_list_item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 7px;
  width: 12px;
  height: 12px;
  border: 2px solid #24D53F;
  border-radius: 50%;
  background-color: #fff;
  box-sizing: border-box;
  z-index: 2;
}
@media (min-width: 920px) {
  .company_history .history_body .timeline_list_item::before {
    width: 14px;
    height: 14px;
  }
}
.company_history .history_body .timeline_list_item .year {
  color: #24D53F;
  font-weight: 700;
  font-size: 16px;
  width: 60px;
  line-height: 1.4;
  flex-shrink: 0;
  margin: 0 12px 0 0;
  font-weight: 700;
}
@media (min-width: 920px) {
  .company_history .history_body .timeline_list_item .year {
    font-size: 20px;
    width: 70px;
    margin: 0 20px 0 0;
  }
}
.company_history .history_body .timeline_list_item .txt {
  font-size: 15px;
  line-height: 1.5;
  margin: 0;
  font-weight: 300;
}
@media (min-width: 920px) {
  .company_history .history_body .timeline_list_item .txt {
    font-size: 18px;
  }
}
@media (min-width: 920px) {
  .company_history .history_body .history_img {
    width: 49.3076923077%;
  }
}

@media (min-width: 920px) {
  .works_archive {
    padding: 92px 0 0;
  }
}
@media (max-width: 919px) {
  .works_archive .pagination {
    margin-top: 60px;
  }
}
@media (min-width: 920px) {
  .works_archive .foot_btn_wrap {
    padding: 138px 0 206px;
  }
}
.works_lead {
  text-align: left;
  margin-bottom: 52px;
  font-size: 15px;
  line-height: 1.8;
}
.works_filter {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 40px;
  list-style: none;
  padding: 0;
}
@media (min-width: 920px) {
  .works_filter {
    gap: 20px;
    justify-content: center;
    margin-bottom: 70px;
  }
}
.works_filter li a {
  position: relative;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  padding: 0 20px;
  height: 30px;
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  transition: all 0.3s ease;
  z-index: 1;
  background-color: #24D53F;
  color: #24D53F;
  -webkit-clip-path: polygon(11px 0, calc(100% - 11px) 0, 100% 8px, 100% calc(100% - 8px), calc(100% - 11px) 100%, 11px 100%, 0 calc(100% - 8px), 0 8px);
  clip-path: polygon(11px 0, calc(100% - 11px) 0, 100% 8px, 100% calc(100% - 8px), calc(100% - 11px) 100%, 11px 100%, 0 calc(100% - 8px), 0 8px);
}
@media (min-width: 920px) {
  .works_filter li a {
    padding: 0 40px;
    font-size: 20px;
    height: 37px;
  }
}
.works_filter li a::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #fff;
  z-index: -1;
  transition: all 0.3s ease;
  -webkit-clip-path: polygon(11.5px 1px, calc(100% - 11.5px) 1px, calc(100% - 1px) 8.5px, calc(100% - 1px) calc(100% - 8.5px), calc(100% - 11.5px) calc(100% - 1px), 11.5px calc(100% - 1px), 1px calc(100% - 8.5px), 1px 8.5px);
  clip-path: polygon(11.5px 1px, calc(100% - 11.5px) 1px, calc(100% - 1px) 8.5px, calc(100% - 1px) calc(100% - 8.5px), calc(100% - 11.5px) calc(100% - 1px), 11.5px calc(100% - 1px), 1px calc(100% - 8.5px), 1px 8.5px);
}
.works_filter li a.is-active, .works_filter li a:hover {
  color: #fff;
}
.works_filter li a.is-active::before, .works_filter li a:hover::before {
  background-color: #24D53F;
}
@supports (corner-shape: bevel) {
  .works_filter li a {
    background-color: #fff;
    border: 1px solid #24D53F;
    border-radius: 11px/8px;
    corner-shape: bevel;
    -webkit-clip-path: none;
    clip-path: none;
  }
  .works_filter li a::before {
    display: none;
  }
  .works_filter li a.is-active, .works_filter li a:hover {
    color: #fff;
    background-color: #24D53F;
  }
}
.works_grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 36px;
  margin-bottom: 60px;
  padding: 0;
  list-style: none;
}
@media (min-width: 920px) {
  .works_grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 68px 50px;
    margin-bottom: 86px;
  }
}
.works_item {
  list-style: none;
}
.works_card {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: inherit;
}
.works_card_img {
  width: 100%;
  aspect-ratio: 360/230;
  overflow: hidden;
  margin-bottom: 10px;
}
.works_card_img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}
.works_card:hover .works_card_img img {
  transform: scale(1.05);
}
.works_card_body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.works_card_ttl {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 5px;
}
@media (min-width: 920px) {
  .works_card_ttl {
    font-size: 20px;
  }
}
.works_card_date {
  font-size: 13px;
  margin-bottom: 16px;
  font-weight: 300;
}
@media (min-width: 920px) {
  .works_card_date {
    margin-bottom: 22px;
  }
}
.works_card_tags {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.works_card_tags .works_tag {
  position: relative;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  padding: 2px 16px;
  font-size: 14px;
  font-weight: 700;
  z-index: 1;
  background-color: #24D53F;
  color: #24D53F;
  -webkit-clip-path: polygon(7px 0, calc(100% - 7px) 0, 100% 5px, 100% calc(100% - 5px), calc(100% - 7px) 100%, 7px 100%, 0 calc(100% - 5px), 0 5px);
  clip-path: polygon(7px 0, calc(100% - 7px) 0, 100% 5px, 100% calc(100% - 5px), calc(100% - 7px) 100%, 7px 100%, 0 calc(100% - 5px), 0 5px);
}
.works_card_tags .works_tag::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #fff;
  z-index: -1;
  -webkit-clip-path: polygon(7.5px 1px, calc(100% - 7.5px) 1px, calc(100% - 1px) 5.5px, calc(100% - 1px) calc(100% - 5.5px), calc(100% - 7.5px) calc(100% - 1px), 7.5px calc(100% - 1px), 1px calc(100% - 5.5px), 1px 5.5px);
  clip-path: polygon(7.5px 1px, calc(100% - 7.5px) 1px, calc(100% - 1px) 5.5px, calc(100% - 1px) calc(100% - 5.5px), calc(100% - 7.5px) calc(100% - 1px), 7.5px calc(100% - 1px), 1px calc(100% - 5.5px), 1px 5.5px);
}
@supports (corner-shape: bevel) {
  .works_card_tags .works_tag {
    background-color: #fff;
    border: 1px solid #24D53F;
    border-radius: 7px/5px;
    corner-shape: bevel;
    -webkit-clip-path: none;
    clip-path: none;
  }
  .works_card_tags .works_tag::before {
    display: none;
  }
}
.works_body {
  padding: 84px 0 0;
}
.works_body .page_breadcrumb::before {
  display: none;
}
.works_single {
  padding-top: 46px;
  padding-bottom: 120px;
}
.works_single_header {
  margin-bottom: 40px;
}
@media (min-width: 920px) {
  .works_single_header {
    margin-bottom: 136px;
  }
}
.works_single_header .header_info {
  margin-top: 26px;
}
@media (min-width: 920px) {
  .works_single_header .header_info {
    margin-top: 56px;
  }
}
.works_single_header .header_meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 20px;
  margin-top: 4px;
}
.works_single_mv {
  width: 100%;
  aspect-ratio: 1160/608;
  overflow: hidden;
}
.works_single_mv img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.works_single_title {
  font-size: 22px;
  font-weight: 700;
  line-height: 1.25;
}
@media (min-width: 920px) {
  .works_single_title {
    font-size: 28px;
  }
}
.works_single_date {
  font-size: 13px;
  font-weight: 300;
}
.works_single_overview {
  display: flex;
  flex-direction: column;
  gap: 40px;
  margin-bottom: 60px;
}
@media (min-width: 920px) {
  .works_single_overview {
    flex-direction: row;
    justify-content: space-between;
    margin-bottom: 86px;
  }
}
@media (min-width: 920px) {
  .works_single_overview .overview_left {
    width: 46.1206896552%;
  }
}
.works_single_overview .overview_title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 14px;
}
.works_single_overview .overview_title .icon_arrow {
  display: inline-block;
  width: 23px;
  height: 27px;
  background: url("../img/page/icon_double_arrow.svg") no-repeat center/contain;
}
.works_single_overview .overview_text {
  line-height: 2;
}
@media (min-width: 920px) {
  .works_single_overview .overview_right {
    width: 46.1206896552%;
    padding-top: 14px;
  }
}
.works_single_overview .info_table {
  width: 100%;
  border-top: 1px solid rgba(49, 50, 52, 0.4509803922);
}
.works_single_overview .info_table .info_row {
  display: flex;
  flex-direction: column;
  gap: 8px;
  border-bottom: 1px solid rgba(49, 50, 52, 0.4509803922);
  padding: 17px 10px;
}
@media (min-width: 920px) {
  .works_single_overview .info_table .info_row {
    flex-direction: row;
    gap: 30px;
  }
}
.works_single_overview .info_table .info_row dt {
  width: 80px;
  font-weight: 500;
  color: #24D53F;
  flex-shrink: 0;
  font-size: 16px;
  line-height: 1.25;
}
@media (min-width: 920px) {
  .works_single_overview .info_table .info_row dt {
    font-size: 18px;
  }
}
.works_single_overview .info_table .info_row dd {
  margin: 0;
  flex-grow: 1;
  font-weight: 300;
  font-size: 16px;
  line-height: 1.25;
}
@media (min-width: 920px) {
  .works_single_overview .info_table .info_row dd {
    font-size: 18px;
  }
}
.works_single_comment {
  margin-bottom: 60px;
}
@media (min-width: 920px) {
  .works_single_comment {
    margin-bottom: 118px;
  }
}
.works_single_comment .comment_inner {
  position: relative;
  padding: 40px;
}
@media (min-width: 920px) {
  .works_single_comment .comment_inner {
    padding: 36px 138px;
  }
}
.works_single_comment .comment_inner .bracket_left,
.works_single_comment .comment_inner .bracket_right {
  position: absolute;
  top: 12px;
  bottom: 12px;
  width: 40px;
  display: block;
  pointer-events: none;
}
.works_single_comment .comment_inner .bracket_left {
  left: 0;
  background: linear-gradient(#24D53F, #24D53F) 0 26px/2px calc(100% - 52px) no-repeat;
}
.works_single_comment .comment_inner .bracket_left::before, .works_single_comment .comment_inner .bracket_left::after {
  content: "";
  position: absolute;
  left: 0;
  width: 46px;
  height: 2px;
  background: #24D53F;
  transform-origin: left center;
}
.works_single_comment .comment_inner .bracket_left::before {
  top: 26px;
  transform: translateX(1px) rotate(-35deg);
}
.works_single_comment .comment_inner .bracket_left::after {
  bottom: 26px;
  transform: translateX(1px) rotate(35deg);
}
.works_single_comment .comment_inner .bracket_right {
  right: 0;
  background: linear-gradient(#24D53F, #24D53F) 100% 26px/2px calc(100% - 52px) no-repeat;
}
.works_single_comment .comment_inner .bracket_right::before, .works_single_comment .comment_inner .bracket_right::after {
  content: "";
  position: absolute;
  right: 0;
  width: 46px;
  height: 2px;
  background: #24D53F;
  transform-origin: right center;
}
.works_single_comment .comment_inner .bracket_right::before {
  top: 26px;
  transform: translateX(-1px) rotate(35deg);
}
.works_single_comment .comment_inner .bracket_right::after {
  bottom: 26px;
  transform: translateX(-1px) rotate(-35deg);
}
.works_single_comment .comment_head {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 20px;
  color: #24D53F;
}
.works_single_comment .comment_head .icon_chat {
  width: 32px;
  height: 30px;
  background: url("../img/page/icon_chat.svg") no-repeat center/contain;
}
.works_single_comment .comment_head .comment_title {
  font-size: 18px;
  font-weight: 700;
}
.works_single_comment .comment_subtitle {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 12px;
}
.works_single_comment .comment_text {
  font-weight: 500;
  line-height: 1.75;
}
.works_single_gallery {
  display: flex;
  flex-direction: column;
  gap: 20px;
  max-width: 820px;
  margin: 0 auto 72px;
}
@media (min-width: 920px) {
  .works_single_gallery {
    gap: 40px;
  }
}
.works_single_gallery .gallery_item {
  width: 100%;
}
.works_single_gallery .gallery_item img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}
.works_single_footer {
  margin-top: 128px;
}
.works_related_grid {
  display: grid;
  gap: 20px;
}
@media (min-width: 920px) {
  .works_related_grid {
    grid-template-columns: repeat(4, 1fr);
    gap: 50px;
  }
}
.works_related_ttl {
  font-size: 20px;
  line-height: 1;
  position: relative;
  width: fit-content;
  margin: 0 auto 32px;
  font-weight: 700;
  padding: 8px 32px;
}
@media (min-width: 920px) {
  .works_related_ttl {
    font-size: 24px;
    padding: 8px 42px;
    margin: 0 auto 46px;
  }
}
.works_related_ttl .bracket_left,
.works_related_ttl .bracket_right {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 8px;
  display: block;
  pointer-events: none;
}
.works_related_ttl .bracket_left {
  left: 0;
  background: linear-gradient(#24D53F, #24D53F) 0 0/2px 100% no-repeat;
}
.works_related_ttl .bracket_left::before, .works_related_ttl .bracket_left::after {
  content: "";
  position: absolute;
  left: 0;
  width: 8px;
  height: 2px;
  background: #24D53F;
  transform-origin: left center;
}
.works_related_ttl .bracket_left::before {
  top: 0;
  transform: translateX(1px) rotate(-35deg);
}
.works_related_ttl .bracket_left::after {
  bottom: 0;
  transform: translateX(1px) rotate(35deg);
}
.works_related_ttl .bracket_right {
  right: 0;
  background: linear-gradient(#24D53F, #24D53F) 100% 0/2px 100% no-repeat;
}
.works_related_ttl .bracket_right::before, .works_related_ttl .bracket_right::after {
  content: "";
  position: absolute;
  right: 0;
  width: 8px;
  height: 2px;
  background: #24D53F;
  transform-origin: right center;
}
.works_related_ttl .bracket_right::before {
  top: 0;
  transform: translateX(-1px) rotate(35deg);
}
.works_related_ttl .bracket_right::after {
  bottom: 0;
  transform: translateX(-1px) rotate(-35deg);
}
.works_related_card_img {
  aspect-ratio: 288/230;
  margin-bottom: 13px;
  overflow: hidden;
}
.works_related_card_img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}
.works_related_card:hover .works_related_card_img img {
  transform: scale(1.05);
}
.works_related_card_ttl {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: 4px;
}
@media (min-width: 920px) {
  .works_related_card_ttl {
    font-size: 20px;
  }
}
.works_related_card_date {
  font-size: 13px;
  font-weight: 300;
  line-height: 1.25;
  margin-bottom: 12px;
}
@media (min-width: 920px) {
  .works_related_card_date {
    margin-bottom: 24px;
  }
}

.news_archive_wrap {
  padding: 80px 0 120px;
  background-color: #fff;
  background-image: radial-gradient(circle, #24D53F 0.5px, transparent 1.01px);
  background-size: 3px 3px;
  background-position: 0 0;
  margin-top: -8px;
}
@media (min-width: 920px) {
  .news_archive_wrap {
    background-image: radial-gradient(circle, #24D53F 1px, transparent 1.01px);
    padding: 92px 0 120px;
    background-size: 4px 4px;
  }
}
.news_archive_wrap .pagination {
  margin-top: 40px;
}
@media (min-width: 920px) {
  .news_archive_wrap .pagination {
    margin-top: 62px;
  }
}
.news_archive_layout {
  display: flex;
  flex-direction: column;
  max-width: 1180px;
  margin: 0 auto;
  gap: 60px;
}
@media (min-width: 920px) {
  .news_archive_layout {
    flex-direction: row;
    justify-content: space-between;
    grid-area: 0;
    gap: 40px;
  }
}
@media (min-width: 920px) {
  .news_archive_main {
    width: 69.6610169492%;
  }
}
.news_archive_list {
  display: flex;
  flex-direction: column;
  gap: 15px;
  list-style: none;
  padding: 0;
  margin: 0;
}
.news_archive_item {
  list-style: none;
}
.news_archive_card {
  position: relative;
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 20px;
  background: #fff;
  color: inherit;
  text-decoration: none;
  flex-direction: column;
  padding: 32px 40px;
  transform: translate(0, 0);
  will-change: transform;
  transition: transform 0.28s ease, filter 0.28s ease;
  -webkit-clip-path: polygon(40px 0, calc(100% - 40px) 0, 100% 40px, 100% calc(100% - 40px), calc(100% - 40px) 100%, 40px 100%, 0 calc(100% - 40px), 0 40px);
  clip-path: polygon(40px 0, calc(100% - 40px) 0, 100% 40px, 100% calc(100% - 40px), calc(100% - 40px) 100%, 40px 100%, 0 calc(100% - 40px), 0 40px);
}
@media (min-width: 920px) {
  .news_archive_card {
    flex-direction: row;
    justify-content: space-between;
    padding: 27px 51px;
  }
}
.news_archive_card::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  -webkit-clip-path: inherit;
  clip-path: inherit;
  opacity: 1;
  transition: opacity 0.18s ease;
  background: linear-gradient(#1ecb00, #1ecb00) 0 100%/100% 5px no-repeat, linear-gradient(#1ecb00, #1ecb00) 100% 0/6px 100% no-repeat, linear-gradient(135deg, transparent 0, transparent calc(50% + 21px), #1ecb00 calc(50% + 21px), #1ecb00 calc(50% + 34px), transparent calc(50% + 34px), transparent 100%) 100% 100%/80px 80px no-repeat;
}
@media (min-width: 920px) {
  .news_archive_card:hover {
    transform: translate(2px, 2px);
    filter: brightness(0.98);
  }
  .news_archive_card:hover::after {
    opacity: 0;
  }
}
.news_archive_thumb {
  overflow: hidden;
  aspect-ratio: 230/170;
  width: 100%;
}
@media (min-width: 920px) {
  .news_archive_thumb {
    
    width: 31.9444444444%;
  }
}
.news_archive_thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.news_archive_thumb_dummy {
  width: 100%;
  height: 100%;
  background: #d9d9d9;
}
@media (min-width: 920px) {
  .news_archive_body {
    width: 63.1944444444%;
  }
}
.news_archive_meta {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  margin-bottom: 8px;
}
@media (min-width: 920px) {
  .news_archive_meta {
    flex-direction: row;
    align-items: center;
    gap: 15px;
    margin-bottom: 12px;
  }
}
.news_archive_cats {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.news_archive_cat {
  display: inline-block;
  border: 1px solid #313234;
  font-size: 13px;
  font-weight: 500;
  line-height: 1;
  padding: 3px 14px 4px;
}
.news_archive_date {
  font-weight: 300;
  font-family: "Barlow Semi Condensed", sans-serif;
}
.news_archive_title {
  margin: 0 0 8px;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
}
@media (min-width: 920px) {
  .news_archive_title {
    margin: 0 0 16px;
    font-size: 18px;
  }
}
.news_archive_text {
  font-size: 14px;
  line-height: 1.785;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  text-overflow: ellipsis;
}
.news_archive_pager {
  margin-top: 18px;
}
.news_archive_pager ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  gap: 8px;
  justify-content: center;
  align-items: center;
}
.news_archive_pager .page-numbers {
  width: 26px;
  height: 26px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  font-size: 12px;
  text-decoration: none;
  transition: all 0.3s;
}
.news_archive_pager a.page-numbers {
  background: #fff;
  border: 1px solid #313234;
}
.news_archive_pager a.page-numbers:hover {
  background-color: #f5f5f5;
}
.news_archive_pager span.page-numbers.current {
  background: #1ecb00;
  color: #fff;
  border: 1px solid #1ecb00;
}
@media (min-width: 920px) {
  .news_archive_side {
    width: 23.9830508475%;
  }
}
.news_single {
  padding: 90px 0 116px;
  background-color: #fff;
  background-image: radial-gradient(circle, #24D53F 1px, transparent 1.01px);
  background-size: 4px 4px;
  background-position: 0 0;
}
.news_single .page_breadcrumb::before {
  display: none;
}
.news_single_wrap {
  padding-top: 60px;
}
@media (min-width: 920px) {
  .news_single_wrap {
    padding-top: 82px;
  }
}
.news_single_layout {
  display: flex;
  flex-direction: column;
  gap: 40px;
}
@media (min-width: 920px) {
  .news_single_layout {
    flex-direction: row;
    justify-content: space-between;
    max-width: 1180px;
    margin: 0 auto;
    gap: 40px;
  }
}
@media (min-width: 920px) {
  .news_single_main {
    width: 69.6610169492%;
  }
}
.news_single_article {
  background: #fff;
  padding: 36px 20px;
}
@media (min-width: 920px) {
  .news_single_article {
    padding: 54px 50px 54px;
  }
}
@media (max-width: 919px) {
  .news_single_article .btn_ja {
    padding: 12px 13px 12px 30px;
    gap: 40px;
  }
}
@media (max-width: 919px) {
  .news_single_article .btn_ja .btn_txt {
    font-size: 16px;
  }
}
.news_single_head {
  margin-bottom: 32px;
}
@media (min-width: 920px) {
  .news_single_head {
    margin-bottom: 46px;
  }
}
.news_single_title {
  margin: 0 0 10px;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  font-family: "Zen Kaku Gothic New", sans-serif;
}
@media (min-width: 920px) {
  .news_single_title {
    font-size: 28px;
  }
}
.news_single_meta {
  display: flex;
  align-items: center;
  line-height: 1;
  gap: 14px;
}
@media (min-width: 920px) {
  .news_single_meta {
    gap: 10px;
  }
}
.news_single_cats {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.news_single_cat {
  border: 0;
  padding: 0;
  margin: 0;
  font-size: 13px;
  font-weight: 300;
  line-height: 1;
}


.news_single_date {
  font-size: inherit;
  position: relative;
  font-weight: 300;
  font-size: 13px;
  padding-left: 14px;
}
@media (min-width: 920px) {
  .news_single_date {
    padding-left: 10px;
  }
}
.news_single_date::after {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 1px;
  height: 13px;
  background: #313234;
}
.news_single_content {
  margin-top: 18px;
  margin-bottom: 60px;
}
@media (min-width: 920px) {
  .news_single_content {
    margin-bottom: 106px;
  }
}
.news_single_content p {
  margin: 0 0 20px;
  line-height: 2;
  color: #313234;
}
@media (min-width: 920px) {
  .news_single_content p {
    margin: 0 0 30px;
  }
}
.news_single_content img {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 20px 0;
}
@media (min-width: 920px) {
  .news_single_content img {
    margin: 30px 0;
  }
}
.news_single_content a {
  text-decoration: underline;
}
.news_single_content figure {
  margin: 18px 0;
}
.news_single_back {
  display: flex;
  justify-content: center;
  margin: 38px 0 34px;
}
.news_single_back_btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-width: 260px;
  padding: 12px 18px;
  border: 1px solid #313234;
  background: #fff;
  color: inherit;
  text-decoration: none;
  transition: transform 0.2s ease, background-color 0.2s ease;
}
@media (min-width: 920px) {
  .news_single_back_btn:hover {
    transform: translateY(1px);
    background-color: #fafafa;
  }
}
.news_single_back_arrow {
  width: 10px;
  height: 10px;
  border-right: 2px solid #313234;
  border-top: 2px solid #313234;
  transform: rotate(45deg);
  display: inline-block;
}
.news_single_archive {
  padding-top: 80px;
}
.news_single_archive_head {
  position: relative;
  height: 30px;
  background: #24D53F;
  margin-bottom: 18px;
  overflow: hidden;
}
.news_single_archive_label {
  position: absolute;
  left: 30px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
}
.news_single_archive_head::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 70px;
  height: 30px;
  pointer-events: none;
  z-index: 1;
  background: url("../img/page/archive_head_cap.png") right top/70px 30px no-repeat;
}
.news_single_archive_list {
  list-style: none;
  padding: 0 10px;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 40px;
}
@media (min-width: 600px) {
  .news_single_archive_list {
    gap: 20px;
  }
}
.news_single_archive_card {
  display: flex;
  flex-direction: column;
  gap: 20px;
  align-items: center;
}
@media (min-width: 600px) {
  .news_single_archive_card {
    gap: 0;
    flex-direction: row;
    justify-content: space-between;
  }
}
.news_single_archive_thumb {
  aspect-ratio: 186/138;
  overflow: hidden;
  width: 100%;
}
@media (min-width: 600px) {
  .news_single_archive_thumb {
    width: 26.4957264957%;
  }
}
.news_single_archive_thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media (min-width: 600px) {
  .news_single_archive_body {
    width: 68.2336182336%;
  }
}
.news_single_archive_meta {
  display: flex;
  align-items: center;
  gap: 15px;
  margin-bottom: 10px;
}
.news_single_archive_cat {
  display: inline-block;
  border: 1px solid #313234;
  font-size: 12px;
  font-weight: 500;
  line-height: 1;
  padding: 4px 20px 5px;
}
.news_single_archive_date {
  line-height: 1;
  font-family: "Barlow Semi Condensed", sans-serif;
}
.news_single_archive_title {
  margin: 0 0 10px;
  font-weight: 700;
  font-size: 14px;
}
@media (min-width: 600px) {
  .news_single_archive_title {
    font-size: 16px;
  }
}
.news_single_archive_text {
  margin: 0;
  font-size: 12px;
  line-height: 2.08;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  text-overflow: ellipsis;
}
.news_side_box {
  background: #fff;
  padding: 30px 20px;
  border: 1px solid #24D53F;
  margin-bottom: 26px;
}
@media (min-width: 920px) {
  .news_side_box {
    padding: 40px 30px;
  }
}
.news_side_box_item {
  margin-bottom: 30px;
}
.news_side_box_item:last-child {
  margin-bottom: 0;
}
.news_side_title {
  font-size: 13px;
  font-weight: 500;
  line-height: 1.25;
  position: relative;
  color: #24D53F;
  padding: 1px 20px;
  width: fit-content;
  margin-bottom: 13px;
}
.news_side_title .bracket_left,
.news_side_title .bracket_right {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 3px;
  display: block;
  pointer-events: none;
}
.news_side_title .bracket_left {
  left: 0;
  background: linear-gradient(#24D53F, #24D53F) 0 0/1px 100% no-repeat;
}
.news_side_title .bracket_left::before, .news_side_title .bracket_left::after {
  content: "";
  position: absolute;
  left: 0;
  width: 3px;
  height: 1px;
  background: #24D53F;
  transform-origin: left center;
}
.news_side_title .bracket_left::before {
  top: 0;
  transform: translateX(1px) rotate(-35deg);
}
.news_side_title .bracket_left::after {
  bottom: 0;
  transform: translateX(1px) rotate(35deg);
}
.news_side_title .bracket_right {
  right: 0;
  background: linear-gradient(#24D53F, #24D53F) 100% 0/1px 100% no-repeat;
}
.news_side_title .bracket_right::before, .news_side_title .bracket_right::after {
  content: "";
  position: absolute;
  right: 0;
  width: 3px;
  height: 1px;
  background: #24D53F;
  transform-origin: right center;
}
.news_side_title .bracket_right::before {
  top: 0;
  transform: translateX(-1px) rotate(35deg);
}
.news_side_title .bracket_right::after {
  bottom: 0;
  transform: translateX(-1px) rotate(-35deg);
}
.news_side_cats {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.news_side_cat {
  display: inline-block;
  text-decoration: none;
  border: 1px solid #313234;
  padding: 3px 14px 4px;
  font-size: 13px;
  font-weight: 500;
  line-height: 1;
  color: inherit;
  transition: all 0.3s;
}
.news_side_cat:hover {
  border-color: #1ecb00;
  color: #1ecb00;
}
.news_side_archives {
  list-style: none;
  padding: 0;
  margin: 0;
}
.news_side_archives a {
  padding: 8px 12px;
  font-size: 13px;
  font-weight: 500;
  text-decoration: none;
  transition: color 0.3s;
  border-bottom: 1px dashed #313234;
  display: flex;
  gap: 4px;
  align-items: center;
  width: 100%;
  line-height: 1;
}
.news_side_archives a::before {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 5px 0 5px 8px;
  border-color: transparent transparent transparent #1ecb00;
}
.news_side_archives a:hover {
  color: #1ecb00;
}
.news_side_btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  color: #fff;
  background: #24D53F;
  padding: 12px;
  font-size: 20px;
  font-weight: 400;
  font-family: "Barlow Semi Condensed", sans-serif;
  transition: background-color 0.3s ease;
}
.news_side_btn:hover {
  background-color: #1CAA32;
  color: #fff;
}
.news_side_btn .icon {
  display: inline-block;
  width: 21px;
  height: 21px;
  background-color: #fff;
  -webkit-mask-image: url("../img/common/icon_instagram.svg");
  mask-image: url("../img/common/icon_instagram.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-position: center;
  mask-position: center;
}
@media (min-width: 920px) {
  .news .news_archive_side {
    width: 23.9830508475%;
  }
}

.page_section_ttl_wrap.margin_narrow {
  margin-bottom: 10px;
}
.page_section_ttl_wrap .page_section_ttl.news_side_title {
  display: flex;
  align-items: center;
  width: fit-content;
  gap: 10px;
  color: #24D53F;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.25;
}
.page_section_ttl_wrap .page_section_ttl.news_side_title::before, .page_section_ttl_wrap .page_section_ttl.news_side_title::after {
  content: "";
  display: inline-block;
  width: 3px;
  height: 21px;
  background-color: #24D53F;
}

.contact {
  background-color: #24D53F;
  padding: 90px 0 190px;
}
.contact_body {
  padding-top: 80px;
}
@media (min-width: 920px) {
  .contact_body {
    padding-top: 172px;
  }
}
.contact_body .section_ttl {
  margin-bottom: 40px;
}
.contact_body .section_ttl_ja {
  font-size: 21px;
}
.contact_body .section_ttl_en {
  font-size: 52px;
  letter-spacing: -0.01em;
}
@media (min-width: 920px) {
  .contact_body .section_ttl_en {
    font-size: 105px;
  }
}
.contact_form {
  background-color: #fff;
  margin: 0 auto;
  padding: 80px 24px 60px;
  max-width: 1300px;
  -webkit-clip-path: polygon(30px 0, calc(100% - 30px) 0, 100% 40px, 100% calc(100% - 40px), calc(100% - 30px) 100%, 30px 100%, 0 calc(100% - 40px), 0 40px);
  clip-path: polygon(30px 0, calc(100% - 30px) 0, 100% 40px, 100% calc(100% - 40px), calc(100% - 30px) 100%, 30px 100%, 0 calc(100% - 40px), 0 40px);
}
@media (min-width: 920px) {
  .contact_form {
    padding: 110px 200px 120px;
  }
}

.form .wpcf7-form-control-wrap {
  display: block;
}
.form_group {
  margin-bottom: 20px;
}
@media (min-width: 920px) {
  .form_group {
    margin-bottom: 34px;
  }
}
.form_label {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px 10px;
  font-size: 16px;
  font-weight: 500;
  margin-bottom: 8px;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
@media (min-width: 920px) {
  .form_label {
    gap: 10px 16px;
    font-size: 20px;
    margin-bottom: 8px;
  }
}
.form_label_text {
  display: inline-block;
}
.form_req {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 54px;
  background-color: #313234;
  color: #24D53F;
  font-size: 13px;
  font-weight: 500;
  font-family: "Zen Kaku Gothic New", sans-serif;
  padding: 3px 10px;
  border-radius: 20px;
  line-height: 1;
  letter-spacing: 0.15em;
}
@media (min-width: 920px) {
  .form_req {
    min-width: 70px;
    padding: 5px 17px;
    font-size: 14px;
  }
}
.form_sub {
  font-size: 14px;
  line-height: 1.4;
  font-weight: 400;
  letter-spacing: 0;
}
.form_note {
  font-size: 12px;
  line-height: 1.5;
  font-weight: 400;
  letter-spacing: 0;
}
@media (min-width: 920px) {
  .form_note {
    font-size: 14px;
  }
}
.form_control {
  width: 100%;
  min-height: 44px;
  padding: 8px 16px;
  border: 2px solid #24D53F;
  border-radius: 5px;
  font-size: 16px;
  background-color: #fff;
  outline: none;
  transition: box-shadow 0.3s ease;
  box-sizing: border-box;
  appearance: none;
}
@media (min-width: 920px) {
  .form_control {
    min-height: 56px;
    padding: 12px 16px;
  }
}
.form_control:focus {
  box-shadow: 0 0 5px rgba(0, 193, 68, 0.4);
}
.form_control_textarea {
  height: 235px;
  resize: none;
  padding-top: 12px;
  padding-bottom: 12px;
}
.form select.form_control.is-readonly {
  pointer-events: none;
  background-color: #f3f4f6;
}
.form_control_file {
  width: 100%;
  display: block;
  box-sizing: border-box;
  background-color: #fff;
  border: 1px solid #818181;
  border-radius: 5px;
  padding: 12px 20px;
  font-size: 14px;
  line-height: 1.4;
  color: #818181;
  outline: none;
  transition: box-shadow 0.3s ease;
}
@media (min-width: 920px) {
  .form_control_file {
    min-height: 56px;
  }
}
.form_control_file:focus {
  box-shadow: 0 0 5px rgba(0, 193, 68, 0.4);
}
.form_control_file::file-selector-button {
  appearance: none;
  border: 1px solid #818181;
  background-color: #fff;
  color: #818181;
  font-size: 14px;
  font-weight: 400;
  line-height: 1;
  padding: 13px 13px 11px;
  border-radius: 4px;
  margin-right: 5px;
  cursor: pointer;
  transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease;
}
@media (min-width: 920px) {
  .form_control_file::file-selector-button {
    font-size: 16px;
    padding: 8px 12px 6px;
    margin-right: 5px;
  }
}
.form_control_file::-webkit-file-upload-button {
  appearance: none;
  border: 1px solid #818181;
  background-color: #fff;
  color: #818181;
  font-size: 14px;
  font-weight: 400;
  line-height: 1;
  padding: 13px 13px 11px;
  border-radius: 4px;
  margin-right: 5px;
  cursor: pointer;
  transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease;
}
@media (min-width: 920px) {
  .form_control_file::-webkit-file-upload-button {
    font-size: 16px;
    padding: 8px 12px 6px;
    margin-right: 5px;
  }
}
.form_control_file:hover::file-selector-button {
  background-color: #ebebeb;
}
.form_control_file:hover::-webkit-file-upload-button {
  background-color: #ebebeb;
}
.form .wpcf7-not-valid-tip {
  margin-top: 6px;
  font-size: 12px;
  line-height: 1.5;
  color: #d6001c;
}
@media (min-width: 920px) {
  .form .wpcf7-not-valid-tip {
    font-size: 13px;
  }
}
.form .wpcf7 form.invalid .wpcf7-response-output,
.form .wpcf7 form.unaccepted .wpcf7-response-output,
.form .wpcf7 form.payment-required .wpcf7-response-output {
  margin: 20px 0 0;
  padding: 12px 16px;
  border: 1px solid #d6001c;
  font-size: 13px;
  line-height: 1.6;
}
.form .wpcf7 form.sent .wpcf7-response-output {
  margin: 20px 0 0;
  padding: 12px 16px;
  border: 1px solid #313234;
  font-size: 13px;
  line-height: 1.6;
}
.form_policy {
  background-color: rgba(36, 213, 63, 0.3019607843);
  padding: 20px;
  margin-top: 34px;
  margin-bottom: 36px;
}
@media (min-width: 920px) {
  .form_policy {
    padding: 36px 50px 30px;
  }
}
.form_policy_ttl {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.03em;
  margin-bottom: 12px;
}
@media (min-width: 920px) {
  .form_policy_ttl {
    font-size: 18px;
  }
}
.form_policy_txt {
  line-height: 1.5;
  font-weight: 300;
  height: 160px;
  overflow-y: auto;
  padding: 10px 0 0;
  font-size: 12px;
}
@media (min-width: 920px) {
  .form_policy_txt {
    padding: 20px 0 0;
    font-size: 14px;
  }
}
.form_policy_txt p {
  margin-bottom: 12px;
}
.form_policy_txt p:last-child {
  margin-bottom: 0;
}
.form {
  /* --- 同意テキスト --- */
}
.form_agree {
  text-align: center;
  margin-bottom: 14px;
  font-weight: 400;
  line-height: 1.8;
  font-size: 13px;
}
@media (min-width: 920px) {
  .form_agree {
    font-size: 16px;
  }
}
.form_agree a {
  color: #24D53F;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 2px;
  transition: opacity 0.3s;
}
.form_agree a:hover {
  opacity: 0.7;
}
.form_agree a::after {
  content: "";
  display: inline-block;
  width: 15px;
  height: 15px;
  background-color: #24D53F;
  -webkit-mask-image: url("../img/common/icon_blank.svg");
  mask-image: url("../img/common/icon_blank.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
}
.form_submit_wrap {
  position: relative;
  max-width: 256px;
  margin: 0 auto;
}
.form_submit_wrap::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 13px;
  display: inline-block;
  width: 13px;
  height: 30px;
  background-color: #313234;
  -webkit-mask-image: url("../img/common/btn_arrow.svg");
  mask-image: url("../img/common/btn_arrow.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
  pointer-events: none;
  transition: background-color 0.3s ease;
}
@media (min-width: 920px) {
  .form_submit_wrap::after {
    right: 15px;
    width: 17px;
    height: 39px;
  }
}
.form_submit_wrap .wpcf7-spinner {
  position: absolute;
  top: 50%;
  left: 100%;
  transform: translateY(-50%);
  margin: 0 0 0 10px;
}
.form_submit_wrap:hover .form_submit {
  background-color: #313234;
  color: #24D53F;
}
.form_submit_wrap:hover::after {
  background-color: #24D53F;
}
.form_submit_wrap:has(button:disabled) {
  pointer-events: none !important;
}
.form_submit_wrap_confirm {
  margin-top: 60px;
}
.form_submit_wrap_confirm .form_submit_wrap {
  margin: 0;
}
.form_submit {
  width: 100%;
  background-color: #24D53F;
  cursor: pointer;
  appearance: none;
  text-align: center;
  border: none;
  padding: 12px 76px 12px 50px;
  font-size: 19px;
  line-height: 1.25;
  font-weight: 400;
  font-family: "Zen Kaku Gothic New", sans-serif;
  transition: background-color 0.3s ease, color 0.3s ease;
}
@media (min-width: 920px) {
  .form_submit {
    padding: 22px 92px 22px 60px;
    font-size: 20px;
  }
}
.form .js-cf7-confirm-screen,
.form .js-cf7-thanks {
  display: none;
}
.form.is-confirm-view .js-cf7-input {
  display: none;
}
.form.is-confirm-view .js-cf7-confirm-screen {
  display: block;
}
.form.is-thanks-view .js-cf7-input,
.form.is-thanks-view .js-cf7-confirm-screen,
.form.is-thanks-view .wpcf7-response-output {
  display: none;
}
.form.is-thanks-view .js-cf7-thanks {
  display: block;
}
.form_confirm_value {
  width: 100%;
  font-size: 16px;
  box-sizing: border-box;
  white-space: pre-wrap;
  word-break: break-word;
}
@media (min-width: 920px) {
  .form_confirm_value {
    font-size: 20px;
  }
}
.form_submit_wrap_confirm {
  display: flex;
  justify-content: center;
  gap: 16px;
  flex-wrap: wrap;
  max-width: none;
}
.form_submit_wrap_confirm::after {
  display: none;
}
.form_submit_wrap_confirm > * {
  width: 100%;
  max-width: 256px;
}
.form_submit_back {
  width: 100%;
  background-color: #fff;
  color: #313234;
  border: 1px solid #313234;
  cursor: pointer;
  appearance: none;
  text-align: center;
  padding: 12px 50px;
  font-size: 19px;
  line-height: 1.25;
  font-weight: 400;
  font-family: "Zen Kaku Gothic New", sans-serif;
  transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}
@media (min-width: 920px) {
  .form_submit_back {
    padding: 22px 60px;
    font-size: 20px;
  }
}
.form_submit_back:hover {
  background-color: #313234;
  color: #fff;
}
.form .js-cf7-confirm-screen .form_group {
  margin-bottom: 20px;
}
.form .js-cf7-confirm-screen .form_label {
  font-size: 16px;
  margin-bottom: 4px;
}
.form .wpcf7 form.sent .wpcf7-response-output,
.form .wpcf7-spinner {
  display: none !important;
}

.thanks_page {
  background-color: #fff;
}
.thanks_page .section_ttl_en {
  font-size: 24px;
  font-weight: 700;
  line-height: 1.25;
}
@media (min-width: 920px) {
  .thanks_page .section_ttl_en {
    font-size: 42px;
  }
}
.thanks_page .contact_form {
  text-align: center;
  padding: 40px 20px;
  background-color: #24D53F;
  max-width: 800px;
  margin: 0 auto 40px;
}
@media (min-width: 920px) {
  .thanks_page .contact_form {
    padding: 40px;
    margin: 0 auto 60px;
  }
}
.thanks_page .contact_form .contact_thanks_txt {
  font-size: 16px;
}
@media (min-width: 920px) {
  .thanks_page .contact_form .contact_thanks_txt {
    font-size: 18px;
  }
}

.entry_form .form_confirm_value {
  border: none;
}
.entry_form .form_submit_back {
  background-color: #fff;
  border-color: #313234;
}
.entry_form .form_submit_back:hover {
  background-color: #24D53F;
  color: #313234;
  border-color: #24D53F;
}
.entry_form .form_submit_wrap:first-child::after {
  background-color: #313234;
}
.entry_form .js-cf7-confirm-screen {
  background-color: #fff;
  padding: 30px 20px;
}
@media (min-width: 920px) {
  .entry_form .js-cf7-confirm-screen {
    padding: 40px;
  }
}

@media (max-width: 919px) {
  .entry_form .section_ttl {
    margin-bottom: 46px;
  }
}
.entry_form .form_control {
  border: none;
}
.entry_form .form_control_file {
  border: none;
}
.entry_form .form_policy {
  background-color: rgba(255, 255, 255, 0.6);
}
.entry_form .form_agree a {
  color: #fff;
}
.entry_form .form_agree a::after {
  content: "";
  display: inline-block;
  background-color: #fff;
}
.entry_form .form_submit {
  background-color: #313234;
  color: #24D53F;
}
.entry_form .form_submit_wrap::after {
  background-color: #24D53F;
}
.entry_form .form_submit_wrap:hover .form_submit {
  background-color: #24D53F;
  color: #313234;
}
.entry_form .form_submit_wrap:hover::after {
  background-color: #313234;
}
@media (min-width: 920px) {
  .entry_form .form_policy {
    margin-top: 34px;
    margin-bottom: 66px;
  }
}

.js-cf7-open-confirm:disabled {
  opacity: 0.7 !important;
  pointer-events: none !important;
  cursor: not-allowed !important;
  box-shadow: none !important;
  transform: none !important;
  filter: none !important;
}
.js-cf7-open-confirm:disabled:hover, .js-cf7-open-confirm:disabled:active, .js-cf7-open-confirm:disabled:focus {
  opacity: 0.7 !important;
  pointer-events: none !important;
  cursor: not-allowed !important;
  box-shadow: none !important;
  transform: none !important;
  filter: none !important;
}

/* =========================================
   1. MV（メインビジュアル）
========================================= */
.recruit_mv {
  position: relative;
  width: 100%;
}
.recruit_mv .page_breadcrumb {
  position: absolute;
  z-index: 1;
}
@media (max-width: 919px) {
  .recruit_mv .page_breadcrumb {
    left: 16px;
    top: 52px;
  }
}
@media (min-width: 920px) {
  .recruit_mv .page_breadcrumb {
    right: 64px;
    top: 96px;
  }
}
.recruit_mv .page_breadcrumb {
  width: fit-content;
}
.recruit_mv .page_breadcrumb::before {
  display: none;
}
.recruit_mv .page_breadcrumb li {
  background-color: transparent;
  color: #fff;
  border: 1px solid #fff;
}
@media (min-width: 920px) {
  .recruit_mv .page_breadcrumb li {
    border: none;
  }
}
.recruit_mv .page_breadcrumb li::before {
  display: none;
}
.recruit_mv .page_breadcrumb li:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: -18px;
  width: 17px;
  height: 19px;
  background-image: url(../img/page/breadcrumb_arrow_white.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 17px auto;
}
.recruit_mv_bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.recruit_mv_ttl {
  position: absolute;
  color: #fff;
  z-index: 1;
  line-height: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
}
@media (min-width: 920px) {
  .recruit_mv_ttl {
    top: 100px;
    left: 34px;
    gap: 26px;
  }
}
@media (max-width: 919px) {
  .recruit_mv_ttl {
    bottom: 55px;
    right: 13px;
  }
}
.recruit_mv_ttl_en {
  font-size: max(30px, 6vw);
  font-family: "Barlow Semi Condensed", sans-serif;
  letter-spacing: -0.01em;
  writing-mode: vertical-rl;
}
@media (min-width: 920px) {
  .recruit_mv_ttl_en {
    font-size: clamp(30px, 4vw, 79.2px);
  }
}
.recruit_mv_ttl_ja {
  font-size: max(14px, 2.8vw);
  font-weight: 400;
  writing-mode: vertical-rl;
  text-orientation: sideways;
}
@media (min-width: 920px) {
  .recruit_mv_ttl_ja {
    font-size: clamp(14px, 1.3125vw, 25.9875px);
    color: #313234;
  }
}
.recruit_mv_copyArea {
  position: absolute;
  color: #fff;
  z-index: 1;
}
@media (min-width: 920px) {
  .recruit_mv_copyArea {
    right: min(88px, 5.5vw);
    bottom: min(146px, 9.125vw);
  }
}
@media (max-width: 919px) {
  .recruit_mv_copyArea {
    top: 110px;
    left: 25px;
  }
}
.recruit_mv_copyArea .catch {
  font-size: max(22px, 4.4vw);
  font-weight: 700;
  line-height: 1.6;
  margin-bottom: 24px;
}
@media (min-width: 920px) {
  .recruit_mv_copyArea .catch {
    font-size: clamp(20px, 2.5vw, 49.5px);
    margin-bottom: min(48px, 3vw);
  }
}
.recruit_mv_copyArea .txt {
  line-height: 2;
  font-weight: 700;
}
@media (min-width: 920px) {
  .recruit_mv_copyArea .txt {
    font-size: clamp(10px, 1vw, 19.8px);
  }
}
.recruit_mv_copyArea .txt p {
  margin-bottom: 26px;
}
@media (min-width: 920px) {
  .recruit_mv_copyArea .txt p {
    margin-bottom: clamp(10px, 1.875vw, 37.125px);
  }
}
@media (max-width: 919px) {
  .recruit_mv_copyArea .txt p {
    /* font-size: max(11px, 2.2vw); */
    font-size: max(14px, 2.2vw);
  }
}
.recruit_mv_copyArea .txt p:last-child {
  margin-bottom: 0;
}
.recruit_mv_btn_wrap {
  position: absolute;
  bottom: 20px;
  left: 20px;
}
@media (min-width: 920px) {
  .recruit_mv_btn_wrap {
    bottom: 40px;
    left: 40px;
  }
}
.recruit_mv_btn_wrap .btn_recruit_entry {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background-color: rgba(255, 255, 255, 0.8);
  font-size: 16px;
  font-weight: 500;
  padding: 16px 15px;
  text-decoration: none;
  transition: opacity 0.3s;
  position: fixed;
  left: 25px;
  bottom: 50px;
  z-index: 99;
  gap: 4px;
  transition: background-color 0.3s ease, opacity 0.3s ease, visibility 0.3s ease;
}


@media (min-width: 920px) {
  .recruit_mv_btn_wrap .btn_recruit_entry {
    font-size: 20px;
    gap: 22px;
    left: 0;
    bottom: 88px;
    padding: 23px 16px;
  }
}
.recruit_mv_btn_wrap .btn_recruit_entry.is-hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.recruit_mv_btn_wrap .btn_recruit_entry:hover {
  background-color: #fff;
}
.recruit_mv_btn_wrap .btn_recruit_entry .arrow {
  display: inline-block;
  width: 12px;
  height: 29px;
  background-color: #24D53F;
  /* --- マスクの設定 --- */
  -webkit-mask-image: url(../img/common/btn_arrow.svg);
  mask-image: url(../img/common/btn_arrow.svg);
  -webkit-mask-size: contain; /* ★追加：マスクのサイズをcontainにする */
  mask-size: contain; /* ★追加：マスクのサイズをcontainにする */
  -webkit-mask-repeat: no-repeat; /* ★追加：マスクを繰り返さない */
  mask-repeat: no-repeat; /* ★追加：マスクを繰り返さない */
  -webkit-mask-position: center; /* ★追加：マスクを中央に配置する */
  mask-position: center; /* ★追加：マスクを中央に配置する */
  /* --- 背景の設定（マスクで制御するので、ここでの指定は必須ではないが残しておいても問題ない） --- */
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center; /* ★追加：背景も中央に配置する */
}
@media (min-width: 920px) {
  .recruit_mv_btn_wrap .btn_recruit_entry .arrow {
    width: 17px;
    height: 40px;
    /* タブレット用のサイズでもアスペクト比が少しずれている（12x29 ≒ 1x2.41, 17x40 ≒ 1x2.35）ので、
    理想的にはどちらか一方をautoにするか、元のSVGと同じ比率にする（例：17px x 41px）。
    今回は、中央配置の設定を追加したので、このままでも画像は見切れずに中央に表示される。 */
  }
}
.recruit_mv_bottom {
  position: relative;
  z-index: 2;
  height: 40px;
  background-color: #E8E0D6;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 20px;
  font-size: 10px;
  font-weight: 600;
  color: #666;
}
@media (min-width: 920px) {
  .recruit_mv_bottom {
    font-size: 12px;
    padding: 0 40px;
  }
}
.recruit_mv_bottom .insta_link {
  display: flex;
  align-items: center;
  gap: 6px;
  color: #24D53F;
  text-decoration: none;
}
.recruit_mv_bottom .insta_link img {
  width: 14px;
  height: 14px;
}
.recruit_mv_bottom .totop_link {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  height: 100%;
  background-color: #24D53F;
  color: #ffffff;
  padding: 0 20px;
  text-decoration: none;
  margin-right: -20px;
}
@media (min-width: 920px) {
  .recruit_mv_bottom .totop_link {
    margin-right: -40px;
    padding: 0 40px;
  }
}
.recruit_mv_bottom .totop_link .arrow_up {
  width: 10px;
  height: 10px;
  border-top: 2px solid #fff;
  border-left: 2px solid #fff;
  transform: rotate(45deg);
  margin-top: 4px;
}

/* =========================================
   2. OUR WORK
========================================= */
.recruit_ourwork {
  position: relative;
  padding: 80px 0 40px;
  overflow: hidden;
  background: linear-gradient(180deg, #ffffff 60.61%, #9aeca6 89.9%, #24d53f 100%);
}
@media (min-width: 920px) {
  .recruit_ourwork {
    padding: 156px 0 80px;
  }
}
.recruit_ourwork_ttl {
  position: relative;
  margin-bottom: 50px;
}
.recruit_ourwork_ttl_img {
  text-align: center;
}
.recruit_ourwork_ttl span {
  font-size: 20px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media (min-width: 920px) {
  .recruit_ourwork_ttl span {
    font-size: 34px;
  }
}
.recruit_ourwork .ourwork_body {
  display: flex;
  flex-direction: column;
  gap: 40px;
  margin-bottom: 40px;
}
@media (min-width: 920px) {
  .recruit_ourwork .ourwork_body {
    flex-direction: row;
    align-items: flex-end;
    gap: 0;
    margin-bottom: 68px;
  }
}
.recruit_ourwork .ourwork_img {
  width: 100%;
  position: relative;
  z-index: 1; /* テキストより背面に */
  margin-left: calc(50% - 50vw);
}
@media (min-width: 920px) {
  .recruit_ourwork .ourwork_img {
    width: 81.8307692%;
  }
}
.recruit_ourwork .ourwork_img {
  /* ▼ 追加：大画面PC（1440px以上）の時は左端に吸着するのをやめて固定する ▼ */
}
@media screen and (min-width: 1920px) {
  .recruit_ourwork .ourwork_img {
    width: 792px; /* 1440pxの55vw分で固定 */
    margin-left: calc(50% - 720px); /* 1440pxの50vw分で固定 */
  }
}
.recruit_ourwork .ourwork_txtArea {
  width: 100%;
  position: relative;
  z-index: 2; /* 画像より前面に（重ねるため） */
}
@media (min-width: 920px) {
  .recruit_ourwork .ourwork_txtArea {
    width: 45.3389830508%;
    /* ▼ 画像にテキストを重ねる魔法 ▼ */
    margin-left: -51px;
    padding-bottom: 80px;
  }
}
.recruit_ourwork .ourwork_txtArea .ourwork_catch {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 20px;
}
@media (min-width: 920px) {
  .recruit_ourwork .ourwork_txtArea .ourwork_catch {
    font-size: min(34px, 2.7777777778vw);
    margin-bottom: 32px;
  }
}
.recruit_ourwork .ourwork_txtArea .ourwork_txt {
  font-size: 14px;
  line-height: 1.8;
}
@media (min-width: 920px) {
  .recruit_ourwork .ourwork_txtArea .ourwork_txt {
    font-size: 15px;
  }
}
.recruit_ourwork .ourwork_txtArea .ourwork_txt p {
  margin-bottom: 12px;
}
@media (min-width: 920px) {
  .recruit_ourwork .ourwork_txtArea .ourwork_txt p {
    margin-bottom: 24px;
  }
}
.recruit_ourwork .ourwork_txtArea .ourwork_txt p:last-child {
  margin-bottom: 0;
}
.recruit_ourwork_gallery {
  display: flex;
  flex-direction: column;
}
@media (min-width: 920px) {
  .recruit_ourwork_gallery {
    flex-direction: row;
    gap: 20px;
    max-width: 1980px;
    margin: 0 auto;
  }
}

/* =========================================
   3. スタッフインタビュー (Topと構造を共有し背景だけ変更)
========================================= */
.recruit_interview {
  padding: 40px 0 80px;
  background-color: #24D53F;
  overflow: hidden;
}
@media (min-width: 920px) {
  .recruit_interview {
    padding: 20px 0 128px;
  }
}
.recruit_interview .interview {
  padding: 0;
}
.recruit_interview_head {
  display: flex;
  flex-direction: column;
  gap: 24px;
  margin-bottom: 40px;
}
@media (min-width: 920px) {
  .recruit_interview_head {
    flex-direction: row;
    align-items: center;
    gap: 40px;
    margin-bottom: 64px;
  }
}
.recruit_interview_head .page_section_ttl_wrap {
  margin-bottom: 0;
}
.recruit_interview_lead {
  font-size: 14px;
  line-height: 1.8;
}
@media (min-width: 920px) {
  .recruit_interview_lead {
    font-size: 15px;
  }
}

.recruit_introduction {
  background-color: #24D53F;
  padding: 0 0 80px;
}
@media (min-width: 920px) {
  .recruit_introduction {
    padding: 75px 0 120px;
  }
}
.recruit_introduction_body {
  display: flex;
  flex-direction: column;
  gap: 30px;
  max-width: 1242px;
  margin: 0 auto;
}
.recruit_introduction_item {
  min-height: 393px;
  background-color: #fff;
  padding: 40px 34px;
  gap: 20px;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  -webkit-clip-path: polygon(36px -20px, calc(100% - 36px) -20px, calc(100% + 20px) 36px, calc(100% + 20px) calc(100% - 36px), calc(100% - 36px) calc(100% + 20px), 36px calc(100% + 20px), -20px calc(100% - 36px), -20px 36px);
  clip-path: polygon(36px -20px, calc(100% - 36px) -20px, calc(100% + 20px) 36px, calc(100% + 20px) calc(100% - 36px), calc(100% - 36px) calc(100% + 20px), 36px calc(100% + 20px), -20px calc(100% - 36px), -20px 36px);
}
@media (min-width: 920px) {
  .recruit_introduction_item {
    padding: min(50px, 3.5714285714vw) min(149px, 10.6428571429vw) min(50px, 3.5714285714vw) min(109px, 7.7857142857vw);
    flex-direction: row;
    gap: 40px;
    justify-content: space-between;
    -webkit-clip-path: polygon(60px 0, calc(100% - 60px) 0, 100% 60px, 100% calc(100% - 60px), calc(100% - 60px) 100%, 60px 100%, 0 calc(100% - 60px), 0 60px);
    clip-path: polygon(60px 0, calc(100% - 60px) 0, 100% 60px, 100% calc(100% - 60px), calc(100% - 60px) 100%, 60px 100%, 0 calc(100% - 60px), 0 60px);
  }
}
@supports (corner-shape: bevel) {
  .recruit_introduction_item {
    border-radius: 36px;
    corner-shape: bevel;
    -webkit-clip-path: none;
    clip-path: none;
  }
  @media (min-width: 920px) {
    .recruit_introduction_item {
      border-radius: 60px;
    }
  }
}
@media (min-width: 920px) {
  .recruit_introduction_item_img {
    width: 51.0165%;
  }
}
@media (min-width: 920px) {
  .recruit_introduction_item_txtArea {
    width: 40.65156%;
  }
}
.recruit_introduction_item_txtArea_ttl {
  font-size: 18px;
  margin-bottom: 8px;
  font-weight: 700;
  line-height: 1.43;
}
@media (min-width: 920px) {
  .recruit_introduction_item_txtArea_ttl {
    font-size: min(28px, 2vw);
    margin-bottom: clamp(12px, 1.875vw, 37.125px);
  }
}
.recruit_introduction_item_txtArea_txt {
  line-height: 1.8;
  font-size: 14px;
}
@media (min-width: 920px) {
  .recruit_introduction_item_txtArea_txt {
    font-size: 15px;
  }
}
.recruit_introduction_route {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 15px;
}
.recruit_introduction_route_txt {
  font-size: 18px;
  font-weight: 500;
  text-align: center;
  line-height: 1.5;
}
@media (min-width: 920px) {
  .recruit_introduction_route_txt {
    font-size: 24px;
  }
}

/* =========================================
   4. キャリアパスイメージ
========================================= */
.recruit_career {
  padding: 80px 0;
  background-color: rgba(232, 224, 214, 0.5019607843);
}
@media (min-width: 920px) {
  .recruit_career {
    padding: 108px 0 120px;
  }
}
.recruit_career_img {
  width: 240%;
  text-align: center;
}
@media (min-width: 920px) {
  .recruit_career_img {
    width: 100%;
  }
}
.recruit_career_img img {
  width: 100%;
  height: auto;
}

/* =========================================
   5. 社員育成の取り組み
========================================= */
.recruit_training {
  padding: 0 0 80px;
  background-color: #ffffff;
  position: relative;
}
@media (min-width: 920px) {
  .recruit_training {
    padding: 0 0 142px;
  }
}
.recruit_training_illust_01 {
  position: absolute;
  bottom: 1090px;
  left: 10px;
  width: 80px;
  height: auto;
}
@media (min-width: 920px) {
  .recruit_training_illust_01 {
    bottom: 690px;
    width: 174px;
  }
}
.recruit_training_illust_02 {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 120px;
  height: auto;
}
@media (min-width: 920px) {
  .recruit_training_illust_02 {
    width: 276px;
  }
}
.recruit_training_head {
  padding: 40px 0 40px;
  margin-bottom: 40px;
  background-image: linear-gradient(64.98deg, rgba(36, 213, 63, 0.6) 24.89%, rgba(36, 213, 63, 0.18) 70.75%), url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.15'/%3E%3C/svg%3E");
}
@media (min-width: 920px) {
  .recruit_training_head {
    padding: 174px 0 120px;
    margin-bottom: -56px;
  }
}
.recruit_training_head_illust {
  position: absolute;
  top: 4px;
  right: 10px;
  width: 86px;
}
@media (min-width: 920px) {
  .recruit_training_head_illust {
    top: 34px;
    right: 56px;
    width: 276px;
  }
}
.recruit_training_head .page_section_ttl_wrap {
  margin-bottom: 28px;
}
.recruit_training_catch {
  font-size: 18px;
  font-weight: 700;
  margin-top: 16px;
  letter-spacing: 0.07em;
  line-height: 1.25;
}
@media (min-width: 920px) {
  .recruit_training_catch {
    font-size: 34px;
  }
}
.recruit_training .training_block {
  display: flex;
  flex-direction: column;
  gap: 32px;
  margin-bottom: 64px;
  position: relative;
  z-index: 1;
}
@media (min-width: 920px) {
  .recruit_training .training_block {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    gap: 0;
    margin-bottom: 14px;
  }
}
@media (min-width: 920px) {
  .recruit_training .training_block.mb_wide {
    margin-bottom: 72px;
  }
}
.recruit_training .training_block:last-child {
  margin-bottom: 0;
}
@media (min-width: 920px) {
  .recruit_training .training_block.is-reverse {
    flex-direction: row-reverse;
  }
}
.recruit_training .training_block .txt_area {
  width: 100%;
}
@media (min-width: 920px) {
  .recruit_training .training_block .txt_area {
    width: 48.9230769231%;
  }
}
.recruit_training .training_block .ttl {
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 24px;
  position: relative;
}
@media (min-width: 920px) {
  .recruit_training .training_block .ttl {
    font-size: 28px;
  }
}
.recruit_training .training_block .ttl .recruit_training_illust_01 {
  position: absolute;
  left: auto;
  right: 0;
  bottom: 0;
}
.recruit_training .training_block p {
  font-size: 14px;
  line-height: 1.75;
  font-weight: 500;
}
@media (min-width: 920px) {
  .recruit_training .training_block p {
    font-size: 16px;
  }
}
.recruit_training .training_block .img_area {
  width: 100%;
}
@media (min-width: 920px) {
  .recruit_training .training_block .img_area {
    width: 39.5384615385%;
  }
}
.recruit_training .training_block .img_area img {
  width: 100%;
  height: auto;
}
.recruit_training .training_block .grid_imgs {
  display: grid;
  gap: 16px;
}
.recruit_training .training_features {
  margin-top: 36px;
}
@media (min-width: 920px) {
  .recruit_training .training_features {
    margin-top: 48px;
  }
}
.recruit_training .training_features li {
  margin-bottom: 30px;
}
@media (min-width: 920px) {
  .recruit_training .training_features li {
    margin-bottom: 20px;
  }
}
.recruit_training .training_features li:last-child {
  margin-bottom: 0;
}
.recruit_training .training_features .feature_ttl {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 16px;
  padding-left: 28px;
  position: relative;
  line-height: 1.2;
}
@media (min-width: 920px) {
  .recruit_training .training_features .feature_ttl {
    margin-bottom: 6px;
  }
}
.recruit_training .training_features .feature_ttl {
  /* ▼ CSSで綺麗な右向き三角形を作る ▼ */
}
.recruit_training .training_features .feature_ttl::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 9px 0 9px 14px; /* 三角形のサイズ */
  border-color: transparent transparent transparent #24D53F; /* 緑色を指定 */
}
.recruit_training .training_features .feature_txt {
  line-height: 1.3;
  margin-bottom: 10px;
}
@media (min-width: 920px) {
  .recruit_training .training_features .feature_txt {
    margin-bottom: 4px;
    font-size: 16px;
  }
}
.recruit_training .training_features {
  /* ▼ 追加：ベージュの角丸ボックス ▼ */
}
.recruit_training .training_features .feature_box {
  padding: 10px 20px;
  border-radius: 7px; /* 角丸 */
  background-color: #E8E0D6;
}
.recruit_training .training_features .feature_box p {
  font-size: 12px;
  line-height: 1.3;
  margin-bottom: 0; /* デフォルトのpのマージンを打ち消す */
}

/* =========================================
   6. 竹内電設を知る (インフォグラフィック)
========================================= */
.recruit_info {
  padding: 80px 0;
  background: linear-gradient(200.35deg, rgba(36, 213, 63, 0.4) -3.24%, rgba(36, 213, 63, 0.12) 15.7%, rgba(36, 213, 63, 0.4) 35.39%, rgba(36, 213, 63, 0.12) 58.11%, rgba(36, 213, 63, 0.4) 89.21%);
}
@media (min-width: 920px) {
  .recruit_info {
    padding: 120px 0;
  }
}
.recruit_info {
  /* グリッドレイアウト */
}
.recruit_info .info_card_grid {
  display: grid;
  grid-template-columns: 1fr; /* スマホは1列 */
  gap: 12px;
}
@media (min-width: 920px) {
  .recruit_info .info_card_grid {
    grid-template-columns: repeat(2, 1fr); /* PCは2列ベース */
    gap: 20px;
  }
}
.recruit_info {
  /* カード共通スタイル */
}
.recruit_info .info_card {
  background: #ffffff;
  padding: 26px 20px;
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
}
@media (min-width: 920px) {
  .recruit_info .info_card {
    padding: 20px 40px;
    min-height: 358px;
  }
}
.recruit_info .info_card {
  /* 全幅カードの指定 (PC時のみ2列分を占有) */
}
@media (min-width: 920px) {
  .recruit_info .info_card.card_full {
    grid-column: 1/-1;
  }
}
.recruit_info .info_card {
  /* 共通テキストスタイル */
}
.recruit_info .info_card .info_card_ttl {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 16px;
  line-height: 1.25;
}
@media (min-width: 920px) {
  .recruit_info .info_card .info_card_ttl {
    font-size: 28px;
  }
}
.recruit_info .info_card .txt_green {
  color: #24D53F;
}
.recruit_info .info_card .note_top {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.3;
  color: #828282;
  margin-bottom: 8px;
}
.recruit_info .info_card .note_bottom {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.4;
}
@media (min-width: 920px) {
  .recruit_info .info_card .note_bottom {
    font-size: min(20px, 1.6666666667vw);
  }
}
.recruit_info .info_card {
  /* 背景イラスト共通 (position: absolute で背面に配置) */
}
.recruit_info .info_card .bg_illust {
  position: absolute;
  bottom: 0;
  z-index: 0;
  pointer-events: none;
  width: 220px;
}
.recruit_info .info_card .bg_illust.left {
  left: 30px;
}
@media (min-width: 920px) {
  .recruit_info .info_card .bg_illust.left {
    left: 22px;
    width: min(361px, 27.7692307692vw);
  }
}
@media (max-width: 559px) {
  .recruit_info .info_card .bg_illust.left {
    left: 50%;
    transform: translateX(-50%);
  }
}
.recruit_info .info_card .bg_illust.right {
  right: 30px;
}
@media (min-width: 920px) {
  .recruit_info .info_card .bg_illust.right {
    right: 38px;
    width: min(345px, 26.5384615385vw);
  }
}
@media (max-width: 559px) {
  .recruit_info .info_card .bg_illust.right {
    display: none;
  }
}
.recruit_info .info_card .bg_illust img {
  width: 100%;
  height: auto;
  display: block;
}
.recruit_info {
  /* 共通の数字エリア */
}
.recruit_info .info_card_num_wrap {
  color: #24D53F; /* 緑色 */
  font-weight: 500;
  line-height: 0.8;
  margin-bottom: 16px;
  position: relative;
  z-index: 1; /* イラストより前面に */
  display: flex;
  align-items: flex-end;
  justify-content: center;
}
.recruit_info .info_card_num_wrap .num {
  font-size: 80px;
  font-family: "Barlow Semi Condensed", sans-serif;
  font-weight: 500;
}
@media (min-width: 920px) {
  .recruit_info .info_card_num_wrap .num {
    font-size: 200px;
  }
}
.recruit_info .info_card_num_wrap .unit {
  font-size: 40px;
  margin-left: 8px;
  font-family: "Barlow Semi Condensed", sans-serif;
}
@media (min-width: 920px) {
  .recruit_info .info_card_num_wrap .unit {
    font-size: 110px;
  }
}
.recruit_info .info_card_num_wrap {
  /* 評価制度の「段階以上」の縦並び */
}
.recruit_info .info_card_num_wrap .unit_stack {
  font-size: 20px;
  text-align: left;
  margin-left: 12px;
  line-height: 1.2;
  font-weight: 700;
}
@media (min-width: 920px) {
  .recruit_info .info_card_num_wrap .unit_stack {
    font-size: 40px;
  }
}
.recruit_info .info_card_num_wrap {
  /* キャリア収入の大きなテキスト */
}
.recruit_info .info_card_num_wrap .txt_large {
  font-size: 32px;
  font-weight: 700;
}
@media (min-width: 920px) {
  .recruit_info .info_card_num_wrap .txt_large {
    font-size: 48px;
  }
}
.recruit_info {
  /* --- 各カード個別の調整 --- */
  /* 1. 離職率 */
}
.recruit_info .card_retention .info_card_num_wrap {
  margin-bottom: 8px;
}
@media (max-width: 919px) {
  .recruit_info .card_retention {
    padding: 20px 40px 150px;
  }
}
.recruit_info {
  /* 2. ニーフルゴールド (横並び) */
}
.recruit_info .card_niful {
  flex-direction: column;
  gap: 18px;
}
@media (min-width: 920px) {
  .recruit_info .card_niful {
    flex-direction: row;
    align-items: center;
    text-align: left;
    gap: 51px;
  }
}
.recruit_info .card_niful .txt_area .txt_large {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.1;
  margin-bottom: 20px;
}
@media (min-width: 920px) {
  .recruit_info .card_niful .txt_area .txt_large {
    font-size: min(40px, 3.125vw);
    margin-bottom: 28px;
  }
}
.recruit_info .card_niful .txt_area .txt_xl {
  font-size: 24px;
}
@media (min-width: 920px) {
  .recruit_info .card_niful .txt_area .txt_xl {
    font-size: min(57px, 4.453125vw);
  }
}
.recruit_info .card_niful .txt_area .info_card_ttl {
  margin-bottom: 24px;
}
.recruit_info .card_niful .img_area {
  width: 180px;
}
@media (min-width: 920px) {
  .recruit_info .card_niful .img_area {
    width: min(269px, 22.4166666667vw);
  }
}
.recruit_info .card_niful .img_area img {
  width: 100%;
  height: auto;
}
.recruit_info {
  /* 3 & 4. 評価制度 / キャリア収入 */
}
.recruit_info .card_evaluation,
.recruit_info .card_income {
  padding: 26px 20px;
}
@media (min-width: 920px) {
  .recruit_info .card_evaluation,
  .recruit_info .card_income {
    padding: 20px 40px;
  }
}
.recruit_info .card_income .txt_large {
  font-size: 40px;
}
@media (min-width: 920px) {
  .recruit_info .card_income .txt_large {
    font-size: min(65px, 5.9090909091vw);
    margin-bottom: 46px;
  }
}
@media (min-width: 920px) {
  .recruit_info .card_income .info_card_ttl {
    margin-bottom: 52px;
  }
}
.recruit_info .card_evaluation .num {
  font-size: 100px;
}
@media (min-width: 920px) {
  .recruit_info .card_evaluation .num {
    font-size: min(180px, 15vw);
  }
}
.recruit_info {
  /* 5. 建設ディレクター */
}
.recruit_info .card_director {
  align-items: center;
  text-align: center;
  flex-direction: column;
  gap: 40px;
}
@media (min-width: 920px) {
  .recruit_info .card_director {
    padding: 20px 44px 20px 105px;
    flex-direction: row;
    justify-content: space-between;
    gap: 0;
    text-align: left;
  }
}
.recruit_info .card_director .sub_ttl {
  font-size: 14px;
  font-weight: 700;
  color: #333;
  margin-bottom: 8px;
}
.recruit_info .card_director .txt_xl {
  font-size: 26px;
  margin-bottom: 24px;
  line-height: 1.25;
}
@media (min-width: 920px) {
  .recruit_info .card_director .txt_xl {
    font-size: min(57px, 4.3846153846vw);
  }
}
.recruit_info .card_director .bg_illust {
  position: unset;
}
@media (min-width: 920px) {
  .recruit_info .card_director .bg_illust {
    width: min(416px, 32vw);
  }
}
.recruit_info .card_director .txt_area {
  position: relative;
  z-index: 1;
}
@media (min-width: 920px) {
  .recruit_info .card_director .txt_area {
    width: 60%;
  }
}

/* =========================================
   7. 社会への取り組み（斜めレイアウト）
========================================= */
/* =========================================
   7. 社会への取り組み（斜めレイアウト）
========================================= */
.recruit_social {
  padding-top: 80px;
  padding-bottom: 80px;
  background-color: #ffffff;
}
@media (min-width: 920px) {
  .recruit_social {
    padding-top: 150px;
    padding-bottom: 0;
  }
}
.recruit_social_head {
  margin-bottom: 50px;
}
@media (min-width: 920px) {
  .recruit_social_head {
    margin-bottom: 136px;
  }
}
.recruit_social_head .page_section_ttl_wrap {
  margin-bottom: 24px;
}
.recruit_social_catch {
  font-size: 22px;
  font-weight: 700;
  margin-top: 16px;
}
@media (min-width: 920px) {
  .recruit_social_catch {
    line-height: 1.6175;
    font-size: 34px;
    letter-spacing: 0.07em;
  }
}
.recruit_social .social_blocks {
  display: flex;
  flex-direction: column;
  gap: 60px;
}
@media (min-width: 920px) {
  .recruit_social .social_blocks {
    gap: 0;
  }
}
.recruit_social .social_block {
  display: flex;
  flex-direction: column;
  width: 100%;
  gap: 20px;
}
@media (min-width: 920px) {
  .recruit_social .social_block {
    flex-direction: row;
    justify-content: space-between;
    align-items: stretch;
  }
}
@media (min-width: 920px) {
  .recruit_social .social_block.is-reverse {
    flex-direction: row-reverse;
  }
}
.recruit_social .social_block .social_txt {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 2; /* ★画像より手前（上）に配置する */
}
@media (min-width: 920px) {
  .recruit_social .social_block .social_txt {
    width: 41.5384615385%;
  }
}
.recruit_social .social_block .social_txt .inr {
  width: 100%;
}
.recruit_social .social_block .social_txt h3 {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 12px;
  line-height: 1.25;
}
@media (min-width: 920px) {
  .recruit_social .social_block .social_txt h3 {
    font-size: min(28px, 2.3333333333vw);
    margin-bottom: min(24px, 2vw);
  }
}
.recruit_social .social_block .social_txt p {
  font-size: 14px;
  line-height: 1.8;
}
@media (min-width: 920px) {
  .recruit_social .social_block .social_txt p {
    font-size: 15px;
  }
}
.recruit_social .social_block .social_img {
  width: 100%;
  position: relative;
  z-index: 1;
}
.recruit_social .social_block .social_img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media (min-width: 920px) {
  .recruit_social .social_block .social_img.slant_left {
    width: 51.75vw;
    margin-right: calc(50% - 50vw);
  }
}
@media (min-width: 920px) {
  .recruit_social .social_block .social_img.slant_right {
    width: 53.5625vw;
    margin-left: calc(50% - 50vw);
  }
}

/* =========================================
   8. 福利厚生 & ENTRY
========================================= */
.recruit_benefits {
  padding-top: 80px;
  background-color: #f4f0ea;
}
@media (min-width: 920px) {
  .recruit_benefits {
    padding-top: 120px;
  }
}
.recruit_benefits .benefits_list {
  width: 100%;
  margin: 0 auto 120px;
}
.recruit_benefits .benefits_item {
  display: flex;
  flex-direction: column;
  padding: 12px 0;
  border-bottom: 1px solid rgba(49, 50, 52, 0.4509803922);
}
@media (min-width: 920px) {
  .recruit_benefits .benefits_item {
    flex-direction: row;
    padding: 24px 10px;
    grid-area: 20px;
  }
}
.recruit_benefits .benefits_item dt {
  width: 100%;
  font-weight: 700;
  font-size: 16px;
  line-height: 1.2;
  margin-bottom: 8px;
}
@media (min-width: 920px) {
  .recruit_benefits .benefits_item dt {
    width: 15.625%;
    font-size: 18px;
    margin-bottom: 0;
  }
}
.recruit_benefits .benefits_item dd {
  width: 100%;
  font-size: 14px;
  font-weight: 300;
  line-height: 1.5;
}
@media (min-width: 920px) {
  .recruit_benefits .benefits_item dd {
    font-size: 16px;
  }
}
.recruit_benefits .benefits_gallery {
  display: flex;
  flex-direction: column;
  width: 100%;
}
@media (min-width: 920px) {
  .recruit_benefits .benefits_gallery {
    flex-direction: row;
  }
}
.recruit_benefits .benefits_gallery_item:first-child {
  width: 100%;
}
@media (min-width: 920px) {
  .recruit_benefits .benefits_gallery_item:first-child {
    width: 62.3571428571%;
  }
}
.recruit_benefits .benefits_gallery_item:last-child {
  width: 100%;
}
@media (min-width: 920px) {
  .recruit_benefits .benefits_gallery_item:last-child {
    width: 51.9285714286%;
  }
}
.recruit_benefits .benefits_gallery_item img {
  width: 100%;
}

.recruit_entry {
  padding: 80px 0;
  position: relative;
  text-align: center;
  background: linear-gradient(207.59deg, #24d53f -29.68%, rgba(36, 213, 63, 0.3) 5.01%, #24d53f 41.09%, rgba(36, 213, 63, 0.3) 82.71%, #24d53f 139.69%);
}
@media (min-width: 920px) {
  .recruit_entry {
    padding: 130px 20px 170px;
  }
}
.recruit_entry .entry_ttl {
  font-size: 40px;
  font-weight: 400;
  margin-bottom: 40px;
  font-family: "Barlow Semi Condensed", sans-serif;
  line-height: 1;
}
@media (min-width: 920px) {
  .recruit_entry .entry_ttl {
    font-size: 100px;
    margin-bottom: 48px;
  }
}
.recruit_entry .btn_entry {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  background: #313234;
  color: #24D53F;
  font-size: 18px;
  font-weight: 500;
  padding: 12px 20px;
  text-decoration: none;
  margin-bottom: 20px;
  transition: background-color 0.3s ease;
  width: 100%;
  max-width: 432px;
}
@media (min-width: 920px) {
  .recruit_entry .btn_entry {
    margin-bottom: 66px;
    font-size: 24px;
    padding: 20px 40px;
  }
}
@media (max-width: 919px) {
  .recruit_entry .btn_entry {
    width: fit-content;
  }
}
.recruit_entry .btn_entry:hover {
  background-color: #fff;
}
.recruit_entry .btn_entry .arrow {
  display: inline-block;
  width: 14px;
  height: 34px;
  background-color: #24D53F;
  -webkit-mask-image: url(../img/common/btn_arrow.svg);
  mask-image: url(../img/common/btn_arrow.svg);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
}
@media (min-width: 920px) {
  .recruit_entry .btn_entry .arrow {
    width: 17px;
    height: 40px;
  }
}
.recruit_entry .entry_catch {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0.07em;
}
@media (min-width: 920px) {
  .recruit_entry .entry_catch {
    font-size: min(34px, 2.125vw);
  }
}
.recruit_entry_arrow_01 {
  position: absolute;
  top: 12px;
  right: 12px;
  mix-blend-mode: screen;
}
@media (max-width: 919px) {
  .recruit_entry_arrow_01 {
    width: 80px;
    top: 4px;
    right: 4px;
  }
}
.recruit_entry_arrow_02 {
  position: absolute;
  bottom: 0;
  left: 15px;
  mix-blend-mode: screen;
}
@media (max-width: 919px) {
  .recruit_entry_arrow_02 {
    width: 80px;
    left: 4px;
  }
}

.interview_page .container-base {
  max-width: 1240px;
}

.page_head {
  position: relative;
  overflow: hidden;
}
.page_head .page_ttl_en.txt_green {
  color: #24D53F;
  font-size: 64px;
  font-weight: 700;
}
.page_head .page_head_deco {
  position: absolute;
  right: -5%;
  top: 50%;
  transform: translateY(-50%);
  width: 300px;
  height: 300px;
  background-image: url("../img/interview/head_arrows.svg");
  background-repeat: no-repeat;
  background-size: contain;
  opacity: 0.2;
  pointer-events: none;
}

.interview_toc {
  padding: 0 0 60px;
  background-color: #ffffff;
}
@media (min-width: 920px) {
  .interview_toc {
    padding: 170px 0 334px;
  }
}
.interview_toc .toc_grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}
@media (min-width: 920px) {
  .interview_toc .toc_grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    max-width: 1000px;
    margin: 0 auto;
  }
}
@media (min-width: 920px) and (min-width: 1400px) {
  .interview_toc .toc_grid {
    max-width: 1283px;
    grid-template-columns: repeat(3, 1fr);
  }
}
.interview_toc .toc_card {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 10px 20px;
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  transition: background-color 0.3s ease, color 0.3s ease;
  z-index: 1;
  color: #0fc62b;
  -webkit-clip-path: polygon(11px 0, calc(100% - 11px) 0, 100% 8px, 100% calc(100% - 8px), calc(100% - 11px) 100%, 11px 100%, 0 calc(100% - 8px), 0 8px);
  clip-path: polygon(11px 0, calc(100% - 11px) 0, 100% 8px, 100% calc(100% - 8px), calc(100% - 11px) 100%, 11px 100%, 0 calc(100% - 8px), 0 8px);
  background-color: #24D53F;
}
@media (min-width: 920px) {
  .interview_toc .toc_card {
    padding: 12px 20px;
    font-size: 20px;
    background-color: transparent;
  }
}
.interview_toc .toc_card::before {
  content: "";
  position: absolute;
  z-index: -1;
  background-color: #fff;
  transition: background-color 0.3s ease;
  top: 1px;
  left: 1px;
  right: 1px;
  bottom: 1px;
  -webkit-clip-path: polygon(10.5px 0, calc(100% - 10.5px) 0, 100% 7.5px, 100% calc(100% - 7.5px), calc(100% - 10.5px) 100%, 10.5px 100%, 0 calc(100% - 7.5px), 0 7.5px);
  clip-path: polygon(10.5px 0, calc(100% - 10.5px) 0, 100% 7.5px, 100% calc(100% - 7.5px), calc(100% - 10.5px) 100%, 10.5px 100%, 0 calc(100% - 7.5px), 0 7.5px);
}
@media (min-width: 920px) {
  .interview_toc .toc_card::before {
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    transition: background-color 0.3s ease 0.3s ease;
    -webkit-clip-path: polygon(11.5px 1px, calc(100% - 11.5px) 1px, calc(100% - 1px) 8.5px, calc(100% - 1px) calc(100% - 8.5px), calc(100% - 11.5px) calc(100% - 1px), 11.5px calc(100% - 1px), 1px calc(100% - 8.5px), 1px 8.5px);
    clip-path: polygon(11.5px 1px, calc(100% - 11.5px) 1px, calc(100% - 1px) 8.5px, calc(100% - 1px) calc(100% - 8.5px), calc(100% - 11.5px) calc(100% - 1px), 11.5px calc(100% - 1px), 1px calc(100% - 8.5px), 1px 8.5px);
  }
}
@media (min-width: 920px) {
  .interview_toc .toc_card.is-active, .interview_toc .toc_card:hover {
    color: #fff;
  }
}
@media (min-width: 920px) {
  .interview_toc .toc_card.is-active::before, .interview_toc .toc_card:hover::before {
    background-color: #24D53F;
  }
}
@supports (corner-shape: bevel) {
  .interview_toc .toc_card {
    background-color: #fff;
    border: 1px solid #24D53F;
    border-radius: 11px/8px;
    corner-shape: bevel;
    -webkit-clip-path: none;
    clip-path: none;
  }
  .interview_toc .toc_card::before {
    display: none;
  }
  .interview_toc .toc_card.is-active, .interview_toc .toc_card:hover {
    color: #fff;
    background-color: #24D53F;
  }
}
.interview_toc .toc_card .name_wrap {
  display: flex;
  align-items: center;
  gap: 4px;
}
.interview_toc .toc_card .name_wrap .name {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin-bottom: 0;
  gap: 4px;
  margin-bottom: 4px;
}
.interview_toc .toc_card .name_wrap .year {
  font-size: 13px;
  font-weight: 500;
}
.interview_toc .toc_card .name_wrap .cross {
  font-size: 32px;
  font-weight: 300;
  line-height: 1;
  transform: translateY(-4px);
}
@media (min-width: 920px) {
  .interview_toc .toc_card .name_wrap .cross {
    font-size: 48px;
  }
}
.interview_toc .toc_card .name {
  font-size: 16px;
  font-weight: 700;
  margin-bottom: 6px;
}
@media (min-width: 920px) {
  .interview_toc .toc_card .name {
    font-size: 20px;
    margin-bottom: 12px;
  }
}
.interview_toc .toc_card .meta {
  font-size: 13px;
  font-weight: 500;
  margin-bottom: 6px;
}
@media (min-width: 920px) {
  .interview_toc .toc_card .meta {
    margin-bottom: 12px;
  }
}
.interview_toc .toc_card .meta p {
  margin: 0;
}
.interview_toc .toc_card .dept {
  font-size: 15px;
  font-weight: 700;
}

.interview_detail {
  padding: 80px 0;
}
@media (min-width: 920px) {
  .interview_detail {
    padding: 120px 0 450px;
    scroll-margin-top: 300px;
  }
}
.interview_detail.bg_lightgreen {
  background-color: rgba(0, 226, 40, 0.0784313725);
}
.interview_detail.bg_white {
  background-color: #fff;
}
.interview_detail .detail_hero {
  margin-bottom: 60px;
}
@media (min-width: 920px) {
  .interview_detail .detail_hero {
    margin-bottom: 50px;
    margin-top: -336px;
  }
}
@media (min-width: 920px) {
  .interview_detail .detail_hero .mb_wide {
    margin-bottom: 72px;
  }
}
.interview_detail .detail_hero .hero_img_wrap {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  position: relative;
}
@media (min-width: 920px) {
  .interview_detail .detail_hero .hero_img_wrap {
    width: 100%;
  }
}
.interview_detail .detail_hero .hero_img_wrap::before {
  position: absolute;
  left: 22px;
  bottom: 16px;
  content: "";
  display: inline-block;
  position: absolute;
  width: 59px;
  height: 73px;
  background-image: url("../img/interview/icon_arrow.svg");
  background-size: contain;
  background-repeat: no-repeat;
}
@media (min-width: 920px) {
  .interview_detail .detail_hero .hero_img_wrap::before {
    display: none;
  }
}
.interview_detail .detail_hero .hero_img_wrap img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
}
@media (min-width: 920px) {
  .interview_detail .detail_hero.is-bleed-right .hero_img_wrap {
    width: calc(50% + 50vw);
    margin-left: 0;
    margin-right: calc(50% - 50vw);
  }
}
@media (min-width: 920px) {
  .interview_detail .detail_hero.is-bleed-left .hero_img_wrap {
    width: calc(50% + 50vw);
    margin-left: calc(50% - 50vw);
    margin-right: 0;
  }
}
.interview_detail .detail_hero.hero_style_a {
  position: relative;
}
.interview_detail .detail_hero.hero_style_a .hero_content {
  z-index: 2;
}
.interview_detail .detail_hero.hero_style_a .hero_content h2 {
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 24px;
  line-height: 1.5;
  pointer-events: auto;
  position: absolute;
  top: 13px;
  left: 18px;
  letter-spacing: 0.07em;
}
@media (min-width: 920px) {
  .interview_detail .detail_hero.hero_style_a .hero_content h2 {
    font-size: min(34px, 2.4285714286vw);
    padding-top: 0;
    padding-left: 100px;
    left: 20px;
    top: 20px;
  }
}
.interview_detail .detail_hero.hero_style_a .hero_content h2::before {
  content: "";
  display: inline-block;
  position: absolute;
  width: 80px;
  height: 99px;
  background-image: url("../img/interview/icon_arrow.svg");
  background-size: contain;
  background-repeat: no-repeat;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
@media (max-width: 919px) {
  .interview_detail .detail_hero.hero_style_a .hero_content h2::before {
    display: none;
  }
}
.interview_detail .detail_hero.hero_style_a .hero_content .hero_intro {
  background: #7fff94;
  padding: 24px;
  border-radius: 10px;
  text-align: center;
  pointer-events: auto;
  margin-top: 26px;
  position: relative;
}
@media (min-width: 920px) {
  .interview_detail .detail_hero.hero_style_a .hero_content .hero_intro {
    position: absolute;
    bottom: 28px;
    left: 30px;
    max-width: 763px;
    padding: 16px 20px;
    border-radius: 20px;
    background: #fff;
  }
}
.interview_detail .detail_hero.hero_style_a .hero_content .hero_intro::before {
  content: "";
  display: inline-block;
  position: absolute;
  width: 15px;
  height: 16px;
  background-image: url("../img/interview/bubble_icon_sp.svg");
  background-size: contain;
  background-repeat: no-repeat;
  left: 50%;
  transform: translateX(-50%);
  top: -15px;
}
@media (min-width: 920px) {
  .interview_detail .detail_hero.hero_style_a .hero_content .hero_intro::before {
    background-image: url("../img/interview/bubble_icon.svg");
    width: 25px;
    height: 28px;
    top: -27px;
  }
}
.interview_detail .detail_hero.hero_style_a .hero_content .hero_intro p {
  font-size: 12px;
  line-height: 1.8;
  font-weight: 500;
  margin: 0;
}
@media (min-width: 920px) {
  .interview_detail .detail_hero.hero_style_a .hero_content .hero_intro p {
    font-size: 15px;
  }
}
.interview_detail .detail_hero.hero_style_overlay {
  position: relative;
}
.interview_detail .detail_hero.hero_style_overlay .hero_img_wrap img {
  max-height: 600px;
}
.interview_detail .detail_hero.hero_style_overlay .hero_content_wrap {
  padding-top: 24px;
}
@media (min-width: 920px) {
  .interview_detail .detail_hero.hero_style_overlay .hero_content_wrap {
    position: absolute;
    inset: 0;
    width: 100%;
    display: flex;
    align-items: center;
    pointer-events: none;
    padding-top: 0;
  }
}
.interview_detail .detail_hero.hero_style_overlay .hero_content_wrap h2 {
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 10px;
  letter-spacing: 0.07em;
  line-height: 1.6175;
}
@media (min-width: 920px) {
  .interview_detail .detail_hero.hero_style_overlay .hero_content_wrap h2 {
    color: #fff;
    font-size: min(34px, 2.4285714286vw);
  }
}
.interview_detail .detail_hero.hero_style_overlay .hero_content_wrap .hero_catch {
  position: absolute;
}
@media (max-width: 919px) {
  .interview_detail .detail_hero.hero_style_overlay .hero_content_wrap .hero_catch {
    left: 18px;
    top: 15px;
    color: #fff;
  }
}
@media (min-width: 920px) {
  .interview_detail .detail_hero.hero_style_overlay .hero_content_wrap .hero_catch {
    position: relative;
    padding-left: 100px;
  }
}
.interview_detail .detail_hero.hero_style_overlay .hero_content_wrap .hero_catch::before {
  content: "";
  display: inline-block;
  position: absolute;
  width: 80px;
  height: 99px;
  background-image: url("../img/interview/icon_arrow.svg");
  background-size: contain;
  background-repeat: no-repeat;
  left: 0;
  top: 0;
}
@media (max-width: 919px) {
  .interview_detail .detail_hero.hero_style_overlay .hero_content_wrap .hero_catch::before {
    display: none;
  }
}
.interview_detail .detail_hero.hero_style_overlay .hero_content_wrap .hero_catch_right {
  margin-left: auto;
  pointer-events: auto;
}
@media (min-width: 920px) {
  .interview_detail .detail_hero.hero_style_overlay .hero_content_wrap .hero_catch_right {
    color: #fff;
    right: 33px;
  }
}
.interview_detail .detail_hero.hero_style_overlay .hero_content_wrap .hero_catch_right .meta_box {
  border-left: 4px solid #24D53F;
  padding-left: 16px;
  text-align: left;
  display: inline-block;
}
.interview_detail .detail_hero.hero_style_overlay .hero_content_wrap .hero_catch_right .meta_box .name {
  font-size: 16px;
  font-weight: 700;
  margin-bottom: 8px;
  line-height: 1.4;
}
@media (min-width: 920px) {
  .interview_detail .detail_hero.hero_style_overlay .hero_content_wrap .hero_catch_right .meta_box .name {
    font-size: 20px;
  }
}
.interview_detail .detail_hero.hero_style_overlay .hero_content_wrap .hero_catch_right .meta_box .meta_year {
  font-size: 11px;
  font-weight: 700;
}
@media (min-width: 920px) {
  .interview_detail .detail_hero.hero_style_overlay .hero_content_wrap .hero_catch_right .meta_box .meta_year {
    font-size: 13px;
  }
}
.interview_detail .detail_hero.hero_style_overlay .hero_content_wrap .hero_catch_right .meta_box .meta_dept {
  font-size: 13px;
  font-weight: 700;
}
@media (min-width: 920px) {
  .interview_detail .detail_hero.hero_style_overlay .hero_content_wrap .hero_catch_right .meta_box .meta_dept {
    font-size: 15px;
  }
}
.interview_detail .detail_hero.hero_style_overlay .hero_content_wrap .hero_catch_left {
  margin-right: auto;
  pointer-events: auto;
}
@media (min-width: 920px) {
  .interview_detail .detail_hero.hero_style_overlay .hero_content_wrap .hero_catch_left {
    color: #fff;
    text-align: left;
    left: 66px;
  }
}
.interview_detail .detail_hero.hero_style_overlay .hero_content_wrap .hero_catch_left .meta_box {
  border-left: 4px solid #24D53F;
  padding-left: 16px;
}
.interview_detail .detail_hero.hero_style_overlay .hero_content_wrap .hero_catch_left .meta_box .name {
  font-size: 16px;
  font-weight: 700;
  margin-bottom: 8px;
  line-height: 1.4;
}
@media (min-width: 920px) {
  .interview_detail .detail_hero.hero_style_overlay .hero_content_wrap .hero_catch_left .meta_box .name {
    font-size: 20px;
  }
}
.interview_detail .detail_hero.hero_style_overlay .hero_content_wrap .hero_catch_left .meta_box .meta_year {
  font-size: 11px;
  font-weight: 700;
}
@media (min-width: 920px) {
  .interview_detail .detail_hero.hero_style_overlay .hero_content_wrap .hero_catch_left .meta_box .meta_year {
    font-size: 13px;
  }
}
.interview_detail .detail_hero.hero_style_overlay .hero_content_wrap .hero_catch_left .meta_box .meta_dept {
  font-size: 13px;
  font-weight: 700;
}
@media (min-width: 920px) {
  .interview_detail .detail_hero.hero_style_overlay .hero_content_wrap .hero_catch_left .meta_box .meta_dept {
    font-size: 15px;
  }
}
.interview_detail .detail_hero.hero_style_split_left {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
@media (min-width: 920px) {
  .interview_detail .detail_hero.hero_style_split_left {
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
  }
}
@media (min-width: 920px) {
  .interview_detail .detail_hero.hero_style_split_left .hero_img_wrap {
    width: 50vw;
    margin-left: calc(50% - 50vw);
    margin-right: auto;
  }
}
.interview_detail .detail_hero.hero_style_split_left .hero_txt {
  width: 100%;
}
@media (min-width: 920px) {
  .interview_detail .detail_hero.hero_style_split_left .hero_txt {
    width: calc(50% - 30px);
    padding-left: 0;
  }
}
.interview_detail .detail_hero.hero_style_split_left .hero_txt h2 {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 16px;
  line-height: 1.5;
}
@media (min-width: 920px) {
  .interview_detail .detail_hero.hero_style_split_left .hero_txt h2 {
    font-size: min(32px, 2.2857142857vw);
  }
}
.interview_detail .detail_hero.hero_style_split_left .hero_txt .meta_box {
  border-left: 4px solid #24D53F;
  padding-left: 16px;
}
.interview_detail .detail_hero.hero_style_split_left .hero_txt .meta_box .name {
  font-size: 16px;
  font-weight: 700;
  margin-bottom: 6px;
}
@media (min-width: 920px) {
  .interview_detail .detail_hero.hero_style_split_left .hero_txt .meta_box .name {
    font-size: 20px;
    margin-bottom: 8px;
  }
}
.interview_detail .detail_hero.hero_style_split_left .hero_txt .meta_box .meta_year {
  font-size: 11px;
  font-weight: 700;
}
@media (min-width: 920px) {
  .interview_detail .detail_hero.hero_style_split_left .hero_txt .meta_box .meta_year {
    font-size: 13px;
  }
}
.interview_detail .detail_hero.hero_style_split_left .hero_txt .meta_box .meta_dept {
  font-size: 13px;
  font-weight: 700;
}
@media (min-width: 920px) {
  .interview_detail .detail_hero.hero_style_split_left .hero_txt .meta_box .meta_dept {
    font-size: 15px;
  }
}
.interview_detail .detail_hero.hero_style_split_right {
  display: flex;
  flex-direction: column-reverse;
  gap: 16px;
}
@media (min-width: 920px) {
  .interview_detail .detail_hero.hero_style_split_right {
    flex-direction: row;
    align-items: flex-end;
    gap: 40px;
  }
}
.interview_detail .detail_hero.hero_style_split_right .hero_txt {
  width: 100%;
  text-align: left;
}
@media (min-width: 920px) {
  .interview_detail .detail_hero.hero_style_split_right .hero_txt {
    width: calc(50% - 30px);
    text-align: right;
  }
}
.interview_detail .detail_hero.hero_style_split_right .hero_txt h2 {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 16px;
  line-height: 1.5;
}
@media (min-width: 920px) {
  .interview_detail .detail_hero.hero_style_split_right .hero_txt h2 {
    font-size: min(32px, 2.2857142857vw);
  }
}
.interview_detail .detail_hero.hero_style_split_right .hero_txt .meta_box {
  border-left: 7px solid #24D53F;
  padding-left: 16px;
  text-align: left;
  display: inline-block;
}
@media (min-width: 920px) {
  .interview_detail .detail_hero.hero_style_split_right .hero_txt .meta_box {
    border-left: none;
    border-right: 4px solid #24D53F;
    padding-left: 0;
    padding-right: 16px;
    text-align: right;
  }
}
.interview_detail .detail_hero.hero_style_split_right .hero_txt .meta_box .name {
  font-size: 16px;
  font-weight: 700;
  margin-bottom: 6px;
}
@media (min-width: 920px) {
  .interview_detail .detail_hero.hero_style_split_right .hero_txt .meta_box .name {
    font-size: 20px;
    margin-bottom: 8px;
  }
}
.interview_detail .detail_hero.hero_style_split_right .hero_txt .meta_box .meta_year {
  font-size: 11px;
  font-weight: 700;
}
@media (min-width: 920px) {
  .interview_detail .detail_hero.hero_style_split_right .hero_txt .meta_box .meta_year {
    font-size: 13px;
  }
}
.interview_detail .detail_hero.hero_style_split_right .hero_txt .meta_box .meta_dept {
  font-size: 13px;
  font-weight: 700;
}
@media (min-width: 920px) {
  .interview_detail .detail_hero.hero_style_split_right .hero_txt .meta_box .meta_dept {
    font-size: 15px;
  }
}
@media (min-width: 920px) {
  .interview_detail .detail_hero.hero_style_split_right .hero_img_wrap {
    width: 50vw;
    margin-right: calc(50% - 50vw);
    margin-left: auto;
  }
}
@media (min-width: 920px) {
  .interview_detail.last {
    padding: 120px 0;
  }
}
.interview_detail .detail_profiles {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 20px;
  margin-bottom: 60px;
}
@media (min-width: 920px) {
  .interview_detail .detail_profiles {
    gap: 50px;
    margin-bottom: 142px;
  }
}
.interview_detail .detail_profiles .profile_item {
  display: flex;
  align-items: center;
  gap: 20px;
}
@media (min-width: 920px) {
  .interview_detail .detail_profiles .profile_item {
    gap: 30px;
  }
}
.interview_detail .detail_profiles .profile_item .img_wrap {
  width: 100px;
  height: 100px;
  border-radius: 50%;
  overflow: hidden;
}
@media (min-width: 920px) {
  .interview_detail .detail_profiles .profile_item .img_wrap {
    width: 156px;
    height: 156px;
  }
}
.interview_detail .detail_profiles .profile_item .img_wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.interview_detail .detail_profiles .profile_item .txt_wrap .name {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 12px;
  line-height: 1.2;
}
@media (min-width: 920px) {
  .interview_detail .detail_profiles .profile_item .txt_wrap .name {
    font-size: 20px;
  }
}
.interview_detail .detail_profiles .profile_item .txt_wrap .meta_year {
  font-size: 13px;
  line-height: 1;
  font-weight: 400;
  margin: 0;
  margin-bottom: 12px;
}
.interview_detail .detail_profiles .profile_item .txt_wrap .meta_dept {
  font-weight: 700;
  font-size: 15px;
  line-height: 1.2;
  margin: 0;
}
.interview_detail .detail_article.no-profile {
  margin-top: 40px;
}
@media (min-width: 920px) {
  .interview_detail .detail_article.no-profile {
    margin-top: 80px;
  }
}
.interview_detail .detail_article .article_block {
  margin-bottom: 40px;
}
@media (min-width: 920px) {
  .interview_detail .detail_article .article_block {
    margin-bottom: 62px;
  }
}
.interview_detail .detail_article .article_block:last-child {
  margin-bottom: 0;
}
.interview_detail .detail_article .article_block .article_ttl {
  display: flex;
  align-items: center;
  font-size: 17px;
  font-weight: 700;
  margin-bottom: 30px;
  line-height: 1.4285;
  position: relative;
  padding-left: 32px;
}
@media (min-width: 920px) {
  .interview_detail .detail_article .article_block .article_ttl {
    font-size: 28px;
    padding-left: 46px;
    margin-bottom: 58px;
  }
}
.interview_detail .detail_article .article_block .article_ttl::before {
  content: "";
  display: inline-block;
  position: absolute;
  width: 28px;
  height: 30px;
  background-image: url("../img/interview/icon_arrow_small.svg");
  background-size: contain;
  background-repeat: no-repeat;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
@media (min-width: 920px) {
  .interview_detail .detail_article .article_block .article_ttl::before {
    width: 33px;
    height: 39px;
  }
}
.interview_detail .detail_article .article_block .article_ttl_sub {
  font-size: 16px;
  font-weight: 700;
  margin-bottom: 8px;
}
@media (min-width: 920px) {
  .interview_detail .detail_article .article_block .article_ttl_sub {
    font-size: 20px;
    margin-bottom: 16px;
  }
}
.interview_detail .detail_article .article_block .mt-normal {
  margin-top: 20px;
}
@media (min-width: 920px) {
  .interview_detail .detail_article .article_block .mt-normal {
    margin-top: 40px;
  }
}
.interview_detail .detail_article .article_block .article_content {
  display: flex;
  flex-direction: column;
  gap: 40px;
}
@media (min-width: 920px) {
  .interview_detail .detail_article .article_block .article_content {
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
  }
}
@media (min-width: 920px) {
  .interview_detail .detail_article .article_block .article_content .txt_area {
    width: 47.4137931034%;
  }
}
.interview_detail .detail_article .article_block .article_content .txt_area p {
  font-size: 14px;
  line-height: 1.8;
  margin-bottom: 16px;
}
@media (min-width: 920px) {
  .interview_detail .detail_article .article_block .article_content .txt_area p {
    font-size: 16px;
    margin-bottom: 25px;
  }
}
.interview_detail .detail_article .article_block .article_content .txt_area p:last-child {
  margin-bottom: 0;
}
.interview_detail .detail_article .article_block .article_content .txt_area .speaker {
  font-weight: 700;
}
.interview_detail .detail_article .article_block .article_content .txt_area .color_a {
  color: #24D53F;
}
.interview_detail .detail_article .article_block .article_content .txt_area .color_b {
  color: #24D53F;
}
@media (min-width: 920px) {
  .interview_detail .detail_article .article_block .article_content .txt_area.align-bottom {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-self: stretch;
    padding-bottom: 20px;
  }
}
.interview_detail .detail_article .article_block .article_content .img_area {
  width: 100%;
}
@media (min-width: 920px) {
  .interview_detail .detail_article .article_block .article_content .img_area {
    width: 44.8275862069%;
  }
}
.interview_detail .detail_article .article_block .article_content .img_area img {
  width: 100%;
  height: auto;
  display: block;
}
.interview_detail .detail_article .article_block .article_content .img_area.grid_imgs {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
@media (min-width: 920px) {
  .interview_detail .detail_article .article_block .article_content .img_area.grid_imgs {
    gap: 36px;
  }
}
.interview_detail .detail_article .article_block.is-reverse .article_content {
  flex-direction: column;
}
@media (min-width: 920px) {
  .interview_detail .detail_article .article_block.is-reverse .article_content {
    flex-direction: row-reverse;
  }
}
.interview_detail .detail_article .article_block.mb-wide {
  margin-bottom: 40px;
}
@media (min-width: 920px) {
  .interview_detail .detail_article .article_block.mb-wide {
    margin-bottom: 108px;
  }
}

.icon_arrow {
  display: inline-block;
  width: 24px;
  height: 24px;
  margin-right: 12px;
  background-image: url("../img/interview/icon_double_arrow.svg");
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
}

.icon_arrow_white {
  display: inline-block;
  width: 24px;
  height: 24px;
  margin-right: 12px;
  background-image: url("../img/interview/icon_double_arrow_white.svg");
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
}

.recruit_archive_page .recruit_archive_main {
  padding: 40px 0 0;
}
@media (min-width: 920px) {
  .recruit_archive_page .recruit_archive_main {
    padding: 144px 0 0;
  }
}
.recruit_archive_page .recruit_anchor_nav {
  max-width: 1180px;
  margin: 0 auto 60px;
}
@media (min-width: 920px) {
  .recruit_archive_page .recruit_anchor_nav {
    margin: 0 auto 106px;
  }
}
.recruit_archive_page .recruit_anchor_nav_inr {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
@media (min-width: 920px) {
  .recruit_archive_page .recruit_anchor_nav_inr {
    flex-direction: row;
    gap: 0;
    justify-content: space-between;
  }
}
.recruit_archive_page .recruit_anchor_nav_group_ttl {
  margin-bottom: 12px;
  text-align: center;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.05em;
}
@media (min-width: 920px) {
  .recruit_archive_page .recruit_anchor_nav_group_ttl {
    margin-bottom: 22px;
    font-size: 24px;
  }
}
.recruit_archive_page .recruit_anchor_nav_links {
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
}
@media (min-width: 920px) {
  .recruit_archive_page .recruit_anchor_nav_links {
    gap: 16px;
  }
}
.recruit_archive_page .recruit_anchor_nav_link {
  position: relative;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  padding: 10px 36px 10px 12px;
  font-size: 15px;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  transition: all 0.3s ease;
  z-index: 1;
  letter-spacing: 0.05em;
  background-color: #24D53F;
  color: #24D53F;
  -webkit-clip-path: polygon(11px 0, calc(100% - 11px) 0, 100% 8px, 100% calc(100% - 8px), calc(100% - 11px) 100%, 11px 100%, 0 calc(100% - 8px), 0 8px);
  clip-path: polygon(11px 0, calc(100% - 11px) 0, 100% 8px, 100% calc(100% - 8px), calc(100% - 11px) 100%, 11px 100%, 0 calc(100% - 8px), 0 8px);
}
@media (min-width: 920px) {
  .recruit_archive_page .recruit_anchor_nav_link {
    padding: 17px 82px 17px 40px;
    font-size: 24px;
  }
}
.recruit_archive_page .recruit_anchor_nav_link::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 8px;
  width: 23px;
  height: 7px;
  -webkit-mask: url("../img/requirement/anchor_arrow.svg") no-repeat center center/contain;
  mask: url("../img/requirement/anchor_arrow.svg") no-repeat center center/contain;
  background-color: #24D53F;
  transition: background-color 0.3s ease;
}
@media (min-width: 920px) {
  .recruit_archive_page .recruit_anchor_nav_link::after {
    right: 14px;
    width: 27px;
    height: 11px;
  }
}
.recruit_archive_page .recruit_anchor_nav_link::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #fff;
  z-index: -1;
  transition: all 0.3s ease;
  -webkit-clip-path: polygon(11.5px 1px, calc(100% - 11.5px) 1px, calc(100% - 1px) 8.5px, calc(100% - 1px) calc(100% - 8.5px), calc(100% - 11.5px) calc(100% - 1px), 11.5px calc(100% - 1px), 1px calc(100% - 8.5px), 1px 8.5px);
  clip-path: polygon(11.5px 1px, calc(100% - 11.5px) 1px, calc(100% - 1px) 8.5px, calc(100% - 1px) calc(100% - 8.5px), calc(100% - 11.5px) calc(100% - 1px), 11.5px calc(100% - 1px), 1px calc(100% - 8.5px), 1px 8.5px);
}
.recruit_archive_page .recruit_anchor_nav_link.is-active, .recruit_archive_page .recruit_anchor_nav_link:hover {
  color: #fff;
}
.recruit_archive_page .recruit_anchor_nav_link.is-active::before, .recruit_archive_page .recruit_anchor_nav_link:hover::before {
  background-color: #fff;
}
.recruit_archive_page .recruit_anchor_nav_link.is-active::after, .recruit_archive_page .recruit_anchor_nav_link:hover::after {
  background-color: #fff;
}
@supports (corner-shape: bevel) {
  .recruit_archive_page .recruit_anchor_nav_link {
    background-color: #fff;
    border: 1px solid #24D53F;
    border-radius: 11px/8px;
    corner-shape: bevel;
    -webkit-clip-path: none;
    clip-path: none;
  }
  .recruit_archive_page .recruit_anchor_nav_link::before {
    display: none;
  }
  .recruit_archive_page .recruit_anchor_nav_link.is-active, .recruit_archive_page .recruit_anchor_nav_link:hover {
    color: #fff;
    background-color: #24D53F;
  }
}
.recruit_archive_page .recruit_group_section + .recruit_group_section {
  margin-top: 80px;
}
@media (min-width: 920px) {
  .recruit_archive_page .recruit_group_section + .recruit_group_section {
    margin-top: 104px;
  }
}
.recruit_archive_page .recruit_group_section_inr {
  max-width: 960px;
  margin: 0 auto;
}
.recruit_archive_page .recruit_group_ttl {
  display: flex;
  align-items: baseline;
  gap: 10px;
  margin-bottom: 20px;
  letter-spacing: 0.05em;
}
@media (min-width: 920px) {
  .recruit_archive_page .recruit_group_ttl {
    margin-bottom: 44px;
  }
}
.recruit_archive_page .recruit_group_ttl_main {
  font-size: 20px;
  font-weight: 700;
  color: #24D53F;
  line-height: 1.2;
}
@media (min-width: 920px) {
  .recruit_archive_page .recruit_group_ttl_main {
    font-size: 28px;
  }
}
.recruit_archive_page .recruit_group_ttl_sub {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.2;
}
@media (min-width: 920px) {
  .recruit_archive_page .recruit_group_ttl_sub {
    font-size: 28px;
  }
}
.recruit_archive_page .recruit_category_block {
  scroll-margin-top: 40px;
}
@media (min-width: 920px) {
  .recruit_archive_page .recruit_category_block {
    scroll-margin-top: 80px;
  }
}
.recruit_archive_page .recruit_category_block + .recruit_category_block {
  margin-top: 40px;
}
@media (min-width: 920px) {
  .recruit_archive_page .recruit_category_block + .recruit_category_block {
    margin-top: 44px;
  }
}
.recruit_archive_page .recruit_category_ttl {
  position: relative;
  margin-bottom: 18px;
  padding-left: 26px;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.5;
}
@media (min-width: 920px) {
  .recruit_archive_page .recruit_category_ttl {
    font-size: 20px;
    padding-left: 32px;
  }
}
.recruit_archive_page .recruit_category_ttl::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 18px;
  height: 2px;
  background: #24D53F;
  transform: translateY(-50%);
}
@media (min-width: 920px) {
  .recruit_archive_page .recruit_category_ttl::before {
    width: 25px;
    height: 3px;
  }
}
.recruit_archive_page .recruit_card {
  background: rgba(36, 213, 63, 0.2);
  padding: 20px;
}
@media (min-width: 920px) {
  .recruit_archive_page .recruit_card {
    min-height: 305px;
    padding: 30px 34px;
  }
}
.recruit_archive_page .recruit_card_list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 30px 18px;
}
@media (min-width: 920px) {
  .recruit_archive_page .recruit_card_list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 50px 18px;
  }
}
.recruit_archive_page .recruit_card_inr {
  margin-bottom: 20px;
}
@media (min-width: 920px) {
  .recruit_archive_page .recruit_card_inr {
    margin-bottom: 40px;
  }
}
.recruit_archive_page .recruit_card_ttl {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  padding-bottom: 12px;
  margin-bottom: 12px;
  border-bottom: 1px solid #313234;
  letter-spacing: 0.1em;
}
@media (min-width: 920px) {
  .recruit_archive_page .recruit_card_ttl {
    font-size: 21px;
    padding-bottom: 16px;
    margin-bottom: 13px;
  }
}
.recruit_archive_page .recruit_card_row {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
@media (min-width: 920px) {
  .recruit_archive_page .recruit_card_row {
    flex-direction: row;
    justify-content: space-between;
  }
}
.recruit_archive_page .recruit_card_row + .recruit_card_row {
  margin-top: 9px;
}
.recruit_archive_page .recruit_card_term {
  font-size: 14px;
  font-weight: 500;
  line-height: 1.5;
}
@media (min-width: 920px) {
  .recruit_archive_page .recruit_card_term {
    font-size: 15px;
    width: 22.3325062035%;
  }
}
.recruit_archive_page .recruit_card_desc {
  font-weight: 300;
  font-size: 15px;
  line-height: 1.35;
}
@media (min-width: 920px) {
  .recruit_archive_page .recruit_card_desc {
    font-size: 16px;
    width: 69.4789081886%;
  }
}
.recruit_archive_page .recruit_card_desc_small {
  font-size: 14px;
}
.recruit_archive_page .recruit_faq_section {
  margin-top: 80px;
  padding: 80px 0;
  background: #24D53F;
}
@media (min-width: 920px) {
  .recruit_archive_page .recruit_faq_section {
    margin-top: 150px;
    padding: 128px 0 126px;
  }
}
.recruit_archive_page .recruit_faq_ttl {
  margin-bottom: 20px;
  font-size: 20px;
  font-weight: 700;
  color: #fff;
  line-height: 1.25;
  letter-spacing: 0.05em;
}
@media (min-width: 920px) {
  .recruit_archive_page .recruit_faq_ttl {
    margin-bottom: 32px;
    font-size: 28px;
  }
}
.recruit_archive_page .recruit_faq_list {
  border-radius: 8px;
  padding: 30px 20px;
  background-color: #fff;
}
@media (min-width: 920px) {
  .recruit_archive_page .recruit_faq_list {
    border-radius: 20px;
    padding: 30px 40px 60px;
  }
}
.recruit_archive_page .recruit_faq_item {
  border-bottom: 1px solid #24D53F;
  overflow: hidden;
}
.recruit_archive_page .recruit_faq_item:first-child .recruit_faq_question {
  padding-top: 0;
}
@media (min-width: 920px) {
  .recruit_archive_page .recruit_faq_item:first-child .recruit_faq_question {
    padding-top: 20px;
  }
}
.recruit_archive_page .recruit_faq_item.is-open .recruit_faq_question_icon::after {
  transform: translate(-50%, -50%) rotate(0deg);
}
.recruit_archive_page .recruit_faq_item.is-open .recruit_faq_answer {
  opacity: 1;
}
.recruit_archive_page .recruit_faq_question {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 20px 10px 20px;
  background: transparent;
  border: none;
  cursor: pointer;
  text-align: left;
}
@media (min-width: 920px) {
  .recruit_archive_page .recruit_faq_question {
    padding: 49px 20px 49px 10px;
  }
}
.recruit_archive_page .recruit_faq_question_head {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}
.recruit_archive_page .recruit_faq_question_q {
  flex: 0 0 auto;
  font-size: 18px;
  font-weight: 700;
  color: #24D53F;
  line-height: 1;
  font-family: "Inter", sans-serif;
}
@media (min-width: 920px) {
  .recruit_archive_page .recruit_faq_question_q {
    font-size: 24px;
  }
}
.recruit_archive_page .recruit_faq_question_text {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.15;
}
@media (min-width: 920px) {
  .recruit_archive_page .recruit_faq_question_text {
    font-size: 22px;
  }
}
.recruit_archive_page .recruit_faq_question_icon {
  flex: 0 0 auto;
  width: 20px;
  height: 20px;
  position: relative;
}
@media (min-width: 920px) {
  .recruit_archive_page .recruit_faq_question_icon {
    width: 25px;
    height: 25px;
  }
}
.recruit_archive_page .recruit_faq_question_icon::before, .recruit_archive_page .recruit_faq_question_icon::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 20px;
  height: 2px;
  background: #24D53F;
  transition: transform 0.3s ease;
}
@media (min-width: 920px) {
  .recruit_archive_page .recruit_faq_question_icon::before, .recruit_archive_page .recruit_faq_question_icon::after {
    width: 25px;
    height: 3px;
  }
}
.recruit_archive_page .recruit_faq_question_icon::before {
  transform: translate(-50%, -50%) rotate(0deg);
}
.recruit_archive_page .recruit_faq_question_icon::after {
  transform: translate(-50%, -50%) rotate(90deg);
}
.recruit_archive_page .recruit_faq_answer {
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  transition: max-height 0.4s ease, opacity 0.3s ease;
  padding: 0 10px;
  box-sizing: border-box;
}
.recruit_archive_page .recruit_faq_answer_inr {
  font-size: 14px;
  line-height: 1.8;
  padding: 0 0 20px;
}
@media (min-width: 920px) {
  .recruit_archive_page .recruit_faq_answer_inr {
    font-size: 16px;
    padding: 0 0 40px;
  }
}
.recruit_archive_page .recruit_faq_answer_inr .link {
  color: #24D53F;
  background-image: linear-gradient(#24D53F, #24D53F);
  background-repeat: no-repeat;
  background-position: bottom right;
  background-size: 0 1px;
  transition: background-size 0.3s;
}
.recruit_archive_page .recruit_faq_answer_inr .link:hover {
  background-position: bottom left;
  background-size: 100% 1px;
}

.recruit_single_page {
  padding: 87px 0 0;
}
.recruit_single_page .recruit_single_main {
  padding: 60px 0 0;
}
@media (min-width: 920px) {
  .recruit_single_page .recruit_single_main {
    padding: 140px 0 0;
  }
}
.recruit_single_page .recruit_single_main .recruit_flow_section {
  padding: 80px 0;
}
@media (min-width: 920px) {
  .recruit_single_page .recruit_single_main .recruit_flow_section {
    padding: 224px 0 124px;
  }
}
.recruit_single_page .recruit_detail_title {
  margin-bottom: 20px;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.1em;
}
@media (min-width: 920px) {
  .recruit_single_page .recruit_detail_title {
    margin-bottom: 46px;
    font-size: 28px;
  }
}
.recruit_single_page .recruit_detail_table {
  margin-bottom: 30px;
}
@media (min-width: 920px) {
  .recruit_single_page .recruit_detail_table {
    margin-bottom: 46px;
  }
}
.recruit_single_page .recruit_detail_row {
  display: grid;
  grid-template-columns: 1fr;
  align-items: baseline;
  gap: 4px;
  padding: 18px 10px;
  border-bottom: 1px solid rgba(49, 50, 52, 0.4509803922);
}
@media (min-width: 920px) {
  .recruit_single_page .recruit_detail_row {
    padding: 28px 10px;
    grid-template-columns: 200px 1fr;
    gap: 20px;
  }
}
.recruit_single_page .recruit_detail_term {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.03em;
}
@media (min-width: 920px) {
  .recruit_single_page .recruit_detail_term {
    font-size: 18px;
  }
}
.recruit_single_page .recruit_detail_desc {
  font-size: 16px;
  font-weight: 300;
  line-height: 1.5;
}
@media (min-width: 920px) {
  .recruit_single_page .recruit_detail_desc {
    font-size: 18px;
  }
}
.recruit_single_page .recruit_detail_entry {
  margin-top: 20px;
  text-align: center;
}
@media (min-width: 920px) {
  .recruit_single_page .recruit_detail_entry {
    margin-top: 30px;
  }
}
.recruit_single_page .recruit_detail_entry_btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 246px;
  min-height: 46px;
  padding: 10px 48px 10px 22px;
  background: linear-gradient(90deg, #23d63d 0%, #a6f0b0 100%);
  color: #333;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.4;
  position: relative;
  transition: 0.3s ease;
}
.recruit_single_page .recruit_detail_entry_btn::before, .recruit_single_page .recruit_detail_entry_btn::after {
  content: "";
  position: absolute;
  right: 18px;
  top: 50%;
  width: 10px;
  height: 2px;
  background: #333;
  transform-origin: right center;
}
.recruit_single_page .recruit_detail_entry_btn::before {
  transform: translateY(-4px) rotate(45deg);
}
.recruit_single_page .recruit_detail_entry_btn::after {
  transform: translateY(2px) rotate(-45deg);
}
.recruit_single_page .recruit_detail_entry_btn:hover {
  opacity: 0.85;
}
.recruit_single_page .recruit_entry_section {
  padding: 80px 0;
}
@media (min-width: 920px) {
  .recruit_single_page .recruit_entry_section {
    padding: 130px 0 150px;
  }
}
.recruit_single_page .recruit_entry_section {
  background: linear-gradient(200.35deg, #24d53f -3.24%, rgba(36, 213, 63, 0.3) 15.7%, #24d53f 35.39%, rgba(36, 213, 63, 0.3) 58.11%, #24d53f 89.21%);
}
@media (min-width: 920px) {
  .recruit_single_page .recruit_entry_section .section_ttl {
    margin-bottom: 56px;
  }
}
@media (min-width: 920px) {
  .recruit_single_page .recruit_entry_section .section_ttl_en {
    font-size: 105px;
  }
}
.recruit_single_page .recruit_entry_inr {
  max-width: 940px;
  margin: 0 auto;
}

.recruit_flow_section {
  padding: 80px 0;
}
@media (min-width: 920px) {
  .recruit_flow_section {
    padding: 124px 0;
  }
}
.recruit_flow_head {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  color: #fff;
  font-size: 20px;
  font-weight: 700;
  line-height: 1;
  position: relative;
  height: 47px;
  background: #24D53F;
  margin-bottom: 30px;
  overflow: hidden;
}
@media (min-width: 920px) {
  .recruit_flow_head {
    margin-bottom: 50px;
    font-size: 24px;
  }
}
.recruit_flow_head::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 109px;
  height: 47px;
  pointer-events: none;
  z-index: 1;
  background: url("../img/page/archive_head_cap.png") right top/109px 47px no-repeat;
}
.recruit_flow_head_label {
  position: absolute;
  left: 20px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  color: #fff;
  font-size: 20px;
  font-weight: 700;
  line-height: 1;
}
@media (min-width: 920px) {
  .recruit_flow_head_label {
    left: 30px;
    font-size: 24px;
  }
}
.recruit_flow_list {
  display: flex;
  flex-direction: column;
  gap: 20px;
  align-items: center;
}
@media (min-width: 920px) {
  .recruit_flow_list {
    gap: 23px;
  }
}
.recruit_flow_item {
  display: flex;
  align-items: center;
  flex-direction: column;
  border: 1px solid #313234;
  width: 100%;
  padding: 20px;
  gap: 12px;
}
@media (min-width: 920px) {
  .recruit_flow_item {
    padding: 44px 35px;
    flex-direction: row;
    gap: 0;
    justify-content: space-between;
  }
}
.recruit_flow_item_ttl {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  letter-spacing: 0.1em;
}
@media (min-width: 920px) {
  .recruit_flow_item_ttl {
    font-size: 24px;
    width: 18.018018018%;
  }
}
.recruit_flow_item_txt {
  font-size: 16px;
  line-height: 1.2;
  font-weight: 300;
}
@media (min-width: 920px) {
  .recruit_flow_item_txt {
    font-size: 20px;
    width: 77.4774774775%;
  }
}/*# sourceMappingURL=base.css.map */