@charset "utf-8";

/* -----------------------------------
  top
----------------------------------- */
/* メインビジュアル */
.main_visial {
  max-height: 600px;
  position: relative;
  overflow: hidden;
}

.slider {
  height: 600px;
  margin-inline: auto;
  overflow: hidden;
  width: 100%;
}

.slick-list,
.slick-slider,
.slick-img img {
  height: auto;
}

.slick-img img {
  object-fit: cover;
  object-position: 50%;
  width: 100%;
}

.catchphrase {
  display: block;
  margin: 0 auto;
  max-width: 1192px;
  /* position: relative; */
  height: 600px;
}

.main_catchphrase,
.sub_catchphrase,
.english_catchphrase {
  position: absolute;
}

.main_catchphrase {
  background: var(--sub_c);
  color: var(--text_c);
  font-family: var(--font_05);
  font-size: var(--fsize_40);
  font-style: normal;
  font-weight: var(--fontw_m);
  gap: 10px;
  line-height: var(--lh_m);
  letter-spacing: 6px;
  padding: 20px 23px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  top: 232px;
}

.sub_catchphrase {
  background: var(--act_c2);
  color: var(--cat_c);
  font-family: var(--font_01);
  font-size: var(--fsize_20);
  font-style: normal;
  font-weight: var(--fontw_l);
  gap: 10px;
  line-height: var(--lh_m);
  letter-spacing: 3px;
  padding: 0px 21px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  top: 317px;
}

.english_catchphrase {
  color: var(--sub_c);
  font-family: var(--font_06);
  font-size: var(--fsize_55);
  font-style: normal;
  font-weight: 250;
  line-height: var(--lh_m);
  letter-spacing: 5.5px;
  margin-right: calc(50% - 596px);
  transform: rotate(-6.135deg);
  top: 372px;
  right: 0;
}

@keyframes zoomUp {
  0% {
    transform: scale(1);
  }

  100% {
    transform: scale(1.15);
    /* 拡大率 */
  }
}

.add-animation {
  animation: zoomUp 10s linear 0s normal both;
}

/* news */
.top-page section.news {
  background-color: var(--bc_c);
  padding: 80px 0 85px;
}

.top-page section.news>.flex_box {
  margin-bottom: 2em;
}

.top-page section.news h2 {
  flex-basis: 30%;
}

.top-page section.news .content {
  flex-basis: 70%;
}

.news_index {
  /* margin-bottom: 3em; */
}

.news_list {
  border-bottom: 1px solid #a6a6a6;
  padding-bottom: 1em;
  margin-bottom: 1em;
}

.news_timecat {
  letter-spacing: 0.15em;
}

.news_timecat.flex_box {
  align-items: center;
}

.news_timecat.flex_box time {
  font-family: var(--font_01);
  font-weight: var(--fontw_m);
  flex-basis: 17.5%;
}

.news_category {
  background-color: var(--cat_c);
  border-radius: 15px;
  color: var(--sub_c);
  font-size: var(--fsize_13);
  padding: 0.5em 1.5em;
  text-align: center;
}

p.news_title {
  margin-top: 1em;
  font-weight: var(--fontw_m);
}

/* about */
.top-page section.about {
  position: relative;
  overflow: hidden;
  padding: 215px 0 185px;
  width: 100%;
}

.about_bc1,
.about_bc2,
.recruit_bc1,
.recruit_bc2,
.recruit_bc3 {
  width: min-content;
  position: absolute;
  z-index: -1;
}

.about_bc1 {
  top: 2em;
  right: calc(50vw - 756px);
  animation: blinkAnimeS2 2s infinite alternate;
}

.about_bc2 {
  bottom: 2em;
  left: calc(50vw - 756px);
  animation: blinkAnimeS2 2.25s infinite alternate;
}

@keyframes blinkAnimeS2 {
  0% {
    opacity: 0
  }

  100% {
    opacity: 1
  }
}

.top-page section.about .flex_box {
  align-items: center;
  justify-content: space-between;
}

.top-page section.about .flex_box .box {
  flex-basis: 56%;
}

.top-page section.about .flex_box figure {
  flex-basis: 40%;
}

.top-page section.about .grid_box1 {
  display: grid;
  grid-template-columns: 60% 40%;
}

.grid3 {
  grid-row-start: 1;
  grid-column-start: 2;
  grid-row: span 2;
}

.frid2 {
  grid-column-start: 1;
  grid-column-end: 2;
  grid-row-start: 2;
}

.top-page section.about .text,
.top-page section.company .text,
.top-page section.service .text {
  line-height: 3;
  letter-spacing: 0.15em;
}

.top-page section.about .gallery {
  margin-top: 160px;
  width: 100%;
  display: flex;
  justify-content: space-between;
}

.top-page section.about .gallery img {
  height: auto;
  object-fit: contain;
  margin-right: 1em;
  /* max-height: 250px; */
  image-rendering: -webkit-optimize-contrast;
}

.top-page section.about .gallery img:nth-of-type(1),
.top-page section.about .gallery img:nth-of-type(5) {
  /* flex-basis: 12.2%; */
}

.top-page section.about .gallery img:nth-of-type(2),
.top-page section.about .gallery img:nth-of-type(3),
.top-page section.about .gallery img:nth-of-type(4) {
  /* flex-basis: 23.9%; */
}


/* company */
.bc-group {
  padding: 120px;
  margin-bottom: 125px;
  background: linear-gradient(90deg, var(--sub_c) 0%, var(--sub_c) 29%, var(--bc_c) 29%, var(--bc_c) 100%);
}

.top-page section.company {
  margin-bottom: 100px;
}

