@charset "UTF-8";
/*=============================================*/
/*Common Base*/
/*=============================================*/
.page_base {
  padding-bottom: 120px;
}
@media (max-width: 768px) {
  .page_base {
    padding-bottom: 80px;
  }
}
.page_base.bottom_none {
  padding-bottom: 0;
}

/***************************************************/
/**
/** @page02 REASONS */
/**
/***************************************************/
.page_reasons_block .reasons::before {
  background: url(../img/reasons/head-reasons.webp) no-repeat center/cover;
}
.page_reasons_block .main_title::before {
  content: "REASONS";
}

.page_reasons_block .strong .title {
  font-size: clamp(2.5rem, 3.4vw, 4.5rem);
  color: #32AADF;
  font-weight: 700;
}
.page_reasons_block .strong .mod-flex {
  row-gap: 40px;
}
@media (max-width: 768px) {
  .page_reasons_block .strong .mod-flex {
    row-gap: 10px;
  }
}

.page_reasons_block .strong .item {
  position: relative;
  padding: 70px 20px;
  border: 3px solid #32AADF;
  border-radius: 30px 30px 0 30px;
  font-size: clamp(1.8rem, 2.4vw, 3rem);
  color: #32AADF;
  font-weight: 700;
  text-align: center;
}
@media (max-width: 768px) {
  .page_reasons_block .strong .item {
    padding: 30px 5px;
    border-radius: 20px;
  }
}
.page_reasons_block .strong .item::before {
  position: absolute;
  left: 10px;
  top: 20px;
  content: "";
  font-size: clamp(3rem, 5vw, 9rem);
  font-family: "Oswald", sans-serif;
  font-weight: 700;
  color: #FFF;
  z-index: -1;
  line-height: 1;
}
.page_reasons_block .strong .item::after {
  position: absolute;
  left: 0;
  top: 0;
  content: "";
  width: 100%;
  height: 100%;
  background-color: #E5F3FB;
  border-radius: 30px 30px 0 30px;
  z-index: -2;
}
@media (max-width: 768px) {
  .page_reasons_block .strong .item::after {
    border-radius: 20px;
  }
}

.page_reasons_block .srong .mod-flex.column3 {
  row-gap: 20px;
}
@media (max-width: 768px) {
  .page_reasons_block .srong .mod-flex.column3 .item {
    width: 48.5%;
  }
}
@media (max-width: 480px) {
  .page_reasons_block .srong .mod-flex.column3 .item {
    width: 100%;
  }
}

.page_reasons_block .strong .item:nth-child(1)::before {
  content: "01";
}
.page_reasons_block .strong .item:nth-child(2)::before {
  content: "02";
}
.page_reasons_block .strong .item:nth-child(3)::before {
  content: "03";
}
.page_reasons_block .strong .item:nth-child(4)::before {
  content: "04";
}
.page_reasons_block .strong .item:nth-child(5)::before {
  content: "05";
}

.page_reasons_block .strong_details .container .contents {
  position: relative;
  margin-bottom: 350px;
}
@media (max-width: 1024px) {
  .page_reasons_block .strong_details .container .contents {
    margin-bottom: 80px;
  }
}
@media (max-width: 768px) {
  .page_reasons_block .strong_details .container .contents {
    margin-bottom: 50px;
  }
}
.page_reasons_block .strong_details .container .contents.column .left {
  max-width: 705px;
  width: 67%;
}
@media (max-width: 1024px) {
  .page_reasons_block .strong_details .container .contents.column .left {
    max-width: 100%;
    width: 100%;
  }
}
.page_reasons_block .strong_details .container .contents.column .left img {
  display: block;
  border-radius: 40px;
}
@media (max-width: 1024px) {
  .page_reasons_block .strong_details .container .contents.column .left img {
    border-radius: 20px 20px 0 0;
  }
}
.page_reasons_block .strong_details .container .contents.column .right {
  position: absolute;
  right: 0;
  bottom: -45%;
  max-width: 650px;
  width: 61%;
  padding: 50px 60px;
  background-color: #FFF;
  border-radius: 0 40px 40px 40px;
  box-shadow: 0px 0px 10px 0px rgba(51, 51, 51, 0.25);
}
@media (max-width: 1024px) {
  .page_reasons_block .strong_details .container .contents.column .right {
    position: relative;
    max-width: 100%;
    width: 100%;
    height: auto;
    bottom: 10px;
    z-index: -2;
    border-radius: 0 0 20px 20px;
  }
}
@media (max-width: 768px) {
  .page_reasons_block .strong_details .container .contents.column .right {
    padding: 30px 20px;
  }
}
@media (max-width: 1024px) {
  .page_reasons_block .strong_details .container .contents.reverse {
    display: flex;
    flex-direction: column-reverse;
  }
}
.page_reasons_block .strong_details .container .contents.reverse .left {
  position: absolute;
  left: 0;
  bottom: -45%;
  max-width: 650px;
  width: 61%;
  padding: 50px 60px;
  background-color: #FFF;
  border-radius: 40px 0 40px 40px;
  box-shadow: 0px 0px 10px 0px rgba(51, 51, 51, 0.25);
}
@media (max-width: 1024px) {
  .page_reasons_block .strong_details .container .contents.reverse .left {
    position: relative;
    max-width: 100%;
    width: 100%;
    height: auto;
    bottom: 10px;
    z-index: -2;
    border-radius: 0 0 20px 20px;
  }
}
@media (max-width: 768px) {
  .page_reasons_block .strong_details .container .contents.reverse .left {
    padding: 30px 20px;
  }
}
.page_reasons_block .strong_details .container .contents.reverse .right {
  max-width: 705px;
  width: 67%;
  margin-left: auto;
}
@media (max-width: 1024px) {
  .page_reasons_block .strong_details .container .contents.reverse .right {
    max-width: 100%;
    width: 100%;
  }
}
.page_reasons_block .strong_details .container .contents.reverse .right img {
  display: block;
  border-radius: 40px;
}
@media (max-width: 1024px) {
  .page_reasons_block .strong_details .container .contents.reverse .right img {
    border-radius: 20px 20px 0 0;
  }
}

.page_reasons_block .strong_details .container .contents {
  counter-reset: 0;
  counter-increment: num;
}
.page_reasons_block .strong_details .container .contents .strong_title {
  position: relative;
  margin-bottom: 20px;
  padding-left: 10px;
  font-size: clamp(2rem, 2.4vw, 3.2rem);
  color: #32AADF;
  font-weight: 700;
  letter-spacing: 0.01em;
  z-index: 10;
}
@media (max-width: 768px) {
  .page_reasons_block .strong_details .container .contents .strong_title {
    margin-bottom: 20px;
    padding-left: 0;
  }
}
.page_reasons_block .strong_details .container .contents .strong_title::before {
  position: absolute;
  left: -30px;
  top: -23px;
  content: "0" counter(num);
  font-size: clamp(5rem, 8vw, 9rem);
  font-family: "Oswald", sans-serif;
  font-weight: 700;
  color: #E5F3FB;
  line-height: 1;
  z-index: -1;
}
@media (max-width: 1024px) {
  .page_reasons_block .strong_details .container .contents .strong_title::before {
    top: -16px;
  }
}
@media (max-width: 768px) {
  .page_reasons_block .strong_details .container .contents .strong_title::before {
    top: -10px;
    left: -15px;
  }
}

