@charset "UTF-8";
:root {
  --inner-def: 1240px;
  --inner-small: 1140px;
  --inner-large: 1300px;
  --color-base: #ff7f00;
}

@font-face {
  font-family: "Noto Sans JP Regular";
  src: url("../fonts/Noto_Sans_JP/NotoSansJP-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: "Noto Sans JP Medium";
  src: url("../fonts/Noto_Sans_JP/NotoSansJP-Medium.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: "Noto Sans JP SemiBold";
  src: url("../fonts/Noto_Sans_JP/NotoSansJP-SemiBold.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: "Noto Sans JP Bold";
  src: url("../fonts/Noto_Sans_JP/NotoSansJP-Bold.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: "Lexend Medium";
  src: url("../fonts/Lexend/Lexend-Medium.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: "Lexend Regular";
  src: url("../fonts/Lexend/Lexend-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: "Lexend SemiBold";
  src: url("../fonts/Lexend/Lexend-SemiBold.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: "Lexend Light";
  src: url("../fonts/Lexend/Lexend-Light.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: "Lexend ExtraLight";
  src: url("../fonts/Lexend/Lexend-ExtraLight.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: "ZenKakuGothicNew Bold";
  src: url("../fonts/Zen_Kaku_Gothic_New/ZenKakuGothicNew-Bold.ttf")
    format("truetype");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: "ShipporiMincho Regular";
  src: url("../fonts/Shippori_Mincho/ShipporiMincho-Regular.ttf")
    format("truetype");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: "Whisper Regular";
  src: url("../fonts/Whisper/Whisper-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
}
*,
*:before,
*:after {
  -webkit-box-sizing: inherit;
  box-sizing: inherit;
}

a {
  outline: none;
  color: #161826;
  text-decoration: none;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}

*:focus {
  outline: none;
}

a:hover,
a:focus {
  color: #161826;
  text-decoration: none;
}

img {
  max-width: 100%;
  width: 100%;
  height: auto;
  border: none;
  vertical-align: bottom;
}

h1,
h2,
h3,
h4,
p,
dl,
dd,
label,
ul,
figure {
  margin: 0;
}

dt {
  font-weight: normal;
}

p,
a {
  letter-spacing: 0.1em;
}

p {
  line-height: 2;
}

html {
  font-size: 62.5%;
}

body {
  color: #161826;
  font-size: 1.5rem;
  font-family: "Noto Sans JP Regular";
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  body {
    font-size: 1.3rem;
  }
}
body.is-loaded .mv__catch .ja,
body.is-loaded .mv-recruit__catch .ja {
  -webkit-transition: opacity 0.6s ease-in-out,
    -webkit-transform 1.2s cubic-bezier(0.075, 0.82, 0.165, 1);
  transition: opacity 0.6s ease-in-out,
    -webkit-transform 1.2s cubic-bezier(0.075, 0.82, 0.165, 1);
  transition: opacity 0.6s ease-in-out,
    transform 1.2s cubic-bezier(0.075, 0.82, 0.165, 1);
  transition: opacity 0.6s ease-in-out,
    transform 1.2s cubic-bezier(0.075, 0.82, 0.165, 1),
    -webkit-transform 1.2s cubic-bezier(0.075, 0.82, 0.165, 1);
  -webkit-transform: translate(0, 0);
  transform: translate(0, 0);
  opacity: 1;
}
body.is-loaded .mv__catch .en,
body.is-loaded .mv-recruit__catch .en {
  -webkit-transition: opacity 0.6s ease-in-out,
    -webkit-transform 1.2s cubic-bezier(0.075, 0.82, 0.165, 1);
  transition: opacity 0.6s ease-in-out,
    -webkit-transform 1.2s cubic-bezier(0.075, 0.82, 0.165, 1);
  transition: opacity 0.6s ease-in-out,
    transform 1.2s cubic-bezier(0.075, 0.82, 0.165, 1);
  transition: opacity 0.6s ease-in-out,
    transform 1.2s cubic-bezier(0.075, 0.82, 0.165, 1),
    -webkit-transform 1.2s cubic-bezier(0.075, 0.82, 0.165, 1);
  -webkit-transition-delay: 0.3s;
  transition-delay: 0.3s;
  -webkit-transform: translate(0, 0);
  transform: translate(0, 0);
  opacity: 1;
}
body.is-loaded .recruit-slider {
  opacity: 1;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
}
body.is-loaded .recruit-slider.recruit-slider--1 {
  -webkit-transition-delay: 0.6s;
  transition-delay: 0.6s;
}
body.is-loaded .recruit-slider.recruit-slider--2 {
  -webkit-transition-delay: 0.9s;
  transition-delay: 0.9s;
}
body.is-loaded .recruit-slider.recruit-slider--3 {
  -webkit-transition-delay: 1.2s;
  transition-delay: 1.2s;
}
body.is-loaded .mv-recruit .slider-wrap:after {
  opacity: 1;
  -webkit-transition-delay: 1.4s;
  transition-delay: 1.4s;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
}
body.is-loaded .page-header .sec-ttl,
body.is-loaded .news-post__container {
  -webkit-transform: translateY(0);
  transform: translateY(0);
  opacity: 1;
  -webkit-transition: 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0.3s;
  transition: 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0.3s;
}
body.is-loaded .profile__container {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  opacity: 1;
  -webkit-transition: 0.5s cubic-bezier(0.39, 0.575, 0.565, 1) 0.3s;
  transition: 0.5s cubic-bezier(0.39, 0.575, 0.565, 1) 0.3s;
}

/* 幅設定 */
.inner-def {
  max-width: var(--inner-def);
  width: 100%;
  margin: 0 auto;
}

.inner-small {
  max-width: var(--inner-small);
  width: 100%;
  margin: 0 auto;
}

.inner-large {
  max-width: var(--inner-large);
  width: 100%;
  margin: 0 auto;
}

/* レスポンシブ */
.view-pc {
  display: block;
}
@media screen and (max-width: 767px) {
  .view-pc {
    display: none;
  }
}

.view-sp {
  display: none;
}
@media screen and (max-width: 767px) {
  .view-sp {
    display: block;
  }
}

.view-ssp {
  display: none;
}
@media screen and (max-width: 575px) {
  .view-ssp {
    display: block;
  }
}

.view-md {
  display: none;
}
@media screen and (max-width: 991px) {
  .view-md {
    display: block;
  }
}

.view-lg {
  display: block;
}
@media screen and (max-width: 991px) {
  .view-lg {
    display: none;
  }
}

.view-tab {
  display: block;
}
@media screen and (max-width: 575px) {
  .view-tab {
    display: none;
  }
}

/* 共通パーツ */
.page-header {
  padding: 230px 0 130px;
  color: #fff;
  background-color: var(--color-base);
  position: relative;
}
@media screen and (max-width: 767px) {
  .page-header {
    padding: 170px 0 65px;
  }
}
.page-header:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 30px;
  background-color: #fff;
  border-radius: 30px 30px 0 0;
}
@media screen and (max-width: 767px) {
  .page-header:after {
    height: 15px;
    border-radius: 15px 15px 0 0;
  }
}
.page-header .sec-ttl {
  -webkit-transform: translateY(30px);
  transform: translateY(30px);
  opacity: 0;
}
.page-header .sec-ttl .en {
  font-size: 8rem !important;
}
@media screen and (max-width: 767px) {
  .page-header .sec-ttl .en {
    font-size: 5rem !important;
  }
}
.page-header .sec-ttl .ja {
  font-size: 1.9rem !important;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .page-header .sec-ttl .ja {
    font-size: 1.4rem !important;
  }
}

.sec-inner {
  width: 100%;
  padding-left: 20px;
  padding-right: 20px;
}
@media screen and (max-width: 1199px) {
  .sec-inner {
    padding-left: 4vw;
    padding-right: 4vw;
  }
}
@media screen and (max-width: 767px) {
  .sec-inner {
    padding-left: 5vw;
    padding-right: 5vw;
  }
}

.sec-ttl {
  white-space: nowrap;
}
.sec-ttl .en {
  font-size: 8.2rem;
  line-height: 1;
  letter-spacing: 0.025em;
  font-family: "Lexend Medium";
  margin-bottom: 15px;
}
@media screen and (max-width: 767px) {
  .sec-ttl .en {
    font-size: 4.7rem;
    margin-bottom: 10px;
  }
}
.sec-ttl .ja {
  font-size: 1.6rem;
  color: #ff7f00;
  letter-spacing: 0.15em;
  font-family: "Noto Sans JP Medium";
}
@media screen and (max-width: 767px) {
  .sec-ttl .ja {
    font-size: 1.3rem;
  }
}

.sec-btn {
  position: relative;
  white-space: nowrap;
  padding-right: 90px;
  font-size: 1.5rem;
  font-family: "Noto Sans JP SemiBold";
}
@media screen and (max-width: 767px) {
  .sec-btn {
    font-size: 1.4rem;
    padding-right: 62px;
  }
}
.sec-btn:hover:before {
  -webkit-transform: translate(10px, -50%);
  transform: translate(10px, -50%);
}
.sec-btn:before {
  content: "";
  background: url(../images/news_individual/button_right@2x.png) no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 62px;
  height: 62px;
  -webkit-transition: 0.3s cubic-bezier(0.4, 0.4, 0, 1);
  transition: 0.3s cubic-bezier(0.4, 0.4, 0, 1);
}
@media screen and (max-width: 767px) {
  .sec-btn:before {
    width: 46px;
    height: 46px;
  }
}

.cat-tag {
  display: inline-block;
  background-color: #f5f7fa;
  border-radius: 5px;
  min-width: 96px;
  padding: 6px 10px;
  text-align: center;
  font-size: 1.3rem;
  color: var(--color-base);
  letter-spacing: 0.05em;
  font-family: "Noto Sans JP Medium";
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .cat-tag {
    min-width: 65px;
    font-size: 1.1rem;
  }
}

/* メインビジュアル */
.mv {
  position: relative;
  width: 100%;
  height: 100vh;
  position: relative;
}

.mv__catch {
  position: absolute;
  top: 55%;
  left: 5%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  color: #fff;
  z-index: 10;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .mv__catch {
    top: auto;
    bottom: 170px;
    left: 6%;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}
.mv__catch .ja {
  font-size: 4.2vw;
  line-height: 1.4;
  letter-spacing: 0.1em;
  font-family: "Noto Sans JP SemiBold";
  margin-bottom: 2vw;
  -webkit-transform: translate(0, 50px);
  transform: translate(0, 50px);
  opacity: 0;
}
@media screen and (max-width: 1399px) {
  .mv__catch .ja {
    font-size: 6rem;
    margin-bottom: 30px;
  }
}
@media screen and (max-width: 767px) {
  .mv__catch .ja {
    font-size: 5.2rem;
    margin-bottom: 25px;
  }
}
@media screen and (max-width: 575px) {
  .mv__catch .ja {
    font-size: 9.5vw;
    margin-bottom: 4.5vw;
  }
}
.mv__catch .en {
  font-size: 1.1vw;
  line-height: 1.6;
  letter-spacing: 0.12em;
  font-family: "Lexend ExtraLight";
  -webkit-transform: translate(0, 50px);
  transform: translate(0, 50px);
  opacity: 0;
}
@media screen and (max-width: 1399px) {
  .mv__catch .en {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .mv__catch .en {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 575px) {
  .mv__catch .en {
    font-size: 3vw;
  }
}

.mv-swiper {
  width: 100%;
  height: 100%;
}
.mv-swiper .swiper-slide {
  overflow: hidden;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
.mv-swiper .swiper-slide-active .slide-img,
.mv-swiper .swiper-slide-duplicate-active .slide-img,
.mv-swiper .swiper-slide-prev .slide-img {
  -webkit-animation: zoomUp 10s ease-out;
  animation: zoomUp 10s ease-out;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}
.mv-swiper .slide-img {
  background-size: cover;
  background-position: center;
  height: 100vh;
}

@-webkit-keyframes zoomUp {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  100% {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }
}

@keyframes zoomUp {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  100% {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }
}
.mv__news {
  position: absolute;
  right: 35px;
  bottom: 35px;
  -webkit-box-shadow: 0px 7px 17px rgba(0, 0, 0, 0.1607843137);
  box-shadow: 0px 7px 17px rgba(0, 0, 0, 0.1607843137);
  border-radius: 5px;
  overflow: hidden;
  z-index: 10;
}
@media screen and (max-width: 767px) {
  .mv__news {
    right: 0;
    bottom: 50px;
    border-radius: 5px 0 0 5px;
  }
}
.mv__news dl {
  width: 650px;
  height: 53px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 767px) {
  .mv__news dl {
    max-width: 450px;
    width: 95vw;
    height: 50px;
  }
}
.mv__news dl dt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-size: 1.6rem;
  color: #fff;
  letter-spacing: 0.1em;
  font-family: "Noto Sans JP Medium";
  background-color: var(--color-base);
  padding: 0 27px;
}
@media screen and (max-width: 767px) {
  .mv__news dl dt {
    font-size: 1.3rem;
    padding: 0 20px;
  }
}
.mv__news dl dd {
  width: 100%;
  background-color: #fff;
}
.mv__news dl dd a {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 23px;
  padding: 0 27px;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .mv__news dl dd a {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-flow: column;
    flex-flow: column;
    gap: 4px;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    padding: 0 20px;
  }
}
.mv__news dl dd a:hover .ttl {
  color: var(--color-base);
}
.mv__news dl dd .date {
  font-size: 1.6rem;
  line-height: 1;
  letter-spacing: 0.03em;
  font-family: "Lexend SemiBold";
  color: var(--color-base);
  padding-top: 1.5px;
}
@media screen and (max-width: 767px) {
  .mv__news dl dd .date {
    font-size: 1.1rem;
  }
}
.mv__news dl dd .ttl {
  font-size: 1.6rem;
  letter-spacing: 0.05em;
  font-family: "Noto Sans JP Medium";
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}
@media screen and (max-width: 767px) {
  .mv__news dl dd .ttl {
    font-size: 1.4rem;
  }
}

/* ローディング */
.opening {
  position: fixed;
  width: 100%;
  height: 100vh;
  z-index: 100000;
}

.opening__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.opening__logo {
  width: 12vw;
  opacity: 0;
}
@media screen and (max-width: 1399px) {
  .opening__logo {
    width: 162px;
  }
}
@media screen and (max-width: 767px) {
  .opening__logo {
    width: 120px;
  }
}

.opening__line {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  background: var(--color-base);
  will-change: transform, opacity;
}

/* アニメーション */
@-webkit-keyframes slideIn {
  0% {
    -webkit-transform: translateY(100%);
    transform: translateY(100%);
  }
  to {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}
@keyframes slideIn {
  0% {
    -webkit-transform: translateY(100%);
    transform: translateY(100%);
  }
  to {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}
@-webkit-keyframes slideOut {
  0% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  to {
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%);
  }
}
@keyframes slideOut {
  0% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  to {
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%);
  }
}
/* スクロールアニメーション */
.fadeInUp1 {
  -webkit-transform: translateY(30px);
  transform: translateY(30px);
  opacity: 0;
}
@media screen and (max-width: 767px) {
  .fadeInUp1 {
    -webkit-transform: translateY(20px);
    transform: translateY(20px);
  }
}
.fadeInUp1.is-invasion {
  -webkit-transform: translateY(0) !important;
  transform: translateY(0) !important;
  opacity: 1 !important;
  -webkit-transition: 1s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: 1s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.fadeInUp2 {
  -webkit-transform: translateY(20px);
  transform: translateY(20px);
  opacity: 0;
}
@media screen and (max-width: 767px) {
  .fadeInUp2 {
    -webkit-transform: translateY(15px);
    transform: translateY(15px);
  }
}
.fadeInUp2.is-invasion {
  -webkit-transform: translateY(0) !important;
  transform: translateY(0) !important;
  opacity: 1 !important;
  -webkit-transition: 1s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: 1s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.fadeInUp3 {
  -webkit-transform: translate3d(0, 30px, 0);
  transform: translate3d(0, 30px, 0);
  opacity: 0;
}
@media screen and (max-width: 767px) {
  .fadeInUp3 {
    -webkit-transform: translate3d(0, 20px, 0);
    transform: translate3d(0, 20px, 0);
  }
}
.fadeInUp3.is-invasion {
  opacity: 1 !important;
  -webkit-transform: translateZ(0) !important;
  transform: translateZ(0) !important;
  -webkit-transition: 0.5s cubic-bezier(0.39, 0.575, 0.565, 1);
  transition: 0.5s cubic-bezier(0.39, 0.575, 0.565, 1);
}

/* ヘッダー */
.header {
  position: fixed;
  top: 10px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  width: 90%;
  height: 67px;
  background-color: #fff;
  border-radius: 34px;
  -webkit-box-shadow: 0px 0px 17px rgba(0, 0, 0, 0.1294117647);
  box-shadow: 0px 0px 17px rgba(0, 0, 0, 0.1294117647);
  z-index: 100;
}
@media screen and (max-width: 991px) {
  .header {
    top: 0;
    left: 0;
    -webkit-transform: translateX(0);
    transform: translateX(0);
    width: 100%;
    height: 78px;
    border-radius: 0;
  }
}
.header.is-open .drawer__bg {
  -webkit-animation: slideIn 1s cubic-bezier(0.19, 1, 0.22, 1) 0s forwards;
  animation: slideIn 1s cubic-bezier(0.19, 1, 0.22, 1) 0s forwards;
}
.header.is-open .drawer__bg:before {
  opacity: 1;
  -webkit-transition: opacity 0.5s 0.65s, -webkit-transform 0.5s 0.65s !important;
  transition: opacity 0.5s 0.65s, -webkit-transform 0.5s 0.65s !important;
  transition: opacity 0.5s 0.65s, transform 0.5s 0.65s !important;
  transition: opacity 0.5s 0.65s, transform 0.5s 0.65s,
    -webkit-transform 0.5s 0.65s !important;
  -webkit-transform: scale(1);
  transform: scale(1);
}
.header.is-open .drawer__info {
  opacity: 1;
  -webkit-transform: translateY(0) !important;
  transform: translateY(0) !important;
  -webkit-transition-delay: 0.675s;
  transition-delay: 0.675s;
}
.header.is-open .mNav__item:nth-child(1) a {
  -webkit-transition-delay: 0.5s;
  transition-delay: 0.5s;
}
.header.is-open .mNav__item:nth-child(2) a {
  -webkit-transition-delay: 0.525s;
  transition-delay: 0.525s;
}
.header.is-open .mNav__item:nth-child(3) a {
  -webkit-transition-delay: 0.55s;
  transition-delay: 0.55s;
}
.header.is-open .mNav__item:nth-child(4) a {
  -webkit-transition-delay: 0.575s;
  transition-delay: 0.575s;
}
.header.is-open .mNav__item:nth-child(5) a {
  -webkit-transition-delay: 0.6s;
  transition-delay: 0.6s;
}
.header.is-open .mNav__item:nth-child(6) a {
  -webkit-transition-delay: 0.625s;
  transition-delay: 0.625s;
}
.header.is-open .mNav__item:nth-child(7) a {
  -webkit-transition-delay: 0.65s;
  transition-delay: 0.65s;
}
.header.is-open .mNav__item a {
  opacity: 1;
  -webkit-transform: translateY(0) !important;
  transform: translateY(0) !important;
}
.header.is-open .header__logo {
  opacity: 1;
  -webkit-transition-delay: 0.4s;
  transition-delay: 0.4s;
}
.header.is-open .hamburger {
  background-color: transparent;
  border: 1px solid #fff;
  -webkit-transition-delay: 0.3s;
  transition-delay: 0.3s;
}
.header.is-open .hamburger__bar:nth-child(1) {
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
.header.is-open .hamburger__bar:nth-child(2) {
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
  -webkit-transform-origin: right center;
  transform-origin: right center;
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}
.header.is-open .hamburger__bar:nth-child(3) {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.header > .inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
  height: 100%;
  padding-left: 50px;
  padding-right: 35px;
}
@media screen and (max-width: 991px) {
  .header > .inner {
    padding: 0;
  }
}

.page-top {
  position: fixed;
  bottom: 40px;
  right: 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-flow: column;
  flex-flow: column;
  gap: 15px;
  z-index: 20;
  -webkit-transition: 0.2s ease;
  transition: 0.2s ease;
}
@media screen and (max-width: 767px) {
  .page-top {
    bottom: 20px;
    right: 15px;
    gap: 13px;
  }
}
.page-top:hover {
  opacity: 0.8;
}

.page-top__txt {
  font-size: 1.3rem;
  color: #000000;
  letter-spacing: 0.05em;
  font-family: "Lexend Light";
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
}
@media screen and (max-width: 767px) {
  .page-top__txt {
    font-size: 1.2rem;
  }
}

.page-top__arrow {
  width: 50px;
}
@media screen and (max-width: 767px) {
  .page-top__arrow {
    width: 44px;
  }
}
.page-top__arrow img {
  border-radius: 50%;
  -webkit-box-shadow: 0px 7px 26px rgba(0, 0, 0, 0.1607843137);
  box-shadow: 0px 7px 26px rgba(0, 0, 0, 0.1607843137);
}

/* グローバルナビ */
@media screen and (max-width: 991px) {
  .gNav {
    display: none;
  }
}
.gNav ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 27px;
}
.gNav ul li.contact-btn {
  position: relative;
  padding-left: 27px;
}
.gNav ul li.contact-btn:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 1px;
  height: 35px;
  background-color: #d0d0d0;
}
.gNav ul li.contact-btn a {
  padding-left: 25px;
  color: var(--color-base);
}
.gNav ul li.contact-btn a:before {
  content: "";
  background: url(../images/header/icon_2@2x.png) no-repeat;
  background-size: contain;
  position: absolute;
  top: 55%;
  left: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 18px;
  height: 15px;
}
.gNav ul li.contact-btn a:after {
  background-color: var(--color-base);
}
.gNav ul li a {
  display: inline-block;
  font-size: 1.4rem;
  font-family: "Noto Sans JP Medium";
  white-space: nowrap;
  position: relative;
  padding: 8px 0;
}
.gNav ul li a:hover:after {
  -webkit-transform: scaleX(1);
  transform: scaleX(1);
  -webkit-transform-origin: left;
  transform-origin: left;
}
.gNav ul li a:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #161826;
  -webkit-transition: -webkit-transform 0.25s ease-in;
  transition: -webkit-transform 0.25s ease-in;
  transition: transform 0.25s ease-in;
  transition: transform 0.25s ease-in, -webkit-transform 0.25s ease-in;
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
  -webkit-transform-origin: right;
  transform-origin: right;
}
.gNav ul li a.current {
  color: var(--color-base);
}
.gNav ul li a.current:after {
  background-color: var(--color-base);
  -webkit-transform: scale(1);
  transform: scale(1);
  -webkit-transform-origin: left;
  transform-origin: left;
}

@media screen and (max-width: 991px) {
  .header__logo {
    position: absolute;
    top: 30px;
    left: 20px;
  }
}
.header__logo a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 88px;
}

/* モバイルナビ */
.drawer {
  position: fixed;
  top: 0;
  right: 0;
  width: 100%;
  height: 100vh;
  z-index: 100;
  overflow: auto;
  visibility: hidden;
  opacity: 0;
}
.drawer .header__logo {
  opacity: 0;
  -webkit-transition: opacity 0.3s 0.9s;
  transition: opacity 0.3s 0.9s;
  z-index: 1;
}

.drawer__bg {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background-color: #2b3441;
  -webkit-animation: slideOut 0.6s cubic-bezier(0.645, 0.045, 0.355, 1) 0.5s
    forwards;
  animation: slideOut 0.6s cubic-bezier(0.645, 0.045, 0.355, 1) 0.5s forwards;
}
.drawer__bg:before {
  content: "";
  background: url(../images/header/logo_bg.png) no-repeat;
  background-size: contain;
  position: absolute;
  bottom: 0;
  right: 0;
  width: 251px;
  height: 250px;
  opacity: 0;
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
  -webkit-transition: opacity 0.5s, -webkit-transform 0.5s 0.65s;
  transition: opacity 0.5s, -webkit-transform 0.5s 0.65s;
  transition: opacity 0.5s, transform 0.5s 0.65s;
  transition: opacity 0.5s, transform 0.5s 0.65s, -webkit-transform 0.5s 0.65s;
}

.drawer__container {
  max-width: 280px;
  width: 100%;
  margin: 0 auto;
  padding: 90px 0 30px;
  position: relative;
}

.mNav__item:not(:last-child) {
  margin-bottom: 20px;
}
.mNav__item a {
  display: inline-block;
  color: #fff;
  opacity: 0;
  -webkit-transition: 0.6s;
  transition: 0.6s;
  -webkit-transform: translateY(10px);
  transform: translateY(10px);
}
.mNav__item a > span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 25px;
}
.mNav__item a .en {
  font-size: 3.2rem;
  font-family: "Lexend Medium";
}
.mNav__item a .ja {
  font-size: 1.3rem;
}

.drawer__info {
  color: #fff;
  text-align: center;
  opacity: 0;
  -webkit-transition: 0.6s;
  transition: 0.6s;
  -webkit-transform: translateY(10px);
  transform: translateY(10px);
  margin-top: 45px;
  padding-top: 40px;
  border-top: 1px solid rgba(255, 255, 255, 0.5);
}
.drawer__info .ttl {
  font-size: 1.4rem;
  line-height: 1.5;
  margin-bottom: 8px;
}
.drawer__info .tel-number {
  margin-bottom: 10px;
  background: url(../images/header/tel_number.png) no-repeat;
  background-size: contain;
  width: 264px;
  height: 31px;
}
.drawer__info .open {
  font-size: 1.5rem;
  line-height: 1.5;
}

.hamburger {
  display: none;
}
@media screen and (max-width: 991px) {
  .hamburger {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    position: fixed;
    top: 13px;
    right: 15px;
    border-radius: 50%;
    background-color: var(--color-base);
    z-index: 102;
    -webkit-transition: all 0.1s 0.9s;
    transition: all 0.1s 0.9s;
  }
}

.hamburger__container {
  position: absolute;
  top: 50%;
  width: 19px;
  height: 1px;
}

.hamburger__bar {
  position: absolute;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #fff;
  -webkit-transform-origin: center center;
  transform-origin: center center;
  -webkit-transition: -webkit-transform 1s cubic-bezier(0.19, 1, 0.22, 1);
  transition: -webkit-transform 1s cubic-bezier(0.19, 1, 0.22, 1);
  transition: transform 1s cubic-bezier(0.19, 1, 0.22, 1);
  transition: transform 1s cubic-bezier(0.19, 1, 0.22, 1),
    -webkit-transform 1s cubic-bezier(0.19, 1, 0.22, 1);
}
.hamburger__bar:nth-child(1) {
  -webkit-transform: translateY(-5px);
  transform: translateY(-5px);
}
.hamburger__bar:nth-child(2) {
  -webkit-transform-origin: left center;
  transform-origin: left center;
  -webkit-transition: -webkit-transform 0.7s cubic-bezier(1, 0, 0, 1) 0.3s;
  transition: -webkit-transform 0.7s cubic-bezier(1, 0, 0, 1) 0.3s;
  transition: transform 0.7s cubic-bezier(1, 0, 0, 1) 0.3s;
  transition: transform 0.7s cubic-bezier(1, 0, 0, 1) 0.3s,
    -webkit-transform 0.7s cubic-bezier(1, 0, 0, 1) 0.3s;
}
.hamburger__bar:nth-child(3) {
  -webkit-transform: translateY(5px);
  transform: translateY(5px);
}

.contact .sec-ttl {
  text-align: center;
  margin-bottom: 65px;
}
@media screen and (max-width: 767px) {
  .contact .sec-ttl {
    margin-bottom: 40px;
  }
}
.contact .sec-ttl .en {
  font-size: 8.2rem !important;
}
@media screen and (max-width: 767px) {
  .contact .sec-ttl .en {
    font-size: 4.7rem !important;
  }
}
.contact .sec-ttl .ja {
  font-size: 1.6rem !important;
}
@media screen and (max-width: 767px) {
  .contact .sec-ttl .ja {
    font-size: 1.3rem !important;
  }
}
.contact .sec-ttl + p {
  font-family: "Noto Sans JP Medium";
  text-align: center;
  margin-bottom: 70px;
}
@media screen and (max-width: 767px) {
  .contact .sec-ttl + p {
    margin-bottom: 40px;
  }
}

.contact__top-img img {
  height: 433px;
  -o-object-fit: cover;
  object-fit: cover;
}
@media screen and (max-width: 767px) {
  .contact__top-img img {
    height: 210px;
  }
}

.contact__container {
  position: relative;
  background-color: #fff;
  border-radius: 30px 30px 0 0;
  margin: -135px 20px 0;
  padding: 140px 0 195px;
}
@media screen and (max-width: 1199px) {
  .contact__container {
    margin: -135px 4vw 0;
  }
}
@media screen and (max-width: 767px) {
  .contact__container {
    border-radius: 15px 15px 0 0;
    margin: -100px 4vw 0;
    padding: 80px 0 110px;
  }
}
.contact__container .inner {
  max-width: 910px;
  width: 100%;
  margin: 0 auto;
}

.contact__tel {
  background-color: #f5f7fa;
  border-radius: 15px;
  height: 200px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
  margin-bottom: 30px;
}
@media screen and (max-width: 767px) {
  .contact__tel {
    height: auto;
    display: block;
    margin-bottom: 15px;
    padding: 32px 10px 30px;
  }
}
.contact__tel:after {
  content: "";
  position: absolute;
  top: 43px;
  left: 50%;
  width: 1px;
  height: calc(100% - 86px);
  background-color: #bababa;
}
@media screen and (max-width: 767px) {
  .contact__tel:after {
    content: none;
  }
}
.contact__tel h4 {
  width: 50%;
  font-size: 1.9rem;
  letter-spacing: 0.05em;
  font-family: "Noto Sans JP Medium";
  text-align: center;
}
@media screen and (max-width: 767px) {
  .contact__tel h4 {
    width: 100%;
    font-size: 1.6rem;
    margin-bottom: 15px;
  }
}
.contact__tel .info {
  width: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .contact__tel .info {
    width: 100%;
  }
}
.contact__tel .info .tel-number {
  font-size: 3.6rem;
  color: var(--color-base);
  line-height: 1;
  letter-spacing: 0.03em;
  font-family: "Lexend Regular";
  white-space: nowrap;
  position: relative;
  margin-bottom: 7px;
  padding-left: 35px;
}
@media screen and (max-width: 767px) {
  .contact__tel .info .tel-number {
    background: url(../images/footer/tel_number.png) no-repeat;
    background-size: contain;
    width: 245px;
    height: 30px;
    margin-bottom: 5px;
    padding-left: 0;
  }
}
.contact__tel .info .tel-number:before {
  content: "";
  background: url(../images/footer/contact_2@2x.png) no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 24px;
  height: 31px;
}
@media screen and (max-width: 767px) {
  .contact__tel .info .tel-number:before {
    content: none;
  }
}
.contact__tel .info .tel-number a {
  color: var(--color-base) !important;
}
.contact__tel .info .open {
  font-size: 1.6rem;
  color: #7a7a7c;
  line-height: 1.6;
  white-space: nowrap;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .contact__tel .info .open {
    font-size: 1.5rem;
  }
}

.contact__form {
  padding: 100px 40px 120px;
  background-color: #f5f7fa;
  border-radius: 15px;
}
@media screen and (max-width: 767px) {
  .contact__form {
    padding: 60px 6vw 45px;
  }
}
.contact__form .inner {
  max-width: 670px;
  width: 100%;
  margin: 0 auto;
}
.contact__form h3 {
  font-size: 2.6rem;
  color: var(--color-base);
  letter-spacing: 0.1em;
  font-family: "Noto Sans JP Medium";
  text-align: center;
  margin-bottom: 30px;
}
@media screen and (max-width: 767px) {
  .contact__form h3 {
    font-size: 2.2rem;
    margin-bottom: 15px;
  }
}
.contact__form h3 + p {
  font-size: 1.4rem;
  line-height: 1.8;
  font-family: "Noto Sans JP Medium";
  text-align: center;
  margin-bottom: 70px;
}
@media screen and (max-width: 767px) {
  .contact__form h3 + p {
    margin-bottom: 50px;
  }
}

.contact__form-list dl,
.recruit-entry__form-list dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-size: 1.5rem;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .contact__form-list dl,
  .recruit-entry__form-list dl {
    display: block;
    font-size: 1.3rem;
  }
}
.contact__form-list dl:not(.textarea),
.recruit-entry__form-list dl:not(.textarea) {
  margin-bottom: 30px;
}
.contact__form-list dl:not(.textarea) dd,
.recruit-entry__form-list dl:not(.textarea) dd {
  height: 45px;
}
.contact__form-list dl.select dd,
.recruit-entry__form-list dl.select dd {
  position: relative;
}
.contact__form-list dl.select dd:after,
.recruit-entry__form-list dl.select dd:after {
  content: "";
  background: url(../images/top/arrow_bottom.png) no-repeat;
  background-size: contain;
  position: absolute;
  top: 52%;
  right: 30px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 14px;
  height: 9px;
}
@media screen and (max-width: 767px) {
  .contact__form-list dl.select dd:after,
  .recruit-entry__form-list dl.select dd:after {
    right: 25px;
  }
}
.contact__form-list dl.textarea,
.recruit-entry__form-list dl.textarea {
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  margin-bottom: 65px;
}
@media screen and (max-width: 767px) {
  .contact__form-list dl.textarea,
  .recruit-entry__form-list dl.textarea {
    margin-bottom: 50px;
  }
}
.contact__form-list dl.textarea dt,
.recruit-entry__form-list dl.textarea dt {
  margin-top: 10px;
}
.contact__form-list dl dt,
.recruit-entry__form-list dl dt {
  min-width: 238px;
  font-family: "Noto Sans JP Medium";
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 12px;
}
@media screen and (max-width: 991px) {
  .contact__form-list dl dt,
  .recruit-entry__form-list dl dt {
    min-width: 230px;
  }
}
@media screen and (max-width: 767px) {
  .contact__form-list dl dt,
  .recruit-entry__form-list dl dt {
    margin-bottom: 7px;
  }
}
.contact__form-list dl dt .required,
.recruit-entry__form-list dl dt .required {
  display: inline-block;
  font-size: 1.1rem;
  color: #d93838;
  font-family: "Noto Sans JP Regular";
  background-color: #f7dede;
  padding: 3.5px 7px;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .contact__form-list dl dt .required,
  .recruit-entry__form-list dl dt .required {
    font-size: 1rem;
  }
}
.contact__form-list dl dd,
.recruit-entry__form-list dl dd {
  width: 100%;
}
.contact__form-list input[type="text"],
.contact__form-list input[type="email"],
.contact__form-list input[type="tel"],
.contact__form-list select,
.contact__form-list textarea,
.recruit-entry__form-list input[type="text"],
.recruit-entry__form-list input[type="email"],
.recruit-entry__form-list input[type="tel"],
.recruit-entry__form-list select,
.recruit-entry__form-list textarea {
  background-color: #fff;
  border: 0.5px solid #bababa;
  border-radius: 3px;
  width: 100%;
  padding: 10px;
}
.contact__form-list input[type="text"],
.contact__form-list input[type="email"],
.contact__form-list input[type="tel"],
.contact__form-list select,
.recruit-entry__form-list input[type="text"],
.recruit-entry__form-list input[type="email"],
.recruit-entry__form-list input[type="tel"],
.recruit-entry__form-list select {
  height: 45px;
}
.contact__form-list .btn-wrap,
.recruit-entry__form-list .btn-wrap {
  text-align: center;
}
.contact__form-list .submit-btn,
.recruit-entry__form-list .submit-btn {
  max-width: 215px;
  width: 100%;
  height: 50px;
  background-color: var(--color-base);
  border: 1px solid var(--color-base);
  border-radius: 31px;
  font-size: 1.5rem;
  color: #fff;
  letter-spacing: 0.1em;
  font-family: "Noto Sans JP Medium";
  text-align: center;
  -webkit-transition: all 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  transition: all 0.3s cubic-bezier(0.19, 1, 0.22, 1);
}
@media screen and (max-width: 767px) {
  .contact__form-list .submit-btn,
  .recruit-entry__form-list .submit-btn {
    max-width: 300px;
  }
}
.contact__form-list .submit-btn:hover,
.recruit-entry__form-list .submit-btn:hover {
  background-color: #fff;
  color: var(--color-base);
}
.contact__form-list .acceptance-txt,
.recruit-entry__form-list .acceptance-txt {
  font-size: 1.3rem;
  letter-spacing: 0.08em;
  text-align: center;
  margin-top: 8px;
  margin-bottom: 65px;
}
@media screen and (max-width: 767px) {
  .contact__form-list .acceptance-txt,
  .recruit-entry__form-list .acceptance-txt {
    font-size: 1.2rem;
    margin-bottom: 40px;
  }
}
.contact__form-list .acceptance-txt a,
.recruit-entry__form-list .acceptance-txt a {
  color: var(--color-base);
  text-decoration: underline;
  text-decoration-color: var(--color-base);
  text-underline-offset: 4px;
}
.contact__form-list .wpcf7-not-valid-tip,
.recruit-entry__form-list .wpcf7-not-valid-tip {
  font-size: 1.3rem;
  margin-top: 3px;
}
.contact__form-list .wpcf7-acceptance,
.recruit-entry__form-list .wpcf7-acceptance {
  display: block;
  font-size: 1.7rem;
  letter-spacing: 0.08em;
  font-family: "Noto Sans JP Medium";
  text-align: center;
}
@media screen and (max-width: 767px) {
  .contact__form-list .wpcf7-acceptance,
  .recruit-entry__form-list .wpcf7-acceptance {
    font-size: 1.5rem;
  }
}
.contact__form-list .wpcf7-acceptance input[type="checkbox"],
.recruit-entry__form-list .wpcf7-acceptance input[type="checkbox"] {
  margin-top: -3px;
  margin-right: 5px;
}
.contact__form-list .wpcf7-list-item,
.recruit-entry__form-list .wpcf7-list-item {
  margin: 0;
}
.contact__form-list .wpcf7-radio,
.recruit-entry__form-list .wpcf7-radio {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 24px;
}
@media screen and (max-width: 767px) {
  .contact__form-list .wpcf7-radio,
  .recruit-entry__form-list .wpcf7-radio {
    gap: 20px;
  }
}
.contact__form-list .wpcf7-radio input[type="radio"],
.recruit-entry__form-list .wpcf7-radio input[type="radio"] {
  margin-top: -3px;
}
.contact__form-list .wpcf7-spinner,
.recruit-entry__form-list .wpcf7-spinner {
  display: block;
  margin: 0 auto;
}

/* フッター */
.footer {
  padding: 95px 0 40px;
  background-color: var(--color-base);
  border-radius: 30px 30px 0 0;
  color: #fff;
  position: relative;
  overflow-x: hidden;
}
@media screen and (max-width: 767px) {
  .footer {
    padding: 80px 0 30px;
    border-radius: 20px 20px 0 0;
  }
}
.footer:before {
  content: "";
  background: url(../images/footer/footer@2x.png) no-repeat;
  background-size: contain;
  position: absolute;
  top: 0;
  right: -20px;
  width: 330px;
  height: 285px;
}
@media screen and (max-width: 767px) {
  .footer:before {
    right: -30px;
    width: 215px;
    height: 185px;
  }
}

.footer__logo {
  display: block;
  width: 218px;
  margin-bottom: 70px;
}
@media screen and (max-width: 767px) {
  .footer__logo {
    width: 125px;
    margin-bottom: 40px;
  }
}

.footer__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  gap: 15px;
  margin-bottom: 35px;
}
@media screen and (max-width: 767px) {
  .footer__content {
    display: block;
    margin-bottom: 40px;
  }
}

.footer__info {
  font-family: "Noto Sans JP Medium";
}
@media screen and (max-width: 767px) {
  .footer__info {
    margin-bottom: 40px;
  }
}
.footer__info h4 {
  font-size: 1.9rem;
  letter-spacing: 0.1em;
  margin-bottom: 8px;
}
@media screen and (max-width: 767px) {
  .footer__info h4 {
    font-size: 1.7rem;
  }
}
.footer__info p {
  font-size: 1.4rem;
  line-height: 1.8;
}
.footer__info .number {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 15px;
  margin-top: 3px;
}
@media screen and (max-width: 991px) {
  .footer__info .number {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-flow: column;
    flex-flow: column;
    gap: 5px;
  }
}
@media screen and (max-width: 767px) {
  .footer__info .number {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row;
    flex-flow: row;
    gap: 15px;
  }
}
.footer__info .number dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
  gap: 6px;
  white-space: nowrap;
}
.footer__info .number dl dt {
  font-size: 1.5rem;
  letter-spacing: 0.07em;
}
@media screen and (max-width: 767px) {
  .footer__info .number dl dt {
    font-size: 1.3rem;
  }
}
.footer__info .number dl dd {
  font-size: 2rem;
  letter-spacing: 0.07em;
}
@media screen and (max-width: 767px) {
  .footer__info .number dl dd {
    font-size: 1.7rem;
  }
}
.footer__info .number a {
  color: #fff !important;
}

@media screen and (max-width: 767px) {
  .footer__nav {
    margin-bottom: 55px;
  }
}
.footer__nav ul {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px 35px;
}
@media screen and (max-width: 991px) {
  .footer__nav ul {
    gap: 18px 25px;
  }
}
@media screen and (max-width: 767px) {
  .footer__nav ul {
    gap: 18px 30px;
    max-width: 320px;
  }
}
.footer__nav ul li a {
  display: inline-block;
  font-size: 1.4rem;
  color: #fff;
  font-family: "Noto Sans JP Medium";
  position: relative;
  padding-left: 25px;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .footer__nav ul li a {
    font-size: 1.5rem;
  }
}
.footer__nav ul li a:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 10px;
  height: 1.5px;
  background-color: #fff;
}

.footer__sns {
  font-family: "Lexend Regular";
  position: relative;
  margin-bottom: -35px;
}
@media screen and (max-width: 767px) {
  .footer__sns {
    margin-bottom: 0;
  }
}
.footer__sns h4 {
  font-size: 1.6rem;
  letter-spacing: 0.05em;
  margin-bottom: 25px;
}
@media screen and (max-width: 767px) {
  .footer__sns h4 {
    border-bottom: 0.5px solid #f5f7fa;
    margin-bottom: 35px;
    padding-bottom: 12px;
  }
}
.footer__sns ul {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 3px 40px;
  margin-bottom: 32px;
}
@media screen and (max-width: 991px) {
  .footer__sns ul {
    gap: 3px 30px;
  }
}
@media screen and (max-width: 767px) {
  .footer__sns ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    gap: 0;
    max-width: 270px;
    margin: 0 auto 40px;
  }
}
@media screen and (max-width: 767px) {
  .footer__sns ul li {
    width: 73px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
}
.footer__sns ul li:not(:last-child) {
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .footer__sns ul li:not(:last-child) {
    margin-bottom: 0;
  }
}
.footer__sns ul li a {
  display: inline-block;
  font-size: 1.3rem;
  color: #fff;
  letter-spacing: 0.05em;
  position: relative;
  padding-left: 40px;
}
@media screen and (max-width: 767px) {
  .footer__sns ul li a {
    font-size: 1.1rem;
    padding-top: 43px;
    padding-left: 0;
  }
}
.footer__sns ul li a.insta:before {
  background: url(../images/footer/Instagram@2x.png) no-repeat;
  background-size: contain;
}
.footer__sns ul li a.facebook:before {
  background: url(../images/footer/facebook@2x.png) no-repeat;
  background-size: contain;
}
.footer__sns ul li a.line:before {
  background: url(../images/footer/line@2x.png) no-repeat;
  background-size: contain;
}
.footer__sns ul li a:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 25px;
  height: 25px;
}
@media screen and (max-width: 767px) {
  .footer__sns ul li a:before {
    top: 0;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    width: 36px;
    height: 36px;
  }
}

.toReviews-btn {
  display: block;
  max-width: 240px;
  width: 100%;
  height: 52px;
  font-size: 1.5rem;
  color: #fff;
  line-height: 50px;
  text-align: center;
  border: 1px solid #fff;
  border-radius: 30px;
  font-family: "Noto Sans JP Bold";
  padding-left: 35px;
  -webkit-transition: all 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  transition: all 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  position: relative;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .toReviews-btn {
    max-width: 230px;
    height: 44px;
    font-size: 1.3rem;
    line-height: 42px;
    margin: 0 auto;
    padding-left: 25px;
  }
}
.toReviews-btn:after {
  content: "";
  background-image: url(../images/footer/google_icon.png),
    url(../images/footer/google_icon_hover.png);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 52%;
  left: 35px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 20px;
  height: 18px;
  -webkit-transition: all 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  transition: all 0.3s cubic-bezier(0.19, 1, 0.22, 1);
}
@media screen and (max-width: 767px) {
  .toReviews-btn:after {
    width: 17px;
    height: 15px;
  }
}
.toReviews-btn:focus {
  color: #fff;
}
.toReviews-btn:hover {
  color: var(--color-base);
  background-color: #fff;
}
.toReviews-btn:hover:after {
  background-image: url(../images/footer/google_icon_hover.png);
}
.toReviews-btn span {
  font-size: 1.2rem;
  margin: 0 1px;
}
@media screen and (max-width: 767px) {
  .toReviews-btn span {
    font-size: 1rem;
  }
}

.copyright {
  font-size: 1.4rem;
  line-height: 1.5;
  font-family: "Lexend Light";
}
@media screen and (max-width: 767px) {
  .copyright {
    text-align: center;
  }
}

/* パンくず */
.breadcrumb-area {
  margin-left: 10px;
  margin-bottom: 35px;
}
@media screen and (max-width: 767px) {
  .breadcrumb-area {
    margin-bottom: 23px;
  }
}
.breadcrumb-area span,
.breadcrumb-area a {
  font-size: 1.3rem;
  letter-spacing: 0.1em;
  font-family: "Noto Sans JP Medium";
}
@media screen and (max-width: 767px) {
  .breadcrumb-area span,
  .breadcrumb-area a {
    font-size: 1.2rem;
  }
}
.breadcrumb-area > span {
  padding: 0 13px;
}
@media screen and (max-width: 767px) {
  .breadcrumb-area > span {
    padding: 0 9px;
  }
}
.breadcrumb-area a:hover {
  opacity: 0.6;
}
.breadcrumb-area .current-item {
  color: var(--color-base);
}

.breadcrumb-area span:last-child span[property="name"] {
  display: inline-block;
  padding: 0;
  margin-top: -3px;
  vertical-align: middle;
  max-width: 150px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
@media screen and (max-width: 767px) {
  .breadcrumb-area span:last-child span[property="name"] {
    max-width: 135px;
  }
}

/*--------------------------------
	トップページ
--------------------------------*/
.vision.top-vision {
  padding: 160px 0 0;
}
@media screen and (max-width: 767px) {
  .vision.top-vision {
    padding: 100px 0 0;
  }
}
.vision.top-vision .sec-ttl {
  margin-bottom: 80px;
}
@media screen and (max-width: 767px) {
  .vision.top-vision .sec-ttl {
    text-align: center;
    margin-bottom: 50px;
  }
}

.vision__ttl {
  font-size: 5.6rem;
  line-height: 1.4;
  letter-spacing: 0.13em;
  font-family: "Noto Sans JP Medium";
  margin-bottom: 210px;
  padding: 0 0 6px 45px;
  border-left: 6px solid var(--color-base);
}
@media screen and (max-width: 991px) {
  .vision__ttl {
    font-size: 4.7rem;
    padding: 0 0 6px 40px;
  }
}
@media screen and (max-width: 767px) {
  .vision__ttl {
    font-size: 2.7rem;
    margin-bottom: 80px;
    padding: 6px 0 8px 25px;
    border-left-width: 2px;
  }
}
.vision__ttl span {
  color: var(--color-base);
}

.vision__img {
  margin-right: calc((100vw - var(--inner-def)) / -2 - 20px);
}
@media screen and (max-width: 1240px) {
  .vision__img {
    margin-right: -20px;
  }
}
@media screen and (max-width: 1199px) {
  .vision__img {
    margin-right: -4vw;
  }
}
@media screen and (max-width: 767px) {
  .vision__img {
    width: 90vw;
    margin-left: auto;
    margin-right: -5vw;
  }
}

.about {
  padding: 190px 0 220px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .about {
    padding: 70px 0 110px;
  }
}
.about:before {
  content: "";
  position: absolute;
  top: -17vw;
  left: 0;
  width: 100%;
  height: calc(100% + 17vw);
  background-color: #f5f7fa;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .about:before {
    top: -25vw;
    height: calc(100% + 25vw + 20px);
  }
}
.about .sec-ttl {
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .about .sec-ttl {
    margin-bottom: 25px;
  }
}
.about .sec-ttl + p {
  font-size: 1.6rem;
  line-height: 2.2;
  font-family: "Noto Sans JP Medium";
  margin-bottom: 80px;
}
@media screen and (max-width: 767px) {
  .about .sec-ttl + p {
    font-size: 1.4rem;
    margin-bottom: 45px;
  }
}
@media screen and (max-width: 767px) {
  .about .btn-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
  }
}

.about__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  gap: 50px;
}
@media screen and (max-width: 767px) {
  .about__container {
    display: block;
  }
}

.about__img {
  max-width: 395px;
  position: relative;
}
@media screen and (max-width: 1199px) {
  .about__img {
    max-width: 350px;
  }
}
@media screen and (max-width: 767px) {
  .about__img {
    max-width: 100%;
    margin-top: 45px;
  }
}
.about__img:before {
  content: "About";
  font-size: 19.9rem;
  color: rgb(238, 241, 246);
  line-height: 1;
  letter-spacing: 0.02em;
  font-family: "Lexend Regular";
  position: absolute;
  top: -140px;
  right: 0;
  white-space: nowrap;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .about__img:before {
    font-size: 7.7rem;
    top: auto;
    bottom: -58px;
    right: -5vw;
  }
}

.top-business {
  padding: 110px 0 180px;
  background: -webkit-gradient(
    linear,
    left bottom,
    left top,
    from(#e7e500),
    to(#ff7f00)
  );
  background: linear-gradient(0deg, #e7e500 0%, #ff7f00 100%);
  overflow-x: hidden;
}
@media screen and (max-width: 767px) {
  .top-business {
    padding: 75px 0;
    border-radius: 18px 18px 0 0;
  }
}
.top-business .inner-def {
  position: relative;
}
.top-business .inner-def:before {
  content: "Business";
  font-size: 19.9rem;
  color: rgba(242, 243, 247, 0.06);
  line-height: 1;
  letter-spacing: -0.01em;
  font-family: "Lexend Regular";
  position: absolute;
  top: -90px;
  right: -120px;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .top-business .inner-def:before {
    content: none;
  }
}
.top-business .sec-ttl {
  margin-bottom: 60px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .top-business .sec-ttl {
    margin-bottom: 35px;
  }
}
.top-business .sec-ttl .en,
.top-business .sec-ttl .ja {
  color: #fff;
}
.top-business .btn-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}
@media screen and (max-width: 767px) {
  .top-business .btn-wrap {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
  }
}
.top-business .sec-btn {
  color: #fff;
}
.top-business .sec-btn:before {
  background: url(../images/news_individual/button_right_w.png) no-repeat;
  background-size: contain;
}

.top-business__list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0 13px;
  margin-bottom: 85px;
}
@media screen and (max-width: 991px) {
  .top-business__list {
    display: none;
  }
}

.top-business__slider {
  display: none;
}
@media screen and (max-width: 991px) {
  .top-business__slider {
    display: block;
    margin-bottom: 55px;
  }
}
.top-business__slider .swiper {
  overflow: visible;
}
.top-business__slider .swiper-pagination-progressbar {
  position: relative;
  margin-top: 50px;
  background-color: transparent;
  height: 2px;
  border-bottom: 2px solid #0f1f76;
}
.top-business__slider .swiper-pagination-progressbar-fill {
  background-color: #fff;
  height: 2px;
}

.top-business__item {
  height: 472px;
  border-radius: 10px;
  color: #fff;
  -webkit-box-shadow: -9px 17px 39px rgba(18, 33, 123, 0.7450980392);
  box-shadow: -9px 17px 39px rgba(18, 33, 123, 0.7450980392);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  padding: 25px 30px;
}
@media screen and (max-width: 1199px) {
  .top-business__item {
    padding: 25px;
  }
}
@media screen and (max-width: 767px) {
  .top-business__item {
    height: 445px;
  }
}
.top-business__item.item01 {
  background: url(../images/top/business1@2x.png) no-repeat;
  background-size: cover;
}
.top-business__item.item02 {
  background: url(../images/top/business2@2x.png) no-repeat;
  background-size: cover;
}
.top-business__item.item03 {
  background: url(../images/top/business3@2x.png) no-repeat;
  background-size: cover;
}
.top-business__item.item04 {
  background: url(../images/top/business4@2x.png) no-repeat;
  background-size: cover;
}
.top-business__item .inner {
  height: 32%;
}
@media screen and (max-width: 1199px) {
  .top-business__item .inner {
    height: 40%;
  }
}
@media screen and (max-width: 991px) {
  .top-business__item .inner {
    height: 30%;
  }
}
.top-business__item h4 {
  font-size: 2rem;
  letter-spacing: 0.1em;
  font-family: "Noto Sans JP SemiBold";
  margin-bottom: 20px;
}
.top-business__item p {
  font-size: 1.4rem;
  line-height: 1.9;
  letter-spacing: 0.08em;
}

.instagram {
  padding: 140px 0 180px;
}
@media screen and (max-width: 767px) {
  .instagram {
    padding: 80px 0;
  }
}

.instagram__ttl {
  font-size: 4.1rem;
  letter-spacing: 0.02em;
  font-family: "Lexend Medium";
  margin-bottom: 40px;
  padding-left: 60px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .instagram__ttl {
    font-size: 2.6rem;
    margin-bottom: 15px;
    padding-left: 35px;
  }
}
.instagram__ttl:before {
  content: "";
  background: url(../images/top/top_Instagram1@2x.png) no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 37px;
  height: 37px;
}
@media screen and (max-width: 767px) {
  .instagram__ttl:before {
    width: 24px;
    height: 24px;
  }
}

.instagram__block {
  width: 100%;
  height: 205px;
  background-color: var(--color-base);
  border-radius: 15px;
  padding-left: 63px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 1199px) {
  .instagram__block {
    padding-left: 5vw;
  }
}
@media screen and (max-width: 991px) {
  .instagram__block {
    padding-left: 8vw;
  }
}
@media screen and (max-width: 767px) {
  .instagram__block {
    height: 185px;
    border-radius: 10px;
  }
}
.instagram__block:hover:after {
  background-image: url(../images/news_individual/button_right_b2.png);
}
.instagram__block:before {
  content: "";
  background: url(../images/top/top_Instagram2@2x.png) no-repeat right center;
  background-size: contain;
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 205px;
}
@media screen and (max-width: 991px) {
  .instagram__block:before {
    background: url(../images/top/top_Instagram2_sp@2x.png) no-repeat right
      center;
    background-size: contain;
  }
}
@media screen and (max-width: 767px) {
  .instagram__block:before {
    height: 186px;
  }
}
.instagram__block:after {
  content: "";
  background-image: url(../images/news_individual/button_right_b.png),
    url(../images/news_individual/button_right_b2.png);
  background-repeat: no-repeat;
  background-size: contain, 0;
  position: absolute;
  top: 50%;
  right: 75px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 62px;
  height: 62px;
  -webkit-transition: all 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  transition: all 0.3s cubic-bezier(0.19, 1, 0.22, 1);
}
@media screen and (max-width: 991px) {
  .instagram__block:after {
    right: 50px;
  }
}
@media screen and (max-width: 767px) {
  .instagram__block:after {
    right: 40px;
    width: 40px;
    height: 40px;
  }
}
.instagram__block .content {
  z-index: 1;
}
.instagram__block h4 {
  font-size: 2.3rem;
  color: #fff;
  letter-spacing: 0.05em;
  font-family: "Lexend Regular";
  margin-bottom: 6px;
}
@media screen and (max-width: 767px) {
  .instagram__block h4 {
    font-size: 2rem;
  }
}
.instagram__block p {
  font-size: 1.7rem;
  color: #fff;
  line-height: 1.7;
  font-family: "Noto Sans JP SemiBold";
}
@media screen and (max-width: 767px) {
  .instagram__block p {
    font-size: 1.3rem;
  }
}

.works.top-works {
  position: relative;
}
.works.top-works:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: calc(100% + 300px);
  background-color: #f5f7fa;
  z-index: -1;
}
.works.top-works .inner {
  padding: 160px 0 200px;
  overflow-x: hidden;
}
@media screen and (max-width: 767px) {
  .works.top-works .inner {
    padding: 85px 0;
  }
}
.works.top-works .inner-def {
  position: relative;
}
.works.top-works .inner-def:before {
  content: "Works";
  font-size: 19.9rem;
  color: rgb(238, 241, 246);
  line-height: 1;
  letter-spacing: 0.02em;
  font-family: "Lexend Regular";
  position: absolute;
  top: -90px;
  right: -90px;
  white-space: nowrap;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .works.top-works .inner-def:before {
    font-size: 7.7rem;
    left: calc(5vw + 120px);
    right: auto;
    top: -25px;
  }
}
.works.top-works .sec-ttl {
  margin-bottom: 45px;
}
@media screen and (max-width: 767px) {
  .works.top-works .sec-ttl {
    margin-bottom: 65px;
  }
}
.works.top-works .btn-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}
@media screen and (max-width: 767px) {
  .works.top-works .btn-wrap {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
}
.works.top-works .swiper {
  overflow: visible;
  margin-bottom: 55px;
}
.works.top-works .swiper-button-next {
  left: auto;
  right: 0;
}
.works.top-works .swiper-button-next:hover:after {
  background-image: url(../images/news_individual/button_right_b2.png);
}
.works.top-works .swiper-button-next:after {
  background-image: url(../images/top/next_arrow.png),
    url(../images/news_individual/button_right_b2.png);
}
.works.top-works .swiper-button-prev {
  left: auto;
  right: 78px;
}
@media screen and (max-width: 767px) {
  .works.top-works .swiper-button-prev {
    right: 48px;
  }
}
.works.top-works .swiper-button-prev:hover:after {
  background-image: url(../images/news_individual/button_left_b2.png);
}
.works.top-works .swiper-button-prev:after {
  background-image: url(../images/top/prev_arrow.png),
    url(../images/news_individual/button_left_b2.png);
}
.works.top-works .swiper-button-next,
.works.top-works .swiper-button-prev {
  width: 62px;
  height: 62px;
  top: -100px;
  border-radius: 50%;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .works.top-works .swiper-button-next,
  .works.top-works .swiper-button-prev {
    width: 39px;
    height: 39px;
    top: -40px;
  }
}
.works.top-works .swiper-button-next:after,
.works.top-works .swiper-button-prev:after {
  content: "";
  background-repeat: no-repeat;
  background-size: contain, 0;
  -webkit-transition: all 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  transition: all 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  width: 100%;
  height: 100%;
}
.works.top-works .page-num {
  position: absolute;
  top: -103px;
  right: 175px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 35px;
}
@media screen and (max-width: 767px) {
  .works.top-works .page-num {
    top: -54px;
    right: 105px;
    gap: 26px;
  }
}
.works.top-works .page-num:before {
  content: "";
  position: absolute;
  top: 55%;
  left: 49%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 14px;
  height: 1.5px;
  background-color: #161826;
}
@media screen and (max-width: 767px) {
  .works.top-works .page-num:before {
    width: 10px;
  }
}
.works.top-works .page-num span {
  font-size: 1.7rem;
  letter-spacing: 0.05em;
  font-family: "ZenKakuGothicNew Bold";
}
@media screen and (max-width: 767px) {
  .works.top-works .page-num span {
    font-size: 1.4rem;
  }
}

.works__item {
  -webkit-transition: none;
  transition: none;
}

.works__item:hover .works__img img {
  -webkit-transform: scale(1.05) !important;
  transform: scale(1.05) !important;
}

.works__item.is-invasion .works__img img {
  -webkit-transform: scale(1);
  transform: scale(1);
}

.works__img {
  overflow: hidden;
  border-radius: 15px 15px 0 0;
}
.works__img img {
  height: 238px;
  -o-object-fit: cover;
  object-fit: cover;
  -webkit-transition: 0.5s cubic-bezier(0.43, 0.05, 0.17, 1);
  transition: 0.5s cubic-bezier(0.43, 0.05, 0.17, 1);
}
@media screen and (max-width: 1199px) {
  .works__img img {
    height: 19vw;
  }
}
@media screen and (max-width: 991px) {
  .works__img img {
    height: 28vw;
  }
}
@media screen and (max-width: 767px) {
  .works__img img {
    height: 42vw;
    border-radius: 10px 10px 0 0;
  }
}
@media screen and (max-width: 575px) {
  .works__img img {
    height: 60vw;
  }
}

.works__content {
  background-color: #fff;
  padding: 23px 25px;
  border-radius: 0 0 10px 10px;
  height: 160px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .works__content {
    padding: 20px 23px;
    height: 135px;
  }
}
.works__content .cat-tag {
  min-width: auto;
  margin-bottom: 8px;
  font-size: 1.1rem;
  border-radius: 3px;
}
.works__content .ttl {
  font-size: 1.8rem;
  line-height: 1.5;
  letter-spacing: 0.08em;
  font-family: "Noto Sans JP Medium";
}
@media screen and (max-width: 767px) {
  .works__content .ttl {
    font-size: 1.5rem;
  }
}

.works__btn {
  display: block;
  font-size: 1.5rem;
  color: #fff;
  line-height: 56px;
  text-align: center;
  font-family: "Noto Sans JP Medium";
  background-color: var(--color-base);
  border: 1px solid var(--color-base);
  border-radius: 31px;
  max-width: 220px;
  width: 100%;
  height: 58px;
  padding-right: 30px;
  position: relative;
  -webkit-transition: all 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  transition: all 0.3s cubic-bezier(0.19, 1, 0.22, 1);
}
@media screen and (max-width: 767px) {
  .works__btn {
    font-size: 1.3rem;
    line-height: 46px;
    max-width: 210px;
    height: 48px;
  }
}
.works__btn:hover {
  color: var(--color-base);
  background-color: #fff;
}
.works__btn:hover:before {
  border-color: var(--color-base);
}
.works__btn:hover:after {
  background-color: var(--color-base);
}
.works__btn:before {
  content: "";
  border: 1.5px solid #fff;
  border-left: 0;
  border-bottom: 0;
  position: absolute;
  top: 50%;
  right: 30px;
  -webkit-transform: translateY(-50%) rotate(45deg);
  transform: translateY(-50%) rotate(45deg);
  width: 8px;
  height: 8px;
  -webkit-transition: all 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  transition: all 0.3s cubic-bezier(0.19, 1, 0.22, 1);
}
@media screen and (max-width: 767px) {
  .works__btn:before {
    right: 30px;
    width: 7px;
    height: 7px;
  }
}
.works__btn:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 30px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 14px;
  height: 1.5px;
  background: #fff;
  -webkit-transition: all 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  transition: all 0.3s cubic-bezier(0.19, 1, 0.22, 1);
}
@media screen and (max-width: 767px) {
  .works__btn:after {
    right: 30px;
    width: 12px;
  }
}

.recruit {
  padding: 0 30px;
}
@media screen and (max-width: 767px) {
  .recruit {
    padding: 0 3vw;
  }
}
.recruit .sec-ttl {
  margin-bottom: 35px;
}
@media screen and (max-width: 767px) {
  .recruit .sec-ttl {
    margin-bottom: 20px;
  }
}
.recruit .sec-ttl .en,
.recruit .sec-ttl .ja {
  color: #fff;
}
@media screen and (max-width: 767px) {
  .recruit .btn-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
  }
}
.recruit .sec-btn {
  color: #fff;
}
.recruit .sec-btn:before {
  background: url(../images/news_individual/button_right_w.png) no-repeat;
  background-size: contain;
}

.recruit__container {
  height: 605px;
  border-radius: 15px;
  background: -webkit-gradient(
    linear,
    left top,
    left bottom,
    color-stop(49%, rgba(235, 215, 0, 0.97)),
    color-stop(67%, rgba(255, 180, 0, 0.95)),
    to(rgba(255, 127, 0, 0.93))
  );
  background: linear-gradient(
    to bottom,
    #e7e500 0%,
    rgba(235, 215, 0, 0.97) 49%,
    rgba(255, 180, 0, 0.95) 67%,
    rgba(255, 127, 0, 0.93) 100%
  );
  padding: 60px 85px;
  color: #fff;
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 1199px) {
  .recruit__container {
    padding: 60px 5vw;
  }
}
@media screen and (max-width: 991px) {
  .recruit__container {
    display: block;
    height: auto;
    padding: 60px 8vw;
  }
}
@media screen and (max-width: 767px) {
  .recruit__container {
    border-radius: 20px;
    padding: 45px 8vw 50px;
  }
}
.recruit__container:before {
  content: "";
  background: url(../images/top/recruit_logo.png) no-repeat;
  background-size: contain;
  position: absolute;
  left: 50%;
  bottom: -20px;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  width: 2000px;
  height: 113px;
}
@media screen and (max-width: 991px) {
  .recruit__container:before {
    left: auto;
    right: -960px;
    top: 50%;
    bottom: auto;
    -webkit-transform: translateY(-50%) rotate(-90deg);
    transform: translateY(-50%) rotate(-90deg);
  }
}
@media screen and (max-width: 767px) {
  .recruit__container:before {
    right: -480px;
    width: 1000px;
    height: 57px;
  }
}
.recruit__container > .inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
  gap: 50px;
  max-width: 1200px;
  width: 100%;
  height: 100%;
  margin: 0 auto;
}
@media screen and (max-width: 991px) {
  .recruit__container > .inner {
    display: block;
  }
}