.top-page section.company .flex_box,
.top-page section.service .flex_box {
  align-items: center;
  justify-content: space-between;
}

.top-page section.company .flex_box .overimage,
.top-page section.service .flex_box .overimage {
  flex-basis: 51%;
}

.top-page section.company .flex_box .box,
.top-page section.service .flex_box .box {
  flex-basis: 42.5%;
}

.top-page section.company .flex_box .overimage img,
.top-page section.service .flex_box .overimage img {
  object-fit: cover;
  width: 51vw;
}

.top-page section.company .flex_box .overimage img {
  margin: 0 0 0 calc(533px - 51vw);
}

.top-page section.service .flex_box .overimage img {
  margin: 0 calc(533px - 51vw) 0 0;
}


.top-page section.company .text,
.top-page section.service .text,
.top-page section.recruit .text {
  margin-bottom: 1em;
}

/* recruit */
.top-page section.recruit {
  background-image: url(../image/recruit_bc.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  min-height: 685px;
  padding: 125px 0;
}

.top-page section.recruit .content {
  background-color: var(--sub_c);
  padding: 55px 0;
  text-align: center;
}

.top-page section.recruit .btn_area_02 {
  margin-top: 3em;
}


/* -----------------------------------
 下層ページ共通 
----------------------------------- */
.pagetitle {
  /* min-height: 345px; */
  /* display: flex; */
  /* align-items: center; */
  /* justify-content: flex-start; */
}

.pagetitle .container {
  /* width: 100%; */
}

.pagetitle_bc {
  /* background-color: var(--main_c); */
  /* width: fit-content; */
  /* padding: 30px 130px 30px 65px; */
  /* position: relative; */
}

.pagetitle_bc::before {
  /* background-color: var(--main_c); */
  /* content: ""; */
  /* height: 100%; */
  /* width: calc(50vw - 596px); */
  /* position: absolute; */
  /* top: 0; */
  /* left: calc(596px - 50vw); */
  /* z-index: -1; */
}

.breadcrumb {
  background-color: var(--bc_c);
  /* margin-bottom: 120px; */
  padding: 1em 0;
  text-transform: uppercase;
}

.under_page .pagetitle {
  /* background: linear-gradient(0deg, rgba(0, 30, 62, 0.70) 0%, rgba(0, 30, 62, 0.70) 100%), url(<path-to-image>), lightgray 0px -174.403px / 100% 250.359% no-repeat; */
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  min-height: 250px;
  position: relative;
  display: flex;
  align-items: center;
}

.under_page .pagetitle .sub_title {
  color: rgba(255, 255, 255, 0.15);
  font-family: var(--font_01);
  font-size: 125px;
  font-style: normal;
  font-weight: var(--fontw_l);
  line-height: var(--lh_m);
  letter-spacing: 18.75px;
  width: 100%;
  text-align: center;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  position: absolute;
  top: 50%;
  left: 50%;
}

.under_page .pagetitle_bc {
  background: none;
  color: var(--sub_c);
  width: 100%;
  text-align: center;
  font-family: var(--font_05);
  padding: 0;
}

.under_page .pagetitle_bc::before {
  content: none;
}

.under_page .pagetitle .main_title {
  color: var(--sub_c);
  font-family: var(--font_05);
  font-size: 40px;
  font-style: normal;
  font-weight: var(--fontw_l);
  line-height: var(--lh_m);
  letter-spacing: 6px;
}

.news_content,
.our-business_content,
.pmvv_content,
.single_content,
.voice_single_content,
.about_content,
.message_content,
.occupation_content,
.voice_content,
.career-path_content,
.work-environment_content,
.flowchart_content,
.faq_content,
.application-requirements_content,
.recruit-entry,
.new-entry_content,
.midcareer-entry_content,
.nextyear-entry_content,
.recruit-entry_content,
.tnkpage_content {
  padding: 100px 0 125px;
}

.under_toptext {
  text-align: center;
  margin-bottom: 60px;
}

.title_p1,
.title_p2 {
  color: var(--text_c);
  font-family: var(--font_05);
  font-size: var(--fsize_15);
  font-style: normal;
  font-weight: var(--fontw_m);
  letter-spacing: 2.25px;
  text-align: center;
}

.title_p1 {
  margin-top: 40px;
  line-height: var(--lh_m);
}

.title_p2 {
  line-height: var(--lh_l);
}

/* -----------------------------------
 下層ページ：NEWS
----------------------------------- */
.news.under_page .pagetitle {
  background-image: url(../image/headertitlebc_news.png);
}

.single_content p.news_title {
  font-family: var(--font_05);
  font-size: var(--fsize_20);
  font-weight: var(--fontw_l);
  letter-spacing: 3px;
  margin-bottom: 1em;
  padding-bottom: 1em;
  border-bottom: 1px solid var(--line_c);
}

.news_text {
  font-family: var(--font_05);
  font-size: var(--fsize_15);
  font-weight: var(--fontw_m);
  line-height: 45px;
  letter-spacing: 2.25px;
}

.single_content .btn_style_06 {
  margin: 100px auto 0;
}

/* -----------------------------------
 下層ページ：事業内容
----------------------------------- */
.our-business.under_page .pagetitle {
  background-image: url(../image/headertitlebc_service.png);
}

.our-business_card {
  border-top: 1px solid var(--main_c);
  padding: 30px 0 60px;
  flex-wrap: nowrap;
}

.our-business_card:last-of-type {
  border-bottom: 1px solid var(--main_c);
}

.our-business_card_num {
  color: var(--act_c);
  font-family: var(--font_01);
  font-size: var(--fsize_60);
  font-style: normal;
  font-weight: var(--fontw_l);
  line-height: var(--lh_m);
  letter-spacing: 9px;
  flex-basis: 6.3%;
  margin-right: 3.9%;
}

.our-business_card_pic {
  flex-basis: 36.7%;
  margin-right: 8.3%;
}

.our-business_card_txt {
  flex-basis: 44.6%;
  position: relative;
}

.our-business_card_pic,
.our-business_card_txt {
  padding-top: 23px;
}

.our-business_card_txt_title {
  font-family: var(--font_05);
  font-size: var(--fsize_25);
  font-style: normal;
  font-weight: var(--fontw_l);
  line-height: var(--lh_m);
  letter-spacing: 3.75px;
  margin-bottom: var(--fsize_20);
}

.our-business_card_txt_p {
  font-family: var(--font_05);
  font-size: var(--fsize_15);
  font-style: normal;
  font-weight: var(--fontw_m);
  line-height: 25px;
  letter-spacing: 1.5px;
}

.our-business_card_txt_btn {
  /* margin: auto 0 28px; */
  position: absolute;
  bottom: 28px;
}


/* -----------------------------------
下層ページ：PMVV
----------------------------------- */
.pmvv .title_style_06 .sub_title .left {
  font-size: var(--fsize_20);
  font-weight: 700;
  line-height: 35px;
  letter-spacing: 3px;
}

.pmvv .title_style_06 .sub_title .right {
  font-size: var(--fsize_15);
  font-weight: 700;
  line-height: 35px;
  letter-spacing: 3px;
}

.pmvv.under_page .pagetitle {
  background-image: url(../image/headertitlebc_philosophy.png);
}

.pmvv_content_01 {
  background: var(--bc_c);
}

.pmvv_content_01 .pmvv_contents {
  justify-content: center;
  padding: 75px 0;
}

.pmvv_card {
  border: 1px solid var(--main_c);
  padding: 40px 20px;
  position: relative;
  margin-bottom: 100px;
  line-height: 1;
}

.pmvv_card:last-of-type {
  margin-bottom: 0;
}

.pmvv_card h3 {
  padding: 0 25px 0 20px;
  background-color: var(--sub_c);
  align-items: flex-end;
  position: absolute;
  top: -18px;
}

.pmvv_card_txt {
  margin-left: 20px;
margin-top:10px;

}

p.pmvv_card_txt,
.pmvv_card_txt li {
  font-family: var(--font_05);
  font-size: var(--fsize_15);
  font-style: normal;
  font-weight: var(--fontw_m);
  letter-spacing: 2.25px;
}

.pmvv_content_02 {
  padding-top: 100px;
}


/* -----------------------------------
下層ページ：会社案内
----------------------------------- */
.company-profile.under_page .pagetitle {
  background-image: url(../image/headertitlebc_company.png);
}

.company-profile_content_01,
.company-profile_content_02,
.company-profile_content_03 {
  padding: 0 0 120px;
}

.company-profile_content_01 {
  padding-top: 100px;
}

.company-profile_content_01_box01 h2 {
  margin-bottom: 40px;
}

.company-profile_content_01_box01.flex_box {
  justify-content: space-between;
}

.company-profile_content_01_box01 .title_style_06>* {
  text-align: start;
}

.company-profile_content_01_box01 .box1 {
  flex-basis: 62%;
}

.president {
  flex-basis: 31%;
}

.company-profile_content_01_box01,
.company-profile_content_01_box02 {
  font-family: var(--font_05);
  font-size: var(--fsize_15);
  font-style: normal;
  font-weight: var(--fontw_m);
  line-height: var(--lh_m);
  letter-spacing: 2.25px;
}

h3.company-profile_content_01_box02 {
  font-size: var(--fsize_18);
  margin-top: 20px;
}

p.company-profile_content_01_box02 {
  margin-bottom: 20px;
}

.company-profile_content_01_box03 {
  text-align: end;
}

.job_title {
  font-family: var(--font_07);
  font-size: var(--fsize_15);
  font-style: normal;
  font-weight: var(--fontw_m);
  line-height: var(--lh_m);
  letter-spacing: 2.25px;
  margin-right: 26px;
}

.job_name {
  font-family: var(--font_07);
  font-size: var(--fsize_25);
  font-style: normal;
  font-weight: var(--fontw_m);
  line-height: var(--lh_m);
  letter-spacing: 3.75px;
}

.company-profile_content_02 .map {
  margin: 45px 0;
}

.company-profile_card_txt_btn {
  margin: 0 auto;
}

.company-profile_content_02 .table_style_01 tr {
  font-weight: var(--fontw_m);
  line-height: 25px;
  letter-spacing: 2.25px;
}

/* -----------------------------------
下層ページ：プライバシーポリシー
----------------------------------- */
.privacy-policy.under_page .pagetitle {
  background-image: url(../image/headertitlebc_policy.png);
}

.privacy-policy_content {
  padding: 110px 0 135px;
}

.privacy-policy_content_01 {
  margin-bottom: 40px;
}

.privacy-policy_content_01>*,
.privacy-policy_content_02 .table_style_02 td {
  font-family: var(--font_05);
  font-size: var(--fsize_15);
  font-style: normal;
  font-weight: var(--fontw_m);
  line-height: 25px;
  letter-spacing: 1px;
}

.privacy-policy_content_01_p1 {
  margin-bottom: 1em;
}

.privacy-policy_content_02_box03 {
  margin-top: 35px;
  text-align: end;
}


/* -----------------------------------
下層ページ：お問合せ
----------------------------------- */
.contact-page.under_page .pagetitle,
.contact-tnkpage.under_page .pagetitle {
  background-image: url(../image/headertitlebc_contact.png);
}

.contact-page_content .under_toptext,
.contact-tnkpage .under_toptext {
  padding: 100px 0;
  margin-bottom: 0;
}

.contact-page_content_01 {
  padding-bottom: 100px;
}

.form-table {
  width: 100%;
}

.form-table tr {
  height: 45px;
}

.form-table th,
.form-table td {
  padding-bottom: 40px;
}

.form-table td {
  width: 62.5%;
}

.form-table td.required_area {
  width: 54px;
}

.form-table th {
  padding-right: 48px;
  padding-top: 14px;
  text-align: end;
  /* vertical-align: inherit; */
}

.required {
  border-radius: 5px;
  background: var(--cat_c);
  color: var(--sub_c);
  font-family: var(--font_05);
  font-size: var(--fsize_13);
  font-weight: var(--fontw_l);
  height: 35px;
  line-height: 15px;
  letter-spacing: 1.95px;
  margin: 5px 0;
  width: 54px;
  display: flex;
  align-items: center;
  flex-shrink: 0;
  justify-content: center;
}

.form-table input,
.form-table select,
.form-table textarea,
.form-table wpcf7-checkbox {
  border: 1px solid var(--line_c);
}

.form-table input,
.form-table textarea,
.form-table select {
  padding: 12.875px 0.5em;
  width: 100%;
}

.form-table input[type="checkbox"] {
  padding: 0;
  height: 20px;
  width: 20px;
}

.checkbox_td {
  padding-top: 13px;
}

.form-table input.checkbox {
  padding: 0;
  width: 20px;
  height: 20px;
  margin-right: 1em;
}

.wpcf7-checkbox {
  width: 20px;
  height: 20px;
  padding-top: 14px;
  /* display: inline-block; */
  /* border: 1px solid var(--line_c); */
}

.form-table tr:last-of-type .wpcf7-list-item {
  margin: 0 0 10px;
}

.checkbox_td .wpcf7-list-item-label {
  margin-left: 1.5em;
  position: relative;
}

.checkbox_td .wpcf7-not-valid .wpcf7-list-item-label::after {
  content: '';
  display: block;
  position: absolute;
  top: .4em;
  left: -2.5em;
  width: 10px;
  height: 5px;
  border-left: 2px solid #25AF01;
  border-bottom: 2px solid #25AF01;
  transform: rotate(-45deg);
}

.privacy_p {
  text-align: center;
  margin-bottom: 60px;
}

.anc {
  border-bottom: 1px solid var(--main_c);
  color: var(--main_c);
}

.contact-page_content_02,
.contact-tnkpage_content_02 {
  padding: 55px 0 120px;
}

.entryform_btn {
  display: block;
  height: 245px;
  width: 460px;
}

.entryform_btn_inner {
  background: rgba(10, 90, 150, 0.80);
  color: var(--sub_c);
  height: 100%;
  width: 100%;
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
}

.entryform_btn-area {
  justify-content: space-between;
  margin-top: 40px;
}

.entryform_btn_subtitle {
  font-family: var(--font_01);
  font-size: var(--fsize_25);
  font-weight: var(--fontw_l);
  line-height: var(--lh_m);
  letter-spacing: 3.75px;
}

.entryform_btn_maintitle {
  font-family: var(--font_05);
  font-size: var(--fsize_35);
  font-weight: var(--fontw_l);
  line-height: var(--lh_m);
  letter-spacing: 5.25px;
}

.entryform_btn_a,
.entryform_btn_b {
  background-size: cover;
  background-repeat: no-repeat;
}




.hrafarea>p {
  display: flex;
  justify-content: space-between;
}

input.harfblock {
  width: calc(100% - 10px);
}

input.wpcf7-date {
  width: auto;
  width: 100%;
}

.form-table select {
  width: 250px;
  -webkit-appearance: auto;
  appearance: auto;
}

.checkbox_style_01 {
  display: block;
  width: 100%;
  height: 100%;
}

.checkbox_style_01 .wpcf7-list-item {
  margin-right: 3em;
  margin-bottom: 10px;
}



.entryform_btn_a {
  background-image: url(../image/bc_image_entry_01.png);
}

.entryform_btn_b {
  background-image: url(../image/bc_image_entry_02.png);
}

.wpcf7-spinner {
  margin: 0 auto;
  display: block;
}

.contact-tnkpage .btn_area_02 {
  margin-top: 40px;
}

.form-table tr:last-of-type input[type="checkbox"] {
  margin: 0 auto 10px;
}

.form-table tr:last-of-type .wpcf7-list-item-label {
  width: calc(100% - 60px);
  margin-left: 20px;
  display: inline-block;
}

/* -----------------------------------
	下層ページ：採用情報
----------------------------------- */
.recruit.under_page .pagetitle,
.about.under_page .pagetitle,
.message.under_page .pagetitle,
.occupation.under_page .pagetitle,
.voice.under_page .pagetitle,
.career-path.under_page .pagetitle,
.work-environment.under_page .pagetitle,
.flowchart.under_page .pagetitle,
.faq.under_page .pagetitle,
.application-requirements.under_page .pagetitle,
.new-entry.under_page .pagetitle,
.nextyear-entry.under_page .pagetitle,
.midcareer-entry.under_page .pagetitle,
.tnkpage.under_page .pagetitle {
  background-image: url(../image/headertitlebc_recruit.png);
}

.recruit_content_01 {
  min-height: 590px;
  padding: 190px 0;
  position: relative;
  margin: 0;
}

.recruit_bc1 {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  animation: blinkAnimeS2 2s infinite alternate;
}

.recruit_bc2 {
  top: 20px;
  left: calc(50vw - 650px);
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  animation: blinkAnimeS2 2s infinite alternate;
}

.recruit_bc3 {
  bottom: 20px;
  right: calc(50vw - 650px);
  /* transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%); */
  animation: blinkAnimeS2 2s infinite alternate;
}

.recruit_content {
  padding: 0;
  margin: 0;
}

.recruit_content_02,
.recruit_content_03 {
  height: 460px;
  background-color: var(--main_c);
}

.recruit_content_02 {
  height: inherit;
  margin-bottom: 20px;
}

.recruit_contents_blue {
  height: inherit;
  width: 100%;
  align-items: center;
}

.recruit_card_pic {
  flex-basis: 46%;
  height: inherit;
  /* width: 46%; */
  overflow: hidden;
}

.recruit_card_pic img {
  object-fit: cover;
  display: block;
  height: auto;
  width: 100%;
}

.recruit_content_02 .recruit_card_pic_image {
  object-position: center;
}

.recruit_content_03 .recruit_card_pic_image {
  object-position: top;
}

.recruit_contents_txt {
  width: 656px;
  padding: 64px;
}

.recruit_content_03 .recruit_contents_txt {
  /* margin-left: calc(50vw - 596px); */
}

.recruit_content_03 .recruit_contents_blue {
  justify-content: flex-end;
}

.recruit_content_02 .title_p1,
.recruit_content_03 .title_p1 {
  margin-bottom: 40px;
  color: var(--sub_c);
  font-family: var(--font_05);
  font-size: var(--fsize_15);
  font-weight: var(--fontw_m);
  /* line-height: var(--lh_l); */
  letter-spacing: 2.25px;
  text-align: left;
}

.recruit_content_04 {
  position: relative;
  padding: 130px 0;
}

.recruit_content_04 .title_style_06 {
  margin-bottom: 40px;
}

.recruit_content_04_flex {
  justify-content: center;
}

.recruit_card {
  margin: 0 16px;
  max-width: 516px;
}

.recruit_content_04_flex img {
  width: 100%;
}

.recruit_card_txt_title {
  font-size: var(--fsize_25);
  font-family: var(--font_05);
  font-weight: var(--fontw_l);
  line-height: var(--lh_m);
  letter-spacing: 3.75px;
  margin: 20px 18px;
}

p.recruit_card_txt_p {
  font-family: var(--font_05);
  font-size: var(--fsize_15);
  font-weight: var(--fontw_m);
  line-height: 25px;
  letter-spacing: 2.25px;
  margin: 0 18px 40px;
}

.recruit_card_txt_btn {
  max-width: 300px;
  margin: 0 auto;
}

.recruit_content_05 {
  background-color: var(--bc_c);
  padding: 75px 0 140px;
}

.recruit_menber_title {
  flex-basis: calc(100% - 300px);
}

.recruit_menber_title>* {
  flex-basis: 100%;
}

.recruit_card_txt_btn {
  flex-basis: 300px;
  height: fit-content;
}

.recruit_menber {
  align-items: flex-end;
  margin-bottom: 50px;
}

.menber_card {
  /* min-width: 336px; */
  min-height: 300px;
  /* padding: 0 18px 18px; */
  /* margin: 0 18px 18px; */
}

.menber_card_textbox {
  color: var(--sub_c);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  min-height: 300px;
  /* min-width: 30px; */
  /* padding: 0 10px; */
}

.menber_card_textbox_bc {
  background: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.5));
  padding: 25px;
  min-height: inherit;
  /* min-width: 300px; */
  align-items: end;
  align-content: flex-end;
}

