@charset "utf-8";

/* ----- inner_common ----- */

main.inner h2.inner_ttl {
  font-size: min(4rem, 40px);
  font-weight: 600;
  text-align: center;
}

@media (max-width: 799px) {
  main.inner h2.inner_ttl {
    font-size: 3.2rem;
  }
}

main.inner.black {
  padding-top: min(12rem, 120px);
}

@media (max-width: 799px) {
  main.inner.black {
    padding-top: 6rem;
  }
}

/* ----- about ----- */

main.inner section.mv {
  background-size: min(150rem, 1500px);
  background-position: center top;
  background-repeat: no-repeat;
}

main.about section.mv {
  background-image: url(../img/_inner/bg_mv_about.png);
}

main.inner section.mv div.mv_container {
  width: 100%;
  padding: min(22rem, 220px) 0;
}

main.inner section.mv h2.inner_mv_ttl {
  font-size: min(4rem, 40px);
  font-weight: 600;
  color: #fff;
  text-align: center;
}

@media (max-width: 799px) {
  main.inner section.mv {
    background-image: url(../img/_inner/bg_mv_about.png);
    background-size: auto 100%;
  }

  main.inner section.mv div.mv_container {
    width: 100%;
    padding: 10rem 0;
  }

  main.inner section.mv h2.inner_mv_ttl {
    font-size: 3.2rem;
  }
}

/* ----- */

h2.about_ttl {
  font-size: min(2.6rem, 26px);
  font-weight: 600;
  line-height: 1.6;
}

p.about_txt {
  margin-top: min(3rem, 30px);
  font-size: min(1.8rem, 18px);
  font-weight: 600;
  line-height: 1.6;
}

p.about_txt.ceo {
  text-align: right;
}

div.about_image {
  margin-top: min(5rem, 50px);
}

@media (max-width: 799px) {
  h2.about_ttl {
    font-size: 18px;
  }

  p.about_txt {
    margin-top: 2rem;
    font-size: 1.4rem;
    line-height: 1.6;
  }

  div.about_image {
    margin-top: 3rem;
  }
}

/* ----- */

main.about section.links div.about_links_wrap {
  margin: min(6rem, 60px) auto 0;
  display: flex;
  /* grid-template-columns: min(46rem, 460px) 1fr; */
  /* grid-template-columns: 1fr 1fr; */
  align-items: center;
  gap: min(8rem, 80px);
  justify-content: center;
}

main.about section.links div.about_links_wrap div.logo_area {
  width: 35%;
}

main.about section.links div.about_links_wrap div.link_area {
  display: flex;
  flex-direction: column;
  width: 34%;
  /* gap: min(3.5rem, 35px); */
}

main.about section.links div.about_links_wrap div.link_area a.about_link {
  padding: min(3.5rem, 35px) 0;
  border-bottom: min(0.1rem, 1px) solid #1c1c1a;
  font-size: min(2.4rem, 24px);
  font-weight: 600;
}

main.about
  section.links
  div.about_links_wrap
  div.link_area
  a.about_link:first-of-type {
  padding-top: 0;
}

@media (max-width: 799px) {
  main.about section.links div.about_links_wrap {
    margin-top: 3rem;
    display: grid;
    grid-template-columns: 1fr;
    gap: 4rem;
  }

  main.about section.links div.about_links_wrap div.logo_area {
    margin: 0 auto;
    width: 65%;
  }

  main.about section.links div.about_links_wrap div.link_area {
    gap: 0;
    width: 100%;
  }

  main.about section.links div.about_links_wrap div.link_area a.about_link {
    padding: 2rem;
    border-bottom: 0.1rem solid #1c1c1a;
    font-size: 1.8rem;
  }
}

/* ----- company ----- */

main.company section.mv {
  background-image: url(../img/_inner/bg_mv_company.png);
}

/* ----- */

main.company h2.company_ttl {
  font-size: min(6rem, 60px);
  font-weight: 600;
  text-align: center;
}

main.company h2.company_ttl span {
  display: block;
  margin-top: min(2rem, 20px);
  font-size: min(2rem, 20px);
  font-weight: 600;
  text-align: center;
}

@media (max-width: 799px) {
  main.company h2.company_ttl {
    font-size: 4rem;
  }

  main.company h2.company_ttl span {
    margin-top: 1rem;
    font-size: 1.6rem;
  }
}

/* ------ */

main.company section.mission {
  background-image: url(../img/_inner/bg_mission04.png);
  /* background-size: min(400rem, 4000px); */
  background-position: center bottom;
  background-repeat: no-repeat;
  background-size: 100% 100%;
}

main.company section.mission div.container {
  /* padding-bottom: min(66rem, 660px); */
  padding-bottom: 13%;
}

main.company section.mission p.mission_lead {
  margin-top: min(8rem, 80px);
  font-size: min(3.5rem, 35px);
  font-weight: 600;
  text-align: center;
  letter-spacing: 0.04em;
}

@media (max-width: 799px) {
  main.company section.mission {
    background-image: url(../img/_inner/bg_mission.png);
    background-size: 400%;
    background-position: center top;
    background-repeat: no-repeat;
  }

  main.company section.mission div.container {
    padding-bottom: 5rem;
  }

  main.company section.mission p.mission_lead {
    margin-top: 3rem;
    font-size: 2.5rem;
    line-height: 1.4;
    -webkit-text-stroke: 0.2rem #fff;
    text-stroke: 0.2rem #fff;
    paint-order: stroke;
  }
}

/* ------ */

main.company section.vision p.vision_lead {
  margin-top: min(4rem, 40px);
  font-size: min(3.5rem, 35px);
  font-weight: 600;
  text-align: center;
}

main.company section.vision p.vision_txt {
  margin-top: min(4rem, 40px);
  font-size: min(2.4rem, 24px);
  font-weight: 600;
  text-align: center;
}

main.company section.vision div.company_wrap {
  margin-top: min(4rem, 40px);
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  /* gap: min(4.5rem, 45px); */
}

main.company section.vision div.company_wrap div.company_item {
  width: 100%;
  height: min(28rem, 280px);
  background-image: url(../img/_inner/frame_company_item.png);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: min(2rem, 20px);
  font-weight: 600;
  line-height: 1.8;
  text-align: center;
  letter-spacing: 0em;
  display: grid;
  grid-column: span 2;
}

@media (max-width: 799px) {
  main.company section.vision p.vision_lead {
    margin-top: 4rem;
    font-size: 2.2rem;
  }

  main.company section.vision p.vision_txt {
    margin-top: 2rem;
    font-size: 1.6rem;
  }

  main.company section.vision div.company_wrap {
    margin-top: 2rem;
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 0.4rem;
  }

  main.company section.vision div.company_wrap div.company_item {
    width: 100%;
    height: 11rem;
    font-size: 1.1rem;
    font-weight: 600;
    line-height: 1.4;
    text-align: center;
    letter-spacing: 0em;
    display: grid;
    grid-column: span 2;
  }
}

/* ------ */

main.company section.value div.company_wrap {
  margin-top: min(4rem, 40px);
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  /* gap: min(4.5rem, 45px); */
}

main.company section.value div.company_wrap div.company_item {
  width: 100%;
  height: min(28rem, 280px);
  background-image: url(../img/_inner/frame_company_item.png);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: min(2rem, 20px);
  font-weight: 600;
  line-height: 1.8;
  text-align: center;
  letter-spacing: 0em;
  display: grid;
  grid-column: span 2;
}
main.company section.value div.company_wrap div.company_item:nth-of-type(4) {
  grid-column: 2 / 4;
}

@media (max-width: 799px) {
  main.company section.value div.company_wrap {
    margin-top: 2rem;
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 0.4rem;
  }

  main.company section.value div.company_wrap div.company_item {
    wwidth: 100%;
    height: 11rem;
    font-size: 1.1rem;
    font-weight: 600;
    line-height: 1.4;
    text-align: center;
    letter-spacing: 0em;
    display: grid;
    grid-column: span 2;
  }

  main.company section.value div.company_wrap div.company_item:nth-of-type(4) {
    grid-column: 2 / 4;
  }
}

/* ------ */

main.company h2.info_ttl {
  font-size: min(2.8rem, 28px);
  font-weight: 600;
  text-align: center;
}

main.company section.info div.info_wrap {
  margin-top: min(4rem, 40px);
  border: min(0.2rem, 2px) solid #959595;
}

main.company section.info div.info_wrap div.info_item {
  display: grid;
  grid-template-columns: min(30rem, 300px) 1fr;
  gap: 0;
  border-bottom: min(0.2rem, 2px) solid #959595;
}

main.company section.info div.info_wrap div.info_item:last-of-type {
  border-bottom: none;
}

main.company section.info div.info_wrap div.info_item div.info_term {
  /* height: min(5rem, 50px); */
  background-color: #373737;
  color: #fff;
  font-size: min(1.8rem, 18px);
  font-weight: 600;
  padding: 15px min(6rem, 60px);
  text-align-last: justify;
  /* line-height: min(5rem, 50px); */
}

main.company section.info div.info_wrap div.info_item div.info_value {
  padding: 15px min(6rem, 60px);
  font-size: min(1.6rem, 16px);
  font-weight: 600;
  display: flex;
  align-items: center;
  line-height: 1.4;
}

@media (max-width: 799px) {
  main.company h2.info_ttl {
    font-size: 2.2rem;
  }

  main.company section.info div.info_wrap {
    margin-top: 3rem;
    border: none;
  }

  main.company section.info div.info_wrap div.info_item {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
    border-bottom: none;
  }

  main.company section.info div.info_wrap div.info_item div.info_term {
    /* height: 4rem; */
    font-size: 1.4rem;
    padding: 1.5rem 2rem;
    /* line-height: 4rem; */
    text-align-last: center;
  }

  main.company section.info div.info_wrap div.info_item div.info_value {
    padding: 1.5rem 2rem;
    font-size: 1.4rem;
    /* height: 4rem; */
    line-height: 1.4;
  }
}

/* ------ */
main.company section.history .history_image {
  margin-top: min(4rem, 40px);
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: min(4rem, 40px);
}

main.company section.history nav.history_nav {
  margin-top: min(4rem, 40px);
}

main.company section.history nav.history_nav ul.history_nav_list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: min(1.8rem, 18px);
}

main.company
  section.history
  nav.history_nav
  ul.history_nav_list
  li.history_nav_item {
  width: 100%;
  height: min(5rem, 50px);
  background-color: #999693;
  color: #fff;
  font-size: min(2rem, 20px);
  font-weight: 600;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  transition: all 0.8s;
}

@media (hover: hover) {
  main.company
    section.history
    nav.history_nav
    ul.history_nav_list
    li.history_nav_item:hover {
    opacity: 0.8;
  }
}

main.company
  section.history
  nav.history_nav
  ul.history_nav_list
  li.history_nav_item.active {
  background-color: #373737;
  pointer-events: none;
}

@media (max-width: 799px) {
  main.company section.history .history_image {
    margin-top: 3rem;
    gap: 0;
  }
  main.company section.history nav.history_nav {
    margin-top: 3rem;
  }

  main.company section.history nav.history_nav ul.history_nav_list {
    gap: 0.4rem;
  }

  main.company
    section.history
    nav.history_nav
    ul.history_nav_list
    li.history_nav_item {
    height: 3.5rem;
    font-size: 1.2rem;
  }
}

/* ------ */

main.company section.history div.history_wrap {
  background-color: #fff;
  padding: min(4rem, 40px) min(5rem, 50px);
  border: min(0.2rem, 2px) solid #959595;
  position: absolute;
  top: -9999999px;
  opacity: 0;
  pointer-events: none;
  transition: all 0.8s;
}

main.company section.history div.history_wrap.active {
  position: static;
  opacity: 1;
  pointer-events: auto;
}

main.company section.history div.history_wrap ul.history_list {
  display: flex;
  flex-direction: column;
  gap: min(2.5rem, 25px);
}

main.company section.history div.history_wrap ul.history_list li.history_item {
  display: grid;
  grid-template-columns: min(7.5rem, 75px) min(16rem, 160px) 1fr;
  align-items: start;
  gap: min(2rem, 20px);
  position: relative;
}

main.company
  section.history
  div.history_wrap
  ul.history_list
  li.history_item::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: min(0.3rem, 3px);
  height: calc(100% + min(2.5rem, 25px));
  background-color: #989690;
  transform: translate(max(-2.3rem, -23px), 0%);
}

main.company
  section.history
  div.history_wrap
  ul.history_list
  li.history_item:first-of-type::after {
  height: calc(50% + min(2.5rem, 25px));
  transform: translate(max(-2.3rem, -23px), 50%);
}

main.company
  section.history
  div.history_wrap
  ul.history_list
  li.history_item:last-of-type::after {
  height: 50%;
  transform: translate(max(-2.3rem, -23px), 0%);
}

main.company
  section.history
  div.history_wrap
  ul.history_list
  li.history_item::before {
  content: "●";
  display: block;
  position: absolute;
  font-size: min(2rem, 20px);
  font-weight: 600;
  color: #989690;
  top: 0;
  left: 0;
  width: fit-content;
  height: fit-content;
  transform: translate(-150%, 25%);
}

main.company
  section.history
  div.history_wrap
  ul.history_list
  li.history_item
  span.date {
  font-size: min(1.8rem, 18px);
  font-weight: 600;
  letter-spacing: 0em;
  line-height: 1.4;
}