.page_reasons_block .bg-primary_light .bg-white {
  border-radius: 40px;
  padding: 50px;
  box-shadow: 0px 0px 10px 0px rgba(51, 51, 51, 0.25);
}
@media (max-width: 768px) {
  .page_reasons_block .bg-primary_light .bg-white {
    padding: 25px;
  }
}
.page_reasons_block .bg-primary_light .bg-white .title {
  padding-bottom: 30px;
  font-size: clamp(2rem, 2.3vw, 3.5rem);
  font-weight: 700;
  letter-spacing: 0.15em;
  text-align: center;
  color: #333333;
}
@media (max-width: 768px) {
  .page_reasons_block .bg-primary_light .bg-white .title {
    padding-bottom: 10px;
  }
}

/***************************************************/
/**
/** @page03 BUSINESS */
/**
/***************************************************/
.page_business_block .business::before {
  background: url(../img/business/head-business.webp) no-repeat center/cover;
}
.page_business_block .main_title::before {
  content: "BUSINESS";
}

.page_business_block section.business .title {
  font-size: clamp(2.5rem, 2.8vw, 3.5rem);
  font-weight: 700;
  color: #32AADF;
  letter-spacing: 0.15em;
}
.page_business_block section.business .c-to-l {
  text-align: center;
}
@media (max-width: 768px) {
  .page_business_block section.business .c-to-l {
    text-align: left;
  }
}
.page_business_block section.business .business_area {
  text-align: center;
}
.page_business_block section.business .business_area .box {
  max-width: 630px;
  margin-left: auto;
  margin-right: auto;
  padding: 10px;
  border-radius: 10px;
  font-size: clamp(1.8rem, 2vw, 2.5rem);
  font-weight: 700;
  color: #FFF;
  text-align: center;
  letter-spacing: 0.1em;
}
.page_business_block section.business .business_area .txt_base p {
  font-size: clamp(1.6rem, 1.8vw, 2.2rem);
  font-weight: 700;
}

.page_business_block .problem {
  position: relative;
  bottom: -200px;
  padding: 50px;
  background-color: #FFF;
  border-radius: 50px;
  box-shadow: 0px 0px 10px 0px rgba(51, 51, 51, 0.25);
  z-index: 10;
}
@media (max-width: 768px) {
  .page_business_block .problem {
    bottom: -100px;
    padding: 20px;
    border-radius: 30px;
  }
}
.page_business_block .problem .inner_title {
  padding-bottom: 45px;
  margin-bottom: 50px;
}
@media (max-width: 768px) {
  .page_business_block .problem .inner_title {
    margin-bottom: 30px;
    padding-bottom: 20px;
  }
}
.page_business_block .problem .inner_title .small {
  line-height: 1.8;
  font-size: clamp(1.6rem, 2.4vw, 2.5rem);
  font-weight: 700;
  letter-spacing: 0.015em;
}
.page_business_block .problem .inner_title .text {
  font-size: clamp(2.1rem, 2.9vw, 3.5rem);
  font-weight: 700;
  letter-spacing: 0.015em;
}
.page_business_block .problem_list {
  display: flex;
  align-items: flex-start;
  column-gap: 1%;
}
@media (max-width: 768px) {
  .page_business_block .problem_list {
    display: block;
  }
}
.page_business_block .problem_list .item {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 32.6666666667%;
  text-align: center;
}
@media (max-width: 768px) {
  .page_business_block .problem_list .item {
    flex-direction: row;
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;
    padding-left: 25px;
    text-align: left;
  }
  .page_business_block .problem_list .item:not(:last-child) {
    margin-bottom: 10px;
  }
  .page_business_block .problem_list .item::before {
    position: absolute;
    left: 0;
    top: 4px;
    content: "";
    width: 18px;
    height: 18px;
    background: url(../img/top/ico-checkmark.svg) no-repeat center/contain;
    z-index: 10;
  }
}
.page_business_block .problem_list .img {
  margin-bottom: 20px;
}
@media (max-width: 768px) {
  .page_business_block .problem_list .img {
    display: none;
  }
}
.page_business_block .problem_list .img img {
  display: block;
  width: 50px;
}
.page_business_block .problem_list .description {
  font-size: clamp(1.4rem, 2.1vw, 2.5rem);
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.8;
}

.page_business_block .problem::before {
  position: absolute;
  left: 48%;
  top: 112%;
  content: "";
  border-right: 100px solid transparent;
  border-left: 100px solid transparent;
  border-top: 40px solid #32AADF;
  transform: translateX(-50%);
}
@media (max-width: 768px) {
  .page_business_block .problem::before {
    left: 50%;
    border-top: 20px solid #32AADF;
    border-left: 60px solid transparent;
    border-right: 60px solid transparent;
  }
}

.page_business_block .resolution {
  padding-top: 340px;
  padding-bottom: 120px;
  border-radius: 40px 40px 0 0;
}
@media (max-width: 768px) {
  .page_business_block .resolution {
    top: -100px;
    padding-top: 180px;
    padding-bottom: 80px;
  }
}
.page_business_block .resolution .main_width {
  position: relative;
  z-index: 2;
}
.page_business_block .resolution .main_width::before {
  position: absolute;
  right: 80%;
  top: -10%;
  content: "";
  max-width: 475px;
  width: 32vw;
  height: 608px;
  background: url(../img/top/img-service-content01.svg) no-repeat center/100%;
  z-index: -1;
}
@media (max-width: 1024px) {
  .page_business_block .resolution .main_width::before {
    right: auto;
    left: 0;
  }
}
@media (max-width: 768px) {
  .page_business_block .resolution .main_width::before {
    top: -13%;
    width: 40vw;
  }
}
.page_business_block .resolution .inner_title {
  text-align: center;
  font-size: clamp(2.5rem, 3.6vw, 4.5rem);
  font-weight: 700;
  color: #32AADF;
  letter-spacing: 0.15em;
}

.page_business_block .resolution .service_list .contents {
  display: flex;
  flex-wrap: wrap;
  column-gap: 3%;
  row-gap: 10px;
}
.page_business_block .resolution .service_list .contents:not(:last-child) {
  margin-bottom: 80px;
}
@media (max-width: 768px) {
  .page_business_block .resolution .service_list .contents:not(:last-child) {
    margin-bottom: 40px;
  }
}
.page_business_block .resolution .service_list .contents .img {
  width: 45%;
}
@media (max-width: 768px) {
  .page_business_block .resolution .service_list .contents .img {
    width: 100%;
  }
}
.page_business_block .resolution .service_list .contents .text_area {
  width: 52%;
}
@media (max-width: 768px) {
  .page_business_block .resolution .service_list .contents .text_area {
    width: 100%;
  }
}