.slick-initialized .slick-slide {
  display: flex;
}

.inner {
  padding: 0 10px 10px;
}

.menber_card_textbox_bc>* {
  flex-basis: 100%;
}

.menber_catch {
  font-family: var(--font_05);
  font-size: var(--fsize_20);
  font-weight: var(--fontw_l);
  line-height: 30px;
  letter-spacing: 3px;
}

.menber_text {
  font-family: var(--font_05);
  font-size: var(--fsize_15);
  font-weight: var(--fontw_m);
  line-height: 20px;
  letter-spacing: 2.25px;
}

.slick-prev,
.slick-next {
  background: var(--text_c);
  content: url(../image/icon_right_arrow.svg);
  padding: 15px;
  width: 60px;
  height: 60px;
  z-index: 10;
  display: flex;
  justify-content: center;
  align-items: center;
}

.slick-prev:hover,
.slick-next:hover {
  background: var(--text_c);
}

.slick-prev {
  left: calc(50vw - 596px);
  transform: rotate(180deg);
}

.slick-next {
  right: calc(50vw - 596px);
}

.recruit_content_06 {
  padding: 100px 0 125px;
}

.recruit_content_06_flex1,
.flex_box.recruit_content_06_flex2 {
  width: 100%;
}

.flex_box.recruit_content_06_flex1 {
  justify-content: space-between;
}