.recruit__content {
  padding-bottom: 30px;
}
@media screen and (max-width: 991px) {
  .recruit__content {
    padding-bottom: 0;
  }
}
.recruit__content h3 {
  font-size: 2.8rem;
  line-height: 1.75;
  letter-spacing: 0.18em;
  font-family: "Noto Sans JP Bold";
  white-space: nowrap;
  margin-bottom: 60px;
}
@media screen and (max-width: 1199px) {
  .recruit__content h3 {
    font-size: 2.5rem;
  }
}
@media screen and (max-width: 767px) {
  .recruit__content h3 {
    font-size: 1.7rem;
    margin-bottom: 28px;
  }
}

.recruit__imgs {
  max-width: 560px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0 35px;
  position: relative;
}
@media screen and (max-width: 1199px) {
  .recruit__imgs {
    gap: 0 2.5vw;
  }
}
@media screen and (max-width: 991px) {
  .recruit__imgs {
    max-width: 100%;
    margin-bottom: 50px;
    gap: 3vw;
  }
}
@media screen and (max-width: 767px) {
  .recruit__imgs {
    margin-bottom: 35px;
  }
}
.recruit__imgs img {
  -webkit-box-shadow: 0px 7px 26px rgba(0, 0, 0, 0.1607843137);
  box-shadow: 0px 7px 26px rgba(0, 0, 0, 0.1607843137);
  border-radius: 15px;
}
.recruit__imgs img:nth-child(1) {
  margin-top: 60px;
}
@media screen and (max-width: 1199px) {
  .recruit__imgs img:nth-child(1) {
    margin-top: 5.5vw;
  }
}
@media screen and (max-width: 991px) {
  .recruit__imgs img:nth-child(1) {
    margin-top: 11vw;
  }
}
.recruit__imgs img:nth-child(2) {
  margin-top: -15px;
}
@media screen and (max-width: 1199px) {
  .recruit__imgs img:nth-child(2) {
    margin-top: -1.5vw;
  }
}
@media screen and (max-width: 991px) {
  .recruit__imgs img:nth-child(2) {
    margin-top: 0;
  }
}
.recruit__imgs img:nth-child(3) {
  margin-top: 30px;
}
@media screen and (max-width: 1199px) {
  .recruit__imgs img:nth-child(3) {
    margin-top: 2.5vw;
  }
}
@media screen and (max-width: 991px) {
  .recruit__imgs img:nth-child(3) {
    margin-top: 7vw;
  }
}