.page_business_block .resolution .service_list .text_area .inner_title {
  padding-bottom: 20px;
  font-size: clamp(2rem, 2.4vw, 3.5rem);
  font-weight: 700;
  letter-spacing: 0.15em;
  text-align: left;
}
@media (max-width: 768px) {
  .page_business_block .resolution .service_list .text_area .inner_title {
    padding-bottom: 0;
  }
}
.page_business_block .resolution .service_list .bg-white {
  padding: 20px 25px;
  border-radius: 20px;
}
@media (max-width: 768px) {
  .page_business_block .resolution .service_list .bg-white {
    padding: 10px;
    border-radius: 10px;
  }
}
.page_business_block .resolution .service_list .bg-white dl {
  display: flex;
  flex-wrap: wrap;
  column-gap: 20px;
}
@media (max-width: 768px) {
  .page_business_block .resolution .service_list .bg-white dl {
    flex-direction: column;
  }
}
.page_business_block .resolution .service_list .bg-white dt {
  font-size: clamp(1.3rem, 1.3vw, 1.5rem);
  color: #32AADF;
  font-weight: 700;
}
@media (max-width: 768px) {
  .page_business_block .resolution .service_list .bg-white dt {
    display: block;
  }
}
.page_business_block .resolution .service_list .bg-white dd {
  font-size: clamp(1.3rem, 1.3vw, 1.5rem);
}
@media (max-width: 768px) {
  .page_business_block .resolution .service_list .bg-white dd {
    display: block;
  }
}

.page_business_block .flow {
  padding-top: 150px;
}
@media (max-width: 768px) {
  .page_business_block .flow {
    padding-top: 60px;
  }
}
.page_business_block .flow .title {
  padding-bottom: 50px;
  font-size: clamp(2.3rem, 2.6vw, 3.5rem);
  font-weight: 700;
  color: #32AADF;
}
@media (max-width: 768px) {
  .page_business_block .flow .title {
    padding-bottom: 20px;
  }
}
.page_business_block .flow .flow_list {
  position: relative;
  counter-reset: 0;
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
}
.page_business_block .flow .flow_list::before {
  position: absolute;
  left: 0;
  right: 0;
  top: 10px;
  content: "";
  width: 20px;
  height: 87%;
  background-color: #32AADF;
}
@media (max-width: 1024px) {
  .page_business_block .flow .flow_list::before {
    width: 6px;
    left: 22px;
  }
}
@media (max-width: 768px) {
  .page_business_block .flow .flow_list::before {
    width: 3px;
    left: 10px;
    height: 84%;
  }
}
.page_business_block .flow .flow_list .bg-white {
  padding: 25px;
  box-shadow: 0px 0px 10px 0px rgba(51, 51, 51, 0.25);
  border-radius: 40px;
}
@media (max-width: 768px) {
  .page_business_block .flow .flow_list .bg-white {
    padding: 10px 15px;
    border-radius: 15px;
  }
}
.page_business_block .flow .flow_list .item {
  position: relative;
  padding-left: 80px;
  margin-bottom: 80px;
  counter-increment: num;
}
@media (max-width: 768px) {
  .page_business_block .flow .flow_list .item {
    padding-left: 45px;
    margin-bottom: 50px;
  }
}
.page_business_block .flow .flow_list .item::before {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  left: -25px;
  top: 5px;
  content: "0" counter(num);
  width: 70px;
  height: 70px;
  background-color: #32AADF;
  border-radius: 50%;
  color: #FFF;
  font-size: clamp(2rem, 3.2vw, 4rem);
  font-family: "Oswald", sans-serif;
  font-weight: 700;
}
@media (max-width: 1024px) {
  .page_business_block .flow .flow_list .item::before {
    left: 0;
    width: 50px;
    height: 50px;
  }
}
@media (max-width: 768px) {
  .page_business_block .flow .flow_list .item::before {
    left: -8px;
    width: 40px;
    height: 40px;
  }
}
.page_business_block .flow .flow_list .inner_title {
  margin-bottom: 30px;
  font-size: clamp(1.6rem, 2.2vw, 2.5rem);
  font-weight: 700;
}
@media (max-width: 768px) {
  .page_business_block .flow .flow_list .inner_title {
    margin-bottom: 10px;
  }
}
.page_business_block .flow .flow_list .contents {
  display: flex;
  flex-wrap: wrap;
  column-gap: 3%;
  row-gap: 10px;
}
.page_business_block .flow .flow_list .contents .img {
  width: 30%;
}
@media (max-width: 768px) {
  .page_business_block .flow .flow_list .contents .img {
    width: 100%;
  }
}
.page_business_block .flow .flow_list .contents .txt_base {
  width: 67%;
}
@media (max-width: 768px) {
  .page_business_block .flow .flow_list .contents .txt_base {
    width: 100%;
  }
}

/***************************************************/
/**
/** @page04 COMPANY */
/**
/***************************************************/
.page_company_block .company::before {
  background: url(../img/esg/head-esg.webp) no-repeat center/cover;
}
.page_company_block .main_title::before {
  content: "COMPANY";
}

.page_company_block .message {
  padding-top: 220px;
  margin-top: -150px;
}
@media (max-width: 768px) {
  .page_company_block .message {
    margin-top: -30px;
    padding: 90px 0;
  }
}
.page_company_block .message .img {
  max-width: 480px;
  margin-left: auto;
}
.page_company_block .section_title {
  padding-bottom: 50px;
  font-size: clamp(2.3rem, 2.3vw, 3rem);
  font-weight: 700;
  text-align: center;
}

.page_company_block .about,
.page_company_block .access {
  padding-top: 250px;
  margin-top: -80px;
}
@media (max-width: 768px) {
  .page_company_block .about,
  .page_company_block .access {
    padding-top: 180px;
    margin-top: -100px;
  }
}