a.recruit_content_06_box {
  background-color: var(--main_c);
  color: var(--sub_c);
  height: 160px;
  padding: 40px 60px;
}

.recruit_content_06_flex1 .recruit_content_06_box {
  flex-basis: calc(50% - 10px);
  margin-bottom: 20px;
}

.recruit_content_06_box p {
  font-family: var(--font_05);
  font-size: var(--fsize_15);
  font-weight: var(--fontw_m);
  line-height: var(--lh_l);
  letter-spacing: 2.25px;
}

.recruit_content_06_flex2 .recruit_content_06_box {
  width: 100%;
  text-align: center;
}

.recruit_content_06_flex2 {
  margin-bottom: 100px;
}

.border_b {
  border: 2px solid var(--main_c);
}

.recruit_content_06 .border_b.flex_box {
  padding: 32px;
  align-items: center;
  justify-content: center;
}

.recruit_content_06_sns {
  margin: 0 0 0 65px;
}

.recruit_content_06_sns a:not(last-of-type) {
  margin-right: 30px;
}

.news .pagenation {
  margin-top: 60px;
}

.about_contents iframe {
  flex-basis: 680px;
}

.about_content_01 {
  margin-bottom: 80px;
}

.about_content_01 h2 {
  margin-bottom: 60px;
}