main.company
  section.history
  div.history_wrap
  ul.history_list
  li.history_item
  span.category {
  width: 100%;
  height: min(2.8rem, 28px);
  background-color: #989690;
  color: #fff;
  font-size: min(1.6rem, 16px);
  font-weight: 600;
  padding: 0 min(1.5rem, 15px);
  text-align-last: justify;
  line-height: min(2.4rem, 24px);
  letter-spacing: 0em;
  line-height: 1.7;
}

main.company
  section.history
  div.history_wrap
  ul.history_list
  li.history_item
  span.history_desc {
  font-size: min(1.6rem, 16px);
  font-weight: 600;
  letter-spacing: 0em;
  line-height: 1.4;
}

@media (max-width: 799px) {
  main.company section.history div.history_wrap {
    padding: 2rem;
    border: 0.1rem solid #959595;
  }

  main.company section.history div.history_wrap ul.history_list {
    gap: 2rem;
  }

  main.company
    section.history
    div.history_wrap
    ul.history_list
    li.history_item {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4rem 1.5rem;
  }

  main.company
    section.history
    div.history_wrap
    ul.history_list
    li.history_item::before {
    content: none;
  }

  main.company
    section.history
    div.history_wrap
    ul.history_list
    li.history_item::after {
    content: none;
  }

  main.company
    section.history
    div.history_wrap
    ul.history_list
    li.history_item:first-of-type::after {
    content: none;
  }

  main.company
    section.history
    div.history_wrap
    ul.history_list
    li.history_item:last-of-type::after {
    content: none;
  }

  main.company
    section.history
    div.history_wrap
    ul.history_list
    li.history_item
    span.date {
    font-size: 1.4rem;
    line-height: 1;
    width: fit-content;
  }

  main.company
    section.history
    div.history_wrap
    ul.history_list
    li.history_item
    span.category {
    width: fit-content;
    height: 2rem;
    font-size: 1.2rem;
    padding: 0 1.5rem;
    line-height: 1;
    transform: translateY(0);
    display: flex;
    justify-content: center;
    align-items: center;
  }

  main.company
    section.history
    div.history_wrap
    ul.history_list
    li.history_item
    span.history_desc {
    font-size: 1.4rem;
    line-height: 1.4;
  }
}

/* ----- group ----- */

main.group section.mv {
  background-image: url(../img/_inner/bg_mv_group.png);
}

@media (max-width: 799px) {
  main.group section.mv {
    background-image: url(../img/_inner/bg_mv_group.png);
    background-size: auto 100%;
  }
}
main.group section.group h2.inner_ttl {
  margin-bottom: 100px;
}

main.group section.group div.group_wrap {
  margin: min(6rem, 60px) auto 0;
  display: grid;
  grid-template-columns: min(23rem, 230px) 1fr min(66rem, 660px);
  align-items: center;
  gap: 0;
}

main.group section.group div.group_wrap div.group_item:nth-of-type(1) {
  transform: translateY(20%);
}

main.group section.group div.group_wrap div.group_item:nth-of-type(2) {
  height: 75%;
  transform: translateY(12%);
}

main.group
  section.group
  div.group_wrap
  div.group_item:nth-of-type(2)
  img.pc_obj {
  height: 100%;
}

main.group
  section.group
  div.group_wrap
  div.group_item:nth-of-type(3)
  div.group_item_inner {
  display: flex;
  flex-direction: column;
  gap: min(3rem, 30px);
}

main.group
  section.group
  div.group_wrap
  div.group_item:nth-of-type(3)
  div.group_item_inner_item {
  display: flex;
  flex-direction: column;
  gap: min(1rem, 10px);
}

main.group
  section.group
  div.group_wrap
  div.group_item:nth-of-type(3)
  div.group_item_inner
  div.group_item_inner_item:nth-of-type(3) {
  margin-top: min(1rem, 10px);
}

main.group
  section.group
  div.group_wrap
  div.group_item:nth-of-type(3)
  div.group_item_inner
  div.company_name_wrap {
  display: grid;
  grid-template-columns: min(7rem, 70px) 1fr;
  align-items: end;
  gap: min(1rem, 10px);
}

main.group
  section.group
  div.group_wrap
  div.group_item:nth-of-type(3)
  div.group_item_inner
  div.company_name_wrap
  div.company_name {
  font-size: min(2rem, 20px);
  font-weight: 600;
}

main.group
  section.group
  div.group_wrap
  div.group_item:nth-of-type(3)
  div.group_item_inner
  div.company_info_wrap {
  display: grid;
  grid-template-columns: 1fr min(18rem, 180px) 1fr;
  gap: min(1rem, 10px);
  padding: min(2rem, 20px) min(1.5rem, 15px);
  background-color: #ded0b2;
  /* position: relative; */
}

/* main.group
  section.group
  div.group_wrap
  div.group_item:nth-of-type(3)
  div.group_item_inner
  div.company_info_wrap::before {
  content: "";
  position: absolute;
  width: 60px;
  height: 3px;
  background: #323232;
  top: 50%;
  left: -60px;
} */

main.group
  section.group
  div.group_wrap
  div.group_item:nth-of-type(3)
  div.group_item_inner
  div.company_info_wrap.single {
  display: flex;
  justify-content: center;
  align-items: center;
}

main.group
  section.group
  div.group_wrap
  div.group_item:nth-of-type(3)
  div.group_item_inner
  div.company_info_wrap
  div.company_info_item {
  font-size: min(1.6rem, 16px);
  font-weight: 600;
  letter-spacing: 0em;
}

main.group
  section.group
  div.group_wrap
  div.group_item:nth-of-type(3)
  div.group_item_inner
  div.company_info_wrap.single
  div.company_info_item {
  letter-spacing: 0.1em;
}

@media (max-width: 799px) {
  main.group section.group h2.inner_ttl {
    margin-bottom: 60px;
  }
  main.group section.group div.group_wrap {
    margin: 6rem auto 0;
    display: grid;
    grid-template-columns: 5rem 1fr 23rem;
    align-items: center;
    gap: 0;
  }

  main.group section.group div.group_wrap div.group_item:nth-of-type(1) {
    transform: translateY(100%);
  }

  main.group section.group div.group_wrap div.group_item:nth-of-type(2) {
    transform: translateY(12%);
  }

  main.group
    section.group
    div.group_wrap
    div.group_item:nth-of-type(3)
    div.group_item_inner {
    gap: 2.5em;
  }

  main.group
    section.group
    div.group_wrap
    div.group_item:nth-of-type(3)
    div.group_item_inner
    div.group_item_inner_item:nth-of-type(3) {
    margin-top: 0;
  }

  main.group
    section.group
    div.group_wrap
    div.group_item:nth-of-type(3)
    div.group_item_inner_item {
    gap: 1rem;
  }

  main.group
    section.group
    div.group_wrap
    div.group_item:nth-of-type(3)
    div.group_item_inner
    div.company_name_wrap {
    display: grid;
    grid-template-columns: 4rem 1fr;
    align-items: end;
    gap: 1rem;
  }

  main.group
    section.group
    div.group_wrap
    div.group_item:nth-of-type(3)
    div.group_item_inner
    div.company_name_wrap
    div.company_name {
    font-size: 1.3rem;
    letter-spacing: 0em;
  }

  main.group
    section.group
    div.group_wrap
    div.group_item:nth-of-type(3)
    div.group_item_inner
    div.company_info_wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    padding: 1rem 0.8rem;
  }

  main.group
    section.group
    div.group_wrap
    div.group_item:nth-of-type(3)
    div.group_item_inner
    div.company_info_wrap
    div.company_info_item {
    font-size: 1rem;
  }

  main.group
    section.group
    div.group_wrap
    div.group_item:nth-of-type(3)
    div.group_item_inner
    div.company_info_wrap.single
    div.company_info_item {
    letter-spacing: 0em;
  }
}

/* ----- */

main.group section.group_list h2.inner_ttl {
  font-size: min(2.8rem, 28px);
  font-weight: 600;
  text-align: center;
}

main.group section.group_list div.group_list_box {
  display: flex;
  flex-direction: column;
  gap: min(4rem, 40px);
}

main.group section.group_list div.group_list_box h3.group_ttl {
  margin-top: min(6rem, 60px);
  font-size: min(2.4rem, 24px);
  font-weight: 600;
  padding-bottom: min(1rem, 10px);
  border-bottom: min(0.1rem, 1px) solid #373737;
}

main.group section.group_list div.group_list_box div.group_list_info {
  margin: min(2rem, 20px) auto 0;
  width: fit-content;
  display: grid;
  grid-template-columns: min(18rem, 180px) 1fr;
  align-items: center;
  gap: min(10rem, 100px);
}

main.group
  section.group_list
  div.group_list_box
  div.group_list_info
  div.txt_area {
  display: flex;
  flex-direction: column;
  gap: min(1.5rem, 15px);
}

main.group
  section.group_list
  div.group_list_box
  div.group_list_info
  div.txt_area
  div.txt_item {
  font-size: min(1.8rem, 18px);
  font-weight: 600;
}

main.group section.group_list div.group_list_box div.group_list_wrap {
  margin-top: min(4rem, 40px);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: min(3rem, 30px) min(2rem, 20px);
}

main.group
  section.group_list
  div.group_list_box
  div.group_list_wrap
  div.group_list_item {
  background-color: #fff;
  border-radius: min(1rem, 10px);
  overflow: hidden;
  padding: min(2rem, 20px);
  padding-top: 0;
  box-shadow: min(0.4rem, 4px) min(0.4rem, 4px) min(0.4rem, 4px) 0
    rgba(0, 0, 0, 0.5);
  padding-bottom: 15px;
}

main.group
  section.group_list
  div.group_list_box
  div.group_list_wrap
  div.group_list_item
  div.img_area {
  width: calc(100% + min(4rem, 40px));
  margin-left: max(-2rem, -20px);
  margin-right: max(-2rem, -20px);
}

main.group
  section.group_list
  div.group_list_box
  div.group_list_wrap
  div.group_list_item
  h4.group_ttl {
  margin-top: min(1.5rem, 15px);
  font-size: min(1.8rem, 18px);
  line-height: 1.2;
  font-weight: 600;
  letter-spacing: 0em;
}

main.group
  section.group_list
  div.group_list_box
  div.group_list_wrap
  div.group_list_item
  ul.group_list {
  margin-top: min(1.5rem, 15px);
  display: flex;
  flex-direction: column;
  gap: min(1.5rem, 15px);
}

main.group
  section.group_list
  div.group_list_box
  div.group_list_wrap
  div.group_list_item
  ul.group_list
  li.group_list_item {
  font-size: min(1.6rem, 16px);
  font-weight: 600;
  letter-spacing: 0em;
}

main.group
  section.group_list
  div.group_list_box
  div.group_list_wrap
  div.group_list_item
  ul.group_list
  li.group_list_item:first-of-type {
  font-size: min(1.6rem, 16px);
}

@media (max-width: 799px) {
  main.group section.group_list h2.inner_ttl {
    font-size: 2.2rem;
  }

  main.group section.group_list div.group_list_box {
    gap: 2rem;
  }

  main.group section.group_list div.group_list_box h3.group_ttl {
    margin-top: 4rem;
    font-size: 1.8rem;
    padding-bottom: 1rem;
    border-bottom: 0.1rem solid #373737;
  }

  main.group section.group_list div.group_list_box div.group_list_info {
    margin: 4rem auto 0;
    width: 100%;
    display: grid;
    grid-template-columns: 6rem 1fr;
    gap: 1rem;
  }

  main.group
    section.group_list
    div.group_list_box
    div.group_list_info
    div.txt_area {
    gap: 0.5rem;
  }

  main.group
    section.group_list
    div.group_list_box
    div.group_list_info
    div.txt_area
    div.txt_item {
    font-size: 1.4rem;
    line-height: 1.4;
  }

  main.group section.group_list div.group_list_box div.group_list_wrap {
    margin-top: 4rem;
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 2rem;
  }

  main.group
    section.group_list
    div.group_list_box
    div.group_list_wrap
    div.group_list_item {
    border-radius: 1rem;
    padding: 2rem;
    padding-top: 0;
    padding-bottom: 15px;
    box-shadow: 0.2rem 0.2rem 0.2rem 0 rgba(0, 0, 0, 0.5);
  }

  main.group
    section.group_list
    div.group_list_box
    div.group_list_wrap
    div.group_list_item
    div.img_area {
    width: calc(100% + 4rem);
    margin-left: -2rem;
    margin-right: -2rem;
  }

  main.group
    section.group_list
    div.group_list_box
    div.group_list_wrap
    div.group_list_item
    h4.group_ttl {
    /* margin-top: 2rem; */
    font-size: 1.6rem;
  }

  main.group
    section.group_list
    div.group_list_box
    div.group_list_wrap
    div.group_list_item
    ul.group_list {
    /* margin-top: 2rem; */
    gap: 1rem;
  }

  main.group
    section.group_list
    div.group_list_box
    div.group_list_wrap
    div.group_list_item
    ul.group_list
    li.group_list_item {
    font-size: 1.4rem;
  }

  main.group
    section.group_list
    div.group_list_box
    div.group_list_wrap
    div.group_list_item
    ul.group_list
    li.group_list_item:first-of-type {
    font-size: 1.5rem;
  }
}