/***************************************************/
/**
/** @page07 ESG */
/**
/***************************************************/
.page_esg_block .esg::before {
  background: url(../img/esg/head-esg.webp) no-repeat center/cover;
}
.page_esg_block .main_title::before {
  content: "ESG";
}
.page_esg_block .ttl_en_or {
  margin-bottom: 2em;
  font-size: clamp(1.8rem, 2vw, 2.4rem);
}
.page_esg_block .ttl_en_or .en {
  display: block;
  line-height: 1.5;
  color: #FFF;
  font-size: 1em;
  font-family: "Oswald", sans-serif;
  font-weight: 700;
}
.page_esg_block .ttl_en_or .jp {
  display: block;
  line-height: 1.5;
  font-size: 1.875em;
  font-weight: 700;
}
@media (max-width: 768px) {
  .page_esg_block .ttl_en_or .jp {
    font-size: 1.6em;
  }
}
.page_esg_block .ttl_en_or.white .en {
  color: #FFF;
}
.page_esg_block .ttl_en_or.white .jp {
  color: #FFF;
}
.page_esg_block .esg_sdgs_list .sdgs_box {
  margin-bottom: 10px;
  padding: 80px 0 100px;
}
@media (max-width: 768px) {
  .page_esg_block .esg_sdgs_list .sdgs_box {
    padding: 40px 0 60px;
  }
}
.page_esg_block .esg_sdgs_list .sdgs_box .top_box {
  display: -ms-flexbox;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  column-gap: 50px;
  margin-bottom: 50px;
}
@media (max-width: 768px) {
  .page_esg_block .esg_sdgs_list .sdgs_box .top_box {
    display: block;
    margin-bottom: 30px;
  }
}
.page_esg_block .esg_sdgs_list .sdgs_box .top_box .ttl_en_or {
  margin-bottom: 0;
}
@media (max-width: 768px) {
  .page_esg_block .esg_sdgs_list .sdgs_box .top_box .ttl_en_or {
    margin-bottom: 20px;
  }
}
.page_esg_block .esg_sdgs_list .sdgs_box .top_box .sdgs_ico {
  display: -ms-flexbox;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  column-gap: 10px;
}
.page_esg_block .esg_sdgs_list .sdgs_box .txt_list {
  display: -ms-flexbox;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  flex-wrap: wrap;
  row-gap: 10px;
  margin-bottom: 40px;
}
@media (max-width: 768px) {
  .page_esg_block .esg_sdgs_list .sdgs_box .txt_list {
    width: 100%;
  }
}
.page_esg_block .esg_sdgs_list .sdgs_box .txt_list:after {
  display: inline-block;
  content: "";
  width: 32%;
}
@media (max-width: 768px) {
  .page_esg_block .esg_sdgs_list .sdgs_box .txt_list:after {
    content: none;
  }
}
.page_esg_block .esg_sdgs_list .sdgs_box .txt_list li {
  display: -ms-flexbox;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  flex-flow: column;
  width: 32%;
  min-height: 90px;
  padding: 10px;
  background: #FFF;
  text-align: center;
  font-weight: 700;
  font-size: clamp(1.6rem, 1.5vw, 2rem);
}
@media (max-width: 768px) {
  .page_esg_block .esg_sdgs_list .sdgs_box .txt_list li {
    width: 100%;
    min-height: auto;
  }
}
.page_esg_block .esg_sdgs_list .sdgs_box.environment {
  background: rgba(108, 205, 249, 0.8);
}
.page_esg_block .esg_sdgs_list .sdgs_box.environment .txt_list li {
  color: #6CCDF9;
}
.page_esg_block .esg_sdgs_list .sdgs_box.social {
  background: rgba(106, 218, 186, 0.8);
}
.page_esg_block .esg_sdgs_list .sdgs_box.social .txt_list li {
  color: #6ADABA;
}
.page_esg_block .esg_sdgs_list .sdgs_box.governance {
  background: rgba(127, 127, 127, 0.8);
}
.page_esg_block .esg_sdgs_list .sdgs_box.governance .txt_list li {
  color: #7F7F7F;
}

/***************************************************/
/**
/** @page05 対応事例 */
/**
/***************************************************/
.page_case_block .case::before {
  background: url(../img/works/head-works.webp) no-repeat center/cover;
}
.page_case_block .main_title::before {
  content: "WORKS";
}
.page_case_block .scroll_x {
  margin-bottom: 30px;
}
@media (max-width: 768px) {
  .page_case_block .scroll_x {
    overflow-x: scroll;
  }
}
.page_case_block .category_list {
  display: inline-flex;
  gap: 5px;
  padding-bottom: 5px;
}
.page_case_block .category_list .cat {
  width: max-content;
}
.page_case_block .category_list .cat a {
  display: block;
  padding: 3px 25px;
  background-color: #32AADF;
  border: 1px solid transparent;
  color: #FFF;
  font-size: clamp(1.4rem, 1.6vw, 1.8rem);
  font-weight: 500;
  letter-spacing: 0.05em;
  transition: all 0.3s;
  border-radius: 20px;
}
.page_case_block .category_list .cat a:hover {
  border: 1px solid #32AADF;
  color: #32AADF;
  background-color: #FFF;
}
.page_case_block .category_list .cat a.current {
  background-color: #FFF;
  border: 1px solid #32AADF;
  color: #32AADF;
}

.page_case_block .case_container .custom_post {
  display: flex;
  flex-wrap: wrap;
  gap: 5%;
  row-gap: 100px;
}
@media (max-width: 768px) {
  .page_case_block .case_container .custom_post {
    row-gap: 30px;
  }
}
.page_case_block .case_container .custom_post .post {
  width: 47.5%;
}
@media (max-width: 768px) {
  .page_case_block .case_container .custom_post .post {
    width: 100%;
  }
}

.page_case_block .case_container .img {
  position: relative;
  padding-top: 73%;
  margin-bottom: 10px;
  overflow: hidden;
}
.page_case_block .case_container .img img {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  width: 100%;
}
.page_case_block .case_container .tags {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-bottom: 10px;
}
.page_case_block .case_container .tags .tag {
  display: inline-block;
  padding: 3px 15px;
  background-color: #FFF;
  border: 1px solid #6CCDF9;
  border-radius: 10px;
  color: #6CCDF9;
  font-size: clamp(1.1rem, 1.3vw, 1.4rem);
}
.page_case_block .case_container .title {
  font-size: clamp(1.6rem, 1.8vw, 2rem);
  font-weight: 500;
  padding-bottom: 10px;
}
@media (max-width: 768px) {
  .page_case_block .case_container .title {
    padding-bottom: 0;
  }
}
.page_case_block .case_container .details li {
  display: flex;
  gap: 1%;
}
@media (max-width: 768px) {
  .page_case_block .case_container .details li {
    flex-wrap: wrap;
    padding: 10px 0;
  }
  .page_case_block .case_container .details li:not(:last-child) {
    border-bottom: 1px dotted #F1F1F1;
  }
}
.page_case_block .case_container .details li .sub {
  display: block;
  width: 25%;
  padding-right: 20px;
  font-size: clamp(1.4rem, 1.6vw, 1.8rem);
  font-weight: 500;
}
@media (max-width: 768px) {
  .page_case_block .case_container .details li .sub {
    width: 100%;
    padding-right: 0;
  }
}
.page_case_block .case_container .details li .text {
  display: block;
  width: 74%;
  font-size: clamp(1.4rem, 1.6vw, 1.8rem);
}
@media (max-width: 768px) {
  .page_case_block .case_container .details li .text {
    width: 100%;
  }
}

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