.about_contents {
  justify-content: space-between;
  align-items: center;
}

.about_contents_textbox {
  flex-basis: calc(100% - 680px);
  margin-right: -200px;
  z-index: 1;
}

.about_contents>figure {
  flex-basis: 680px;
}

.about_contents_textbox .text {
  font-size: var(--fsize_15);
  font-weight: var(--fontw_m);
  line-height: 25px;
  letter-spacing: 2.25px;
  margin: 35px 0 20px;
}

.big {
  background-color: var(--main_c);
  color: var(--sub_c);
  font-size: var(--fsize_35);
  font-weight: var(--fontw_l);
  line-height: var(--lh_l);
  /* 128.571% */
  letter-spacing: 5.25px;
  margin: 5px 0;
  padding: 10px 30px;
  width: max-content;
}

.about_content_01 .btn_style_01 {
  max-width: 300px;
}

.about_content_02,
.about_content_03 {
  padding: 100px 0 0;
}

.about_content_02 .container {
  padding: 40px 0 0;
}

.about_content_02_flex {
  justify-content: space-between;
}

.about_content_02_flex a {
  flex-basis: calc(50% - 22px);
  margin-bottom: 44px;
}

.about_content_02_flex a:last-of-type {
  margin-bottom: 0;
}

.about_content_03 .container {}