.news.top-news {
  padding: 240px 0 300px;
  overflow-x: hidden;
}
@media screen and (max-width: 767px) {
  .news.top-news {
    padding: 90px 0 130px;
  }
}
.news.top-news .inner-def {
  position: relative;
}
.news.top-news .inner-def:before {
  content: "News";
  font-size: 19.9rem;
  color: rgba(238, 241, 246, 0.68);
  line-height: 1;
  letter-spacing: 0.02em;
  font-family: "Lexend Regular";
  position: absolute;
  top: -175px;
  right: -90px;
  white-space: nowrap;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .news.top-news .inner-def:before {
    font-size: 7.7rem;
    top: -20px;
    left: calc(5vw + 145px);
    right: auto;
  }
}
.news.top-news .sec-ttl {
  padding-right: 115px;
}
@media screen and (max-width: 1199px) {
  .news.top-news .sec-ttl {
    padding-right: 9vw;
  }
}
@media screen and (max-width: 991px) {
  .news.top-news .sec-ttl {
    margin-bottom: 60px;
    padding-right: 0;
  }
}
@media screen and (max-width: 767px) {
  .news.top-news .sec-ttl {
    margin-bottom: 45px;
  }
}
.news.top-news .btn-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}
.news.top-news .sec-btn {
  color: var(--color-base);
}
.news.top-news .news-article__list {
  margin-bottom: 60px;
}
@media screen and (max-width: 767px) {
  .news.top-news .news-article__list {
    margin-bottom: 55px;
  }
}
.news.top-news .news-article__item {
  padding: 35px 50px;
}
@media screen and (max-width: 1199px) {
  .news.top-news .news-article__item {
    padding: 35px 4vw;
  }
}
@media screen and (max-width: 767px) {
  .news.top-news .news-article__item {
    padding: 20px 4vw;
  }
}
.news.top-news .news-article__item:hover .ttl {
  color: var(--color-base);
}
.news.top-news .news-article__content {
  padding-left: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 55px;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .news.top-news .news-article__content {
    display: block;
  }
}
.news.top-news .news-article__content:after {
  content: none;
}
.news.top-news .news-article__content .ttl {
  width: 100%;
  font-size: 1.6rem;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}
@media screen and (max-width: 767px) {
  .news.top-news .news-article__content .ttl {
    font-size: 1.5rem;
  }
}
.news.top-news .news-article__details {
  margin-bottom: 0;
  gap: 40px;
}
@media screen and (max-width: 767px) {
  .news.top-news .news-article__details {
    margin-bottom: 4px;
    gap: 15px;
  }
}
.news.top-news .news-article__details .date {
  font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
  .news.top-news .news-article__details .date {
    font-size: 1.3rem;
  }
}

.top-news__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 991px) {
  .top-news__container {
    display: block;
  }
}

/*--------------------------------
	新着情報ページ
--------------------------------*/
.news {
  padding: 160px 0 280px;
}
@media screen and (max-width: 767px) {
  .news {
    padding: 55px 0 140px;
  }
}
.news .inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
}
@media screen and (max-width: 991px) {
  .news .inner {
    display: block;
  }
}

.category-aside {
  width: 220px;
  height: -webkit-max-content;
  height: -moz-max-content;
  height: max-content;
  padding: 0 15px;
  position: sticky;
  top: 110px;
  left: 0;
}
@media screen and (max-width: 991px) {
  .category-aside {
    width: auto;
    height: auto;
    position: static;
    margin-bottom: 50px;
    padding: 0;
  }
}
.category-aside h4 {
  font-size: 1.7rem;
  font-family: "Noto Sans JP SemiBold";
  margin-bottom: 30px;
  position: relative;
}
@media screen and (max-width: 991px) {
  .category-aside h4 {
    font-size: 1.6rem;
    margin-left: 16px;
    margin-bottom: 25px;
  }
}
.category-aside h4:before {
  content: "";
  position: absolute;
  top: 50%;
  left: -18px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 4px;
  height: 27px;
  background-color: #303f98;
}
@media screen and (max-width: 767px) {
  .category-aside h4:before {
    left: -15px;
    width: 3px;
  }
}
.category-aside select::-ms-expand {
  display: none;
}

.category-aside__list {
  font-family: "Noto Sans JP SemiBold";
}
@media screen and (max-width: 991px) {
  .category-aside__list {
    display: none;
  }
}
.category-aside__list li:not(:last-child) {
  margin-bottom: 20px;
}
.category-aside__list li a {
  font-size: 1.4rem;
  color: #b4b4b4;
  white-space: nowrap;
}
.category-aside__list li a.current {
  color: var(--color-base);
}

.category-aside__select {
  display: none;
}
@media screen and (max-width: 991px) {
  .category-aside__select {
    display: block;
    font-size: 1.3rem;
    color: #fff;
    letter-spacing: 0.1em;
    background-color: var(--color-base);
    width: 220px;
    height: 42px;
    padding-left: 30px;
    border-radius: 30px;
    cursor: pointer;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-image: url(../images/news/arrow_bottm.png);
    background-position: right 25px center;
    background-repeat: no-repeat;
    background-size: 12px 7px;
  }
}

.news-article {
  width: calc(100% - 220px);
}
@media screen and (max-width: 991px) {
  .news-article {
    width: 100%;
  }
}

.news-article__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 35px 40px;
  position: relative;
  -webkit-transition: none;
  transition: none;
}
@media screen and (max-width: 767px) {
  .news-article__item {
    padding: 30px 0;
  }
}
.news-article__item:hover .news-article__content:after {
  -webkit-transform: translate(10px, -50%);
  transform: translate(10px, -50%);
}
.news-article__item:first-child:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: calc(100% + (100vw - var(--inner-def)) / 2 + 20px);
  height: 0.5px;
  background-color: #bababa;
}
@media screen and (max-width: 1240px) {
  .news-article__item:first-child:before {
    width: calc(100% + 20px);
  }
}
@media screen and (max-width: 1199px) {
  .news-article__item:first-child:before {
    width: calc(100% + 4vw);
  }
}
@media screen and (max-width: 767px) {
  .news-article__item:first-child:before {
    width: calc(100% + 5vw);
  }
}
.news-article__item:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: calc(100% + (100vw - var(--inner-def)) / 2 + 20px);
  height: 0.5px;
  background-color: #bababa;
}
@media screen and (max-width: 1240px) {
  .news-article__item:after {
    width: calc(100% + 20px);
  }
}
@media screen and (max-width: 1199px) {
  .news-article__item:after {
    width: calc(100% + 4vw);
  }
}
@media screen and (max-width: 767px) {
  .news-article__item:after {
    width: calc(100% + 5vw);
  }
}

.news-article__img {
  width: 180px;
}
@media screen and (max-width: 767px) {
  .news-article__img {
    width: 105px;
  }
}
.news-article__img img {
  height: 128px;
  -o-object-fit: cover;
  object-fit: cover;
  border-radius: 5px;
}
@media screen and (max-width: 767px) {
  .news-article__img img {
    height: 75px;
  }
}

.news-article__content {
  width: calc(100% - 180px);
  padding-left: 50px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .news-article__content {
    width: calc(100% - 105px);
    padding-left: 30px;
  }
}
.news-article__content .ttl {
  font-size: 1.7rem;
  line-height: 1.7;
  font-family: "Noto Sans JP SemiBold";
  max-width: 550px;
  width: 90%;
}
@media screen and (max-width: 767px) {
  .news-article__content .ttl {
    font-size: 1.5rem;
    max-width: 100%;
    width: 100%;
  }
}
.news-article__content:after {
  content: "";
  background: url(../images/news/button@2x.png) no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  right: -42px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 42px;
  height: 42px;
  -webkit-transition: 0.3s cubic-bezier(0.4, 0.4, 0, 1);
  transition: 0.3s cubic-bezier(0.4, 0.4, 0, 1);
}
@media screen and (max-width: 767px) {
  .news-article__content:after {
    content: none;
  }
}

.news-article__details {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 20px;
  margin-bottom: 12px;
}
@media screen and (max-width: 767px) {
  .news-article__details {
    gap: 15px;
    margin-bottom: 4px;
  }
}
.news-article__details .date {
  font-size: 1.5rem;
  color: var(--color-base);
  letter-spacing: 0.03em;
  font-family: "Lexend SemiBold";
}
@media screen and (max-width: 767px) {
  .news-article__details .date {
    font-size: 1.3rem;
  }
}

/*--------------------------------
	新着情報個別ページ
--------------------------------*/
.news-post {
  padding: 165px 0;
}
@media screen and (max-width: 767px) {
  .news-post {
    padding: 150px 0 70px;
  }
}

.news-post__container {
  border-bottom: 0.5px solid #bababa;
  -webkit-transform: translateY(30px);
  transform: translateY(30px);
  opacity: 0;
}
.news-post__container .inner {
  max-width: 800px;
  width: 100%;
  margin: 0 auto;
}

.news-post__header {
  margin-bottom: 50px;
}

.news-post__details {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 20px;
  margin-bottom: 12px;
}
.news-post__details .date {
  font-size: 1.6rem;
  color: var(--color-base);
  letter-spacing: 0.03em;
  font-family: "Lexend SemiBold";
}
@media screen and (max-width: 767px) {
  .news-post__details .cat-tag {
    min-width: 96px;
    font-size: 1.3rem;
  }
}

.news-post__ttl {
  font-size: 2.7rem;
  line-height: 1.5;
  letter-spacing: 0.1em;
  font-family: "Noto Sans JP SemiBold";
}
@media screen and (max-width: 767px) {
  .news-post__ttl {
    font-size: 2rem;
  }
}

.news-post__body {
  padding-bottom: 125px;
}
@media screen and (max-width: 767px) {
  .news-post__body {
    padding-bottom: 95px;
  }
}

.news-post__catch {
  margin-bottom: 70px;
}
@media screen and (max-width: 767px) {
  .news-post__catch {
    margin-bottom: 45px;
  }
}
.news-post__catch img {
  max-height: 600px;
  -o-object-fit: contain;
  object-fit: contain;
}

.news-post__content p {
  font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
  .news-post__content p {
    font-size: 1.5rem;
  }
}
.news-post__content img {
  width: auto;
  display: block;
}
.news-post__content .aligncenter {
  margin-left: auto;
  margin-right: auto;
}
.news-post__content .alignright {
  margin-left: auto;
}

.page-nav {
  max-width: 800px;
  width: 100%;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  .page-nav {
    margin-top: 60px;
  }
}
.page-nav .prev-btn,
.page-nav .next-btn {
  width: 100px;
}
@media screen and (max-width: 767px) {
  .page-nav .prev-btn,
  .page-nav .next-btn {
    width: 80px;
  }
}
.page-nav .prev-btn a,
.page-nav .next-btn a {
  position: relative;
  white-space: nowrap;
}
.page-nav .prev-btn a:before,
.page-nav .next-btn a:before {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 44px;
  height: 44px;
  -webkit-transition: 0.3s cubic-bezier(0.4, 0.4, 0, 1);
  transition: 0.3s cubic-bezier(0.4, 0.4, 0, 1);
}
@media screen and (max-width: 767px) {
  .page-nav .prev-btn a:before,
  .page-nav .next-btn a:before {
    width: 38px;
    height: 38px;
  }
}
.page-nav .prev-btn a {
  padding-left: 65px;
}
@media screen and (max-width: 767px) {
  .page-nav .prev-btn a {
    padding-left: 50px;
  }
}
.page-nav .prev-btn a:hover:before {
  -webkit-transform: translate(-10px, -50%);
  transform: translate(-10px, -50%);
}
.page-nav .prev-btn a:before {
  content: "";
  background: url(../images/news_individual/button_left@2x.png) no-repeat;
  background-size: contain;
  left: 0;
}
.page-nav .next-btn a {
  padding-right: 65px;
}
@media screen and (max-width: 767px) {
  .page-nav .next-btn a {
    padding-right: 50px;
  }
}
.page-nav .next-btn a:hover:before {
  -webkit-transform: translate(10px, -50%);
  transform: translate(10px, -50%);
}
.page-nav .next-btn a:before {
  content: "";
  background: url(../images/news_individual/button_right@2x.png) no-repeat;
  background-size: contain;
  right: 0;
}
.page-nav a {
  font-size: 1.5rem;
  color: var(--color-base);
  font-family: "Noto Sans JP SemiBold";
}
@media screen and (max-width: 767px) {
  .page-nav a {
    font-size: 1.3rem;
  }
}

.other-news {
  padding: 100px 0 300px;
}
@media screen and (max-width: 767px) {
  .other-news {
    padding: 60px 0 150px;
  }
}
.other-news .sec-ttl {
  text-align: center;
  margin-bottom: 75px;
}
@media screen and (max-width: 767px) {
  .other-news .sec-ttl {
    margin-bottom: 45px;
  }
}
.other-news .news-article {
  width: 100%;
}
.other-news .news-article__item:before,
.other-news .news-article__item:after {
  width: 100%;
}
.other-news .news-article__content {
  max-width: 750px;
}

/* ページネーション */
.pagination {
  padding-top: 80px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-top: 0.5px solid #bababa;
}
@media screen and (max-width: 767px) {
  .pagination {
    margin-top: 70px;
    padding-top: 45px;
  }
}

.page-numbers {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 32px;
}
@media screen and (max-width: 767px) {
  .page-numbers {
    gap: 25px;
  }
}
.page-numbers .page-numbers {
  position: relative;
}
.page-numbers .page-numbers:not(.prev):not(.next) {
  font-size: 2.4rem;
  color: var(--color-base);
  font-family: "Lexend SemiBold";
}
@media screen and (max-width: 767px) {
  .page-numbers .page-numbers:not(.prev):not(.next) {
    font-size: 2.1rem;
  }
}
.page-numbers .page-numbers.current:after {
  content: "";
  position: absolute;
  bottom: -5px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  width: 19px;
  height: 2px;
  background-color: var(--color-base);
}
@media screen and (max-width: 767px) {
  .page-numbers .page-numbers.current:after {
    width: 15px;
  }
}
.page-numbers .page-numbers.next:before,
.page-numbers .page-numbers.prev:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 19px;
  height: 15px;
}
@media screen and (max-width: 767px) {
  .page-numbers .page-numbers.next:before,
  .page-numbers .page-numbers.prev:before {
    width: 17px;
    height: 13px;
  }
}
.page-numbers .page-numbers.next {
  margin-left: 30px;
}
@media screen and (max-width: 767px) {
  .page-numbers .page-numbers.next {
    margin-left: 20px;
  }
}
.page-numbers .page-numbers.next:before {
  background: url(../images/news/arrow_next.png) no-repeat;
  background-size: contain;
}
.page-numbers .page-numbers.prev {
  margin-right: 30px;
}
@media screen and (max-width: 767px) {
  .page-numbers .page-numbers.prev {
    margin-right: 20px;
  }
}
.page-numbers .page-numbers.prev:before {
  background: url(../images/news/arrow_prev.png) no-repeat;
  background-size: contain;
}

/*--------------------------------
	会社概要ページ
--------------------------------*/
.page-id-12 .sec-ttl .en {
  font-size: 5.5rem;
}
@media screen and (max-width: 767px) {
  .page-id-12 .sec-ttl .en {
    font-size: 4.7rem;
  }
}
.page-id-12 .sec-ttl .ja {
  font-size: 1.5rem;
}
@media screen and (max-width: 767px) {
  .page-id-12 .sec-ttl .ja {
    font-size: 1.3rem;
  }
}
.page-id-12 .vision {
  background-color: #f5f7fa;
}
.page-id-12 .vision .inner-def:before {
  color: #eef1f6;
  z-index: 1;
}
.page-id-12 .vision .sec-ttl {
  position: relative;
  z-index: 2;
}
.page-id-12 .vision__ttl {
  margin-bottom: 170px;
}
@media screen and (max-width: 767px) {
  .page-id-12 .vision__ttl {
    margin-bottom: 50px;
  }
}

.about-nav {
  max-width: 1280px;
  width: 100%;
  margin: 140px auto 0;
  padding: 0 10px;
}
@media screen and (max-width: 767px) {
  .about-nav {
    margin-top: 70px;
  }
}
.about-nav .inner {
  background-color: #f5f7fa;
  border-radius: 15px;
  padding: 30px 0;
}
@media screen and (max-width: 767px) {
  .about-nav .inner {
    padding: 0;
    background: transparent;
  }
}
.about-nav ul {
  display: grid;
  grid-template-columns: repeat(9, 125px);
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
@media screen and (max-width: 1199px) {
  .about-nav ul {
    grid-template-columns: repeat(9, 10.6vw);
  }
}
@media screen and (max-width: 767px) {
  .about-nav ul {
    grid-template-columns: repeat(3, 100px);
    gap: 16px 15px;
  }
}
.about-nav ul li {
  border-right: 2px solid rgba(21, 38, 139, 0.2);
}
.about-nav ul li:last-child {
  border-right: none;
}
@media screen and (max-width: 767px) {
  .about-nav ul li {
    border-right: none;
  }
}
.about-nav ul li a {
  display: block;
  font-size: 1.5rem;
  color: var(--color-base);
  letter-spacing: 0.06em;
  font-family: "Noto Sans JP Medium";
  text-align: center;
  padding-bottom: 15px;
  white-space: nowrap;
  position: relative;
}
@media screen and (max-width: 1199px) {
  .about-nav ul li a {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 991px) {
  .about-nav ul li a {
    font-size: 1.3rem;
    padding-bottom: 13px;
  }
}
@media screen and (max-width: 767px) {
  .about-nav ul li a {
    background-color: #f5f7fa;
    border-radius: 5px;
    padding-top: 10px;
    padding-bottom: 18px;
  }
}
.about-nav ul li a:after {
  content: "";
  background: url(../images/about/arrow_bottom.png) no-repeat;
  background-size: contain;
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  width: 12px;
  height: 6px;
}
@media screen and (max-width: 991px) {
  .about-nav ul li a:after {
    width: 10px;
    height: 5px;
  }
}
@media screen and (max-width: 767px) {
  .about-nav ul li a:after {
    bottom: 8px;
  }
}

.philosophy {
  padding: 210px 0 140px;
}
@media screen and (max-width: 767px) {
  .philosophy {
    padding: 75px 0 45px;
  }
}
.philosophy .sec-ttl {
  margin-bottom: 45px;
}

.philosophy__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 145px;
}
@media screen and (max-width: 767px) {
  .philosophy__header {
    display: block;
    margin-bottom: 85px;
  }
}

.philosophy__ttl {
  font-size: 5.6rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
  font-family: "ShipporiMincho Regular";
  white-space: nowrap;
  margin-top: 60px;
}
@media screen and (max-width: 1199px) {
  .philosophy__ttl {
    margin-top: 4.5vw;
  }
}
@media screen and (max-width: 991px) {
  .philosophy__ttl {
    font-size: 4.5rem;
  }
}
@media screen and (max-width: 767px) {
  .philosophy__ttl {
    font-size: 2.7rem;
    margin-top: 0;
    margin-bottom: 50px;
  }
}
.philosophy__ttl .small {
  font-size: 3.1rem;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 991px) {
  .philosophy__ttl .small {
    font-size: 2.5rem;
  }
}
@media screen and (max-width: 767px) {
  .philosophy__ttl .small {
    font-size: 2.7rem;
  }
}
.philosophy__ttl .bottom {
  margin-left: 44px;
}
@media screen and (max-width: 991px) {
  .philosophy__ttl .bottom {
    margin-left: 36px;
  }
}

.philosophy__img {
  margin-left: -190px;
  margin-right: calc((100vw - var(--inner-def)) / -2 - 20px);
  z-index: -1;
}
@media screen and (max-width: 1240px) {
  .philosophy__img {
    margin-right: -20px;
  }
}
@media screen and (max-width: 1199px) {
  .philosophy__img {
    margin-right: -4vw;
  }
}
@media screen and (max-width: 767px) {
  .philosophy__img {
    width: 92vw;
    margin-left: auto;
    margin-right: -5vw;
  }
}

.three-goals h3 {
  font-size: 2.9rem;
  color: var(--color-base);
  letter-spacing: 0.1em;
  font-family: "Noto Sans JP SemiBold";
  margin-bottom: 45px;
}
@media screen and (max-width: 767px) {
  .three-goals h3 {
    font-size: 2rem;
    text-align: center;
    margin-bottom: 25px;
  }
}

.three-goals__block {
  height: 176px;
  background-color: var(--color-base);
  border-radius: 15px;
  color: #fff;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-bottom: 60px;
  padding: 30px 15px;
}
@media screen and (max-width: 767px) {
  .three-goals__block {
    height: auto;
    display: block;
    border-radius: 10px;
    margin-bottom: 40px;
    padding: 0 5vw;
  }
}
.three-goals__block h4 {
  font-size: 2.2rem;
  font-family: "Noto Sans JP Medium";
  line-height: 1.4;
  letter-spacing: 0.1em;
  text-align: center;
  white-space: nowrap;
  position: relative;
}
@media screen and (max-width: 991px) {
  .three-goals__block h4 {
    font-size: 1.8rem;
  }
}

.three-goals__item {
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
}
@media screen and (max-width: 767px) {
  .three-goals__item {
    padding: 30px 0;
    border-top: 0.5px solid rgba(255, 255, 255, 0.8);
  }
}
.three-goals__item:after {
  position: absolute;
  top: 50%;
  right: 42px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  font-size: 9.6rem;
  color: rgba(255, 255, 255, 0.1);
  line-height: 1;
  letter-spacing: 0.03em;
  font-family: "Lexend Regular";
}
@media screen and (max-width: 1199px) {
  .three-goals__item:after {
    right: 15px;
  }
}
@media screen and (max-width: 991px) {
  .three-goals__item:after {
    font-size: 8rem;
  }
}
@media screen and (max-width: 767px) {
  .three-goals__item:after {
    top: 65%;
    font-size: 6rem;
  }
}
@media screen and (max-width: 767px) {
  .three-goals__item:nth-child(1) {
    border-top: none;
  }
}
.three-goals__item:nth-child(1):after {
  content: "01";
}
.three-goals__item:nth-child(2):after {
  content: "02";
}
.three-goals__item:nth-child(3):after {
  content: "03";
}
.three-goals__item:not(:last-child) {
  border-right: 0.7px solid rgba(255, 255, 255, 0.8);
}
@media screen and (max-width: 767px) {
  .three-goals__item:not(:last-child) {
    border-right: none;
  }
}

.three-goals__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
  gap: 80px;
}
@media screen and (max-width: 1199px) {
  .three-goals__content {
    gap: 6.5vw;
  }
}
@media screen and (max-width: 767px) {
  .three-goals__content {
    display: block;
  }
}

.three-goals__txt {
  width: 55%;
}
@media screen and (max-width: 767px) {
  .three-goals__txt {
    width: 100%;
    margin-bottom: 40px;
  }
}
.three-goals__txt p {
  font-size: 1.5rem;
  line-height: 2.2;
}
@media screen and (max-width: 991px) {
  .three-goals__txt p {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 767px) {
  .three-goals__txt p {
    line-height: 2;
  }
}

.three-goals__img {
  width: 45%;
}
@media screen and (max-width: 767px) {
  .three-goals__img {
    width: 100%;
  }
}

.vision {
  padding: 150px 0 180px;
  overflow-x: hidden;
}
@media screen and (max-width: 767px) {
  .vision {
    padding: 80px 0;
  }
}
.vision .inner-def {
  position: relative;
}
.vision .inner-def:before {
  content: "Vision";
  font-size: 19.9rem;
  color: rgba(238, 241, 246, 0.68);
  line-height: 1;
  letter-spacing: 0.02em;
  font-family: "Lexend Regular";
  position: absolute;
  top: -80px;
  right: -90px;
  white-space: nowrap;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .vision .inner-def:before {
    font-size: 7.7rem;
    top: -44px;
    left: 50%;
    right: auto;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
  }
}
.vision .sec-ttl {
  margin-bottom: 100px;
}
@media screen and (max-width: 767px) {
  .vision .sec-ttl {
    margin-bottom: 40px;
    text-align: center;
  }
}

.message .sec-ttl {
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .message .sec-ttl {
    margin-bottom: 35px;
  }
}
@media screen and (max-width: 767px) {
  .message .sec-ttl .en {
    font-size: 3.5rem;
  }
}
@media screen and (max-width: 767px) {
  .message .sec-ttl .ja {
    font-size: 1.2rem;
  }
}

.message__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
  gap: 120px;
}
@media screen and (max-width: 1199px) {
  .message__container {
    gap: 8vw;
  }
}
@media screen and (max-width: 767px) {
  .message__container {
    display: block;
  }
}
.message__container .ceo {
  margin-top: 30px;
  font-size: 1.6rem;
  line-height: 1.7;
  text-align: right;
  font-family: "Noto Sans JP Medium";
}
@media screen and (max-width: 767px) {
  .message__container .ceo {
    font-size: 1.4rem;
    text-align: left;
  }
}

.message__img {
  width: 36%;
  margin-top: -90px;
}
@media screen and (max-width: 767px) {
  .message__img {
    max-width: 350px;
    width: 100%;
    margin: 0 auto 35px;
  }
}
@media screen and (max-width: 575px) {
  .message__img {
    max-width: 180px;
  }
}

.message__txt {
  width: 64%;
}
@media screen and (max-width: 767px) {
  .message__txt {
    width: 100%;
  }
}
.message__txt p {
  font-size: 1.5rem;
}
@media screen and (max-width: 991px) {
  .message__txt p {
    font-size: 1.4rem;
  }
}

.credo {
  padding: 170px 0 200px;
  background-color: #2b3441;
  border-radius: 30px 30px 0 0;
  position: relative;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .credo {
    padding: 70px 0;
    border-radius: 20px 20px 0 0;
  }
}
.credo:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 30px;
  background-color: #f5f7fa;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .credo:before {
    height: 20px;
  }
}
.credo:after {
  content: "";
  background: url(../images/about/credo2.png) repeat-y;
  background-size: contain;
  position: absolute;
  top: 0;
  right: 0;
  width: 145px;
  height: 100%;
}
@media screen and (max-width: 767px) {
  .credo:after {
    width: 70px;
  }
}
.credo .sec-inner {
  position: relative;
  z-index: 1;
}
.credo .sec-ttl {
  margin-bottom: 80px;
}
@media screen and (max-width: 767px) {
  .credo .sec-ttl {
    margin-bottom: 40px;
  }
}
.credo .sec-ttl .ja {
  color: #fff;
}

.credo__list {
  max-width: 980px;
}
.credo__list dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .credo__list dl {
    display: block;
  }
}
.credo__list dl:not(:last-child) {
  margin-bottom: 100px;
}
@media screen and (max-width: 767px) {
  .credo__list dl:not(:last-child) {
    margin-bottom: 30px;
  }
}
.credo__list dl dt {
  min-width: 160px;
  font-size: 6.4rem;
  line-height: 1;
  letter-spacing: 0.05em;
  font-family: "Lexend Regular";
}
@media screen and (max-width: 991px) {
  .credo__list dl dt {
    min-width: 150px;
  }
}
@media screen and (max-width: 767px) {
  .credo__list dl dt {
    font-size: 3.1rem;
    margin-bottom: 17px;
    padding-bottom: 10px;
    border-bottom: 0.5px solid rgba(255, 255, 255, 0.7);
  }
}
.credo__list dl dd {
  padding-left: 60px;
  border-left: 0.7px solid rgba(255, 255, 255, 0.7);
}
@media screen and (max-width: 767px) {
  .credo__list dl dd {
    padding-left: 0;
    border-left: none;
  }
}
.credo__list dl dd h4 {
  font-size: 2.2rem;
  letter-spacing: 0.1em;
  font-family: "Noto Sans JP Bold";
  margin-bottom: 15px;
}
@media screen and (max-width: 767px) {
  .credo__list dl dd h4 {
    font-size: 1.8rem;
    margin-bottom: 10px;
  }
}
.credo__list dl dd p {
  font-size: 1.5rem;
}
@media screen and (max-width: 767px) {
  .credo__list dl dd p {
    font-size: 1.3rem;
  }
}

.outline {
  padding: 190px 0 160px;
}
@media screen and (max-width: 767px) {
  .outline {
    padding: 70px 0 45px;
  }
}
.outline .sec-ttl {
  text-align: center;
  margin-bottom: 110px;
}
@media screen and (max-width: 767px) {
  .outline .sec-ttl {
    margin-bottom: 40px;
  }
}
.outline .inner {
  max-width: 1020px;
  width: 100%;
  margin: 0 auto;
}

.outline__list {
  position: relative;
  margin-bottom: 200px;
}
@media screen and (max-width: 767px) {
  .outline__list {
    margin-bottom: 55px;
  }
}
.outline__list:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 165px;
  height: 0.5px;
  background-color: var(--color-base);
}
@media screen and (max-width: 991px) {
  .outline__list:before {
    width: 155px;
  }
}
@media screen and (max-width: 767px) {
  .outline__list:before {
    content: none;
  }
}
.outline__list:after {
  content: "";
  position: absolute;
  top: 0;
  left: 235px;
  width: calc(100% - 235px);
  height: 0.5px;
  background-color: #bababa;
}
@media screen and (max-width: 991px) {
  .outline__list:after {
    left: 215px;
    width: calc(100% - 215px);
  }
}
@media screen and (max-width: 767px) {
  .outline__list:after {
    content: none;
  }
}

.outline__col {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 70px;
  padding: 35px 0;
  line-height: 1.7;
  letter-spacing: 0.1em;
  font-family: "Noto Sans JP Medium";
  position: relative;
}
@media screen and (max-width: 991px) {
  .outline__col {
    gap: 60px;
  }
}
@media screen and (max-width: 767px) {
  .outline__col {
    display: block;
    padding: 20px 0;
    border-bottom: 0.5px solid #bababa;
  }
}
@media screen and (max-width: 767px) {
  .outline__col:first-child {
    border-top: 0.5px solid #bababa;
  }
}
.outline__col:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 165px;
  height: 0.5px;
  background-color: var(--color-base);
}
@media screen and (max-width: 991px) {
  .outline__col:before {
    width: 155px;
  }
}
@media screen and (max-width: 767px) {
  .outline__col:before {
    content: none;
  }
}
.outline__col:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 235px;
  width: calc(100% - 235px);
  height: 0.5px;
  background-color: #bababa;
}
@media screen and (max-width: 991px) {
  .outline__col:after {
    left: 215px;
    width: calc(100% - 215px);
  }
}
@media screen and (max-width: 767px) {
  .outline__col:after {
    content: none;
  }
}
.outline__col > dt {
  min-width: 165px;
  font-size: 1.5rem;
  color: var(--color-base);
  text-align: center;
}
@media screen and (max-width: 991px) {
  .outline__col > dt {
    min-width: 155px;
  }
}
@media screen and (max-width: 767px) {
  .outline__col > dt {
    min-width: auto;
    text-align: left;
    margin-bottom: 5px;
  }
}
.outline__col > dd {
  font-size: 1.5rem;
  padding: 0 10px;
}
@media screen and (max-width: 767px) {
  .outline__col > dd {
    font-size: 1.4rem;
    padding: 0;
  }
}
.outline__col > dd dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 991px) {
  .outline__col > dd dl {
    display: block;
  }
}
.outline__col > dd dl:not(:last-child) {
  margin-bottom: 5px;
}
@media screen and (max-width: 991px) {
  .outline__col > dd dl:not(:last-child) {
    margin-bottom: 15px;
  }
}
.outline__col > dd dl dt {
  min-width: 125px;
}