/***************************************************/
/**
/** @page06 対応事例シングルページ */
/**
/***************************************************/
.page_case_details_block .case::before {
  background: url(../img/works/head-works.webp) no-repeat center/cover;
}
.page_case_details_block .main_title::before {
  content: "WORKS";
}
.page_case_details_block .single_head .date {
  font-size: clamp(1.4rem, 1.6vw, 1.8rem);
  font-family: "Oswald", sans-serif;
  font-weight: 700;
}
.page_case_details_block .single_head .title {
  font-size: clamp(2rem, 2.4vw, 3rem);
  font-weight: 700;
}
.page_case_details_block .single_head .tags {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-bottom: 10px;
}
.page_case_details_block .single_head .tags .tag {
  display: inline-block;
  padding: 3px 15px;
  background-color: #FFF;
  border: 1px solid #6ADABA;
  border-radius: 10px;
  color: #6ADABA;
  font-size: clamp(1.1rem, 1.3vw, 1.4rem);
  font-weight: 500;
}
.page_case_details_block .before_after {
  display: flex;
  flex-wrap: wrap;
  column-gap: 15%;
  row-gap: 60px;
  margin-top: 30px;
  margin-bottom: 80px;
  padding: 30px;
  background-color: #E5F3FB;
}
@media (max-width: 768px) {
  .page_case_details_block .before_after {
    margin-top: 15px;
    padding: 30px 15px;
    gap: 70px;
  }
}
.page_case_details_block .before_after .before,
.page_case_details_block .before_after .after {
  width: 42.5%;
}
@media (max-width: 768px) {
  .page_case_details_block .before_after .before,
  .page_case_details_block .before_after .after {
    width: 100%;
  }
}
.page_case_details_block .before_after .before .label,
.page_case_details_block .before_after .after .label {
  font-size: clamp(1.6rem, 2vw, 2.5rem);
  font-family: "Oswald", sans-serif;
  font-weight: 700;
}
.page_case_details_block .before_after .before {
  position: relative;
}
.page_case_details_block .before_after .before::after {
  position: absolute;
  right: -27%;
  top: 50%;
  content: "";
  border-top: 30px solid transparent;
  border-bottom: 30px solid transparent;
  border-left: 40px solid #32AADF;
  transform: translate(-50%, -50%);
}
@media (max-width: 1024px) {
  .page_case_details_block .before_after .before::after {
    right: -30%;
    border-top: 25px solid transparent;
    border-bottom: 25px solid transparent;
    border-left: 35px solid #32AADF;
  }
}
@media (max-width: 768px) {
  .page_case_details_block .before_after .before::after {
    border-top: 20px solid #32AADF;
    border-left: 30px solid transparent;
    border-right: 30px solid transparent;
    top: auto;
    right: auto;
    left: 50%;
    bottom: -80px;
  }
}
.page_case_details_block .details {
  margin-bottom: 100px;
}
@media (max-width: 768px) {
  .page_case_details_block .details {
    margin-bottom: 60px;
  }
}
.page_case_details_block .details li {
  position: relative;
  display: flex;
  gap: 1%;
  padding: 20px 0;
}
.page_case_details_block .details li::after {
  position: absolute;
  left: 0;
  bottom: 0;
  content: "";
  width: 100%;
  height: 1px;
  background: linear-gradient(90deg, rgb(108, 205, 249) 0%, rgb(106, 218, 186) 100%);
}
@media (max-width: 768px) {
  .page_case_details_block .details li {
    flex-wrap: wrap;
    padding: 10px 0;
  }
}
.page_case_details_block .details li .sub {
  display: block;
  width: 25%;
  padding-right: 20px;
  font-size: clamp(1.4rem, 1.6vw, 1.8rem);
  font-weight: 500;
}
@media (max-width: 768px) {
  .page_case_details_block .details li .sub {
    width: 100%;
    padding-right: 0;
  }
}
.page_case_details_block .details li .text {
  display: block;
  width: 74%;
  font-size: clamp(1.4rem, 1.6vw, 1.8rem);
}
@media (max-width: 768px) {
  .page_case_details_block .details li .text {
    width: 100%;
  }
}

.page_case_details_block .common-btn {
  max-width: 320px;
  margin-left: auto;
  margin-right: auto;
}

/***************************************************/
/**
/** @page08 お知らせ */
/**
/***************************************************/
.page_news_block .news::before {
  background: url(../img/esg/head-esg.webp) no-repeat center/cover;
}
.page_news_block .main_title::before {
  content: "NEWS";
}
.page_news_block .post {
  padding-top: 80px;
}
@media (max-width: 768px) {
  .page_news_block .post {
    padding-top: 60px;
  }
}
.page_news_block .post:not(:last-child) {
  position: relative;
  padding-bottom: 80px;
}
.page_news_block .post:not(:last-child)::before {
  position: absolute;
  left: 0;
  bottom: 0;
  content: "";
  width: 100%;
  height: 2px;
  background: linear-gradient(90deg, rgb(108, 205, 249) 0%, rgb(106, 218, 186) 100%);
}
@media (max-width: 768px) {
  .page_news_block .post:not(:last-child) {
    padding-bottom: 50px;
  }
}
.page_news_block .post_title {
  display: block;
  margin-bottom: 30px;
}
.page_news_block .post_title p {
  display: block;
  padding-right: 10px;
  font-size: clamp(1.6rem, 1.8vw, 2rem);
  font-weight: 700;
  letter-spacing: 0.05em;
}
.page_news_block .post_title .date {
  display: block;
  font-size: clamp(1.4rem, 1.6vw, 1.8rem);
  font-family: "Oswald", sans-serif;
  font-weight: 700;
}
.page_news_block .post_title a {
  color: #6CCDF9;
  transition: all 0.3s;
}
.page_news_block .post_title a:hover {
  text-decoration: underline;
}

/***************************************************/
/**
/** @page09 採用情報 */
/**
/***************************************************/
.page_recruit_block .recruit_fv .bg-image {
  position: relative;
  padding: 135px 0;
}
.page_recruit_block .recruit_fv .bg-image::before {
  position: absolute;
  left: 0;
  top: 0;
  content: "";
  width: 100%;
  height: 100%;
  background: url(../img/recruit/img-fv.webp) no-repeat center/cover;
  z-index: -5;
  opacity: 0.2;
}
.page_recruit_block .recruit_fv .bg-image::after {
  position: absolute;
  left: 0;
  top: 0;
  content: "";
  width: 100%;
  height: 100%;
  background-color: #FFF;
  opacity: 0.1;
  z-index: -4;
}
@media (max-width: 768px) {
  .page_recruit_block .recruit_fv .bg-image {
    padding: 60px 0;
  }
}
.page_recruit_block .recruit_fv .container {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  column-gap: 5%;
  row-gap: 50px;
}
.page_recruit_block .recruit_fv .container .left {
  width: 35%;
}
@media (max-width: 768px) {
  .page_recruit_block .recruit_fv .container .left {
    width: 100%;
  }
}
.page_recruit_block .recruit_fv .container .right {
  width: 60%;
}
@media (max-width: 768px) {
  .page_recruit_block .recruit_fv .container .right {
    width: 100%;
  }
}
.page_recruit_block .recruit_fv .container .right .bg-primary_dark {
  position: relative;
  padding: 70px 10px 70px 70px;
  border-radius: 100px 0 0 100px;
}
.page_recruit_block .recruit_fv .container .right .bg-primary_dark::after {
  position: absolute;
  right: -100vw;
  top: 0;
  content: "";
  width: 100vw;
  height: 100%;
  background-color: #32AADF;
  z-index: -2;
}
@media (max-width: 768px) {
  .page_recruit_block .recruit_fv .container .right .bg-primary_dark::after {
    content: none;
  }
}
@media (max-width: 768px) {
  .page_recruit_block .recruit_fv .container .right .bg-primary_dark {
    padding: 20px;
    border-radius: 0;
  }
}
.page_recruit_block .recruit_fv .left .title {
  font-size: clamp(2.4rem, 2.7vw, 3.6rem);
  font-weight: 700;
  letter-spacing: 0.01em;
  line-height: 2;
}
.page_recruit_block .recruit_fv .right .description {
  line-height: 2;
  font-size: clamp(1.6rem, 1.7vw, 2rem);
  font-weight: 500;
  color: #FFF;
  letter-spacing: 0.01em;
}