.about_content_03_flex {
  justify-content: space-between;
  margin-top: 40px;
}

.about_content_03_flex img {
  flex-basis: calc(33% - 12px);
  margin-bottom: 24px;
}

.about_content_03_flex img:nth-last-of-type(-n+3) {
  margin-bottom: 0;
}

.section_entry_flex {
  justify-content: center;
}

.section_entry_flex .entry_image {
  margin: 50px 25px 0;
}

.youtube iframe {
  margin: 0 auto 100px;
  width: 550px;
  height: 370px;
  display: block;
}

.message_catchtitle h2 {
  margin-bottom: 80px;
}

.message_content_01_pic,
.message_content_01_textbox,
.message_content_04_pic,
.message_content_04_textbox {
  flex-basis: calc(50% - 25px);
}

.message_content_01_flex,
.message_content_04_flex {
  justify-content: space-between;
  margin-bottom: 50px;
}

.message_content_04_flex {
  align-items: center;
}

.message_content_01_pic_img,
.message_content_04_pic_img {
  width: 100%;
}

.message_content_01 h3,
.message_content_02 h3,
.message_content_03 h3,
.message_content_04 h3 {
  margin-bottom: 35px;
}

.message_content_01_text,
.message_content_02_text,
.message_content_03_text,
.message_content_04_text {
  font-family: var(--font_05);
  font-weight: var(--fontw_m);
  line-height: var(--lh_m);
  letter-spacing: 2.25px;
}

.message_content_01,
.message_content_02,
.message_content_03,
.message_content_04 {
  margin-bottom: 80px;
}

.message_content_02_flex {
  margin-top: 80px;
}

.signature p {
  text-align: end;
}

.jobtitle,
.ceoname {
  font-family: var(--font_05);
  font-weight: var(--fontw_l);
  line-height: var(--lh_m);
}

.jobtitle {
  font-size: var(--fsize_18);
  letter-spacing: 2.7px;
  margin-right: 1em;
}

.ceoname {
  font-size: var(--fsize_25);
  letter-spacing: 3.75px;
}

.voice_card {
  padding: 60px 0;
  border-top: 1px solid var(--line_c);
}

.voice_card:last-of-type {
  border-bottom: 1px solid var(--line_c);
}

.voice_card>.flex_box {
  align-items: center;
  justify-content: space-between;
}

.voice_card .voice_card_pic {
  flex-basis: 54.5%;
}

.voice_card .voice_card_img {
  width: 100%;
}

.voice_textbox {
  flex-basis: calc(45.5% - 45px);
}

.voice_textbox h3 {
  margin-bottom: 20px;
}

.voice_prof .job_select {
  flex-basis: 100%;
  font-size: var(--fsize_20);
  font-weight: var(--fontw_m);
  line-height: var(--lh_m);
  letter-spacing: 3px;
}

.voice_prof {
  max-width: 310px;
  margin-bottom: 40px;
  align-items: baseline;
  /* justify-content: space-between; */
}

.voice_prof .name {
  font-size: var(--fsize_25);
  font-weight: var(--fontw_l);
  line-height: var(--lh_m);
  letter-spacing: 3.75px;
  margin-right: 2em;
  text-transform: uppercase;
}

.voice_prof .joining_year {
  font-size: var(--fsize_20);
  font-weight: var(--fontw_m);
  line-height: var(--lh_m);
  letter-spacing: 3px;
}

.occupation_card {
  margin-bottom: 110px;
}

.occupation_card:last-of-type {
  margin-bottom: 0;
}

.occupation_card .text {
  font-size: var(--fsize_15);
  font-weight: var(--fontw_m);
  line-height: 25px;
  letter-spacing: 2.25px;
}

.occupation_content_01_flex {
  margin: 30px 0;
  align-items: center;
  justify-content: space-between;
}

.occupation_content_01_flex figure {
  flex-basis: 40%;
}

.occupation_content_01_textboc {
  flex-basis: calc(60% - 80px);
}

.occupation_card>.text {
  margin: 30px 0;
}