/* ----- privacy ----- */
main.privacy h2.inner_ttl {
  margin-bottom: 100px;
}

main.privacy section.privacy div.privacy_wrap {
  margin-top: min(6rem, 60px);
}

main.privacy section.privacy div.privacy_wrap h3.privacy_ttl {
  margin-top: min(3rem, 30px);
  font-size: min(2rem, 20px);
  font-weight: 600;
}

main.privacy section.privacy div.privacy_wrap p.privacy_txt {
  margin-top: min(2rem, 20px);
  font-size: min(1.6rem, 16px);
  line-height: 1.6;
  font-weight: 500;
}

@media (max-width: 799px) {
  main.privacy h2.inner_ttl {
    margin-bottom: 60px;
  }
  main.privacy section.privacy div.privacy_wrap {
    margin-top: 4rem;
  }

  main.privacy section.privacy div.privacy_wrap h3.privacy_ttl {
    margin-top: 4rem;
    font-size: 1.8rem;
    line-height: 1.2;
  }

  main.privacy section.privacy div.privacy_wrap p.privacy_txt {
    margin-top: 2rem;
    font-size: 1.4rem;
  }
}

/* ----- media ----- */
main.media section.mv {
  margin-bottom: 100px;
}

main.media section.mv div.container {
  max-width: min(165rem, 1650px);
  padding: min(16rem, 160px) 20px;
  margin: 0 auto;
  /* background-image: url(../img/_inner/bg_media_mv.png); */
  /* background-size: min(165rem, 1650px); */
  /* background-size: 100% auto;
  background-position: top right;
  background-repeat: no-repeat; */
  position: relative;
}

main.media section.mv .mv_thmubnail_wrap {
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 5px 7px 4px rgba(0, 0, 0, 0.52);
  position: absolute;
  top: 0;
  right: 20px;
  width: 60%;
  max-width: 800px;
}