.page_recruit_block .person {
  padding: 120px 0;
}
@media (max-width: 768px) {
  .page_recruit_block .person {
    padding: 60px 0;
  }
}
.page_recruit_block .person .person_container {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  column-gap: 2%;
  row-gap: 20px;
}
.page_recruit_block .person .person_container .item {
  width: 32%;
  padding: 30px 20px;
  background-color: #E5F3FB;
}
@media (max-width: 768px) {
  .page_recruit_block .person .person_container .item {
    width: 100%;
    padding: 20px 15px;
  }
}

.page_recruit_block .person .person_container .img {
  max-width: 80px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 20px;
}
@media (max-width: 768px) {
  .page_recruit_block .person .person_container .img {
    max-width: 50px;
    margin-bottom: 10px;
  }
}
.page_recruit_block .person .person_container .cnt_title {
  font-size: clamp(1.5rem, 1.6vw, 1.8rem);
  font-weight: 700;
  color: #32AADF;
}
.page_recruit_block .person .person_container .text {
  font-weight: 500;
}

.page_recruit_block .inc_details {
  padding-bottom: 100px;
}
@media (max-width: 768px) {
  .page_recruit_block .inc_details {
    padding-bottom: 80px;
  }
}
.page_recruit_block .inc_details .bg-primary_dark {
  position: relative;
  padding: 150px 0;
}
@media (max-width: 768px) {
  .page_recruit_block .inc_details .bg-primary_dark {
    padding-top: 100px;
    padding-bottom: 80px;
  }
}
.page_recruit_block .inc_details .bg-primary_dark::after {
  position: absolute;
  left: 0;
  top: 0;
  content: "";
  width: 100%;
  height: 40px;
  background: url(../img/recruit/img-repeat.svg) repeat-x center/contain;
}
@media (max-width: 768px) {
  .page_recruit_block .inc_details .bg-primary_dark::after {
    height: 20px;
  }
}
.page_recruit_block .inc_details .bg-primary_dark .title {
  display: inline-block;
  padding: 2px 30px;
  background-color: #FFF;
  border-radius: 10px;
  font-size: clamp(2.3rem, 2.6vw, 3.5rem);
  font-weight: 700;
  color: #32AADF;
  letter-spacing: 0.1em;
}
@media (max-width: 768px) {
  .page_recruit_block .inc_details .bg-primary_dark .title {
    padding: 2px 15px;
  }
}
.page_recruit_block .inc_details .bg-primary_dark .description {
  letter-spacing: 0.01em;
}

.page_recruit_block .inc_details .details_list .item {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  column-gap: 3%;
  row-gap: 20px;
  padding: 50px;
  background-color: #E5F3FB;
  border-radius: 50px 50px 0 50px;
  counter-increment: num;
}
.page_recruit_block .inc_details .details_list .item:not(:last-child) {
  margin-bottom: 30px;
}
@media (max-width: 768px) {
  .page_recruit_block .inc_details .details_list .item {
    border-radius: 20px 20px 0 20px;
    padding: 20px;
  }
}
.page_recruit_block .inc_details .details_list .img {
  width: 35%;
}
.page_recruit_block .inc_details .details_list .img img {
  display: block;
  width: 100%;
  border-radius: 30px;
}
@media (max-width: 768px) {
  .page_recruit_block .inc_details .details_list .img {
    width: 100%;
  }
  .page_recruit_block .inc_details .details_list .img img {
    border-radius: 20px;
  }
}
.page_recruit_block .inc_details .details_list .text_area {
  width: 62%;
}
@media (max-width: 768px) {
  .page_recruit_block .inc_details .details_list .text_area {
    width: 100%;
  }
}

.page_recruit_block .inc_details .details_list {
  counter-reset: 0;
}
.page_recruit_block .inc_details .details_list .inner_title {
  position: relative;
  padding-left: 15px;
  margin-bottom: 20px;
  font-size: clamp(2rem, 2.4vw, 3rem);
  font-weight: 700;
  color: #32AADF;
  letter-spacing: 0.01em;
  line-height: 1.4;
  z-index: 1;
}
@media (max-width: 768px) {
  .page_recruit_block .inc_details .details_list .inner_title {
    margin-bottom: 10px;
  }
}
.page_recruit_block .inc_details .details_list .inner_title:before {
  position: absolute;
  left: 0;
  top: -30px;
  content: "0" counter(num);
  font-family: "Oswald", sans-serif;
  font-weight: 700;
  font-size: clamp(5rem, 7vw, 9rem);
  color: #6CCDF9;
  line-height: 1;
  opacity: 0.3;
  z-index: -1;
}
@media (max-width: 768px) {
  .page_recruit_block .inc_details .details_list .inner_title:before {
    top: 20%;
    transform: translateY(-50%);
  }
}

.page_recruit_block .condition {
  padding-top: 200px;
}
@media (max-width: 768px) {
  .page_recruit_block .condition {
    padding-top: 60px;
  }
}
.page_recruit_block .condition .inner_title {
  padding: 5px;
  margin-bottom: 30px;
  font-size: clamp(1.8rem, 2.2vw, 2.5rem);
  font-weight: 700;
}
@media (max-width: 768px) {
  .page_recruit_block .condition .inner_title {
    margin-bottom: 20px;
  }
}

/***************************************************/
/**
/** @page10 採用情報 福利厚生 */
/**
/***************************************************/
.page_recruit_block .support .title {
  font-size: clamp(2.3rem, 2.4vw, 3.5rem);
  font-weight: 700;
  text-align: center;
}
.page_recruit_block .support .check_list {
  max-width: 750px;
  margin-left: auto;
  margin-right: auto;
}
.page_recruit_block .support .check_list li {
  position: relative;
  font-weight: 500;
  letter-spacing: 0.01em;
  padding-left: 30px;
}
.page_recruit_block .support .check_list li::before {
  position: absolute;
  left: 0;
  top: 6px;
  content: "";
  width: 20px;
  height: 20px;
  background: url(../img/top/ico-checkmark.svg) no-repeat center/contain;
}
.page_recruit_block .support .check_list li span {
  font-size: clamp(1.5rem, 1.6vw, 1.8rem);
}
@media (max-width: 768px) {
  .page_recruit_block .support .check_list li span {
    display: block;
  }
}
.page_recruit_block .support .check_list.flex {
  display: flex;
  flex-wrap: wrap;
  column-gap: 30px;
}