.occupation_content_01_textboc .text {
  margin: 10px 0 0 0;
}

.career-path_content_01 {
  margin-bottom: 100px;
}

.career-path_content_01_titlearea,
.career-path_content_02_titlearea {
  margin-bottom: 20px;
}

.career-path_card {
  background-color: var(--bc_c);
  padding: 35px;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 40px;
}

.career-path_content_01_card_01 figure {
  flex-basis: 40%;
}

.career-path_content_01_card_textbox {
  flex-basis: calc(59% - 46px);
}

.career-path_content_01 .text,
.career-path_content_02 .text {
  font-weight: var(--fontw_m);
  line-height: 25px;
  letter-spacing: 2.25px;
}

.career-path_card:last-of-type {
  margin-bottom: 0;
}

.career-path_content_01_card_textbox h4,
.career-path_content_02 h4 {
  margin-bottom: 25px;
}

.career-path_content_01_card_02 {
  justify-content: center;
}

.career-path_content_01_card_02 .text {
  margin-left: 30px;
}

.career-path_content_02 .container>.flex_box {
  justify-content: space-between;
}

.career-path_cardbox {
  flex-basis: calc(50% - 33px);
}

.career-path_content_02 h4 {
  margin-top: 25px;
}

.career-path_content_02_card_01 img {
  width: 100%;
}

.work-environment_content section:nth-child(even) {
  background-color: var(--bc_c);
}

.work-environment_content_01,
.work-environment_content_02,
.work-environment_content_03,
.work-environment_content_04,
.work-environment_content_05 {
  padding: 60px 0 100px;
}

.work-environment_content_titlearea h3 {
  margin-bottom: 20px;
}

.work-environment_content_titlearea .text {
  margin-bottom: 30px;
  text-align: center;
}

.work-environment_content_01_flex,
.work-environment_content_03 .work-environment_card,
.work-environment_content_04_flex,
.work-environment_content_05_flex {
  justify-content: space-between;
}

.work-environment_content .text,
.work-environment_card li {
  font-weight: var(--fontw_m);
  line-height: 25px;
  letter-spacing: 2.25px;
}

.work-environment_content_01_card,
.work-environment_content_04_card {
  flex-basis: calc(50% - 17px);
  margin-bottom: 34px;
}

.work-environment_content_01_card .text,
.work-environment_content_04_card .text {
  padding: 25px;
}

.work-environment_content_01_card .text {
  background-color: var(--sub_c);
  height: 100px;
}

.work-environment_content_04_card .text {
  background-color: var(--bc_c);
  text-align: center;
}

.work-environment_card {
  padding: 40px 90px;
  margin-bottom: 40px;
}

.work-environment_content_02 .work-environment_card {
  background-color: var(--bc_c);
}

.work-environment_content_03 .work-environment_card {
  background-color: var(--sub_c);
}

.work-environment_card:last-of-type {
  margin: 0;
}

.work-environment_card li {
  list-style: square;
  list-style-position: inside;
}

.work-environment_card li::marker {
  color: var(--main_c);
}

.work-environment_card h3 {
  text-align: start;
  margin-bottom: 10px;
}

.work-environment_content_02_list li {
  margin-right: 2em;
}

.work-environment_content_03 .work-environment_card figure {
  flex-basis: 16%;
  margin-right: 45px;
}

.work-environment_content_03 .work-environment_card figure img {
  width: 100%;
}

.work-environment_content_03 .work-environment_card {
  align-items: center;
  justify-content: center;
}

.work-environment_content_03 .work-environment_card .listbox {
  flex-basis: calc(84% - 46px);
}

.work-environment_content_03 .listbox .work-environment_content_03_list {
  justify-content: start;
}

.work-environment_content_03 .work-environment_card .listbox li {
  margin: 5px 12px 5px 0;
}

.work-environment_content_05_flex {
  align-items: center;
}

.work-environment_content_05_flex .text {
  margin-bottom: 20px;
}

.flowchart_card {
  padding: 60px 0;
  border-top: 1px solid var(--act_c);
  justify-content: space-between;
}