main.media section.mv div.container .mv_thmubnail {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

main.media section.mv div.mv_content {
  width: min(83rem, 830px);
  display: flex;
  flex-direction: column;
  gap: min(10rem, 100px);
  position: relative;
  z-index: 10;
}

main.media section.mv div.mv_content h2.mv_ttl {
  font-size: min(4rem, 40px);
  font-weight: 600;
  line-height: 1.6;
}

main.media section.mv div.mv_content div.mv_link_area {
  width: 100%;
  padding: min(2.5rem, 25px);
  background-color: rgba(255, 255, 255, 0.8);
  border-radius: min(1rem, 10px);
}

main.media section.mv div.mv_content div.mv_link_area h3.mv_ttl {
  font-size: min(2.4rem, 24px);
  font-weight: 600;
}

main.media section.mv div.mv_content div.mv_link_area p.mv_txt {
  margin-top: min(1rem, 10px);
  font-size: min(2rem, 20px);
  font-weight: 600;
  line-height: 1.6;
}

@media (max-width: 1100px) {
  main.media section.mv {
    margin-bottom: 20px;
  }
  main.media section.mv div.container {
    /* padding: min(10rem, 100px) 20px; */
    padding: min(20rem, 200px) 20px 8rem;
  }
}

@media (max-width: 799px) {
  main.media section.mv {
    background-image: none;
  }
  main.media section.mv div.container {
    /* padding: 4rem 2rem; */
    padding: 18rem 2rem 1rem;
    /* background-image: url(../img/_inner/bg_media_mv_sp.png);
    background-size: 80rem;
    background-position: top center;
    background-repeat: no-repeat; */
  }

  main.media section.mv .mv_thmubnail_wrap {
    /* top: 20%; */
    top: 8%;
    width: 70%;
  }

  /* main.media section.mv div.container .mv_thmubnail {
    display: none;
  } */

  main.media section.mv div.mv_content {
    width: 90%;
    gap: 15rem;
  }

  main.media section.mv div.mv_content h2.mv_ttl {
    font-size: 2.8rem;
    line-height: 1.6;
  }

  main.media section.mv div.mv_content div.mv_link_area {
    padding: 2rem;
    border-radius: 0.5rem;
  }

  main.media section.mv div.mv_content div.mv_link_area h3.mv_ttl {
    font-size: 1.6rem;
    line-height: 1.4;
  }

  main.media section.mv div.mv_content div.mv_link_area p.mv_txt {
    margin-top: 1rem;
    font-size: 1.3rem;
    line-height: 1.6;
  }
}

/* ----- */

main.media section.media_lead ul.media_lead_list {
  width: 100%;
  height: min(54rem, 540px);
  position: relative;
}

main.media section.media_lead ul.media_lead_list ul.slick-dots {
  position: absolute;
  width: fit-content;
  display: flex;
  align-items: center;
  gap: min(1rem, 10px);
  left: 0;
  right: 0;
  margin: auto;
  bottom: 0;
  transform: translateY(-100%);
}

main.media section.media_lead ul.media_lead_list ul.slick-dots li {
  width: min(2rem, 20px);
  height: min(2rem, 20px);
  border-radius: 50%;
  background-color: var(--color-main);
  pointer-events: none;
}

main.media section.media_lead ul.media_lead_list ul.slick-dots li.slick-active {
  background-color: #fff;
}

main.media section.media_lead ul.media_lead_list ul.slick-dots li button {
  position: absolute;
  top: -9999999px;
  opacity: 0;
  pointer-events: none;
}

main.media section.media_lead ul.media_lead_list div.slick-track,
main.media section.media_lead ul.media_lead_list div.slick-list {
  height: 100%;
}

main.media section.media_lead ul.media_lead_list li.media_lead_item {
  width: 100%;
  height: 100%;
}

main.media section.media_lead ul.media_lead_list li.media_lead_item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media (max-width: 1100px) {
  main.media section.media_lead ul.media_lead_list {
    height: min(34rem, 340px);
  }
}
@media (max-width: 799px) {
  main.media section.media_lead ul.media_lead_list {
    height: 20rem;
  }

  main.media section.media_lead ul.media_lead_list ul.slick-dots {
    gap: 0.4rem;
    transform: translateY(-100%);
  }

  main.media section.media_lead ul.media_lead_list ul.slick-dots li {
    width: 1rem;
    height: 1rem;
  }
}

/* ----- company ----- */

main.media h2.media_ttl {
  width: fit-content;
  margin: 0 auto;
  font-size: min(2.8rem, 28px);
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: min(1rem, 10px);
}

main.media h2.media_ttl::before {
  content: "";
  background-image: url(../img/_inner/icon_media_ttl.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  width: min(3rem, 30px);
  height: min(3rem, 30px);
}

main.media div.company_btn_area {
  max-width: 1060px;
  margin: 0 auto;
  padding: 0 20px;
}

@media (max-width: 799px) {
  main.media h2.media_ttl {
    width: fit-content;
    margin: 0 auto;
    font-size: 2rem;
    gap: 0.5rem;
  }

  main.media h2.media_ttl::before {
    width: 2rem;
    height: 2rem;
  }

  main.media div.company_btn_area {
    padding: 0 2rem;
  }
}

/* ----- */

main.media section.company div.container {
  max-width: 100%;
  padding-left: 0;
  padding-right: 0;
}

main.media section.company div.company_wrap {
  margin-top: min(6rem, 60px);
}

main.media section.company div.company_wrap {
  position: relative;
}

main.media section.company div.company_wrap a.company_item {
  display: block;
  position: relative;
  margin: 0 min(1rem, 10px) 10px;
}

main.media section.company div.company_wrap a.company_item div.img_area {
  width: 90%;
  margin-left: auto;
  border-radius: min(1rem, 10px);
  overflow: hidden;
  box-shadow: 5px 7px 4px rgba(0, 0, 0, 0.52);
}

main.media section.company div.company_wrap a.company_item div.txt_area {
  position: absolute;
  width: 70%;
  left: 0;
  bottom: min(3.5rem, 35px);
  padding: min(2.5rem, 25px) min(1rem, 10px);
  background-color: rgba(255, 255, 255, 0.8);
  border-radius: min(1rem, 10px);
}

main.media
  section.company
  div.company_wrap
  a.company_item
  div.txt_area
  h3.company_item_ttl {
  font-size: min(2.4rem, 24px);
  font-weight: 600;
  line-height: 1.4;
}

main.media
  section.company
  div.company_wrap
  a.company_item
  div.txt_area
  p.company_item_txt {
  margin-top: min(1rem, 10px);
  font-size: min(1.6rem, 16px);
  line-height: 1.6;
  font-weight: 600;
}

main.media section.company div.company_wrap a.company_item div.common_link {
  display: block;
  margin-top: min(3rem, 30px);
  margin-left: auto;
  width: min(18rem, 180px);
  padding-bottom: min(1rem, 10px);
  font-size: min(1.6rem, 16px);
  font-weight: 700;
  position: relative;
}

main.media
  section.company
  div.company_wrap
  a.company_item
  div.common_link::after {
  content: "";
  display: block;
  position: absolute;
  background-image: url(../img/_top/icon_arrow_link.png);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  width: 100%;
  height: min(2.4rem, 24px);
  left: 0;
  bottom: 0;
  transition: transform 0.4s;
}

main.media
  section.company
  div.company_wrap
  a.company_item:hover
  div.common_link::after {
  transform: translateX(min(1rem, 10px));
}

@media (max-width: 799px) {
  main.media section.company div.company_wrap {
    margin-top: 4rem;
  }

  main.media section.company div.company_wrap a.company_item {
    margin: 0 1rem;
  }

  main.media section.company div.company_wrap a.company_item div.img_area {
    width: 90%;
    margin-left: auto;
  }

  main.media section.company div.company_wrap a.company_item div.txt_area {
    position: absolute;
    width: 90%;
    left: 0;
    bottom: 1rem;
    padding: 1rem;
    border-radius: 0.5rem;
  }

  main.media
    section.company
    div.company_wrap
    a.company_item
    div.txt_area
    h3.company_item_ttl {
    font-size: 1.6rem;
  }

  main.media
    section.company
    div.company_wrap
    a.company_item
    div.txt_area
    p.company_item_txt {
    margin-top: 1rem;
    font-size: 1.3rem;
  }

  main.media section.company div.company_wrap a.company_item div.common_link {
    margin-top: 4rem;
    margin-left: auto;
    width: 12rem;
    padding-bottom: 1rem;
    font-size: 1.4rem;
  }

  main.media
    section.company
    div.company_wrap
    a.company_item
    div.common_link::after {
    height: 1.5rem;
  }
}

/* ----- */

main.media section.work div.work_wrap {
  margin-top: min(6rem, 60px);
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: min(2rem, 20px) min(1.5rem, 15px);
}

main.media section.work div.work_wrap a.work_item {
  display: grid;
  grid-template-columns: min(21rem, 210px) 1fr;
  gap: 0;
  background-color: rgba(255, 255, 255, 0.8);
  border-radius: min(2rem, 20px);
  overflow: hidden;
}

main.media section.work div.work_wrap a.work_item div.img_area {
  width: 100%;
  height: 100%;
}

main.media section.work div.work_wrap a.work_item div.img_area img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

main.media section.work div.work_wrap a.work_item div.txt_area {
  padding: min(1rem, 10px);
}

main.media
  section.work
  div.work_wrap
  a.work_item
  div.txt_area
  h3.work_item_ttl {
  font-size: min(2rem, 20px);
  font-weight: 600;
  line-height: 1.4;
}

main.media section.work div.work_wrap a.work_item div.txt_area p.work_item_txt {
  margin-top: min(1rem, 10px);
  font-size: min(1.6rem, 16px);
  line-height: 1.6;
  font-weight: 600;
  text-align: left;
}

main.media section.work div.work_wrap a.work_item div.common_link {
  display: block;
  margin-top: min(3rem, 30px);
  margin-left: auto;
  width: min(18rem, 180px);
  padding-bottom: min(1rem, 10px);
  font-size: min(1.6rem, 16px);
  font-weight: 700;
  position: relative;
}

main.media section.work div.work_wrap a.work_item div.common_link::after {
  content: "";
  display: block;
  position: absolute;
  background-image: url(../img/_top/icon_arrow_link.png);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  width: 100%;
  height: min(2.4rem, 24px);
  left: 0;
  bottom: 0;
  transition: transform 0.4s;
}

@media (hover: hover) {
  main.media
    section.work
    div.work_wrap
    a.work_item:hover
    div.common_link::after {
    transform: translateX(min(1rem, 10px));
  }
}

@media (max-width: 799px) {
  main.media section.work div.work_wrap {
    margin-top: 4rem;
    grid-template-columns: repeat(1, 1fr);
    gap: 2rem;
  }

  main.media section.work div.work_wrap a.work_item {
    grid-template-columns: 10rem 1fr;
    border-radius: 1rem;
  }

  main.media section.work div.work_wrap a.work_item div.txt_area {
    padding: 1rem;
  }

  main.media
    section.work
    div.work_wrap
    a.work_item
    div.txt_area
    h3.work_item_ttl {
    font-size: 1.8rem;
  }

  main.media
    section.work
    div.work_wrap
    a.work_item
    div.txt_area
    p.work_item_txt {
    margin-top: 1rem;
    font-size: 1.3rem;
  }

  main.media section.work div.work_wrap a.work_item div.common_link {
    margin-top: 4rem;
    margin-left: auto;
    width: 12rem;
    padding-bottom: 1rem;
    font-size: 1.4rem;
  }

  main.media section.work div.work_wrap a.work_item div.common_link::after {
    height: 1.5rem;
  }
}

/* ----- */
main.media section.employee {
  overflow: hidden;
}

main.media section.employee div.container {
  max-width: 100%;
  padding-left: 0;
  padding-right: 0;
}

main.media section.employee div.employee_wrap {
  margin-top: min(6rem, 60px);
  margin-left: auto;
  width: calc((100% - (min(106rem, 1060px))) / 2 + min(106rem, 1060px));
}

main.media section.employee div.employee_wrap a.employee_item {
  position: relative;
  margin: 0 min(1rem, 10px) 10px;
}

main.media section.employee div.employee_wrap a.employee_item div.img_area {
  width: 100%;
  height: 100%;
  border-radius: min(1rem, 10px);
  overflow: hidden;
  box-shadow: 5px 7px 4px rgba(0, 0, 0, 0.52);
}

main.media section.employee div.employee_wrap a.employee_item div.img_area img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

main.media
  section.employee
  div.employee_wrap
  a.employee_item
  h3.employee_item_ttl {
  position: absolute;
  font-size: min(2rem, 20px);
  font-weight: 600;
  line-height: 1.2;
  writing-mode: vertical-rl;
  text-orientation: mixed;
  width: fit-content;
  height: 90%;
  top: 0;
  right: 0;
  transform: translate(max(-2rem, -20px), min(2rem, 20px));
}

main.media
  section.employee
  div.employee_wrap
  a.employee_item
  p.employee_item_date {
  position: absolute;
  font-size: min(2rem, 20px);
  font-weight: 600;
  left: 0;
  bottom: 0;
  transform: translate(min(2rem, 20px), max(-2rem, -20px));
  background: var(--color-main);
  color: #fff;
  padding: 5px 10px;
  border-radius: 5px;
}

@media (max-width: 799px) {
  main.media section.employee div.employee_wrap {
    margin-top: 4rem;
    margin-left: 0;
    width: 100%;
  }

  main.media section.employee div.employee_wrap a.employee_item {
    margin: 0 0.4rem;
  }

  main.media
    section.employee
    div.employee_wrap
    a.employee_item
    h3.employee_item_ttl {
    font-size: 2rem;
    transform: translate(-1rem, 1rem);
  }

  main.media
    section.employee
    div.employee_wrap
    a.employee_item
    p.employee_item_date {
    font-size: 1.6rem;
    transform: translate(1rem, -1rem);
  }
}

/* ----- recruit ----- */

main.media section.recruit {
  background-image: url(../img/_inner/bg_media_recruit.jpg);
  margin-bottom: 0;
}

/* main.media section.faq {
  margin-bottom: 0;
} */

/* ----- faq ----- */

main.faq h2.inner_ttl {
  margin-bottom: 100px;
}

section.faq {
  background-image: url(../img/_inner/bg_faq.jpg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  /* margin-bottom: min(8rem, 80px); */
  position: relative;
}

section.faq::before {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0);
  transition: all 0.8s;
}

@media (hover: hover) {
  section.faq:hover::before {
    background-color: rgba(0, 0, 0, 0.5);
  }
}

section.faq div.container {
  display: flex;
  justify-content: center;
  align-items: center;
}

section.faq div.faq_link {
  width: min(23.5rem, 235px);
  padding-bottom: min(1.5rem, 15px);
  position: relative;
  font-size: min(2.6rem, 26px);
  font-weight: 600;
  color: #fff;
  text-align: center;
}

section.faq div.faq_link::after {
  content: "";
  display: block;
  position: absolute;
  background-image: url(../img/_inner/icon_arrow_faq_white.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  width: 100%;
  height: min(2.4rem, 24px);
  left: 0;
  bottom: 0;
}

@media (max-width: 799px) {
  main.faq h2.inner_ttl {
    margin-bottom: 60px;
  }
  section.faq {
    background-image: url(../img/_inner/bg_faq.jpg);
    /* margin-bottom: 4rem; */
  }

  section.faq div.faq_link {
    width: 15rem;
    padding-bottom: 1rem;
    font-size: 2rem;
  }

  section.faq div.faq_link::after {
    width: 100%;
    height: 1.5rem;
  }
}

/* ----- media_list ----- */
/* section.media_list h2.inner_ttl {
  font-size: min(2.8rem, 28px);
} */

section.media_list div.media_list_wrap {
  margin-top: min(6rem, 60px);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: min(2.5rem, 25px) min(2rem, 20px);
}

section.media_list div.media_list_wrap a.media_list_item {
  box-shadow: min(0.4rem, 4px) min(0.4rem, 4px) min(0.4rem, 4px) 0
    rgba(0, 0, 0, 0.5);
  border-radius: min(1rem, 10px);
  overflow: hidden;
  background-color: #fff;
  /* padding: min(2rem, 20px); */
  /* padding-top: 0; */
  padding-bottom: min(2.5rem, 25px);
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 4;
  gap: 0;
}

section.media_list div.media_list_wrap a.media_list_item div.img_area {
  /* width: calc(100% + min(4rem, 40px));
  margin-left: max(-2rem, -20px);
  margin-right: max(-2rem, -20px); */
  /* height: min(31rem, 310px); */
  aspect-ratio: 408 / 293;
}

section.media_list div.media_list_wrap a.media_list_item div.img_area img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

section.media_list
  div.media_list_wrap
  a.media_list_item
  h3.media_list_item_ttl {
  margin: min(1.5rem, 15px) min(2.5rem, 25px) 0;
  font-size: min(1.8rem, 18px);
  font-weight: 600;
  line-height: 1.4;
}

section.media_list
  div.media_list_wrap
  a.media_list_item
  p.media_list_item_date {
  margin: min(1rem, 10px) min(2.5rem, 25px);
  font-size: min(1.6rem, 16px);
  font-weight: 600;
}

section.media_list div.media_list_wrap a.media_list_item div.category_area {
  margin: min(1.5rem, 15px) min(2.5rem, 25px) 0;
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  align-items: flex-start;
}

section.media_list
  div.media_list_wrap
  a.media_list_item
  div.category_area
  div.category_item {
  padding: 5px 12px;
  background-color: #343434;
  font-size: min(1.4rem, 14px);
  color: #fff;
  font-weight: 600;
  border-radius: 99px;
}

section.media_list div.media_list_wrap a.media_list_item div.tag_area {
  margin: min(1.5rem, 15px) min(2.5rem, 25px) 0;
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  align-items: flex-start;
}

section.media_list
  div.media_list_wrap
  a.media_list_item
  div.tag_area
  div.tag_item {
  /* width: fit-content; */
  padding: 5px 12px;
  /* height: min(3rem, 30px); */
  background-color: #959595;
  font-size: min(1.4rem, 14px);
  color: #fff;
  font-weight: 600;
  border-radius: 99px;
}

section.media_list .media_categorytab {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  margin: min(6rem, 60px) auto 0;
  gap: 5px;
}

section.media_list .media_categorytab a {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--color-main);
  color: #fff;
  padding: 20px 0;
  border: solid 2px var(--color-main);
  font-size: min(1.8rem, 18px);
  font-weight: 500;
}

section.media_list .media_categorytab a.current {
  background: #fff;
  color: var(--color-main);
}

@media (max-width: 799px) {
  /* section.media_list h2.inner_ttl {
    font-size: 2.2rem;
  } */
  section.media_list div.media_list_wrap {
    margin-top: 3rem;
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 2rem;
  }

  section.media_list div.media_list_wrap a.media_list_item {
    box-shadow: 0.4rem 0.4rem 0.4rem 0 rgba(0, 0, 0, 0.5);
    border-radius: 1rem;
    /* padding: 2rem; */
    /* padding-top: 0; */
    /* padding-bottom: 2.5rem; */
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 4;
    gap: 0;
  }

  /* section.media_list div.media_list_wrap a.media_list_item div.img_area {
    width: calc(100% + 4rem);
    margin-left: -2rem;
    margin-right: -2rem;
    height: 25rem;
  } */

  section.media_list
    div.media_list_wrap
    a.media_list_item
    h3.media_list_item_ttl {
    margin-top: 1rem;
    font-size: 1.6rem;
    margin: min(1.5rem, 15px) min(1.5rem, 15px) 0;
  }

  section.media_list
    div.media_list_wrap
    a.media_list_item
    p.media_list_item_date {
    font-size: 1.4rem;
    margin: min(1rem, 10px) min(1.5rem, 15px);
  }

  section.media_list div.media_list_wrap a.media_list_item div.tag_area {
    margin: min(1.5rem, 15px) min(1.5rem, 15px) 0;
    gap: 0.4rem;
  }

  /* section.media_list
    div.media_list_wrap
    a.media_list_item
    div.tag_area
    div.tag_item {
    padding: 0.4rem 0.8rem;
    height: auto;
    font-size: 1.4rem;
  } */
  section.media_list .media_categorytab {
    grid-template-columns: 1fr 1fr;
    /* margin: min(3rem, 30px) auto 0; */
  }
  section.media_list .media_categorytab a {
    padding: 10px 0;
    font-size: 1.6rem;
  }
}

/* ----- pagination ----- */

div.pagination {
  margin: min(6rem, 60px) auto 0;
  width: fit-content;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: min(2rem, 20px);
}

div.pagination a.pagination_item {
  width: fit-content;
  height: fit-content;
  font-size: min(2rem, 20px);
  font-weight: 600;
}

div.pagination a.pagination_item.active {
  color: #989898;
}

@media (max-width: 799px) {
  div.pagination {
    margin: 4rem auto 0;
    gap: 1rem;
  }

  div.pagination a.pagination_item {
    font-size: 2rem;
  }
}

/* ----- */

main.media_list section.recruit {
  background-image: url(../img/_inner/bg_media_recruit.jpg);
}

/* ----- article_entry ----- */

div.article_entry {
  /* margin-top: min(12rem, 120px); */
}

div.article_entry h1 {
  font-size: min(2.6rem, 26px);
  font-weight: 600;
  line-height: 1.4;
}
div.article_entry img {
  margin-top: min(4rem, 40px);
  width: 100%;
}

div.article_thumbnail {
  max-width: 800px;
  margin: 30px auto;
  aspect-ratio: 408/293;
  overflow: hidden;
}

div.article_thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  margin: 0;
}

div.article_entry h2 {
  margin-top: min(3rem, 30px);
  font-size: min(2.6rem, 26px);
  font-weight: 600;
  line-height: 1.4;
}

div.article_entry h3 {
  margin-top: min(2rem, 20px);
  font-size: min(2.4rem, 24px);
  font-weight: 600;
  line-height: 1.4;
}

div.article_entry p {
  margin-top: min(2rem, 20px);
  font-size: min(1.6rem, 16px);
  font-weight: 600;
  line-height: 1.8;
}

@media (max-width: 799px) {
  /* div.article_entry {
    margin-top: 6rem;
  } */

  div.article_entry h1 {
    font-size: 2.2rem;
  }

  div.article_entry img {
    margin-top: 2rem;
  }
  div.article_thumbnail img {
    margin: 0;
  }

  div.article_entry h2 {
    /* margin-top: 4rem; */
    font-size: 2rem;
  }

  div.article_entry h3 {
    margin-top: 2rem;
    font-size: 1.6rem;
  }

  div.article_entry p {
    margin-top: 1.2rem;
    font-size: 1.4rem;
  }
}

/* ----- popular_recruit ----- */

section.popular_recruit div.container {
  max-width: 100%;
  padding-left: 0;
  padding-right: 0;
  padding-bottom: 0;
}

section.popular_recruit div.container h2.inner_ttl {
  font-size: min(2.8rem, 28px);
}

section.popular_recruit div.recruit_list {
  margin-top: min(4rem, 40px);
  /* padding: min(12rem, 120px) 0; */
  background-image: url(../img/_inner/bg_media_detail_popular.jpg);
  display: flex;
  justify-content: center;
  align-items: center;
}

section.popular_recruit div.recruit_list a.recruit_list_link {
  width: 100%;
  /* width: min(23.5rem, 235px); */
  padding: min(8rem, 80px) 0;
  /* padding-bottom: min(1.5rem, 15px); */
  /* position: relative; */
  font-size: min(2.6rem, 26px);
  font-weight: 600;
  color: #fff;
  text-align: center;
}

section.popular_recruit div.recruit_list a.recruit_list_link span {
  position: relative;
  display: inline-block;
  width: min(23.5rem, 235px);
}

section.popular_recruit div.recruit_list a.recruit_list_link span::after {
  content: "";
  display: block;
  position: absolute;
  background-image: url(../img/_inner/icon_arrow_faq_white.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  width: 100%;
  height: min(2.4rem, 24px);
  left: 0;
  bottom: -15px;
}

@media (max-width: 799px) {
  section.popular_recruit div.container h2.inner_ttl {
    font-size: 2.2rem;
  }
  section.popular_recruit div.recruit_list {
    background-position: center left;
    margin-top: min(2rem, 20px);
  }

  section.popular_recruit div.recruit_list a.recruit_list_link {
    /* width: 15rem;
    padding-bottom: 1rem; */
    padding: min(8rem, 120px) 0;
    font-size: 2rem;
  }

  section.popular_recruit div.recruit_list a.recruit_list_link::after {
    width: 100%;
    height: 1.5rem;
  }
}

/* ----- inner_btn ----- */

main.inner a.inner_btn {
  margin: min(8rem, 80px) auto 0;
  width: min(40rem, 400px);
  height: min(8rem, 80px);
  background-color: var(--color-main);
  font-size: min(2rem, 20px);
  font-weight: 600;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
}

@media (max-width: 799px) {
  main.inner a.inner_btn {
    margin-top: 4rem;
    width: 20rem;
    height: 6rem;
    font-size: 1.6rem;
  }
}

/* ----- recruiting_list ----- */

main.recruiting_list section.recruiting_list div.search_area {
  margin-top: min(12rem, 120px);
  display: grid;
  grid-template-columns: 1fr 1fr 1fr min(11.5rem, 115px);
  align-items: center;
  gap: min(1.3rem, 13px);
}

main.recruiting_list section.recruiting_list div.search_area div.select_wrap {
  position: relative;
}

main.recruiting_list
  section.recruiting_list
  div.search_area
  div.select_wrap::after {
  content: "";
  display: block;
  position: absolute;
  background-image: url(../img/_inner/arrow.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  width: min(2rem, 20px);
  height: min(1.4rem, 14px);
  top: 0;
  bottom: 0;
  margin: auto;
  right: 0;
  transform: translateX(-50%) rotate(180deg);
}

main.recruiting_list section.recruiting_list div.search_area select {
  width: 100%;
  height: min(5rem, 50px);
  padding: 0 min(1rem, 10px);
  font-size: min(2rem, 20px);
  color: #989898;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

main.recruiting_list section.recruiting_list div.search_area select:focus {
  outline: none;
}

main.recruiting_list section.recruiting_list div.search_area button.search_btn {
  width: 100%;
  height: min(5rem, 50px);
  background-color: var(--color-main);
  font-size: min(2.8rem, 28px);
  font-weight: 600;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
}

@media (max-width: 799px) {
  main.recruiting_list section.recruiting_list div.search_area {
    margin: 6rem auto 0;
    width: 100%;
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 0.4rem;
  }

  main.recruiting_list
    section.recruiting_list
    div.search_area
    div.select_wrap::after {
    width: 1.5rem;
    height: 1rem;
    transform: translateX(-50%) rotate(180deg);
  }

  main.recruiting_list section.recruiting_list div.search_area select {
    height: 4rem;
    padding: 0.5rem;
    font-size: 1.4rem;
  }

  main.recruiting_list
    section.recruiting_list
    div.search_area
    button.search_btn {
    height: 4rem;
    font-size: 1.4rem;
    display: grid;
  }
}

/* ----- */

main.recruiting_list section.recruiting_list div.tag_area {
  margin-top: min(4rem, 40px);
  display: flex;
  flex-wrap: wrap;
  gap: min(0.5rem, 5px) min(2rem, 20px);
}

main.recruiting_list section.recruiting_list div.tag_area a.tag_item {
  padding: min(0.5rem, 5px) min(2.4rem, 24px);
  background-color: #959595;
  font-size: min(2.8rem, 28px);
  font-weight: 600;
  color: #fff;
  border-radius: 99px;
}

@media (max-width: 799px) {
  main.recruiting_list section.recruiting_list div.tag_area {
    margin-top: 2rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem 0.8rem;
  }

  main.recruiting_list section.recruiting_list div.tag_area a.tag_item {
    padding: 0.4rem 1.2rem;
    font-size: 1.6rem;
  }
}

/* ----- */

section.recruiting_list div.recruiting_list_wrap {
  margin-top: min(8rem, 80px);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: min(2.5rem, 25px) min(2rem, 20px);
}

section.recruiting_list div.recruiting_list_wrap a.recruiting_list_item {
  box-shadow: min(0.4rem, 4px) min(0.4rem, 4px) min(0.4rem, 4px) 0
    rgba(0, 0, 0, 0.5);
  border-radius: min(1rem, 10px) min(1rem, 10px) min(2rem, 20px) min(2rem, 20px);
  overflow: hidden;
  background-color: #fff;
  padding: min(2rem, 20px);
  padding-top: 0;
  padding-bottom: min(2.5rem, 25px);
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 5;
  gap: 0;
}

section.recruiting_list
  div.recruiting_list_wrap
  a.recruiting_list_item
  div.img_area {
  width: calc(100% + min(4rem, 40px));
  margin-left: max(-2rem, -20px);
  margin-right: max(-2rem, -20px);
  height: min(31rem, 310px);
}

section.recruiting_list
  div.recruiting_list_wrap
  a.recruiting_list_item
  div.img_area
  img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

section.recruiting_list
  div.recruiting_list_wrap
  a.recruiting_list_item
  div.category {
  margin-top: min(2rem, 20px);
  font-size: min(2.8rem, 28px);
  font-weight: 600;
}

section.recruiting_list
  div.recruiting_list_wrap
  a.recruiting_list_item
  h3.recruiting_list_ttl {
  margin-top: min(1rem, 10px);
  font-size: min(2rem, 20px);
  font-weight: 600;
  line-height: 1.6;
}

section.recruiting_list
  div.recruiting_list_wrap
  a.recruiting_list_item
  div.pay {
  margin-top: min(1rem, 10px);
  font-size: min(2rem, 20px);
  font-weight: 600;
}

section.recruiting_list
  div.recruiting_list_wrap
  a.recruiting_list_item
  div.common_link {
  margin-top: min(3rem, 30px);
  margin-left: auto;
  width: min(18rem, 180px);
  padding-bottom: min(1rem, 10px);
  font-size: min(1.6rem, 16px);
  font-weight: 700;
  position: relative;
}

section.recruiting_list
  div.recruiting_list_wrap
  a.recruiting_list_item
  div.common_link::after {
  content: "";
  display: block;
  position: absolute;
  background-image: url(../img/_top/icon_arrow_link.png);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  width: 100%;
  height: min(2.4rem, 24px);
  left: 0;
  bottom: 0;
  transition: transform 0.4s;
}

@media (hover: hover) {
  section.recruiting_list
    div.recruiting_list_wrap
    a.recruiting_list_item:hover
    div.common_link::after {
    opacity: 1;
    transform: translateX(min(1rem, 10px));
  }
}

@media (max-width: 799px) {
  section.recruiting_list div.recruiting_list_wrap {
    margin-top: 4rem;
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 2rem;
  }

  section.recruiting_list div.recruiting_list_wrap a.recruiting_list_item {
    box-shadow: 0.4rem 0.4rem 0.4rem 0 rgba(0, 0, 0, 0.5);
    border-radius: 1rem;
    padding: 2rem;
    padding-top: 0;
    padding-bottom: 2.5rem;
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 5;
    gap: 0;
  }

  section.recruiting_list
    div.recruiting_list_wrap
    a.recruiting_list_item
    div.img_area {
    width: calc(100% + 4rem);
    margin-left: -2rem;
    margin-right: -2rem;
    height: 25rem;
  }

  section.recruiting_list
    div.recruiting_list_wrap
    a.recruiting_list_item
    div.category {
    margin-top: 2rem;
    font-size: 2rem;
  }

  section.recruiting_list
    div.recruiting_list_wrap
    a.recruiting_list_item
    h3.recruiting_list_ttl {
    margin-top: 1rem;
    font-size: 1.6rem;
  }

  section.recruiting_list
    div.recruiting_list_wrap
    a.recruiting_list_item
    div.pay {
    margin-top: 1rem;
    font-size: 1.6rem;
  }

  section.recruiting_list
    div.recruiting_list_wrap
    a.recruiting_list_item
    div.common_link {
    margin-top: 2rem;
    width: 14rem;
    font-size: 1.6rem;
    padding-bottom: 1rem;
  }

  section.recruiting_list
    div.recruiting_list_wrap
    a.recruiting_list_item
    div.common_link::after {
    width: 100%;
    height: 1.6rem;
  }
}

/* ----- */

main.recruiting_list section.recruit {
  background-image: url(../img/_inner/bg_media_list_recruit.jpg);
}

/* ----- recruiting_detail ----- */

main.recruiting_detail section.recruiting_detail div.recruiting_box {
}

main.recruiting_detail
  section.recruiting_detail
  div.recruiting_box
  h1.recruiting_ttl {
  font-size: min(3rem, 30px);
  font-weight: 600;
  line-height: 1.4;
}

main.recruiting_detail
  section.recruiting_detail
  div.recruiting_box
  p.recruiting_lead {
  margin-top: min(2rem, 20px);
  font-size: min(2rem, 20px);
  line-height: 1.6;
}

main.recruiting_detail
  section.recruiting_detail
  div.recruiting_box
  div.recruiting_tag_area {
  margin-top: min(4rem, 40px);
  display: flex;
  flex-wrap: wrap;
  gap: min(1rem, 10px) min(1.5rem, 15px);
}

main.recruiting_detail
  section.recruiting_detail
  div.recruiting_box
  div.recruiting_tag_area
  div.recruiting_tag_item {
  background-color: #959595;
  color: #fff;
  padding: min(1rem, 10px) min(2.5rem, 25px);
  border-radius: 99px;
  font-size: min(2rem, 20px);
  font-weight: 600;
}

@media (max-width: 799px) {
  main.recruiting_detail section.recruiting_detail div.recruiting_box {
    /* margin-top: 6rem; */
  }

  main.recruiting_detail
    section.recruiting_detail
    div.recruiting_box
    h1.recruiting_ttl {
    font-size: 2.4rem;
  }

  main.recruiting_detail
    section.recruiting_detail
    div.recruiting_box
    p.recruiting_lead {
    margin-top: 2rem;
    font-size: 1.6rem;
  }

  main.recruiting_detail
    section.recruiting_detail
    div.recruiting_box
    div.recruiting_tag_area {
    margin-top: 4rem;
    gap: 0.5rem 1rem;
  }

  main.recruiting_detail
    section.recruiting_detail
    div.recruiting_box
    div.recruiting_tag_area
    div.recruiting_tag_item {
    padding: 0.4rem 2rem;
    font-size: 1.4rem;
  }
}

/* ----- */

main.recruiting_detail
  section.recruiting_detail
  div.recruiting_box
  a.recruiting_main_wrap {
  margin-top: min(8rem, 80px);
  display: grid;
  grid-template-columns: min(50%, 500px) 1fr;
  align-items: start;
  gap: min(4rem, 40px);
}

main.recruiting_detail
  section.recruiting_detail
  div.recruiting_box
  a.recruiting_main_wrap
  div.txt_area
  ul.recruiting_info {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: min(3rem, 30px);
}

main.recruiting_detail
  section.recruiting_detail
  div.recruiting_box
  a.recruiting_main_wrap
  div.txt_area
  ul.recruiting_info
  li.recruiting_info_item {
  font-size: min(2rem, 20px);
  font-weight: 600;
  line-height: 1.4;
}

main.recruiting_detail button.recruiting_apply_btn {
  margin: min(4rem, 40px) auto 0;
  max-width: min(45rem, 450px);
  width: 100%;
  height: min(7.6rem, 76px);
  background-color: var(--color-main);
  color: #fff;
  font-size: min(2rem, 20px);
  font-weight: 600;
  line-height: 1.4;
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: opacity 0.4s;
}

@media (hover: hover) {
  main.recruiting_detail button.recruiting_apply_btn:hover {
    opacity: 0.8;
  }
}

@media (max-width: 799px) {
  main.recruiting_detail
    section.recruiting_detail
    div.recruiting_box
    a.recruiting_main_wrap {
    margin-top: 4rem;
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  main.recruiting_detail
    section.recruiting_detail
    div.recruiting_box
    a.recruiting_main_wrap
    div.txt_area
    ul.recruiting_info {
    gap: 2rem;
  }

  main.recruiting_detail
    section.recruiting_detail
    div.recruiting_box
    a.recruiting_main_wrap
    div.txt_area
    ul.recruiting_info
    li.recruiting_info_item {
    font-size: 2rem;
  }

  main.recruiting_detail button.recruiting_apply_btn {
    margin: 2rem auto 0;
    max-width: 25rem;
    width: 100%;
    height: 5rem;
    font-size: 1.5rem;
  }
}

/* ----- */

main.recruiting_detail
  section.recruiting_detail
  div.recruiting_box
  div.point_wrap {
  margin-top: min(8rem, 80px);
  padding: min(7rem, 70px) min(10rem, 100px);
  background-color: #ded0b2;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: min(4rem, 40px);
}

main.recruiting_detail
  section.recruiting_detail
  div.recruiting_box
  div.point_wrap
  h3.point_ttl {
  width: fit-content;
  font-size: min(2.4rem, 24px);
  font-weight: 600;
  flex-shrink: 0;
}

main.recruiting_detail
  section.recruiting_detail
  div.recruiting_box
  div.point_wrap
  ul.point_list {
  display: flex;
  flex-direction: column;
  gap: min(1rem, 10px);
}

main.recruiting_detail
  section.recruiting_detail
  div.recruiting_box
  div.point_wrap
  ul.point_list
  li.point_item {
  font-size: min(1.6rem, 16px);
  font-weight: 600;
  line-height: 1.4;
  display: flex;
  align-items: start;
  gap: min(0.4rem, 4px);
}

main.recruiting_detail
  section.recruiting_detail
  div.recruiting_box
  div.point_wrap
  ul.point_list
  li.point_item::before {
  content: "●";
  display: block;
  font-size: min(2rem, 20px);
  font-weight: 600;
}

@media (max-width: 799px) {
  main.recruiting_detail
    section.recruiting_detail
    div.recruiting_box
    div.point_wrap {
    margin-top: 4rem;
    padding: 4rem 2rem;
    flex-direction: column;
    gap: 2rem;
  }

  main.recruiting_detail
    section.recruiting_detail
    div.recruiting_box
    div.point_wrap
    h3.point_ttl {
    width: fit-content;
    font-size: 2rem;
  }

  main.recruiting_detail
    section.recruiting_detail
    div.recruiting_box
    div.point_wrap
    ul.point_list {
    gap: 1rem;
  }

  main.recruiting_detail
    section.recruiting_detail
    div.recruiting_box
    div.point_wrap
    ul.point_list
    li.point_item {
    font-size: 1.4rem;
    gap: 0.4rem;
  }

  main.recruiting_detail
    section.recruiting_detail
    div.recruiting_box
    div.point_wrap
    ul.point_list
    li.point_item::before {
    font-size: 1.4rem;
  }
}

/* ----- */

main.recruiting_detail
  section.recruiting_detail
  div.recruiting_box
  div.recruiting_info_detail_wrap {
  margin-top: min(8rem, 80px);
  display: grid;
  grid-template-columns: 1fr min(30rem, 300px);
  gap: min(4rem, 40px);
}

main.recruiting_detail
  section.recruiting_detail
  div.recruiting_box
  div.recruiting_info_detail_wrap
  div.recruiting_info_detail_area
  h3.recruiting_ttl {
  margin-top: min(8rem, 80px);
  font-size: min(2.4rem, 24px);
  padding-bottom: min(1rem, 10px);
  border-bottom: min(0.1rem, 1px) solid #000;
  line-height: 1.4;
}

main.recruiting_detail
  section.recruiting_detail
  div.recruiting_box
  div.recruiting_info_detail_wrap
  div.recruiting_info_detail_area
  h4.recruiting_ttl {
  margin-top: min(4rem, 40px);
  font-size: min(2.4rem, 24px);
  font-weight: 600;
  line-height: 1.4;
}

main.recruiting_detail
  section.recruiting_detail
  div.recruiting_box
  div.recruiting_info_detail_wrap
  div.recruiting_info_detail_area
  p.recruiting_txt {
  margin-top: min(4rem, 40px);
  font-size: min(1.6rem, 16px);
  font-weight: 600;
  line-height: 1.8;
}

main.recruiting_detail
  section.recruiting_detail
  div.recruiting_box
  div.recruiting_info_detail_wrap
  div.recruiting_info_detail_area
  div.recruiting_info_highlight {
  margin-top: min(4rem, 40px);
  padding: min(4rem, 40px) min(2rem, 20px);
  background-color: #ded0b2;
}

@media (max-width: 799px) {
  html:has(main.recruiting_detail) {
    scroll-padding-top: 19.822rem;
  }

  main.recruiting_detail
    section.recruiting_detail
    div.recruiting_box
    div.recruiting_info_detail_wrap {
    /* margin-top: 4rem; */
    margin-top: -2rem;
    grid-template-columns: 1fr;
    gap: 4rem;
  }

  main.recruiting_detail
    section.recruiting_detail
    div.recruiting_box
    div.recruiting_info_detail_wrap
    nav.recruiting_info_nav {
    position: sticky;
    top: 0;
    width: 100%;
    height: fit-content;
    transform: translateY(6.022rem);
    transition: all 0.8s;
  }

  main.recruiting_detail
    section.recruiting_detail
    div.recruiting_box
    div.recruiting_info_detail_wrap
    nav.recruiting_info_nav
    ul.recruiting_info_nav_list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.4rem;
    background-color: #a9a8a4;
    padding: 0.5rem;
    width: calc(100% + 4rem);
    margin-left: -2rem;
    margin-right: -2rem;
  }

  main.recruiting_detail
    section.recruiting_detail
    div.recruiting_box
    div.recruiting_info_detail_wrap
    nav.recruiting_info_nav
    ul.recruiting_info_nav_list
    li.recruiting_info_nav_item
    a {
    width: 100%;
    height: 3.5rem;
    border-radius: 0.5rem;
    border: 0.2rem solid #fff;
    font-size: 1.4rem;
    font-weight: 600;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    letter-spacing: 0em;
  }

  main.recruiting_detail
    section.recruiting_detail
    div.recruiting_box
    div.recruiting_info_detail_wrap
    div.recruiting_info_detail_area
    h3.recruiting_ttl {
    margin-top: 4rem;
    font-size: 2rem;
    padding-bottom: 1rem;
    border-bottom: 0.1rem solid #000;
  }

  main.recruiting_detail
    section.recruiting_detail
    div.recruiting_box
    div.recruiting_info_detail_wrap
    div.recruiting_info_detail_area
    h3.recruiting_ttl.first_ttl {
    margin-top: 10rem;
  }

  main.recruiting_detail
    section.recruiting_detail
    div.recruiting_box
    div.recruiting_info_detail_wrap
    div.recruiting_info_detail_area
    h4.recruiting_ttl {
    margin-top: 2rem;
    font-size: 1.6rem;
  }

  main.recruiting_detail
    section.recruiting_detail
    div.recruiting_box
    div.recruiting_info_detail_wrap
    div.recruiting_info_detail_area
    p.recruiting_txt {
    margin-top: 2rem;
    font-size: 1.4rem;
  }

  main.recruiting_detail
    section.recruiting_detail
    div.recruiting_box
    div.recruiting_info_detail_wrap
    div.recruiting_info_detail_area
    div.recruiting_info_highlight {
    margin-top: 2rem;
    padding: 2rem;
  }
}

/* ----- */

main.recruiting_detail
  section.recruiting_detail
  div.recruiting_box
  div.recruiting_info_detail_wrap
  div.recruiting_info_detail_area
  div.related_wrap {
  margin-top: min(4rem, 40px);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: min(2rem, 20px);
}

main.recruiting_detail
  section.recruiting_detail
  div.recruiting_box
  div.recruiting_info_detail_wrap
  div.recruiting_info_detail_area
  div.related_wrap
  a.related_item {
  background-color: #fff;
  border-radius: min(1rem, 10px) min(1rem, 10px) min(2rem, 20px) min(2rem, 20px);
  padding: min(2rem, 20px);
  padding-top: 0;
  box-shadow: min(0.4rem, 4px) min(0.4rem, 4px) min(0.4rem, 4px) 0
    rgba(0, 0, 0, 0.5);
  overflow: hidden;
}

main.recruiting_detail
  section.recruiting_detail
  div.recruiting_box
  div.recruiting_info_detail_wrap
  div.recruiting_info_detail_area
  div.related_wrap
  a.related_item
  div.img_area {
  width: calc(100% + min(4rem, 40px));
  margin-left: max(-2rem, -20px);
  margin-top: max(-2rem, -20px);
  height: min(35rem, 350px);
}

main.recruiting_detail
  section.recruiting_detail
  div.recruiting_box
  div.recruiting_info_detail_wrap
  div.recruiting_info_detail_area
  div.related_wrap
  a.related_item
  div.img_area
  img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

main.recruiting_detail
  section.recruiting_detail
  div.recruiting_box
  div.recruiting_info_detail_wrap
  div.recruiting_info_detail_area
  div.related_wrap
  a.related_item
  div.related_ttl {
  margin-top: min(2rem, 20px);
  font-size: min(1.6rem, 16px);
  font-weight: 600;
  line-height: 1.4;
}

@media (max-width: 799px) {
  main.recruiting_detail
    section.recruiting_detail
    div.recruiting_box
    div.recruiting_info_detail_wrap
    div.recruiting_info_detail_area
    div.related_wrap {
    margin-top: 4rem;
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  main.recruiting_detail
    section.recruiting_detail
    div.recruiting_box
    div.recruiting_info_detail_wrap
    div.recruiting_info_detail_area
    div.related_wrap
    a.related_item {
    border-radius: 1rem;
    padding: 2rem;
    box-shadow: 0.4rem 0.4rem 0.4rem 0 rgba(0, 0, 0, 0.5);
  }

  main.recruiting_detail
    section.recruiting_detail
    div.recruiting_box
    div.recruiting_info_detail_wrap
    div.recruiting_info_detail_area
    div.related_wrap
    a.related_item
    div.img_area {
    width: calc(100% + 4rem);
    margin-left: -2rem;
    margin-top: -2rem;
    height: 25rem;
  }

  main.recruiting_detail
    section.recruiting_detail
    div.recruiting_box
    div.recruiting_info_detail_wrap
    div.recruiting_info_detail_area
    div.related_wrap
    a.related_item
    div.related_ttl {
    margin-top: 2rem;
    font-size: 1.6rem;
  }
}

/* ----- */

main.recruiting_detail
  section.recruiting_detail
  div.recruiting_box
  div.recruiting_info_detail_wrap
  div.recruiting_info_detail_area
  div.key_wrap {
  margin-top: min(4rem, 40px);
  border: min(0.1rem, 1px) solid #959595;
  background-color: #fff;
}

main.recruiting_detail
  section.recruiting_detail
  div.recruiting_box
  div.recruiting_info_detail_wrap
  div.recruiting_info_detail_area
  div.key_wrap
  div.key_item {
  border-bottom: min(0.1rem, 1px) solid #959595;
  display: grid;
  grid-template-columns: min(19rem, 190px) 1fr;
  gap: 0;
}

main.recruiting_detail
  section.recruiting_detail
  div.recruiting_box
  div.recruiting_info_detail_wrap
  div.recruiting_info_detail_area
  div.key_wrap
  div.key_item:last-child {
  border-bottom: none;
}

main.recruiting_detail
  section.recruiting_detail
  div.recruiting_box
  div.recruiting_info_detail_wrap
  div.recruiting_info_detail_area
  div.key_wrap
  div.key_item
  div.key_term {
  padding: min(2rem, 20px);
  font-size: min(1.6rem, 16px);
  font-weight: 600;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  background-color: var(--color-main);
}

main.recruiting_detail
  section.recruiting_detail
  div.recruiting_box
  div.recruiting_info_detail_wrap
  div.recruiting_info_detail_area
  div.key_wrap
  div.key_item
  div.key_term
  span {
  display: block;
  width: 100%;
  text-align-last: justify;
}

main.recruiting_detail
  section.recruiting_detail
  div.recruiting_box
  div.recruiting_info_detail_wrap
  div.recruiting_info_detail_area
  div.key_wrap
  div.key_item
  div.key_desc {
  padding: min(2rem, 20px);
  font-size: min(1.6rem, 16px);
  font-weight: 600;
  line-height: 1.4;
}

@media (max-width: 799px) {
  main.recruiting_detail
    section.recruiting_detail
    div.recruiting_box
    div.recruiting_info_detail_wrap
    div.recruiting_info_detail_area
    div.key_wrap {
    margin-top: 4rem;
    border: 0.1rem solid #959595;
  }

  main.recruiting_detail
    section.recruiting_detail
    div.recruiting_box
    div.recruiting_info_detail_wrap
    div.recruiting_info_detail_area
    div.key_wrap
    div.key_item {
    border-bottom: 0.1rem solid #959595;
    display: grid;
    grid-template-columns: 10rem 1fr;
    gap: 0;
  }

  main.recruiting_detail
    section.recruiting_detail
    div.recruiting_box
    div.recruiting_info_detail_wrap
    div.recruiting_info_detail_area
    div.key_wrap
    div.key_item
    div.key_term {
    padding: 1rem 0.4rem;
    font-size: 1.2rem;
  }

  main.recruiting_detail
    section.recruiting_detail
    div.recruiting_box
    div.recruiting_info_detail_wrap
    div.recruiting_info_detail_area
    div.key_wrap
    div.key_item
    div.key_desc {
    padding: 1rem 0.4rem;
    font-size: 1.2rem;
    line-height: 1.4;
  }
}

/* ----- */

main.recruiting_detail
  section.recruiting_detail
  div.recruiting_box
  div.recruiting_info_detail_wrap
  aside {
  height: 100%;
}

main.recruiting_detail
  section.recruiting_detail
  div.recruiting_box
  div.recruiting_info_detail_wrap
  aside
  div.aside_content {
  padding: min(3rem, 30px) min(2rem, 20px);
  background-color: rgb(55, 55, 55, 0.4);
  color: #fff;
  height: fit-content;
  position: sticky;
  top: min(10rem, 100px);
}

main.recruiting_detail
  section.recruiting_detail
  div.recruiting_box
  div.recruiting_info_detail_wrap
  aside
  div.anchor_list {
  display: flex;
  flex-direction: column;
  gap: 0;
}

main.recruiting_detail
  section.recruiting_detail
  div.recruiting_box
  div.recruiting_info_detail_wrap
  aside
  div.anchor_list
  a.anchor_item {
  padding: min(1rem, 10px) 0;
  font-size: min(1.6rem, 16px);
  font-weight: 600;
  border-bottom: min(0.1rem, 1px) solid #fff;
  display: flex;
  align-items: center;
  gap: min(0.5rem, 5px);
  letter-spacing: 0em;
}

main.recruiting_detail
  section.recruiting_detail
  div.recruiting_box
  div.recruiting_info_detail_wrap
  aside
  div.anchor_list
  a.anchor_item::before {
  content: "<";
  font-size: min(2rem, 20px);
  font-weight: 600;
}

main.recruiting_detail
  section.recruiting_detail
  div.recruiting_box
  div.recruiting_info_detail_wrap
  aside
  div.aside_ttl {
  margin-top: min(4rem, 40px);
  font-size: min(2rem, 20px);
  font-weight: 600;
}

main.recruiting_detail
  section.recruiting_detail
  div.recruiting_box
  div.recruiting_info_detail_wrap
  aside
  a.aside_item {
  margin-top: min(2rem, 20px);
  display: flex;
  flex-direction: column;
  gap: min(1rem, 10px);
}

main.recruiting_detail
  section.recruiting_detail
  div.recruiting_box
  div.recruiting_info_detail_wrap
  aside
  a.aside_item
  div.img_area {
  width: 100%;
  height: min(16rem, 160px);
}

main.recruiting_detail
  section.recruiting_detail
  div.recruiting_box
  div.recruiting_info_detail_wrap
  aside
  a.aside_item
  div.img_area
  img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

main.recruiting_detail
  section.recruiting_detail
  div.recruiting_box
  div.recruiting_info_detail_wrap
  aside
  a.aside_item
  div.aside_item_ttl {
  font-size: min(1.6rem, 16px);
  font-weight: 600;
  line-height: 1.4;
}

@media (max-width: 799px) {
  main.recruiting_detail
    section.recruiting_detail
    div.recruiting_box
    div.recruiting_info_detail_wrap
    aside {
    padding: 0 2rem 4rem;
    background-color: rgb(55, 55, 55, 0.4);
    color: #fff;
    height: fit-content;
  }

  main.recruiting_detail
    section.recruiting_detail
    div.recruiting_box
    div.recruiting_info_detail_wrap
    aside
    div.aside_content {
    padding: 0;
    background-color: transparent;
    height: fit-content;
    position: static;
  }

  main.recruiting_detail
    section.recruiting_detail
    div.recruiting_box
    div.recruiting_info_detail_wrap
    aside
    div.aside_ttl {
    margin-top: 4rem;
    font-size: 2rem;
  }

  main.recruiting_detail
    section.recruiting_detail
    div.recruiting_box
    div.recruiting_info_detail_wrap
    aside
    a.aside_item {
    margin-top: 2rem;
    gap: 1rem;
  }

  main.recruiting_detail
    section.recruiting_detail
    div.recruiting_box
    div.recruiting_info_detail_wrap
    aside
    a.aside_item
    div.img_area {
    height: 12rem;
  }

  main.recruiting_detail
    section.recruiting_detail
    div.recruiting_box
    div.recruiting_info_detail_wrap
    aside
    a.aside_item
    div.aside_item_ttl {
    font-size: 1.4rem;
  }
}

/* ----- contact ----- */

main.contact section.mv {
  background-image: url(../img/_inner/bg_mv_contact.png);
  background-size: min(150rem, 1500px);
  background-position: center top;
  background-repeat: no-repeat;
}
main.contact section.mv div.mv_container {
  width: 100%;
  padding: min(22rem, 220px) 0;
}

main.contact section.mv h2.inner_mv_ttl {
  font-size: min(5.2rem, 52px);
  font-weight: 600;
  color: #fff;
  text-align: center;
}

@media (max-width: 799px) {
  main.contact section.mv {
    background-image: url(../img/_inner/bg_mv_contact.png);
    background-size: 250%;
    background-position: center top;
  }

  main.contact section.mv div.mv_container {
    width: 100%;
    padding: 13rem 0;
  }

  main.contact section.mv h2.inner_mv_ttl {
    font-size: 3.2rem;
  }
}

/* ----- form ----- */

main.contact section.form,
main.entry section.form {
  padding: 0;
}

main.contact section.form h3.inner_sttl,
main.entry section.form h3.inner_sttl {
  font-size: min(2.8rem, 28px);
}

main.entry section.form h3.inner_sttl {
  margin-top: min(12rem, 120px);
}

main.contact section.form p.inner_txt,
main.entry section.form p.inner_txt {
  font-size: min(1.6rem, 16px);
  margin-top: min(2rem, 20px);
  line-height: 1.5;
}

@media (max-width: 799px) {
  main.contact section.form h3.inner_sttl,
  main.entry section.form h3.inner_sttl {
    font-size: 2.2rem;
  }

  main.contact section.form p.inner_txt,
  main.entry section.form p.inner_txt {
    font-size: 1.4rem;
    margin-top: 1.5rem;
    line-height: 1.5;
  }
}

main.contact section.form div.container,
main.entry section.form div.container {
  text-align: center;
}

.wpcf7-form.init {
  display: flex;
  flex-direction: column;
  gap: min(4rem, 40px);
  margin-top: min(6rem, 60px);
}

.wpcf7-form .form_item {
  display: flex;
  flex-direction: column;
  gap: min(1rem, 10px);
}

.wpcf7-form .form_item .wpcf7-form-control-wrap {
  width: 100%;
}

.wpcf7-form label.form_label {
  font-size: min(2rem, 20px);
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: min(0.5rem, 5px);
}

.wpcf7-form span.required {
  color: #de4141;
  font-size: min(2rem, 20px);
  font-weight: 400;
  background-color: #fff;
  padding: 3px 6px;
  border: min(0.1rem, 1px) solid #de4141;
}

.wpcf7-formm span.optional {
  color: #666;
  font-size: min(2rem, 20px);
  font-weight: 400;
}

.wpcf7-form select.form_select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  cursor: pointer;
}

.wpcf7-form input.form_input,
.wpcf7-form select.form_select,
.wpcf7-form textarea.form_textarea {
  width: 100%;
  padding: min(1rem, 10px) min(1rem, 10px);
  font-size: min(2rem, 20px);
  font-family: var(--font-sans);
  border: none;
  background-color: #fff;
  color: var(--color-main);
  transition: border-color 0.3s;
}

.wpcf7-form input.form_input:focus,
.wpcf7-form select.form_select:focus,
.wpcf7-form textarea.form_textarea:focus {
  outline: none;
  border-color: var(--color-main);
}

.wpcf7-form .select_wrap .wpcf7-form-control-wrap {
  position: relative;
}

.wpcf7-form .select_wrap .wpcf7-form-control-wrap::after {
  content: "";
  display: block;
  position: absolute;
  background-image: url(../img/_inner/arrow.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  width: min(2rem, 20px);
  height: min(1.4rem, 14px);
  top: 0;
  bottom: 0;
  margin: auto;
  right: 0;
  transform: translateX(-50%);
}

.wpcf7-form select.form_select {
  width: 100%;
  height: min(5rem, 50px);
  box-sizing: border-box;
}

.wpcf7-form textarea.form_textarea {
  resize: vertical;
  min-height: min(15rem, 150px);
}

/* main.contact form.contact_form div.form_birthday,
main.entry form.contact_form div.form_birthday {
  display: flex;
  align-items: center;
  gap: min(1rem, 10px);
  flex-wrap: wrap;
}

main.contact form.contact_form div.form_birthday select.form_select,
main.entry form.contact_form div.form_birthday select.form_select {
  flex: 1;
  min-width: min(10rem, 100px);
}

main.contact form.contact_form span.form_birthday_separator,
main.entry form.contact_form span.form_birthday_separator {
  font-size: min(2rem, 20px);
  font-weight: 600;
  flex-shrink: 0;
} */

/* @media (max-width: 799px) {
  main.contact form.contact_form div.form_birthday,
  main.entry form.contact_form div.form_birthday {
    gap: 0.5rem;
  }

  main.contact form.contact_form div.form_birthday select.form_select,
  main.entry form.contact_form div.form_birthday select.form_select {
    min-width: 8rem;
  }

  main.contact form.contact_form span.form_birthday_separator,
  main.entry form.contact_form span.form_birthday_separator {
    font-size: 1.4rem;
  }
} */

.wpcf7-form .form_checkbox {
  text-align: center;
}

.wpcf7-form .form_checkbox .wpcf7-list-item {
  margin: 0;
  font-size: min(1.8rem, 18px);
  font-weight: 600;
}

.wpcf7-form .form_checkbox .wpcf7-list-item label {
  display: flex;
  align-items: center;
}

.wpcf7-form .form_checkbox .wpcf7-list-item a {
  text-decoration: underline;
}

.wpcf7-form .form_checkbox .wpcf7-list-item input {
  width: min(2rem, 20px);
  height: min(2rem, 20px);
  margin: 0 15px 0 0;
  cursor: pointer;
  flex-shrink: 0;
}
.wpcf7-spinner {
  display: none;
}

/* main.contact form.contact_form div.form_checkbox,
main.entry form.contact_form div.form_checkbox {
  flex-direction: row;
  align-items: flex-start;
  justify-content: center;
}

main.contact form.contact_form label.form_checkbox_label,
main.entry form.contact_form label.form_checkbox_label {
  display: flex;
  align-items: flex-start;
  gap: min(1rem, 10px);
  cursor: pointer;
  font-size: min(2rem, 20px);
  font-weight: 600;
}

main.contact form.contact_form input.form_checkbox_input,
main.entry form.contact_form input.form_checkbox_input {
  width: min(2rem, 20px);
  height: min(2rem, 20px);
  margin-top: min(0.2rem, 2px);
  cursor: pointer;
  flex-shrink: 0;
}

main.contact form.contact_form span.form_checkbox_text,
main.entry form.contact_form span.form_checkbox_text {
  display: flex;
  align-items: center;
  gap: min(0.5rem, 5px);
  flex-wrap: wrap;
} */

/* main.contact form.contact_form span.form_checkbox_text a,
main.entry form.contact_form span.form_checkbox_text a {
  color: var(--color-main);
  text-decoration: underline;
} */

.wpcf7-form div.form_submit {
  margin-top: min(2rem, 20px);
  display: flex;
  justify-content: center;
}

.wpcf7-form div.form_submit input {
  width: min(30rem, 300px);
  height: min(7rem, 70px);
  background-color: var(--color-main);
  color: #fff;
  font-size: min(2rem, 20px);
  font-weight: 600;
  font-family: var(--font-sans);
  border: none;
  border-radius: min(0.4rem, 4px);
  cursor: pointer;
  transition: opacity 0.3s;
  display: flex;
  align-items: center;
  justify-content: center;
}

main.contact div.form_back,
main.entry div.form_back {
  margin-top: min(8rem, 80px);
  display: flex;
  justify-content: center;
}

main.contact a.form_back,
main.entry a.form_back {
  width: min(30rem, 300px);
  height: min(7rem, 70px);
  background-color: var(--color-main);
  color: #fff;
  font-size: min(2rem, 20px);
  font-weight: 600;
  font-family: var(--font-sans);
  border: none;
  border-radius: min(0.4rem, 4px);
  cursor: pointer;
  transition: opacity 0.3s;
  display: flex;
  align-items: center;
  justify-content: center;
}

@media (hover: hover) {
  .wpcf7-form div.form_submit input:hover {
    opacity: 0.8;
  }
}

@media (max-width: 799px) {
  .wpcf7-form section.form {
    padding: 0;
  }

  .wpcf7-form form.contact_form {
    gap: 2rem;
    margin-top: 4rem;
  }

  .wpcf7-form .form_item {
    gap: 0.5rem;
  }

  .wpcf7-form label.form_label {
    font-size: 1.4rem;
  }

  .wpcf7-form span.required,
  .wpcf7-form span.optional {
    font-size: 1.2rem;
  }

  .wpcf7-form input.form_input,
  .wpcf7-form select.form_select,
  .wpcf7-form textarea.form_textarea {
    padding: 1rem 1.5rem;
    font-size: 1.4rem;
  }

  .wpcf7-form .select_wrap .wpcf7-form-control-wrap::after {
    width: 1.5rem;
    height: 1rem;
  }

  .wpcf7-form select.form_select {
    height: 4rem;
  }

  .wpcf7-form textarea.form_textarea {
    min-height: 12rem;
  }

  /* main.contact form.contact_form div.form_birthday,
  main.entry form.contact_form div.form_birthday {
    gap: 0.5rem;
  }

  main.contact form.contact_form div.form_birthday select.form_select,
  main.entry form.contact_form div.form_birthday select.form_select {
    min-width: 8rem;
  }

  main.contact form.contact_form span.form_birthday_separator,
  main.entry form.contact_form span.form_birthday_separator {
    font-size: 1.4rem;
  } */

  .wpcf7-form .form_checkbox .wpcf7-list-item {
    font-size: 1.4rem;
    align-items: center;
  }

  .wpcf7-form .form_checkbox .wpcf7-list-item input {
    width: 1.8rem;
    height: 1.8rem;
  }

  .wpcf7-form div.form_submit {
    margin-top: 1rem;
  }

  .wpcf7-form div.form_submit input {
    width: 15rem;
    height: 4rem;
    font-size: 1.6rem;
  }

  main.contact div.form_back,
  main.entry div.form_back {
    margin-top: 1rem;
  }

  main.contact a.form_back,
  main.entry a.form_back {
    width: 15rem;
    height: 4rem;
    font-size: 1.6rem;
    margin-top: 5rem;
  }
  .wpcf7-form.init {
    margin-top: min(3rem, 30px);
    gap: min(2rem, 20px);
  }
}

/* ----- faq_page ----- */

main.faq nav.faq_anchr {
  margin-top: min(6rem, 60px);
}

main.faq nav.faq_anchr ul.faq_anchr_list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: min(2rem, 20px);
  justify-content: center;
}

main.faq nav.faq_anchr ul.faq_anchr_list li a {
  display: block;
  padding: min(1.5rem, 15px) min(3rem, 30px);
  background-color: #9b9a99;
  color: #fff;
  font-size: min(2rem, 20px);
  font-weight: 600;
  transition: opacity 0.3s;
  text-align: center;
}

@media (hover: hover) {
  main.faq nav.faq_anchr ul.faq_anchr_list li a:hover {
    opacity: 0.8;
  }
}

main.faq h3.faq_cate {
  margin-top: min(12rem, 120px);
  font-size: min(2.4rem, 24px);
  font-weight: 600;
  padding-left: min(1rem, 10px);
  border-left: min(1.6rem, 16px) solid #9b9a99;
  margin-bottom: 0;
}

main.faq div.faq_wrap {
  margin-top: min(3rem, 30px);
  display: flex;
  flex-direction: column;
}

main.faq div.faq_item {
  border-bottom: min(0.2rem, 2px) dotted var(--color-main);
}

main.faq div.faq_item div.question {
  padding: min(2.5rem, 25px) 0;
  font-size: min(1.8rem, 18px);
  line-height: 1.4;
  cursor: pointer;
  padding-right: min(6rem, 60px);
  display: flex;
  align-items: center;
  gap: min(1.5rem, 15px);
  position: relative;
}

main.faq div.faq_item div.question span {
  color: #fff;
  background-color: var(--color-main);
  width: min(4rem, 40px);
  height: min(4rem, 40px);
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
}

main.faq div.faq_item div.question span span {
  font-size: min(2.5rem, 25px);
  width: fit-content;
  height: fit-content;
  font-weight: 600;
  line-height: 1;
  transform: translateY(-10%);
}

main.faq div.faq_item div.question::after {
  content: "";
  display: block;
  position: absolute;
  background-image: url("../img/_inner/arrow.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  width: min(3rem, 30px);
  height: min(2rem, 20px);
  top: 0;
  bottom: 0;
  margin: auto;
  right: 0;
  transition: all 0.4s;
}

main.faq div.faq_item.active div.question::after {
  transform: rotate(180deg);
}

main.faq div.faq_item div.answer_wrap {
  opacity: 0;
  display: grid;
  grid-template-rows: 0fr;
  pointer-events: none;
  transition: all 0.4s;
  padding: 0;
}

main.faq div.faq_item.active div.answer_wrap {
  padding-bottom: min(3rem, 30px);
  grid-template-rows: 1fr;
  opacity: 1;
  pointer-events: auto;
}

main.faq div.faq_item div.answer {
  min-height: 0;
  font-size: min(1.6rem, 16px);
  font-weight: 400;
  line-height: 1.8;
  color: var(--color-main);
  display: flex;
  align-items: start;
  gap: min(1.5rem, 15px);
}

main.faq div.faq_item div.answer span {
  color: #fff;
  background-color: var(--color-main);
  width: min(4rem, 40px);
  height: min(4rem, 40px);
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
}

main.faq div.faq_item div.answer span span {
  font-size: min(2.5rem, 25px);
  width: fit-content;
  height: fit-content;
  font-weight: 600;
  line-height: 1;
  transform: translateY(-10%);
}

@media (max-width: 799px) {
  main.faq nav.faq_anchr {
    margin-top: 6rem;
  }

  main.faq nav.faq_anchr ul.faq_anchr_list {
    grid-template-columns: repeat(1, 1fr);
    gap: 1rem;
    justify-content: center;
  }

  main.faq nav.faq_anchr ul.faq_anchr_list li a {
    width: 100%;
    padding: 1rem 1.5rem;
    font-size: 1.8rem;
  }

  main.faq h3.faq_cate {
    margin-top: 8rem;
    font-size: 2.4rem;
    padding-left: 1rem;
    border-left: 0.8rem solid #9b9a99;
  }

  main.faq div.faq_wrap {
    margin-top: 2rem;
  }

  main.faq div.faq_item {
    border-bottom: 0.1rem dotted var(--color-main);
  }

  main.faq div.faq_item div.question {
    padding: 2rem 0;
    font-size: 1.6rem;
    line-height: 1.4;
    padding-right: 3.5rem;
    align-items: start;
    gap: 0.8rem;
    text-align: justify;
  }

  main.faq div.faq_item div.question span {
    width: 3rem;
    height: 3rem;
    flex-shrink: 0;
    transform: translateY(-5%);
  }

  main.faq div.faq_item div.question span span {
    font-size: 2rem;
  }

  main.faq div.faq_item div.question::after {
    width: 2rem;
    height: 1.4rem;
  }

  main.faq div.faq_item div.answer_wrap {
    opacity: 0;
    display: grid;
    grid-template-rows: 0fr;
    pointer-events: none;
    transition: all 0.4s;
    padding: 0;
  }

  main.faq div.faq_item.active div.answer_wrap {
    padding-bottom: 2rem;
  }

  main.faq div.faq_item div.answer {
    font-size: 1.3rem;
    font-weight: 400;
    line-height: 1.4;
    gap: 0.8rem;
  }

  main.faq div.faq_item div.answer span {
    width: 3rem;
    height: 3rem;
    margin-top: 0;
    flex-shrink: 0;
  }

  main.faq div.faq_item div.answer span span {
    font-size: 2rem;
  }
}

/* ----- sitemap ----- */
main.sitemap h2.inner_ttl {
  margin-bottom: 100px;
}

main.sitemap section.sitemap ul.sitemap_list {
  margin-top: min(6rem, 60px);
  display: flex;
  flex-direction: column;
  gap: min(2rem, 20px);
}

main.sitemap section.sitemap ul.sitemap_list li a {
  font-size: min(2rem, 20px);
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: min(1rem, 10px);
}

main.sitemap section.sitemap ul.sitemap_list li a::before {
  content: "＞";
  font-size: min(2rem, 20px);
  font-weight: 700;
}

@media (max-width: 799px) {
  main.sitemap h2.inner_ttl {
    margin-bottom: 60px;
  }
  main.sitemap section.sitemap ul.sitemap_list {
    margin-top: 4rem;
    gap: 2rem;
  }

  main.sitemap section.sitemap ul.sitemap_list li a {
    font-size: 1.6rem;
    gap: 1rem;
  }

  main.sitemap section.sitemap ul.sitemap_list li a::before {
    font-size: 1.6rem;
  }
}

/* ----- sdgs ----- */

main.sdgs section.mv {
  background-image: url(../img/_inner/bg_mv_sdgs.png);
  /* background-size: min(150rem, 1500px); */
}

main.sdgs h2.sdgs_ttl {
  width: fit-content;
  margin: 0 auto;
  font-size: min(2.4rem, 24px);
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: min(1rem, 10px);
}

main.sdgs h2.sdgs_ttl::before {
  content: "";
  background-image: url(../img/_inner/icon_media_ttl.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  width: min(3rem, 30px);
  height: min(3rem, 30px);
}

@media (max-width: 799px) {
  main.sdgs h2.sdgs_ttl {
    width: fit-content;
    margin: 0 auto;
    font-size: 2.2rem;
    gap: 0.5rem;
  }

  main.sdgs h2.sdgs_ttl::before {
    width: 2rem;
    height: 2rem;
  }
}

main.sdgs h3.sdgs_ttl {
  margin-top: min(4rem, 40px);
  width: 100%;
  height: min(5rem, 50px);
  background-color: #1d8a12;
  font-size: min(2rem, 20px);
  font-weight: 700;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}

main.sdgs h3.sdgs_ttl.red {
  background-color: #8a1229;
}

main.sdgs h3.sdgs_ttl.blue {
  background-color: #125e8a;
}

@media (max-width: 799px) {
  main.sdgs h3.sdgs_ttl {
    margin-top: 2rem;
    height: 4rem;
    font-size: 1.6rem;
  }
}

main.sdgs p.sdgs_lead {
  margin-top: min(4rem, 40px);
  font-size: min(1.8rem, 18px);
  font-weight: 700;
  line-height: 1.8;
  text-align: center;
}

@media (max-width: 799px) {
  main.sdgs p.sdgs_lead {
    margin-top: 4rem;
    font-size: 1.6rem;
    text-align: left;
  }
}

main.sdgs p.sdgs_txt {
  margin-top: min(4rem, 40px);
  font-size: min(1.6rem, 16px);
  font-weight: 700;
  line-height: 1.6;
}

@media (max-width: 799px) {
  main.sdgs p.sdgs_txt {
    margin-top: 2rem;
    font-size: 1.4rem;
  }
}

main.sdgs div.sdgs_lead_wrap {
  margin-top: min(4rem, 40px);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: min(4rem, 40px);
}

@media (max-width: 799px) {
  main.sdgs div.sdgs_lead_wrap {
    margin-top: 4rem;
    grid-template-columns: 1fr;
    gap: 4rem;
  }

  main.sdgs div.sdgs_lead_item div.icon {
    margin: 0 auto;
    width: 55%;
  }
}

main.sdgs div.sdgs_box {
  margin-top: min(3rem, 30px);
  padding: min(4rem, 40px);
  border-radius: min(2rem, 20px);
  background-color: #fff;
  display: grid;
  grid-template-columns: min(26rem, 260px) 1fr;
  align-items: start;
  gap: min(2rem, 20px);
  box-shadow: min(0.2rem, 2px) min(0.2rem, 2px) min(0.4rem, 4px)
    rgba(0, 0, 0, 0.5);
}

main.sdgs div.sdgs_box div.img_area div.icon {
  margin: 0 auto;
  width: min(15rem, 150px);
}

main.sdgs div.sdgs_box div.img_area div.box_ttl {
  margin-top: min(4rem, 40px);
  font-size: min(2rem, 20px);
  font-weight: 700;
  text-align: center;
  letter-spacing: 0em;
}

main.sdgs div.sdgs_box div.txt_area div.sdgs_note_wrap {
  margin-top: min(2rem, 20px);
  display: flex;
  flex-direction: column;
  gap: min(0.5rem, 5px);
}

main.sdgs div.sdgs_box div.txt_area div.sdgs_note_wrap p.sdgs_note {
  font-size: min(1.6rem, 16px);
  font-weight: 700;
  line-height: 1.6;
  padding-left: 1em;
  text-indent: -1.5em;
}

main.sdgs div.sdgs_box div.txt_area div.sdgs_image {
  margin-top: min(2rem, 20px);
  width: 80%;
}

@media (max-width: 799px) {
  main.sdgs div.sdgs_box {
    margin-top: 2rem;
    padding: 2rem 1rem;
    border-radius: 1rem;
    grid-template-columns: 8rem 1fr;
    gap: 2rem;
    box-shadow: 0.2rem 0.2rem 0.4rem rgba(0, 0, 0, 0.5);
  }

  main.sdgs div.sdgs_box div.img_area div.icon {
    margin: 0 auto;
    width: 85%;
  }

  main.sdgs div.sdgs_box div.img_area div.box_ttl {
    margin-top: 1rem;
    font-size: 1.2rem;
    line-height: 1.2;
  }

  main.sdgs div.sdgs_box div.txt_area div.sdgs_note_wrap {
    margin-top: 2rem;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
  }

  main.sdgs div.sdgs_box div.txt_area div.sdgs_note_wrap p.sdgs_note {
    font-size: 1.2rem;
    padding-left: 1em;
    text-indent: -1.5em;
  }

  main.sdgs div.sdgs_box div.txt_area div.sdgs_image {
    margin-top: 2rem;
    width: 100%;
  }
}

main.sdgs section.sdgs_message {
  background-image: url(../img/_inner/bg_sdgs_message.jpg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  color: #fff;
  margin-bottom: min(8rem, 80px);
}

main.sdgs section.sdgs_message h2.sdgs_message_ttl {
  font-size: min(2.4rem, 24px);
  font-weight: 700;
  text-align: center;
}

main.sdgs section.sdgs_message p.sdgs_message_txt {
  margin-top: min(4rem, 40px);
  font-size: min(1.8rem, 18px);
  font-weight: 700;
  line-height: 1.8;
  text-align: center;
}

@media (max-width: 799px) {
  main.sdgs section.sdgs_message {
    background-image: url(../img/_inner/bg_sdgs_message.jpg);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    color: #fff;
    margin-bottom: min(8rem, 80px);
  }

  main.sdgs section.sdgs_message h2.sdgs_message_ttl {
    font-size: 2rem;
    line-height: 1.4;
  }

  main.sdgs section.sdgs_message p.sdgs_message_txt {
    margin-top: 2rem;
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.8;
    text-align: left;
  }
}

/* ----- news ----- */
.media_list h2.inner_ttl {
  margin-bottom: 100px;
}

.news_single .article_entry {
  margin: min(6rem, 60px) auto 0;
}

@media (max-width: 799px) {
  .media_list h2.inner_ttl {
    margin-bottom: 60px;
  }
  .news_single .article_entry {
    margin: 0 auto 0;
  }
}

/* ----- media ----- */
.media_detail .media_list h2.inner_ttl {
  font-size: min(2.8rem, 28px);
}
@media (max-width: 799px) {
  .media_detail .media_list h2.inner_ttl {
    font-size: 2.2rem;
  }
}
