@charset "UTF-8";
/* ==========================================================================
// ベースのスタイルを定義
// ========================================================================*/
* {
  box-sizing: border-box;
}

html {
  overflow-x: hidden;
  scroll-behavior: smooth;
}

body {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-style: normal;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 1024px) {
  body {
    max-width: 1024px;
    line-height: 2;
  }
  body.is-fixed {
    height: 100svh;
    overflow-y: hidden;
  }
}

a {
  text-decoration: none;
  color: inherit;
}

img {
  width: auto;
  vertical-align: bottom;
  object-fit: cover;
}

ul {
  list-style: none;
}

@media screen and (max-width: 1024px) {
  .pc {
    display: none !important;
  }
}

.sp {
  display: none !important;
}
@media screen and (max-width: 1024px) {
  .sp {
    display: block !important;
  }
}

:root {
  --animate-delay: 0.5s;
}

/* ==========================================================================
// コンテンツ幅の定義
// ========================================================================*/
.l-inner-l {
  margin-left: 83px;
  margin-right: 83px;
}
@media screen and (max-width: 1024px) {
  .l-inner-l {
    margin-left: 20px;
    margin-right: 20px;
  }
}

.l-inner-s {
  margin-left: clamp(40px, 10vw, 143px);
  margin-right: clamp(40px, 10vw, 143px);
}
@media screen and (max-width: 1024px) {
  .l-inner-s {
    margin-left: 20px;
    margin-right: 20px;
  }
}

.l-inner-fourth {
  margin-left: 143px;
  margin-right: 413px;
}
@media screen and (max-width: 1024px) {
  .l-inner-fourth {
    margin-left: 20px;
    margin-right: 20px;
    padding-top: 0;
  }
}

/* ==========================================================================
// ヘッダー
// ========================================================================*/
/* ------------------------
// PC/SP兼用 ナビゲーションのスタイル
// ----------------------*/
.c-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-left: 83px;
  padding-right: 83px;
  font-weight: bold;
  background-color: #FFFFFF;
  transition: all 0.2s ease-in-out;
  white-space: nowrap;
  z-index: 100000;
}
.c-header.is-hidden {
  position: fixed;
  top: -85px;
  left: 0;
  visibility: hidden;
}
.c-header.is-show {
  position: fixed;
  top: 0;
  left: 0;
  visibility: visible;
}
.c-header.js-firstview-header {
  display: none;
}
.c-header--black {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  color: #2E2624;
  border-bottom: 1px solid #DEE7EB;
}
.c-header--black path {
  stroke: #2E2624;
}
.c-header__logo {
  margin-top: 21px;
  margin-bottom: 21px;
}
@media screen and (max-width: 1024px) {
  .c-header {
    max-width: 100vw;
    width: 100vw;
    padding: 15px 20px;
  }
  .c-header__logo {
    margin-top: 0;
    margin-bottom: 0;
  }
}

.c-header--white {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  background-color: transparent;
}
.c-header--white .c-header_nav__item > a {
  padding-left: 15px;
  padding-right: 15px;
  color: #FFFFFF;
}
.c-header--white .c-header_nav__item:hover > a, .c-header--white .c-header_nav__item:hover > svg {
  color: #26499D;
  background-color: #F1F1F1;
}
.c-header--white .c-header_nav__item:hover > a::after, .c-header--white .c-header_nav__item:hover > svg::after {
  content: "";
  display: none;
}
.c-header--white .c-header_nav__item:hover > a path, .c-header--white .c-header_nav__item:hover > svg path {
  stroke: #26499D;
}
.c-header--white .c-header_nav__item:not(:last-child) {
  margin-right: 0;
}
.c-header--white .c-header_sub {
  top: 83px;
}
@media screen and (max-width: 1024px) {
  .c-header--white .c-header_nav__item > a {
    padding-left: 0;
    padding-right: 0;
    color: #2E2624;
  }
}

.c-header_nav ul {
  display: flex;
}

.c-header_nav__box {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100vw;
  height: 100svh;
  min-height: 100%;
  padding-top: 15px;
  background-color: #FFFFFF;
  color: #2E2624;
  overflow-y: scroll;
  transition: all 0.2s ease-in-out;
  z-index: 100000;
}

.c-hedaer__contact {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  background-color: #26499D;
  width: 100%;
  height: 66px;
  font-size: 18px;
}
.c-hedaer__contact svg {
  margin-right: 10px;
}

.c-header_nav__heading {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 15px;
  padding-left: 20px;
  padding-right: 20px;
}
.c-header_nav__heading--white {
  justify-content: flex-end;
  padding: 15px 20px;
}

.c-header_nav__list {
  display: flex;
}
@media screen and (max-width: 1024px) {
  .c-header_nav__list {
    flex-direction: column;
    min-height: calc(100svh - 137px);
    background-color: #FFFFFF;
    transition: all 0.6s;
    overflow-y: auto;
  }
}

.c-header_nav__item {
  height: 84px;
  font-size: 15px;
}
.c-header_nav__item:not(:last-child) {
  margin-right: 30px;
}
@media screen and (max-width: 1024px) {
  .c-header_nav__item:not(:last-child) {
    margin-right: 0;
  }
}
.c-header_nav__item > a {
  position: relative;
  top: 0;
  left: 0;
  display: flex;
  height: 100%;
  align-items: center;
}
.c-header_nav__item svg {
  transition: all 0.3s ease-in-out;
}
.c-header_nav__item:hover > a {
  color: #26499D;
}
.c-header_nav__item:hover > a::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 4px;
  background-color: #26499D;
}
.c-header_nav__item:hover svg {
  scale: 1 -1;
}
.c-header_nav__item:hover svg > path {
  stroke: #26499D;
}

.c-header_sub {
  position: absolute;
  top: 85px;
  left: 0;
  display: none;
  gap: 40px;
  width: 100%;
  padding: 40px;
  background-color: #F1F1F1;
  --animate-duration: .3s;
}

.c-header_sub__thumb {
  width: 272px;
  height: 144px;
  overflow: hidden;
}
.c-header_sub__thumb img {
  transition: all 0.2s ease-in-out;
}

.c-header_sub__totop {
  flex-direction: column;
}
.c-header_sub__totop p {
  position: relative;
  top: 0;
  left: 0;
  width: 100%;
  margin-bottom: 20px;
  font-size: 20px;
  font-weight: bold;
  line-height: 27px;
}
.c-header_sub__totop p::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  display: inline-block;
  width: 28px;
  height: 28px;
  background-color: #26499D;
  border-radius: 50%;
  translate: 0 -14px;
  transition: all 0.2s ease-in-out;
}
.c-header_sub__totop p::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 12px;
  display: block;
  width: 4px;
  height: 4px;
  background-color: #FFFFFF;
  border-radius: 50%;
  translate: 0 -2px;
  transition: all 0.2s ease-in-out;
}
.c-header_sub__totop:hover p::before {
  content: "";
  scale: 1.14;
}
.c-header_sub__totop:hover p::after {
  content: "";
  top: 50%;
  right: 0;
  translate: -7px -4px;
  width: 14px;
  height: 8px;
  background: url(../images/button_arrow.svg) 0 0/contain no-repeat transparent;
}
.c-header_sub__totop:hover .c-header_sub__thumb img {
  scale: 1.1;
}

.c-header_nav .c-header_sub__list {
  flex-grow: 1;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-top: 49px;
  height: 100%;
}

.c-header_sub__item {
  position: relative;
  top: 0;
  left: 0;
  height: 36px;
  border-bottom: solid 1px #E6E6E6;
  font-size: 14px;
  line-height: 24px;
  transition: all 0.2s ease-in-out;
  cursor: pointer;
}
.c-header_sub__item > a {
  display: block;
  height: 100%;
  padding-bottom: 16px;
}
.c-header_sub__item::after {
  content: "";
  position: absolute;
  top: 8px;
  right: 10px;
  display: block;
  width: 14px;
  height: 8px;
  background: url(../images/button_arrow_blue.svg) 0 0/contain no-repeat transparent;
  transition: all 0.2s ease-in-out;
}
.c-header_sub__item:hover {
  border-bottom: solid 1px #26499D;
}
.c-header_sub__item:hover::after {
  right: 0;
}

#to-company:hover #nav-company {
  display: flex;
}

#to-quality:hover #nav-quality {
  display: flex;
}

#to-business:hover #nav-business {
  display: flex;
}

#to-recruit:hover #nav-recruit {
  display: flex;
}

/* ------------------------
// SP専用 ナビゲーションのスタイル
// ----------------------*/
.hamburger {
  position: absolute;
  right: 20px;
  top: 11px;
  width: 30px;
  height: 20px;
  cursor: pointer;
  z-index: 10000;
  transition: all 0.2s ease-in-out;
}

.c-header.is-show .hamburger {
  top: 18px;
}

.hamburger_border {
  position: absolute;
  left: 0;
  width: 30px;
  height: 1px;
  background-color: #FFFFFF;
  transition: all 0.3s;
}

.c-header--black .hamburger_border {
  background-color: #26499D;
}

.hamburger_border_top {
  top: 10px;
  background-color: #FFFFFF;
}

.hamburger_border_center {
  top: 15px;
  background-color: #FFFFFF;
}

.hamburger_border_bottom {
  top: 20px;
  background-color: #FFFFFF;
}

.c-header_nav__box {
  display: none;
  transition: scale 0.2s ease-in-out;
}

.c-header_nav__box.is-open {
  display: block !important;
  scale: 1;
  transform-origin: top center;
}
@starting-style {
  .c-header_nav__box.is-open {
    display: none;
    scale: 1 0;
  }
}

.c-header_nav__box.is-open .hamburger {
  display: block;
}

.c-header_nav__box.is-open .hamburger_border_top {
  transform: rotate(33deg);
  top: 10px;
  background-color: #26499D;
}

.c-header_nav__box.is-open .hamburger_border_center {
  width: 0;
  left: 50%;
  background-color: #26499D;
}

.c-header_nav__box.is-open .hamburger_border_bottom {
  transform: rotate(-33deg);
  top: 10px;
  background-color: #26499D;
}

.c-header_nav__index {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-left: 0;
  margin-right: 0;
  padding-left: 20px;
  padding-right: 20px;
  width: 100vw;
  height: 66px;
  font-size: 16px;
  border-bottom: 1px solid #E6E6E6;
}
.c-header_nav__index.is-active {
  color: #26499D;
}
.c-header_nav__index.is-active + .c-header_navbox {
  display: block;
  height: 100%;
}

@media screen and (max-width: 1024px) {
  .c-header_nav__item {
    min-height: 66px;
    height: auto;
  }
  .c-header_nav__item:first-child {
    border-top: 1px solid #E6E6E6;
  }
}

.c-header_navbox {
  display: none;
  padding-inline: 20px;
  padding-top: 10px;
  padding-bottom: 20px;
  width: 100%;
  height: 0;
  border-bottom: 1px solid #E6E6E6;
  list-style: "- " inside;
  font-size: 14px;
  font-weight: 400;
  line-height: 24px;
  overflow-y: scroll;
  transition: all 0.2s ease-in-out;
}

.c-header_navbox__item {
  margin-bottom: 15px;
}
.c-header_navbox__item ul {
  text-indent: 20px;
  margin-block: 15px;
}

/* ==========================================================================
// TOPページ固定　お問い合せリンク
// ========================================================================*/
.c-fixed_contact {
  position: fixed;
  top: 314px;
  right: 0;
  display: flex;
  align-items: center;
  width: 40px;
  height: 180px;
  background-color: #26499D;
  color: #FFFFFF;
  transition: all 0.2s linear;
  cursor: pointer;
  z-index: 10000;
}
.c-fixed_contact a {
  display: flex;
  flex-wrap: wrap;
  padding-right: 11px;
  padding-left: 11px;
  font-weight: bold;
  font-size: 14px;
  line-height: 1.2;
}
.c-fixed_contact a *:not(:last-child) {
  margin-bottom: 4px;
}
.c-fixed_contact:hover {
  width: 50px;
  transform-origin: center right;
}
@media screen and (max-width: 1024px) {
  .c-fixed_contact {
    top: auto;
    bottom: 20px;
    width: 30px;
    height: 120px;
  }
  .c-fixed_contact a {
    padding-right: 9px;
    padding-left: 9px;
    font-size: 12px;
  }
  .c-fixed_contact a svg {
    width: 11px;
  }
}

/* ==========================================================================
// ボタンのスタイル
// ========================================================================*/
.c-button {
  position: relative;
  top: 0;
  left: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-left: auto;
  margin-right: auto;
  width: 280px;
  height: 60px;
  border-radius: 5px;
  font-size: 14px;
  font-weight: bold;
  transition: all 0.2s ease-in-out;
}
.c-button::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  display: block;
  margin-top: -2px;
  margin-right: 20px;
  width: 4px;
  height: 4px;
  border-radius: 50%;
}
.c-button:hover {
  color: #FFFFFF;
  background-color: #26499D;
  border: none;
  opacity: 1;
  transition: all 0.2s ease-in-out;
}
@media screen and (max-width: 1024px) {
  .c-button {
    margin-left: auto;
    margin-right: auto;
  }
}

.c-button--white_blue {
  border: solid 1px #FFFFFF;
  color: #FFFFFF;
}
.c-button--white_blue::after {
  content: "";
  background-color: #FFFFFF;
  transition: all 0.2s ease-in-out;
}
.c-button--white_blue:hover::after {
  content: "";
  width: 14px;
  height: 8px;
  margin-top: -4px;
  margin-right: 15px;
  background: url(../images/button_arrow.svg) 0 0/contain no-repeat transparent;
  border-radius: 0;
}

.c-button--blue_blue {
  border: solid 1px #26499D;
  color: #26499D;
}
.c-button--blue_blue::after {
  content: "";
  background-color: #26499D;
}
.c-button--blue_blue:hover::after {
  content: "";
  width: 14px;
  height: 8px;
  margin-top: -4px;
  margin-right: 15px;
  background: url(../images/button_arrow.svg) 0 0/contain no-repeat transparent;
  border-radius: 0;
}

.c-button--white_white {
  border: solid 1px #FFFFFF;
  color: #FFFFFF;
}
.c-button--white_white::after {
  content: "";
  background-color: #FFFFFF;
}
.c-button--white_white:hover {
  background-color: #FFFFFF;
  color: #26499D;
}
.c-button--white_white:hover::after {
  content: "";
  width: 14px;
  height: 8px;
  margin-top: -4px;
  margin-right: 15px;
  background: url(../images/button_arrow_blue.svg) 0 0/contain no-repeat transparent;
  border: none;
  border-radius: 0;
}

.c-button_simple_wide {
  position: relative;
  top: 0;
  left: 0;
  display: block;
  padding: 40px;
  background-color: #26499D;
  color: #FFFFFF;
  font-size: 18px;
}
.c-button_simple_wide::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 40px;
  display: inline-block;
  width: 28px;
  height: 28px;
  background-color: #FFFFFF;
  border-radius: 50%;
  translate: 0 -14px;
  transition: all 0.2s ease-in-out;
}
.c-button_simple_wide::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 52px;
  display: block;
  width: 4px;
  height: 4px;
  background-color: #26499D;
  border-radius: 50%;
  translate: 0 -2px;
  transition: all 0.2s ease-in-out;
}
.c-button_simple_wide:hover {
  background-color: #2E2624;
  color: #FFFFFF;
}
.c-button_simple_wide:hover::after {
  content: "";
  top: 50%;
  right: 39px;
  translate: -7px -4px;
  width: 14px;
  height: 8px;
  background: url(../images/button_arrow_blue.svg) 0 0/contain no-repeat transparent;
}
.c-button_simple_wide--gray {
  background-color: #F1F1F1;
  color: #2E2624;
}
.c-button_simple_wide--gray::before {
  background-color: #26499D;
}
.c-button_simple_wide--gray::after {
  background-color: #FFFFFF;
}
.c-button_simple_wide--gray:hover::after {
  background: url(../images/button_arrow.svg) 0 0/contain no-repeat transparent;
}
.c-button_simple_wide--recruit {
  background-color: #F1F1F1;
  font-weight: bold;
  color: #26499D;
}
.c-button_simple_wide--recruit::before {
  background-color: #26499D;
}
.c-button_simple_wide--recruit::after {
  background-color: #FFFFFF;
}
.c-button_simple_wide--recruit:hover::after {
  background: url(../images/button_arrow.svg) 0 0/contain no-repeat transparent;
}
@media screen and (max-width: 1024px) {
  .c-button_simple_wide {
    padding: 20px;
    font-size: 16px;
    line-height: 24px;
  }
  .c-button_simple_wide::before {
    right: 20px;
  }
  .c-button_simple_wide::after {
    content: "";
    top: 50%;
    right: 26px;
    width: 14px;
    height: 8px;
    background: url(../images/button_arrow_blue.svg) 0 0/contain no-repeat transparent;
    translate: 0 -50%;
  }
  .c-button_simple_wide:hover::after {
    top: 50%;
    right: 26px;
    width: 14px;
    height: 8px;
    background: url(../images/button_arrow_blue.svg) 0 0/contain no-repeat transparent;
    translate: 0 -50%;
  }
  .c-button_simple_wide--gray::after {
    background: url(../images/button_arrow.svg) 0 0/contain no-repeat transparent;
  }
  .c-button_simple_wide--recruit {
    height: 84px;
    padding-block: 0;
    font-size: 14px;
    line-height: 84px;
  }
  .c-button_simple_wide--recruit::after {
    background: url(../images/button_arrow.svg) 0 0/contain no-repeat transparent;
  }
}

.c-button_detail {
  position: relative;
  display: block;
  width: 100%;
  height: 60px;
  border: 1px solid #26499D;
  border-radius: 6px;
  color: #26499D;
  font-size: 14px;
  font-weight: bold;
  line-height: 60px;
  text-align: center;
  transition: all 0.2s;
}
.c-button_detail::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 15px;
  display: block;
  width: 4px;
  height: 4px;
  border-radius: 20px;
  background-color: #26499D;
  translate: 0 -50%;
}
.c-button_detail:hover {
  background-color: #26499D;
  color: #FFFFFF;
}
.c-button_detail:hover::after {
  width: 14px;
  height: 8px;
  background-color: transparent;
  background: #000;
}

/* ==========================================================================
// タイトルに関するスタイル
// ========================================================================*/
.c-title {
  display: inline-block;
  width: 310px;
  font-size: 32px;
  font-weight: bold;
}
@media screen and (max-width: 1024px) {
  .c-title {
    font-size: 24px;
  }
}

.c-second_title {
  padding-top: 224px;
}
.c-second_title h1 {
  margin-left: 143px;
  margin-bottom: 10px;
  font-size: 38px;
  font-weight: bold;
}
.c-second_title span {
  font-family: "Barlow", sans-serif;
  font-weight: 700;
  font-style: normal;
  display: block;
  margin-left: 143px;
  margin-bottom: 90px;
  color: #26499D;
  font-size: 14px;
}
.c-second_title img {
  width: 100%;
}
@media screen and (max-width: 1024px) {
  .c-second_title {
    padding-top: 101px;
    height: auto;
    background: none;
  }
  .c-second_title h1 {
    margin-left: 20px;
    font-size: 28px;
    line-height: 42px;
  }
  .c-second_title span {
    margin-left: 20px;
    margin-bottom: 40px;
    font-size: 12px;
  }
}

.c-third_title {
  height: 400px;
  background: url(../images/third_page_bg_company.jpg) 0 0/cover no-repeat;
  padding-top: 224px;
  color: #FFFFFF;
  font-weight: bold;
}
.c-third_title h1 {
  margin-left: 143px;
  font-size: 38px;
}
.c-third_title span {
  margin-left: 143px;
  font-size: 14px;
}
.c-third_title span::after {
  content: " /";
}
.c-third_title--quality {
  background: url(../images/third_page_bg_quality.jpg) 0 0/cover no-repeat;
}
.c-third_title--business {
  background: url(../images/third_page_bg_business.jpg) 0 0/cover no-repeat;
}
.c-third_title--requirements {
  background: url(../images/third_page_bg_recruit_requirements.jpg) 0 0/cover no-repeat;
}
.c-third_title--voice {
  background: url(../images/third_page_bg_recruit_voice.jpg) 0 0/cover no-repeat;
}
.c-third_title--openpositions {
  background: url(../images/third_page_bg_recruit_openpositions.jpg) 0 0/cover no-repeat;
}
.c-third_title--environment {
  background: url(../images/third_page_bg_recruit_environment.jpg) 0 0/cover no-repeat;
}
.c-third_title--message {
  background: url(../images/third_page_bg_recruit_message.jpg) 0 0/cover no-repeat;
}
@media screen and (max-width: 1024px) {
  .c-third_title {
    height: 233px;
    padding-top: 91px;
    background: url(../images/third_page_bg_company_sp.jpg) 0 0/cover no-repeat;
  }
  .c-third_title h1 {
    margin-left: 20px;
    font-size: 28px;
    line-height: 42px;
  }
  .c-third_title span {
    margin-left: 20px;
  }
  .c-third_title--quality {
    background: url(../images/third_page_bg_quality_sp.jpg) 0 0/cover no-repeat;
  }
  .c-third_title--business {
    background: url(../images/third_page_bg_business_sp.jpg) 0 0/cover no-repeat;
  }
  .c-third_title--requirements {
    background: url(../images/third_page_bg_recruit_requirements_sp.jpg) 0 0/cover no-repeat;
  }
  .c-third_title--voice {
    background: url(../images/third_page_bg_recruit_voice_sp.jpg) 0 0/cover no-repeat;
  }
  .c-third_title--openpositions {
    background: url(../images/third_page_bg_recruit_openpositions_sp.jpg) 0 0/cover no-repeat;
  }
  .c-third_title--environment {
    background: url(../images/third_page_bg_recruit_environment_sp.jpg) 0 0/cover no-repeat;
  }
  .c-third_title--message {
    background: url(../images/third_page_bg_recruit_message_sp.jpg) 0 0/cover no-repeat;
  }
}