.flowchart_card .step {
  height: 75px;
  width: 75px;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.flowchart_card .steptext {
  color: var(--main_c);
  text-align: center;
  font-family: Serenity;
  font-size: 30px;
  font-weight: 700;
  line-height: 45px;
  /* 150% */
  letter-spacing: 4.5px;
}

.flowchart_card .stepno {
  color: var(--main_c);
  font-family: var(--font_01);
  font-size: var(--fsize_60);
  font-weight: var(--fontw_l);
  line-height: var(--lh_l);
  letter-spacing: 9px;
}

.flowchart_card_textbox h3 {
  font-size: var(--fsize_25);
  font-weight: var(--fontw_l);
  line-height: var(--lh_m);
  letter-spacing: 3.75px;
}

.flowchart_content .text,
.flowchart_card_textbox li {
  font-size: var(--fsize_15);
  font-weight: var(--fontw_m);
  line-height: 25px;
  letter-spacing: 2.25px;
}

.flowchart_card_textbox {
  width: 430px;
}

.flowchart_card_textbox>* {
  margin-bottom: 20px;
}

.flowchart_card_textbox>*:last-child {
/* .flowchart_card_textbox div { */
  margin-bottom: 0;
}

.flowchart_card figure {
  flex-basis: 140px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.flowchart_card:last-of-type {
  border-bottom: 1px solid var(--act_c);
}

.faq_card {
  padding: 25px 0;
  border-top: 1px solid var(--line_c);
}

.question_icon {
  display: inline-flex;
  height: 45px;
  width: 45px;
  align-items: center;
  justify-content: center;
  background-color: var(--act_c);
  color: var(--sub_c);
  font-family: var(--font_01);
  font-size: var(--fsize_35);
  font-weight: var(--fontw_l);
}

.question {
  display: flex;
  align-items: center;
}

.question_text {
  margin-left: 1em;
  font-size: var(--fsize_15);
  font-weight: var(--fontw_l);
  line-height: 25px;
  letter-spacing: 2.25px;
}

.answer {
  font-family: var(--font_05);
  font-size: var(--fsize_15);
  font-weight: var(--fontw_m);
  line-height: 25px;
  letter-spacing: 2.25px;
  margin-top: 25px;
}

.application-requirements_content_01 {
  padding: 60px 0;
  background-color: var(--bc_c);
}

.application-requirements_textbox {
  flex-basis: calc(100% - 540px);
}

.application-requirements_textbox p {
  font-weight: var(--fontw_m);
  line-height: 25px;
  letter-spacing: 2.25px;
}

.application-requirements_flex {
  justify-content: space-between;
  align-items: center;
}

.application-requirements_textbox h3 {
  margin-bottom: 20px;
}

.application-requirements_content_02 {
  padding: 100px 0 125px;
}

.application-requirements_content .table_style_01 {
  margin-top: 0;
}

.application-requirements_content .table_style_01 th {
  vertical-align: top;
}

.application-requirements_content .table_style_01 td {
  font-family: var(--font_05);
  font-weight: var(--fontw_m);
  line-height: 25px;
  letter-spacing: 2.25px;
  word-wrap: break-word;
}

/* -----------------------------------
	下層ページ：先輩の声シングル
----------------------------------- */
.voice_single_flex_01,.voice_single_flex_02 {
  margin-bottom: 40px;
  align-items: center;
}

.voice_single_flex_01 .voice_prof,
.voice_single_flex_02:last-of-type {
  margin-bottom: 0;
}

.voice_single_flex_01 .voice_textbox {
  margin-bottom: 20px;
}

.voice_card_pic {
  flex-basis: 54%;
  margin-right: 40px;
}

.voice_card_img {
  width: 100%;
}

.voice_textbox {}

.voice_single_pic {
  flex-basis: 39%;
}

.voice_single_img {
  width: 100%;
}

.voice_single_flex_02 {
  justify-content: space-between;
}

.voice_single_flex_02 .textbox {
  flex-basis: 55%;
}  

.voice_single_flex_02 .textbox h4 {
  margin-bottom: 10px;
}  

.voice_single_flex_02 .text {
  font-weight: var(--fontw_5);
  line-height: 25px;
  letter-spacing: 2.25px;
  word-wrap: break-word;
}  

.voice_single_flex_02:nth-of-type(odd) .voice_single_pic {
  order: 1;
}

.voice_single_flex_02:last-of-type .textbox {
  /* flex-basis: 100%; */
}

.voice_single_flex_02 .textbox.w100 {
  flex-basis: 100%;
}


/* -----------------------------------
	下層ページ：採用エントリー
----------------------------------- */
.recruit-entry.under_page .pagetitle {
  background-image: url(../image/headertitlebc_policy.png);
}

.recruit-entry_flex_01 {
  justify-content: space-between;
  padding-top: 20px;
}

.qr {
  flex-basis: calc(50% - 10px);
  text-align: center;
}

.recruit-entry_content_01 .container>* {
  margin-bottom: 20px;
}

.qr {
  margin-bottom: 20px;
}

.qr a,.qr img {
  /* width: 100%; */
  display: block;
  height: auto;
}

.qr a {
  /* padding: 16.5px 0px; */
  /* border: 1px solid var(--line_c); */
  /* height: 130.8px; */
  height: 60px;
  width: max-content;
  display: flex;
  align-items: center;
  justify-content: center;
}

.qr:nth-of-type(2) img {
  /* width: auto; */
}

.recruit-entry_content_03 .text {
  line-height: 25px;
  letter-spacing: 2.25px;
}

.recruit-entry_content_01 .container,
.recruit-entry_content_02 .container, 
.recruit-entry_content_03 .container {
  padding: 60px 0;
  border-top: 1px solid var(--line_c);
}

.recruit-entry_content_02 .container>*, 
.recruit-entry_content_03 .container>* {
  margin-bottom: 20px;
}

.recruit-entry_content_03 .container {
  border-bottom: 1px solid var(--line_c);
}

.recruit-entry_flex_02 {
  align-items: center;
  justify-content: space-between;
}

.recruit-entry_flex_02 .textbox {
  flex-basis: calc(100% - 500px);
}


/* -----------------------------------
	下層ページ：共通フッターエントリー
----------------------------------- */
.section_entry {
  background-image: url(../image/entry_bc.png);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  /* height: 350px; */
  padding: 50px 0 70px 0;
  position: relative;
  /* text-align: center; */
}

.section_entry .text {
  color: var(--sub_c);
  text-align: center;
  text-shadow: 0px 0px 8px rgba(0, 0, 0, 0.25);
  font-family: var(--font_05);
  font-size: var(--fsize_15);
  font-weight: var(--fontw_l);
  line-height: var(--lh_l);
  letter-spacing: 2.25px;
  margin: 20px 0 25px;
}

.section_entry .btn_style_07 {
  margin: 0 auto;
}

#to_entry {
  position: fixed;
  cursor: pointer;
  display: inline-flex;
  left: calc(50vw - 640px);
  bottom: 35px;
  z-index: 99;
}


/* -----------------------------------
	tablet
----------------------------------- */
@media screen and (max-width: 1279px) {

  /* この上に記述 */
}

/* -----------------------------------
  sp
----------------------------------- */
@media screen and (max-width: 767px) {

  /* この上に記述 */
}