.iso {
  width: 100%;
  height: 463px;
  background: url(../images/about/outline1@2x.png) no-repeat center;
  background-size: cover;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 63px;
  padding: 0 70px;
  color: #fff;
  border-radius: 15px;
}
@media screen and (max-width: 991px) {
  .iso {
    gap: 6vw;
    padding: 0 7vw;
  }
}
@media screen and (max-width: 767px) {
  .iso {
    max-width: 400px;
    height: auto;
    background: url(../images/about/outline1_sp@2x.png) no-repeat center;
    background-size: cover;
    display: block;
    margin: 0 auto;
    padding: 55px 35px;
    border-radius: 10px;
  }
}

.iso__content {
  width: 55%;
}
@media screen and (max-width: 767px) {
  .iso__content {
    width: 100%;
    margin-bottom: 25px;
  }
}
.iso__content h3 {
  font-size: 2.3rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
  font-family: "Noto Sans JP SemiBold";
  margin-bottom: 32px;
}
@media screen and (max-width: 991px) {
  .iso__content h3 {
    font-size: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .iso__content h3 {
    margin-bottom: 20px;
  }
}
.iso__content p {
  font-size: 1.5rem;
  line-height: 1.9;
}
@media screen and (max-width: 991px) {
  .iso__content p {
    font-size: 1.4rem;
  }
}
.iso__content p:not(:last-child) {
  margin-bottom: 18px;
}
@media screen and (max-width: 767px) {
  .iso__content p:not(:last-child) {
    margin-bottom: 10px;
  }
}

.iso__img {
  width: 45%;
}
@media screen and (max-width: 767px) {
  .iso__img {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .iso__img {
    max-width: 270px;
    margin: 0 auto;
  }
}

.qualification {
  background-color: #f5f7fa;
  padding: 170px 0 165px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .qualification {
    padding: 40px 0 65px;
  }
}
.qualification:before {
  content: "";
  position: absolute;
  bottom: -30px;
  left: 0;
  width: 100%;
  height: 30px;
  background-color: #f5f7fa;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .qualification:before {
    bottom: -20px;
    height: 20px;
  }
}
.qualification .sec-ttl {
  text-align: center;
  margin-bottom: 95px;
}
@media screen and (max-width: 767px) {
  .qualification .sec-ttl {
    margin-bottom: 35px;
  }
}
@media screen and (max-width: 575px) {
  .qualification .sec-ttl .en {
    font-size: 4.3rem;
  }
}

.qualification__container {
  background-color: #fff;
  border-radius: 15px;
  padding: 120px 90px 115px;
}
@media screen and (max-width: 1199px) {
  .qualification__container {
    padding: 120px 6vw 115px;
  }
}
@media screen and (max-width: 767px) {
  .qualification__container {
    border-radius: 10px;
    padding: 55px 6vw 40px;
  }
}

.qualification__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 80px;
  margin-bottom: 35px;
}
@media screen and (max-width: 1199px) {
  .qualification__list {
    gap: 5vw;
  }
}
@media screen and (max-width: 991px) {
  .qualification__list {
    display: block;
  }
}
@media screen and (max-width: 767px) {
  .qualification__list {
    margin-bottom: 20px;
  }
}
.qualification__list > div {
  width: 50%;
}
@media screen and (max-width: 991px) {
  .qualification__list > div {
    width: 100%;
  }
}
.qualification__list + p {
  font-size: 1.5rem;
  text-align: right;
}
@media screen and (max-width: 767px) {
  .qualification__list + p {
    font-size: 1.3rem;
  }
}
.qualification__list dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 40px;
  font-size: 1.5rem;
  line-height: 1.3;
  letter-spacing: 0.1em;
  position: relative;
}
@media screen and (max-width: 991px) {
  .qualification__list dl {
    padding: 11px 0;
  }
}
@media screen and (max-width: 767px) {
  .qualification__list dl {
    font-size: 1.3rem;
    gap: 20px;
  }
}
.qualification__list dl:not(:last-child) {
  margin-bottom: 15px;
}
@media screen and (max-width: 991px) {
  .qualification__list dl:not(:last-child) {
    margin-bottom: 0;
  }
}
.qualification__list dl:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 1px;
  background-image: linear-gradient(
    to right,
    var(--color-base),
    var(--color-base) 5px,
    transparent 5px,
    transparent 5px
  );
  background-size: 8px 1px;
  background-repeat: repeat-x;
}
@media screen and (max-width: 991px) {
  .qualification__list dl:before {
    top: auto;
    bottom: 0;
    background-image: linear-gradient(
      to right,
      var(--color-base),
      var(--color-base) 3px,
      transparent 3px,
      transparent 3px
    );
    background-size: 6px 1px;
  }
}
.qualification__list dl dt {
  position: relative;
  padding-left: 15px;
  padding-right: 20px;
  background-color: #fff;
  border-left: 3px solid var(--color-base);
}
@media screen and (max-width: 991px) {
  .qualification__list dl dt {
    padding-right: 0;
  }
}
.qualification__list dl dd {
  color: var(--color-base);
  background-color: #fff;
  min-width: 47px;
  text-align: right;
  z-index: 1;
  white-space: nowrap;
}
@media screen and (max-width: 991px) {
  .qualification__list dl dd {
    min-width: auto;
  }
}

.vehicle {
  background: -webkit-gradient(
    linear,
    left bottom,
    left top,
    from(var(--color-base)),
    to(#e7e500)
  );
  background: linear-gradient(0deg, var(--color-base) 0%, #e7e500 100%);
  border-radius: 30px 30px 0 0;
  color: #fff;
  overflow-x: hidden;
  position: relative;
}
@media screen and (max-width: 991px) {
  .vehicle {
    padding: 150px 0;
  }
}
@media screen and (max-width: 767px) {
  .vehicle {
    border-radius: 20px 20px 0 0;
    padding: 70px 0 80px;
  }
}
.vehicle:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: calc((100vw - var(--inner-def)) / 2 + 20px);
  height: 100%;
  background: -webkit-gradient(
    linear,
    left bottom,
    left top,
    from(var(--color-base)),
    to(#e7e500)
  );
  background: linear-gradient(0deg, var(--color-base) 0%, #e7e500 100%);
  z-index: 10;
}
@media screen and (max-width: 1240px) {
  .vehicle:before {
    width: 20px;
  }
}
@media screen and (max-width: 1199px) {
  .vehicle:before {
    width: 5vw;
  }
}
@media screen and (max-width: 991px) {
  .vehicle:before {
    content: none;
  }
}
.vehicle .sec-ttl {
  margin-bottom: 40px;
}
.vehicle .sec-ttl .ja {
  color: #fff;
}

.vehicle__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 991px) {
  .vehicle__container {
    display: block;
  }
}

.vehicle__content {
  width: 35%;
  padding: 170px 0;
  background: -webkit-gradient(
    linear,
    left bottom,
    left top,
    from(var(--color-base)),
    to(#e7e500)
  );
  background: linear-gradient(0deg, var(--color-base) 0%, #e7e500 100%);
  z-index: 10;
}
@media screen and (max-width: 991px) {
  .vehicle__content {
    width: 100%;
    margin-bottom: 70px;
    padding: 0;
    background: transparent;
  }
}
@media screen and (max-width: 767px) {
  .vehicle__content {
    margin-bottom: 38px;
  }
}

@media screen and (max-width: 991px) {
  .vehicle__list {
    max-width: 500px;
  }
}
@media screen and (max-width: 767px) {
  .vehicle__list {
    max-width: 300px;
  }
}
.vehicle__list dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  line-height: 1.2;
  letter-spacing: 0.15em;
  font-family: "Noto Sans JP Medium";
}
@media screen and (max-width: 991px) {
  .vehicle__list dl {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
}
.vehicle__list dl:not(:last-child) {
  margin-bottom: 14px;
}
@media screen and (max-width: 767px) {
  .vehicle__list dl:not(:last-child) {
    margin-bottom: 12px;
  }
}
.vehicle__list dl:nth-child(1) dt:after,
.vehicle__list dl:nth-child(4) dt:after {
  width: 293px;
}
@media screen and (max-width: 767px) {
  .vehicle__list dl:nth-child(1) dt:after,
  .vehicle__list dl:nth-child(4) dt:after {
    width: 130px;
  }
}
.vehicle__list dl:nth-child(2) dt:after,
.vehicle__list dl:nth-child(3) dt:after {
  width: 358px;
}
@media screen and (max-width: 767px) {
  .vehicle__list dl:nth-child(2) dt:after,
  .vehicle__list dl:nth-child(3) dt:after {
    width: 180px;
  }
}
.vehicle__list dl:nth-child(5) dt:after {
  width: 250px;
}
@media screen and (max-width: 767px) {
  .vehicle__list dl:nth-child(5) dt:after {
    width: 97px;
  }
}
.vehicle__list dl:nth-child(6) dt:after {
  width: 338px;
}
@media screen and (max-width: 767px) {
  .vehicle__list dl:nth-child(6) dt:after {
    width: 164px;
  }
}
.vehicle__list dl dt {
  min-width: 245px;
  font-size: 2rem;
  position: relative;
  padding-left: 17px;
  border-left: 2.5px solid #fff;
}
@media screen and (max-width: 991px) {
  .vehicle__list dl dt {
    min-width: auto;
    padding-right: 20px;
  }
}
@media screen and (max-width: 767px) {
  .vehicle__list dl dt {
    font-size: 1.5rem;
    padding-left: 15px;
    border-left-width: 2px;
  }
}
@media screen and (max-width: 991px) {
  .vehicle__list dl dt:after {
    content: "";
    position: absolute;
    top: 50%;
    left: 100%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    height: 0.5px;
    background-color: rgba(255, 255, 255, 0.7);
  }
}
.vehicle__list dl dd {
  font-size: 1.5rem;
}
@media screen and (max-width: 767px) {
  .vehicle__list dl dd {
    font-size: 1.4rem;
  }
}
.vehicle__list dl dd span {
  font-size: 2.4rem;
  font-family: "Noto Sans JP SemiBold";
}
@media screen and (max-width: 767px) {
  .vehicle__list dl dd span {
    font-size: 1.9rem;
  }
}

.vehicle__slider {
  width: 65%;
  padding: 170px 0 170px 60px;
}
@media screen and (max-width: 991px) {
  .vehicle__slider {
    width: 100%;
    padding: 0;
  }
}
.vehicle__slider .swiper {
  overflow: visible;
}
.vehicle__slider .swiper-button-next {
  left: 80px;
}
@media screen and (max-width: 767px) {
  .vehicle__slider .swiper-button-next {
    left: 55px;
  }
}
.vehicle__slider .swiper-button-next:hover:after {
  background-image: url(../images/news_individual/button_right_b_hover.png);
}
.vehicle__slider .swiper-button-next:after {
  background-image: url(../images/news_individual/button_right_b3.png),
    url(../images/news_individual/button_right_b_hover.png);
}
.vehicle__slider .swiper-button-prev {
  left: 0;
}
.vehicle__slider .swiper-button-prev:hover:after {
  background-image: url(../images/news_individual/button_left_b_hover.png);
}
.vehicle__slider .swiper-button-prev:after {
  background-image: url(../images/news_individual/button_left_b3.png),
    url(../images/news_individual/button_left_b_hover.png);
}
.vehicle__slider .swiper-button-next,
.vehicle__slider .swiper-button-prev {
  width: 62px;
  height: 62px;
  top: auto;
  bottom: -95px;
  border-radius: 50%;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .vehicle__slider .swiper-button-next,
  .vehicle__slider .swiper-button-prev {
    bottom: -68px;
    width: 42px;
    height: 42px;
  }
}
.vehicle__slider .swiper-button-next:after,
.vehicle__slider .swiper-button-prev:after {
  content: "";
  background-repeat: no-repeat;
  background-size: contain, 0;
  -webkit-transition: all 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  transition: all 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  width: 100%;
  height: 100%;
}
.vehicle__slider .swiper-pagination-progressbar {
  position: relative;
  margin-top: 63px;
  margin-left: 185px;
  background-color: transparent;
  width: calc(100% - 185px);
  height: 3px;
  border-bottom: 3px solid #0f1f76;
}
@media screen and (max-width: 767px) {
  .vehicle__slider .swiper-pagination-progressbar {
    margin-top: 47px;
    margin-left: 135px;
    width: calc(100% - 135px);
    height: 2.5px;
    border-bottom-width: 2.5px;
  }
}
.vehicle__slider .swiper-pagination-progressbar-fill {
  background-color: #fff;
  height: 3px;
}
@media screen and (max-width: 767px) {
  .vehicle__slider .swiper-pagination-progressbar-fill {
    height: 2.5px;
  }
}

.vehicle__item {
  height: 450px;
  border-radius: 10px;
  color: #fff;
  -webkit-box-shadow: -9px 17px 39px rgba(18, 33, 123, 0.7450980392);
  box-shadow: -9px 17px 39px rgba(18, 33, 123, 0.7450980392);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  padding: 25px 30px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .vehicle__item {
    height: 250px;
    padding: 15px 17px;
  }
}
.vehicle__item.item01 {
  background: url(../images/about/vehicle1@2x.png) no-repeat;
  background-size: cover;
}
.vehicle__item.item02 {
  background: url(../images/about/vehicle2@2x.png) no-repeat;
  background-size: cover;
}
.vehicle__item.item03 {
  background: url(../images/about/vehicle3@2x.png) no-repeat;
  background-size: cover;
}
.vehicle__item.item04 {
  background: url(../images/about/vehicle3@2x.png) no-repeat;
  background-size: cover;
}
.vehicle__item h4 {
  font-size: 1.8rem;
  letter-spacing: 0.1em;
  font-family: "Noto Sans JP SemiBold";
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .vehicle__item h4 {
    font-size: 1.3rem;
  }
}

.history {
  padding: 165px 0;
  background: url(../images/about/history@2x.jpg) no-repeat center;
  background-size: cover;
}
@media screen and (max-width: 767px) {
  .history {
    padding: 75px 0;
    background: url(../images/about/history_sp@2x.png) no-repeat center;
    background-size: cover;
  }
}
.history .sec-ttl {
  text-align: center;
  margin-bottom: 100px;
}
@media screen and (max-width: 767px) {
  .history .sec-ttl {
    margin-bottom: 40px;
  }
}

.history__container {
  background-color: #fff;
  border-radius: 15px;
  padding: 125px 30px 150px;
}
@media screen and (max-width: 767px) {
  .history__container {
    border-radius: 10px;
    padding: 55px 30px;
  }
}

.history__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  overflow-y: hidden;
}

.history__col {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  gap: 125px;
  position: relative;
}
@media screen and (max-width: 991px) {
  .history__col {
    gap: 105px;
  }
}
@media screen and (max-width: 767px) {
  .history__col {
    gap: 45px;
  }
}
.history__col:not(:last-child) {
  margin-bottom: 80px;
}
@media screen and (max-width: 767px) {
  .history__col:not(:last-child) {
    margin-bottom: 30px;
  }
}
.history__col:before {
  content: "";
  width: 0;
  padding-top: 100%;
  border-left: 0.7px solid #bababa;
  position: absolute;
  top: 24px;
  left: 122px;
}
@media screen and (max-width: 767px) {
  .history__col:before {
    left: 68px;
    top: 15px;
  }
}
.history__col > dt {
  font-size: 3.2rem;
  color: var(--color-base);
  font-family: "Lexend Regular";
  position: relative;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .history__col > dt {
    font-size: 2rem;
  }
}
.history__col > dt:before {
  content: "";
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--color-base);
  position: absolute;
  top: 50%;
  left: 117.5px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .history__col > dt:before {
    width: 6px;
    height: 6px;
    left: 65px;
  }
}
.history__col > dd {
  padding-top: 4px;
}
@media screen and (max-width: 767px) {
  .history__col > dd {
    padding-top: 1px;
  }
}
.history__col > dd dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
  gap: 35px;
  line-height: 1.6;
  letter-spacing: 0.1em;
  font-family: "Noto Sans JP Medium";
}
@media screen and (max-width: 991px) {
  .history__col > dd dl {
    display: block;
  }
}
.history__col > dd dl:not(:last-child) {
  margin-bottom: 3px;
}
@media screen and (max-width: 991px) {
  .history__col > dd dl:not(:last-child) {
    margin-bottom: 12px;
  }
}
.history__col > dd dl dt {
  font-size: 1.8rem;
  color: var(--color-base);
  min-width: 45px;
  text-align: right;
}
@media screen and (max-width: 991px) {
  .history__col > dd dl dt {
    min-width: auto;
    text-align: left;
  }
}
@media screen and (max-width: 767px) {
  .history__col > dd dl dt {
    font-size: 1.3rem;
  }
}
.history__col > dd dl dd {
  font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
  .history__col > dd dl dd {
    font-size: 1.3rem;
  }
}

.organization {
  padding: 150px 0 220px;
  background-color: #f5f7fa;
}
@media screen and (max-width: 767px) {
  .organization {
    padding: 70px 0 85px;
  }
}
.organization .sec-ttl {
  text-align: center;
  margin-bottom: 110px;
}
@media screen and (max-width: 767px) {
  .organization .sec-ttl {
    margin-bottom: 50px;
  }
}

.organization__imgs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 45px;
}
@media screen and (max-width: 767px) {
  .organization__imgs {
    gap: 25px;
  }
}

.organization__img {
  width: 250px;
  -webkit-box-shadow: 0px 3px 12px rgba(0, 0, 0, 0.0784313725);
  box-shadow: 0px 3px 12px rgba(0, 0, 0, 0.0784313725);
}

.sdgs {
  padding: 190px 0 320px;
}
@media screen and (max-width: 767px) {
  .sdgs {
    padding: 70px 0 150px;
  }
}
.sdgs .sec-ttl {
  margin-bottom: 110px;
}
@media screen and (max-width: 767px) {
  .sdgs .sec-ttl {
    margin-bottom: 40px;
  }
}

.sdgs__item {
  border-top: 0.5px solid #bababa;
  padding: 70px 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 120px;
}
@media screen and (max-width: 1199px) {
  .sdgs__item {
    gap: 9vw;
  }
}
@media screen and (max-width: 767px) {
  .sdgs__item {
    display: block;
    padding: 35px 0;
  }
}
.sdgs__item:last-child {
  border-bottom: 0.5px solid #bababa;
}

.sdgs__content {
  width: 53%;
}
@media screen and (max-width: 767px) {
  .sdgs__content {
    width: 100%;
    margin-bottom: 25px;
  }
}
.sdgs__content h3 {
  font-size: 2.5rem;
  color: var(--color-base);
  line-height: 1.5;
  letter-spacing: 0.1em;
  font-family: "Noto Sans JP Bold";
  margin-bottom: 15px;
}
@media screen and (max-width: 767px) {
  .sdgs__content h3 {
    font-size: 1.8rem;
    margin-bottom: 10px;
  }
}
.sdgs__content p {
  font-size: 1.5rem;
  line-height: 1.7;
}
@media screen and (max-width: 767px) {
  .sdgs__content p {
    font-size: 1.4rem;
  }
}

.sdgs__header {
  padding-left: 30px;
}
@media screen and (max-width: 1199px) {
  .sdgs__header {
    padding-left: 0;
  }
}

.sdgs__initiatives {
  margin-top: 25px;
  padding: 25px 28px;
  background-color: #f5f7fa;
  border-radius: 5px;
}
@media screen and (max-width: 991px) {
  .sdgs__initiatives {
    padding: 25px;
  }
}
@media screen and (max-width: 767px) {
  .sdgs__initiatives {
    padding: 20px;
  }
}
.sdgs__initiatives h4 {
  font-size: 1.6rem;
  line-height: 1.2;
  letter-spacing: 0.1em;
  font-family: "Noto Sans JP Medium";
  margin-bottom: 13px;
  padding-left: 10px;
  border-left: 2.5px solid var(--color-base);
}
@media screen and (max-width: 767px) {
  .sdgs__initiatives h4 {
    font-size: 1.4rem;
    margin-bottom: 10px;
  }
}
.sdgs__initiatives p {
  font-size: 1.4rem;
}
@media screen and (max-width: 767px) {
  .sdgs__initiatives p {
    font-size: 1.3rem;
  }
}

.sdgs__imgs {
  max-width: 350px;
  width: 40%;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 11px 13px;
}
@media screen and (max-width: 767px) {
  .sdgs__imgs {
    max-width: 420px;
    width: 100%;
    grid-template-columns: repeat(5, 1fr);
    gap: 9px 11px;
  }
}
@media screen and (max-width: 575px) {
  .sdgs__imgs {
    max-width: 330px;
    grid-template-columns: repeat(4, 1fr);
  }
}

/*--------------------------------
	事業内容ページ
--------------------------------*/
.business {
  padding: 150px 0 280px;
}
@media screen and (max-width: 767px) {
  .business {
    padding: 80px 0 150px;
  }
}
.business .inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
}
@media screen and (max-width: 991px) {
  .business .inner {
    display: block;
  }
}

.business-aside {
  width: 250px;
  height: -webkit-max-content;
  height: -moz-max-content;
  height: max-content;
  position: sticky;
  top: 110px;
  left: 0;
}
@media screen and (max-width: 1199px) {
  .business-aside {
    width: 230px;
  }
}
@media screen and (max-width: 991px) {
  .business-aside {
    width: auto;
    height: auto;
    position: static;
    margin-bottom: 85px;
  }
}

@media screen and (max-width: 991px) {
  .business-aside__list {
    display: grid;
    grid-template-columns: repeat(4, 135px);
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 20px;
  }
}
@media screen and (max-width: 767px) {
  .business-aside__list {
    display: grid;
    grid-template-columns: repeat(2, 135px);
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 16px 20px;
  }
}
.business-aside__list li:not(:last-child) {
  margin-bottom: 25px;
}
@media screen and (max-width: 991px) {
  .business-aside__list li:not(:last-child) {
    margin-bottom: 0;
  }
}
.business-aside__list li:nth-child(1) a:before {
  content: "01";
}
.business-aside__list li:nth-child(2) a:before {
  content: "02";
}
.business-aside__list li:nth-child(3) a:before {
  content: "03";
}
.business-aside__list li:nth-child(4) a:before {
  content: "04";
}
.business-aside__list li.current a {
  color: var(--color-base);
}
.business-aside__list li.current a:before {
  color: var(--color-base);
}
.business-aside__list li a {
  font-size: 1.6rem;
  color: #b4b4b4;
  font-family: "Noto Sans JP SemiBold";
  padding-left: 33px;
  white-space: nowrap;
  position: relative;
}
@media screen and (max-width: 991px) {
  .business-aside__list li a {
    display: block;
    background-color: #f5f7fa;
    border-radius: 5px;
    color: #303f98;
    font-size: 1.4rem;
    text-align: center;
    padding: 12px 0 20px 15px;
  }
}
.business-aside__list li a:before {
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  font-size: 1.5rem;
  color: #b4b4b4;
  font-family: "Noto Sans JP SemiBold";
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}
@media screen and (max-width: 991px) {
  .business-aside__list li a:before {
    top: 11px;
    left: 18px;
    -webkit-transform: translateY(0);
    transform: translateY(0);
    color: #303f98;
  }
}
@media screen and (max-width: 991px) {
  .business-aside__list li a:after {
    content: "";
    background: url(../images/about/arrow_bottom.png) no-repeat;
    background-size: contain;
    position: absolute;
    bottom: 8px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 12px;
    height: 6px;
  }
}

.business-details {
  width: calc(100% - 250px);
}
@media screen and (max-width: 1199px) {
  .business-details {
    width: calc(100% - 230px);
  }
}
@media screen and (max-width: 991px) {
  .business-details {
    width: 100%;
  }
}

.business-details__item:not(:last-child) {
  margin-bottom: 220px;
}
@media screen and (max-width: 767px) {
  .business-details__item:not(:last-child) {
    margin-bottom: 110px;
  }
}
.business-details__item:nth-child(1) .business-details__ttl:before {
  content: "01";
}
.business-details__item:nth-child(1) .business__list:before {
  content: "scaffolding";
}
.business-details__item:nth-child(2) .business-details__ttl:before {
  content: "02";
}
.business-details__item:nth-child(2) .business__list:before {
  content: "Civil engineering";
}
.business-details__item:nth-child(3) .business-details__ttl:before {
  content: "03";
}
.business-details__item:nth-child(3) .business__list:before {
  content: "Drawing";
}
.business-details__item:nth-child(4) .business-details__ttl:before {
  content: "04";
}
.business-details__item:nth-child(4) .business__list:before {
  content: "Drone photography";
}

.business-details__header {
  margin-bottom: 90px;
}
@media screen and (max-width: 767px) {
  .business-details__header {
    margin-bottom: 45px;
  }
}

.business-details__ttl {
  position: relative;
  margin-bottom: 30px;
  padding-left: 170px;
}
@media screen and (max-width: 767px) {
  .business-details__ttl {
    margin-bottom: 20px;
    padding-left: 95px;
  }
}
.business-details__ttl:before {
  font-size: 10.5rem;
  line-height: 0.8;
  letter-spacing: 0.02em;
  font-family: "Lexend Medium";
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  color: var(--color-base);
  background: -webkit-linear-gradient(
    90deg,
    var(--color-base),
    rgba(231, 229, 0, 1)
  );
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media screen and (max-width: 767px) {
  .business-details__ttl:before {
    font-size: 6.5rem;
  }
}
.business-details__ttl .en {
  font-size: 1.8rem;
  color: var(--color-base);
  letter-spacing: 0.04em;
  font-family: "Lexend Medium";
  margin-bottom: 3px;
}
@media screen and (max-width: 767px) {
  .business-details__ttl .en {
    font-size: 1.3rem;
  }
}
.business-details__ttl .ja {
  font-size: 4.9rem;
  letter-spacing: 0.12em;
  font-family: "Noto Sans JP Medium";
}
@media screen and (max-width: 767px) {
  .business-details__ttl .ja {
    font-size: 2.9rem;
  }
}
.business-details__ttl + p {
  font-size: 1.7rem;
  font-family: "Noto Sans JP Medium";
}
@media screen and (max-width: 767px) {
  .business-details__ttl + p {
    font-size: 1.4rem;
  }
}

.business-details__img {
  border-radius: 15px;
  -webkit-box-shadow: 0px 15px 30px rgba(0, 0, 0, 0.1215686275);
  box-shadow: 0px 15px 30px rgba(0, 0, 0, 0.1215686275);
  margin-bottom: 80px;
}
@media screen and (max-width: 767px) {
  .business-details__img {
    border-radius: 0;
    -webkit-box-shadow: 0px 6px 30px rgba(0, 0, 0, 0.1215686275);
    box-shadow: 0px 6px 30px rgba(0, 0, 0, 0.1215686275);
    margin: 0 -5vw 42px;
  }
}

.business__list {
  position: relative;
}
.business__list:before {
  font-size: 7.8rem;
  color: rgba(245, 247, 250, 0.7);
  line-height: 1;
  letter-spacing: 0.01em;
  font-family: "Lexend Medium";
  position: absolute;
  top: -68px;
  right: 0;
  white-space: nowrap;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .business__list:before {
    font-size: 4.5rem;
    top: -40px;
    right: -5vw;
  }
}
@media screen and (max-width: 575px) {
  .business__list:before {
    top: -37px;
    font-size: 4rem;
  }
}

.business__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 60px;
  padding: 55px 0;
  border-bottom: 1.5px solid #d9d9d9;
  position: relative;
}
@media screen and (max-width: 1199px) {
  .business__item {
    gap: 4.5vw;
  }
}
@media screen and (max-width: 991px) {
  .business__item {
    gap: 5.5vw;
  }
}
@media screen and (max-width: 767px) {
  .business__item {
    display: block;
    padding: 35px 0 30px;
    border-bottom-width: 1px;
  }
}
.business__item:first-child {
  border-top: 1.5px solid #d9d9d9;
}
@media screen and (max-width: 767px) {
  .business__item:first-child {
    border-top-width: 1px;
  }
}
.business__item:first-child:after {
  content: "";
  position: absolute;
  top: -1.5px;
  left: 0;
  width: 154px;
  height: 1.5px;
  background-color: var(--color-base);
}
@media screen and (max-width: 767px) {
  .business__item:first-child:after {
    top: -1px;
    width: 70px;
    height: 1px;
  }
}
.business__item:before {
  content: "";
  position: absolute;
  bottom: -1.5px;
  left: 0;
  width: 154px;
  height: 1.5px;
  background-color: var(--color-base);
}
@media screen and (max-width: 767px) {
  .business__item:before {
    bottom: -1px;
    width: 70px;
    height: 1px;
  }
}

.business__img {
  width: 28%;
}
@media screen and (max-width: 767px) {
  .business__img {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .business__img {
    width: 80%;
    margin: 0 auto 20px;
  }
}
.business__img img {
  height: 170px;
  -o-object-fit: cover;
  object-fit: cover;
  border-radius: 10px;
}
@media screen and (max-width: 1199px) {
  .business__img img {
    height: 12.5vw;
  }
}
@media screen and (max-width: 991px) {
  .business__img img {
    height: 16.5vw;
  }
}
@media screen and (max-width: 767px) {
  .business__img img {
    height: 49vw;
  }
}

.business__content {
  width: 72%;
}
@media screen and (max-width: 767px) {
  .business__content {
    width: 100%;
  }
}
.business__content p {
  font-size: 1.5rem;
  line-height: 1.7;
}
@media screen and (max-width: 767px) {
  .business__content p {
    font-size: 1.3rem;
  }
}

.business__ttl {
  margin-bottom: 15px;
}
@media screen and (max-width: 767px) {
  .business__ttl {
    margin-bottom: 10px;
  }
}
.business__ttl .en {
  font-size: 1.3rem;
  color: var(--color-base);
  letter-spacing: 0.04em;
  font-family: "Lexend SemiBold";
  margin-bottom: 4px;
}
@media screen and (max-width: 767px) {
  .business__ttl .en {
    font-size: 1.2rem;
  }
}
.business__ttl .ja {
  font-size: 2.8rem;
  line-height: 1.4;
  letter-spacing: 0.12em;
  font-family: "Noto Sans JP SemiBold";
}
@media screen and (max-width: 767px) {
  .business__ttl .ja {
    font-size: 2rem;
  }
}

/*--------------------------------
	施工事例ページ
--------------------------------*/
.page-id-16 .works,
.tax-works_cat .works {
  padding: 170px 0 280px;
}
@media screen and (max-width: 767px) {
  .page-id-16 .works,
  .tax-works_cat .works {
    padding: 70px 0 140px;
  }
}
@media screen and (max-width: 991px) {
  .page-id-16 .category-aside__select,
  .tax-works_cat .category-aside__select {
    width: 320px;
  }
}

.works__txt {
  margin-bottom: 140px;
  padding-bottom: 70px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .works__txt {
    margin-bottom: 60px;
    padding-bottom: 40px;
  }
}
.works__txt:after {
  content: "";
  background: url(../images/about/arrow_bottom.png) no-repeat;
  background-size: contain;
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  width: 33px;
  height: 16px;
}
@media screen and (max-width: 767px) {
  .works__txt:after {
    width: 24px;
    height: 12px;
  }
}
.works__txt p {
  font-size: 1.7rem;
  text-align: center;
  font-family: "Noto Sans JP Medium";
}
@media screen and (max-width: 991px) {
  .works__txt p {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .works__txt p {
    font-size: 1.3rem;
  }
}

.works__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  max-width: 1100px;
}
@media screen and (max-width: 991px) {
  .works__container {
    display: block;
  }
}
.works__container .category-aside {
  width: 340px;
}
@media screen and (max-width: 991px) {
  .works__container .category-aside {
    width: auto;
  }
}

.works-article {
  width: calc(100% - 340px);
}
@media screen and (max-width: 991px) {
  .works-article {
    width: 100%;
  }
}
.works-article .inner {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 60px 34px;
}
@media screen and (max-width: 1199px) {
  .works-article .inner {
    gap: 5vw 3vw;
  }
}
@media screen and (max-width: 991px) {
  .works-article .inner {
    gap: 7vw 4vw;
  }
}
@media screen and (max-width: 575px) {
  .works-article .inner {
    grid-template-columns: repeat(1, 1fr);
    gap: 9vw;
  }
}
.works-article .works__img img {
  -webkit-transform: scale(1.05);
  transform: scale(1.05);
}
@media screen and (max-width: 991px) {
  .works-article .works__img img {
    height: 31vw;
  }
}
@media screen and (max-width: 575px) {
  .works-article .works__img img {
    height: 62vw;
  }
}
.works-article .works__content {
  background-color: #eef1f6;
}
.works-article .cat-tag {
  background-color: #fff;
}

/*--------------------------------
	施工事例個別投稿ページ
--------------------------------*/
.work {
  padding: 165px 0 150px;
}
@media screen and (max-width: 767px) {
  .work {
    padding: 115px 0 40px;
  }
}

.work__header {
  margin-bottom: 50px;
}
@media screen and (max-width: 767px) {
  .work__header {
    margin-bottom: 30px;
  }
}
.work__header .cat-tag {
  font-size: 1.4rem;
  margin-bottom: 20px;
  padding: 8px 14px;
}
@media screen and (max-width: 767px) {
  .work__header .cat-tag {
    font-size: 1.2rem;
    margin-bottom: 12px;
  }
}

.work__ttl {
  font-size: 2.3rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
  font-family: "Noto Sans JP SemiBold";
}
@media screen and (max-width: 767px) {
  .work__ttl {
    font-size: 2rem;
  }
}

.work__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 110px;
  position: relative;
}
@media screen and (max-width: 1199px) {
  .work__body {
    gap: 8vw;
  }
}
@media screen and (max-width: 991px) {
  .work__body {
    display: block;
  }
}