.c-fourth_title {
  padding: 144px 143px 71px;
  background-color: #26499D;
  color: #FFFFFF;
}
.c-fourth_title h1 {
  font-size: 38px;
}
.c-fourth_title span {
  display: block;
  margin-bottom: 10px;
  font-size: 14px;
}
.c-fourth_title span::after {
  content: " /";
}
@media screen and (max-width: 1024px) {
  .c-fourth_title {
    padding: 91px 20px 40px;
  }
  .c-fourth_title h1 {
    font-size: 28px;
    line-height: 42px;
  }
}

.c-category {
  display: inline-block;
  padding: 4px 14px;
  width: auto;
  border-radius: 100px;
  color: #FFFFFF;
  font-size: 10px;
  font-weight: bold;
}
.c-category--default {
  background-color: #26499D;
}
.c-category--black {
  background-color: #2E2624;
}
.c-category--blue {
  background-color: transparent;
  color: #26499D;
  border: solid 1px #26499D;
}

/* ==========================================================================
// フッター
// ========================================================================*/
.c-footer {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  padding-top: 100px;
}
@media screen and (max-width: 1024px) {
  .c-footer {
    display: block;
    margin-left: 20px;
    margin-right: 20px;
    margin-bottom: 100px;
    padding-top: 40px;
  }
}

.c-footer__logo {
  margin-right: 30px;
}
@media screen and (max-width: 1024px) {
  .c-footer__logo {
    display: flex;
    justify-content: center;
    margin-bottom: 40px;
    margin-right: 0;
  }
}

.c-footer_nav {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  margin-bottom: 60px;
}

.c-footer_nav__menu:not(:last-child) {
  margin-right: 30px;
}

.c-footer_nav__index {
  margin-bottom: 20px;
  font-size: 14px;
}

.c-footer_nav__item {
  list-style: "- " inside;
  font-size: 13px;
  font-weight: 400;
}
.c-footer_nav__item:not(:last-child) {
  margin-bottom: 15px;
}
.c-footer_nav__item > ul {
  margin-block: 15px;
  text-indent: 10px;
}
.c-footer_nav__item > ul > li:not(:last-child) {
  margin-bottom: 10px;
}
.c-footer_nav__item > ul .c-footer_nav__item {
  font-size: 12px;
}

.c-footer_nav__index a,
.c-footer_nav__item a {
  transition: all 0.2s linear;
}
.c-footer_nav__index a:hover,
.c-footer_nav__item a:hover {
  color: #26499D;
}

.c-footer__privacy {
  position: relative;
  top: 0;
  left: 0;
  margin-right: -60px;
  margin-bottom: 30px;
  border-top: solid 1px #E6E6E6;
  line-height: 60px;
  font-size: 13px;
}
.c-footer__privacy p {
  display: inline-block;
}
.c-footer__privacy a {
  transition: all 0.2s linear;
}
.c-footer__privacy a:hover {
  color: #26499D;
}
@media screen and (max-width: 1024px) {
  .c-footer__privacy {
    margin-right: 0;
    padding-top: 5px;
    line-height: 2;
  }
}

.c-footer__copyright {
  position: absolute;
  top: 0;
  right: 0;
  display: inline-block;
  color: #CCCCCC;
  font-size: 12px;
  text-align: right;
}
@media screen and (max-width: 1024px) {
  .c-footer__copyright {
    position: relative;
    display: block;
    text-align: right;
  }
}

.c-select {
  position: relative;
  top: 0;
  left: 0;
  width: 100%;
  height: 30px;
  text-align: center;
  cursor: pointer;
}
.c-select::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 15px;
  width: 9px;
  height: 4px;
  background: url(../images/arrow_white.svg) 0 0/contain no-repeat;
  pointer-events: none;
  translate: 0 -100%;
  transition: all 250ms cubic-bezier(0.4, 0.25, 0.3, 1);
  z-index: 2;
}
.c-select .c-select__options {
  scale: 1 0;
  visibility: hidden;
  transform-origin: center top;
  transition: scale 0.2s ease-in-out, visibility 0.2s ease-in-out;
}
.c-select.is-open::after {
  transform: translate(-50%, -50%) rotate(180deg);
}
.c-select.is-open .c-select__options {
  scale: 1;
  visibility: visible;
}
.c-select__items {
  width: 100%;
  color: #FFFFFF;
}
.c-select__input {
  display: none;
}
.c-select__label {
  display: block;
  font-size: 14px;
  line-height: 30px;
  background-color: #26499D;
  color: #FFFFFF;
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.4, 0.25, 0.3, 1);
}
.c-select__label--placeholder {
  width: 100%;
  height: 30px;
  vertical-align: middle;
  background-color: #26499D;
}
.c-select__expand:checked + .c-select__close_label {
  display: block;
}
.c-select__expand:checked + .c-select__close_label + .c-select__options .c-select__label {
  height: 30px;
  color: #FFFFFF;
}
.c-select__expand:checked + .c-select__close_label + .c-select__options .c-select__label:hover {
  background-color: #f7f7f7;
}
.c-select__expand:checked + .c-select__close_label + .c-select__options + .c-select__expand_label {
  display: none;
  color: #FFFFFF;
}
.c-select__input:checked + .c-select__label {
  height: 30px;
}

/* ==========================================================================
// 下層ページ　構成要素のスタイル
// ========================================================================*/
.c-description_box {
  display: flex;
  justify-content: space-between;
  margin-bottom: 121px;
  padding-top: 140px;
}
.c-description_box__title {
  font-size: 32px;
  font-weight: bold;
}
.c-description_box__text {
  width: max(740px, 65%);
  font-size: 15px;
  font-weight: 400;
  line-height: 29px;
}
@media screen and (max-width: 1024px) {
  .c-description_box {
    flex-direction: column;
    margin-top: 40px;
    margin-bottom: 50px;
    padding-top: 0;
  }
  .c-description_box__title {
    margin-bottom: 20px;
    font-size: 22px;
    line-height: 32px;
  }
  .c-description_box__text {
    width: 100%;
    line-height: 25px;
  }
}

.c-separator {
  position: relative;
  top: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #E6E6E6;
}
.c-separator::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 200px;
  height: 4px;
  background-color: #26499D;
}
.c-separator--s::before {
  width: 60px;
  height: 2px;
}
@media screen and (max-width: 1024px) {
  .c-separator::before {
    width: 70px;
  }
}

.c-link_cards {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;
  margin-top: 60px;
}
.c-link_cards--column {
  grid-template-columns: repeat(1, 1fr);
  gap: 20px;
  margin-top: 0;
}
@media screen and (max-width: 1024px) {
  .c-link_cards {
    grid-template-columns: repeat(1, 1fr);
    gap: 10px;
    margin-top: 40px;
  }
}

.c-link_card {
  height: 100%;
  min-height: 292px;
  background-color: #F7F7F7;
  border: solid 2px transparent;
  transition: all 0.2s ease-in-out;
}
.c-link_card > a {
  display: block;
  width: 100%;
  height: 100%;
  padding: 30px;
}
.c-link_card__title {
  position: relative;
  top: 0;
  left: 0;
  font-size: 20px;
  font-weight: bold;
}
.c-link_card__title::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  display: inline-block;
  width: 28px;
  height: 28px;
  background-color: #26499D;
  border-radius: 50%;
  translate: 0 -14px;
  transition: all 0.2s ease-in-out;
}
.c-link_card__title::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 12px;
  display: block;
  width: 4px;
  height: 4px;
  background-color: #FFFFFF;
  border-radius: 50%;
  translate: 0 -2px;
  transition: all 0.2s ease-in-out;
}
.c-link_card:hover {
  border: solid 2px #26499D;
  cursor: pointer;
}
.c-link_card:hover .c-link_card__title::before {
  content: "";
  scale: 1.14;
}
.c-link_card:hover .c-link_card__title::after {
  content: "";
  top: 50%;
  right: 0;
  translate: -7px -4px;
  width: 14px;
  height: 8px;
  background: url(../images/button_arrow.svg) 0 0/contain no-repeat transparent;
}
.c-link_card__separator {
  position: relative;
  top: 0;
  left: 0;
  width: 100%;
  height: 1px;
  margin-top: 20px;
  margin-bottom: 20px;
  background-color: #E6E6E6;
}
.c-link_card__separator::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 20px;
  height: 1px;
  background-color: #26499D;
}
.c-link_card__text {
  font-size: 13px;
  font-weight: 400;
  line-height: 24px;
}
@media screen and (max-width: 1024px) {
  .c-link_card {
    height: auto;
  }
  .c-link_card > a {
    padding: 18px 20px 20px;
  }
  .c-link_card__title {
    padding-right: 30px;
    font-size: 18px;
    line-height: 30px;
  }
  .c-link_card__title::after {
    content: "";
    top: 50%;
    right: 0;
    translate: -7px -4px;
    width: 14px;
    height: 8px;
    background: url(../images/button_arrow.svg) 0 0/contain no-repeat transparent;
  }
}

.c-child_nav {
  position: relative;
}
.c-child_nav > ul {
  display: flex;
  margin-top: 15px;
  margin-bottom: 12px;
}
.c-child_nav > ul > li {
  flex: 1;
}
.c-child_nav--haschild {
  margin-bottom: 172px;
}
.c-child_nav__tab:not(:last-child) {
  border-right: solid 1px #E6E6E6;
}
.c-child_nav__item {
  display: block;
  position: relative;
  top: 0;
  left: 0;
  flex: 1;
  padding: 10px 16px;
  height: 55px;
  font-size: 15px;
  font-weight: bold;
  line-height: 21px;
  text-align: center;
  cursor: pointer;
}
.c-child_nav__item::after {
  content: "";
  transition: all 0.2s linear;
}
.c-child_nav__item--selected::after {
  content: "";
  position: absolute;
  bottom: -12px;
  left: 0;
  display: block;
  width: 100%;
  height: 4px;
  background-color: #26499D;
}
.c-child_nav__item a {
  display: block;
  width: 100%;
}
.c-child_nav__item:hover::after {
  content: "";
  position: absolute;
  bottom: -12px;
  left: 0;
  display: block;
  width: 100%;
  height: 4px;
  background-color: #26499D;
}
@media screen and (max-width: 1024px) {
  .c-child_nav {
    margin-bottom: 50px;
  }
  .c-child_nav > ul {
    flex-direction: column;
    margin-top: 17px;
    margin-bottom: 0;
    border: solid 1px #F1F1F1;
  }
  .c-child_nav__tab:not(:last-child) {
    border: none;
    border-bottom: solid 1px #E6E6E6;
  }
  .c-child_nav__item {
    padding: 10px 20px;
    height: auto;
    font-size: 14px;
    line-height: 20px;
    text-align: left;
  }
  .c-child_nav__item--selected::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 3px;
    height: 40px;
  }
  .c-child_nav__item:not(:last-child) {
    border: none;
    border-bottom: solid 1px #F1F1F1;
  }
  .c-child_nav__item::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 10px;
    width: 11px;
    height: 8px;
    background: url(../images/button_arrow_blue.svg) 0 0/contain no-repeat;
    translate: 0 -50%;
  }
  .c-child_nav__item:hover::after {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 3px;
    height: 40px;
  }
}

.c-inpage_links {
  position: absolute;
  top: 67px;
  left: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 6px;
  width: 100%;
  padding: 20px;
  background-color: #F1F1F1;
}
@media screen and (max-width: 1024px) {
  .c-inpage_links {
    position: relative;
    top: 0;
    left: 0;
    grid-template-columns: repeat(1, 1fr);
    margin-top: 0;
    margin-bottom: 0;
    padding: 10px;
  }
}

.c-inpage_link {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 60px;
  background-color: #FFFFFF;
  font-size: 14px;
  line-height: 21px;
  text-align: center;
  transition: all 0.2s ease-in-out;
}
.c-inpage_link a {
  width: 100%;
}
.c-inpage_link:hover {
  background-color: #26499D;
  color: #FFFFFF;
}
@media screen and (max-width: 1024px) {
  .c-inpage_link {
    padding: 10px;
    height: auto;
    font-size: 12px;
    text-align: left;
  }
}

.c-child_thumbnail {
  margin-bottom: 100px;
  height: 420px;
}
.c-child_thumbnail img {
  width: 100%;
}
@media screen and (max-width: 1024px) {
  .c-child_thumbnail {
    height: auto;
    margin-bottom: 50px;
  }
}

.c-child_section {
  padding-bottom: 100px;
}
.c-child_section__desc {
  margin-top: 80px;
  margin-bottom: 61px;
  font-size: 15px;
  font-weight: 400;
  line-height: 29px;
}
.c-child_section .c-separator {
  margin-bottom: 60px;
}
.c-child_section .c-separator--s {
  margin-bottom: 40px;
}
.c-child_section h2 {
  min-width: 180px;
  margin-bottom: 60px;
  font-size: 32px;
  font-weight: bold;
  line-height: 1;
}
.c-child_section__content {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  font-size: 15px;
  font-weight: 400;
  line-height: 29px;
}
.c-child_section__content p {
  width: max(796px, 75%);
}
.c-child_section__content p:not(:last-child) {
  margin-bottom: 1em;
}
.c-child_section h3 {
  margin-bottom: 20px;
  color: #26499D;
  font-size: 24px;
  font-weight: bold;
}
.c-child_section h4 {
  margin-bottom: 20px;
  font-size: 18px;
  font-weight: 500;
}
.c-child_section--pdb-s {
  padding-bottom: 60px;
}
@media screen and (max-width: 1024px) {
  .c-child_section {
    padding-bottom: 30px;
  }
  .c-child_section h2 {
    margin-bottom: 30px;
    font-size: 22px;
    line-height: 32px;
  }
  .c-child_section h3 {
    margin-bottom: 10px;
    font-size: 18px;
    line-height: 28px;
  }
  .c-child_section h4 {
    margin-bottom: 15px;
    font-size: 16px;
    font-weight: 500;
  }
  .c-child_section__content {
    justify-content: flex-start;
  }
  .c-child_section__content p {
    width: 100%;
  }
  .c-child_section .c-separator {
    margin-bottom: 20px;
  }
  .c-child_section .c-separator--s {
    margin-bottom: 40px;
  }
  .c-child_section__desc {
    margin-top: 50px;
    margin-bottom: 50px;
    line-height: 25px;
  }
}

.c-child_bottom_links {
  margin-top: 140px;
}
.c-child_bottom_links ul {
  display: flex;
  height: 400px;
}
@media screen and (max-width: 1024px) {
  .c-child_bottom_links {
    margin-top: 60px;
  }
  .c-child_bottom_links ul {
    height: 155px;
  }
}

.c-child_bottom_link {
  position: relative;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transition: all 0.2s ease-in-out;
}
.c-child_bottom_link a {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 10px;
  width: 100%;
  height: 100%;
}
.c-child_bottom_link p {
  font-size: 24px;
  font-weight: bold;
}
.c-child_bottom_link span {
  font-family: "Barlow", sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 11px;
}
.c-child_bottom_link--company {
  background-color: #F1F1F1;
  color: #2E2624;
}
.c-child_bottom_link--business {
  background-color: #26499D;
  color: #FFFFFF;
}
.c-child_bottom_link .button {
  position: relative;
  margin-top: 45px;
  display: inline-block;
  width: 28px;
  height: 28px;
  background-color: #FFFFFF;
  border-radius: 50%;
  transition: all 0.2s ease-in-out;
}
.c-child_bottom_link .button::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 12px;
  display: block;
  width: 4px;
  height: 4px;
  background-color: #26499D;
  border-radius: 50%;
  translate: 0 -2px;
  transition: all 0.2s ease-in-out;
}
.c-child_bottom_link:hover {
  background-color: #2E2624;
  opacity: 1;
  cursor: pointer;
}
.c-child_bottom_link:hover a {
  color: #FFFFFF;
}
.c-child_bottom_link:hover .button::after {
  background: url(../images/button_arrow_blue.svg) 0 0/contain no-repeat transparent;
  content: "";
  top: 50%;
  right: 0;
  translate: -7px -4px;
  width: 14px;
  height: 8px;
}
@media screen and (max-width: 1024px) {
  .c-child_bottom_link {
    padding-top: 30px;
    padding-bottom: 30px;
  }
  .c-child_bottom_link a {
    gap: 0;
  }
  .c-child_bottom_link p {
    font-size: 16px;
    line-height: 1;
  }
  .c-child_bottom_link span {
    font-size: 12px;
  }
  .c-child_bottom_link .button {
    margin-top: 20px;
    width: 32px;
    height: 32px;
  }
  .c-child_bottom_link .button::after {
    content: "";
    background: url(../images/button_arrow_blue.svg) 0 0/contain no-repeat transparent;
    content: "";
    top: 50%;
    right: 0;
    translate: -8px -4px;
    width: 14px;
    height: 8px;
  }
  .c-child_bottom_link--company .button {
    background-color: #26499D;
  }
  .c-child_bottom_link--company .button::after {
    background-image: url(../images/button_arrow.svg);
  }
}

.c-child_person {
  padding: 20px 17px;
  background-color: #F1F1F1;
  border-left: solid 2px #26499D;
  font-size: 14px;
  line-height: 29px;
}

.c-child_detail {
  background-color: #F1F1F1;
  margin-top: 50px;
  padding: 30px;
}
.c-child_detail__part:not(:last-child) {
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-bottom: solid 1px #E6E6E6;
}
.c-child_detail__part h4 {
  margin-bottom: 10px;
  font-size: 18px;
  font-weight: bold;
}
.c-child_detail__part p {
  font-size: 15px;
  font-weight: 400;
}
@media screen and (max-width: 1024px) {
  .c-child_detail {
    margin-top: 40px;
    margin-bottom: 60px;
    margin-left: -20px;
    margin-right: -20px;
    padding: 20px;
  }
  .c-child_detail__part:not(:last-child) {
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: solid 1px #E6E6E6;
  }
  .c-child_detail__part h4 {
    margin-bottom: 10px;
  }
  .c-child_detail__part p {
    line-height: 25px;
  }
}

.c-case_area {
  background-color: #F7F7F7;
  margin-left: -143px;
  margin-bottom: 100px;
  padding-left: 143px;
  padding-bottom: 60px;
}
.c-case_area h2 {
  margin-top: 56px;
  margin-bottom: 40px;
}
.c-case_area ul {
  display: flex;
  margin-right: 60px;
  margin-bottom: 40px;
  border: solid 1px #E6E6E6;
}
.c-case_area__card {
  padding: 20px;
  background-color: #FFFFFF;
}
.c-case_area__card:not(:last-child) {
  border: solid 1px #E6E6E6;
}
.c-case_area__card img {
  width: 100%;
  height: auto;
}
.c-case_area__card h4 {
  margin-bottom: 15px;
  line-height: 30px;
}
.c-case_area__card p {
  margin-bottom: 20px;
  font-size: 14px;
  font-weight: 400;
  line-height: 24px;
}
.c-case_area__card:hover img {
  transition: all 0.2s ease-in-out;
  scale: 1.05;
}
.c-case_area__box {
  padding: 0 10px;
}
@media screen and (max-width: 1024px) {
  .c-case_area {
    margin-left: -20px;
    margin-right: -20px;
    margin-bottom: 30px;
    padding-left: 20px;
    padding-right: 20px;
    padding-bottom: 40px;
  }
  .c-case_area h2 {
    margin-top: 22px;
    margin-bottom: 30px;
  }
  .c-case_area ul {
    flex-direction: column;
    margin-right: 0;
    margin-bottom: 20px;
    border: none;
  }
  .c-case_area__card {
    border: solid 1px #E6E6E6;
  }
  .c-case_area__card:not(:last-child) {
    margin-bottom: 10px;
  }
  .c-case_area__card h4 {
    font-size: 18px;
  }
  .c-case_area__card p {
    font-size: 13px;
  }
}