.page_recruit_block #education .bg-primary_light {
  padding: 120px 0;
}
@media (max-width: 768px) {
  .page_recruit_block #education .bg-primary_light {
    padding: 80px 0;
  }
}
.page_recruit_block #education .inner_title.grad {
  margin-bottom: 40px;
  padding: 2px 10px;
  font-size: clamp(2rem, 2.3vw, 3rem);
  text-align: center;
  color: #FFF;
  letter-spacing: 0.01em;
  font-weight: 700;
}
@media (max-width: 768px) {
  .page_recruit_block #education .inner_title.grad {
    margin-bottom: 25px;
  }
}
.page_recruit_block #education .mod-flex {
  row-gap: 10px;
}
.page_recruit_block #education .mod-flex .item {
  padding: 20px;
  border-radius: 20px 20px 0 20px;
}
@media (max-width: 768px) {
  .page_recruit_block #education .mod-flex .item {
    padding: 15px 10px;
    border-radius: 10px 10px 0 10px;
  }
}
.page_recruit_block #education .mod-flex .item .list_title {
  padding-bottom: 15px;
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  text-align: center;
  color: #32AADF;
}
@media (max-width: 768px) {
  .page_recruit_block #education .mod-flex .item .list_title {
    font-size: 1.5rem;
  }
}

.page_recruit_block #education .step_contents {
  display: flex;
  flex-wrap: wrap;
  column-gap: 5%;
  row-gap: 30px;
}
.page_recruit_block #education .step_contents .img {
  text-align: right;
  width: 35%;
}
@media (max-width: 1024px) {
  .page_recruit_block #education .step_contents .img {
    width: 100%;
    text-align: center;
  }
}
.page_recruit_block #education .step_contents .img img {
  max-width: 770px;
  margin-left: calc(50% - 50vw);
}
@media (max-width: 1538px) {
  .page_recruit_block #education .step_contents .img img {
    width: 100%;
  }
}
@media (max-width: 1024px) {
  .page_recruit_block #education .step_contents .img img {
    max-width: 600px;
    margin: auto;
  }
}
.page_recruit_block #education .step_contents .text_area {
  width: 60%;
}
@media (max-width: 1024px) {
  .page_recruit_block #education .step_contents .text_area {
    width: 100%;
  }
}

.page_recruit_block #education .step_contents .text_area .tag {
  display: inline-block;
  margin-bottom: 15px;
  padding: 2px 15px;
  background-color: #32AADF;
  border-radius: 5px;
  font-size: clamp(1.6rem, 2vw, 2.5rem);
  color: #FFF;
  font-weight: 700;
  letter-spacing: 0.1em;
}
.page_recruit_block #education .step_contents .text_area .model_title {
  position: relative;
  margin-bottom: 30px;
  padding-top: 50px;
  font-size: clamp(1.8rem, 1.7vw, 2.5rem);
  font-weight: 700;
  padding-bottom: 5px;
}
.page_recruit_block #education .step_contents .text_area .model_title::before {
  position: absolute;
  left: 0;
  bottom: 0;
  content: "";
  width: 100%;
  height: 2px;
  background: linear-gradient(90deg, rgb(108, 205, 249) 0%, rgb(106, 218, 186) 100%);
}

.page_recruit_block #education .step_contents .text_area .model_list .item {
  display: flex;
  column-gap: 3%;
  row-gap: 10px;
  padding: 40px 35px;
  background-color: #FFF;
  border-radius: 40px 40px 0 40px;
}
.page_recruit_block #education .step_contents .text_area .model_list .item:not(:last-child) {
  margin-bottom: 20px;
}
@media (max-width: 1024px) {
  .page_recruit_block #education .step_contents .text_area .model_list .item {
    padding: 20px;
    flex-wrap: wrap;
  }
}
.page_recruit_block #education .step_contents .text_area .model_list .item .num {
  width: 20%;
}
@media (max-width: 1024px) {
  .page_recruit_block #education .step_contents .text_area .model_list .item .num {
    width: 100%;
  }
}
.page_recruit_block #education .step_contents .text_area .model_list .item .num span {
  display: inline-block;
  padding: 1px 20px;
  background: linear-gradient(90deg, rgb(108, 205, 249) 0%, rgb(106, 218, 186) 100%);
  border-radius: 20px;
  line-height: 1.4;
  font-size: clamp(1.4rem, 1.6vw, 2rem);
  font-weight: 700;
  color: #FFF;
}
.page_recruit_block #education .step_contents .text_area .model_list .item .box {
  width: 77%;
}
@media (max-width: 1024px) {
  .page_recruit_block #education .step_contents .text_area .model_list .item .box {
    width: 100%;
  }
}
.page_recruit_block #education .step_contents .text_area .model_list .item .box .sub_title {
  padding-bottom: 10px;
  font-size: clamp(1.5rem, 1.9vw, 2rem);
  font-weight: 700;
}

/***************************************************/
/**
/** @page11 採用情報 社員インタビュー */
/**
/***************************************************/
.page_recruit_block .recruit::before {
  background: url(../img/recruit/head-recruit.webp) no-repeat center/cover;
}
.page_recruit_block .recruit::after {
  background: linear-gradient(90deg, rgba(108, 205, 249, 0.65) 0%, rgba(106, 218, 186, 0.65) 100%);
}
.page_recruit_block .main_title::before {
  left: 0;
  content: "RECRUIT";
  color: #32AADF;
  right: auto;
  transform: translate(0, -50%);
  opacity: 0.6;
}

.page_recruit_block .interview_list .contents {
  display: flex;
  flex-wrap: wrap;
  column-gap: 7%;
}
.page_recruit_block .interview_list .contents:not(:last-child) {
  margin-bottom: 150px;
}
@media (max-width: 768px) {
  .page_recruit_block .interview_list .contents:not(:last-child) {
    margin-bottom: 80px;
  }
}
.page_recruit_block .interview_list .contents .img {
  max-width: 400px;
  width: 40%;
}
@media (max-width: 768px) {
  .page_recruit_block .interview_list .contents .img {
    width: 100%;
  }
}
.page_recruit_block .interview_list .contents .text_area {
  width: 53%;
}
@media (max-width: 768px) {
  .page_recruit_block .interview_list .contents .text_area {
    width: 100%;
  }
}

.page_recruit_block .interview_list .text_area .inner_title {
  font-size: clamp(2.3rem, 2.5vw, 3rem);
  font-weight: 700;
  letter-spacing: 0.1em;
}
.page_recruit_block .interview_list .text_area .age {
  display: block;
  margin-bottom: 35px;
  color: #7F7F7F;
}
@media (max-width: 768px) {
  .page_recruit_block .interview_list .text_area .age {
    margin-bottom: 15px;
  }
}

.page_recruit_block .interview_container .title {
  padding: 3px 20px;
  font-size: clamp(1.6rem, 1.8vw, 2.2rem);
  font-weight: 700;
  color: #FFF;
  letter-spacing: 0.01em;
}
@media (max-width: 768px) {
  .page_recruit_block .interview_container .title {
    padding: 3px 10px;
  }
}