.work-slider {
  width: 58%;
  height: -webkit-max-content;
  height: -moz-max-content;
  height: max-content;
  position: sticky;
  top: 80px;
  left: 0;
}
@media screen and (max-width: 991px) {
  .work-slider {
    width: 100%;
    position: static;
    margin-bottom: 50px;
  }
}
@media screen and (max-width: 767px) {
  .work-slider {
    margin-bottom: 40px;
  }
}

.work-main-slider {
  margin-bottom: 10px;
}
@media screen and (max-width: 1199px) {
  .work-main-slider {
    margin-bottom: 0.8vw;
  }
}
@media screen and (max-width: 991px) {
  .work-main-slider {
    margin-bottom: 1.2vw;
  }
}
@media screen and (max-width: 767px) {
  .work-main-slider {
    margin-bottom: 2vw;
  }
}
.work-main-slider .slide-item img {
  height: 450px;
  -o-object-fit: cover;
  object-fit: cover;
  border-radius: 5px;
}
@media screen and (max-width: 1199px) {
  .work-main-slider .slide-item img {
    height: 37.5vw;
  }
}
@media screen and (max-width: 991px) {
  .work-main-slider .slide-item img {
    height: 62vw;
  }
}
.work-main-slider .slick-next,
.work-main-slider .slick-prev {
  z-index: 10;
}
.work-main-slider .slick-next {
  background: url(../images/works/arrow_next.png) no-repeat;
  background-size: contain;
  width: 12px;
  height: 20px;
  right: -40px;
}
@media screen and (max-width: 991px) {
  .work-main-slider .slick-next {
    background: url(../images/works/arrow_next_sp.png) no-repeat;
    background-size: contain;
    width: 50px;
    height: 50px;
    right: -25px;
  }
}
@media screen and (max-width: 767px) {
  .work-main-slider .slick-next {
    width: 34px;
    height: 34px;
    right: -17px;
  }
}
.work-main-slider .slick-next:before {
  content: none;
}
.work-main-slider .slick-prev {
  background: url(../images/works/arrow_prev.png) no-repeat;
  background-size: contain;
  width: 12px;
  height: 20px;
  left: -40px;
}
@media screen and (max-width: 991px) {
  .work-main-slider .slick-prev {
    background: url(../images/works/arrow_prev_sp.png) no-repeat;
    background-size: contain;
    width: 50px;
    height: 50px;
    left: -25px;
  }
}
@media screen and (max-width: 767px) {
  .work-main-slider .slick-prev {
    width: 34px;
    height: 34px;
    left: -17px;
  }
}
.work-main-slider .slick-prev:before {
  content: none;
}

.work-thumbnail-slider {
  margin: 0 -6px;
}
@media screen and (max-width: 1199px) {
  .work-thumbnail-slider {
    margin: 0 -0.5vw;
  }
}
@media screen and (max-width: 991px) {
  .work-thumbnail-slider {
    margin: 0 -0.7vw;
  }
}
@media screen and (max-width: 767px) {
  .work-thumbnail-slider {
    margin: 0 -1vw;
  }
}
.work-thumbnail-slider .thumbnail-item {
  cursor: pointer;
  margin: 0 6px;
}
@media screen and (max-width: 1199px) {
  .work-thumbnail-slider .thumbnail-item {
    margin: 0 0.5vw;
  }
}
@media screen and (max-width: 991px) {
  .work-thumbnail-slider .thumbnail-item {
    margin: 0 0.7vw;
  }
}
@media screen and (max-width: 767px) {
  .work-thumbnail-slider .thumbnail-item {
    margin: 0 1vw;
  }
}
.work-thumbnail-slider .thumbnail-item img {
  border-radius: 5px;
  height: 108px;
  -o-object-fit: cover;
  object-fit: cover;
}
@media screen and (max-width: 1199px) {
  .work-thumbnail-slider .thumbnail-item img {
    height: 9vw;
  }
}
@media screen and (max-width: 991px) {
  .work-thumbnail-slider .thumbnail-item img {
    height: 14.5vw;
  }
}

.work__detail {
  width: 42%;
}
@media screen and (max-width: 991px) {
  .work__detail {
    width: 100%;
  }
}
.work__detail dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border-bottom: 0.5px solid #bababa;
  padding: 17px 20px;
  font-family: "Noto Sans JP Medium";
}
@media screen and (max-width: 1199px) {
  .work__detail dl {
    padding: 17px 10px;
  }
}
@media screen and (max-width: 767px) {
  .work__detail dl {
    padding: 15px 0;
  }
}
.work__detail dl:first-child {
  border-top: 0.5px solid #bababa;
}
.work__detail dl dt {
  min-width: 110px;
}
.work__detail dl dt span {
  display: inline-block;
  background-color: #f2f3f7;
  border-radius: 2px;
  min-width: 78px;
  padding: 5px 10px;
  text-align: center;
  font-size: 1.2rem;
  color: var(--color-base);
  letter-spacing: 0.05em;
  white-space: nowrap;
}
.work__detail dl dd {
  font-size: 1.4rem;
  line-height: 1.4;
  letter-spacing: 0.05em;
}

.work__content {
  margin-top: 20px;
  padding: 0 20px;
}
@media screen and (max-width: 1199px) {
  .work__content {
    padding: 0 10px;
  }
}
.work__content p {
  font-size: 1.4rem;
}

.other-works {
  padding: 100px 0 280px;
}
@media screen and (max-width: 767px) {
  .other-works {
    padding: 60px 0 140px;
  }
}
.other-works .sec-ttl {
  margin-bottom: 80px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .other-works .sec-ttl {
    margin-bottom: 45px;
  }
}
.other-works .works__img img {
  -webkit-transform: scale(1.05);
  transform: scale(1.05);
}

.other-works__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 33px;
}
@media screen and (max-width: 1199px) {
  .other-works__list {
    gap: 2.5vw;
  }
}
@media screen and (max-width: 767px) {
  .other-works__list {
    grid-template-columns: repeat(1, 1fr);
    gap: 30px;
    max-width: 500px;
    width: 100%;
    margin: 0 auto;
  }
}
.other-works__list .works__content {
  background-color: #eef1f6;
}
.other-works__list .cat-tag {
  background-color: #fff;
}
.other-works__list .works__img {
  border-radius: 15px 15px 0 0;
}
@media screen and (max-width: 575px) {
  .other-works__list .works__img {
    border-radius: 10px 10px 0 0;
  }
}
.other-works__list .works__img img {
  height: 222px;
}
@media screen and (max-width: 991px) {
  .other-works__list .works__img img {
    height: 21vw;
  }
}
@media screen and (max-width: 767px) {
  .other-works__list .works__img img {
    height: 350px;
  }
}
@media screen and (max-width: 575px) {
  .other-works__list .works__img img {
    height: 62vw;
  }
}
@media screen and (max-width: 991px) {
  .other-works__list .works__content {
    padding: 20px 2vw;
  }
}
@media screen and (max-width: 767px) {
  .other-works__list .works__content {
    padding: 20px;
  }
}
@media screen and (max-width: 991px) {
  .other-works__list .works__content .ttl {
    font-size: 1.6rem;
  }
}

/*--------------------------------
	採用情報ページ
--------------------------------*/
.page-id-18 .job-about__img .img2:before {
  content: "Sales";
  bottom: -83px;
  left: -70px;
  font-size: 15rem;
}
@media screen and (max-width: 1199px) {
  .page-id-18 .job-about__img .img2:before {
    bottom: -6.5vw;
    left: -6vw;
    font-size: 12vw;
  }
}
@media screen and (max-width: 767px) {
  .page-id-18 .job-about__img .img2:before {
    bottom: -8vw;
    left: auto;
    right: -2vw;
    -webkit-transform: rotate(-10deg);
    transform: rotate(-10deg);
    font-size: 16vw;
  }
}
.page-id-18 .job-about .job__ttl .ja .br {
  display: none;
}
@media screen and (max-width: 991px) {
  .page-id-18 .job-about .job__ttl .ja .br {
    display: block;
  }
}
@media screen and (max-width: 767px) {
  .page-id-18 .job-about .job__ttl .ja .br {
    display: none;
  }
}
.page-id-18 .job-about__content h3 .br {
  display: none;
}
@media screen and (max-width: 1199px) {
  .page-id-18 .job-about__content h3 .br {
    display: block;
  }
}
@media screen and (max-width: 767px) {
  .page-id-18 .job-about__content h3 .br {
    display: none;
  }
}
@media screen and (max-width: 575px) {
  .page-id-18 .job-about__content h3 .br {
    display: block;
  }
}