/* ------------------------
// 第４階層のページ固有のCSS
// ----------------------*/
.p-page_fourth .c-fixed_contact {
  top: auto;
  bottom: 50px;
}
.p-page_fourth .c-child_thumbnail {
  margin-bottom: 60px;
}
.p-page_fourth .c-child_section h2 {
  margin-bottom: 50px;
  line-height: 50px;
}
.p-page_fourth .c-child_section h3 {
  margin-bottom: 25px;
  color: #2E2624;
  font-size: 24px;
}
.p-page_fourth .c-child_section p {
  font-size: 15px;
  font-weight: 400;
  line-height: 29px;
  width: 100%;
}
.p-page_fourth + .c-child_bottom_links {
  margin-top: 100px;
}
.p-page_fourth iframe {
  width: 100%;
}
@media screen and (max-width: 1024px) {
  .p-page_fourth .c-child_thumbnail {
    margin-top: 0;
    margin-bottom: 50px;
  }
  .p-page_fourth .c-child_section h2 {
    margin-bottom: 30px;
    line-height: 32px;
  }
  .p-page_fourth + .c-child_bottom_links {
    margin-top: 60px;
  }
}
.p-page_fourth .c-case_area .p-cms_articles {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border: none;
}
@media screen and (max-width: 1024px) {
  .p-page_fourth .c-case_area .p-cms_articles {
    grid-template-columns: repeat(1, 1fr);
  }
}
.p-page_fourth .c-case_area__card h4 {
  font-size: 18px;
  line-height: 30px;
  margin-bottom: 15px;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.p-page_fourth .c-case_area__card p {
  margin-bottom: 20px;
  font-size: 14px;
  line-height: 24px;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 5;
}

.c-fourth_nav {
  position: sticky;
  top: 174px;
  left: 100%;
  width: 333px;
  margin-top: -105px;
  padding: 20px 20px 30px;
  background-color: #F1F1F1;
  font-size: 14px;
  line-height: 1;
  z-index: 10000;
}
.c-fourth_nav__title {
  margin-bottom: 5px;
  padding-bottom: 10px;
  border-bottom: 2px solid #26499D;
  font-weight: bold;
}
.c-fourth_nav__list {
  font-weight: 400;
}
.c-fourth_nav__item {
  padding-top: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid #E6E6E6;
  transition: all 0.2s linear;
}
.c-fourth_nav__item::before {
  content: "";
  transition: all 0.2s ease-in-out;
}
.c-fourth_nav__item--selected, .c-fourth_nav__item:hover {
  color: #26499D;
  font-weight: 500;
}
.c-fourth_nav__item--selected::before, .c-fourth_nav__item:hover::before {
  content: "";
  display: inline-block;
  width: 4px;
  height: 4px;
  margin-right: 10px;
  border-radius: 50%;
  background-color: #26499D;
  translate: 0 -70%;
}
.c-fourth_nav--second {
  top: 439px;
}
@media screen and (max-width: 1024px) {
  .c-fourth_nav {
    position: relative;
    top: 0;
    left: 0;
    width: auto;
    margin: 20px 20px 40px;
    padding: 10px 20px 15px;
  }
  .c-fourth_nav--first {
    margin-bottom: 10px;
  }
  .c-fourth_nav--second {
    margin-top: 0;
    margin-bottom: 50px;
  }
}

.p-recruit.p-recruit--fourth {
  display: block;
  height: 331px;
  padding-top: 63px;
  padding-bottom: 0;
  background-image: url(../images/children_recruit_bg.jpg);
  text-align: center;
}
.p-recruit.p-recruit--fourth .p-flex_wrapper {
  flex-direction: column;
  align-items: center;
}
.p-recruit.p-recruit--fourth .p-category {
  margin-bottom: 15px;
  padding-left: 0;
}
.p-recruit.p-recruit--fourth .p-category::before {
  display: none;
}
.p-recruit.p-recruit--fourth h2 {
  margin-bottom: 30px;
  font-size: 24px;
}
.p-recruit.p-recruit--fourth p {
  line-height: 29px;
}
.p-recruit.p-recruit--fourth .button {
  position: relative;
  margin-top: 30px;
  display: inline-block;
  width: 28px;
  height: 28px;
  background-color: #FFFFFF;
  border-radius: 50%;
  transition: all 0.2s ease-in-out;
}
.p-recruit.p-recruit--fourth .button::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 12px;
  display: block;
  width: 4px;
  height: 4px;
  background-color: #26499D;
  border-radius: 50%;
  translate: 0 -2px;
  transition: all 0.2s ease-in-out;
}
.p-recruit.p-recruit--fourth:hover {
  background-color: #2E2624;
  opacity: 1;
  cursor: pointer;
}
.p-recruit.p-recruit--fourth:hover a {
  color: #FFFFFF;
}
.p-recruit.p-recruit--fourth:hover .button::after {
  background: url(../images/button_arrow_blue.svg) 0 0/contain no-repeat transparent;
  content: "";
  top: 50%;
  right: 0;
  translate: -7px -4px;
  width: 14px;
  height: 8px;
}
@media screen and (max-width: 1024px) {
  .p-recruit.p-recruit--fourth {
    height: 336px;
    padding-top: 30px;
    padding-bottom: 0;
    background: url(../images/front_requruit_bg_sp.jpg) left 10%/cover no-repeat;
  }
  .p-recruit.p-recruit--fourth .p-category {
    margin-bottom: 15px;
  }
  .p-recruit.p-recruit--fourth h2 {
    line-height: 1;
  }
  .p-recruit.p-recruit--fourth p {
    margin-top: 0;
    font-size: 14px;
  }
}

/* ------------------------
// プライバシーポリシー
// ----------------------*/
.p-page_privacy_policy p {
  font-size: 15px;
  line-height: 29px;
  font-weight: 400;
}
.p-page_privacy_policy h2 {
  margin-top: 60px;
  font-size: 24px;
  line-height: 36px;
}
@media screen and (max-width: 1024px) {
  .p-page_privacy_policy h2 {
    margin-top: 40px;
    font-size: 18px;
    line-height: 28px;
  }
}
.p-page_privacy_policy .c-separator {
  margin-block: 20px 30px;
}
@media screen and (max-width: 1024px) {
  .p-page_privacy_policy .c-separator {
    margin-bottom: 20px;
  }
}
.p-page_privacy_policy .c-child_section__content {
  display: block;
}
.p-page_privacy_policy .c-child_section__content b {
  font-weight: 500;
}
.p-page_privacy_policy .l-inner-s {
  margin-bottom: 200px;
  margin-inline: auto;
  max-width: 796px;
}
@media screen and (max-width: 1024px) {
  .p-page_privacy_policy .l-inner-s {
    margin-inline: 20px;
    margin-bottom: 60px;
    max-width: 100%;
  }
}

/* ==========================================================================
// パンくずリストのスタイル
// ========================================================================*/
.c-breadcrumb__wrapper {
  border-top: solid 1px #DEE7EB;
  border-bottom: solid 1px #DEE7EB;
}

.c-breadcrumb {
  display: flex;
  flex-wrap: nowrap;
  padding: 30px 143px;
}
.c-breadcrumb__link {
  font-size: 12px;
  font-weight: 400;
}
.c-breadcrumb__link:not(:first-child) {
  position: relative;
  top: 0;
  left: 0;
  margin-left: 64px;
}
.c-breadcrumb__link:not(:first-child)::before {
  content: "";
  position: absolute;
  top: 5px;
  left: -32px;
  display: block;
  width: 5px;
  height: 11px;
  background: url(../images/arrow_black.svg) 0 0/contain no-repeat;
}
.c-breadcrumb__link--active {
  color: #26499D;
}
@media screen and (max-width: 1024px) {
  .c-breadcrumb {
    flex-wrap: wrap;
    padding: 20px 15px;
  }
  .c-breadcrumb__link:not(:first-child) {
    margin-left: 20px;
  }
  .c-breadcrumb__link:not(:first-child)::before {
    top: 8px;
    left: -20px;
  }
  .c-breadcrumb__link:not(:last-child) {
    margin-right: 20px;
  }
}

.c-loading {
  position: fixed;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100vw;
  height: 100svh;
  background-color: #FFFFFF;
  opacity: 1;
  transition: all 0.3s linear;
  visibility: visible;
  z-index: 100000;
}
.c-loading.is-hidden {
  opacity: 0;
  visibility: hidden;
}
.c-loading__bg {
  position: fixed;
  top: 0;
  left: 0;
  display: none;
  width: 100vw;
  height: 100vh;
  background-color: #26499D;
}
.c-loading__bg.is-appear {
  display: block;
  animation: openingAnimation 1.2s ease-in-out forwards;
}
.c-loading__logo img {
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  opacity: 0;
  transition: all 0.3s ease-in-out forwards;
}
.c-loading__logo.is-hidden {
  display: none;
}

@keyframes openingAnimation {
  0% {
    transform-origin: left;
    transform: scaleX(0);
  }
  50% {
    transform-origin: left;
    transform: scaleX(1);
  }
  50.001% {
    transform-origin: right;
  }
  100% {
    transform-origin: right;
    transform: scaleX(0);
  }
}
.is-visited .c-loading {
  display: none;
}
.is-visited .p-firstview__title,
.is-visited .p-firstview__logo {
  display: block;
}
.is-visited .c-header.js-firstview-header {
  display: flex;
}

/* ==========================================================================
// フロント（TOP）ページ
// ========================================================================*/
/* ------------------------
// フロントページ内共通のスタイル
// ----------------------*/
.p-category {
  font-family: "Barlow", sans-serif;
  font-weight: 700;
  font-style: normal;
  position: relative;
  top: 0;
  left: 0;
  display: block;
  margin-bottom: 40px;
  padding-left: 50px;
  font-size: 14px;
}
.p-category--blue {
  color: #26499D;
}
.p-category--blue::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  display: inline-block;
  width: 30px;
  height: 2px;
  background-color: #26499D;
}
.p-category--white {
  color: #FFFFFF;
}
.p-category--white::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  display: inline-block;
  width: 30px;
  height: 2px;
  background-color: #FFFFFF;
}
@media screen and (max-width: 1024px) {
  .p-category {
    margin-bottom: 15px;
    font-size: 12px;
  }
}

.p-link_more {
  position: relative;
  top: 0;
  left: 0;
  padding-right: 38px;
  font-size: 14px;
  font-weight: bold;
}
.p-link_more::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  display: inline-block;
  width: 28px;
  height: 28px;
  background-color: #26499D;
  border-radius: 50%;
  translate: 0 -14px;
  transition: all 0.2s ease-in-out;
}
.p-link_more::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 12px;
  display: block;
  width: 4px;
  height: 4px;
  background-color: #FFFFFF;
  border-radius: 50%;
  translate: 0 -2px;
  transition: all 0.2s ease-in-out;
}
.p-link_more:hover::before {
  content: "";
  scale: 1.14;
}
.p-link_more:hover::after {
  content: "";
  top: 50%;
  right: 0;
  translate: -7px -4px;
  width: 14px;
  height: 8px;
  background: url(../images/button_arrow.svg) 0 0/contain no-repeat transparent;
}
@media screen and (max-width: 1024px) {
  .p-link_more::after {
    content: "";
    top: 50%;
    right: 0;
    translate: -7px -4px;
    width: 14px;
    height: 8px;
    background: url(../images/button_arrow.svg) 0 0/contain no-repeat transparent;
  }
}

.p-flex_wrapper {
  display: flex;
}
@media screen and (max-width: 1024px) {
  .p-flex_wrapper {
    display: block;
  }
}

/* ------------------------
// ファーストビュー、MESSAGE
// ----------------------*/
#firstview-header {
  display: none;
}

.p-firstview {
  background: url(../images/firstview.jpg) top left/cover no-repeat fixed;
  height: 1711px;
  color: #FFFFFF;
}
@media screen and (max-width: 1024px) {
  .p-firstview {
    position: relative;
    background: none;
    background-color: transparent;
    height: 1427px;
    clip-path: inset(0);
  }
  .p-firstview::after {
    content: "";
    position: fixed;
    inset: 0;
    width: 100%;
    height: 100vh;
    background: url(../images/firstview_sp.jpg) top left/cover no-repeat;
    z-index: -10;
  }
}

.p-firstview__inner {
  position: relative;
  top: 0;
  left: 0;
}
@media screen and (max-width: 1024px) {
  .p-firstview__inner {
    margin: auto;
  }
}

.p-firstview__title {
  position: absolute;
  top: 318px;
  left: 0;
  display: none;
  font-size: 80px;
  font-weight: bold;
  line-height: 137px;
}
.p-firstview__title > span {
  position: relative;
  top: 0;
  left: 0;
}
.p-firstview__title_bg {
  content: "";
  position: absolute;
  top: 30px;
  left: 0;
  display: block;
  width: 100%;
  height: 80px;
  background-color: #26499D;
  animation: openingAnimation 1.2s ease-in-out forwards;
}
.p-firstview__title .p-firstview__letter {
  display: block;
  --animation-delay: 1.5s;
}
@media screen and (max-width: 1024px) {
  .p-firstview__title {
    display: none;
    justify-content: center;
    top: 467px;
    left: 40px;
    font-size: 40px;
    line-height: 60px;
  }
  .p-firstview__title_bg {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 80px;
    background-color: #26499D;
    animation: openingAnimation 1.2s ease-in-out forwards;
  }
}

.p-firstview__logo {
  position: absolute;
  top: 508px;
  right: 0;
  display: none;
}
@media screen and (max-width: 1024px) {
  .p-firstview__logo {
    display: none;
    align-items: center;
    justify-content: center;
    top: 167px;
    left: 50%;
    right: 0;
    width: 207px;
    height: 207px;
    translate: -50% 0;
  }
  .p-firstview__logo svg {
    width: 100%;
    height: 100%;
  }
}

.p-message {
  position: absolute;
  top: 1146px;
  left: 0;
}
@media screen and (max-width: 1024px) {
  .p-message {
    top: 755px;
  }
}

.p-message__content {
  display: flex;
  flex-wrap: nowrap;
  margin-bottom: 102px;
}
@media screen and (max-width: 1024px) {
  .p-message__content {
    display: block;
    margin-bottom: 60px;
  }
}

.p-message__title {
  flex: 1;
}
@media screen and (max-width: 1024px) {
  .p-message__title {
    margin-bottom: 40px;
    font-size: 24px;
  }
}

.p-message__text {
  flex: 1;
}
@media screen and (max-width: 1024px) {
  .p-message__text {
    font-size: 16px;
  }
}

/* ------------------------
// 事業内容
// ----------------------*/
.p-business {
  padding-bottom: 177px;
  color: #2E2624;
}
.p-business.p-flex_wrapper > *:first-child {
  flex: 1;
}
.p-business.p-flex_wrapper > *:last-child {
  flex: 2;
}
.p-business .c-button {
  margin-left: 0;
}
@media screen and (max-width: 1024px) {
  .p-business {
    display: block;
    background-color: #fff;
    padding-top: 72px;
    padding-bottom: 60px;
  }
  .p-business .c-button.sp {
    display: flex !important;
    margin-left: auto;
    margin-right: auto;
  }
}

.p-business__title {
  margin-bottom: 50px;
}

.p-business__list {
  margin-bottom: 50px;
  font-weight: bold;
}

.p-business__dist {
  transition: all 0.2s ease-in-out;
}

.p-business__item {
  margin-bottom: 19px;
}
.p-business__item label {
  cursor: pointer;
  transition: all 0.2s ease-in-out;
}
.p-business__item label:hover {
  color: #26499D;
}
.p-business__item label:hover .p-business__dist {
  display: inline-block;
  width: 6px;
  height: 6px;
  margin-right: 10px;
  border-radius: 50%;
  background-color: #26499D;
  vertical-align: middle;
}
.p-business__item input {
  display: none;
}
.p-business__item input:checked + .p-business__label {
  display: flex;
  align-items: center;
  color: #26499D;
}
.p-business__item input:checked + .p-business__label .p-business__dist {
  display: inline-block;
  width: 6px;
  height: 6px;
  margin-right: 10px;
  border-radius: 50%;
  background-color: #26499D;
  vertical-align: middle;
}

.p-business_box .p-flex_wrapper > * {
  flex: 1;
}
@media screen and (max-width: 1024px) {
  .p-business_box {
    margin-top: 20px;
  }
}

.p-business_content {
  display: none;
  transition: all 0.3s ease-in-out;
  opacity: 0;
}

.p-business_content.active {
  opacity: 1;
  display: flex;
}
@media screen and (max-width: 1024px) {
  .p-business_content.active {
    display: block;
  }
}

.p-business_box__about {
  margin-bottom: 70px;
}
@media screen and (max-width: 1024px) {
  .p-business_box__about {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    margin-bottom: 30px;
  }
}

.p-business_box__index {
  font-family: "Barlow", sans-serif;
  font-weight: 700;
  font-style: normal;
  position: relative;
  top: 0;
  left: 0;
  display: block;
  margin-bottom: 45px;
  color: #26499D;
  font-size: 78px;
}
.p-business_box__index::after {
  content: "";
  position: absolute;
  bottom: -15px;
  left: 0;
  display: block;
  width: 20px;
  height: 4px;
  background-color: #26499D;
}
@media screen and (max-width: 1024px) {
  .p-business_box__index {
    margin-right: 20px;
    margin-bottom: 10px;
    line-height: 1.3;
    font-size: 60px;
  }
  .p-business_box__index::after {
    content: "";
    display: none;
  }
}

.p-business_box__title {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-style: normal;
  margin-bottom: 40px;
  font-size: 24px;
  font-weight: bold;
}
@media screen and (max-width: 1024px) {
  .p-business_box__title {
    margin-bottom: 18px;
    color: #26499D;
    font-size: 20px;
  }
}

@media screen and (max-width: 1024px) {
  .p-business_box__text {
    flex: 100%;
    font-size: 15px;
  }
}

.p-business_box__image {
  text-align: right;
}
@media screen and (max-width: 1024px) {
  .p-business_box__image {
    margin-bottom: 30px;
    text-align: center;
  }
  .p-business_box__image img {
    width: 100%;
  }
}

.p-business_nav {
  font-family: "Barlow", sans-serif;
  font-weight: 500;
  font-style: normal;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
}
.p-business_nav__item {
  font-size: 14px;
}
.p-business_nav__item:not(:last-child) {
  margin-right: 22px;
}
@media screen and (max-width: 1024px) {
  .p-business_nav {
    justify-content: center;
    margin-bottom: 30px;
  }
}

.p-business_nav__item {
  user-select: none;
  cursor: pointer;
}
.p-business_nav__item.active {
  position: relative;
  top: 0;
  left: 0;
  color: #26499D;
  font-size: 18px;
  font-weight: bold;
}
.p-business_nav__item.active > span {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 37px;
  height: 37px;
  clip-path: circle();
  display: grid;
  place-items: center;
  translate: -50% -50%;
  z-index: -10;
}
.p-business_nav__item.active > span::before {
  content: "";
  position: absolute;
  display: block;
  top: 50%;
  left: 50%;
  width: 30px;
  height: 30px;
  background-color: white;
  translate: -50% -50%;
  clip-path: circle();
}
@media screen and (max-width: 1024px) {
  .p-business_nav__item.active::after {
    top: 0;
  }
}

@keyframes rolling {
  0% {
    rotate: 0;
  }
  5% {
    rotate: 20deg;
  }
  50% {
    rotate: 360deg;
  }
  100% {
    rotate: 360deg;
  }
}
/* ------------------------
// 品質管理の取り組み
// ----------------------*/
.p-quality {
  position: relative;
  top: 0;
  left: 0;
  height: 851px;
  color: #FFFFFF;
}
.p-quality .p-flex_wrapper {
  margin-bottom: 50px;
}
.p-quality .p-flex_wrapper > *:first-child {
  flex: 1;
}
.p-quality .p-flex_wrapper > *:last-child {
  flex: 2;
}
@media screen and (max-width: 1024px) {
  .p-quality {
    height: 765px;
  }
  .p-quality .c-title {
    margin-bottom: 40px;
  }
}

.p-quality__inner {
  margin-left: 0;
  padding-top: 120px;
  padding-bottom: 100px;
  background-color: #2E2624;
}
@media screen and (max-width: 1024px) {
  .p-quality__inner {
    margin-right: 0;
    padding-top: 60px;
    padding-bottom: 60px;
  }
}

.p-quality__bg {
  position: relative;
  top: -128px;
  right: 0;
  margin-right: 0;
  z-index: -10;
}
.p-quality__bg img {
  width: 100%;
}
@media screen and (max-width: 1024px) {
  .p-quality__bg {
    top: 0;
    height: 278px;
    margin-left: 0;
    background: url(../images/front_quality_sp.jpg) 0 0/cover no-repeat;
  }
}

@media screen and (max-width: 1024px) {
  .p-quality__text {
    margin-bottom: 60px;
    font-size: 15px;
  }
}

/* ------------------------
// 施工事例
// ----------------------*/
.p-case {
  padding-top: 180px;
  padding-bottom: 180px;
}
.p-case .p-flex_wrapper {
  justify-content: space-between;
  align-items: end;
}
@media screen and (max-width: 1024px) {
  .p-case {
    padding-top: 60px;
    padding-bottom: 116px;
    background-color: #fff;
  }
  .p-case .c-title {
    margin-bottom: 30px;
  }
}

.splide {
  margin-top: 60px;
}
@media screen and (max-width: 1024px) {
  .splide {
    margin-top: 18px;
  }
}

.splide__slide {
  position: relative;
  top: 0;
  left: 0;
  width: 290px;
  padding: 20px;
  border: solid 1px #E6E6E6;
}
.splide__slide:hover img {
  scale: 1.05;
}
.splide__slide img {
  width: 100%;
  height: 182px;
  margin-bottom: 20px;
  transition: scale 0.2s ease-in-out;
}
@media screen and (max-width: 1024px) {
  .splide__slide {
    min-height: 464px;
  }
}

.splide__title {
  margin-bottom: 15px;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  font-size: 18px;
  font-weight: bold;
  overflow: hidden;
}

.splide__text {
  margin-bottom: 20px;
  font-size: 14px;
  font-weight: 400;
  display: -webkit-box;
  text-overflow: ellipsis;
  white-space: wrap;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 5;
  max-height: 120px;
  overflow: hidden;
}

/* ----- splide.min.cssの上書き ----- */
.splide__arrows {
  position: absolute;
  top: 100%;
  right: 143px;
  margin-top: 40px;
}
@media screen and (max-width: 1024px) {
  .splide__arrows {
    right: 40px;
  }
}

.splide__arrow {
  width: 46px;
  height: 46px;
  border: solid 2px #2E2624;
  background: none;
}
.splide__arrow--prev {
  left: -112px;
}
.splide__arrow--next {
  right: 0;
}
.splide__arrow svg {
  width: 0.8em;
  height: 0.8em;
}
@media screen and (max-width: 1024px) {
  .splide__arrow {
    width: 36px;
    height: 36px;
  }
  .splide__arrow--prev {
    left: -81px;
  }
}

.splide__pagination {
  bottom: -40px;
  display: flex;
  width: calc(100% - 438px);
  height: 2px;
  margin-left: 143px;
}
.splide__pagination li {
  flex: 1;
  display: inline-block;
  line-height: 0;
  list-style-type: none;
  margin: 0;
  pointer-events: auto;
  width: 100%;
}
@media screen and (max-width: 1024px) {
  .splide__pagination {
    margin-left: 0;
    width: calc(100% - 120px);
  }
}

.splide__pagination__page {
  flex: 1;
  background: #E6E6E6;
  border: 0;
  border-radius: 0;
  display: inline-block;
  width: 100% !important;
  height: 2px !important;
  margin: 0;
  opacity: 1;
  padding: 0;
  transition: transform 0.2s linear;
}

.splide__pagination__page.is-active {
  background: #26499D;
  transform: none;
  transition: all 0.3s ease-in-out;
  z-index: 1;
}