.recruit_cta .cta_title {
  font-size: clamp(2.2rem, 2.5vw, 3rem);
  font-weight: 700;
}
.recruit_cta .cta_btn {
  max-width: 350px;
  margin-left: auto;
  margin-right: auto;
  border-radius: 40px;
  transition: all 0.3s;
}
.recruit_cta .cta_btn:hover {
  opacity: 0.7;
}
@media (max-width: 768px) {
  .recruit_cta .cta_btn {
    max-width: 250px;
    border-radius: 25px;
  }
}
.recruit_cta .cta_btn .btn_text {
  font-size: clamp(1.4rem, 1.5vw, 1.6rem);
  font-weight: 700;
}

.page_recruit_block .content_link_block .page_link a .title {
  padding-bottom: 0;
}

/***************************************************/
/**
/** @page12 お問い合わせ */
/**
/***************************************************/
.page_contact_block .contact::before {
  background: url(../img/esg/head-esg.webp) no-repeat center/cover;
}
.page_contact_block .main_title::before {
  content: "CONTACT";
}

.page_contact_block .tel_box {
  max-width: 800px;
  margin-right: auto;
  margin-left: auto;
  padding: 50px;
  background-color: #E5F3FB;
  border-radius: 40px;
}
@media (max-width: 768px) {
  .page_contact_block .tel_box {
    padding: 30px 20px;
  }
}
.page_contact_block .tel_box .num {
  position: relative;
  display: inline-block;
  padding-left: 30px;
  font-size: clamp(2rem, 2.4vw, 3rem);
  font-family: "Oswald", sans-serif;
  font-weight: 700;
}
@media (max-width: 768px) {
  .page_contact_block .tel_box .num {
    padding-left: 15px;
  }
}
.page_contact_block .tel_box .num::before {
  position: absolute;
  left: -20px;
  top: 50%;
  content: "";
  width: 40px;
  height: 40px;
  background: url(../img/ico/ico-tel.svg) no-repeat center/contain;
  transform: translateY(-50%);
}
@media (max-width: 768px) {
  .page_contact_block .tel_box .num::before {
    width: 25px;
    height: 25px;
  }
}

.page_contact_block .contact_form .title {
  font-size: clamp(2rem, 2.6vw, 3rem);
}

/***************************************************/
/**
/** @page13 プライバシーポリシー */
/**
/***************************************************/
.privacy::before {
  background: url(../img/esg/head-esg.webp) no-repeat center/cover;
}
.privacy .main_title::before {
  content: "PRIVACY";
}

.privacy_container p {
  line-height: 2;
}
.privacy_container .before > li {
  position: relative;
  padding-left: 1.2em;
  line-height: 2;
}
.privacy_container .before > li::before {
  position: absolute;
  left: 0;
  content: "・";
}
.privacy_container .before.num {
  counter-reset: num 0;
}
.privacy_container .before.num > li::before {
  counter-increment: num;
  content: counter(num) ".";
}
.privacy_container .alphabet {
  position: relative;
  counter-reset: en;
  padding-left: 20px;
}
.privacy_container .alphabet > .content {
  line-height: 2;
}
.privacy_container .alphabet > .content::before {
  position: absolute;
  left: 0;
  counter-increment: en;
  content: counter(en, lower-alpha) ".";
}
.privacy_container .alphabet_num {
  position: relative;
  counter-reset: en;
  padding-left: 20px;
}
.privacy_container .alphabet_num .num {
  line-height: 2;
}
.privacy_container .alphabet_num .num::before {
  position: absolute;
  left: 0;
  counter-increment: en;
  content: counter(en, lower-alpha) ".";
}

#privacy01,
#privacy02,
#privacy03 {
  padding-bottom: 80px;
}
@media (max-width: 768px) {
  #privacy01,
  #privacy02,
  #privacy03 {
    padding-bottom: 60px;
  }
}
#privacy01 .dot_list li,
#privacy02 .dot_list li,
#privacy03 .dot_list li {
  position: relative;
  padding-left: 1em;
}
#privacy01 .dot_list li::before,
#privacy02 .dot_list li::before,
#privacy03 .dot_list li::before {
  position: absolute;
  left: 0;
  top: 0;
  content: "・";
}

.privacy_container .mod-flex {
  justify-content: space-around;
  align-items: center;
  gap: 20px;
}
.privacy_container .mod-flex a {
  color: #FFF;
}

/*=============================================*/
/*Works the_content*/
/*=============================================*/
.page_case_details_block .the_content {
  margin-bottom: 50px;
}

.page_case_details_block .the_content h2 {
  margin: 2em 0 1.3em;
  padding: 0.5em;
  border-top: 2px solid #32AADF;
  border-bottom: 2px solid #32AADF;
  font-size: 2.5rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.08em;
}
@media (max-width: 768px) {
  .page_case_details_block .the_content h2 {
    font-size: 2rem;
  }
}
.page_case_details_block .the_content h3 {
  margin: 2em 0 1.3em;
  padding: 0.5em 0.8em;
  font-size: 2.2rem;
  font-weight: 500;
  color: #fff;
  line-height: 1.5;
  letter-spacing: 0.08em;
  background-color: #32AADF;
}
@media (max-width: 768px) {
  .page_case_details_block .the_content h3 {
    font-size: 1.8rem;
  }
}
.page_case_details_block .the_content h4 {
  margin: 2em 0 1.3em;
  font-size: 1.8rem;
  font-weight: 500;
  color: #6CCDF9;
  line-height: 1.5;
  letter-spacing: 0.08em;
}
@media (max-width: 768px) {
  .page_case_details_block .the_content h4 {
    font-size: 1.6rem;
  }
}

.page_case_details_block .the_content p {
  margin-bottom: 1.2em;
}

.page_case_details_block .the_content ul, .page_case_details_block .the_content ol {
  margin: 40px 0;
  padding-left: 0;
}
.page_case_details_block .the_content ul li, .page_case_details_block .the_content ol li {
  margin-bottom: 0.7em;
  text-align: left;
}
.page_case_details_block .the_content ul li {
  position: relative;
  margin-bottom: 0.7em;
  padding-left: 1em;
}
.page_case_details_block .the_content ul li:before {
  position: absolute;
  top: 0;
  right: auto;
  bottom: 0;
  left: 0;
  margin: auto;
  content: "";
  width: 0.4em;
  height: 0.4em;
  margin: auto;
  background-color: #32AADF;
  border-radius: 100px;
  line-height: 0.4em;
}
.page_case_details_block .the_content ol {
  counter-reset: item;
  list-style-type: none;
}
.page_case_details_block .the_content ol ol {
  padding-left: 15px;
}
.page_case_details_block .the_content ol li {
  text-indent: -1.3em;
  padding-left: 1.3em;
}
.page_case_details_block .the_content ol li:before {
  counter-increment: item;
  content: counter(item) ".";
  color: #32AADF;
  font-weight: bold;
}

.page_case_details_block .the_content blockquote {
  margin: 20px 0;
  padding: 1.5em 2.5em;
  border: 10px solid #6CCDF9;
  color: #333333;
  line-height: 1.7;
}
@media (max-width: 768px) {
  .page_case_details_block .the_content blockquote {
    border: 5px solid #6CCDF9;
  }
}/*# sourceMappingURL=page.css.map */