/* 営業事務 */
.page-id-22 .job-about__img .img2:before {
  content: "Sales Office";
  bottom: -32px;
  left: -130px;
  font-size: 13.3rem;
}
@media screen and (max-width: 1199px) {
  .page-id-22 .job-about__img .img2:before {
    bottom: -2.5vw;
    left: -8.5vw;
    font-size: 9.8vw;
  }
}
@media screen and (max-width: 767px) {
  .page-id-22 .job-about__img .img2:before {
    bottom: -5vw;
    left: auto;
    right: -2vw;
    -webkit-transform: rotate(-10deg);
    transform: rotate(-10deg);
    font-size: 11vw;
  }
}
.page-id-22 .job-about .job__ttl .ja .br {
  display: none;
}
@media screen and (max-width: 991px) {
  .page-id-22 .job-about .job__ttl .ja .br {
    display: block;
  }
}
@media screen and (max-width: 767px) {
  .page-id-22 .job-about .job__ttl .ja .br {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .page-id-22 .job-about__content h3 .br {
    display: none;
  }
}
@media screen and (max-width: 575px) {
  .page-id-22 .job-about__content h3 .br {
    display: block;
  }
}

/* 足場施工職 */
.page-id-26 .job-about__img .img2:before {
  content: "Scaffolding";
  bottom: -50px;
  left: -130px;
  font-size: 13.3rem;
  padding-bottom: 15px;
}
@media screen and (max-width: 1199px) {
  .page-id-26 .job-about__img .img2:before {
    bottom: -3.8vw;
    left: -8.5vw;
    font-size: 9.8vw;
  }
}
@media screen and (max-width: 767px) {
  .page-id-26 .job-about__img .img2:before {
    bottom: -7vw;
    left: auto;
    right: -2vw;
    -webkit-transform: rotate(-10deg);
    transform: rotate(-10deg);
    font-size: 11vw;
  }
}
.page-id-26 .job-about .job__ttl .ja .br {
  display: none;
}
@media screen and (max-width: 1199px) {
  .page-id-26 .job-about .job__ttl .ja .br {
    display: block;
  }
}
@media screen and (max-width: 991px) {
  .page-id-26 .job-about .job__ttl .ja .br {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .page-id-26 .job-about__content h3 .br {
    display: none;
  }
}
@media screen and (max-width: 575px) {
  .page-id-26 .job-about__content h3 .br {
    display: block;
  }
}

/* フォークリフト */
.page-id-20 .job-about__img .img2:before {
  content: "Forklift";
  bottom: -55px;
  left: -85px;
  font-size: 14rem;
}
@media screen and (max-width: 1199px) {
  .page-id-20 .job-about__img .img2:before {
    bottom: -4vw;
    left: -7vw;
    font-size: 10.5vw;
  }
}
@media screen and (max-width: 767px) {
  .page-id-20 .job-about__img .img2:before {
    bottom: -6vw;
    left: auto;
    right: -2vw;
    -webkit-transform: rotate(-10deg);
    transform: rotate(-10deg);
    font-size: 13vw;
  }
}
.page-id-20 .job-about .job__ttl .ja .br {
  display: none;
}
@media screen and (max-width: 991px) {
  .page-id-20 .job-about .job__ttl .ja .br {
    display: block;
  }
}
@media screen and (max-width: 767px) {
  .page-id-20 .job-about .job__ttl .ja .br {
    display: none;
  }
}
@media screen and (max-width: 991px) {
  .page-id-20 .job-about__content h3 .br1 {
    display: none;
  }
}
@media screen and (max-width: 575px) {
  .page-id-20 .job-about__content h3 .br1 {
    display: block;
  }
}
.page-id-20 .job-about__content h3 .br2 {
  display: none;
}
@media screen and (max-width: 991px) {
  .page-id-20 .job-about__content h3 .br2 {
    display: block;
  }
}
@media screen and (max-width: 1199px) {
  .page-id-20 .job-about__content h3 .br3 {
    display: none;
  }
}
@media screen and (max-width: 575px) {
  .page-id-20 .job-about__content h3 .br3 {
    display: block;
  }
}

/* 総務事務 */
.page-id-24 .job-about__img .img2:before {
  content: "General affairs";
  bottom: -15px;
  left: -85px;
  font-size: 10.5rem;
}
@media screen and (max-width: 1199px) {
  .page-id-24 .job-about__img .img2:before {
    bottom: -1vw;
    left: -6vw;
    font-size: 7.5vw;
  }
}
@media screen and (max-width: 767px) {
  .page-id-24 .job-about__img .img2:before {
    bottom: -4vw;
    left: auto;
    right: -2vw;
    -webkit-transform: rotate(-10deg);
    transform: rotate(-10deg);
    font-size: 12vw;
  }
}
.page-id-24 .job-about .job__ttl .ja .br {
  display: none;
}
@media screen and (max-width: 991px) {
  .page-id-24 .job-about .job__ttl .ja .br {
    display: block;
  }
}
@media screen and (max-width: 767px) {
  .page-id-24 .job-about .job__ttl .ja .br {
    display: none;
  }
}
.page-id-24 .job-about__content h3 .br {
  display: none;
}
@media screen and (max-width: 1199px) {
  .page-id-24 .job-about__content h3 .br {
    display: block;
  }
}
@media screen and (max-width: 767px) {
  .page-id-24 .job-about__content h3 .br {
    display: none;
  }
}
@media screen and (max-width: 575px) {
  .page-id-24 .job-about__content h3 .br {
    display: block;
  }
}

.page-id-18,
.page-id-20,
.page-id-22,
.page-id-24,
.page-id-26,
.single-staff {
  color: #192c55;
}
.page-id-18 .header,
.page-id-20 .header,
.page-id-22 .header,
.page-id-24 .header,
.page-id-26 .header,
.single-staff .header {
  background-color: transparent;
  top: 0;
  left: 0;
  -webkit-transform: translateX(0);
  transform: translateX(0);
  width: 100%;
  height: 90px;
  border-radius: 0;
  -webkit-box-shadow: none;
  box-shadow: none;
}
@media screen and (max-width: 991px) {
  .page-id-18 .header,
  .page-id-20 .header,
  .page-id-22 .header,
  .page-id-24 .header,
  .page-id-26 .header,
  .single-staff .header {
    height: 78px;
  }
}
.page-id-18 .header.scrolled,
.page-id-20 .header.scrolled,
.page-id-22 .header.scrolled,
.page-id-24 .header.scrolled,
.page-id-26 .header.scrolled,
.single-staff .header.scrolled {
  background: -webkit-gradient(
    linear,
    left top,
    left bottom,
    from(rgba(64, 166, 235, 0.9529411765)),
    to(rgba(228, 241, 248, 0))
  );
  background: linear-gradient(
    rgba(64, 166, 235, 0.9529411765) 0%,
    rgba(228, 241, 248, 0) 100%
  );
}
.page-id-18 .header.is-open .drawer,
.page-id-20 .header.is-open .drawer,
.page-id-22 .header.is-open .drawer,
.page-id-24 .header.is-open .drawer,
.page-id-26 .header.is-open .drawer,
.single-staff .header.is-open .drawer {
  visibility: visible;
  opacity: 1;
}
.page-id-18 .header.is-open .hamburger__bar,
.page-id-20 .header.is-open .hamburger__bar,
.page-id-22 .header.is-open .hamburger__bar,
.page-id-24 .header.is-open .hamburger__bar,
.page-id-26 .header.is-open .hamburger__bar,
.single-staff .header.is-open .hamburger__bar {
  background-color: #fff;
}
.page-id-18 .header > .inner,
.page-id-20 .header > .inner,
.page-id-22 .header > .inner,
.page-id-24 .header > .inner,
.page-id-26 .header > .inner,
.single-staff .header > .inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
  height: 100%;
  padding-left: 80px;
  padding-right: 55px;
}
@media screen and (max-width: 1199px) {
  .page-id-18 .header > .inner,
  .page-id-20 .header > .inner,
  .page-id-22 .header > .inner,
  .page-id-24 .header > .inner,
  .page-id-26 .header > .inner,
  .single-staff .header > .inner {
    padding-left: 4vw;
    padding-right: 4vw;
  }
}
@media screen and (max-width: 991px) {
  .page-id-18 .header > .inner,
  .page-id-20 .header > .inner,
  .page-id-22 .header > .inner,
  .page-id-24 .header > .inner,
  .page-id-26 .header > .inner,
  .single-staff .header > .inner {
    padding: 0;
  }
}
.page-id-18 .header__logo,
.page-id-20 .header__logo,
.page-id-22 .header__logo,
.page-id-24 .header__logo,
.page-id-26 .header__logo,
.single-staff .header__logo {
  z-index: 101;
}
.page-id-18 .header__logo > div,
.page-id-20 .header__logo > div,
.page-id-22 .header__logo > div,
.page-id-24 .header__logo > div,
.page-id-26 .header__logo > div,
.single-staff .header__logo > div {
  position: relative;
}
.page-id-18 .header__logo > div:after,
.page-id-20 .header__logo > div:after,
.page-id-22 .header__logo > div:after,
.page-id-24 .header__logo > div:after,
.page-id-26 .header__logo > div:after,
.single-staff .header__logo > div:after {
  content: "採用サイト";
  position: absolute;
  top: 0;
  right: -103px;
  font-size: 1.2rem;
  color: #fff;
  font-family: "Noto Sans JP SemiBold";
  letter-spacing: 0.05em;
  border: 1px solid #fff;
  border-radius: 15px;
  padding: 4px 13px 5px;
}
@media screen and (max-width: 767px) {
  .page-id-18 .header__logo > div:after,
  .page-id-20 .header__logo > div:after,
  .page-id-22 .header__logo > div:after,
  .page-id-24 .header__logo > div:after,
  .page-id-26 .header__logo > div:after,
  .single-staff .header__logo > div:after {
    top: 1px;
    right: -80px;
    font-size: 1rem;
    padding: 3px 6px 4px 8px;
  }
}
.page-id-18 .header__logo a,
.page-id-20 .header__logo a,
.page-id-22 .header__logo a,
.page-id-24 .header__logo a,
.page-id-26 .header__logo a,
.single-staff .header__logo a {
  width: 100px;
}
@media screen and (max-width: 767px) {
  .page-id-18 .header__logo a,
  .page-id-20 .header__logo a,
  .page-id-22 .header__logo a,
  .page-id-24 .header__logo a,
  .page-id-26 .header__logo a,
  .single-staff .header__logo a {
    width: 90px;
  }
}
.page-id-18 .drawer,
.page-id-20 .drawer,
.page-id-22 .drawer,
.page-id-24 .drawer,
.page-id-26 .drawer,
.single-staff .drawer {
  -webkit-transition: all 0.4s linear;
  transition: all 0.4s linear;
}
.page-id-18 .hamburger,
.page-id-20 .hamburger,
.page-id-22 .hamburger,
.page-id-24 .hamburger,
.page-id-26 .hamburger,
.single-staff .hamburger {
  background-color: #fff;
  -webkit-transition-delay: 0s !important;
  transition-delay: 0s !important;
}
.page-id-18 .hamburger__bar,
.page-id-20 .hamburger__bar,
.page-id-22 .hamburger__bar,
.page-id-24 .hamburger__bar,
.page-id-26 .hamburger__bar,
.single-staff .hamburger__bar {
  background-color: #45a7ea;
}
.page-id-18 .gNav ul,
.page-id-20 .gNav ul,
.page-id-22 .gNav ul,
.page-id-24 .gNav ul,
.page-id-26 .gNav ul,
.single-staff .gNav ul {
  gap: 40px;
}
.page-id-18 .gNav ul li.entry-btn,
.page-id-20 .gNav ul li.entry-btn,
.page-id-22 .gNav ul li.entry-btn,
.page-id-24 .gNav ul li.entry-btn,
.page-id-26 .gNav ul li.entry-btn,
.single-staff .gNav ul li.entry-btn {
  margin-left: 15px;
}
.page-id-18 .gNav ul li.entry-btn a,
.page-id-20 .gNav ul li.entry-btn a,
.page-id-22 .gNav ul li.entry-btn a,
.page-id-24 .gNav ul li.entry-btn a,
.page-id-26 .gNav ul li.entry-btn a,
.single-staff .gNav ul li.entry-btn a {
  width: 200px;
  height: 49px;
  color: #248cd9;
  line-height: 49px;
  text-align: center;
  font-family: "Noto Sans JP SemiBold";
  background-color: #fff;
  border-radius: 25px;
  padding: 0;
}
.page-id-18 .gNav ul li.entry-btn a:after,
.page-id-20 .gNav ul li.entry-btn a:after,
.page-id-22 .gNav ul li.entry-btn a:after,
.page-id-24 .gNav ul li.entry-btn a:after,
.page-id-26 .gNav ul li.entry-btn a:after,
.single-staff .gNav ul li.entry-btn a:after {
  content: none;
}
.page-id-18 .gNav ul li a,
.page-id-20 .gNav ul li a,
.page-id-22 .gNav ul li a,
.page-id-24 .gNav ul li a,
.page-id-26 .gNav ul li a,
.single-staff .gNav ul li a {
  font-size: 1.6rem;
  font-family: "Noto Sans JP Bold";
  color: #fff;
}
.page-id-18 .gNav ul li a:after,
.page-id-20 .gNav ul li a:after,
.page-id-22 .gNav ul li a:after,
.page-id-24 .gNav ul li a:after,
.page-id-26 .gNav ul li a:after,
.single-staff .gNav ul li a:after {
  background-color: #fff;
}
.page-id-18 .drawer,
.page-id-20 .drawer,
.page-id-22 .drawer,
.page-id-24 .drawer,
.page-id-26 .drawer,
.single-staff .drawer {
  background: -webkit-gradient(
    linear,
    left top,
    left bottom,
    from(#1782d3),
    color-stop(40%, #2e96e0),
    color-stop(58%, #40a6eb),
    color-stop(89%, #59c8f9),
    to(#e4f1f8)
  );
  background: linear-gradient(
    #1782d3 0%,
    #2e96e0 40%,
    #40a6eb 58%,
    #59c8f9 89%,
    #e4f1f8 100%
  );
}
.page-id-18 .mNav__item.entry-btn,
.page-id-20 .mNav__item.entry-btn,
.page-id-22 .mNav__item.entry-btn,
.page-id-24 .mNav__item.entry-btn,
.page-id-26 .mNav__item.entry-btn,
.single-staff .mNav__item.entry-btn {
  margin-top: 32px;
}
.page-id-18 .mNav__item.entry-btn a,
.page-id-20 .mNav__item.entry-btn a,
.page-id-22 .mNav__item.entry-btn a,
.page-id-24 .mNav__item.entry-btn a,
.page-id-26 .mNav__item.entry-btn a,
.single-staff .mNav__item.entry-btn a {
  display: block;
  width: 180px;
  height: 44px;
  font-size: 1.4rem;
  color: #45a7ea;
  line-height: 44px;
  text-align: center;
  font-family: "Noto Sans JP SemiBold";
  background-color: #fff;
  border-radius: 31px;
  margin: 0 auto;
}
.page-id-18 .mNav__item a,
.page-id-20 .mNav__item a,
.page-id-22 .mNav__item a,
.page-id-24 .mNav__item a,
.page-id-26 .mNav__item a,
.single-staff .mNav__item a {
  opacity: 1;
  -webkit-transform: translateY(0) !important;
  transform: translateY(0) !important;
  -webkit-transition: none;
  transition: none;
}
.page-id-18 .mNav__item-sub,
.page-id-20 .mNav__item-sub,
.page-id-22 .mNav__item-sub,
.page-id-24 .mNav__item-sub,
.page-id-26 .mNav__item-sub,
.single-staff .mNav__item-sub {
  margin-top: 20px;
}
.page-id-18 .mNav__item-sub li:not(:last-child),
.page-id-20 .mNav__item-sub li:not(:last-child),
.page-id-22 .mNav__item-sub li:not(:last-child),
.page-id-24 .mNav__item-sub li:not(:last-child),
.page-id-26 .mNav__item-sub li:not(:last-child),
.single-staff .mNav__item-sub li:not(:last-child) {
  margin-bottom: 15px;
}
.page-id-18 .mNav__item-sub li a,
.page-id-20 .mNav__item-sub li a,
.page-id-22 .mNav__item-sub li a,
.page-id-24 .mNav__item-sub li a,
.page-id-26 .mNav__item-sub li a,
.single-staff .mNav__item-sub li a {
  font-size: 1.5rem;
  font-family: "Noto Sans JP Medium";
}
.page-id-18 .footer,
.page-id-20 .footer,
.page-id-22 .footer,
.page-id-24 .footer,
.page-id-26 .footer,
.single-staff .footer {
  overflow-x: visible;
}
.page-id-18 .footer:before,
.page-id-20 .footer:before,
.page-id-22 .footer:before,
.page-id-24 .footer:before,
.page-id-26 .footer:before,
.single-staff .footer:before {
  content: none;
}
.page-id-18 .footer:after,
.page-id-20 .footer:after,
.page-id-22 .footer:after,
.page-id-24 .footer:after,
.page-id-26 .footer:after,
.single-staff .footer:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 30px;
  background-color: #f5f7fa;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .page-id-18 .footer:after,
  .page-id-20 .footer:after,
  .page-id-22 .footer:after,
  .page-id-24 .footer:after,
  .page-id-26 .footer:after,
  .single-staff .footer:after {
    height: 20px;
  }
}
.page-id-18 .footer__content,
.page-id-20 .footer__content,
.page-id-22 .footer__content,
.page-id-24 .footer__content,
.page-id-26 .footer__content,
.single-staff .footer__content {
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  margin-bottom: 50px;
}
@media screen and (max-width: 767px) {
  .page-id-18 .footer__content,
  .page-id-20 .footer__content,
  .page-id-22 .footer__content,
  .page-id-24 .footer__content,
  .page-id-26 .footer__content,
  .single-staff .footer__content {
    margin-bottom: 30px;
  }
}
.page-id-18 .footer__logo,
.page-id-20 .footer__logo,
.page-id-22 .footer__logo,
.page-id-24 .footer__logo,
.page-id-26 .footer__logo,
.single-staff .footer__logo {
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .page-id-18 .footer__logo,
  .page-id-20 .footer__logo,
  .page-id-22 .footer__logo,
  .page-id-24 .footer__logo,
  .page-id-26 .footer__logo,
  .single-staff .footer__logo {
    margin-bottom: 35px;
  }
}
.page-id-18 .footer__logo span,
.page-id-20 .footer__logo span,
.page-id-22 .footer__logo span,
.page-id-24 .footer__logo span,
.page-id-26 .footer__logo span,
.single-staff .footer__logo span {
  display: inline-block;
  font-size: 2.2rem;
  letter-spacing: 0.1em;
  font-family: "Noto Sans JP Medium";
  margin-top: 20px;
}
@media screen and (max-width: 767px) {
  .page-id-18 .footer__logo span,
  .page-id-20 .footer__logo span,
  .page-id-22 .footer__logo span,
  .page-id-24 .footer__logo span,
  .page-id-26 .footer__logo span,
  .single-staff .footer__logo span {
    font-size: 1.3rem;
    margin-top: 15px;
  }
}
.page-id-18 .footer__btns,
.page-id-20 .footer__btns,
.page-id-22 .footer__btns,
.page-id-24 .footer__btns,
.page-id-26 .footer__btns,
.single-staff .footer__btns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  gap: 30px;
}
@media screen and (max-width: 991px) {
  .page-id-18 .footer__btns,
  .page-id-20 .footer__btns,
  .page-id-22 .footer__btns,
  .page-id-24 .footer__btns,
  .page-id-26 .footer__btns,
  .single-staff .footer__btns {
    margin-bottom: 20px;
  }
}
@media screen and (max-width: 767px) {
  .page-id-18 .footer__btns,
  .page-id-20 .footer__btns,
  .page-id-22 .footer__btns,
  .page-id-24 .footer__btns,
  .page-id-26 .footer__btns,
  .single-staff .footer__btns {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-flow: column;
    flex-flow: column;
    gap: 15px;
    margin-bottom: 35px;
  }
}
@media screen and (max-width: 767px) {
  .page-id-18 .footer__btns.pc,
  .page-id-20 .footer__btns.pc,
  .page-id-22 .footer__btns.pc,
  .page-id-24 .footer__btns.pc,
  .page-id-26 .footer__btns.pc,
  .single-staff .footer__btns.pc {
    display: none;
  }
}
.page-id-18 .footer__btns.sp,
.page-id-20 .footer__btns.sp,
.page-id-22 .footer__btns.sp,
.page-id-24 .footer__btns.sp,
.page-id-26 .footer__btns.sp,
.single-staff .footer__btns.sp {
  display: none;
}
@media screen and (max-width: 767px) {
  .page-id-18 .footer__btns.sp,
  .page-id-20 .footer__btns.sp,
  .page-id-22 .footer__btns.sp,
  .page-id-24 .footer__btns.sp,
  .page-id-26 .footer__btns.sp,
  .single-staff .footer__btns.sp {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
@media screen and (max-width: 767px) {
  .page-id-18 .toReviews-btn,
  .page-id-20 .toReviews-btn,
  .page-id-22 .toReviews-btn,
  .page-id-24 .toReviews-btn,
  .page-id-26 .toReviews-btn,
  .single-staff .toReviews-btn {
    margin-left: 0;
  }
}
.page-id-18 .nav-wrap,
.page-id-20 .nav-wrap,
.page-id-22 .nav-wrap,
.page-id-24 .nav-wrap,
.page-id-26 .nav-wrap,
.single-staff .nav-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 125px;
  margin-top: -30px;
}
@media screen and (max-width: 1199px) {
  .page-id-18 .nav-wrap,
  .page-id-20 .nav-wrap,
  .page-id-22 .nav-wrap,
  .page-id-24 .nav-wrap,
  .page-id-26 .nav-wrap,
  .single-staff .nav-wrap {
    gap: 10vw;
  }
}
@media screen and (max-width: 767px) {
  .page-id-18 .nav-wrap,
  .page-id-20 .nav-wrap,
  .page-id-22 .nav-wrap,
  .page-id-24 .nav-wrap,
  .page-id-26 .nav-wrap,
  .single-staff .nav-wrap {
    display: block;
    margin-top: 0;
  }
}
@media screen and (max-width: 767px) {
  .page-id-18 .footer__nav,
  .page-id-20 .footer__nav,
  .page-id-22 .footer__nav,
  .page-id-24 .footer__nav,
  .page-id-26 .footer__nav,
  .single-staff .footer__nav {
    margin-bottom: 38px;
  }
}
.page-id-18 .footer__nav ul,
.page-id-20 .footer__nav ul,
.page-id-22 .footer__nav ul,
.page-id-24 .footer__nav ul,
.page-id-26 .footer__nav ul,
.single-staff .footer__nav ul {
  grid-template-columns: repeat(1, 1fr);
  gap: 30px;
}
@media screen and (max-width: 767px) {
  .page-id-18 .footer__nav ul,
  .page-id-20 .footer__nav ul,
  .page-id-22 .footer__nav ul,
  .page-id-24 .footer__nav ul,
  .page-id-26 .footer__nav ul,
  .single-staff .footer__nav ul {
    grid-template-columns: repeat(2, 1fr);
    gap: 15px 30px;
  }
}
.page-id-18 .footer__nav ul li a,
.page-id-20 .footer__nav ul li a,
.page-id-22 .footer__nav ul li a,
.page-id-24 .footer__nav ul li a,
.page-id-26 .footer__nav ul li a,
.single-staff .footer__nav ul li a {
  font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
  .page-id-18 .footer__nav ul li a,
  .page-id-20 .footer__nav ul li a,
  .page-id-22 .footer__nav ul li a,
  .page-id-24 .footer__nav ul li a,
  .page-id-26 .footer__nav ul li a,
  .single-staff .footer__nav ul li a {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 767px) {
  .page-id-18 .footer__info,
  .page-id-20 .footer__info,
  .page-id-22 .footer__info,
  .page-id-24 .footer__info,
  .page-id-26 .footer__info,
  .single-staff .footer__info {
    margin-bottom: 0;
  }
}
@media screen and (max-width: 767px) {
  .page-id-18 .footer__info h4,
  .page-id-20 .footer__info h4,
  .page-id-22 .footer__info h4,
  .page-id-24 .footer__info h4,
  .page-id-26 .footer__info h4,
  .single-staff .footer__info h4 {
    font-size: 1.4rem;
    margin-bottom: 5px;
  }
}
@media screen and (max-width: 767px) {
  .page-id-18 .footer__info p,
  .page-id-20 .footer__info p,
  .page-id-22 .footer__info p,
  .page-id-24 .footer__info p,
  .page-id-26 .footer__info p,
  .single-staff .footer__info p {
    font-size: 1.3rem;
  }
}
.page-id-18 .footer__info .number,
.page-id-20 .footer__info .number,
.page-id-22 .footer__info .number,
.page-id-24 .footer__info .number,
.page-id-26 .footer__info .number,
.single-staff .footer__info .number {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-flow: column;
  flex-flow: column;
  gap: 3px;
}
@media screen and (max-width: 767px) {
  .page-id-18 .footer__info .number,
  .page-id-20 .footer__info .number,
  .page-id-22 .footer__info .number,
  .page-id-24 .footer__info .number,
  .page-id-26 .footer__info .number,
  .single-staff .footer__info .number {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row;
    flex-flow: row;
    gap: 16px;
  }
}
@media screen and (max-width: 767px) {
  .page-id-18 .footer__info .number dl dt,
  .page-id-20 .footer__info .number dl dt,
  .page-id-22 .footer__info .number dl dt,
  .page-id-24 .footer__info .number dl dt,
  .page-id-26 .footer__info .number dl dt,
  .single-staff .footer__info .number dl dt {
    font-size: 1.2rem;
  }
}
@media screen and (max-width: 767px) {
  .page-id-18 .footer__info .number dl dd,
  .page-id-20 .footer__info .number dl dd,
  .page-id-22 .footer__info .number dl dd,
  .page-id-24 .footer__info .number dl dd,
  .page-id-26 .footer__info .number dl dd,
  .single-staff .footer__info .number dl dd {
    font-size: 1.5rem;
  }
}
.page-id-18 .footer__sns,
.page-id-20 .footer__sns,
.page-id-22 .footer__sns,
.page-id-24 .footer__sns,
.page-id-26 .footer__sns,
.single-staff .footer__sns {
  margin-bottom: 0;
}
@media screen and (max-width: 767px) {
  .page-id-18 .footer__sns,
  .page-id-20 .footer__sns,
  .page-id-22 .footer__sns,
  .page-id-24 .footer__sns,
  .page-id-26 .footer__sns,
  .single-staff .footer__sns {
    margin-bottom: 38px;
  }
}
@media screen and (max-width: 767px) {
  .page-id-18 .footer__sns h4,
  .page-id-20 .footer__sns h4,
  .page-id-22 .footer__sns h4,
  .page-id-24 .footer__sns h4,
  .page-id-26 .footer__sns h4,
  .single-staff .footer__sns h4 {
    border-bottom: none;
    margin-bottom: 15px;
    padding-bottom: 0;
  }
}
.page-id-18 .footer__sns ul,
.page-id-20 .footer__sns ul,
.page-id-22 .footer__sns ul,
.page-id-24 .footer__sns ul,
.page-id-26 .footer__sns ul,
.single-staff .footer__sns ul {
  display: block;
  margin-bottom: 0;
}
@media screen and (max-width: 767px) {
  .page-id-18 .footer__sns ul,
  .page-id-20 .footer__sns ul,
  .page-id-22 .footer__sns ul,
  .page-id-24 .footer__sns ul,
  .page-id-26 .footer__sns ul,
  .single-staff .footer__sns ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    max-width: 100%;
    gap: 20px;
  }
}
@media screen and (max-width: 767px) {
  .page-id-18 .footer__sns ul li,
  .page-id-20 .footer__sns ul li,
  .page-id-22 .footer__sns ul li,
  .page-id-24 .footer__sns ul li,
  .page-id-26 .footer__sns ul li,
  .single-staff .footer__sns ul li {
    width: auto;
    display: block;
  }
}
@media screen and (max-width: 767px) {
  .page-id-18 .footer__sns ul li a,
  .page-id-20 .footer__sns ul li a,
  .page-id-22 .footer__sns ul li a,
  .page-id-24 .footer__sns ul li a,
  .page-id-26 .footer__sns ul li a,
  .single-staff .footer__sns ul li a {
    font-size: 1.2rem;
    padding-top: 0;
    padding-left: 35px;
  }
}
.page-id-18 .footer__sns ul li a:before,
.page-id-20 .footer__sns ul li a:before,
.page-id-22 .footer__sns ul li a:before,
.page-id-24 .footer__sns ul li a:before,
.page-id-26 .footer__sns ul li a:before,
.single-staff .footer__sns ul li a:before {
  top: 50%;
  left: 0;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
  width: 25px;
  height: 25px;
}

.toSite-btn {
  display: block;
  max-width: 350px;
  width: 100%;
  height: 52px;
  font-size: 1.6rem;
  color: #fff;
  line-height: 50px;
  text-align: center;
  border: 1px solid #fff;
  border-radius: 30px;
  font-family: "Noto Sans JP Bold";
  padding-right: 30px;
  -webkit-transition: all 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  transition: all 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  position: relative;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .toSite-btn {
    max-width: 230px;
    height: 44px;
    font-size: 1.1rem;
    line-height: 42px;
  }
}
.toSite-btn:after {
  content: "";
  background-image: url(../images/footer/arrow_icon.png),
    url(../images/footer/arrow_icon_hover.png);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  right: 35px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  -webkit-transition: all 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  transition: all 0.3s cubic-bezier(0.19, 1, 0.22, 1);
}
@media screen and (max-width: 767px) {
  .toSite-btn:after {
    right: 28px;
    width: 15px;
    height: 15px;
  }
}
.toSite-btn:hover {
  color: var(--color-base);
  background-color: #fff;
}
.toSite-btn:hover:after {
  background-image: url(../images/footer/arrow_icon_hover.png);
}

.mv-recruit {
  width: 100%;
  height: calc(100vh + 140px);
  background: -webkit-gradient(
    linear,
    left top,
    left bottom,
    from(#1782d3),
    color-stop(40%, rgba(46, 150, 224, 0.9725490196)),
    color-stop(58%, rgba(64, 166, 235, 0.9529411765)),
    color-stop(79%, rgba(89, 200, 249, 0.9254901961)),
    color-stop(93%, #e4f1f8),
    to(rgba(228, 241, 248, 0))
  );
  background: linear-gradient(
    #1782d3 0%,
    rgba(46, 150, 224, 0.9725490196) 40%,
    rgba(64, 166, 235, 0.9529411765) 58%,
    rgba(89, 200, 249, 0.9254901961) 79%,
    #e4f1f8 93%,
    rgba(228, 241, 248, 0) 100%
  );
}
@media screen and (max-width: 767px) {
  .mv-recruit {
    height: calc(100vh + 120px);
  }
}
.mv-recruit > .inner {
  position: relative;
  width: 100%;
  height: 100vh;
}
.mv-recruit .slider-wrap {
  position: absolute;
  top: 50%;
  right: 5%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2vw;
}
@media screen and (max-width: 1399px) {
  .mv-recruit .slider-wrap {
    gap: 28px;
  }
}
@media screen and (max-width: 991px) {
  .mv-recruit .slider-wrap {
    right: 4%;
    gap: 23px;
  }
}
@media screen and (max-width: 767px) {
  .mv-recruit .slider-wrap {
    left: 50%;
    right: auto;
    top: 13vh;
    -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    gap: 10px;
  }
}
@media screen and (max-width: 575px) {
  .mv-recruit .slider-wrap {
    gap: 8px;
  }
}
.mv-recruit .slider-wrap:after {
  content: "";
  background: url(../images/recruit/join_us@2x.png) no-repeat;
  background-size: contain;
  position: absolute;
  bottom: 0.7vw;
  left: -23.3vw;
  width: 29vw;
  height: 7vw;
  z-index: 5;
  opacity: 0;
  -webkit-transform: translate3d(0, 30px, 0);
  transform: translate3d(0, 30px, 0);
  -webkit-transition: 0.6s cubic-bezier(0.39, 0.575, 0.565, 1);
  transition: 0.6s cubic-bezier(0.39, 0.575, 0.565, 1);
}
@media screen and (max-width: 1399px) {
  .mv-recruit .slider-wrap:after {
    bottom: 10px;
    left: -325px;
    width: 408px;
    height: 97px;
  }
}
@media screen and (max-width: 991px) {
  .mv-recruit .slider-wrap:after {
    bottom: 5px;
    left: -210px;
    width: 330px;
    height: 79px;
  }
}
@media screen and (max-width: 767px) {
  .mv-recruit .slider-wrap:after {
    bottom: 0;
    left: auto;
    right: 15px;
    width: 180px;
    height: 43px;
  }
}
.mv-recruit .recruit-slider {
  width: 14.4vw;
  height: 31.8vw;
  border-radius: 0.7vw;
  -webkit-box-shadow: 0px 7px 26px rgba(0, 0, 0, 0.1607843137);
  box-shadow: 0px 7px 26px rgba(0, 0, 0, 0.1607843137);
  overflow: hidden;
  opacity: 0;
  -webkit-transform: translate3d(0, 30px, 0);
  transform: translate3d(0, 30px, 0);
  -webkit-transition: 0.6s cubic-bezier(0.39, 0.575, 0.565, 1);
  transition: 0.6s cubic-bezier(0.39, 0.575, 0.565, 1);
}
@media screen and (max-width: 1399px) {
  .mv-recruit .recruit-slider {
    width: 200px;
    height: 445px;
    border-radius: 10px;
  }
}
@media screen and (max-width: 991px) {
  .mv-recruit .recruit-slider {
    width: 170px;
    height: 380px;
  }
}
@media screen and (max-width: 767px) {
  .mv-recruit .recruit-slider {
    width: 125px;
    height: 330px;
    border-radius: 7px;
  }
}
@media screen and (max-width: 575px) {
  .mv-recruit .recruit-slider {
    width: 115px;
    height: 305px;
  }
}
.mv-recruit .recruit-slider.recruit-slider--1 {
  margin-top: 5.7vw;
}
@media screen and (max-width: 1399px) {
  .mv-recruit .recruit-slider.recruit-slider--1 {
    margin-top: 80px;
  }
}
@media screen and (max-width: 991px) {
  .mv-recruit .recruit-slider.recruit-slider--1 {
    margin-top: 75px;
  }
}
.mv-recruit .recruit-slider.recruit-slider--3 {
  margin-top: 3.6vw;
}
@media screen and (max-width: 1399px) {
  .mv-recruit .recruit-slider.recruit-slider--3 {
    margin-top: 50px;
  }
}
@media screen and (max-width: 991px) {
  .mv-recruit .recruit-slider.recruit-slider--3 {
    margin-top: 45px;
  }
}
.mv-recruit .recruit-slider__side {
  width: 100%;
  height: 100%;
  overflow: hidden;
  position: relative;
}
.mv-recruit .recruit-slider__slide {
  position: absolute;
  overflow: hidden;
  width: 101%;
  height: 100%;
  visibility: hidden;
}
.mv-recruit .recruit-slider__slide:nth-child(2n) {
  visibility: visible;
}
.mv-recruit .recruit-slider__slide.active {
  z-index: 2;
}
.mv-recruit .recruit-slider__img {
  width: calc(100% + 1px);
  height: 100%;
  vertical-align: middle;
  -o-object-fit: cover;
  object-fit: cover;
  position: absolute;
  -webkit-clip-path: inset(0%);
  clip-path: inset(0%);
  top: 0;
  left: 0;
  background-color: #fff;
}

.mv-recruit__catch {
  position: absolute;
  top: 50%;
  left: 5%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  color: #fff;
  z-index: 10;
  white-space: nowrap;
}
@media screen and (max-width: 991px) {
  .mv-recruit__catch {
    left: 4%;
  }
}
@media screen and (max-width: 767px) {
  .mv-recruit__catch {
    top: calc(13vh + 435px);
    left: 50%;
    -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
  }
}
@media screen and (max-width: 575px) {
  .mv-recruit__catch {
    top: calc(13vh + 410px);
  }
}
.mv-recruit__catch .ja {
  font-size: 3.43vw;
  line-height: 1.4;
  letter-spacing: 0.07em;
  font-family: "Noto Sans JP SemiBold";
  margin-bottom: 1.8vw;
  -webkit-transform: translate(0, 50px);
  transform: translate(0, 50px);
  opacity: 0;
}
@media screen and (max-width: 1399px) {
  .mv-recruit__catch .ja {
    font-size: 4.8rem;
    margin-bottom: 25px;
  }
}
@media screen and (max-width: 767px) {
  .mv-recruit__catch .ja {
    font-size: 3.5rem;
    margin-bottom: 15px;
  }
}
.mv-recruit__catch .en {
  font-size: 0.93vw;
  line-height: 1.6;
  letter-spacing: 0.1em;
  font-family: "Lexend Medium";
  -webkit-transform: translate(0, 50px);
  transform: translate(0, 50px);
  opacity: 0;
}
@media screen and (max-width: 1399px) {
  .mv-recruit__catch .en {
    font-size: 1.3rem;
  }
}

.top-message {
  padding: 160px 0 200px;
}
@media screen and (max-width: 767px) {
  .top-message {
    margin-top: -50px;
    padding: 100px 0 20px;
  }
}

.top-message__ttl {
  margin-bottom: 140px;
}
@media screen and (max-width: 767px) {
  .top-message__ttl {
    margin-bottom: 50px;
    text-align: center;
  }
}
.top-message__ttl .en {
  font-size: 3rem;
  color: #45a7ea;
  letter-spacing: 0.05em;
  font-family: "Lexend Medium";
  margin-bottom: 35px;
}
@media screen and (max-width: 991px) {
  .top-message__ttl .en {
    font-size: 2.5rem;
    margin-bottom: 32px;
  }
}
@media screen and (max-width: 767px) {
  .top-message__ttl .en {
    font-size: 1.6rem;
    margin-bottom: 10px;
  }
}
.top-message__ttl .ja {
  font-size: 5.6rem;
  line-height: 1.4;
  letter-spacing: 0.07em;
  font-family: "Noto Sans JP Medium";
}
@media screen and (max-width: 991px) {
  .top-message__ttl .ja {
    font-size: 5rem;
  }
}
@media screen and (max-width: 767px) {
  .top-message__ttl .ja {
    font-size: 2.8rem;
  }
}

.top-message__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 124px;
}
@media screen and (max-width: 1199px) {
  .top-message__container {
    gap: 10vw;
  }
}
@media screen and (max-width: 767px) {
  .top-message__container {
    display: block;
  }
}
.top-message__container .ceo {
  margin-top: 25px;
}
.top-message__container .ceo .position {
  font-size: 1.5rem;
  line-height: 1.4;
  margin-bottom: 5px;
}
@media screen and (max-width: 991px) {
  .top-message__container .ceo .position {
    font-size: 1.4rem;
  }
}
.top-message__container .ceo .name {
  font-size: 1.9rem;
  line-height: 1.4;
  font-family: "Noto Sans JP Medium";
}
@media screen and (max-width: 991px) {
  .top-message__container .ceo .name {
    font-size: 1.8rem;
  }
}

.top-message__img {
  width: 32%;
}
@media screen and (max-width: 767px) {
  .top-message__img {
    max-width: 230px;
    width: 100%;
    margin: 0 auto 50px;
  }
}

.top-message__txt {
  width: 68%;
}
@media screen and (max-width: 767px) {
  .top-message__txt {
    width: 100%;
  }
}
.top-message__txt p {
  font-size: 1.5rem;
  font-family: "Noto Sans JP Medium";
}
@media screen and (max-width: 991px) {
  .top-message__txt p {
    font-size: 1.4rem;
  }
}

.point,
.person {
  background-color: #f1f6fc;
}
@media screen and (max-width: 767px) {
  .point,
  .person {
    background-color: transparent;
  }
}
.point h2,
.person h2 {
  text-align: center;
}
.point h2 .en,
.person h2 .en {
  font-size: 6rem;
  letter-spacing: 0.05em;
  font-family: "Lexend Medium";
  margin-bottom: 15px;
}
@media screen and (max-width: 767px) {
  .point h2 .en,
  .person h2 .en {
    font-size: 4.5rem;
    margin-bottom: 8px;
  }
}
.point h2 .ja,
.person h2 .ja {
  font-size: 2rem;
  color: #45a7ea;
  letter-spacing: 0.12em;
  font-family: "Noto Sans JP Medium";
}
@media screen and (max-width: 767px) {
  .point h2 .ja,
  .person h2 .ja {
    font-size: 1.3rem;
  }
}

.point {
  padding: 175px 0 90px;
  border-radius: 120px 0px 0px 0px;
}
@media screen and (max-width: 767px) {
  .point {
    padding: 100px 0 10px;
    border-radius: 0;
  }
}
.point h2 {
  margin-bottom: 160px;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .point h2 {
    margin-bottom: 50px;
  }
}
.point h2:before {
  content: "Work Styre";
  position: absolute;
  top: -30px;
  left: 50%;
  -webkit-transform: translateX(-50%) rotate(-7deg);
  transform: translateX(-50%) rotate(-7deg);
  font-size: 12.2rem;
  line-height: 1;
  letter-spacing: 0.01em;
  color: #fff;
  font-family: "Whisper Regular";
  white-space: nowrap;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .point h2:before {
    content: none;
  }
}

.point__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 155px;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}
@media screen and (max-width: 1199px) {
  .point__container {
    gap: 12vw;
  }
}
@media screen and (max-width: 767px) {
  .point__container {
    display: block;
  }
}

.point__img {
  width: 33%;
}
@media screen and (max-width: 767px) {
  .point__img {
    width: calc(100% + 10vw);
    margin: 0 -5vw;
  }
}
.point__img .slick-list {
  padding: 30px 0;
}
.point__img .slick-slide {
  margin: 0 1.8vw;
}
.point__img .slick-slide img {
  height: 33vw;
  -o-object-fit: cover;
  object-fit: cover;
  border-radius: 1.5vw;
  -webkit-box-shadow: 0px 7px 16px rgba(0, 0, 0, 0.1607843137);
  box-shadow: 0px 7px 16px rgba(0, 0, 0, 0.1607843137);
}

.point__card {
  width: 100%;
  height: 456px;
  position: absolute;
  top: 0;
  left: 0;
}
@media screen and (max-width: 1199px) {
  .point__card {
    height: 35vw;
  }
}
.point__card img {
  border-radius: 17px;
}
@media screen and (max-width: 1199px) {
  .point__card img {
    border-radius: 1.4vw;
  }
}

.point__card--1 {
  z-index: 3;
}

.point__card--2 {
  z-index: 2;
}

.point__card--3 {
  z-index: 1;
}
.point__card--3 img {
  -webkit-box-shadow: 0px 7px 16px rgba(0, 0, 0, 0.1607843137);
  box-shadow: 0px 7px 16px rgba(0, 0, 0, 0.1607843137);
}

.point__list {
  width: 67%;
  margin-top: 15px;
}
@media screen and (max-width: 767px) {
  .point__list {
    width: 100%;
    margin-top: 0;
    margin-bottom: 25px;
  }
}

.point__item {
  padding-bottom: 40px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .point__item {
    padding-bottom: 30px;
  }
}
.point__item:not(:last-child) {
  margin-bottom: 60px;
}
@media screen and (max-width: 767px) {
  .point__item:not(:last-child) {
    margin-bottom: 40px;
  }
}
.point__item:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: -10px;
  width: calc(100% + 20px);
  height: 1px;
  background-image: linear-gradient(
    to right,
    #bababa,
    #bababa 7px,
    transparent 7px,
    transparent 7px
  );
  background-size: 12px 1px;
  background-repeat: repeat-x;
}
@media screen and (max-width: 767px) {
  .point__item:after {
    left: 0;
    width: 100%;
    background-image: linear-gradient(
      to right,
      #bababa,
      #bababa 5px,
      transparent 5px,
      transparent 5px
    );
    background-size: 9px 1px;
  }
}
.point__item:nth-child(1) h3:before {
  content: "1";
}
.point__item:nth-child(2) h3:before {
  content: "2";
}
.point__item:nth-child(2) p {
  margin-bottom: 35px;
}
@media screen and (max-width: 767px) {
  .point__item:nth-child(2) p {
    margin-bottom: 30px;
  }
}
.point__item:nth-child(2) ul {
  grid-template-columns: repeat(3, 1fr);
}
@media screen and (max-width: 1199px) {
  .point__item:nth-child(2) ul {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 767px) {
  .point__item:nth-child(2) ul {
    grid-template-columns: repeat(1, 1fr);
  }
}
.point__item:nth-child(3) h3:before {
  content: "3";
}
.point__item:nth-child(4) h3:before {
  content: "4";
}
.point__item:nth-child(5) h3:before {
  content: "5";
}
.point__item:nth-child(6) h3:before {
  content: "6";
}
.point__item:nth-child(7) h3:before {
  content: "7";
}
.point__item:nth-child(7) ul {
  grid-template-columns: repeat(1, 1fr);
}
.point__item:nth-child(7) p {
  margin-bottom: 25px;
}
@media screen and (max-width: 767px) {
  .point__item:nth-child(7) p {
    margin-bottom: 15px;
  }
}
.point__item:nth-child(8) h3:before {
  content: "8";
}
.point__item h3 {
  font-size: 2.5rem;
  letter-spacing: 0.1em;
  font-family: "Noto Sans JP Bold";
  margin-bottom: 35px;
  padding-left: 88px;
  position: relative;
}
@media screen and (max-width: 991px) {
  .point__item h3 {
    font-size: 2.3rem;
    margin-bottom: 30px;
    padding-left: 85px;
  }
}
@media screen and (max-width: 767px) {
  .point__item h3 {
    font-size: 2rem;
    margin-bottom: 20px;
    padding-left: 55px;
  }
}
.point__item h3:before {
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  font-size: 2.9rem;
  color: #45a7ea;
  font-family: "Lexend Light";
  background-color: #e4edf8;
  width: 65px;
  height: 65px;
  border-radius: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding-left: 3px;
}
@media screen and (max-width: 991px) {
  .point__item h3:before {
    font-size: 2.6rem;
    width: 60px;
    height: 60px;
  }
}
@media screen and (max-width: 767px) {
  .point__item h3:before {
    font-size: 1.7rem;
    width: 40px;
    height: 40px;
    padding-top: 1px;
  }
}
.point__item p {
  font-size: 1.5rem;
  line-height: 1.9;
}
@media screen and (max-width: 991px) {
  .point__item p {
    font-size: 1.4rem;
  }
}
.point__item h4 {
  font-size: 1.6rem;
  letter-spacing: 0.1em;
  font-family: "Noto Sans JP Medium";
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .point__item h4 {
    margin-bottom: 12px;
  }
}
.point__item ul {
  display: grid;
  gap: 10px;
}
@media screen and (max-width: 767px) {
  .point__item ul {
    gap: 7px;
  }
}
.point__item ul li {
  font-size: 1.3rem;
  line-height: 1.4;
  letter-spacing: 0.06em;
  padding-left: 15px;
  position: relative;
}
.point__item ul li:before {
  content: "";
  position: absolute;
  top: 8px;
  left: 0;
  width: 5px;
  height: 5px;
  background-color: #45a7ea;
}

.person {
  padding: 100px 0 250px;
}
@media screen and (max-width: 767px) {
  .person {
    padding: 100px 0;
  }
}
.person h2 {
  margin-bottom: 70px;
}
@media screen and (max-width: 767px) {
  .person h2 {
    margin-bottom: 50px;
  }
}

.person__list {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 16px 19px;
}
@media screen and (max-width: 1199px) {
  .person__list {
    gap: 16px 1.5vw;
  }
}
@media screen and (max-width: 991px) {
  .person__list {
    grid-template-columns: repeat(4, 1fr);
    gap: 16px 2vw;
  }
}
@media screen and (max-width: 767px) {
  .person__list {
    grid-template-columns: repeat(2, 1fr);
    gap: 13px 16px;
    max-width: 350px;
    margin: 0 auto;
  }
}

.person__item {
  height: 240px;
  background-color: #e4edf8;
  border-radius: 10px;
  padding: 42px 10px 0;
  text-align: center;
}
@media screen and (max-width: 991px) {
  .person__item {
    height: 230px;
  }
}
@media screen and (max-width: 767px) {
  .person__item {
    height: 180px;
    padding: 30px 10px 0;
  }
}
.person__item p {
  font-size: 1.6rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
  font-family: "Noto Sans JP Medium";
}
@media screen and (max-width: 1199px) {
  .person__item p {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 991px) {
  .person__item p {
    font-size: 1.3rem;
  }
}
@media screen and (max-width: 767px) {
  .person__item p {
    font-size: 1.2rem;
  }
}

.person__img {
  margin-bottom: 22px;
}
@media screen and (max-width: 767px) {
  .person__img {
    margin-bottom: 18px;
  }
}
.person__img img {
  height: 95px;
  -o-object-fit: contain;
  object-fit: contain;
}
@media screen and (max-width: 767px) {
  .person__img img {
    height: 70px;
  }
}

.job {
  position: relative;
}
.job:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #f5f7fa;
  z-index: -1;
}

.job__ttl {
  color: #45a7ea;
}
.job__ttl .en {
  font-size: 1.5rem;
  letter-spacing: 0.04em;
  font-family: "Lexend Medium";
  margin-bottom: 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 9px;
}
@media screen and (max-width: 767px) {
  .job__ttl .en {
    margin-bottom: 6px;
  }
}
.job__ttl .ja {
  font-size: 4.5rem;
  line-height: 1.4;
  letter-spacing: 0.1em;
  font-family: "Noto Sans JP Medium";
}
@media screen and (max-width: 991px) {
  .job__ttl .ja {
    font-size: 4rem;
  }
}
@media screen and (max-width: 767px) {
  .job__ttl .ja {
    font-size: 2.7rem;
  }
}
.job__ttl .ja span {
  font-size: 5rem;
  line-height: 1;
}
@media screen and (max-width: 991px) {
  .job__ttl .ja span {
    font-size: 4.5rem;
  }
}
@media screen and (max-width: 767px) {
  .job__ttl .ja span {
    font-size: 3.2rem;
  }
}

.job-list {
  padding: 150px 0 70px;
  color: #fff;
  position: relative;
}
@media screen and (max-width: 767px) {
  .job-list {
    padding: 50px 0 45px;
  }
}
.job-list:before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 96%;
  height: 100%;
  background: -webkit-gradient(
    linear,
    left top,
    left bottom,
    from(#1782d3),
    color-stop(49%, rgba(46, 150, 224, 0.9725490196)),
    color-stop(67%, rgba(64, 166, 235, 0.9529411765)),
    to(rgba(89, 200, 249, 0.9254901961))
  );
  background: linear-gradient(
    #1782d3 0%,
    rgba(46, 150, 224, 0.9725490196) 49%,
    rgba(64, 166, 235, 0.9529411765) 67%,
    rgba(89, 200, 249, 0.9254901961) 100%
  );
}
@media screen and (max-width: 1199px) {
  .job-list:before {
    width: 100%;
  }
}
.job-list .sec-inner {
  position: relative;
}
.job-list .sec-ttl {
  padding-top: 60px;
  z-index: 1;
}
@media screen and (max-width: 991px) {
  .job-list .sec-ttl {
    padding-top: 5vw;
  }
}
.job-list .sec-ttl .ja {
  color: #fff;
}

.job-list__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-bottom: 65px;
  margin-right: -90px;
}
@media screen and (max-width: 1300px) {
  .job-list__header {
    margin-right: 0;
  }
}
@media screen and (max-width: 767px) {
  .job-list__header {
    margin-bottom: 30px;
  }
}

.job-list__img {
  margin-left: -135px;
}
@media screen and (max-width: 991px) {
  .job-list__img {
    margin-left: -180px;
  }
}
@media screen and (max-width: 767px) {
  .job-list__img {
    margin-left: -113px;
    margin-right: -5vw;
  }
}
.job-list__img img {
  border-radius: 10px;
  -webkit-box-shadow: 0px 7px 26px rgba(0, 0, 0, 0.1607843137);
  box-shadow: 0px 7px 26px rgba(0, 0, 0, 0.1607843137);
}
@media screen and (max-width: 767px) {
  .job-list__img img {
    border-radius: 25px 0 0 25px;
  }
}
@media screen and (max-width: 575px) {
  .job-list__img img {
    border-radius: 20px 0 0 20px;
  }
}

.job-list__btns {
  max-width: 716px;
  margin-left: auto;
  margin-right: 100px;
}
@media screen and (max-width: 1199px) {
  .job-list__btns {
    margin-right: 7vw;
  }
}
@media screen and (max-width: 991px) {
  .job-list__btns {
    max-width: 670px;
    margin-right: 0;
  }
}
@media screen and (max-width: 767px) {
  .job-list__btns {
    max-width: 380px;
    margin: 0 auto;
  }
}
.job-list__btns ul {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 23px 28px;
}
@media screen and (max-width: 991px) {
  .job-list__btns ul {
    gap: 23px;
  }
}
@media screen and (max-width: 767px) {
  .job-list__btns ul {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px 20px;
  }
}
.job-list__btns a {
  display: block;
  height: 58px;
  font-size: 1.6rem;
  color: #fff;
  line-height: 54px;
  text-align: center;
  font-family: "Noto Sans JP Medium";
  border: 2px solid #fff;
  border-radius: 35px;
  white-space: nowrap;
  position: relative;
  padding-right: 18px;
  -webkit-transition: all 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  transition: all 0.3s cubic-bezier(0.19, 1, 0.22, 1);
}
@media screen and (max-width: 991px) {
  .job-list__btns a {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .job-list__btns a {
    height: 44px;
    font-size: 1.3rem;
    line-height: 41px;
    border-width: 1.5px;
    padding-right: 15px;
  }
}
.job-list__btns a:hover {
  color: #45a7ea;
  background-color: #fff;
}
.job-list__btns a:hover:before {
  border-color: #45a7ea;
}
.job-list__btns a:hover:after {
  background-color: #45a7ea;
}
.job-list__btns a:before {
  content: "";
  border: 1.5px solid #fff;
  border-left: 0;
  border-bottom: 0;
  position: absolute;
  top: 50%;
  right: 30px;
  -webkit-transform: translateY(-50%) rotate(45deg);
  transform: translateY(-50%) rotate(45deg);
  width: 8px;
  height: 8px;
  -webkit-transition: all 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  transition: all 0.3s cubic-bezier(0.19, 1, 0.22, 1);
}
@media screen and (max-width: 767px) {
  .job-list__btns a:before {
    right: 20px;
    width: 7px;
    height: 7px;
  }
}
.job-list__btns a:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 30px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 14px;
  height: 1.5px;
  background: #fff;
  -webkit-transition: all 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  transition: all 0.3s cubic-bezier(0.19, 1, 0.22, 1);
}
@media screen and (max-width: 767px) {
  .job-list__btns a:after {
    right: 20px;
    width: 12px;
  }
}

.job-about {
  padding: 175px 0 40px;
}
@media screen and (max-width: 767px) {
  .job-about {
    padding: 75px 0 20px;
  }
}
.job-about .job__ttl {
  margin-bottom: 65px;
}
@media screen and (max-width: 767px) {
  .job-about .job__ttl {
    margin-bottom: 25px;
  }
}

.job-about__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
  gap: 90px;
  margin-right: -90px;
}
@media screen and (max-width: 1300px) {
  .job-about__container {
    margin-right: 0;
  }
}
@media screen and (max-width: 1199px) {
  .job-about__container {
    gap: 7vw;
  }
}
@media screen and (max-width: 767px) {
  .job-about__container {
    display: block;
  }
}

.job-about__img {
  width: 40%;
}
@media screen and (max-width: 767px) {
  .job-about__img {
    width: 100%;
    margin-bottom: 55px;
  }
}
.job-about__img .img1 {
  margin-bottom: 45px;
}
@media screen and (max-width: 1199px) {
  .job-about__img .img1 {
    margin-bottom: 4vw;
  }
}
@media screen and (max-width: 767px) {
  .job-about__img .img1 {
    width: 51vw;
    margin-bottom: 0;
    position: relative;
    z-index: 1;
  }
}
.job-about__img .img2 {
  position: relative;
}
@media screen and (max-width: 767px) {
  .job-about__img .img2 {
    width: 51vw;
    margin-top: -25vw;
    margin-left: auto;
  }
}
.job-about__img .img2:before {
  position: absolute;
  -webkit-transform: rotate(-6deg);
  transform: rotate(-6deg);
  line-height: 1;
  letter-spacing: 0.01em;
  color: rgba(8, 145, 247, 0.9960784314);
  font-family: "Whisper Regular";
  white-space: nowrap;
  background: -webkit-gradient(
    linear,
    left top,
    left bottom,
    from(#17288d),
    color-stop(7%, #1782d3),
    color-stop(49%, rgba(46, 150, 224, 0.9725490196)),
    color-stop(67%, rgba(64, 166, 235, 0.9529411765)),
    color-stop(92%, rgba(89, 200, 249, 0.9254901961)),
    to(#e4f1f8)
  );
  background: linear-gradient(
    #17288d 0%,
    #1782d3 7%,
    rgba(46, 150, 224, 0.9725490196) 49%,
    rgba(64, 166, 235, 0.9529411765) 67%,
    rgba(89, 200, 249, 0.9254901961) 92%,
    #e4f1f8 100%
  );
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  padding-right: 15px;
}
.job-about__img img {
  border-radius: 15px;
  -webkit-box-shadow: 0px 7px 26px rgba(0, 0, 0, 0.1607843137);
  box-shadow: 0px 7px 26px rgba(0, 0, 0, 0.1607843137);
}
@media screen and (max-width: 575px) {
  .job-about__img img {
    border-radius: 10px;
  }
}

.job-about__content {
  width: 60%;
}
@media screen and (max-width: 767px) {
  .job-about__content {
    width: 100%;
  }
}
.job-about__content h3 {
  font-size: 3rem;
  color: #45a7ea;
  line-height: 1.65;
  letter-spacing: 0.1em;
  font-family: "Noto Sans JP Bold";
  margin-bottom: 35px;
}
@media screen and (max-width: 991px) {
  .job-about__content h3 {
    font-size: 2.7rem;
  }
}
@media screen and (max-width: 767px) {
  .job-about__content h3 {
    font-size: 1.8rem;
    margin-bottom: 22px;
  }
}
.job-about__content h3 + p {
  font-size: 1.5rem;
  font-family: "Noto Sans JP Medium";
  margin-bottom: 40px;
}
@media screen and (max-width: 991px) {
  .job-about__content h3 + p {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 767px) {
  .job-about__content h3 + p {
    font-size: 1.3rem;
    margin-bottom: 25px;
  }
}

.job-about__block {
  padding: 30px 40px;
  background-color: #eaf2f9;
  font-family: "Noto Sans JP Medium";
}
@media screen and (max-width: 991px) {
  .job-about__block {
    padding: 25px 35px;
  }
}
@media screen and (max-width: 767px) {
  .job-about__block {
    padding: 20px;
  }
}
.job-about__block:not(:last-child) {
  margin-bottom: 16px;
}
.job-about__block h4 {
  font-size: 2rem;
  color: #45a7ea;
  letter-spacing: 0.1em;
  margin-bottom: 18px;
}
@media screen and (max-width: 991px) {
  .job-about__block h4 {
    font-size: 1.9rem;
  }
}
@media screen and (max-width: 767px) {
  .job-about__block h4 {
    font-size: 1.6rem;
    margin-bottom: 15px;
  }
}
.job-about__block .list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 12px 40px;
}
@media screen and (max-width: 991px) {
  .job-about__block .list {
    gap: 10px 25px;
  }
}
.job-about__block .list span {
  font-size: 1.5rem;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 991px) {
  .job-about__block .list span {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 767px) {
  .job-about__block .list span {
    font-size: 1.3rem;
  }
}

.job-schedule {
  padding: 100px 0 55px;
  overflow-x: hidden;
}
@media screen and (max-width: 767px) {
  .job-schedule {
    padding: 50px 0 40px;
  }
}
.job-schedule .job__ttl {
  margin-bottom: 75px;
}
@media screen and (max-width: 767px) {
  .job-schedule .job__ttl {
    margin-bottom: 35px;
  }
}
.job-schedule .swiper {
  overflow: visible;
}
.job-schedule .swiper-button-next {
  left: 130px;
}
@media screen and (max-width: 991px) {
  .job-schedule .swiper-button-next {
    left: 80px;
  }
}
@media screen and (max-width: 767px) {
  .job-schedule .swiper-button-next {
    left: 53px;
  }
}
.job-schedule .swiper-button-next:hover:after {
  background-image: url(../images/recruit/arrow_right_hover.png);
}
.job-schedule .swiper-button-next:after {
  background-image: url(../images/recruit/arrow_right.png),
    url(../images/recruit/arrow_right_hover.png);
}
.job-schedule .swiper-button-prev {
  left: 50px;
}
@media screen and (max-width: 991px) {
  .job-schedule .swiper-button-prev {
    left: 0;
  }
}
.job-schedule .swiper-button-prev:hover:after {
  background-image: url(../images/recruit/arrow_left_hover.png);
}
.job-schedule .swiper-button-prev:after {
  background-image: url(../images/recruit/arrow_left.png),
    url(../images/recruit/arrow_left_hover.png);
}
.job-schedule .swiper-button-next,
.job-schedule .swiper-button-prev {
  width: 62px;
  height: 62px;
  top: auto;
  bottom: -122px;
  border-radius: 50%;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .job-schedule .swiper-button-next,
  .job-schedule .swiper-button-prev {
    bottom: -75px;
    width: 42px;
    height: 42px;
  }
}
.job-schedule .swiper-button-next:after,
.job-schedule .swiper-button-prev:after {
  content: "";
  background-repeat: no-repeat;
  background-size: contain, 0;
  -webkit-transition: all 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  transition: all 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  width: 100%;
  height: 100%;
}
.job-schedule .swiper-pagination-progressbar {
  position: relative;
  margin-top: 90px;
  margin-left: 270px;
  background-color: transparent;
  width: calc(100% - 270px);
  height: 3px;
  border-bottom: 3px solid #cecece;
}
@media screen and (max-width: 991px) {
  .job-schedule .swiper-pagination-progressbar {
    margin-left: 220px;
    width: calc(100% - 220px);
  }
}
@media screen and (max-width: 767px) {
  .job-schedule .swiper-pagination-progressbar {
    margin-top: 53px;
    margin-left: 130px;
    width: calc(100% - 130px);
  }
}
.job-schedule .swiper-pagination-progressbar-fill {
  background-color: #45a7ea;
  height: 6px;
  margin-top: -1.5px;
  border-radius: 6px;
}
@media screen and (max-width: 767px) {
  .job-schedule .swiper-pagination-progressbar-fill {
    height: 3px;
    margin-top: 0px;
    border-radius: 3px;
  }
}

.job-schedule__item {
  border-radius: 15px 15px 10px 10px;
  -webkit-box-shadow: 0px 2px 15px rgba(0, 0, 0, 0.0705882353);
  box-shadow: 0px 2px 15px rgba(0, 0, 0, 0.0705882353);
}
@media screen and (max-width: 767px) {
  .job-schedule__item {
    border-radius: 10px;
  }
}

.job-schedule__img {
  overflow: hidden;
}
.job-schedule__img img {
  height: 240px;
  -o-object-fit: cover;
  object-fit: cover;
  border-radius: 15px 15px 0 0;
  -webkit-transition: 0.5s cubic-bezier(0.43, 0.05, 0.17, 1);
  transition: 0.5s cubic-bezier(0.43, 0.05, 0.17, 1);
}
@media screen and (max-width: 1199px) {
  .job-schedule__img img {
    height: 20vw;
  }
}
@media screen and (max-width: 991px) {
  .job-schedule__img img {
    height: 28vw;
  }
}
@media screen and (max-width: 767px) {
  .job-schedule__img img {
    height: 42vw;
    border-radius: 10px 10px 0 0;
  }
}
@media screen and (max-width: 575px) {
  .job-schedule__img img {
    height: 60vw;
  }
}

.job-schedule__content {
  background-color: #fff;
  padding: 26px 30px;
  border-radius: 0 0 10px 10px;
  height: 180px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .job-schedule__content {
    padding: 20px 25px;
    height: 155px;
  }
}
.job-schedule__content .tag {
  display: inline-block;
  min-width: 90px;
  font-size: 1.5rem;
  color: #fff;
  letter-spacing: 0.1em;
  text-align: center;
  font-family: "Noto Sans JP Bold";
  background-color: var(--color-base);
  margin-bottom: 10px;
  padding: 6px 10px;
}
@media screen and (max-width: 767px) {
  .job-schedule__content .tag {
    min-width: 70px;
    font-size: 1.2rem;
    margin-bottom: 8px;
  }
}
.job-schedule__content .ttl {
  font-size: 1.7rem;
  line-height: 1.5;
  letter-spacing: 0.08em;
  font-family: "Noto Sans JP Medium";
}
@media screen and (max-width: 767px) {
  .job-schedule__content .ttl {
    font-size: 1.5rem;
  }
}

.job-requirements {
  padding: 100px 0 65px;
}
@media screen and (max-width: 767px) {
  .job-requirements {
    padding: 50px 0 30px;
  }
}
.job-requirements .job__ttl {
  margin-bottom: 75px;
}
@media screen and (max-width: 767px) {
  .job-requirements .job__ttl {
    margin-bottom: 35px;
  }
}

.job-requirements__list > dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
  border-bottom: 2px solid #e8e8e8;
  padding: 30px 0;
  line-height: 1.5;
  letter-spacing: 0.1em;
  position: relative;
}
@media screen and (max-width: 767px) {
  .job-requirements__list > dl {
    display: block;
    padding: 18px 0;
    border-bottom-width: 1px;
  }
}
.job-requirements__list > dl:first-child {
  border-top: 2px solid #e8e8e8;
}
@media screen and (max-width: 767px) {
  .job-requirements__list > dl:first-child {
    border-top-width: 1px;
  }
}
.job-requirements__list > dl:first-child:before {
  content: "";
  position: absolute;
  top: -2px;
  left: 0;
  width: 185px;
  height: 2px;
  background-color: #45a7ea;
}
@media screen and (max-width: 991px) {
  .job-requirements__list > dl:first-child:before {
    width: 170px;
  }
}
@media screen and (max-width: 767px) {
  .job-requirements__list > dl:first-child:before {
    top: -1px;
    width: 120px;
    height: 1px;
  }
}
.job-requirements__list > dl:last-child:before {
  content: "";
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 185px;
  height: 2px;
  background-color: #45a7ea;
}
@media screen and (max-width: 991px) {
  .job-requirements__list > dl:last-child:before {
    width: 170px;
  }
}
@media screen and (max-width: 767px) {
  .job-requirements__list > dl:last-child:before {
    bottom: -1px;
    width: 120px;
    height: 1px;
  }
}
.job-requirements__list > dl > dt {
  min-width: 185px;
  font-size: 1.7rem;
  color: #45a7ea;
  font-family: "Noto Sans JP Bold";
}
@media screen and (max-width: 991px) {
  .job-requirements__list > dl > dt {
    min-width: 170px;
  }
}
@media screen and (max-width: 767px) {
  .job-requirements__list > dl > dt {
    font-size: 1.5rem;
    margin-bottom: 7px;
  }
}
.job-requirements__list > dl > dd {
  padding: 0 30px;
  font-size: 1.6rem;
}
@media screen and (max-width: 991px) {
  .job-requirements__list > dl > dd {
    padding: 0 20px;
  }
}
@media screen and (max-width: 767px) {
  .job-requirements__list > dl > dd {
    padding: 0;
    font-size: 1.4rem;
  }
}
.job-requirements__list > dl > dd dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 991px) {
  .job-requirements__list > dl > dd dl {
    display: block;
  }
}
.job-requirements__list > dl > dd dl:not(:last-child) {
  margin-bottom: 15px;
}
.job-requirements__list > dl > dd dl dt {
  padding-left: 24px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .job-requirements__list > dl > dd dl dt {
    padding-left: 15px;
  }
}
.job-requirements__list > dl > dd dl dt:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 9px;
  height: 9px;
  background-color: #45a7ea;
}
@media screen and (max-width: 767px) {
  .job-requirements__list > dl > dd dl dt:before {
    width: 5px;
    height: 5px;
  }
}
@media screen and (max-width: 991px) {
  .job-requirements__list > dl > dd dl dt span {
    display: none;
  }
}
@media screen and (max-width: 991px) {
  .job-requirements__list > dl > dd dl dd {
    padding-left: 24px;
  }
}
@media screen and (max-width: 767px) {
  .job-requirements__list > dl > dd dl dd {
    padding-left: 15px;
  }
}

.job-staff {
  padding: 100px 0 160px;
}
@media screen and (max-width: 767px) {
  .job-staff {
    padding: 50px 0;
  }
}
.job-staff .job__ttl {
  margin-bottom: 85px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .job-staff .job__ttl {
    margin-bottom: 35px;
  }
}
.job-staff .job__ttl:before {
  content: "Introduction";
  position: absolute;
  top: -60px;
  left: -88px;
  -webkit-transform: rotate(-6deg);
  transform: rotate(-6deg);
  font-size: 18rem;
  line-height: 1;
  letter-spacing: 0.01em;
  color: #fff;
  font-family: "Whisper Regular";
  white-space: nowrap;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .job-staff .job__ttl:before {
    top: 3px;
    left: -15px;
    font-size: 7rem;
  }
}

.job-staff__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 85px 56px;
}
@media screen and (max-width: 1199px) {
  .job-staff__list {
    gap: 85px 5vw;
  }
}
@media screen and (max-width: 767px) {
  .job-staff__list {
    max-width: 500px;
    margin: 0 auto;
    grid-template-columns: repeat(1, 1fr);
    gap: 30px;
  }
}

.job-staff__item:hover .job-staff__img img {
  -webkit-filter: grayscale(0);
  filter: grayscale(0);
  -webkit-box-shadow: 0px 0px 50px rgba(0, 188, 196, 0.2235294118);
  box-shadow: 0px 0px 50px rgba(0, 188, 196, 0.2235294118);
}

.job-staff__img {
  margin-bottom: 27px;
}
@media screen and (max-width: 767px) {
  .job-staff__img {
    margin-bottom: 18px;
  }
}
.job-staff__img img {
  height: 315px;
  -o-object-fit: cover;
  object-fit: cover;
  border-radius: 10px;
  -webkit-filter: grayscale(100%);
  filter: grayscale(100%);
  -webkit-transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
  transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
}
@media screen and (max-width: 1199px) {
  .job-staff__img img {
    height: 26vw;
  }
}
@media screen and (max-width: 767px) {
  .job-staff__img img {
    height: 320px;
  }
}
@media screen and (max-width: 575px) {
  .job-staff__img img {
    height: 55vw;
  }
}

.job-staff__content {
  padding: 0 10px;
}
@media screen and (max-width: 767px) {
  .job-staff__content {
    padding: 0;
  }
}

.job-staff__detail {
  margin-bottom: 18px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
}
@media screen and (max-width: 767px) {
  .job-staff__detail {
    margin-bottom: 10px;
  }
}
.job-staff__detail span {
  display: inline-block;
  font-size: 1.3rem;
  letter-spacing: 0.1em;
  padding: 6px 18px;
  border: 1px solid #161826;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .job-staff__detail span {
    font-size: 1.1rem;
    padding: 4.5px 12px;
  }
}

.job-staff__name {
  color: var(--color-base);
}
.job-staff__name .ja {
  font-size: 2.8rem;
  letter-spacing: 0.12em;
  font-family: "Noto Sans JP Bold";
}
@media screen and (max-width: 991px) {
  .job-staff__name .ja {
    font-size: 2.6rem;
  }
}
@media screen and (max-width: 767px) {
  .job-staff__name .ja {
    font-size: 2.3rem;
  }
}
.job-staff__name .en {
  font-size: 1.8rem;
  letter-spacing: 0.08em;
  font-family: "Lexend SemiBold";
  margin-top: 13px;
}
@media screen and (max-width: 991px) {
  .job-staff__name .en {
    font-size: 1.6rem;
    margin-top: 12px;
  }
}
@media screen and (max-width: 767px) {
  .job-staff__name .en {
    font-size: 1.1rem;
    margin-top: 8px;
  }
}

.recruit-footer-contact {
  padding: 240px 0 100px;
  position: relative;
  background: #f5f7fa;
}
@media screen and (max-width: 767px) {
  .recruit-footer-contact {
    padding: 160px 0 60px;
  }
}
.recruit-footer-contact:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 58%;
  background: -webkit-gradient(
    linear,
    left top,
    left bottom,
    from(rgba(228, 241, 248, 0)),
    color-stop(2%, #e4f1f8),
    color-stop(10%, rgba(64, 166, 235, 0.9529411765)),
    color-stop(14%, rgba(46, 150, 224, 0.9725490196)),
    color-stop(30%, #1782d3),
    color-stop(55%, rgba(46, 150, 224, 0.9725490196)),
    color-stop(67%, rgba(64, 166, 235, 0.9529411765)),
    color-stop(82%, rgba(89, 200, 249, 0.9254901961)),
    color-stop(96%, #e4f1f8),
    to(rgba(228, 241, 248, 0))
  );
  background: linear-gradient(
    rgba(228, 241, 248, 0) 0%,
    #e4f1f8 2%,
    rgba(64, 166, 235, 0.9529411765) 10%,
    rgba(46, 150, 224, 0.9725490196) 14%,
    #1782d3 30%,
    rgba(46, 150, 224, 0.9725490196) 55%,
    rgba(64, 166, 235, 0.9529411765) 67%,
    rgba(89, 200, 249, 0.9254901961) 82%,
    #e4f1f8 96%,
    rgba(228, 241, 248, 0) 100%
  );
}
.recruit-footer-contact .sec-inner {
  position: relative;
}
@media screen and (max-width: 767px) {
  .recruit-footer-contact .sec-ttl {
    margin-bottom: 25px;
    text-align: center;
  }
}
@media screen and (max-width: 767px) {
  .recruit-footer-contact .sec-ttl .en {
    font-size: 6rem;
  }
}
.recruit-footer-contact .sec-ttl .ja {
  color: #fff;
}
.recruit-footer-contact .ttl-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .recruit-footer-contact .ttl-wrap {
    display: block;
  }
}
.recruit-footer-contact .ttl-wrap p {
  font-size: 2.2rem;
  line-height: 1.8;
  font-family: "Noto Sans JP Bold";
}
@media screen and (max-width: 991px) {
  .recruit-footer-contact .ttl-wrap p {
    font-size: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .recruit-footer-contact .ttl-wrap p {
    font-size: 1.4rem;
    text-align: center;
  }
}

.recruit-contact .ttl-wrap {
  -webkit-box-align: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
  gap: 62px;
  margin-bottom: 75px;
}
@media screen and (max-width: 991px) {
  .recruit-contact .ttl-wrap {
    gap: 6vw;
  }
}
@media screen and (max-width: 767px) {
  .recruit-contact .ttl-wrap {
    margin-bottom: 45px;
  }
}

.recruit-contact__btns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 50px;
  max-width: 870px;
  width: 100%;
  margin: 0 auto;
}
@media screen and (max-width: 991px) {
  .recruit-contact__btns {
    gap: 5vw;
  }
}
@media screen and (max-width: 767px) {
  .recruit-contact__btns {
    display: block;
    max-width: 290px;
  }
}

.contact-tel,
.contact-mail,
.contact-entry {
  width: 100%;
}
.contact-tel a,
.contact-mail a,
.contact-entry a {
  width: 100%;
  height: 86px;
  color: #fff;
  line-height: 82px;
  text-align: center;
  border: 2px solid #fff;
  border-radius: 46px;
  white-space: nowrap;
  -webkit-transition: all 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  transition: all 0.3s cubic-bezier(0.19, 1, 0.22, 1);
}
@media screen and (max-width: 991px) {
  .contact-tel a,
  .contact-mail a,
  .contact-entry a {
    height: 80px;
    line-height: 76px;
  }
}
@media screen and (max-width: 767px) {
  .contact-tel a,
  .contact-mail a,
  .contact-entry a {
    height: 54px;
    border-width: 1.5px;
    line-height: 51px;
  }
}

@media screen and (max-width: 767px) {
  .contact-tel {
    margin-bottom: 22px;
  }
}
.contact-tel a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  font-size: 2.6rem;
  font-family: "Lexend Medium";
}
@media screen and (max-width: 991px) {
  .contact-tel a {
    font-size: 2.2rem;
  }
}
@media screen and (max-width: 767px) {
  .contact-tel a {
    font-size: 1.8rem;
  }
}
.contact-tel a:hover {
  color: #45a7ea;
  background-color: #fff;
}
.contact-tel a span {
  font-size: 3.2rem;
  margin-left: 12px;
}
@media screen and (max-width: 991px) {
  .contact-tel a span {
    font-size: 2.8rem;
    margin-left: 10px;
  }
}
@media screen and (max-width: 767px) {
  .contact-tel a span {
    font-size: 1.9rem;
    margin-left: 5px;
  }
}
.contact-tel p {
  font-size: 2.2rem;
  color: #fff;
  line-height: 1.4;
  text-align: center;
  font-family: "Noto Sans JP Bold";
  margin-top: 18px;
}
@media screen and (max-width: 991px) {
  .contact-tel p {
    font-size: 1.9rem;
  }
}
@media screen and (max-width: 767px) {
  .contact-tel p {
    margin-top: 10px;
    font-size: 1.3rem;
  }
}

.contact-mail a {
  display: block;
  font-size: 2rem;
  font-family: "Noto Sans JP Bold";
}
@media screen and (max-width: 991px) {
  .contact-mail a {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .contact-mail a {
    font-size: 1.4rem;
  }
}
.contact-mail a:hover {
  color: #45a7ea;
  background-color: #fff;
}

@media screen and (max-width: 767px) {
  .contact-entry {
    max-width: 290px;
    margin: 0 auto;
  }
}
.contact-entry a {
  display: block;
  font-size: 1.8rem;
  font-family: "Noto Sans JP Bold";
  position: relative;
  padding-right: 30px;
}
@media screen and (max-width: 991px) {
  .contact-entry a {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .contact-entry a {
    font-size: 1.4rem;
    padding-right: 25px;
  }
}
.contact-entry a:before {
  content: "";
  border: 1.5px solid #fff;
  border-left: 0;
  border-bottom: 0;
  position: absolute;
  top: 50%;
  right: 35px;
  -webkit-transform: translateY(-50%) rotate(45deg);
  transform: translateY(-50%) rotate(45deg);
  width: 10px;
  height: 10px;
  -webkit-transition: all 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  transition: all 0.3s cubic-bezier(0.19, 1, 0.22, 1);
}
@media screen and (max-width: 991px) {
  .contact-entry a:before {
    right: 30px;
  }
}
@media screen and (max-width: 767px) {
  .contact-entry a:before {
    right: 25px;
    width: 8px;
    height: 8px;
  }
}
.contact-entry a:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 35px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 17px;
  height: 1.5px;
  background: #fff;
  -webkit-transition: all 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  transition: all 0.3s cubic-bezier(0.19, 1, 0.22, 1);
}
@media screen and (max-width: 991px) {
  .contact-entry a:after {
    right: 30px;
  }
}
@media screen and (max-width: 767px) {
  .contact-entry a:after {
    right: 25px;
    width: 12px;
  }
}
.contact-entry a:hover {
  color: #45a7ea;
  background-color: #fff;
}
.contact-entry a:hover:before {
  border-color: #45a7ea;
}
.contact-entry a:hover:after {
  background-color: #45a7ea;
}

.recruit-entry {
  padding-top: 135px;
}
@media screen and (max-width: 767px) {
  .recruit-entry {
    padding-top: 55px;
  }
}
.recruit-entry .ttl-wrap {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 103px;
  margin-bottom: 120px;
}
@media screen and (max-width: 991px) {
  .recruit-entry .ttl-wrap {
    gap: 10vw;
  }
}
@media screen and (max-width: 767px) {
  .recruit-entry .ttl-wrap {
    margin-bottom: 35px;
  }
}

.recruit-entry__form {
  max-width: 950px;
  width: 100%;
  margin: 0 auto;
  padding: 110px 40px 75px;
  background-color: #fcfcfc;
  border-radius: 10px;
}
@media screen and (max-width: 767px) {
  .recruit-entry__form {
    padding: 45px 6vw;
  }
}
.recruit-entry__form .inner {
  max-width: 740px;
  width: 100%;
  margin: 0 auto;
}

.recruit-entry__form-list dl.school dt {
  visibility: hidden;
}
@media screen and (max-width: 767px) {
  .recruit-entry__form-list dl.school dt {
    visibility: visible;
  }
}
.recruit-entry__form-list dl.school dd {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 25px;
}
@media screen and (max-width: 767px) {
  .recruit-entry__form-list dl.school dd {
    display: block;
  }
}
.recruit-entry__form-list dl.school dd > p {
  font-family: "Noto Sans JP Medium";
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .recruit-entry__form-list dl.school dd > p {
    display: none;
  }
}
.recruit-entry__form-list dl.school dd .wpcf7-form-control-wrap {
  height: 45px;
}
@media screen and (max-width: 767px) {
  .recruit-entry__form-list dl.radio1 dt,
  .recruit-entry__form-list dl.radio2 dt {
    margin-bottom: 15px;
  }
}
@media screen and (max-width: 767px) {
  .recruit-entry__form-list dl.radio1 dd,
  .recruit-entry__form-list dl.radio2 dd {
    height: auto;
  }
}
.recruit-entry__form-list dl.radio1 {
  margin-bottom: 15px;
}
.recruit-entry__form-list dl.radio1 dd {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.recruit-entry__form-list dl.radio2 dt {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-flow: column;
  flex-flow: column;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  gap: 8px;
}
@media screen and (max-width: 767px) {
  .recruit-entry__form-list dl.radio2 dt {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row;
    flex-flow: row;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
}
.recruit-entry__form-list dl.radio1 .wpcf7-list-item-label,
.recruit-entry__form-list dl.radio2 .wpcf7-list-item-label {
  margin-left: 4px;
  font-family: "Noto Sans JP Medium";
}
.recruit-entry__form-list dl dt {
  min-width: 330px;
}
@media screen and (max-width: 991px) {
  .recruit-entry__form-list dl dt {
    min-width: 310px;
  }
}

.recruit-footer {
  padding: 95px 15px 40px;
  background-color: var(--color-base);
  border-radius: 30px 30px 0 0;
  color: #fff;
}

/*--------------------------------
	スタッフ個別投稿ページ
--------------------------------*/
.staff {
  padding-top: 255px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .staff {
    padding-top: 170px;
  }
}
.staff:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 255px;
  background: -webkit-gradient(
    linear,
    left top,
    left bottom,
    from(#1782d3),
    color-stop(20%, rgba(46, 150, 224, 0.9725490196)),
    color-stop(35%, rgba(64, 166, 235, 0.9529411765)),
    color-stop(85%, #e4f1f8),
    to(rgba(228, 241, 248, 0))
  );
  background: linear-gradient(
    #1782d3 0%,
    rgba(46, 150, 224, 0.9725490196) 20%,
    rgba(64, 166, 235, 0.9529411765) 35%,
    #e4f1f8 85%,
    rgba(228, 241, 248, 0) 100%
  );
}
@media screen and (max-width: 767px) {
  .staff:before {
    height: 170px;
  }
}

.top-breadcrumb {
  position: absolute;
  top: 110px;
  left: 80px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 11px;
}
@media screen and (max-width: 1199px) {
  .top-breadcrumb {
    left: 4vw;
  }
}
@media screen and (max-width: 767px) {
  .top-breadcrumb {
    top: 80px;
    left: 20px;
    gap: 9px;
  }
}
.top-breadcrumb span,
.top-breadcrumb a {
  color: #fff;
  letter-spacing: 0.05em;
  font-family: "Lexend Regular";
  white-space: nowrap;
}
.top-breadcrumb a {
  font-size: 2.3rem;
}
@media screen and (max-width: 767px) {
  .top-breadcrumb a {
    font-size: 1.3rem;
  }
}
.top-breadcrumb span {
  font-size: 2.8rem;
}
@media screen and (max-width: 767px) {
  .top-breadcrumb span {
    font-size: 1.8rem;
  }
}
.top-breadcrumb .arrow {
  border-left: 5.5px solid transparent;
  border-right: 5.5px solid transparent;
  border-bottom: calc(tan(60deg) * 5.5px) solid #fff;
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}
@media screen and (max-width: 767px) {
  .top-breadcrumb .arrow {
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-bottom: calc(tan(60deg) * 4px) solid #fff;
  }
}

.profile {
  padding-bottom: 60px;
}
@media screen and (max-width: 767px) {
  .profile {
    padding-bottom: 20px;
  }
}

.profile__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
  gap: 90px;
  -webkit-transform: translate3d(0, 30px, 0);
  transform: translate3d(0, 30px, 0);
  opacity: 0;
}
@media screen and (max-width: 1199px) {
  .profile__container {
    gap: 7vw;
  }
}
@media screen and (max-width: 767px) {
  .profile__container {
    display: block;
  }
}

.profile__img {
  width: 60%;
  margin-right: -70px;
}
@media screen and (max-width: 1199px) {
  .profile__img {
    margin-right: 0;
  }
}
@media screen and (max-width: 767px) {
  .profile__img {
    width: calc(100% + 10vw);
    margin-left: -5vw;
    margin-bottom: 35px;
  }
}
.profile__img img {
  height: 390px;
  -o-object-fit: cover;
  object-fit: cover;
  border-radius: 13px;
  -webkit-box-shadow: 0px 7px 26px rgba(0, 0, 0, 0.1607843137);
  box-shadow: 0px 7px 26px rgba(0, 0, 0, 0.1607843137);
}
@media screen and (max-width: 1199px) {
  .profile__img img {
    height: 31vw;
  }
}
@media screen and (max-width: 767px) {
  .profile__img img {
    height: 69vw;
    border-radius: 0;
  }
}

.profile__content {
  width: 40%;
}
@media screen and (max-width: 767px) {
  .profile__content {
    width: 100%;
  }
}

.profile__detail {
  margin-bottom: 18px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 17px;
}
@media screen and (max-width: 767px) {
  .profile__detail {
    margin-bottom: 12px;
    gap: 12px;
  }
}
.profile__detail span {
  display: inline-block;
  font-size: 1.3rem;
  letter-spacing: 0.1em;
  padding: 6px 18px;
  border: 1px solid #161826;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .profile__detail span {
    font-size: 1.1rem;
    padding: 4.5px 12px;
  }
}

.profile__name {
  margin-bottom: 65px;
  color: var(--color-base);
}
@media screen and (max-width: 767px) {
  .profile__name {
    margin-bottom: 30px;
  }
}
.profile__name .ja {
  font-size: 5.6rem;
  line-height: 1.2;
  letter-spacing: 0.1em;
  font-family: "Noto Sans JP Bold";
}
@media screen and (max-width: 991px) {
  .profile__name .ja {
    font-size: 4.5rem;
  }
}
@media screen and (max-width: 767px) {
  .profile__name .ja {
    font-size: 3.2rem;
  }
}
.profile__name .en {
  font-size: 1.8rem;
  line-height: 1.2;
  letter-spacing: 0.08em;
  font-family: "Lexend SemiBold";
  margin-top: 20px;
}
@media screen and (max-width: 991px) {
  .profile__name .en {
    font-size: 1.6rem;
    margin-top: 18px;
  }
}
@media screen and (max-width: 767px) {
  .profile__name .en {
    font-size: 1.2rem;
    margin-top: 10px;
  }
}

.profile__area h3 {
  font-size: 3.2rem;
  color: var(--color-base);
  letter-spacing: 0.06em;
  font-family: "Lexend SemiBold";
  margin-bottom: 15px;
}
@media screen and (max-width: 767px) {
  .profile__area h3 {
    font-size: 1.8rem;
    margin-bottom: 5px;
  }
}
.profile__area p {
  font-size: 1.5rem;
  font-family: "Noto Sans JP Medium";
}
@media screen and (max-width: 767px) {
  .profile__area p {
    font-size: 1.4rem;
  }
}

.question {
  padding: 100px 0 40px;
}
@media screen and (max-width: 767px) {
  .question {
    padding: 40px 0 10px;
  }
}
.question.question2 {
  padding-bottom: 190px;
}
@media screen and (max-width: 767px) {
  .question.question2 {
    padding-bottom: 80px;
  }
}
.question h2 {
  margin-bottom: 65px;
}
@media screen and (max-width: 767px) {
  .question h2 {
    margin-bottom: 20px;
  }
}
.question h2 .en {
  font-size: 3rem;
  color: #45a7ea;
  letter-spacing: 0.04em;
  font-family: "Lexend Medium";
  margin-bottom: 20px;
}
@media screen and (max-width: 991px) {
  .question h2 .en {
    font-size: 2.5rem;
    margin-bottom: 18px;
  }
}
@media screen and (max-width: 767px) {
  .question h2 .en {
    font-size: 1.7rem;
    margin-bottom: 12px;
  }
}
.question h2 .ja {
  font-size: 4.5rem;
  color: var(--color-base);
  line-height: 1.4;
  letter-spacing: 0.1em;
  font-family: "Noto Sans JP Bold";
}
@media screen and (max-width: 991px) {
  .question h2 .ja {
    font-size: 3.8rem;
  }
}
@media screen and (max-width: 767px) {
  .question h2 .ja {
    font-size: 2.3rem;
  }
}
.question p {
  font-size: 1.5rem;
  line-height: 2.3;
  font-family: "Noto Sans JP Medium";
}
@media screen and (max-width: 767px) {
  .question p {
    font-size: 1.4rem;
    line-height: 2;
  }
}

.question__img {
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  .question__img {
    margin-top: 40px;
  }
}
.question__img img {
  height: 430px;
  -o-object-fit: cover;
  object-fit: cover;
  border-radius: 10px;
}
@media screen and (max-width: 1199px) {
  .question__img img {
    height: 37vw;
  }
}
@media screen and (max-width: 767px) {
  .question__img img {
    height: 50vw;
    border-radius: 7px;
  }
}

.staff-message {
  padding-bottom: 60px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .staff-message {
    padding-bottom: 30px;
  }
}
.staff-message:before {
  content: "";
  position: absolute;
  top: 32px;
  left: calc((100vw - var(--inner-small)) / -2 - 20px);
  width: 100vw;
  height: calc(100% - 32px);
  background-color: #f1f6fc;
  border-top-left-radius: 120px;
  z-index: -1;
}
@media screen and (max-width: 1199px) {
  .staff-message:before {
    left: calc((100vw - var(--inner-small)) / -2 - 4vw);
  }
}
@media screen and (max-width: 1140px) {
  .staff-message:before {
    left: -4vw;
  }
}
@media screen and (max-width: 767px) {
  .staff-message:before {
    top: 25px;
    left: -5vw;
    height: calc(100% - 25px);
    border-top-left-radius: 80px;
  }
}
.staff-message h2 {
  margin-left: 50px;
  margin-bottom: 60px;
}
@media screen and (max-width: 767px) {
  .staff-message h2 {
    margin-left: 0;
    margin-bottom: 40px;
  }
}
.staff-message h2 .en {
  font-size: 6.5rem;
  color: #45a7ea;
  letter-spacing: 0.03em;
  font-family: "Lexend Medium";
  margin-bottom: 25px;
}
@media screen and (max-width: 767px) {
  .staff-message h2 .en {
    font-size: 4.6rem;
    margin-bottom: 15px;
  }
}
.staff-message h2 .ja {
  font-size: 3rem;
  color: #001976;
  line-height: 1.4;
  letter-spacing: 0.08em;
  font-family: "Noto Sans JP Bold";
}
@media screen and (max-width: 767px) {
  .staff-message h2 .ja {
    font-size: 1.5rem;
  }
}
.staff-message h2 .ja .br {
  display: none;
}
@media screen and (max-width: 991px) {
  .staff-message h2 .ja .br {
    display: block;
  }
}
@media screen and (max-width: 767px) {
  .staff-message h2 .ja .br {
    display: none;
  }
}

.staff-message__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
  gap: 80px;
}
@media screen and (max-width: 1199px) {
  .staff-message__container {
    gap: 5vw;
  }
}
@media screen and (max-width: 767px) {
  .staff-message__container {
    display: block;
  }
}

.staff-message__img {
  width: 30%;
  margin-top: -90px;
}
@media screen and (max-width: 1199px) {
  .staff-message__img {
    margin-top: -7vw;
  }
}
@media screen and (max-width: 767px) {
  .staff-message__img {
    max-width: 300px;
    width: 65%;
    margin: 0 auto;
  }
}
.staff-message__img img {
  height: 345px;
  -o-object-fit: cover;
  object-fit: cover;
  border-radius: 10px;
  -webkit-box-shadow: 0px 7px 26px rgba(0, 0, 0, 0.1607843137);
  box-shadow: 0px 7px 26px rgba(0, 0, 0, 0.1607843137);
}
@media screen and (max-width: 1199px) {
  .staff-message__img img {
    height: 30vw;
  }
}
@media screen and (max-width: 767px) {
  .staff-message__img img {
    height: auto;
  }
}

.staff-message__content {
  width: 70%;
  position: relative;
  padding: 60px 0 65px 130px;
}
@media screen and (max-width: 1199px) {
  .staff-message__content {
    padding: 60px 0 70px 10vw;
  }
}
@media screen and (max-width: 767px) {
  .staff-message__content {
    width: 100%;
    margin-top: -55px;
    padding: 90px 25px 35px;
  }
}
.staff-message__content:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 130%;
  height: 100%;
  background-color: #fff;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .staff-message__content:before {
    width: 100%;
  }
}
.staff-message__content h3 {
  font-size: 4rem;
  color: #001976;
  line-height: 1.4;
  letter-spacing: 0.08em;
  font-family: "Noto Sans JP Bold";
  margin-bottom: 32px;
}
@media screen and (max-width: 991px) {
  .staff-message__content h3 {
    font-size: 3.5rem;
  }
}
@media screen and (max-width: 767px) {
  .staff-message__content h3 {
    font-size: 1.8rem;
    margin-bottom: 15px;
  }
}
.staff-message__content p {
  font-size: 1.5rem;
  font-family: "Noto Sans JP Medium";
}
@media screen and (max-width: 767px) {
  .staff-message__content p {
    font-size: 1.3rem;
  }
}

.other-staff {
  padding: 100px 0 220px;
  background-color: #f1f6fc;
  overflow-x: hidden;
  /* Ajax Load More */
}
@media screen and (max-width: 767px) {
  .other-staff {
    padding: 60px 0 80px;
  }
}
.other-staff h2 {
  font-size: 8.5rem;
  color: #45a7ea;
  letter-spacing: 0.02em;
  font-family: "Lexend Medium";
  margin-bottom: 150px;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .other-staff h2 {
    font-size: 4.5rem;
    margin-bottom: 40px;
  }
}
.other-staff h2:before {
  content: "Introduction";
  position: absolute;
  top: -50px;
  left: 135px;
  -webkit-transform: rotate(-6deg);
  transform: rotate(-6deg);
  font-size: 18rem;
  line-height: 1;
  letter-spacing: 0.01em;
  color: #fff;
  font-family: "Whisper Regular";
  white-space: nowrap;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .other-staff h2:before {
    top: -12px;
    left: 0px;
    -webkit-transform: rotate(-4deg);
    transform: rotate(-4deg);
    font-size: 7rem;
  }
}
.other-staff .alm-btn-wrap {
  margin: 0;
  padding: 30px 0 0;
}
@media screen and (max-width: 767px) {
  .other-staff .alm-btn-wrap {
    padding: 15px 0 0;
  }
}
.other-staff .alm-listing .alm-reveal {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 85px 56px;
}
@media screen and (max-width: 1199px) {
  .other-staff .alm-listing .alm-reveal {
    gap: 85px 5vw;
  }
}
@media screen and (max-width: 1199px) {
  .other-staff .alm-listing .alm-reveal {
    gap: 30px 5vw;
  }
}
.other-staff .alm-btn-wrap .alm-load-more-btn {
  background-color: #45a7ea;
  font-size: 1.8rem;
  color: #fff;
  letter-spacing: 0.1em;
  font-family: "Noto Sans JP Bold";
  width: 287px;
  height: 66px;
  border-radius: 35px;
  border: 2px solid #45a7ea;
  padding: 0;
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
  -webkit-transition: all 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  transition: all 0.3s cubic-bezier(0.19, 1, 0.22, 1);
}
@media screen and (max-width: 767px) {
  .other-staff .alm-btn-wrap .alm-load-more-btn {
    font-size: 1.4rem;
    border-radius: 23px;
    width: 175px;
    height: 42px;
  }
}
.other-staff .alm-btn-wrap .alm-load-more-btn:hover {
  color: #45a7ea;
  background-color: #fff;
}
.other-staff .alm-btn-wrap .alm-load-more-btn.loading,
.other-staff .alm-btn-wrap .alm-load-more-btn:hover {
  color: #45a7ea;
  background-color: #fff;
}
.other-staff .alm-btn-wrap .alm-load-more-btn.done {
  background-color: #45a7ea;
  opacity: 0;
}
.other-staff .alm-btn-wrap .alm-load-more-btn.loading {
  padding-left: 0;
  -webkit-transition: none;
  transition: none;
}
.other-staff .alm-btn-wrap .alm-load-more-btn.loading:before {
  width: 220px;
  height: 50px;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  margin: 0;
  -webkit-transition: none;
  transition: none;
}
@media screen and (max-width: 767px) {
  .other-staff .alm-btn-wrap .alm-load-more-btn.loading:before {
    width: 140px;
    height: 28px;
  }
}

.other-staff__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 56px;
  margin-bottom: 85px;
}
@media screen and (max-width: 1199px) {
  .other-staff__list {
    gap: 5vw;
  }
}
@media screen and (max-width: 767px) {
  .other-staff__list {
    gap: 4vw;
    margin-bottom: 30px;
  }
}