/* ------------------------
// お客様の声
// ----------------------*/
.p-voice {
  padding-top: 180px;
  background: linear-gradient(#F1F1F1 0 76%, rgba(0, 0, 0, 0) 76% 100%);
}
.p-voice .p-flex_wrapper {
  justify-content: space-between;
  align-items: end;
}
@media screen and (max-width: 1024px) {
  .p-voice {
    padding-top: 62px;
    background: linear-gradient(#F1F1F1 0 67%, rgba(0, 0, 0, 0) 67% 100%);
  }
  .p-voice .c-title {
    margin-bottom: 30px;
  }
}

.p-voice__bg {
  width: auto;
  height: 480px;
  margin-top: -264px;
  margin-left: 0;
  background: url(../images/front_voice_bg.jpg) top left/cover no-repeat;
  z-index: -10;
}
@media screen and (max-width: 1024px) {
  .p-voice__bg {
    background: url(../images/front_voice_bg_sp.jpg) top left/cover no-repeat;
    margin-top: -654px;
    height: 708px;
  }
}

.p-voice__list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  column-gap: 20px;
  row-gap: 30px;
  margin-top: 40px;
}
@media screen and (max-width: 1024px) {
  .p-voice__list {
    grid-template-columns: repeat(2, 1fr);
    column-gap: 15px;
    row-gap: 20px;
    margin-top: 50px;
  }
}

.p-voice__item {
  position: relative;
  top: 0;
  left: 0;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 159px;
  padding: 30px;
  background-color: #FFFFFF;
  border-radius: 10px;
  box-shadow: 0 13px 15px rgba(0, 0, 0, 0.16);
  transition: scale 0.3s ease-in-out;
  z-index: 1000;
}
.p-voice__item::before {
  content: "";
  position: absolute;
  top: 100%;
  right: 0;
  margin-top: -22px;
  margin-right: 20px;
  border: 13px solid transparent;
  border-top: 13px solid #FFFFFF;
  rotate: 225deg;
}
.p-voice__item:hover {
  scale: 1.04 1.05;
  margin-left: -2.5%;
  background-color: #26499D;
  color: #FFFFFF;
}
.p-voice__item:hover::before {
  content: "";
  border-top: 13px solid #26499D;
}
.p-voice__item:hover .c-category {
  background-color: #FFFFFF;
  color: #26499D;
}
.p-voice__item .c-category {
  align-self: flex-start;
}
@media screen and (max-width: 1024px) {
  .p-voice__item {
    padding: 20px;
    height: 141px;
    line-height: 1.4;
  }
  .p-voice__item::before {
    content: "";
    margin-top: -8px;
    margin-right: 11px;
    border: 10px solid transparent;
    border-top: 6px solid #FFFFFF;
    rotate: 90deg;
  }
}

.p-voice__title {
  font-size: 18px;
  font-weight: bold;
}
@media screen and (max-width: 1024px) {
  .p-voice__title {
    font-size: 14px;
  }
}

/* ------------------------
// 新着情報
// ----------------------*/
.p-news {
  padding-top: 180px;
  padding-bottom: 180px;
}
.p-news .p-flex_wrapper {
  justify-content: space-between;
  align-items: end;
}
@media screen and (max-width: 1024px) {
  .p-news {
    padding-top: 70px;
    padding-bottom: 58px;
  }
  .p-news .c-title {
    margin-bottom: 30px;
  }
  .p-news .p-link_more {
    display: inline-block !important;
    margin-top: 20px;
  }
}
.p-news .c-select__options {
  scale: 1;
  visibility: visible;
}
@media screen and (max-width: 1024px) {
  .p-news .c-select__options {
    scale: 1 0;
    visibility: hidden;
    transform-origin: center top;
    transition: scale 0.2s ease-in-out, visibility 0.2s ease-in-out;
  }
}

.p-news__box {
  margin-top: 50px;
}
.p-news__box > *:first-child {
  flex: 1;
}
.p-news__box > *:last-child {
  flex: 2;
}
.p-news__box.p-flex_wrapper {
  align-items: flex-start;
}
@media screen and (max-width: 1024px) {
  .p-news__box {
    margin-top: 30px;
  }
}

.p-news__menu {
  flex: 1;
  font-size: 14px;
  font-weight: bold;
}
.p-news__menu li {
  width: fit-content;
}
.p-news__menu li:not(:last-child) {
  margin-bottom: 19px;
}
@media screen and (max-width: 1024px) {
  .p-news__menu li:not(:last-child) {
    margin-bottom: 0;
  }
}
@media screen and (max-width: 1024px) {
  .p-news__menu li {
    width: 100%;
    height: 30px;
    background-color: #26499D;
    color: #FFFFFF;
  }
}
.p-news__menu input {
  display: none;
}
.p-news__menu input:checked + label {
  color: #26499D;
}
@media screen and (max-width: 1024px) {
  .p-news__menu input:checked + label {
    color: #FFFFFF;
  }
}
.p-news__menu input:checked + label::before {
  content: "";
  display: inline-block;
  width: 4px;
  height: 4px;
  margin-right: 10px;
  background-color: #26499D;
  border-radius: 50%;
  translate: 0 -70%;
}
.p-news__menu label {
  cursor: pointer;
  transition: all 0.2s ease-in-out;
}
.p-news__menu label::before {
  transition: all 0.2s ease-in-out;
}
.p-news__menu label:hover {
  color: #26499D;
}
.p-news__menu label:hover::before {
  content: "";
  display: inline-block;
  width: 4px;
  height: 4px;
  margin-right: 10px;
  background-color: #26499D;
  border-radius: 50%;
  translate: 0 -70%;
}

@media screen and (max-width: 1024px) {
  .p-news__view_area {
    margin-top: 30px;
  }
}

.p-news_article {
  height: 68px;
  border-top: solid 1px #E6E6E6;
}
.p-news_article:last-child {
  border-bottom: solid 1px #E6E6E6;
}
.p-news_article a {
  display: flex;
  flex-wrap: nowrap;
  gap: 20px;
  white-space: nowrap;
}
.p-news_article .c-category {
  align-self: center;
  margin-left: 10px;
}
@media screen and (max-width: 1024px) {
  .p-news_article {
    height: 122px;
  }
  .p-news_article a {
    flex-wrap: wrap;
    column-gap: 20px;
    row-gap: 10px;
    align-items: center;
    padding-top: 20px;
    padding-bottom: 20px;
  }
}

.p-news_article__date {
  font-family: "Barlow", sans-serif;
  font-weight: 500;
  font-style: normal;
  font-size: 14px;
  line-height: 68px;
}
@media screen and (max-width: 1024px) {
  .p-news_article__date {
    line-height: 1;
  }
}

.p-news_article__title {
  font-size: 14px;
  line-height: 68px;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
  white-space: normal;
}
@media screen and (max-width: 1024px) {
  .p-news_article__title {
    flex: 100%;
    line-height: 24px;
  }
}

/* ------------------------
// 採用情報
// ----------------------*/
.p-recruit {
  padding-top: 176px;
  padding-bottom: 147px;
  background-image: url(../images/front_requruit_bg.jpg);
  background-size: cover;
  background-position: center top;
  color: #FFFFFF;
}
.p-recruit .p-flex_wrapper {
  margin-bottom: 50px;
}
@media screen and (max-width: 1024px) {
  .p-recruit {
    padding-top: 60px;
    padding-bottom: 30px;
    background-image: url(../images/front_requruit_bg_sp.jpg);
    background-size: cover;
    background-position: center bottom;
  }
  .p-recruit .p-flex_wrapper {
    margin-bottom: 60px;
  }
}

.p-recruit__text {
  font-size: 15px;
}
@media screen and (max-width: 1024px) {
  .p-recruit__text {
    margin-top: 40px;
  }
}

/* ==========================================================================
// 下層ページそれぞれ固有のスタイル
// ========================================================================*/
/* ------------------------
// 会社概要
// ----------------------*/
.p-page_company {
  margin-bottom: 140px;
}
@media screen and (max-width: 1024px) {
  .p-page_company {
    margin-bottom: 30px;
  }
}
.p-page_company .c-button_simple_wide {
  margin: 0 auto 80px;
  max-width: 780px;
}

/* ------------------------
// 会社概要 - 経営理念とビジョン
// ----------------------*/
.p-page_company_vision .c-child_section__content p {
  width: 796px;
}
.p-page_company_vision .c-child_section__content p:not(:last-child) {
  margin-bottom: 40px;
}
@media screen and (max-width: 1024px) {
  .p-page_company_vision .c-child_section__content p {
    width: 100%;
  }
}
.p-page_company_vision .p-flex_wrapper {
  justify-content: space-between;
}

.c-child_section__content--vision h3 {
  margin-bottom: 60px;
}
.c-child_section__content--vision p {
  font-size: 16px;
}
@media screen and (max-width: 1024px) {
  .c-child_section__content--vision h3 {
    margin-bottom: 20px;
  }
  .c-child_section__content--vision p {
    font-size: 15px;
  }
}

/* ------------------------
// 会社概要 - 十勝を中心としたグループ企業
// ----------------------*/
.c-group_cards {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 60px;
  row-gap: 60px;
  margin-top: 60px;
}
@media screen and (max-width: 1024px) {
  .c-group_cards {
    grid-template-columns: repeat(1, 1fr);
    row-gap: 50px;
  }
}

.c-group_card {
  justify-self: center;
  width: clamp(300px, 100%, 510px);
}
.c-group_card__thumb {
  width: clamp(300px, 100%, 510px);
  height: 295px;
  overflow: hidden;
}
.c-group_card__thumb img {
  margin-inline: auto;
  width: 100%;
  transition: scale 0.3s ease-in-out;
}
.c-group_card__title {
  position: relative;
  top: 0;
  left: 0;
  margin-top: 20px;
  font-size: 20px;
}
.c-group_card__title::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  display: inline-block;
  width: 28px;
  height: 28px;
  background-color: #26499D;
  border-radius: 50%;
  translate: 0 -14px;
  transition: all 0.2s ease-in-out;
}
.c-group_card__title::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 12px;
  display: block;
  width: 4px;
  height: 4px;
  background-color: #FFFFFF;
  border-radius: 50%;
  translate: 0 -2px;
  transition: all 0.2s ease-in-out;
}
.c-group_card:hover {
  cursor: pointer;
}
.c-group_card:hover .c-group_card__thumb img {
  scale: 1.1;
}
.c-group_card:hover .c-group_card__title::before {
  content: "";
  scale: 1.14;
}
.c-group_card:hover .c-group_card__title::after {
  content: "";
  top: 50%;
  right: 0;
  translate: -7px -4px;
  width: 14px;
  height: 8px;
  background: url(../images/button_arrow.svg) 0 0/contain no-repeat transparent;
}
.c-group_card p {
  font-size: 13px;
  font-weight: 400;
}
.c-group_card__separator {
  position: relative;
  top: 0;
  left: 0;
  width: 100%;
  height: 1px;
  margin-top: 20px;
  margin-bottom: 20px;
  background-color: #E6E6E6;
}
.c-group_card__separator::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 20px;
  height: 1px;
  background-color: #26499D;
}
@media screen and (max-width: 1024px) {
  .c-group_card:hover {
    cursor: default;
  }
  .c-group_card img {
    width: 100%;
  }
}

/* ------------------------
// 十勝を中心としたグループ企業 - 各会社
// ----------------------*/
.p-page_sogo iframe {
  margin-top: 40px;
}
@media screen and (max-width: 1024px) {
  .p-page_sogo iframe {
    margin-top: 15px;
  }
}

.p-page_sogo .c-fourth_nav,
.p-page_dosanshoji .c-fourth_nav,
.p-page_soeidenki .c-fourth_nav,
.p-page_konnodenki .c-fourth_nav {
  height: 211px;
  padding-bottom: 20px;
}

.p-table {
  width: 100%;
  font-size: 15px;
  line-height: 29px;
}
.p-table tr {
  display: flex;
  justify-content: space-between;
  padding-top: 15px;
  padding-bottom: 15px;
  border-bottom: solid 1px #E6E6E6;
  text-align: left;
}
.p-table th {
  flex: 1;
  font-weight: 500;
}
.p-table td {
  flex: 3;
  font-weight: 400;
}
@media screen and (max-width: 1024px) {
  .p-table {
    margin-bottom: 30px;
    line-height: 25px;
  }
  .p-table th {
    margin-right: 21px;
  }
}

/* ------------------------
// 会社概要 - 経営者からのメッセージ
// ----------------------*/
.p-page_company_message .c-third_title p {
  margin-left: 143px;
}
@media screen and (max-width: 1024px) {
  .p-page_company_message .c-third_title p {
    margin-left: 20px;
  }
}

/* ------------------------
// 組織図
// ----------------------*/
.p-page_company_organization .c-child_section:last-child {
  padding-bottom: 0;
}
.p-page_company_organization .c-child_section__content p {
  margin-bottom: 60px;
}
.p-page_company_organization .c-child_section__image {
  display: flex;
  justify-content: center;
  width: 100%;
}
@media screen and (max-width: 1024px) {
  .p-page_company_organization .c-child_section__image img {
    width: 100%;
    height: 90%;
    object-fit: contain;
  }
}
.p-page_company_organization .c-link_cards {
  width: 796px;
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-top: 0;
}
.p-page_company_organization .c-link_card {
  position: relative;
  top: 0;
  left: 0;
  padding-right: 88px;
  height: 196px;
}
.p-page_company_organization .c-link_card:not(:last-child) {
  margin-bottom: 20px;
}
.p-page_company_organization .c-link_card__title {
  font-size: 20px;
}
.p-page_company_organization .c-link_card__title::before, .p-page_company_organization .c-link_card__title::after {
  display: none;
}
.p-page_company_organization .c-link_card__text {
  width: 100%;
  margin: 0;
  line-height: 24px;
}
.p-page_company_organization .c-link_card::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 30px;
  display: inline-block;
  width: 28px;
  height: 28px;
  background-color: #26499D;
  border-radius: 50%;
  translate: 0 -14px;
  transition: all 0.2s ease-in-out;
}
.p-page_company_organization .c-link_card::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 42px;
  display: block;
  width: 4px;
  height: 4px;
  background-color: #FFFFFF;
  border-radius: 50%;
  translate: 0 -2px;
  transition: all 0.2s ease-in-out;
}
.p-page_company_organization .c-link_card:hover::before {
  content: "";
  scale: 1.14;
}
.p-page_company_organization .c-link_card:hover::after {
  content: "";
  top: 50%;
  right: 30px;
  translate: -7px -4px;
  width: 14px;
  height: 8px;
  background: url(../images/button_arrow.svg) 0 0/contain no-repeat transparent;
}
@media screen and (max-width: 1024px) {
  .p-page_company_organization .c-child_section__content p {
    margin-bottom: 40px;
  }
  .p-page_company_organization .c-link_card {
    height: 100%;
    padding-right: 0;
  }
  .p-page_company_organization .c-link_card::before, .p-page_company_organization .c-link_card::after {
    display: none;
  }
  .p-page_company_organization .c-link_card__title {
    font-size: 18px;
  }
  .p-page_company_organization .c-link_card__title::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    display: inline-block;
    width: 28px;
    height: 28px;
    background-color: #26499D;
    border-radius: 50%;
    translate: 0 -14px;
    transition: all 0.2s ease-in-out;
  }
  .p-page_company_organization .c-link_card__title::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 12px;
    display: block;
    width: 4px;
    height: 4px;
    background-color: #FFFFFF;
    border-radius: 50%;
    translate: 0 -2px;
    transition: all 0.2s ease-in-out;
  }
  .p-page_company_organization .c-link_card .c-link_card__text {
    margin-bottom: 0;
  }
}

/* ------------------------
// 組織図 - 各部署
// ----------------------*/
.p-page_koji_denkikoji .c-fourth_nav,
.p-page_koji_kokyaku .c-fourth_nav,
.p-page_denki_hoan .c-fourth_nav,
.p-page_kanri .c-fourth_nav,
.p-page_eigyo .c-fourth_nav {
  height: 291px;
  margin-bottom: -91px;
}
@media screen and (max-width: 1024px) {
  .p-page_koji_denkikoji .c-fourth_nav,
  .p-page_koji_kokyaku .c-fourth_nav,
  .p-page_denki_hoan .c-fourth_nav,
  .p-page_kanri .c-fourth_nav,
  .p-page_eigyo .c-fourth_nav {
    height: 100%;
    margin-bottom: 40px;
  }
}

/* ------------------------
// 沿革
// ----------------------*/
.p-history_timeline {
  display: flex;
  justify-content: flex-end;
  width: 100%;
}
.p-history_timeline img {
  width: max(550px, 65%);
}
@media screen and (max-width: 1024px) {
  .p-history_timeline img {
    width: min(450px, 100%);
    margin-top: 40px;
    padding: 0;
  }
}

/* ------------------------
// 品質管理の取り組み
// ----------------------*/
.p-page_quality {
  margin-bottom: 140px;
}
@media screen and (max-width: 1024px) {
  .p-page_quality {
    margin-bottom: 30px;
  }
}

/* ------------------------
// 品質管理の取り組み - ISO, 顧客アンケート, DX
// ----------------------*/
.p-page_quality_iso .c-inpage_link {
  height: 82px;
}
@media screen and (max-width: 1024px) {
  .p-page_quality_iso .c-inpage_link {
    height: auto;
  }
}
.p-page_quality_iso .c-child_nav--haschild {
  margin-bottom: 193px;
}
@media screen and (max-width: 1024px) {
  .p-page_quality_iso .c-child_nav--haschild {
    margin-bottom: 50px;
  }
}

.p-page_quality_questionnaire .c-font_medium {
  font-weight: 500;
}
.p-page_quality_questionnaire .c-child_section__content a {
  display: inline-block;
}
.p-page_quality_questionnaire .c-child_section__content a:first-child {
  margin-top: 64px;
}
.p-page_quality_questionnaire .c-child_section__content a:last-child {
  margin-top: 20px;
}
@media screen and (max-width: 1024px) {
  .p-page_quality_questionnaire .c-child_section__content a:last-child {
    margin-bottom: 60px;
  }
}

.p-page_quality_iso .c-child_thumbnail,
.p-page_quality_questionnaire .c-child_thumbnail,
.p-page_quality_dx .c-child_thumbnail {
  margin-top: 50px;
  margin-bottom: 50px;
}

/* ------------------------
// 品質管理の取り組み - 品質方針
// ----------------------*/
.p-page_quality_policy .c-child_thumbnail {
  margin-top: 60px;
  margin-bottom: 101px;
}
.p-page_quality_policy .c-separator::before {
  display: none;
}
.p-page_quality_policy .c-child_section h2 {
  position: relative;
  top: 0;
  left: 66px;
  width: calc(100% - 66px);
  padding-left: 30px;
  border-left: solid 4px #26499D;
  line-height: 50px;
}
.p-page_quality_policy .c-child_section h2 span {
  position: absolute;
  top: 0;
  left: -66px;
  margin-right: 21px;
  color: #26499D;
  font-size: 16px;
  font-weight: bold;
  line-height: 27px;
}
.p-page_quality_policy .c-child_section h2 span::after {
  content: "";
  display: block;
  width: 4px;
  height: 100%;
  background-color: #26499D;
}
@media screen and (max-width: 1024px) {
  .p-page_quality_policy .c-child_thumbnail {
    margin-top: 50px;
    margin-bottom: 50px;
  }
  .p-page_quality_policy .c-child_section h2 {
    position: relative;
    top: 0;
    left: 20px;
    width: calc(100% - 20px);
    padding-left: 0;
    border: none;
    line-height: 32px;
  }
  .p-page_quality_policy .c-child_section h2 span {
    position: absolute;
    top: 0;
    left: -20px;
    margin-right: 8px;
    font-size: 12px;
  }
  .p-page_quality_policy .c-child_section h2 span::after {
    content: "";
    display: none;
  }
}

/* ------------------------
// 品質管理の取り組み - 顧客アンケート
// ----------------------*/
.p-page_quality_questionnaire .c-child_nav--haschild {
  margin-bottom: 236px;
}
@media screen and (max-width: 1024px) {
  .p-page_quality_questionnaire .c-child_nav--haschild {
    margin-bottom: 50px;
  }
}

/* ------------------------
// 事業内容
// ----------------------*/
.p-page_business .c-link_cards {
  margin-top: 140px;
  margin-bottom: 140px;
}
.p-page_business .c-link_card__title {
  font-size: 24px;
}
.p-page_business .c-child_section h2 {
  min-width: 270px;
}
.p-page_business .c-child_section__part {
  padding-top: 120px;
}
.p-page_business .c-child_section__part:not(:last-child) {
  padding-bottom: 120px;
  border-bottom: solid 1px #E6E6E6;
}
.p-page_business .c-child_section__part h2 {
  margin-right: 20px;
  font-size: 32px;
  line-height: 50px;
}
.p-page_business .p-flex_wrapper {
  justify-content: space-between;
}
.p-page_business .c-link_cards--column {
  width: max(796px, 75%);
  margin-top: 0;
}
.p-page_business .c-link_cards--column .c-link_card {
  height: 196px;
}
.p-page_business .c-link_cards--column .c-link_card h4 {
  font-size: 20px;
}
.p-page_business .c-link_cards--column .c-link_card p {
  width: 100%;
  line-height: 24px;
}
@media screen and (max-width: 1024px) {
  .p-page_business h2 {
    font-size: 22px;
    line-height: 32px;
  }
  .p-page_business .c-link_cards {
    gap: 20px;
    margin-top: 40px;
    margin-bottom: 40px;
    margin-right: -20px;
  }
  .p-page_business .c-link_cards--column.c-link_cards {
    margin-top: 0;
    margin-right: 0;
  }
  .p-page_business .c-link_cards--column .c-link_card {
    height: auto;
  }
  .p-page_business .c-link_card__title {
    font-size: 18px;
  }
  .p-page_business .c-child_section__part {
    padding-top: 30px;
  }
  .p-page_business .c-child_section__part h2 {
    font-size: 22px;
    line-height: 32px;
  }
  .p-page_business .c-child_section__part:not(:last-child) {
    padding-bottom: 30px;
  }
}

/* ------------------------
// 事業内容 - まちの電気屋さん
// ----------------------*/
.p-denkiya_table {
  margin-top: 50px;
  font-size: 15px;
}
.p-denkiya_table.wp-block-table td, .p-denkiya_table.wp-block-table th {
  border: solid 1px #E6E6E6;
}
.p-denkiya_table.wp-block-table th {
  padding: 15px;
  background-color: #F1F1F1;
  font-weight: 500;
  line-height: 29px;
  text-align: left;
  white-space: nowrap;
}
.p-denkiya_table.wp-block-table td {
  padding: 20px 15px;
  font-weight: 400;
  line-height: 22px;
}
.p-denkiya_table.wp-block-table thead {
  border-bottom: none;
}
.p-denkiya_table a {
  display: inline-block;
  margin-top: 10px;
  text-decoration: underline;
  font-weight: 500;
}
@media screen and (max-width: 1024px) {
  .p-denkiya_table.wp-block-table th, .p-denkiya_table.wp-block-table td {
    padding: 10px 5px;
    font-size: 11px;
    line-height: 1.2;
  }
}

/* ------------------------
// 事業内容 - 各事業ページ
// ----------------------*/
.c-fourth_nav__wrapper {
  position: sticky;
  top: 174px;
  left: 100%;
  width: 333px;
  height: 392px;
  margin-top: -105px;
  margin-bottom: -227px;
  font-size: 14px;
  line-height: 1;
  z-index: 10000;
}
.c-fourth_nav__wrapper .c-fourth_nav {
  position: relative;
  top: 0;
  left: 0;
  height: 256px;
}
.c-fourth_nav__wrapper .c-fourth_nav + .c-fourth_nav {
  margin-top: 20px;
  height: 116px;
}
@media screen and (max-width: 1024px) {
  .c-fourth_nav__wrapper {
    position: relative;
    top: 0;
    left: 0;
    margin-top: 0;
    margin-bottom: 0;
    width: 100%;
    height: 100%;
  }
  .c-fourth_nav__wrapper .c-fourth_nav {
    height: 100%;
  }
  .c-fourth_nav__wrapper .c-fourth_nav + .c-fourth_nav {
    height: 100%;
  }
}

/* ==========================================================================
// CMS使用ページ　構成要素のスタイル
// ========================================================================*/
/* ------------------------
// 絞り込み検索
// ----------------------*/
.c-second_title--cms {
  height: auto;
  margin-bottom: 123px;
  background: none;
}
@media screen and (max-width: 1024px) {
  .c-second_title--cms {
    margin-bottom: 0;
  }
}

.p-cms-sorts__wrapper {
  margin-top: 50px;
  margin-bottom: 95px;
}
@media screen and (max-width: 1024px) {
  .p-cms-sorts__wrapper {
    margin-top: 26px;
    margin-bottom: 35px;
  }
}

.p-cms_sorts {
  font-size: 14px;
  line-height: 24px;
}
.p-cms_sorts:not(:last-child) {
  margin-right: 56px;
}
.p-cms_sorts:not(:first-child) {
  flex-grow: 1;
}
.p-cms_sorts .c-separator {
  margin-top: -1px;
  z-index: -10;
}
.p-cms_sorts .c-separator::before {
  display: none;
}

.p-cms_term {
  padding-top: 15px;
  padding-bottom: 15px;
}
.p-cms_term:first-child label {
  font-weight: bold;
}
.p-cms_term input {
  display: none;
}
.p-cms_term input:checked + label {
  padding-bottom: 15px;
  color: #26499D;
  border-bottom: solid 2px #26499D;
  font-weight: bold;
}
.p-cms_term input.is-disabled + label {
  color: #E6E6E6;
  border-bottom: none;
}
.p-cms_term input.is-disabled + label:hover {
  color: #E6E6E6;
  border: none;
}
.p-cms_term label {
  cursor: pointer;
}
.p-cms_term label:hover {
  padding-bottom: 15px;
  border-bottom: solid 2px #26499D;
  color: #26499D;
  font-weight: bold;
}
@media screen and (max-width: 1024px) {
  .p-cms_term {
    padding-top: 5px;
    padding-bottom: 5px;
  }
  .p-cms_term:first-child {
    flex: 100%;
  }
  .p-cms_term input:checked + label {
    padding-bottom: 5px;
  }
  .p-cms_term label {
    font-size: 13px;
  }
}

.p-cms_terms {
  display: flex;
}
.p-cms_terms .p-cms_term:not(:last-child) {
  margin-right: 40px;
}
@media screen and (max-width: 1024px) {
  .p-cms_terms .p-cms_term:not(:last-child) {
    margin-right: 20px;
  }
}
@media screen and (max-width: 1024px) {
  .p-cms_terms {
    flex-wrap: wrap;
    margin-top: 10px;
  }
}

/* ------------------------
// 投稿一覧
// ----------------------*/
.p-page_article .l-inner-fourth {
  margin-top: 60px;
}

.p-cms_articles__wrapper {
  margin-bottom: 80px;
  padding-top: 60px;
  padding-bottom: 60px;
  background-color: #F7F7F7;
}
@media screen and (max-width: 1024px) {
  .p-cms_articles__wrapper {
    margin-bottom: 40px;
    padding-top: 20px;
    padding-bottom: 20px;
  }
}

.p-cms_articles {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}
.p-cms_articles .c-case_area__card {
  border: solid 1px #E6E6E6;
}
.p-cms_articles .c-case_area__card h4 {
  font-size: 18px;
  line-height: 30px;
}
.p-cms_articles .c-case_area__card .c-category:not(:last-child) {
  margin-bottom: 5px;
}
.p-cms_articles .c-case_area__card img {
  margin-bottom: 20px;
}
@media screen and (max-width: 1024px) {
  .p-cms_articles {
    grid-template-columns: repeat(1, 1fr);
  }
}

/* ------------------------
// 詳細ページのスタイル　single-[slug].php
// ----------------------*/
.p-page_single .p-article__title {
  margin-top: 60px;
  margin-bottom: 40px;
  font-size: 32px;
  font-weight: bold;
  line-height: 50px;
}
.p-page_single .c-single_header .c-separator {
  margin-top: 60px;
}
.p-page_single .c-single_header .c-category {
  margin-bottom: 10px;
  font-size: 14px;
}
.p-page_single .c-article_section {
  margin-top: 60px;
}
.p-page_single .p-article__buttons {
  margin-top: 100px;
}
.p-page_single .c-button_simple_wide {
  margin-bottom: 20px;
}
.p-page_single .p-link_more {
  display: block;
  margin-top: 40px;
  margin-bottom: 100px;
  padding-left: 38px;
}
.p-page_single .p-link_more::before {
  content: "";
  left: 0;
}
.p-page_single .p-link_more::after {
  content: "";
  left: 12px;
  translate: 0 -2px;
}
.p-page_single .p-link_more:hover::after {
  content: "";
  top: 50%;
  left: 13px;
  translate: -7px -4px;
  rotate: 180deg;
}
@media screen and (max-width: 1024px) {
  .p-page_single .p-link_more::after {
    content: "";
    top: 50%;
    right: 0;
    translate: -7px -4px;
    width: 14px;
    height: 8px;
    background: url(../images/button_arrow.svg) 0 0/contain no-repeat transparent;
  }
}
.p-page_single .c-fourth_nav {
  position: absolute;
  top: 364px;
  right: 143px;
  left: auto;
  margin-top: 0;
  width: 190px;
  padding: 0;
  background: none;
}
.p-page_single .c-fourth_nav__title {
  margin-bottom: 5px;
  padding-bottom: 10px;
  border-bottom: 2px solid #26499D;
  font-weight: bold;
}
.p-page_single .c-fourth_nav__list {
  font-weight: 400;
}
.p-page_single .c-fourth_nav__item {
  padding-top: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid #E6E6E6;
}
.p-page_single .c-fourth_nav__item--selected {
  color: #26499D;
  font-weight: 500;
}
.p-page_single .c-fourth_nav__item--selected::before {
  content: "";
  display: inline-block;
  width: 4px;
  height: 4px;
  margin-right: 10px;
  border-radius: 50%;
  background-color: #26499D;
  translate: 0 -70%;
}
.p-page_single .c-fourth_nav--second {
  top: 639px;
}
@media screen and (max-width: 1024px) {
  .p-page_single .c-fourth_nav {
    position: relative;
    top: 0;
    right: 0;
    left: 0;
    margin-top: 0;
    width: auto;
    padding: 30px 20px;
    background: #F7F7F7;
  }
  .p-page_single .c-fourth_nav.c-fourth_nav--first {
    margin-top: 60px;
    margin-bottom: -30px;
  }
  .p-page_single .c-fourth_nav .c-fourth_nav__title {
    font-size: 14px;
  }
}
.p-page_single .c-case_area {
  margin-top: 100px;
  margin-bottom: 0;
  padding-top: 60px;
  padding-bottom: 60px;
}
.p-page_single .c-case_area ul {
  margin-bottom: 0;
  margin-right: 143px;
  border: none;
}
.p-page_single .c-case_area__card {
  border: solid 1px #E6E6E6;
}
.p-page_single .c-case_area__card img {
  margin-top: 0;
  margin-bottom: 20px;
}
.p-page_single .c-case_area__card h4 {
  font-size: 18px;
  line-height: 30px;
  margin-bottom: 15px;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.p-page_single .c-case_area__card p {
  margin-bottom: 20px;
  font-size: 14px;
  line-height: 24px;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 5;
}
.p-page_single .c-case_area__card .c-category {
  margin-bottom: 0;
  font-size: 10px;
}
@media screen and (max-width: 1024px) {
  .p-page_single .c-case_area {
    margin-top: 20px;
    margin-left: 0;
    margin-right: 0;
    padding-top: 20px;
    padding-bottom: 20px;
  }
  .p-page_single .c-case_area ul {
    margin-left: 0;
    margin-right: 0;
  }
}
@media screen and (max-width: 1024px) {
  .p-page_single {
    margin-inline: 0;
    width: 100%;
  }
  .p-page_single .p-article__buttons .p-link_more::after {
    translate: -6px -4px;
    rotate: 180deg;
  }
}

.p-article__pagination {
  margin-bottom: 140px;
}
.p-article__pagination .screen-reader-text {
  display: none;
}
.p-article__pagination .nav-links {
  display: flex;
  justify-content: center;
}
.p-article__pagination .page-numbers {
  font-family: "Barlow", sans-serif;
  font-weight: 700;
  font-style: normal;
  display: flex;
}
.p-article__pagination .page-numbers > li {
  width: 40px;
  height: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-right: 10px;
}
.p-article__pagination .page-numbers > li .prev {
  position: relative;
  margin-right: 20px;
}
.p-article__pagination .page-numbers > li .prev:hover::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 40px;
  height: 40px;
  background: url(../images/pagination_prev_hover.svg) center/cover no-repeat;
}
.p-article__pagination .page-numbers > li .next {
  position: relative;
  margin-left: 20px;
}
.p-article__pagination .page-numbers > li .next:hover::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 40px;
  height: 40px;
  background: url(../images/pagination_next_hover.svg) center/cover no-repeat;
}
.p-article__pagination .page-numbers > li.dummy_prev {
  margin-right: 20px;
}
.p-article__pagination .page-numbers > li.dummy_next {
  margin-left: 20px;
}
.p-article__pagination .page-numbers.current {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  background-color: #26499D;
  border-radius: 50%;
  color: #FFFFFF;
}
@media screen and (max-width: 1024px) {
  .p-article__pagination {
    margin-bottom: 60px;
  }
}

/* ------------------------
// 詳細ページ CMS挿入部分
// ----------------------*/
.c-article_section .c-category {
  margin-right: 10px;
  font-size: 14px;
  line-height: 28px;
}
.c-article_section img {
  margin-top: 60px;
  margin-bottom: 40px;
  width: 100%;
}
.c-article_section h3 {
  position: relative;
  top: 0;
  left: 0;
  font-size: 24px;
  font-weight: bold;
  line-height: 50px;
  margin-bottom: 30px;
  padding-bottom: 20px;
}
.c-article_section h3::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  width: 60px;
  height: 1px;
  background-color: #26499D;
  z-index: 1000;
}
.c-article_section h3::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 1px;
  background-color: #E6E6E6;
}
.c-article_section h4 {
  margin-bottom: 20px;
  color: #26499D;
  font-size: 20px;
  font-weight: bold;
  line-height: 50px;
}
.c-article_section p {
  margin-bottom: 40px;
  font-size: 15px;
  font-weight: 400;
  line-height: 29px;
}
.c-article_section .c-category {
  margin-bottom: 60px;
}
.c-article_section .wp-block-table {
  padding: 5px 30px;
  background-color: #F7F7F7;
}
.c-article_section table {
  font-size: 14px;
  line-height: 24px;
}
.c-article_section table tr:not(:last-child) {
  border-bottom: 1px solid #E6E6E6;
}
.c-article_section table td {
  padding-block: 15px;
  font-weight: 400;
}
.c-article_section table td:first-child {
  min-width: 120px;
  font-weight: 500;
}
@media screen and (max-width: 1024px) {
  .c-article_section .wp-block-table {
    margin-inline: -20px;
    padding: 15px 20px;
  }
  .c-article_section table td {
    display: block;
    width: 100%;
  }
  .c-article_section table td:first-child {
    padding-bottom: 0;
  }
  .c-article_section table td:last-child {
    padding-top: 10px;
  }
}

/* ------------------------
// 施工事例 - 詳細ページ
// ----------------------*/
.p-single_works .p-cms_articles {
  display: grid;
}

/* ------------------------
// お客様の声 - アーカイブ、詳細ページ共通
// ----------------------*/
.p-page_voice .p-cms_articles,
.p-single_voice .p-cms_articles {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: 30px;
  row-gap: 50px;
}
.p-page_voice .c-case_area__card,
.p-single_voice .c-case_area__card {
  position: relative;
  padding: 30px 20px 20px;
  border-radius: 10px;
  box-shadow: 0 13px 15px rgba(0, 0, 0, 0.16);
  transition: scale 0.3s ease-in-out;
  z-index: 1000;
}
.p-page_voice .c-case_area__card::before,
.p-single_voice .c-case_area__card::before {
  content: "";
  position: absolute;
  top: 100%;
  right: 0;
  margin-top: -22px;
  margin-right: 20px;
  border: 13px solid transparent;
  border-top: 13px solid #FFFFFF;
  rotate: 225deg;
}
.p-page_voice .c-case_area__card:hover,
.p-single_voice .c-case_area__card:hover {
  scale: 1.04 1.05;
  margin-left: -2.5%;
  background-color: #26499D;
  color: #FFFFFF;
}
.p-page_voice .c-case_area__card:hover::before,
.p-single_voice .c-case_area__card:hover::before {
  border-top: 13px solid #26499D;
}
.p-page_voice .c-case_area__card:hover .c-category,
.p-single_voice .c-case_area__card:hover .c-category {
  background-color: #FFFFFF;
  color: #26499D;
}
.p-page_voice .c-case_area__card:hover h4,
.p-single_voice .c-case_area__card:hover h4 {
  color: #FFF;
}
.p-page_voice .c-case_area__card h4,
.p-single_voice .c-case_area__card h4 {
  margin-bottom: 20px;
}
.p-page_voice .c-case_area__card h4::after,
.p-single_voice .c-case_area__card h4::after {
  content: "";
  display: block;
  width: 100%;
  margin-top: 30px;
  height: 1px;
  background-color: #E6E6E6;
}
@media screen and (max-width: 1024px) {
  .p-page_voice .c-case_area__card h4,
  .p-single_voice .c-case_area__card h4 {
    font-size: 16px;
  }
}
@media screen and (max-width: 1024px) {
  .p-page_voice .p-cms_articles,
  .p-single_voice .p-cms_articles {
    grid-template-columns: repeat(1, 1fr);
    column-gap: 0;
    row-gap: 30px;
  }
}

/* ------------------------
// お知らせ - アーカイブページ
// ----------------------*/
.p-page_news .c-separator::before {
  background-color: #2E2624;
}
.p-page_news .p-cms_sorts {
  margin-bottom: 20px;
}
.p-page_news .p-cms_sorts > div {
  flex: 1;
}
.p-page_news .p-cms_sorts:not(:last-child) {
  margin-right: 0;
}
.p-page_news .p-cms_term input:checked + label {
  color: #2E2624;
  border-bottom: solid 2px #2E2624;
}
.p-page_news .p-cms_term label:hover {
  border-bottom: solid 2px #2E2624;
  color: #2E2624;
  font-weight: bold;
}
.p-page_news .p-cms_term:first-child label {
  font-weight: 500;
}
.p-page_news .p-cms_term:first-child label:hover {
  font-weight: bold;
}
.p-page_news .p-cms_term:first-child input:checked + label {
  font-weight: bold;
}
.p-page_news .p-cms_sorts__title {
  font-family: "Barlow", sans-serif;
  font-weight: 500;
  font-style: normal;
  align-self: center;
  margin-right: 40px;
  font-size: 14px;
  line-height: 24px;
}
.p-page_news .p-cms_select {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-style: normal;
  position: relative;
  width: 171px;
  padding: 5px 21px 5px 10px;
  font-size: 14px;
  background: url(../images/select_arrow.svg) calc(100% - 10px) center/7px 5px no-repeat;
  -webkit-appearance: none;
  appearance: none;
}
@media screen and (max-width: 1024px) {
  .p-page_news .p-cms_select {
    margin-top: 10px;
    width: 100%;
    background: url(../images/select_arrow.svg) calc(100% - 10px) center/7px 5px no-repeat;
  }
}
.p-page_news .p-cms_articles {
  display: block;
}
.p-page_news .p-cms_articles__wrapper {
  padding-block: 0;
  background-color: #FFFFFF;
}
.p-page_news .c-case_area__card {
  border: none;
  border-bottom: solid 1px #D4DEDF;
}
.p-page_news .c-case_area__card:first-child {
  border-top: solid 1px #D4DEDF;
}
.p-page_news .c-case_area__card > a {
  display: flex;
}
.p-page_news .c-case_area__card .p-flex_wrapper {
  flex: 0 0 230px;
}
.p-page_news .c-case_area__card .c-date {
  font-family: "Barlow", sans-serif;
  font-weight: 500;
  font-style: normal;
  margin-right: 20px;
  font-size: 14px;
}
.p-page_news .c-case_area__card .c-category {
  height: max-content;
  padding: 6px 10px;
  background-color: #2E2624;
  color: #FFFFFF;
  font-size: 12px;
}
.p-page_news .c-case_area__card p {
  margin-left: 60px;
  margin-bottom: 0;
  font-size: 16px;
  font-weight: 500;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
}
@media screen and (max-width: 1024px) {
  .p-page_news .c-case_area__card {
    padding: 14px 0 20px;
    margin-bottom: 0;
  }
  .p-page_news .c-case_area__card > a {
    flex-direction: column;
  }
  .p-page_news .c-case_area__card .p-flex_wrapper {
    flex: 1;
  }
  .p-page_news .c-case_area__card .c-date {
    margin-right: 15px;
    font-size: 12px;
  }
  .p-page_news .c-case_area__card .c-category {
    font-size: 10px;
  }
  .p-page_news .c-case_area__card p {
    display: -webkit-box;
    margin-top: 10px;
    margin-left: 0;
    text-overflow: ellipsis;
    white-space: wrap;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    max-height: 48px;
  }
}

/* ------------------------
// お知らせ - 詳細ページ
// ----------------------*/
.p-single_news {
  margin-bottom: 140px;
}
.p-single_news .c-fourth_title {
  background-color: #2E2624;
}
.p-single_news .c-separator::before {
  background-color: #2E2624;
}
.p-single_news .c-category {
  background-color: #2E2624;
}
.p-single_news .c-fourth_nav__title {
  font-family: "Barlow", sans-serif;
  font-weight: 500;
  font-style: normal;
  border-bottom: 2px solid #2E2624;
}
.p-single_news .c-fourth_nav__item--selected, .p-single_news .c-fourth_nav__item:hover {
  color: #2E2624;
}
.p-single_news .c-fourth_nav__item:hover::before, .p-single_news .c-fourth_nav__item--selected::before {
  background-color: #2E2624;
}
.p-single_news .c-article_section h4 {
  color: #2E2624;
}
.p-single_news .p-article__date {
  font-family: "Barlow", sans-serif;
  font-weight: 500;
  font-style: normal;
  margin-right: 12px;
  font-size: 14px;
  line-height: 27px;
}
.p-single_news select {
  margin-top: 10px;
  width: 80%;
}
.p-single_news table tr td {
  height: 100% !important;
}
@media screen and (max-width: 1024px) {
  .p-single_news {
    margin-bottom: 0;
  }
}

/* ------------------------
// 人事制度一覧 - 詳細ページ
// ----------------------*/
.p-single_recruit_case .c-fourth_title {
  padding-bottom: 0;
  background-color: transparent;
  color: #26499D;
}
.p-single_recruit_case .c-fourth_nav {
  top: 160px;
  width: 190px;
  padding: 0;
  background-color: transparent;
}
.p-single_recruit_case .c-fourth_nav__title {
  color: #26499D;
}
@media screen and (max-width: 1024px) {
  .p-single_recruit_case .c-fourth_nav {
    top: 0;
    width: 100%;
    margin-inline: 0;
    padding-inline: 20px;
  }
}
.p-single_recruit_case .c-case_area {
  margin: 20px 20px 60px;
}
.p-single_recruit_case .c-case_area ul {
  gap: 50px;
}
.p-single_recruit_case .c-case_area__card {
  flex: 0 0 230px;
  padding: 0;
  background-color: transparent;
  border: none;
}
.p-single_recruit_case .c-case_area__card h4 {
  font-size: 16px;
}
.p-single_recruit_case .c-case_area__card p {
  font-size: 12px;
}
@media screen and (max-width: 1024px) {
  .p-single_recruit_case .c-case_area__card p {
    font-size: 14px;
  }
}
.p-single_recruit_case .c-case_area__box {
  padding: 0;
}