.other-staff__item:hover .other-staff__img img {
  -webkit-filter: grayscale(0);
  filter: grayscale(0);
  -webkit-box-shadow: 0px 0px 50px rgba(0, 188, 196, 0.2235294118);
  box-shadow: 0px 0px 50px rgba(0, 188, 196, 0.2235294118);
}

.other-staff__img {
  margin-bottom: 27px;
}
@media screen and (max-width: 767px) {
  .other-staff__img {
    margin-bottom: 12px;
  }
}
.other-staff__img img {
  height: 315px;
  -o-object-fit: cover;
  object-fit: cover;
  border-radius: 10px;
  -webkit-filter: grayscale(100%);
  filter: grayscale(100%);
  -webkit-transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
  transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
}
@media screen and (max-width: 1199px) {
  .other-staff__img img {
    height: 26vw;
    border-radius: 7px;
  }
}

.other-staff__content {
  padding: 0 10px;
}
@media screen and (max-width: 767px) {
  .other-staff__content {
    padding: 0;
  }
}

.other-staff__detail {
  margin-bottom: 18px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
}
@media screen and (max-width: 767px) {
  .other-staff__detail {
    margin-bottom: 10px;
  }
}
@media screen and (max-width: 575px) {
  .other-staff__detail {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-flow: column;
    flex-flow: column;
    gap: 5px;
  }
}
.other-staff__detail span {
  display: inline-block;
  font-size: 1.3rem;
  letter-spacing: 0.1em;
  padding: 6px 18px;
  border: 1px solid #161826;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .other-staff__detail span {
    font-size: 1.1rem;
    padding: 3.5px 10px;
  }
}