/* ==========================================================================
// 採用情報
// ========================================================================*/
/* ------------------------
// 採用情報TOP
// ----------------------*/
.p-page_recruit_front .c-second_title {
  position: relative;
  height: 730px;
  padding-top: 254px;
  background: url(../images/recruit_bg.svg) center/620px 620px no-repeat;
  background-attachment: fixed;
}
@media screen and (max-width: 1024px) {
  .p-page_recruit_front .c-second_title {
    height: 618px;
    padding-top: 120px;
    background: url(../images/recruit_bg.svg) center/295px 295px no-repeat;
  }
}
.p-page_recruit_front .c-second_title h1 {
  font-family: "Barlow", sans-serif;
  font-weight: 700;
  font-style: normal;
  margin-bottom: 5px;
  margin-left: 0;
  color: #26499D;
  font-size: 86px;
}
@media screen and (max-width: 1024px) {
  .p-page_recruit_front .c-second_title h1 {
    margin-bottom: 20px;
    font-size: 62px;
  }
}
.p-page_recruit_front .c-second_title__subtitle {
  margin-bottom: 70px;
  margin-left: 0;
  color: #2E2624;
  font-size: 17px;
  font-weight: bold;
}
@media screen and (max-width: 1024px) {
  .p-page_recruit_front .c-second_title__subtitle {
    margin-bottom: 60px;
    font-size: 16px;
  }
}
.p-page_recruit_front .c-second_title__message {
  font-size: 32px;
  font-weight: bold;
  line-height: 50px;
}
.p-page_recruit_front.p-page_recruit .p-recruit_nav {
  z-index: 10000;
}
.p-page_recruit_front .splide {
  bottom: -150px;
  margin-top: -190px;
}
.p-page_recruit_front .splide .splide__arrows {
  display: none;
}
@media screen and (max-width: 1024px) {
  .p-page_recruit_front .splide {
    bottom: -320px;
    margin-top: -400px;
  }
  .p-page_recruit_front .splide .splide__arrow {
    border: solid 2px #FFFFFF;
  }
  .p-page_recruit_front .splide .splide__arrow svg {
    fill: #fff;
  }
}
.p-page_recruit_front .splide__slide {
  border: none;
}
.p-page_recruit_front .splide__slide img {
  width: 100%;
}
@media screen and (max-width: 1024px) {
  .p-page_recruit_front .splide__slide {
    translate: -80% 0;
  }
}
.p-page_recruit_front .splide__pagination {
  bottom: -36px;
}
.p-page_recruit_front .splide__pagination__page {
  background: rgba(255, 255, 255, 0.5);
}
.p-page_recruit_front .splide__pagination__page.is-active {
  background: #FFFFFF;
}
.p-page_recruit_front .p-case_study {
  padding-block: 297px 120px;
  background: url(../images/recruit_case_bg.jpg) 0 0/cover no-repeat;
  color: #FFFFFF;
}
@media screen and (max-width: 1024px) {
  .p-page_recruit_front .p-case_study {
    padding-block: 80px;
    background: url(../images/recruit_case_bg.jpg) 70% center/cover no-repeat;
  }
}
.p-page_recruit_front .p-case_study .p-link_more::before {
  background-color: #FFFFFF;
}
.p-page_recruit_front .p-case_study .p-link_more::after {
  background-color: #26499D;
}
.p-page_recruit_front .p-case_study .p-link_more:hover::after {
  background: url(../images/button_arrow_blue.svg) 0 0/contain no-repeat transparent;
}
@media screen and (max-width: 1024px) {
  .p-page_recruit_front .p-case_study .p-link_more::after {
    background: url(../images/button_arrow_blue.svg) 0 0/contain no-repeat transparent;
  }
}
.p-page_recruit_front .p-case_about {
  display: flex;
  column-gap: 137px;
}
@media screen and (max-width: 1024px) {
  .p-page_recruit_front .p-case_about {
    flex-direction: column;
  }
}
.p-page_recruit_front .p-case_about > div {
  margin-inline: auto;
}
.p-page_recruit_front .p-case_about__title {
  margin-bottom: 80px;
  font-size: 42px;
  font-weight: bold;
  line-height: 50px;
}
@media screen and (max-width: 1024px) {
  .p-page_recruit_front .p-case_about__title {
    font-size: 24px;
  }
}
.p-page_recruit_front .p-case_about__text {
  font-size: 18px;
  font-weight: bold;
  line-height: 40px;
}
@media screen and (max-width: 1024px) {
  .p-page_recruit_front .p-case_about__text {
    font-size: 16px;
    font-weight: 500;
  }
}
@media screen and (max-width: 1024px) {
  .p-page_recruit_front .p-case_about__image {
    margin-bottom: 20px;
    width: 250px;
    height: auto;
  }
}
.p-page_recruit_front .p-case_boxes__wrapper .p-flex_wrapper {
  align-items: baseline;
  justify-content: space-between;
}
.p-page_recruit_front .p-case_boxes__wrapper .splide {
  position: relative;
  margin-top: 50px;
  bottom: 0;
  visibility: visible;
}
.p-page_recruit_front .p-case_boxes__wrapper .splide__slide {
  padding: 0;
}
.p-page_recruit_front .p-case_boxes__wrapper .splide__arrows {
  display: block;
}
.p-page_recruit_front .p-case_boxes__wrapper .c-case_area__box {
  padding-inline: 0;
}
.p-page_recruit_front .p-case_boxes__wrapper .c-case_area__box p {
  display: -webkit-box;
  text-overflow: ellipsis;
  white-space: wrap;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  max-height: 100px;
  overflow: hidden;
}
.p-page_recruit_front .p-case_boxes {
  display: flex;
  justify-content: space-between;
  gap: 40px;
  margin-left: 100px;
}
@media screen and (max-width: 1024px) {
  .p-page_recruit_front .p-case_boxes {
    gap: 20px;
    margin-top: 50px;
    margin-left: 0;
  }
}
.p-page_recruit_front .p-case_boxes .p-case_box {
  flex: 1;
}
@media screen and (max-width: 1024px) {
  .p-page_recruit_front .p-case_boxes .p-case_box {
    flex: 0 0 250px;
  }
}
.p-page_recruit_front .p-case_boxes h3 {
  margin-block: 20px 15px;
  width: auto;
  font-size: 18px;
  font-weight: bold;
  line-height: 30px;
}
.p-page_recruit_front .p-case_boxes p {
  margin-bottom: 20px;
  font-size: 14px;
  font-weight: 400;
  line-height: 24px;
}
.p-page_recruit_front .p-case_boxes img {
  width: 100%;
  height: 180px;
  object-fit: cover;
}
.p-page_recruit_front .p-case_boxes__title {
  margin-top: 100px;
  margin-bottom: 60px;
  font-size: 64px;
  font-weight: bold;
}
@media screen and (max-width: 1024px) {
  .p-page_recruit_front .p-case_boxes__title {
    margin-block: 40px 30px;
    font-size: 42px;
  }
}
.p-page_recruit_front .p-case_boxes .c-category {
  border: 1px solid #FFFFFF;
  border-radius: 80px;
}
.p-page_recruit_front .p-recruit_menu {
  padding-block: 160px 113px;
}
@media screen and (max-width: 1024px) {
  .p-page_recruit_front .p-recruit_menu {
    padding-block: 80px;
  }
}
.p-page_recruit_front .p-recruit_menu__box {
  display: flex;
  justify-content: space-between;
  gap: 60px;
}
.p-page_recruit_front .p-recruit_menu__box--reverse {
  flex-direction: row-reverse;
}
.p-page_recruit_front .p-recruit_menu__box:not(:last-child) {
  margin-bottom: 140px;
}
@media screen and (max-width: 1024px) {
  .p-page_recruit_front .p-recruit_menu__box {
    flex-direction: column;
  }
  .p-page_recruit_front .p-recruit_menu__box:not(:last-child) {
    margin-bottom: 80px;
  }
}
.p-page_recruit_front .p-recruit_menu__title {
  margin-bottom: 30px;
  color: #26499D;
  font-size: 64px;
  font-weight: bold;
}
@media screen and (max-width: 1024px) {
  .p-page_recruit_front .p-recruit_menu__title {
    margin-bottom: 20px;
    font-size: 42px;
    text-align: center;
  }
}
.p-page_recruit_front .p-recruit_menu__name {
  position: relative;
  margin-bottom: 80px;
  font-size: 18px;
  font-weight: bold;
  line-height: 32px;
}
.p-page_recruit_front .p-recruit_menu__name::after {
  content: "";
  position: absolute;
  bottom: -40px;
  left: 0;
  display: block;
  width: 40px;
  height: 2px;
  background-color: #26499D;
}
@media screen and (max-width: 1024px) {
  .p-page_recruit_front .p-recruit_menu__name {
    margin-bottom: 60px;
    font-size: 14px;
    text-align: center;
  }
  .p-page_recruit_front .p-recruit_menu__name::after {
    left: 50%;
    bottom: -30px;
    width: 30px;
    translate: -50% 0;
  }
}
.p-page_recruit_front .p-recruit_menu__text {
  margin-bottom: 50px;
  font-size: 15px;
  line-height: 29px;
}
@media screen and (max-width: 1024px) {
  .p-page_recruit_front .p-recruit_menu__text {
    margin-bottom: 40px;
  }
}
.p-page_recruit_front .p-recruit_menu .c-button_detail {
  width: 280px;
}
.p-page_recruit_front .p-recruit_menu .c-button_detail:hover::after {
  background: url(../images/button_arrow.svg) 0 0/contain no-repeat transparent;
}
@media screen and (max-width: 1024px) {
  .p-page_recruit_front .p-recruit_menu .c-button_detail {
    margin-inline: auto;
  }
}
@media screen and (max-width: 1024px) {
  .p-page_recruit_front .p-recruit_menu .p-recruit_menu__image {
    width: 100%;
    height: 100%;
  }
}
.p-page_recruit_front .p-recruit_voice {
  position: relative;
  display: flex;
  flex-direction: column;
  padding-block: 140px 158px;
  align-items: center;
  color: #FFFFFF;
  overflow: hidden;
}
.p-page_recruit_front .p-recruit_voice::before {
  content: "";
  position: absolute;
  top: 0;
  left: -25vw;
  display: block;
  width: 150vw;
  height: 150vw;
  border-radius: 100%;
  background-color: #26499D;
  z-index: -10;
}
@media screen and (max-width: 1024px) {
  .p-page_recruit_front .p-recruit_voice {
    padding-block: 100px 0;
  }
}
.p-page_recruit_front .p-recruit_voice__title {
  font-family: "Barlow", sans-serif;
  font-weight: 700;
  font-style: normal;
  margin-bottom: 30px;
  font-size: 64px;
}
@media screen and (max-width: 1024px) {
  .p-page_recruit_front .p-recruit_voice__title {
    margin-bottom: 20px;
    font-size: 42px;
  }
}
.p-page_recruit_front .p-recruit_voice__sub_title {
  position: relative;
  margin-bottom: 80px;
  font-size: 18px;
  font-weight: bold;
  line-height: 32px;
}
.p-page_recruit_front .p-recruit_voice__sub_title::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -40px;
  width: 40px;
  height: 2px;
  background-color: #FFFFFF;
  translate: -50% 0;
}
@media screen and (max-width: 1024px) {
  .p-page_recruit_front .p-recruit_voice__sub_title {
    margin-bottom: 60px;
  }
}
.p-page_recruit_front .p-recruit_voice__wrapper {
  display: contents;
}
@media screen and (max-width: 1024px) {
  .p-page_recruit_front .p-recruit_voice__wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-bottom: 100px;
    background-color: #26499D;
  }
}
.p-page_recruit_front .p-recruit_voice__text {
  margin-bottom: 50px;
  width: 640px;
  font-size: 15px;
  line-height: 29px;
}
@media screen and (max-width: 1024px) {
  .p-page_recruit_front .p-recruit_voice__text {
    width: 100%;
    padding-inline: 20px;
  }
}
.p-page_recruit_front .p-recruit_voice .c-button_detail {
  width: 280px;
  border: 1px solid #FFFFFF;
  color: #FFFFFF;
}
.p-page_recruit_front .p-recruit_voice .c-button_detail::after {
  background-color: #FFFFFF;
}
.p-page_recruit_front .p-recruit_voice .c-button_detail:hover {
  background-color: #fff;
  color: #26499D;
}
.p-page_recruit_front .p-recruit_voice .c-button_detail:hover::after {
  background: url(../images/button_arrow_blue.svg) 0 0/contain no-repeat;
}
.p-page_recruit_front .p-recruit_voice .p-recruit_cards {
  padding-inline: clamp(40px, 10vw, 143px);
  gap: 44px;
}
@media screen and (max-width: 1024px) {
  .p-page_recruit_front .p-recruit_voice .p-recruit_cards {
    gap: 82px;
  }
}
.p-page_recruit_front .p-recruit_voice .p-recruit_card {
  flex: 1;
  position: relative;
  width: 333px;
  height: 149px;
  color: #26499D;
  font-size: 18px;
  font-weight: bold;
}
.p-page_recruit_front .p-recruit_voice .p-recruit_card::after {
  content: "";
  position: absolute;
  bottom: -18px;
  right: 32px;
  margin-left: -18px;
  border: 18px solid transparent;
  border-top: 18px solid #FFFFFF;
  rotate: 90deg;
}
@media screen and (max-width: 1024px) {
  .p-page_recruit_front .p-recruit_voice .p-recruit_card {
    height: 132px;
  }
  .p-page_recruit_front .p-recruit_voice .p-recruit_card a {
    padding-block: 72px 34px;
  }
}
.p-page_recruit_front .p-recruit_news__inner {
  margin: 40px 0 80px 63px;
  padding: 80px 143px 80px 80px;
  background-color: #F7F7F7;
}
@media screen and (max-width: 1024px) {
  .p-page_recruit_front .p-recruit_news__inner {
    margin: 20px 20px 40px 0;
    padding: 40px 40px 40px 20px;
  }
}
.p-page_recruit_front .p-recruit_news .p-flex_wrapper {
  justify-content: space-between;
  align-items: baseline;
}
.p-page_recruit_front .p-recruit_news__title {
  font-family: "Barlow", sans-serif;
  font-weight: 700;
  font-style: normal;
  color: #26499D;
  font-size: 64px;
}
@media screen and (max-width: 1024px) {
  .p-page_recruit_front .p-recruit_news__title {
    font-size: 42px;
  }
}
.p-page_recruit_front .p-recruit_news__index {
  margin-top: 30px;
  font-size: 18px;
  font-weight: bold;
}
@media screen and (max-width: 1024px) {
  .p-page_recruit_front .p-recruit_news__index {
    margin-top: 20px;
    margin-bottom: 30px;
    font-size: 14px;
  }
}
.p-page_recruit_front .p-recruit_news ul {
  border-top: solid 1px #E6E6E6;
  border-bottom: solid 1px #E6E6E6;
}
.p-page_recruit_front .p-recruit_news .c-case_area__card {
  background-color: transparent;
  padding: 25px 0;
  border-right: none;
  border-left: none;
}
.p-page_recruit_front .p-recruit_news .c-case_area__card:not(:last-child) {
  border-bottom: solid 1px #E6E6E6;
}
@media screen and (max-width: 1024px) {
  .p-page_recruit_front .p-recruit_news .c-case_area__card {
    padding: 20px 0;
  }
  .p-page_recruit_front .p-recruit_news .c-case_area__card:not(:last-child) {
    margin-bottom: 0;
  }
}
.p-page_recruit_front .p-recruit_news .c-case_area__card a {
  display: flex;
  gap: 20px;
  align-items: baseline;
}
@media screen and (max-width: 1024px) {
  .p-page_recruit_front .p-recruit_news .c-case_area__card a {
    flex-direction: column;
    gap: 10px;
  }
}
.p-page_recruit_front .p-recruit_news .c-case_area__card p {
  font-size: 14px;
  margin-bottom: 0;
}
.p-page_recruit_front .p-recruit_news .c-date {
  font-size: 14px;
}
.p-page_recruit_front .p-recruit_news .c-category {
  background-color: #2E2624;
  margin-left: 20px;
}
@media screen and (max-width: 1024px) {
  .p-page_recruit_front .p-recruit_news .p-link_more.sp {
    margin-top: 34px;
    display: inline-block !important;
  }
}

/* ------------------------
// 全体、タイトル
// ----------------------*/
.p-page_recruit {
  /* ------------------------
  // サイドナビのスタイル
  // ----------------------*/
  /* ------------------------
  // 中身のコンテンツのスタイル
  // ----------------------*/
}
.p-page_recruit .c-child_section__content p:not(:last-child) {
  margin-bottom: initial;
}
.p-page_recruit ol {
  margin-block: 1rem;
  list-style-position: inside;
}
.p-page_recruit .c-third_title {
  position: relative;
  height: 684px;
}
.p-page_recruit .c-third_title h1 {
  margin-bottom: 30px;
  font-size: 72px;
  line-height: 1;
}
.p-page_recruit .c-third_title__name {
  font-size: 18px;
  line-height: 50px;
}
.p-page_recruit .c-third_title__name::after {
  content: "";
}
@media screen and (max-width: 1024px) {
  .p-page_recruit .c-third_title {
    padding-top: 176px;
    height: 437px;
  }
  .p-page_recruit .c-third_title h1 {
    margin-bottom: 20px;
    font-size: 52px;
  }
  .p-page_recruit .c-third_title__name {
    font-size: 16px;
  }
}
.p-page_recruit .c-fourth_title {
  position: relative;
}
.p-page_recruit .c-button_detail:hover::after {
  background: url(../images/button_arrow.svg) 0 0/contain no-repeat transparent;
}
.p-page_recruit .p-recruit_nav {
  position: fixed;
  bottom: 22px;
  left: 0;
  right: 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 40px;
  width: 894px;
  height: 60px;
  margin-inline: auto;
  padding: 10px 20px 10px 40px;
  background-color: #FFFFFF;
  border-radius: 100px;
  font-size: 14px;
  font-weight: bold;
  line-height: 21px;
  z-index: 100000;
}
.p-page_recruit .p-recruit_nav__list {
  display: flex;
  justify-content: space-between;
  width: 100%;
  color: #2E2624;
}
.p-page_recruit .p-recruit_nav__item.is-selected, .p-page_recruit .p-recruit_nav__item:hover {
  color: #26499D;
}
.p-page_recruit .p-recruit_nav__contact {
  display: block;
  color: #FFFFFF;
  background-color: #26499D;
  border-radius: 80px;
  font-weight: bold;
  padding: 10px 53px;
}
@media screen and (max-width: 1024px) {
  .p-page_recruit .p-recruit_nav {
    flex-direction: column-reverse;
    align-items: flex-end;
    gap: 5px;
    position: relative;
    bottom: 0;
    width: 100%;
    height: auto;
    padding: 0;
    background-color: transparent;
    font-size: 10px;
    font-weight: bold;
  }
  .p-page_recruit .p-recruit_nav__wrapper {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 10000;
  }
  .p-page_recruit .p-recruit_nav__list {
    padding-inline: 11px;
    height: 45px;
    background-color: #F7F7F7;
    line-height: 45px;
    white-space: nowrap;
  }
  .p-page_recruit .p-recruit_nav__contact {
    padding: 0 20px;
    height: 40px;
    border-radius: 80px 0 0 80px;
    color: #FFFFFF;
    line-height: 40px;
  }
}
.p-page_recruit .c-side_nav {
  font-size: 14px;
  font-weight: bold;
  line-height: 20px;
}
@media screen and (max-width: 1024px) {
  .p-page_recruit .c-side_nav {
    margin-bottom: 60px;
    padding-top: 0;
  }
}
.p-page_recruit .c-side_nav__wrapper {
  position: sticky;
  top: 0;
  left: 0;
  width: 216px;
  padding-top: 50px;
  z-index: 10;
}
@media screen and (max-width: 1024px) {
  .p-page_recruit .c-side_nav__wrapper {
    position: relative;
    width: 100%;
    margin-top: 25px;
    height: auto;
    padding-top: 0;
  }
}
.p-page_recruit .c-side_nav__item {
  position: relative;
  padding-block: 20px;
  border-bottom: solid 1px #E6E6E6;
  padding-right: 36px;
}
.p-page_recruit .c-side_nav__item a {
  display: block;
  width: 100%;
  height: 100%;
}
.p-page_recruit .c-side_nav__item a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  width: 16px;
  display: block;
  height: 16px;
  border: 2px solid #26499D;
  border-radius: 50px;
  background: url(../images/arrow_blue.svg) center/6px 4px no-repeat transparent;
}
@media screen and (max-width: 1024px) {
  .p-page_recruit .c-side_nav__item a::after {
    top: 18px;
  }
}
.p-page_recruit .c-side_nav__item.is-active {
  color: #ccc;
}
.p-page_recruit .c-side_nav__item.is-active a::after {
  content: "";
  border: 2px solid #ccc;
  border-radius: 50px;
  background: url(../images/arrow_black.svg) center/6px 4px no-repeat transparent;
}
@media screen and (max-width: 1024px) {
  .p-page_recruit .c-side_nav__item.is-active {
    color: #2E2624;
  }
}
@media screen and (max-width: 1024px) {
  .p-page_recruit .c-side_nav__item {
    padding-block: 15px;
  }
}
.p-page_recruit .c-side_nav__sub {
  margin-left: 20px;
  margin-top: 15px;
  font-size: 12px;
  font-weight: 500;
  line-height: 18px;
}
.p-page_recruit .c-side_nav__sub > li {
  margin-top: 10px;
}
@media screen and (max-width: 1024px) {
  .p-page_recruit .c-side_nav__sub > li {
    margin-top: 5px;
  }
}
.p-page_recruit .c-side_fourth_nav {
  margin-top: 20px;
}
@media screen and (max-width: 1024px) {
  .p-page_recruit .c-side_fourth_nav {
    margin-top: -40px;
    margin-bottom: 60px;
  }
}
.p-page_recruit .c-side_fourth_nav__item {
  position: relative;
  padding-left: 10px;
  background-color: #F7F7F7;
  font-size: 14px;
  font-weight: bold;
}
.p-page_recruit .c-side_fourth_nav__item::after {
  content: "";
  position: absolute;
  top: 20px;
  right: 10px;
  display: block;
  width: 14px;
  height: 8px;
  background: url(../images/button_arrow_blue.svg) 0 0/contain no-repeat transparent;
  transition: all 0.2s ease-in-out;
}
@media screen and (max-width: 1024px) {
  .p-page_recruit .c-side_fourth_nav__item::after {
    top: 14px;
  }
}
.p-page_recruit .c-side_fourth_nav__item:not(:last-child) {
  margin-bottom: 5px;
}
.p-page_recruit .c-side_fourth_nav__item a {
  display: flex;
  align-items: center;
  height: 50px;
}
@media screen and (max-width: 1024px) {
  .p-page_recruit .c-side_fourth_nav__item a {
    height: 40px;
  }
}
@media screen and (max-width: 1024px) {
  .p-page_recruit .c-side_fourth_nav__item {
    font-size: 13px;
  }
}
.p-page_recruit .c-side_fourth_nav__item:hover::after {
  right: 5px;
}
@media screen and (max-width: 1024px) {
  .p-page_recruit .c-side_fourth_nav__item:hover::after {
    right: 10px;
  }
}
.p-page_recruit .c-child_section__content {
  justify-content: flex-start;
}
.p-page_recruit .c-child_section h3 {
  color: #2E2624;
}
.p-page_recruit .c-child_section .c-separator--s::before {
  width: 20px;
  height: 1px;
}
@media screen and (max-width: 1024px) {
  .p-page_recruit .c-child_section .c-separator--s {
    margin-bottom: 20px;
  }
}
.p-page_recruit .c-child_section__content p {
  width: 100%;
}
.p-page_recruit .c-child_section__content img {
  width: 100%;
  height: auto;
}
.p-page_recruit .c-child_section__content--grid {
  display: grid;
  gap: 20px;
  grid-template-columns: 1fr 300px;
  grid-template-areas: "text image" "link link";
}
@media screen and (max-width: 1024px) {
  .p-page_recruit .c-child_section__content--grid {
    grid-template-columns: 100%;
    grid-template-areas: "text" "link" "image";
  }
  .p-page_recruit .c-child_section__content--grid img {
    width: 255px;
    margin-inline: auto;
  }
}
.p-page_recruit .c-child_section__content--grid img {
  grid-area: image;
}
.p-page_recruit .c-child_section__content .c-button_detail {
  margin-top: 50px;
}
.p-page_recruit .c-button_simple_wide {
  grid-area: link;
  margin-block: 40px 140px;
}
@media screen and (max-width: 1024px) {
  .p-page_recruit .c-button_simple_wide {
    display: flex;
    align-items: center;
    margin-block: 30px 40px;
    line-height: 24px;
  }
}
.p-page_recruit .p-recruit_article {
  margin-top: -200px;
  margin-left: 270px;
  margin-right: 0;
}
@media screen and (max-width: 1024px) {
  .p-page_recruit .p-recruit_article {
    margin-top: 0;
    margin-left: 0;
  }
}
.p-page_recruit .c-recruit_index {
  font-family: "Barlow", sans-serif;
  font-weight: 700;
  font-style: normal;
  position: relative;
  margin-bottom: 30px;
  font-size: 18px;
  text-indent: 2rem;
  color: #26499D;
}
.p-page_recruit .c-recruit_index::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 4px;
  height: 22px;
  background-color: #26499D;
}
.p-page_recruit .c-recruit_pickup {
  margin-top: 50px;
  margin-bottom: 80px;
  padding: 30px 30px 10px;
  background-color: #F7F7F7;
}
@media screen and (max-width: 1024px) {
  .p-page_recruit .c-recruit_pickup {
    margin-right: -20px;
    padding: 30px 20px;
  }
}
.p-page_recruit .c-recruit_pickup dl {
  display: flex;
  gap: 80px;
  margin-block: 30px;
}
.p-page_recruit .c-recruit_pickup dl:not(:last-child) {
  padding-bottom: 30px;
  border-bottom: 1px solid #E6E6E6;
}
@media screen and (max-width: 1024px) {
  .p-page_recruit .c-recruit_pickup dl {
    flex-direction: column;
    gap: 10px;
  }
}
.p-page_recruit .c-recruit_pickup dt {
  width: 250px;
  font-size: 18px;
  font-weight: bold;
  line-height: 30px;
}
@media screen and (max-width: 1024px) {
  .p-page_recruit .c-recruit_pickup dt {
    width: 100%;
    font-size: 16px;
  }
}
.p-page_recruit .c-recruit_pickup dd {
  width: 100%;
  font-size: 13px;
  font-weight: 400;
  line-height: 24px;
}
.p-page_recruit .c-recruit_case {
  margin-top: 50px;
  margin-bottom: 80px;
  width: 100%;
  padding: 30px 30px 80px;
  background-color: #F7F7F7;
}
.p-page_recruit .c-recruit_case .p-flex_wrapper {
  margin-bottom: 40px;
}
.p-page_recruit .c-recruit_case .c-case_area__box {
  padding: 0;
}
.p-page_recruit .c-recruit_case__cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: 30px;
}
@media screen and (max-width: 1024px) {
  .p-page_recruit .c-recruit_case__cards {
    overflow-x: scroll;
  }
}
.p-page_recruit .c-recruit_case__card .c-title {
  width: auto;
  margin-top: 20px;
  margin-bottom: 10px;
  font-size: 16px;
  line-height: 24px;
}
.p-page_recruit .c-recruit_case__card .c-text {
  font-size: 12px;
  line-height: 22px;
}
.p-page_recruit .c-recruit_case__card img {
  aspect-ratio: 3/2;
  object-fit: cover;
}
.p-page_recruit .c-recruit_case__card .c-category {
  margin-top: 4px;
  border: 1px solid #26499D;
  border-radius: 100px;
  color: #26499D;
  line-height: 20px;
}
@media screen and (max-width: 1024px) {
  .p-page_recruit .c-recruit_case__card {
    width: 250px;
  }
}
.p-page_recruit .c-recruit_case .p-link_more {
  display: inline-block;
  white-space: nowrap;
}
@media screen and (max-width: 1024px) {
  .p-page_recruit .c-recruit_case .p-link_more {
    margin-block: 30px;
  }
}
.p-page_recruit .c-recruit_episode {
  position: relative;
}
.p-page_recruit .c-recruit_episode::before {
  content: "";
  position: absolute;
  top: 0;
  left: -50vw;
  display: block;
  width: 200vw;
  height: 100%;
  background-color: #F7F7F7;
  z-index: -10;
}
@media screen and (max-width: 1024px) {
  .p-page_recruit .c-recruit_episode::before {
    left: -20px;
    width: 100vw;
  }
}
.p-page_recruit .c-recruit_episode .c-recruit_comment {
  position: relative;
  margin-block: 20px 30px !important;
  padding: 20px;
  font-weight: 500;
  background-color: #FFFFFF;
}
.p-page_recruit .c-recruit_episode .c-recruit_comment::after {
  content: "";
  position: absolute;
  bottom: -10px;
  left: 20px;
  margin-left: -10px;
  border: 10px solid transparent;
  border-top: 10px solid #FFFFFF;
  rotate: -90deg;
}
.p-page_recruit .c-recruit_episode .c-button_detail {
  margin-block: 50px 80px;
}
.p-page_recruit .c-recruit_episode .c-button_detail:hover::after {
  background: url(../images/button_arrow.svg) 0 0/contain no-repeat transparent;
}
.p-page_recruit .c-recruit_person {
  display: grid;
  grid-template-areas: "image title" "image name";
  grid-template-columns: auto 1fr;
  column-gap: 20px;
  margin-block: 32px 30px;
}
.p-page_recruit .c-recruit_person__image {
  grid-area: image;
  width: 69px;
  height: 69px;
  border-radius: 200px;
  object-fit: cover;
}
@media screen and (max-width: 1024px) {
  .p-page_recruit .c-recruit_person__image {
    width: 50px;
    height: 50px;
  }
}
.p-page_recruit .c-recruit_person__title {
  grid-area: title;
  margin-bottom: 15px;
  font-size: 24px;
  font-weight: bold;
  line-height: 36px;
}
.p-page_recruit .c-recruit_person__name {
  grid-area: name;
  font-size: 13px;
  line-height: 24px;
}
@media screen and (max-width: 1024px) {
  .p-page_recruit .c-recruit_person {
    column-gap: 15px;
  }
  .p-page_recruit .c-recruit_person__image {
    width: 50px;
    height: 50px;
  }
  .p-page_recruit .c-recruit_person__title {
    font-size: 18px;
    line-height: 28px;
  }
  .p-page_recruit .c-recruit_person__name {
    font-size: 12px;
    line-height: 24px;
  }
}
.p-page_recruit .c-shifted_contents__text {
  position: relative;
  margin-right: 80px;
  padding: 30px;
  font-size: 15px;
  line-height: 29px;
  font-weight: 400;
  background-color: #F7F7F7;
}
.p-page_recruit .c-shifted_contents__text::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  width: 28px;
  height: 28px;
  background-color: #fff;
  rotate: 45deg;
  translate: -14px 14px;
  z-index: 1;
}
.p-page_recruit .c-shifted_contents__text::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  display: block;
  width: 28px;
  height: 28px;
  background-color: #fff;
  rotate: 45deg;
  translate: 14px -14px;
  z-index: 1;
}
@media screen and (max-width: 1024px) {
  .p-page_recruit .c-shifted_contents__text {
    margin-right: 0;
  }
}
.p-page_recruit .c-shifted_contents__image {
  margin-top: -40px;
  margin-left: 80px;
  margin-bottom: 50px;
  width: 100%;
}
@media screen and (max-width: 1024px) {
  .p-page_recruit .c-shifted_contents__image {
    margin-top: 30px;
    margin-left: 0;
  }
}
.p-page_recruit + .c-child_bottom_links ul {
  height: 300px;
}
@media screen and (max-width: 1024px) {
  .p-page_recruit + .c-child_bottom_links ul {
    height: auto;
  }
}
.p-page_recruit + .c-child_bottom_links .c-child_bottom_link a {
  gap: 20px;
}
.p-page_recruit + .c-child_bottom_links .c-child_bottom_link p {
  font-size: 28px;
  line-height: 24px;
}
.p-page_recruit + .c-child_bottom_links .c-child_bottom_link--company p {
  color: #26499D;
}
.p-page_recruit + .c-child_bottom_links .c-child_bottom_link span {
  font-size: 14px;
}
.p-page_recruit + .c-child_bottom_links .c-child_bottom_link .button {
  margin-top: 40px;
}
.p-page_recruit + .c-child_bottom_links .c-child_bottom_link:hover.c-child_bottom_link--company p {
  color: #FFFFFF;
}
@media screen and (max-width: 1024px) {
  .p-page_recruit + .c-child_bottom_links .c-child_bottom_link a {
    gap: 10px;
  }
  .p-page_recruit + .c-child_bottom_links .c-child_bottom_link p {
    font-size: 20px;
  }
  .p-page_recruit + .c-child_bottom_links .c-child_bottom_link span {
    font-size: 10px;
  }
  .p-page_recruit + .c-child_bottom_links .c-child_bottom_link .button {
    margin-top: 10px;
  }
}
.p-page_recruit .c-recruit_position {
  display: flex;
  gap: 30px;
  padding-bottom: 50px;
}
.p-page_recruit .c-recruit_position:not(:first-child) {
  padding-top: 50px;
}
.p-page_recruit .c-recruit_position:not(:last-child) {
  border-bottom: 1px dotted #E6E6E6;
}
.p-page_recruit .c-recruit_position__icon {
  display: block;
  width: 115px;
  height: 115px;
  object-fit: contain;
}
@media screen and (max-width: 1024px) {
  .p-page_recruit .c-recruit_position__icon {
    width: 60px;
    height: 60px;
  }
}
.p-page_recruit .c-recruit_position__title {
  position: relative;
  margin-bottom: 40px;
  font-size: 20px;
  line-height: 30px;
}
.p-page_recruit .c-recruit_position__title::after {
  content: "";
  position: absolute;
  bottom: -20px;
  left: 0;
  display: block;
  width: 20px;
  height: 1px;
  background-color: #26499D;
}
@media screen and (max-width: 1024px) {
  .p-page_recruit .c-recruit_position__title {
    font-size: 18px;
    line-height: 28px;
  }
}
.p-page_recruit .c-recruit_position__text {
  margin-bottom: 20px;
  font-size: 15px;
  font-weight: 400;
  line-height: 29px;
}
.p-page_recruit .p-recruit_table h4 {
  position: relative;
  margin-top: 20px;
  margin-bottom: 0;
  padding: 21px 20px;
  height: auto;
  background-color: #F7F7F7;
  font-size: 18px;
  font-weight: bold;
  cursor: pointer;
}
@media screen and (max-width: 1024px) {
  .p-page_recruit .p-recruit_table h4 {
    font-size: 16px;
  }
}
.p-page_recruit .p-recruit_table h4 .c-table__toggle_button {
  position: absolute;
  top: 50%;
  right: 20px;
  translate: 0 -50%;
  display: block;
  width: 16px;
  height: 16px;
  background-color: #26499D;
}
.p-page_recruit .p-recruit_table h4 .c-table__toggle_button::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  width: 2px;
  height: 6px;
  background-color: #fff;
  translate: -50% -50%;
}
.p-page_recruit .p-recruit_table h4 .c-table__toggle_button::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  width: 6px;
  height: 2px;
  background-color: #fff;
  translate: -50% -50%;
}
.p-page_recruit .p-recruit_table h4 .c-category {
  margin-right: 10px;
}
.p-page_recruit .p-recruit_table h4 .c-category:nth-child(2) {
  margin-right: 20px;
}
.p-page_recruit .p-recruit_table.is-open .wp-block-table {
  height: 100%;
  opacity: 1;
}
.p-page_recruit .p-recruit_table.is-open h4 .c-table__toggle_button::before {
  display: none;
}
.p-page_recruit .wp-block-table {
  height: 0;
  opacity: 0;
  transition: height 0.2s linear, opacity 0.3s ease-in-out;
}
.p-page_recruit .wp-block-table table {
  position: relative;
  background-color: #F7F7F7;
}
.p-page_recruit .wp-block-table table::before {
  content: "";
  position: absolute;
  top: 0;
  left: 20px;
  display: block;
  width: calc(100% - 40px);
  height: 1px;
  background-color: #26499D;
}
.p-page_recruit .wp-block-table table tr {
  display: flex;
  gap: 20px;
  margin-inline: 20px;
  padding: 30px 10px;
}
.p-page_recruit .wp-block-table table tr:not(:last-child) {
  border-bottom: 1px solid #E6E6E6;
}
@media screen and (max-width: 1024px) {
  .p-page_recruit .wp-block-table table tr {
    gap: 10px;
    flex-direction: column;
    padding: 20px 0;
  }
}
.p-page_recruit .wp-block-table table td {
  padding: 0;
  border: none;
  font-size: 15px;
  line-height: 29px;
}
.p-page_recruit .wp-block-table table td:first-child {
  width: 150px;
  text-align: left;
  white-space: nowrap;
}
.p-page_recruit .wp-block-table table td:last-child {
  width: 100%;
  font-weight: 400;
}
.p-page_recruit .wp-block-table table td:last-child em {
  display: inline-block;
  margin-block: 15px 20px;
  font-size: 14px;
  font-style: normal;
  line-height: 24px;
}

/* ==========================================================================
// 採用情報 - 個別ページのスタイル
// ========================================================================*/
.p-recruit_voice_links__wrapper {
  background-color: #26499D;
  padding-block: 60px;
}
.p-recruit_voice_links__wrapper .p-recruit_cards {
  margin-left: 270px;
}
@media screen and (max-width: 1024px) {
  .p-recruit_voice_links__wrapper {
    padding-block: 24px 30px;
  }
  .p-recruit_voice_links__wrapper .p-recruit_cards {
    margin-left: 0;
  }
}

.p-recruit_voice_links__title {
  margin-left: 270px;
  margin-bottom: 72px;
  color: #FFFFFF;
  font-size: 24px;
  font-weight: bold;
}
@media screen and (max-width: 1024px) {
  .p-recruit_voice_links__title {
    margin-left: 0;
    margin-bottom: 72px;
  }
}

.p-recruit_cards {
  display: flex;
  gap: 25px;
  margin-top: 102px;
}
@media screen and (max-width: 1024px) {
  .p-recruit_cards {
    flex-direction: column;
    gap: 60px;
  }
}
.p-recruit_card {
  position: relative;
  background-color: #FFFFFF;
}
.p-recruit_card--selected {
  background-color: transparent;
  border: 1px solid #FFFFFF;
  color: #FFFFFF;
}
.p-recruit_card .p-link_more::before {
  top: initial;
  bottom: 0;
  right: 10px;
}
.p-recruit_card .p-link_more::after {
  top: initial;
  bottom: 24px;
  right: 22px;
}
.p-recruit_card .p-link_more:hover::after {
  bottom: 20px;
  right: 10px;
  background: url(../images/button_arrow.svg) 0 0/contain no-repeat transparent;
}
@media screen and (max-width: 1024px) {
  .p-recruit_card .p-link_more::after {
    background: url(../images/button_arrow.svg) 0 0/contain no-repeat transparent;
    translate: 5px 0px;
  }
  .p-recruit_card .p-link_more:hover::after {
    translate: 5px 0px;
    bottom: 24px;
    right: 22px;
  }
}
.p-recruit_card__title {
  margin-bottom: 20px;
  font-size: 20px;
  font-weight: bold;
  text-align: center;
}
@media screen and (max-width: 1024px) {
  .p-recruit_card__title {
    margin-bottom: 15px;
    font-size: 18px;
  }
}
.p-recruit_card__text {
  font-size: 15px;
  font-weight: 400;
  line-height: 29px;
}
.p-recruit_card img {
  position: absolute;
  top: -42px;
  left: 50%;
  width: 92px;
  height: auto;
  translate: -50% 0;
}
@media screen and (max-width: 1024px) {
  .p-recruit_card img {
    top: -40px;
  }
}
.p-recruit_card a {
  display: block;
  width: 100%;
  height: 100%;
  padding: 80px 20px 60px;
}
@media screen and (max-width: 1024px) {
  .p-recruit_card a {
    padding-bottom: 48px;
  }
}

/* ------------------------
// 相互電業=〇〇
// ----------------------*/
.p-page_recruit_message .p-recruit_article {
  margin-top: -305px;
}
@media screen and (max-width: 1024px) {
  .p-page_recruit_message .p-recruit_article {
    margin-top: 0;
  }
}

/* ------------------------
// 相互電業=〇〇
// ----------------------*/
.p-page_recruit_voice .p-recruit_cards__wrapper {
  position: relative;
}
.p-page_recruit_voice .p-recruit_cards__wrapper::before {
  content: "";
  display: block;
  width: 150vw;
  height: 100%;
  position: absolute;
  top: 0;
  left: -50vw;
  background-color: #F7F7F7;
  z-index: -10;
}
@media screen and (max-width: 1024px) {
  .p-page_recruit_voice .p-recruit_cards__wrapper::before {
    width: 100vw;
    left: -20px;
  }
}
.p-page_recruit_voice .c-child_section__content > img {
  margin-top: 80px;
}

/* ------------------------
// 環境
// ----------------------*/
.p-page_recruit_environment .p-recruit_article {
  margin-top: -390px;
}
@media screen and (max-width: 1024px) {
  .p-page_recruit_environment .p-recruit_article {
    margin-top: 0;
  }
}
.p-page_recruit_environment .c-child_section__content .c-recruit_person__image {
  width: 50px;
  height: 50px;
}
.p-page_recruit_environment .splide {
  visibility: visible;
}
.p-page_recruit_environment .splide__arrows {
  right: 0;
}
.p-page_recruit_environment .splide__slide {
  padding: 0;
  border: none;
  width: 100%;
  min-height: auto;
}
@media screen and (max-width: 1024px) {
  .p-page_recruit_environment .splide__slide {
    width: 250px;
  }
}
.p-page_recruit_environment .my-slider-progress {
  position: relative;
  bottom: -40px;
  display: none;
  width: calc(100% - 142px);
  background: #E6E6E6;
}
@media screen and (max-width: 1024px) {
  .p-page_recruit_environment .my-slider-progress {
    display: block;
  }
}
.p-page_recruit_environment .my-slider-progress-bar {
  background: #26499D;
  height: 2px;
  transition: width 400ms ease;
  width: 0;
}
.p-page_recruit_environment .c-case_area__box p {
  display: -webkit-box;
  margin-bottom: 20px;
  text-overflow: ellipsis;
  white-space: wrap;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  max-height: 100px;
  overflow: hidden;
}
.p-page_recruit_environment .c-recruit_case__cards {
  display: grid;
  overflow-x: initial;
}
@media screen and (max-width: 1024px) {
  .p-page_recruit_environment .c-recruit_case__cards {
    display: flex;
  }
}

/* ------------------------
// 福利厚生
// ----------------------*/
.p-page_recruit_welfare .p-recruit_article {
  margin-top: -480px;
}
@media screen and (max-width: 1024px) {
  .p-page_recruit_welfare .p-recruit_article {
    margin-top: 0;
  }
}
.p-page_recruit_welfare .p-page_recruit .c-side_nav {
  margin-bottom: -380px;
}
@media screen and (max-width: 1024px) {
  .p-page_recruit_welfare .p-page_recruit .c-side_nav {
    margin-bottom: 60px;
  }
}
@media screen and (max-width: 1024px) {
  .p-page_recruit_welfare .c-child_section__content--grid img {
    width: 160px;
    margin-inline: auto;
  }
}