.other-staff__name {
  color: var(--color-base);
}
.other-staff__name .ja {
  font-size: 2.8rem;
  letter-spacing: 0.12em;
  font-family: "Noto Sans JP Bold";
}
@media screen and (max-width: 991px) {
  .other-staff__name .ja {
    font-size: 2.6rem;
  }
}
@media screen and (max-width: 767px) {
  .other-staff__name .ja {
    font-size: 1.8rem;
  }
}
.other-staff__name .en {
  font-size: 1.8rem;
  letter-spacing: 0.08em;
  font-family: "Lexend SemiBold";
  margin-top: 13px;
}
@media screen and (max-width: 991px) {
  .other-staff__name .en {
    font-size: 1.6rem;
    margin-top: 12px;
  }
}
@media screen and (max-width: 767px) {
  .other-staff__name .en {
    font-size: 1rem;
    margin-top: 8px;
  }
}

.staff-footer-contact {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .staff-footer-contact {
    display: block;
  }
}
.staff-footer-contact .sec-ttl .ja {
  color: #fff;
}

.staff-contact,
.staff-entry {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 50%;
  padding: 100px 35px 90px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .staff-contact,
  .staff-entry {
    width: 100%;
    padding: 60px 20px 65px;
  }
}
.staff-contact:before,
.staff-entry:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: calc(100% + 30px);
}
@media screen and (max-width: 767px) {
  .staff-contact:before,
  .staff-entry:before {
    height: calc(100% + 20px);
  }
}
.staff-contact .inner,
.staff-entry .inner {
  position: relative;
  max-width: 410px;
  width: 100%;
  height: 420px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-flow: column;
  flex-flow: column;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .staff-contact .inner,
  .staff-entry .inner {
    max-width: 100%;
    height: auto;
  }
}
@media screen and (max-width: 767px) {
  .staff-contact .sec-ttl,
  .staff-entry .sec-ttl {
    text-align: center;
  }
}
@media screen and (max-width: 991px) {
  .staff-contact .sec-ttl .en,
  .staff-entry .sec-ttl .en {
    font-size: 7rem;
  }
}
@media screen and (max-width: 767px) {
  .staff-contact .sec-ttl .en,
  .staff-entry .sec-ttl .en {
    font-size: 5rem;
  }
}
@media screen and (max-width: 991px) {
  .staff-contact .sec-ttl .ja,
  .staff-entry .sec-ttl .ja {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 767px) {
  .staff-contact .sec-ttl .ja,
  .staff-entry .sec-ttl .ja {
    font-size: 1.2rem;
  }
}

.staff-contact:before {
  background: -webkit-gradient(
    linear,
    left top,
    left bottom,
    from(var(--color-base)),
    to(rgba(29, 92, 177, 0.9411764706))
  );
  background: linear-gradient(
    var(--color-base) 0%,
    rgba(29, 92, 177, 0.9411764706) 100%
  );
}
@media screen and (max-width: 767px) {
  .staff-contact .sec-ttl {
    margin-bottom: 35px;
  }
}
@media screen and (max-width: 767px) {
  .staff-contact .contact-tel,
  .staff-contact .contact-mail {
    max-width: 290px;
    margin: 0 auto;
  }
}
.staff-contact .contact-tel a:hover,
.staff-contact .contact-mail a:hover {
  color: var(--color-base);
}
.staff-contact .contact-tel {
  margin-bottom: 25px;
}
@media screen and (max-width: 767px) {
  .staff-contact .contact-tel {
    margin-bottom: 20px;
  }
}
.staff-contact .contact-tel p {
  margin-top: 12px;
}
@media screen and (max-width: 767px) {
  .staff-contact .contact-tel p {
    margin-top: 10px;
  }
}

.staff-entry:before {
  background: -webkit-gradient(
    linear,
    left top,
    left bottom,
    from(#1782d3),
    color-stop(49%, rgba(46, 150, 224, 0.9725490196)),
    color-stop(67%, rgba(64, 166, 235, 0.9529411765)),
    to(rgba(89, 200, 249, 0.9254901961))
  );
  background: linear-gradient(
    #1782d3 0%,
    rgba(46, 150, 224, 0.9725490196) 49%,
    rgba(64, 166, 235, 0.9529411765) 67%,
    rgba(89, 200, 249, 0.9254901961) 100%
  );
}
.staff-entry .sec-ttl {
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .staff-entry .sec-ttl {
    margin-bottom: 25px;
  }
}
.staff-entry p {
  font-size: 1.8rem;
  font-family: "Noto Sans JP Bold";
}
@media screen and (max-width: 991px) {
  .staff-entry p {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .staff-entry p {
    font-size: 1.4rem;
    text-align: center;
    margin-bottom: 30px;
  }
}

/*--------------------------------
	404ページ
--------------------------------*/
.sec-404 {
  padding: 100px 0;
}

.sec-404__img {
  max-width: 700px;
  margin: 0 auto;
}

/* 2023.11.24 */
.job-list__btns ul li:nth-child(2),
.mNav__item-sub li:nth-child(2) {
  display: none;
}

/* 2023.12.1 */
#drawing .business__list,
#drone .business__list,
.work__detail dl:last-child {
  display: none;
}

/* 2023.12.5 */
.business-details__item:nth-child(4) {
  position: relative;
  margin-bottom: 0;
}
.business-details__item:nth-child(4)::before {
  content: "Drone photography";
  font-size: 7.8rem;
  color: rgba(245, 247, 250, 0.7);
  line-height: 1;
  letter-spacing: 0.01em;
  font-family: "Lexend Medium";
  position: absolute;
  bottom: 0;
  right: 0;
  white-space: nowrap;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .business-details__item:nth-child(4)::before {
    font-size: 4.5rem;
    bottom: 0;
    right: -5vw;
  }
}
@media screen and (max-width: 575px) {
  .business-details__item:nth-child(4)::before {
    bottom: 0;
    font-size: 4rem;
  }
}
.business-details__item:nth-child(4) .business-details__header {
  position: relative;
  padding-bottom: 100px;
  border-bottom: 1.5px solid #d9d9d9;
}
@media screen and (max-width: 767px) {
  .business-details__item:nth-child(4) .business-details__header {
    padding-bottom: 45px;
    border-bottom-width: 1px;
  }
}
.business-details__item:nth-child(4) .business-details__header:after {
  content: "";
  position: absolute;
  bottom: -1.5px;
  left: 0;
  width: 154px;
  height: 1.5px;
  background-color: var(--color-base);
}
@media screen and (max-width: 767px) {
  .business-details__item:nth-child(4) .business-details__header:after {
    bottom: -1px;
    width: 70px;
    height: 1px;
  }
}

.business__movie h3 {
  font-size: 2.8rem;
  font-family: "Noto Sans JP SemiBold";
  letter-spacing: 0.07em;
  margin-bottom: 10px;
}
@media screen and (max-width: 767px) {
  .business__movie h3 {
    font-size: 2.2rem;
  }
}
.business__movie p {
  line-height: 1.8;
  margin-bottom: 25px;
}
.business__movie iframe {
  width: 100%;
  aspect-ratio: 16/9;
}

/* ドローンカスタムフィールド */
.drone-info {
  display: flex;
  width: 100%;
  margin: 80px 0 50px;
}
@media screen and (max-width: 767px) {
  .drone-info {
    display: block;
    margin: 50px 0;
  }
}
.drone-info h4 {
  font-family: "Noto Sans JP SemiBold";
  font-size: 1.9rem;
  line-height: 1.4;
  letter-spacing: 0.12em;
  width: 18%;
}
@media screen and (max-width: 767px) {
  .drone-info h4 {
    width: 100%;
    margin-bottom: 10px;
    font-size: 1.6rem;
  }
}

.drone-info__table {
  width: 82%;
  border-collapse: separate;
  border-spacing: 3px;
}
@media screen and (max-width: 767px) {
  .drone-info__table {
    width: 100%;
    border-spacing: 2px;
  }
}
.drone-info__table th {
  background-color: var(--color-base);
  color: #fff;
  font-size: 1.5rem;
  letter-spacing: 0.1em;
  padding: 12px 5px;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .drone-info__table th {
    font-size: 1.2rem;
  }
}
.drone-info__table td {
  background-color: #f5f7fa;
  font-size: 1.4rem;
  letter-spacing: 0.05em;
  padding: 10px 5px;
  word-break: break-all;
}
@media screen and (max-width: 767px) {
  .drone-info__table td {
    font-size: 1.2rem;
  }
}
.drone-info__table td:first-child {
  color: var(--color-base);
}

.drone-info__table th,
.drone-info__table td {
  text-align: center;
  vertical-align: middle;
}

/* 2024.1.24 修正 */
.works-article .inner {
  margin-bottom: 100px;
}

@media screen and (max-width: 767px) {
  .works-article .inner {
    margin-bottom: 70px;
  }
}

@media screen and (max-width: 767px) {
  .footer__sns ul {
    max-width: 180px;
  }
}

.footer__sns ul li:not(:last-child) {
  margin-bottom: 0;
}

.page-id-18 .footer__sns ul li:not(:last-child),
.page-id-20 .footer__sns ul li:not(:last-child),
.page-id-22 .footer__sns ul li:not(:last-child),
.page-id-24 .footer__sns ul li:not(:last-child),
.page-id-26 .footer__sns ul li:not(:last-child),
.single-staff .footer__sns ul li:not(:last-child) {
  margin-bottom: 20px;
}

@media screen and (max-width: 767px) {
  .page-id-18 .footer__sns ul li:not(:last-child),
  .page-id-20 .footer__sns ul li:not(:last-child),
  .page-id-22 .footer__sns ul li:not(:last-child),
  .page-id-24 .footer__sns ul li:not(:last-child),
  .page-id-26 .footer__sns ul li:not(:last-child),
  .single-staff .footer__sns ul li:not(:last-child) {
    margin-bottom: 0;
  }
}

/* 下層ページ ローディング */
.opening--lower {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  background-color: #fff;
  opacity: 1;
  -webkit-transition: all 0.85s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: all 0.85s cubic-bezier(0.165, 0.84, 0.44, 1);
}

body.is-loaded .opening--lower {
  opacity: 0;
  visibility: hidden;
}
body.is-loaded .page-header .sec-ttl,
body.is-loaded .news-post__container {
  -webkit-transition: 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0.5s;
  transition: 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0.5s;
}

/* 2024.2.17 */
.opening {
  top: 0;
}

@media screen and (max-width: 991px) {
  .mv {
    margin-top: 78px;
    height: calc(100vh - 78px);
  }
}

.formNav {
  max-width: 950px;
  width: 100%;
  margin: 0 auto;
  display: flex;
}

.formNav__btn {
  background-color: #e8e9eb;
  font-size: 1.7rem;
  color: #45a7ea !important;
  line-height: 1.4;
  width: 50%;
  border-radius: 10px 10px 0 0;
  padding: 30px 10px;
  font-family: "Noto Sans JP SemiBold";
  position: relative;
  transition: all 0.2s ease-out;
  display: flex;
  justify-content: center;
  align-items: center;
}

@media screen and (max-width: 767px) {
  .formNav__btn {
    font-size: 1.4rem;
    padding: 22px 10px;
  }
}

.formNav__btn:after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  width: 87%;
  height: 3px;
  background-color: #45a7ea;
  transition: all 0.2s ease-out;
  opacity: 0;
}

@media screen and (max-width: 767px) {
  .formNav__btn:after {
    height: 2px;
  }
}

.formNav__btn:hover:after {
  opacity: 1;
}

.formNav__btn span {
  position: relative;
  padding-left: 28px;
}

@media screen and (max-width: 767px) {
  .formNav__btn span {
    padding-left: 18px;
  }
}

.formNav__btn span:before {
  content: "";
  position: absolute;
  top: 52%;
  left: 0;
  transform: translateY(-50%);
  width: 10px;
  height: 10px;
  background-color: #45a7ea;
  border-radius: 50%;
  opacity: 0;
  transition: all 0.2s ease-out;
}

@media screen and (max-width: 767px) {
  .formNav__btn span:before {
    width: 7px;
    height: 7px;
  }
}

.formNav__btn.current {
  background-color: #fcfcfc;
}

.formNav__btn.current span:before {
  opacity: 1;
}

.formNav__btn.current:after {
  opacity: 1;
}

.recruit-entry__form {
  border-radius: 0 0 10px 10px;
}

#form2 {
  display: none;
}

.recruit-footer-contact {
  padding-bottom: 200px;
}

@media screen and (max-width: 767px) {
  .recruit-footer-contact {
    padding-bottom: 60px;
  }
}

.recruit-footer-contact .ttl-wrap {
  display: block;
  text-align: center;
}

.recruit-footer-contact .sec-ttl {
  margin-bottom: 40px;
}

.recruit-entry {
  padding-top: 0;
}

.recruit-entry .ttl-wrap {
  margin-bottom: 85px;
}

@media screen and (max-width: 767px) {
  .recruit-entry .ttl-wrap {
    margin-bottom: 50px;
  }
}

.recruit-entry .contact__tel {
  max-width: 950px;
  width: 100%;
  height: 140px;
  margin: 0 auto 135px;
  background-color: #2a90db;
}

@media screen and (max-width: 767px) {
  .recruit-entry .contact__tel {
    height: 160px;
    margin-bottom: 65px;
  }
}

.recruit-entry .contact__tel .info .tel-number:before {
  background: url(../images/footer/contact_2_w@2x.png) no-repeat;
  background-size: contain;
}

.recruit-entry .contact__tel:after {
  top: 40px;
  width: 0.5px;
  height: calc(100% - 80px);
  background-color: #fff;
}

.recruit-entry .contact__tel,
.recruit-entry .contact__tel .info .tel-number,
.recruit-entry .contact__tel .info .open {
  color: #fff;
}

@media screen and (max-width: 767px) {
  .recruit-entry .contact__tel .info .tel-number {
    background: url(../images/footer/tel_number2.png) no-repeat;
    background-size: contain;
  }
}

.recruit-entry__form-list dl.select2 {
  margin-bottom: 5px;
}

.recruit-entry__form-list dl.select2 dd {
  position: relative;
}

.recruit-entry__form-list dl.select2 dd:after {
  content: "";
  background: url(../images/top/arrow_bottom2.png) no-repeat;
  background-size: contain;
  position: absolute;
  top: 52%;
  right: 30px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 14px;
  height: 9px;
}

textarea::placeholder {
  font-size: 1.5rem;
  color: #bebebe;
  letter-spacing: 0.15em;
}

@media screen and (max-width: 767px) {
  textarea::placeholder {
    font-size: 1.3rem;
  }
}

.contact-mail {
  position: relative;
}

.contact-mail a:before {
  content: "";
  border: 1.5px solid #fff;
  border-left: 0;
  border-bottom: 0;
  position: absolute;
  top: 50%;
  right: 35px;
  -webkit-transform: translateY(-50%) rotate(45deg);
  transform: translateY(-50%) rotate(45deg);
  width: 10px;
  height: 10px;
  -webkit-transition: all 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  transition: all 0.3s cubic-bezier(0.19, 1, 0.22, 1);
}

@media screen and (max-width: 767px) {
  .contact-mail a:before {
    right: 25px;
    width: 8px;
    height: 8px;
  }
}

.contact-mail a:hover:before {
  border-color: #001976;
}

.contact-mail a:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 35px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 17px;
  height: 1.5px;
  background: #fff;
  -webkit-transition: all 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  transition: all 0.3s cubic-bezier(0.19, 1, 0.22, 1);
}

@media screen and (max-width: 767px) {
  .contact-mail a:after {
    right: 25px;
    width: 12px;
  }
}

.contact-mail a:hover:after {
  background-color: #001976;
}

.recruit-entry__form-list .radio2 .wpcf7-radio {
  display: flex;
  gap: 15px 24px;
  flex-wrap: wrap;
}

/* 2024.3.10 修正 */
.sec-ttl .en {
  line-height: 1.1;
}

.mNav__item a {
  white-space: nowrap;
}

.mNav__item a > span {
  gap: 20px;
}

.drawer__container {
  max-width: 350px;
}

.drawer__info .tel-number {
  margin-left: 30px;
}

.about {
  overflow: hidden;
}

.about__img:before {
  content: "Company Profile";
  font-size: 13.6rem;
  letter-spacing: 0;
  right: -150px;
}

@media screen and (max-width: 767px) {
  .about__img:before {
    content: "Company\AProfile";
    font-size: 6rem;
    bottom: -95px;
    right: -5vw;
    white-space: pre;
    text-align: right;
  }
}

.top-business {
  padding: 170px 0 180px;
}

@media screen and (max-width: 767px) {
  .top-business {
    padding: 75px 0;
  }
}

.top-business .inner-def:before {
  content: "Our Business";
  font-size: 14rem;
  top: -130px;
}

@media screen and (max-width: 767px) {
  .top-business .inner-def:before {
    content: none;
  }
}

.three-goals {
  display: none;
}

.philosophy__header {
  margin-bottom: 0;
}

.page-id-12 .vision .inner-def:before {
  content: "Top Message";
  font-size: 14rem;
  color: #eef1f6;
  letter-spacing: 0;
  top: -50px;
  right: -140px;
  z-index: 0;
}

@media screen and (max-width: 767px) {
  .page-id-12 .vision .inner-def:before {
    font-size: 5.5rem;
    top: -28px;
    right: auto;
  }
}

.message__img {
  margin-top: 0;
}

.recruit-footer-contact:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 58%;
  background: linear-gradient(
    rgba(228, 241, 248, 0) 0%,
    #e4f1f8 2%,
    rgba(64, 166, 235, 0.9529411765) 10%,
    rgba(46, 150, 224, 0.9725490196) 14%,
    #1782d3 35%,
    rgba(46, 150, 224, 0.9725490196) 50%,
    rgba(64, 166, 235, 0.9529411765) 67%,
    rgba(89, 200, 249, 0.9254901961) 82%,
    #e4f1f8 96%,
    rgba(228, 241, 248, 0) 100%
  );
}

.recruit-entry__form {
  height: 970px;
}

@media screen and (max-width: 767px) {
  .recruit-entry__form {
    height: 880px;
  }
}

@media screen and (max-width: 575px) {
  .recruit-entry__form {
    height: 920px;
  }
}

/* 2024.4.7 */
.mv__catch .en {
  font-family: "Lexend Medium";
}

.drawer__bg:before {
  content: none;
}

.works-article .inner {
  grid-template-columns: repeat(1, 1fr);
}

.works-article .works__img img {
  height: 385px;
}

@media screen and (max-width: 1199px) {
  .works-article .works__img img {
    height: 32vw;
  }
}

@media screen and (max-width: 991px) {
  .works-article .works__img img {
    height: 48vw;
  }
}

@media screen and (max-width: 767px) {
  .works-article .works__img img {
    height: 55vw;
  }
}

.work__body {
  display: block;
}

.work__detail {
  display: none;
}

.work-slider {
  width: 100%;
}

.work__inner {
  max-width: 930px;
  width: 100%;
  margin: 0 auto;
}

.work-main-slider .slide-item img {
  height: 545px;
}

@media screen and (max-width: 991px) {
  .work-main-slider .slide-item img {
    height: 58vw;
  }
}

@media screen and (max-width: 767px) {
  .work-main-slider .slide-item img {
    height: 64vw;
  }
}

.work-thumbnail-slider .thumbnail-item img {
  height: 110px;
}

@media screen and (max-width: 991px) {
  .work-thumbnail-slider .thumbnail-item img {
    height: 12vw;
  }
}

@media screen and (max-width: 767px) {
  .work-thumbnail-slider .thumbnail-item img {
    height: 14vw;
  }
}

/* 2024.5.2 修正 */
.news.top-news {
  padding-bottom: 200px;
}

@media screen and (max-width: 767px) {
  .news.top-news {
    padding-bottom: 130px;
  }
}

.contact__top-img img {
  height: 600px;
}

@media screen and (max-width: 767px) {
  .contact__top-img img {
    height: 250px;
  }
}

.contact__container {
  margin-top: -100px;
}

@media screen and (max-width: 767px) {
  .contact__container {
    margin-top: -50px;
  }
}

/* 以下、施工事例のパネル内余白を解消 */
.works__content {
  height: 100px;
}

@media screen and (max-width: 767px) {
  .works__content {
    height: 100px;
  }
}

/* 以下、フッターのあしらいロゴを削除 */
.footer:before {
  content: none;
}

/* 2025.5.11 修正 */
.recruit-footer-contact .sec-ttl .ja {
  font-size: 3.5rem;
}

@media screen and (max-width: 767px) {
  .recruit-footer-contact .sec-ttl .ja {
    font-size: 2.5rem;
  }
}

/* 2025 8.11 修正 */
.footer__sns ul {
  grid-template-columns: repeat(4, 1fr);
  gap: 25px;
}

@media screen and (max-width: 991px) {
  .footer__sns ul {
    grid-template-columns: repeat(2, 1fr);
    gap: 18px 25px;
  }
}

@media screen and (max-width: 767px) {
  .footer__sns ul {
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    gap: 0;
    max-width: 380px;
    margin: 0 auto 40px;
  }
}

.footer__sns ul li a {
  font-size: 1.1rem;
  padding-left: 37px;
}

@media screen and (max-width: 767px) {
  .footer__sns ul li a {
    padding-left: 0;
  }
}

.footer__sns ul li a.line:before {
  background: url(../images/footer/line@2x.png) no-repeat;
  background-size: contain;
}

.footer__sns ul li a.tiktok:before {
  background: url(../images/footer/tiktok@2x.png) no-repeat;
  background-size: contain;
}

@media screen and (max-width: 1199px) {
  .header {
    width: 98%;
  }
}

@media screen and (max-width: 991px) {
  .header {
    width: 100%;
  }
}

.header > .inner {
  padding-right: 50px;
}

@media screen and (max-width: 1199px) {
  .header > .inner {
    padding-left: 30px;
    padding-right: 30px;
  }
}

@media screen and (max-width: 991px) {
  .header > .inner {
    padding: 0;
  }
}

.header__sns .sns-list {
  display: flex;
  gap: 23px;
}

@media screen and (max-width: 1199px) {
  .header__sns .sns-list {
    gap: 20px;
  }
}

.header__sns .sns-list a {
  width: 25px;
  padding: 0;
}

.header__sns .sns-list a:after {
  content: none;
}

.mNav .sns-list {
  display: flex;
  justify-content: space-between;
  max-width: 260px;
  margin: 0 auto;
}

.mNav .sns-list a {
  width: 35px;
}

.drawer__info {
  margin-top: 30px;
  padding-top: 30px;
}

.header.is-open .mNav__item:nth-child(8) a {
  -webkit-transition-delay: 0.675s;
  transition-delay: 0.675s;
}

@media screen and (max-width: 767px) {
  .recruit-footer-contact {
    padding-bottom: 120px;
  }
}

@media screen and (max-width: 575px) {
  .page-id-18 .footer__sns ul,
  .page-id-20 .footer__sns ul,
  .page-id-22 .footer__sns ul,
  .page-id-24 .footer__sns ul,
  .page-id-26 .footer__sns ul,
  .single-staff .footer__sns ul {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }
}

.works.top-works .swiper-navigation-icon,
.job .swiper-navigation-icon {
  display: none;
}

.vehicle__slider .swiper-navigation-icon {
  display: none;
}

@media screen and (max-width: 991px) {
  .business-aside__list {
    grid-template-columns: repeat(4, 185px);
    gap: 15px;
  }
}

@media screen and (max-width: 767px) {
  .business-aside__list {
    grid-template-columns: repeat(2, 185px);
  }
}