/* ------------------------
// 人事制度の取り組み事例
// ----------------------*/
.p-page_recruit_casestudy .p-recruit_article {
  margin-top: -315px;
}
@media screen and (max-width: 1024px) {
  .p-page_recruit_casestudy .p-recruit_article {
    margin-top: 0;
  }
}
.p-page_recruit_casestudy .c-child_section__content:not(:first-child) {
  margin-top: 80px;
}
@media screen and (max-width: 1024px) {
  .p-page_recruit_casestudy .c-child_section__content:not(:first-child) {
    margin-top: 40px;
  }
}
.p-page_recruit_casestudy .p-cms_articles__wrapper {
  background-color: transparent;
  padding: 0;
}
.p-page_recruit_casestudy .p-cms_sorts {
  justify-content: space-between;
  align-items: baseline;
}
.p-page_recruit_casestudy .p-cms_sorts__title {
  font-family: "Barlow", sans-serif;
  font-weight: 500;
  font-style: normal;
  color: #26499D;
  font-size: 14px;
}
.p-page_recruit_casestudy .p-cms_terms {
  border-bottom: 1px solid #E6E6E6;
}
@media screen and (max-width: 1024px) {
  .p-page_recruit_casestudy .p-cms_terms {
    border: none;
  }
}
.p-page_recruit_casestudy .p-cms_articles {
  grid-template-columns: repeat(3, 1fr);
  position: relative;
  gap: 50px 40px;
}
.p-page_recruit_casestudy .p-cms_articles .c-case_area__card {
  border: none;
  padding: 0;
}
@media screen and (max-width: 1024px) {
  .p-page_recruit_casestudy .p-cms_articles {
    grid-template-columns: repeat(1, 1fr);
    gap: 30px;
  }
}
.p-page_recruit_casestudy .c-case_area__card.is-hidden {
  display: none;
}
.p-page_recruit_casestudy .c-case_area__box {
  margin-top: 20px;
  padding: 0;
}
.p-page_recruit_casestudy .c-case_area__box h4 {
  font-size: 16px;
  font-weight: bold;
  line-height: 24px;
}
.p-page_recruit_casestudy .c-case_area__box p {
  font-size: 12px;
  line-height: 22px;
}
@media screen and (max-width: 1024px) {
  .p-page_recruit_casestudy .c-case_area__box p {
    font-size: 14px;
  }
}
.p-page_recruit_casestudy .c-button_detail {
  position: absolute;
  display: block;
  bottom: -100px;
  left: 0;
  right: 0;
}
.p-page_recruit_casestudy .c-button_detail::after {
  border-radius: 0;
  width: 10px;
  height: 2px;
}
.p-page_recruit_casestudy .c-button_detail::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 19px;
  display: block;
  width: 2px;
  height: 10px;
  background-color: #26499D;
  translate: 0 -50%;
}
.p-page_recruit_casestudy .c-button_detail:hover::after {
  width: 10px;
  height: 2px;
  background: #FFFFFF;
}
.p-page_recruit_casestudy .c-button_detail:hover::before {
  background-color: #FFFFFF;
}
.p-page_recruit_casestudy .c-button_detail.is-hidden {
  display: none;
}

/* ------------------------
// 募集職種
// ----------------------*/
.p-page_recruit_openpositions .p-recruit_article {
  margin-top: -300px;
}
@media screen and (max-width: 1024px) {
  .p-page_recruit_openpositions .p-recruit_article {
    margin-top: 0;
  }
}

/* ------------------------
// 相互電業＝〇〇
// ----------------------*/
.p-page_recruit_voice .p-recruit_article {
  margin-top: -390px;
}
@media screen and (max-width: 1024px) {
  .p-page_recruit_voice .p-recruit_article {
    margin-top: 0;
  }
}

/* ------------------------
// 仕事の面白さ
// ----------------------*/
.p-page_recruit_interest .p-recruit_article {
  margin-top: -430px;
}
@media screen and (max-width: 1024px) {
  .p-page_recruit_interest .p-recruit_article {
    margin-top: 0;
  }
}

/* ------------------------
// 思いやりの文化
// ----------------------*/
.p-page_recruit_culture .p-recruit_article {
  margin-top: -410px;
}
@media screen and (max-width: 1024px) {
  .p-page_recruit_culture .p-recruit_article {
    margin-top: 0;
  }
}

/* ------------------------
// 働く人
// ----------------------*/
.p-page_recruit_people .p-recruit_article {
  margin-top: -310px;
}
@media screen and (max-width: 1024px) {
  .p-page_recruit_people .p-recruit_article {
    margin-top: 0;
  }
}
.p-page_recruit_people h3 {
  margin-top: 80px;
}
.p-page_recruit_people .c-people_box {
  display: grid;
  grid-template-columns: 1fr 316px;
  column-gap: 50px;
  grid-template-areas: "name image" "content image" "content2 image" "button button";
  margin-right: calc(-1 * clamp(40px, 10vw, 143px));
  padding: 50px;
  padding-right: clamp(40px, 10vw, 143px);
  background-color: #F7F7F7;
}
@media screen and (max-width: 1024px) {
  .p-page_recruit_people .c-people_box {
    grid-template-columns: 1fr;
    grid-template-areas: "name" "content" "content2" "image" "button";
    margin-right: 0;
    padding: 20px;
  }
}
.p-page_recruit_people .c-people_box__name {
  grid-area: name;
  display: flex;
  align-items: center;
  gap: 15px;
  margin-bottom: 20px;
  font-size: 20px;
  font-weight: bold;
}
.p-page_recruit_people .c-people_box__name img {
  width: 69px;
  height: 69px;
  border-radius: 300px;
}
.p-page_recruit_people .c-people_box_content {
  grid-area: content;
}
.p-page_recruit_people .c-people_box_content :nth-child(2) {
  grid-area: content2;
  margin-top: 30px;
}
.p-page_recruit_people .c-people_box__index {
  padding-bottom: 5px;
  color: #26499D;
  font-size: 15px;
  border-bottom: 1px solid #26499D;
}
.p-page_recruit_people .c-people_box__text {
  font-size: 15px;
}
.p-page_recruit_people .c-people_box__thumb {
  width: 100%;
  grid-area: image;
}
@media screen and (max-width: 1024px) {
  .p-page_recruit_people .c-people_box__thumb {
    margin-top: 30px;
  }
}
.p-page_recruit_people .c-people_box .c-button_detail {
  grid-area: button;
  margin-top: 40px;
}

/* ------------------------
// 募集要項
// ----------------------*/
.p-page_recruit_requirements .p-recruit_article {
  margin-top: -317px;
}
@media screen and (max-width: 1024px) {
  .p-page_recruit_requirements .p-recruit_article {
    margin-top: 0;
  }
}
.p-page_recruit_requirements .c-requirements_cards {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  row-gap: 44px;
  margin-top: 80px;
}
@media screen and (max-width: 1024px) {
  .p-page_recruit_requirements .c-requirements_cards {
    flex-direction: column;
  }
}
.p-page_recruit_requirements .c-requirements_card {
  height: 217px;
  width: 48%;
  transition: opacity 0.3s;
}
@media screen and (max-width: 1024px) {
  .p-page_recruit_requirements .c-requirements_card {
    width: 100%;
  }
}
.p-page_recruit_requirements .c-requirements_card a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
}
.p-page_recruit_requirements .c-requirements_card:hover {
  opacity: 0.7;
}
.p-page_recruit_requirements .c-requirements_card p {
  color: #FFFFFF;
  font-size: 20px;
  font-weight: bold;
}
.p-page_recruit_requirements .c-requirements_card--sogo {
  background: url(../images/requirements_image01.jpg) center/cover no-repeat;
}
.p-page_recruit_requirements .c-requirements_card--dousanshoji {
  background: url(../images/requirements_image02.jpg) center/cover no-repeat;
}
.p-page_recruit_requirements .c-requirements_card--soeidenki {
  background: url(../images/requirements_image03.jpg) center/cover no-repeat;
}
.p-page_recruit_requirements .c-requirements_card--konnodenki {
  background: url(../images/requirements_image04.jpg) center/cover no-repeat;
}

.p-page_recruit_dosanshoji .p-recruit_article,
.p-page_recruit_konnodenki .p-recruit_article,
.p-page_recruit_sogo .p-recruit_article,
.p-page_recruit_soeidenki .p-recruit_article {
  margin-top: -378px;
}
@media screen and (max-width: 1024px) {
  .p-page_recruit_dosanshoji .p-recruit_article,
  .p-page_recruit_konnodenki .p-recruit_article,
  .p-page_recruit_sogo .p-recruit_article,
  .p-page_recruit_soeidenki .p-recruit_article {
    margin-top: 0;
  }
}

.p-page_recruit_sogo .c-child_section__content > img, .p-page_recruit_dosanshoji .c-child_section__content > img, .p-page_recruit_soeidenki .c-child_section__content > img, .p-page_recruit_konnodenki .c-child_section__content > img {
  margin-top: 80px;
}

.c-side_nav--requirements {
  margin-bottom: -300px;
  padding: 20px;
  background-color: #F7F7F7;
}
.c-side_nav--requirements .c-side_nav__title {
  padding-bottom: 10px;
  border-bottom: 2px solid #26499D;
}
@media screen and (max-width: 1024px) {
  .c-side_nav--requirements .c-side_nav__title {
    padding-top: 20px;
  }
}
.c-side_nav--requirements .c-side_nav__item {
  padding-right: 20px;
  font-weight: 500;
}
.c-side_nav--requirements .c-side_nav__item a::after {
  display: none;
}
@media screen and (max-width: 1024px) {
  .c-side_nav--requirements {
    margin-bottom: 60px;
  }
}

/* ==========================================================================
// お問い合わせページのスタイル
// ========================================================================*/
.p-page_contact h2 {
  display: flex;
  align-items: center;
  gap: 1em;
  font-size: 18px;
}
@media screen and (max-width: 1024px) {
  .p-page_contact h2 {
    gap: 10px;
    margin-bottom: 20px;
    font-size: 16px;
  }
}
.p-page_contact .p-flex_wrapper {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
}
.p-page_contact .p-flex_wrapper + .p-flex_wrapper {
  margin-top: 60px;
}
@media screen and (max-width: 1024px) {
  .p-page_contact .p-flex_wrapper {
    display: block;
  }
}
.p-page_contact .p-flex_wrapper + .p-flex_wrapper {
  margin-top: 40px;
}
.p-page_contact .c-contact_tell {
  font-family: "Barlow", sans-serif;
  font-weight: 700;
  font-style: normal;
  position: relative;
  margin-right: 30px;
  padding-right: 30px;
  font-size: 32px;
  color: #26499D;
}
.p-page_contact .c-contact_tell::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  display: block;
  width: 1px;
  height: 100%;
  background-color: #E6E6E6;
}
@media screen and (max-width: 1024px) {
  .p-page_contact .c-contact_tell {
    display: block;
    width: 100%;
    margin-right: 0;
    margin-bottom: 10px;
    padding-right: 0;
    padding-bottom: 15px;
    font-size: 28px;
    text-align: center;
  }
  .p-page_contact .c-contact_tell::after {
    top: auto;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
  }
}
.p-page_contact .p-contact_wrapper {
  width: min(706px, 75%);
}
@media screen and (max-width: 1024px) {
  .p-page_contact .p-contact_wrapper {
    width: 100%;
  }
}
.p-page_contact .p-contact_wrapper.p-flex_wrapper {
  justify-content: left;
  align-items: center;
  padding: 30px;
  background-color: #F7F7F7;
}
@media screen and (max-width: 1024px) {
  .p-page_contact .p-contact_wrapper.p-flex_wrapper {
    padding: 15px 20px 10px;
  }
}
.p-page_contact .p-contact_wrapper > p {
  font-weight: 400;
  font-size: 14px;
}
@media screen and (max-width: 1024px) {
  .p-page_contact .p-contact_wrapper > p {
    text-align: center;
  }
}
.p-page_contact .p-contact_wrapper form {
  margin-bottom: 70px;
  font-size: 15px;
  font-weight: 500;
}
.p-page_contact .p-contact_wrapper form label {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 1024px) {
  .p-page_contact .p-contact_wrapper form label {
    display: block;
    font-size: 14px;
  }
}
.p-page_contact .p-contact_wrapper form label .required {
  display: inline-block;
  margin-left: 5px;
  width: auto;
  height: 100%;
  padding: 2px 4px;
  background-color: #F03A47;
  color: #FFFFFF;
  font-size: 12px;
}
.p-page_contact .p-contact_wrapper form input {
  width: 400px;
  height: 50px;
  border: 1px solid #E6E6E6;
  border-radius: 5px;
}
.p-page_contact .p-contact_wrapper form input[name=acceptance] {
  width: 25px;
  height: 25px;
  border-radius: 5px;
}
@media screen and (max-width: 1024px) {
  .p-page_contact .p-contact_wrapper form input {
    width: 100%;
    height: 40px;
  }
}
.p-page_contact .p-contact_wrapper form textarea {
  width: 400px;
  border: 1px solid #E6E6E6;
  border-radius: 5px;
}
@media screen and (max-width: 1024px) {
  .p-page_contact .p-contact_wrapper form textarea {
    width: 100%;
  }
}
.p-page_contact .p-contact_wrapper form p {
  padding: 20px 30px;
  background-color: #F7F7F7;
  border-bottom: 1px solid #E6E6E6;
  font-size: 15px;
  font-weight: 500;
}
@media screen and (max-width: 1024px) {
  .p-page_contact .p-contact_wrapper form p {
    padding: 20px;
  }
}
.p-page_contact .p-contact_wrapper form p:nth-last-child(3) {
  background: none;
  margin-top: 53px;
  padding-left: 0;
  border: none;
}
@media screen and (max-width: 1024px) {
  .p-page_contact .p-contact_wrapper form p:nth-last-child(3) {
    margin-top: 20px;
  }
}
.p-page_contact .p-contact_wrapper form p:nth-last-child(2) {
  position: relative;
  background: none;
  margin-top: 32px;
  padding: 0;
  border: none;
}
@media screen and (max-width: 1024px) {
  .p-page_contact .p-contact_wrapper form p:nth-last-child(2) {
    margin-top: 0;
  }
}
.p-page_contact .p-contact_wrapper form p:nth-last-child(2)::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 40px;
  display: inline-block;
  width: 28px;
  height: 28px;
  background-color: #FFFFFF;
  border-radius: 50%;
  translate: 0 -36px;
  transition: all 0.2s ease-in-out;
  z-index: 10;
}
@media screen and (max-width: 1024px) {
  .p-page_contact .p-contact_wrapper form p:nth-last-child(2)::before {
    translate: 0 -40px;
  }
}
.p-page_contact .p-contact_wrapper form p:nth-last-child(2)::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 52px;
  display: block;
  width: 4px;
  height: 4px;
  background-color: #26499D;
  border-radius: 50%;
  translate: 0 -25px;
  transition: all 0.2s ease-in-out;
  z-index: 10;
}
@media screen and (max-width: 1024px) {
  .p-page_contact .p-contact_wrapper form p:nth-last-child(2)::after {
    top: 50%;
    right: 39px;
    translate: -7px -30px;
    width: 14px;
    height: 8px;
    background: url(../images/button_arrow_blue.svg) 0 0/contain no-repeat transparent;
  }
}
.p-page_contact .p-contact_wrapper form p:nth-last-child(2):hover {
  color: #FFFFFF;
}
.p-page_contact .p-contact_wrapper form p:nth-last-child(2):hover::after {
  content: "";
  top: 50%;
  right: 39px;
  translate: -7px -25px;
  width: 14px;
  height: 8px;
  background: url(../images/button_arrow_blue.svg) 0 0/contain no-repeat transparent;
}
.p-page_contact .p-contact_wrapper form p:nth-last-child(2):hover input {
  background-color: #2E2624;
}
.p-page_contact .p-contact_wrapper form p:nth-last-child(2) input {
  position: relative;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 80px;
  padding: 30px;
  border: none;
  border-radius: 0;
  background-color: #26499D;
  color: #FFFFFF;
  font-size: 15px;
  font-weight: bold;
  text-align: left;
  cursor: pointer;
}
@media screen and (max-width: 1024px) {
  .p-page_contact .p-contact_wrapper form p:nth-last-child(2) input {
    height: 70px;
    padding: 20px 0;
    text-align: center;
  }
}
.p-page_contact .p-contact_wrapper form p > span {
  display: block;
  width: 400px;
  margin-left: auto;
  font-size: 13px;
  font-weight: 400;
}
@media screen and (max-width: 1024px) {
  .p-page_contact .p-contact_wrapper form p > span {
    width: 100%;
    margin-left: 0;
  }
}
.p-page_contact .p-contact_wrapper form .wpcf7-acceptance label {
  align-items: center;
  gap: 10px;
  font-size: 14px;
  font-weight: 400;
}
.p-page_contact .p-contact_wrapper .wpcf7-form-control-wrap {
  display: block;
  width: auto;
  margin-top: 10px;
  margin-left: 0;
}

.p-page_contact .p-contact_wrapper p.recapcha_caution {
  margin-top: -50px;
  margin-bottom: 50px;
  text-align: justify;
}
@media screen and (max-width: 1024px) {
  .p-page_contact .p-contact_wrapper p.recapcha_caution {
    margin-top: -75px;
    margin-bottom: 50px;
  }
}

@media screen and (max-width: 1024px) {
  .p-page_contact_confirm .p-form_wrapper {
    padding-inline: 20px;
    background: #F7F7F7;
  }
}
.p-page_contact_confirm .p-contact_wrapper form p {
  padding: 20px 0;
  background: none;
  border-bottom: none;
}
@media screen and (max-width: 1024px) {
  .p-page_contact_confirm .p-contact_wrapper form p {
    border-bottom: 1px solid #E6E6E6;
  }
}
.p-page_contact_confirm .p-contact_wrapper form p br {
  display: none;
}
@media screen and (max-width: 1024px) {
  .p-page_contact_confirm .p-contact_wrapper form p br {
    display: block;
  }
}
.p-page_contact_confirm .p-contact_wrapper form p .wpcf7-previous {
  display: block;
  margin-top: 20px;
  margin-bottom: 200px;
  padding-left: 38px;
  background: none;
  height: 30px;
  border: none;
}
@media screen and (max-width: 1024px) {
  .p-page_contact_confirm .p-contact_wrapper form p .wpcf7-previous {
    margin-bottom: 40px;
  }
}
.p-page_contact_confirm .p-contact_wrapper form label > span {
  width: 400px;
  font-weight: 400;
}
.p-page_contact_confirm .p-contact_wrapper form p:nth-last-child(3) {
  margin-top: 0;
  border: none;
}
@media screen and (max-width: 1024px) {
  .p-page_contact_confirm .p-contact_wrapper form p:nth-last-child(3) {
    border-bottom: 1px solid #E6E6E6;
    margin-top: 0;
  }
}
.p-page_contact_confirm .p-contact_wrapper form p:nth-last-child(2) {
  background: none;
  margin-top: 0;
  padding: 20px 0;
  border: none;
}
@media screen and (max-width: 1024px) {
  .p-page_contact_confirm .p-contact_wrapper form p:nth-last-child(2) {
    border-bottom: 1px solid #E6E6E6;
    margin-top: 0;
  }
}
.p-page_contact_confirm .p-contact_wrapper form p:nth-last-child(2)::before {
  content: none;
}
.p-page_contact_confirm .p-contact_wrapper form p:nth-last-child(2)::after {
  content: none;
}
@media screen and (max-width: 1024px) {
  .p-page_contact_confirm .p-contact_wrapper form p:nth-last-child(2)::after {
    content: none;
  }
}
.p-page_contact_confirm .p-contact_wrapper form p:nth-last-child(2):hover {
  color: inherit;
}
.p-page_contact_confirm .p-contact_wrapper form p:nth-last-child(2):hover::after {
  content: none;
}
.p-page_contact_confirm .p-contact_wrapper form .p-link_more::before {
  left: 0;
}
.p-page_contact_confirm .p-contact_wrapper form .p-link_more::after {
  left: 0;
  translate: 12px -3px;
  rotate: 180deg;
}
@media screen and (max-width: 1024px) {
  .p-page_contact_confirm .p-contact_wrapper form .p-link_more::after {
    translate: 8px -4px;
  }
}
.p-page_contact_confirm .p-contact_wrapper form .p-link_more p {
  padding: 0;
  border: none;
}
.p-page_contact_confirm .p-contact_wrapper form .p-link_more input {
  width: auto;
  cursor: pointer;
}
.p-page_contact_confirm .p-contact_wrapper form .p-link_more:hover::after {
  translate: 6px -4px;
}
.p-page_contact_confirm .p-contact_wrapper form .c-button_simple_wide {
  position: relative;
  margin-top: 90px;
  height: 80px;
  cursor: pointer;
}
@media screen and (max-width: 1024px) {
  .p-page_contact_confirm .p-contact_wrapper form .c-button_simple_wide {
    height: 70px;
  }
}
.p-page_contact_confirm .p-contact_wrapper form .c-button_simple_wide p {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 1024px) {
  .p-page_contact_confirm .p-contact_wrapper form .c-button_simple_wide p {
    flex-direction: column;
    margin-top: 4px;
    border-bottom: none;
  }
}
.p-page_contact_confirm .p-contact_wrapper form .c-button_simple_wide .wpcf7-submit {
  display: block;
  padding: 0 30px;
  width: 100%;
  border: none;
  border-radius: 0;
  background: none;
  color: #FFFFFF;
  font-size: 15px;
  font-weight: bold;
  text-align: left;
  cursor: pointer;
}
@media screen and (max-width: 1024px) {
  .p-page_contact_confirm .p-contact_wrapper form .c-button_simple_wide .wpcf7-submit {
    padding: 0;
    text-align: center;
  }
}
@media screen and (max-width: 1024px) {
  .p-page_contact_confirm .p-contact_wrapper form .c-button_simple_wide {
    margin-top: 20px;
  }
}

.p-page_contact_thanks h2 {
  margin-bottom: 40px;
  font-size: 32px;
}
.p-page_contact_thanks .c-child_section__content {
  display: block;
}
.p-page_contact_thanks .c-button {
  margin: 60px 0 200px;
}

.u-hover {
  opacity: 1;
  transition: opacity 0.3s;
}
.u-hover:hover {
  opacity: 0.7;
}

.grecaptcha-badge {
  visibility: hidden;
}

