/* ===========================
01) home
------------------------------ */
body.home .mv {
  position: relative;
  height: calc(100vh - var(--size24));
  background:url(/img/mv_01.jpg) no-repeat center/cover;
  background-color: var(--common_bgcolor);
  border-radius: 0 0 var(--size24) var(--size24);
  overflow: hidden;
}
body.home .mv .mv_cover {
  position: absolute;
  top: calc(50% + var(--size16));
  left: 50%;
  transform: translate(-50%, -50%);
  width: calc(var(--size8) * 85.5); /* 68.4rem */
  height: calc(var(--size8) * 39.25); /* 31.4rem */
  text-align: center;
  background: url(/img/mv_02.svg) no-repeat center/contain;
  mix-blend-mode: multiply;
}
@media screen and (max-width: 767px) {
  body.home .mv .mv_cover {
    width: 90%;
    height: 100%;
  }
}
body.home .mv .mv_ttl {
  color: #FFFFFF;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  body.home .mv .mv_ttl {
    width: 100%;
    height: auto;
  }
}
body.home .mv .mv_ttl .jp.sub {
  font-feature-settings: 'palt' on;
  text-shadow: 0 0 11.172px rgba(0, 0, 0, 0.25);
  font-size: var(--size48);
  font-weight: 500;
  line-height: 138%; /* 6.624rem */
  letter-spacing: 0.24rem;
  margin-bottom: var(--size10);
}
@media screen and (max-width: 767px) {
  body.home .mv .mv_ttl .jp.sub {
    font-size: var(--size24);
  }
}
body.home .mv .mv_ttl .jp.main {
  font-feature-settings: 'palt' on;
  text-shadow: 0 0 11.172px rgba(0, 0, 0, 0.25);
  font-size: var(--size60);
  font-weight: 700;
  line-height: 138%; /* 8.28rem */
  letter-spacing: 0.3rem;
  margin-bottom: var(--size24);
}
@media screen and (max-width: 767px) {
  body.home .mv .mv_ttl .jp.main {
    font-size: var(--size30);
  }
}
body.home .mv .mv_ttl .jp.main .grad {
  font-feature-settings: 'palt' on;
  font-size: var(--size66);
  font-weight: 700;
  line-height: 138%; /* 9.108rem */
  letter-spacing: 0.33rem;
  background: linear-gradient(75deg, #E45CFF 6.55%, #8974FF 46.82%, #6DD8FF 77.21%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media screen and (max-width: 767px) {
  body.home .mv .mv_ttl .jp.main .grad {
    font-size: var(--size30);
  }
}
body.home .mv .mv_ttl .en {
  font-family: var(--ff-m);
  font-size: var(--size28);
  font-weight: 400;
  line-height: 100%; /* 2.8rem */
}
@media screen and (max-width: 767px) {
  body.home .mv .mv_ttl .en {
    font-size: var(--size14);
  }
}
body.home .mv .mv_ttl .en strong {
  font-weight: 700;
}

/* --------------------
.one_stop
-------------------- */
body.home .one_stop .parent {
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(4, 1fr);
  grid-column-gap: var(--size24);
  grid-row-gap: var(--size24);
  width: var(--size1280);
}
body.home .one_stop .parent div,
body.home .one_stop .parent a {
  display: block;
  position: relative;
}
body.home .one_stop .parent a {
  background-color: #000000;
  border-radius: var(--size24);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
body.home .one_stop .parent div.box1 {
  grid-area: 1 / 1 / 2 / 2;
  height: calc(var(--size8) * 28.75);
  width: calc(var(--size8) * 78.5);
  padding-top: var(--size24);
  padding-bottom: var(--size24);
}
body.home .one_stop .parent a.box2 {
  grid-area: 1 / 2 / 3 / 4;
  width: calc(var(--size8) * 78.5);
  background-image: url(/img/bg_box2.jpg);
}
body.home .one_stop .parent a.box3 {
  grid-area: 2 / 1 / 3 / 2;
  height: calc(var(--size8) * 28.75);
  width: calc(var(--size8) * 78.5);
  background-image: url(/img/bg_box3.jpg);
}
body.home .one_stop .parent a.box4 {
  grid-area: 3 / 2 / 4 / 3;
  height: calc(var(--size8) * 28.75);
  background-image: url(/img/bg_box4.jpg);
}
body.home .one_stop .parent a.box5 {
  grid-area: 3 / 3 / 4 / 4;
  height: calc(var(--size8) * 28.75);
  background-image: url(/img/bg_box5.jpg);
}
body.home .one_stop .parent a.box6 {
  grid-area: 4 / 2 / 5 / 4;
  height: calc(var(--size8) * 28.75);
  width: calc(var(--size8) * 78.5);
  background-image: url(/img/bg_box6.jpg);
}
body.home .one_stop .parent a.box7 {
  grid-area: 3 / 1 / 5 / 2;
  width: calc(var(--size8) * 78.5);
  background-image: url(/img/bg_box7.jpg);
}
@media screen and (max-width: 767px) {
  body.home .one_stop .parent {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: repeat(7, 1fr);
    grid-column-gap: 0px;
    grid-row-gap: var(--size22);
    width: 100%;
  }
  body.home .one_stop .parent div.box1 {
    /* ttl */
    grid-area: 1 / 1 / 2 / 2;
    width: 100%;
  }
  body.home .one_stop .parent a.box3 {
    /* philosophy */
    grid-area: 2 / 1 / 3 / 2;
    width: 100%;
  }
  body.home .one_stop .parent a.box4 {
    /* company */
    grid-area: 3 / 1 / 4 / 2;
    width: 100%;
  }
  body.home .one_stop .parent a.box2 {
    /* service */
    grid-area: 4 / 1 / 5 / 2;
    width: 100%;
  }
  body.home .one_stop .parent a.box6 {
    /* locations */
    grid-area: 5 / 1 / 6 / 2;
    width: 100%;
  }
  body.home .one_stop .parent a.box5 {
    /* history */
    grid-area: 6 / 1 / 7 / 2;
    width: 100%;
  }
  body.home .one_stop .parent a.box7 {
    /* recruit */
    grid-area: 7 / 1 / 8 / 2;
    width: 100%;
  }
}
body.home .one_stop .parent div.box1 .ttl {
  font-feature-settings: 'palt' on;
  font-size: var(--size36);
  font-weight: 700;
  line-height: 135%; /* 4.86rem */
  letter-spacing: 0.288rem;
  margin-bottom: var(--size16);
}
@media screen and (max-width: 767px) {
  body.home .one_stop .parent div.box1 .ttl {
    font-size: var(--size24);
  }
}
body.home .one_stop .parent div.box1 .ttl strong {
  background: linear-gradient(95deg, #6F00CF 10.94%, #28ACEE 95.05%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-feature-settings: 'palt' on;
  font-size: var(--size36);
  font-weight: 700;
  line-height: 135%;
  letter-spacing: 0.288rem;
}
@media screen and (max-width: 767px) {
  body.home .one_stop .parent div.box1 .ttl strong {
    font-size: var(--size24);
  }
}
body.home .one_stop .parent div.box1 p {
  font-feature-settings: 'palt' on;
  font-size: var(--size18);
  font-weight: 500;
  line-height: 170%; /* 3.06rem */
  letter-spacing: 0.144rem;
}
@media screen and (max-width: 767px) {
  body.home .one_stop .parent div.box1 p {
    font-size: var(--size16);
  }
}
body.home .one_stop .parent a .cnt {
  position: absolute;
  width: 100%;
  height: auto;
  bottom: 0;
  left: 0;
  padding: var(--size20) var(--size32);
  color: #FFFFFF;
}
@media screen and (max-width: 767px) {
  body.home .one_stop .parent a .cnt {
    padding: var(--size64) var(--size32);
  }
}
body.home .one_stop .parent a .cnt .ttl {
  text-shadow: 0 0 10px rgba(0, 0, 0, 0.25);
  font-family: var(--ff-m);
  font-size: var(--size44);
  font-weight: 700;
  line-height: 100%; /* 4.4rem */
  letter-spacing: 0.176rem;
  margin-bottom: var(--size14);
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  body.home .one_stop .parent a .cnt .ttl {
    font-size: var(--size32);
  }
}
body.home .one_stop .parent a .cnt .txt {
  font-feature-settings: 'palt' on;
  text-shadow: 0 0 4px rgba(0, 0, 0, 0.33);
  font-size: var(--size16);
  font-weight: 700;
  line-height: 160%; /* 2.56rem */
  letter-spacing: 0.128rem;
}
@media screen and (max-width: 767px) {
  body.home .one_stop .parent a .cnt .txt {
    font-size: var(--size14);
  }
}
body.home .one_stop .parent a .btn {
  position: absolute;
  width: 100%;
  height: auto;
  bottom: 0;
  right: 0;
  padding: var(--size20) var(--size32);
  color: #FFFFFF;
  text-align: right;
}
body.home .one_stop .parent a .btn span {
  display: inline-block;
  padding: var(--size10) var(--size32) var(--size10) var(--size20);
  border-radius: var(--size30);
  border: 1px solid #FFF;
  background: rgba(255, 255, 255, 0.18);
  backdrop-filter: blur(2px);
  font-size: var(--size14);
  font-style: normal;
  font-weight: 700;
  line-height: 100%; /* 1.5rem */
  background-image: url(/img/bg_onestop_btn_arrow.svg);
  background-repeat: no-repeat;
  background-position: right var(--size14) center;
  background-size: var(--size8) var(--size14);
}



/* ===========================
02) service (common)
------------------------------ */
/* mv(トップ) */
body.page.service.top header .global-nav-lst li a {
  color: #FFFFFF;
}
body.page.service.top header.active .global-nav-lst li a {
  color: #000000;
}
body.page.service.top main {
  padding-top: 0;
}
body.page.service.top .mv {
  position: relative;
  height: calc(var(--size8) * 52.5);
  background: url(/img/mv_service.jpg) no-repeat center/cover;
  border-radius: 0 0 var(--size24) var(--size24);
  width: 100%;
  max-width: 100%;
}
@media screen and (max-width: 767px) {
  body.page.service.top .mv {
    height: calc(var(--size8) * 30);
  }
}
body.page.service.top .mv .inner {
  width: 100%;
  height: 100%;
}
body.page.service.top .mv .inner .ttl {
  color: #FFFFFF;
}
body.page.service.top .mv .inner .ttl .en {
  font-family: var(--ff-m);
  font-size: var(--size54);
  font-weight: 700;
  line-height: 100%;
  letter-spacing: 0.112rem;
  margin-bottom: var(--size12);
}
body.page.service.top .mv .inner .ttl .jp {
  font-size: var(--size20);
  font-weight: 700;
  line-height: 100%;
  letter-spacing: 0.1rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  body.page.service.top .mv .inner .ttl .en {
    font-size: var(--size32);
  }
  body.page.service.top .mv .inner .ttl .jp {
    font-size: var(--size18);
  }
}
body.page.service.top .service-top-ttl {
  text-align: center;
}
body.page.service.top .service-top-ttl .inner .ttl .sub-ttl {
  color: #4E197C;
  font-feature-settings: 'palt' on;
  font-size: var(--size18);
  font-weight: 700;
  line-height: 180%; /* 3.24rem */
  letter-spacing: 0.144rem;
  margin-bottom: var(--size24);
}
body.page.service.top .service-top-ttl .inner .ttl .main-ttl {
  font-feature-settings: 'palt' on;
  font-size: var(--size32);
  font-weight: 700;
  line-height: 160%; /* 5.12rem */
  letter-spacing: 0.256rem;
  margin-bottom: var(--size8);
}
@media screen and (max-width: 767px) {
  body.page.service.top .service-top-ttl .inner .ttl .main-ttl {
    font-size: var(--size28);
  }
}
body.page.service.top .service-top-ttl .inner .ttl .txt {
  font-size: var(--size20);
  font-weight: 500;
  line-height: 170%; /* 3.4rem */
}
body.page.service.top .service-lst .inner .service-ttl {
  text-align: center;
  font-size: var(--size24);
  font-weight: 700;
  line-height: 160%; /* 3.84rem */
  margin-bottom: var(--size32);
}
body.page.service.top .service-top-cnt {
  background: #F4F3F7;
  margin-bottom: var(--size120) !important;
  overflow: hidden;
}
body.page.service.top .service-top-cnt .inner1 {
  position: relative;
  width: 100%;
  max-width: var(--size1000);
  margin: 0 auto;
}
body.page.service.top .service-top-cnt .inner1::after {
  display: block;
  content: "";
  width: calc(var(--size8) * 67.25); /* 53.8rem */
  height: calc(var(--size8) * 72); /* 57.6rem */
  background-image: url(/img/bg_service_top_cnt.svg);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: calc(var(--size8) * 12.5 * -1.1 + var(--size8) * 12.5); /* 10rem */
  right: 0;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  body.page.service.top .service-top-cnt .inner1::after {
    position: relative;
    width: 80%;
    height: auto;
    aspect-ratio: 1 / 1;
    top: unset;
    right: unset;
    margin: 0 10% -9% 10%;
  }
}
body.page.service.top .service-top-cnt .inner1 .strength-box {
  width: 100%;
}
@media screen and (max-width: 767px) {
  body.page.service.top .service-top-cnt .inner1 .strength-box {
    width: 90%;
    margin: 0 auto;
  }
}
body.page.service.top .service-top-cnt .inner1 .strength-box .strength-box-ttl {
  display: inline-block;
  position: relative;
  margin-bottom: var(--size48);
}
body.page.service.top .service-top-cnt .inner1 .strength-box .strength-box-ttl .en1 {
  font-family: var(--ff-m);
  font-size: var(--size54);
  font-weight: 400;
  line-height: 100%; /* 5.4rem */
  background: linear-gradient(149deg, #6F00CF 17.21%, #28ACEE 75.24%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media screen and (max-width: 767px) {
  body.page.service.top .service-top-cnt .inner1 .strength-box .strength-box-ttl .en1 {
    font-size: calc(var(--size54) / 2);
  }
}
body.page.service.top .service-top-cnt .inner1 .strength-box .strength-box-ttl .en2 {
  font-family: var(--ff-m);
  font-size: var(--size80);
  font-weight: 700;
  line-height: 100%; /* 8rem */
  background: linear-gradient(149deg, #6F00CF 17.21%, #28ACEE 75.24%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  margin-left: var(--size40);
}
@media screen and (max-width: 767px) {
  body.page.service.top .service-top-cnt .inner1 .strength-box .strength-box-ttl .en2 {
    font-size: var(--size40);
    margin-left: var(--size20);
  }
}
body.page.service.top .service-top-cnt .inner1 .strength-box .strength-box-ttl .jp {
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0;
  top: var(--size16);
  left: calc(var(--size8) * 14.125);
  color: #4E197C;
  font-size: var(--size18);
  font-weight: 700;
  line-height: 140%; /* 2.52rem */
  letter-spacing: -0.072rem;
}
@media screen and (max-width: 767px) {
  body.page.service.top .service-top-cnt .inner1 .strength-box .strength-box-ttl .jp {
    top: calc(var(--size16) / 2);
    left: calc(var(--size8) * 14.125 / 2);
    font-size: calc(var(--size18) / 2);
  }
}
body.page.service.top .service-top-cnt .inner1 .strength-box .strength-box-cnt {
  margin-left: var(--size40);
}
@media screen and (max-width: 767px) {
  body.page.service.top .service-top-cnt .inner1 .strength-box .strength-box-cnt {
    margin-left: 0;
  }
}
body.page.service.top .service-top-cnt .inner1 .strength-box .strength-box-cnt .strength-box-cnt-ttl {
  font-size: var(--size26);
  font-weight: 700;
  line-height: 165%; /* 4.29rem */
  margin-bottom: var(--size16);
}
@media screen and (max-width: 767px) {
  body.page.service.top .service-top-cnt .inner1 .strength-box .strength-box-cnt .strength-box-cnt-ttl {
    font-size: var(--size20);
  }
}
body.page.service.top .service-top-cnt .inner1 .strength-box .strength-box-cnt .strength-box-cnt-txt {
  font-feature-settings: 'palt' on;
  font-size: var(--size16);
  font-weight: 400;
  line-height: 170%; /* 2.72rem */
  letter-spacing: 0.128rem;
  margin-bottom: var(--size40);
}
body.page.service.top .service-top-cnt .inner2 {
  position: relative;
  width: 100%;
  max-width: var(--size1280);
  height: auto;
  margin-right: auto;
  margin-left: auto;
  padding-top: calc(var(--size8) * 12.5) /* 10rem */;
  padding-bottom: calc(var(--size8) * 12.5) /* 10rem */;
  background-color: #FFFFFF;
  border-radius: var(--size24) 0 0 0;
}
@media screen and (max-width: 767px) {
  body.page.service.top .service-top-cnt .inner2 {
    width: 95%;
    margin: 0 0 0 auto;
    padding-top: var(--size80);
    padding-bottom: var(--size80);
  }
}
body.page.service.top .service-top-cnt .inner2::after {
  content: "";
  display: block;
  width: 50%;
  height: 100%;
  position: absolute;
  top: 0;
  right: -50%;
  background-color: #FFFFFF;
  z-index: 0;
}
@media screen and (max-width: 767px) {
  body.page.service.top .service-top-cnt .inner2::after {
    display: none;
  }
}
body.page.service.top .service-top-cnt .inner2 .strength-point3 {
  position: relative;
  width: 100%;
  max-width: var(--size1000);
  height: auto;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  body.page.service.top .service-top-cnt .inner2 .strength-point3 {
    width: 90%;
    padding-right: 5%;
  }
}
body.page.service.top .service-top-cnt .inner2 .strength-point3 .img {
  width: calc(var(--size8) * 56.875); /* 45.4rem */
  height: calc(var(--size8) * 56); /* 44.8rem */
}
body.page.service.top .service-top-cnt .inner2 .strength-point3 .crds {
  width: calc(var(--size8) * 62.5); /* 50.0rem */
}
body.page.service.top .service-top-cnt .inner2 .strength-point3 .crds .crd {
  padding: var(--size32);
  border-radius: var(--size12);
  background: #F4F3F7;
  margin-bottom: var(--size32);
}
body.page.service.top .service-top-cnt .inner2 .strength-point3 .crds .crd:last-of-type {
  margin-bottom: 0;
}
body.page.service.top .service-top-cnt .inner2 .strength-point3 .crds .crd .num {
  color: #4F187D;
  font-feature-settings: 'palt' on;
  font-family: var(--ff-m);
  font-size: var(--size36);
  font-weight: 300;
  line-height: 100%; /* 3.6rem */
  letter-spacing: 0.288rem;
  margin-top: calc(var(--size50) * -1);
  margin-bottom: var(--size16);
}
@media screen and (max-width: 767px) {
  body.page.service.top .service-top-cnt .inner2 .strength-point3 .crds .crd .num {
    margin-top: calc(var(--size46) * -1);
    font-size: var(--size30);
  }
}
body.page.service.top .service-top-cnt .inner2 .strength-point3 .crds .crd .ttl {
  color: #4E197C;
  font-size: var(--size20);
  font-weight: 700;
  line-height: 150%; /* 3rem */
  margin-bottom: var(--size8);
}
@media screen and (max-width: 767px) {
  body.page.service.top .service-top-cnt .inner2 .strength-point3 .crds .crd .ttl {
    font-size: var(--size18);
  }
}
body.page.service.top .service-top-cnt .inner2 .strength-point3 .crds .crd .txt {
  font-size: var(--size16);
  font-weight: 500;
  line-height: 170%; /* 2.72rem */
}

/* mv(下層) */
body.page.service .mv {
  position: relative;
  width: 100%;
  max-width: var(--size1280);
  height: calc(var(--size8) * 67.5); /* 54rem */
  margin: 0 auto;
  background-color: var(--common_bgcolor);
  border-radius: var(--size24);
}
@media screen and (max-width: 767px) {
  body.page.service .mv {
    height: calc(var(--size8) * 33.75);
  }
}

/* title */
body.page.service .ttl-box {
  position: relative;
  width: 100%;
  max-width: var(--size1280);
  height: calc(var(--size8) * 34.25); /* 27.4rem */
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  body.page.service .ttl-box {
    height: calc(var(--size8) * 17.125);
  }
}
body.page.service .ttl-box .ttl {
  text-align: center;
}
body.page.service .ttl-box .ttl .en {
  margin-bottom: var(--size12);
  font-family: var(--ff-m);
  font-size: var(--size24);
  font-weight: 700;
  line-height: 100%; /* 2.4rem */
  letter-spacing: 0.096rem;
  background: linear-gradient(95deg, #6F00CF 10.94%, #28ACEE 95.05%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
body.page.service .ttl-box .ttl .jp {
  color: #221D38;
  font-size: var(--size36);
  font-weight: 700;
  line-height: 140%; /* 5.04rem */
}
@media screen and (max-width: 767px) {
  body.page.service .ttl-box .ttl .jp {
    font-size: var(--size24);
  }
}

/* lead */
body.page.service .lead-box {
  position: relative;
  width: 100%;
  max-width: var(--size1280);
  height: auto;
  margin-right: auto;
  margin-left: auto;
}
body.page.service .lead-box .inner {
  position: relative;
  width: 100%;
  max-width: var(--size1000);
  height: auto;
  margin-right: auto;
  margin-left: auto;
}
body.page.service .lead-box .inner .ttl {
  color: #221D38;
  font-size: var(--size24);
  font-weight: 700;
  line-height: 170%; /* 4.08rem */
  margin-bottom: var(--size36);
}
@media screen and (max-width: 767px) {
  body.page.service .lead-box .inner .ttl {
    font-size: var(--size20);
  }
}
body.page.service .lead-box .inner .txt {
  color: #222;
  font-size: var(--size16);
  font-weight: 400;
  line-height: 180%; /* 2.88rem */
  margin-bottom: 2em;
}
body.page.service .lead-box .inner .txt:last-child {
  margin-bottom: 0;
}

/* strength */
body.page.service .strength-box {
  position: relative;
  height: auto;
  margin-top: calc(var(--size8) * 12.5)!important; /* 10rem */
  margin-bottom: calc(var(--size8) * 12.5)!important; /* 10rem */
}
@media screen and (max-width: 767px) {
  body.page.service .strength-box {
    margin-top: var(--size80)!important; /* 10rem */
    margin-bottom: var(--size80)!important; /* 10rem */
  }
}
body.page.service .strength-box::after {
  content: "";
  display: block;
  width: 50%;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  background-color: #F4F3F7;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  body.page.service .strength-box::after {
    display: none;
  }
}
body.page.service .strength-box .inner {
  position: relative;
  width: 100%;
  max-width: var(--size1280);
  height: auto;
  margin-right: auto;
  margin-left: auto;
  padding-top: var(--size80);
  padding-bottom: var(--size80);
  background-color: #F4F3F7;
  border-radius: var(--size24) 0 0 var(--size24);
}
@media screen and (max-width: 767px) {
  body.page.service .strength-box .inner {
    width: 95%;
    padding-left: 5%;
    padding-right: 10%;
    margin: 0 0 0 auto;
  }
}
body.page.service .strength-box .inner .strength-cnt {
  position: relative;
  width: 100%;
  max-width: var(--size1000);
  height: auto;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  body.page.service .strength-box .inner .strength-cnt {
    flex-direction: column;
    gap: var(--size40);
  }
}
body.page.service .strength-box .inner .strength-ttl {
  color: #4E197C;
  margin-bottom: var(--size40);
  position: relative;
}
body.page.service .strength-box .inner .strength-ttl::after {
  display: block;
  content: "";
  width: calc(var(--size8) * 39.25);
  height: calc(var(--size8) * 19.5);
  background-image: url(/img/bg_strength-ttl.svg);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: calc(var(--size8) * -8);
}
@media screen and (max-width: 767px) {
  body.page.service .strength-box .inner .strength-ttl::after {
    left: 0;
  }
}
body.page.service .strength-box .inner .strength-ttl .en {
  display: block;
  font-family: var(--ff-m);
  font-size: var(--size64);
  font-weight: 500;
  line-height: 100%; /* 6.4rem */
  margin-right: var(--size12);
}
@media screen and (max-width: 767px) {
  body.page.service .strength-box .inner .strength-ttl .en {
    font-size: var(--size48);
  }
}
body.page.service .strength-box .inner .strength-ttl .jp {
  font-size: var(--size18);
  font-weight: 700;
  line-height: 100%;
}
@media screen and (max-width: 767px) {
  body.page.service .strength-box .inner .strength-ttl .jp {
    font-size: var(--size12);
  }
}
body.page.service .strength-box .inner .col_l {
  width: 100%;
  max-width: calc(var(--size8) * 57.5); /* 46rem */
  height: auto;
}
body.page.service .strength-box .inner .col_r {
  width: 100%;
  max-width: calc(var(--size8) * 57.5); /* 46rem */
  height: auto;
}
body.page.service .strength-box .inner .ttl {
  color: #221D38;
  font-size: var(--size24);
  font-weight: 700;
  line-height: 170%; /* 4.08rem */
  margin-bottom: var(--size36);
}
@media screen and (max-width: 767px) {
  body.page.service .strength-box .inner .ttl {
    color: #221D38;
    font-size: var(--size20);
  }
}
body.page.service .strength-box .inner .txt {
  color: #222;
  font-size: var(--size16);
  font-weight: 400;
  line-height: 180%; /* 2.88rem */
  margin-bottom: 2em;
}
body.page.service .strength-box .inner .txt:last-child {
  margin-bottom: 0;
}
body.page.service .strength-box .inner .img {
  overflow: hidden;
  border-radius: var(--size24);
}

/* flow */
body.page.service .flow-box {
  position: relative;
  height: auto;
  margin-top: calc(var(--size8) * 12.5)!important; /* 10rem */
}
@media screen and (max-width: 767px) {
  body.page.service .flow-box {
    margin-top: var(--size80)!important; /* 10rem */
  }
}
body.page.service .flow-box::after {
  content: "";
  display: block;
  width: 50%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-color: #F4F3F7;
  z-index: -1;
}
body.page.service .flow-box .inner {
  position: relative;
  width: 100%;
  max-width: var(--size1280);
  height: auto;
  margin-right: auto;
  margin-left: auto;
  padding-top: var(--size80);
  padding-bottom: var(--size80);
  background-color: #F4F3F7;
  border-radius: 0 var(--size24) var(--size24) 0;
}
@media screen and (max-width: 767px) {
  body.page.service .flow-box .inner {
    width: 90%;
    padding-left: 5%;
    padding-right: 5%;
  }
}
body.page.service .flow-box .inner .flow-cnt {
  position: relative;
  width: 100%;
  max-width: var(--size1000);
  height: auto;
  margin-right: auto;
  margin-left: auto;
}
body.page.service .flow-box .inner .flow-cnt:last-child {
  margin-bottom: 0;
}
body.page.service .flow-box .inner .flow-cnt .flow-ttl {
  color: #4E197C;
  margin-bottom: var(--size40);
  position: relative;
}
body.page.service .flow-box .inner .flow-cnt .flow-ttl .en {
  display: block;
  font-family: var(--ff-m);
  font-size: var(--size64);
  font-weight: 500;
  line-height: 100%; /* 6.4rem */
  margin-right: var(--size12);
}
@media screen and (max-width: 767px) {
  body.page.service .flow-box .inner .flow-cnt .flow-ttl .en {
    font-size: var(--size48);
  }
}
body.page.service .flow-box .inner .flow-cnt .flow-ttl .jp {
  font-size: var(--size18);
  font-weight: 700;
  line-height: 100%;
}
@media screen and (max-width: 767px) {
  body.page.service .flow-box .inner .flow-cnt .flow-ttl .jp {
    font-size: var(--size12);
  }
}
body.page.service .flow-box .inner .step-cnt {
  position: relative;
  width: 100%;
  max-width: var(--size1000);
  height: auto;
  margin-right: auto;
  margin-left: auto;
  margin-bottom: var(--size10);
  border-radius: var(--size24);
  overflow: hidden;
  background-color: #FFFFFF;
}
@media screen and (max-width: 767px) {
  body.page.service .flow-box .inner .step-cnt {
    width: 95%;
    flex-direction: column;
  }
}
body.page.service .flow-box .inner .step-cnt:last-child {
  margin-bottom: 0;
}
body.page.service .flow-box .inner .step-arw {
  position: relative;
  width: 100%;
  max-width: var(--size1000);
  height: auto;
  margin-right: auto;
  margin-left: auto;
  margin-bottom: var(--size10);
  overflow: hidden;
}
body.page.service .flow-box .inner .step-cnt .step-ttl {
  margin-bottom: var(--size20);
}
body.page.service .flow-box .inner .step-cnt .step-ttl .lbl {
  display: inline-block;
  margin-bottom: var(--size14);
}
body.page.service .flow-box .inner .step-cnt .step-ttl .lbl-box {
  display: flex;
  padding: 6px 16px;
  justify-content: center;
  align-items: center;
  gap: var(--size10);
  border-radius: 40px;
  background: linear-gradient(95deg, #6F00CF 10.94%, #28ACEE 95.05%);
  color: #FFFFFF;
  font-family: var(--ff-m);
  font-size: var(--size16);
  font-weight: 700;
  line-height: 100%; /* 1.6rem */
}
body.page.service .flow-box .inner .step-cnt .step-ttl .txt {
  display: block;
  color: #221D38;
  font-size: var(--size24);
  font-weight: 700;
  line-height: 140%; /* 3.36rem */
}
body.page.service .flow-box .inner .step-cnt .step-txt {
  font-size: var(--size16);
  font-weight: 400;
  line-height: 170%; /* 2.72rem */
}
body.page.service .flow-box .inner .step-cnt .col_l {
  width: 100%;
  max-width: calc(var(--size8) * 66); /* 52.8rem */
  height: auto;
  margin-left: var(--size58);
}
@media screen and (max-width: 767px) {
  body.page.service .flow-box .inner .step-cnt .col_l {
    max-width: 100%;
    margin-left: 0;
    padding: 5%;
  }
}
body.page.service .flow-box .inner .step-cnt .col_r {
  height: auto;
  margin: var(--size20) var(--size20) var(--size20) 0;
}
@media screen and (max-width: 767px) {
  body.page.service .flow-box .inner .step-cnt .col_r {
    margin: 5%;
  }
}
body.page.service .flow-box .inner .step-cnt .col_r .img {
  overflow: hidden;
  border-radius: var(--size24);
  width: 100%;
  max-width: calc(var(--size8) * 43); /* 34.4rem */
}
@media screen and (max-width: 767px) {
  body.page.service .flow-box .inner .step-cnt .col_r .img {
    max-width: 100%;
  }
}

/* works */
body.page.service .works-box {
  position: relative;
  height: auto;
  margin-top: calc(var(--size8) * 12.5)!important; /* 10rem */
}
@media screen and (max-width: 767px) {
  body.page.service .works-box {
    margin-top: var(--size80)!important; /* 10rem */
  }
}
body.page.service .works-box .inner {
  position: relative;
  width: 100%;
  max-width: var(--size1280);
  height: auto;
  margin-right: auto;
  margin-left: auto;
  padding-top: 0;
  padding-bottom: 0;
}
@media screen and (max-width: 767px) {
  body.page.service .works-box .inner {
    width: 90%;
    padding-left: 5%;
    padding-right: 5%;
  }
}
body.page.service .works-box .inner .works-cnt {
  position: relative;
  width: 100%;
  max-width: var(--size1000);
  height: auto;
  margin-right: auto;
  margin-left: auto;
}
body.page.service .works-box .inner .works-cnt:last-child {
  margin-bottom: 0;
}
body.page.service .works-box .inner .works-cnt .works-ttl {
  color: #4E197C;
  margin-bottom: var(--size40);
  position: relative;
}
body.page.service .works-box .inner .works-cnt .works-ttl .en {
  display: block;
  font-family: var(--ff-m);
  font-size: var(--size64);
  font-weight: 500;
  line-height: 100%; /* 6.4rem */
  margin-right: var(--size12);
}
@media screen and (max-width: 767px) {
  body.page.service .works-box .inner .works-cnt .works-ttl .en {
    font-size: var(--size48);
  }
}
body.page.service .works-box .inner .works-cnt .works-ttl .jp {
  font-size: var(--size18);
  font-weight: 700;
  line-height: 100%;
}
@media screen and (max-width: 767px) {
  body.page.service .works-box .inner .works-cnt .works-ttl .jp {
    font-size: var(--size12);
  }
}
body.page.service .works-box .inner .img-cnt {
  width: 100%;
  max-width: var(--size1000);
  height: auto;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  body.page.service .works-box .inner .img-cnt {
    flex-direction: column;
    gap: var(--size24);
  }
  body.page.service .works-box .inner .img-cnt .img {
    width: 100%;
    height: auto;
  }
  body.page.service .works-box .inner .img-cnt .img img {
    width: 100%;
    height: auto;
  }
}

/* service list */
body.page.service .service-lst {
  position: relative;
  height: auto;
  margin-top: var(--size80)!important;
  margin-bottom: var(--size120)!important;
}
body.page.service .service-lst .inner {
  position: relative;
  width: 100%;
  max-width: var(--size1280);
  height: auto;
  margin-right: auto;
  margin-left: auto;
}
.service-lst-btn {
  width: 100%;
  max-width: var(--size1280);
  height: auto;
  padding-top: var(--size40);
  padding-bottom: var(--size40);
  position: relative;
  border-radius: 74px;
  border: 1px solid #4F187D;
  background: rgba(255, 255, 255, 0.45);
  color: #4E197C !important;
  text-align: center;
  font-size: var(--size20);
  font-weight: 700;
  line-height: 100%; /* 2rem */
  margin-bottom: var(--size58);
  background-image: url(/img/bg_arrow.svg);
  background-repeat: no-repeat;
  background-position: calc(100% - var(--size54)) center;
  background-size: var(--size32) var(--size32);
}
body.page.service .service-lst .inner .service-lst-lst {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-column-gap: var(--size24);
  grid-row-gap: var(--size60);
}
@media screen and (max-width: 767px) {
  body.page.service .service-lst .inner .service-lst-lst {
    grid-template-columns: repeat(2, 1fr);
    grid-template-columns: repeat(1, 1fr);
    grid-column-gap: var(--size12);
    grid-row-gap: var(--size30);
  }
}

/* ===========================
02-01) service one-stop
------------------------------ */
body.page.service.one-stop .mv {
  background:url(/img/mv_service_one-stop.jpg) no-repeat center/cover;
}

/* ===========================
02-02) service interior
------------------------------ */
body.page.service.interior .mv {
  background:url(/img/mv_service_interior.jpg) no-repeat center/cover;
}

/* ===========================
02-03) service relocation
------------------------------ */
body.page.service.relocation .mv {
  background:url(/img/mv_service_relocation.jpg) no-repeat center/cover;
}

/* ===========================
02-04) service furniture
------------------------------ */
body.page.service.furniture .mv {
  background:url(/img/mv_service_furniture.jpg) no-repeat center/cover;
}

/* ===========================
02-05) service site-management
------------------------------ */
body.page.service.site-management .mv {
  background:url(/img/mv_service_site-management.jpg) no-repeat center/cover;
}
/* ===========================
02-06) service heavy-equipment
------------------------------ */
body.page.service.heavy-equipment .mv {
  background:url(/img/mv_service_heavy-equipment.jpg) no-repeat center/cover;
}


/* ===========================
03) locations (common)
------------------------------ */
/* .locations.top */
body.page.locations.top header .global-nav-lst li a {
  color: #FFFFFF;
}
body.page.locations.top header.active .global-nav-lst li a {
  color: #000000;
}
body.page.locations.top main {
  padding-top: 0;
}
body.page.locations.top .mv {
  position: relative;
  height: calc(var(--size8) * 52.5);
  background:url(/img/mv_locations.jpg) no-repeat center/cover;
  border-radius: 0 0 var(--size24) var(--size24);
}
@media screen and (max-width: 767px) {
  body.page.locations.top .mv {
    height: calc(var(--size8) * 30);
  }
}
body.page.locations.top .mv .inner {
  width: 100%;
  height: 100%;
}
body.page.locations.top .mv .inner .ttl {
  color: #FFFFFF;
}
body.page.locations.top .mv .inner .ttl .en {
  font-family: var(--ff-m);
  font-size: var(--size54);
  font-weight: 700;
  line-height: 100%;
  letter-spacing: 0.112rem;
  margin-bottom: var(--size12);
}
body.page.locations.top .mv .inner .ttl .jp {
  font-size: var(--size20);
  font-weight: 700;
  line-height: 100%;
  letter-spacing: 0.1rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  body.page.locations.top .mv .inner .ttl .en {
    font-size: var(--size32);
  }
  body.page.locations.top .mv .inner .ttl .jp {
    font-size: var(--size18);
  }
}
body.page.locations.top .btns {
  margin-top: var(--size64)!important;
  margin-bottom: var(--size64)!important;
}
body.page.locations.top .btns .inner {
  margin-top: var(--size64);
  margin-bottom: var(--size64);
}
body.page.locations.top .btns .inner .btns-ttl {
  text-align: center;
  font-feature-settings: 'palt' on;
  font-size: var(--size24);
  font-weight: 700;
  line-height: 160%; /* 3.84rem */
  letter-spacing: 0.192rem;
}
body.page.locations.top .area {
  width: 100%;
  max-width: var(--size1000);
  margin-right: auto;
  margin-left: auto;
  margin-top: var(--size64)!important;
  margin-bottom: var(--size80)!important;
}
body.page.locations.top .area .inner .area-ttl {
  display: flex;
  padding: 24px;
  align-items: center;
  gap: 10px;
  align-self: stretch;
  border-radius: calc(var(--size8) / 2);
  background: #EEECF2;
  color: #4E197C;
  font-size: var(--size24);
  font-weight: 700;
  line-height: 100%; /* 2.4rem */
}
body.page.locations.top .area .inner .area-crds {
  width: 100%;
  gap: var(--size24);
  margin-top: var(--size24);
  margin-bottom: var(--size24);
}
@media screen and (max-width: 767px) {
  body.page.locations.top .area .inner .area-crds {
    flex-direction: column;
  }
}
body.page.locations.top .area .inner .area-crds .area-crd {
  width: calc(50% - var(--size24) / 2);
  padding: var(--size40);
  border-radius: var(--size12);
  border: 1px solid #845EA4;
  background: linear-gradient(119deg, rgba(244, 243, 247, 0.00) 84.39%, #F4F3F7 100%);
  background-blend-mode: multiply;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  body.page.locations.top .area .inner .area-crds .area-crd {
    width: 100%;
  }
}
body.page.locations.top .area .inner .area-crds .area-crd .area-crd-ttl {
  color: #4E197C;
  font-size: var(--size24);
  font-weight: 700;
  line-height: 170%; /* 4.08rem */
  margin-bottom: var(--size20);
}
body.page.locations.top .area .inner .area-crds .area-crd .address-lst {
  width: 100%;
  margin-bottom: var(--size10);
}
body.page.locations.top .area .inner .area-crds .area-crd .address-lst dt {
  width: 12.5%;
  font-size: var(--size16);
  font-weight: 700;
  line-height: 170%; /* 2.72rem */
}
body.page.locations.top .area .inner .area-crds .area-crd .address-lst dd {
  width: calc(100% - 12.5%);
  font-size: var(--size16);
  font-weight: 400;
  line-height: 170%; /* 2.72rem */
}
body.page.locations.top .area .inner .area-crds .area-crd .address-lst dd a {
  color: #222222;
}
body.page.locations.top .area .inner .area-crds .area-crd .area-crd-btns {
  width: 100%;
  gap: var(--size8);
  flex-wrap: nowrap;
}
@media screen and (max-width: 767px) {
  body.page.locations.top .area .inner .area-crds .area-crd .area-crd-btns {
    flex-direction: column;
  }
}
body.page.locations.top .area .inner .area-crds .area-crd .area-crd-btns .btn-map {
  width: calc(var(--size8) * 17.25); /* 13.8rem */
}
body.page.locations.top .area .inner .area-crds .area-crd .area-crd-btns .btn-location {
  display: block;
  width: calc(var(--size8) * 32); /* 25.6rem */
  padding: var(--size24) 0;
  border-radius: var(--size40);
  background: linear-gradient(149deg, #6F00CF 17.21%, #28ACEE 75.24%);
  text-align: center;
  font-size: var(--size16);
  font-weight: 500;
  line-height: 100%; /* 1.6rem */
  color: #FFFFFF;
  position: relative;
}
body.page.locations.top .area .inner .area-crds .area-crd .area-crd-btns .btn-location::after {
  display: block;
  content: "";
  width: var(--size22);
  height: var(--size22);
  background-image: url(/img/bg_locations-btn_arrow.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  position: absolute;
  top: 50%;
  right: var(--size24);
  transform: translateY(-50%);
}
body.page.locations.top .area-kansai-chubu {
  gap: var(--size24);
}
@media screen and (max-width: 767px) {
  body.page.locations.top .area-kansai-chubu {
    flex-direction: column;
  }
}
body.page.locations.top .area-kansai-chubu .inner.kansai-chubu {
  width: calc(50% - var(--size24) / 2);
}
@media screen and (max-width: 767px) {
  body.page.locations.top .area-kansai-chubu .inner.kansai-chubu {
    width: 100%;
  }
}
body.page.locations.top .area-kansai-chubu .inner.kansai-chubu .area-crds {
  width: 100%;
  min-height: calc(var(--size8) * 44.125); /* 353px */
}
body.page.locations.top .area-kansai-chubu .inner.kansai-chubu .area-crds .area-crd {
  width: 100%;
}

/* title */
body.page.locations .ttl-box {
  position: relative;
  width: 100%;
  max-width: var(--size1280);
  height: calc(var(--size8) * 34.25); /* 27.4rem */
  margin: 0 auto;
}
body.page.locations .ttl-box .ttl {
  text-align: center;
}
body.page.locations .ttl-box .ttl .en {
  margin-bottom: var(--size12);
  font-family: var(--ff-m);
  font-size: var(--size24);
  font-weight: 700;
  line-height: 100%; /* 2.4rem */
  letter-spacing: 0.048rem;
  color: #4E197C;
}
body.page.locations .ttl-box .ttl .jp {
  color: #4E197C;
  font-size: var(--size40);
  font-weight: 700;
  line-height: 140%; /* 5.04rem */
  letter-spacing: 0.2rem;
}

/* locations-info */
body.page.locations .locations-info {
  position: relative;
  height: auto;
  margin-top: var(--size80)!important;
  margin-bottom: var(--size120)!important;
}
@media screen and (max-width: 767px) {
  body.page.locations .locations-info {
    margin-top: 0 !important;
  }
}
body.page.locations .locations-info .inner {
  position: relative;
  width: 100%;
  max-width: var(--size1000);
  height: auto;
  margin-right: auto;
  margin-left: auto;
  margin-bottom: var(--size40);
}
@media screen and (max-width: 767px) {
  body.page.locations .locations-info .inner {
    flex-direction: column;
    gap: var(--size16);
  }
}
body.page.locations .locations-info .inner .col_l {
  width: 100%;
  max-width: calc(var(--size8) * 78); /* 46rem */
  height: auto;
}
body.page.locations .locations-info .inner .col_r {
  width: 100%;
  max-width: calc(var(--size8) * 42); /* 33.6rem */
  height: auto;
}
@media screen and (max-width: 767px) {
  body.page.locations .locations-info .inner .col_r {
    max-width: 100%;
  }
}

/* col_l */
body.page.locations .locations-info .inner .col_l .info-ttl {
  border-bottom: 1px solid #845EA4;
  color: #4E197C;
  font-size: var(--size26);
  font-weight: 700;
  line-height: 170%; /* 4.42rem */
  margin-bottom: var(--size12);
}
body.page.locations .locations-info .inner .col_l .info-adr {
  width: 100%;
}
body.page.locations .locations-info .inner .col_l .info-adr .info-adr-lst {
  width: 100%;
  margin-bottom: var(--size32);
}
@media screen and (max-width: 767px) {
  body.page.locations .locations-info .inner .col_l .info-adr .info-adr-lst {
    margin-bottom: var(--size16);
  }
}
body.page.locations .locations-info .inner .col_l .info-adr .info-adr-lst .lbl {
  width: 15%;
  font-size: var(--size16);
  font-weight: 700;
  line-height: 170%; /* 2.72rem */
}
@media screen and (max-width: 767px) {
  body.page.locations .locations-info .inner .col_l .info-adr .info-adr-lst .lbl {
    width: 20%;
  }
}
body.page.locations .locations-info .inner .col_l .info-adr .info-adr-lst .dat {
  width: 85%;
  font-size: var(--size16);
  font-weight: 400;
  line-height: 170%; /* 2.72rem */
}
@media screen and (max-width: 767px) {
  body.page.locations .locations-info .inner .col_l .info-adr .info-adr-lst .dat {
    width: 80%;
  }
}
body.page.locations .locations-info .inner .col_l .info-adr .info-adr-lst .dat a {
  color: #222222;
}
body.page.locations .locations-info .inner .col_l .info-adr .info-adr-lst .dat .adr-btn {
  column-gap: var(--size16);
}
body.page.locations .locations-info .inner .col_l .info-service-lst {
  padding: var(--size18) var(--size32);
  border-radius: var(--size24);
  background: #F4F3F7;
}
body.page.locations .locations-info .inner .col_l .info-service-lst .info-service-ttl {
  font-size: var(--size16);
  font-weight: 700;
  line-height: 170%; /* 2.72rem */
  margin-bottom: var(--size10);
}
body.page.locations .locations-info .inner .col_l .info-service-lst .flex {
  /* gap: var(--size10); */
  gap: var(--size8);
}
body.page.locations .locations-info .inner .col_l .info-service-lst .info-service-itm {
  display: inline-block;
  padding: calc(var(--size8) * 0.625) var(--size16);
  border-radius: var(--size34);
  border: 1px solid #845EA4;
  background: #FFFFFF;
  color: #4E197C;
  font-size: var(--size14);
  font-weight: 500;
  line-height: 100%;
}

/* col_r */
body.page.locations .locations-info .inner .col_r .g-map {
  width: 100%;
  height: 100%;
  border-radius: var(--size24);
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  body.page.locations .locations-info .inner .col_r .g-map {
    height: auto;
    aspect-ratio: 16 / 9;
  }
}
body.page.locations .locations-info .inner .col_r .g-map iframe {
  display: block;
  width: 100%;
  height: 100%;
}

/* locations-interview */
body.page.locations .locations-interview {
  position: relative;
  height: auto;
  margin-top: var(--size80)!important;
  margin-bottom: var(--size80)!important;
}
body.page.locations .locations-interview .inner {
  position: relative;
  width: 100%;
  max-width: var(--size1000);
  height: auto;
  margin-right: auto;
  margin-left: auto;
}
body.page.locations .locations-interview .inner .interview-ttl {
  margin-bottom: var(--size40);
}
body.page.locations .locations-interview .inner .interview-ttl .en {
  column-gap: calc(var(--size8) * 0.75); /* 6rem */
  margin-bottom: var(--size16);
}
body.page.locations .locations-interview .inner .interview-ttl .en::before {
  display: block;
  content: "";
  width: var(--size14);
  height: var(--size14);
  background-image: url(/img/bg_interview-ttl_en.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
body.page.locations .locations-interview .inner .interview-ttl .en .txt {
  font-family: var(--ff-m);
  font-size: var(--size16);
  font-weight: 700;
  line-height: 100%; /* 1.6rem */
  letter-spacing: 0.064rem;
  background: linear-gradient(96deg, #6F00CF 8.71%, #28ACEE 89.87%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media screen and (max-width: 767px) {
  body.page.locations .locations-interview .inner .interview-ttl .en .txt {
    font-size: var(--size14);
  }
}
body.page.locations .locations-interview .inner .interview-ttl .jp {
  text-align: center;
  color: #4E197C;
  font-size: var(--size36);
  font-weight: 700;
  line-height: 100%; /* 3.6rem */
  letter-spacing: 0.216rem;
}
@media screen and (max-width: 767px) {
  body.page.locations .locations-interview .inner .interview-ttl .jp {
    font-size: var(--size24);
  }
}
body.page.locations .locations-interview .inner .person-mv {
  width: 100%;
  max-width: var(--size1000);
  height: calc(var(--size8) * 55); /* 44rem */
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  border-radius: var(--size24);
  margin-bottom: var(--size40);
  overflow: hidden;
  position: relative;
}
body.page.locations .locations-interview .inner .person-mv .crd {
  width: calc(var(--size8) * 43); /* 34.4rem */
  height: calc(var(--size8) * 19.25); /* 15.4rem */
  background-image: url(/img/bg_person-mv_crd.svg);
  background-position: left bottom;
  background-size: cover;
  background-repeat: no-repeat;
  position: absolute;
  bottom: 0;
  left: 0;
}
@media screen and (max-width: 767px) {
  body.page.locations .locations-interview .inner .person-mv .crd {
    transform: scale(0.7);
    transform-origin: left bottom;
  }
}
body.page.locations .locations-interview .inner .person-mv .crd .inner {
  padding: var(--size50) 0 0 var(--size48);
}
body.page.locations .locations-interview .inner .person-mv .crd .inner .position {
  font-size: var(--size16);
  font-weight: 400;
  line-height: 170%; /* 2.72rem */
}
body.page.locations .locations-interview .inner .person-mv .crd .inner .name {
  width: 100%;
  height: auto;
}
body.page.locations .locations-interview .inner .person-mv .crd .inner .name .jp {
  font-size: var(--size24);
  font-weight: 700;
  line-height: 170%; /* 4.08rem */
}
body.page.locations .locations-interview .inner .person-mv .crd .inner .name .en {
  color: #626264;
  font-family: var(--ff-m);
  font-size: var(--size16);
  font-weight: 700;
  line-height: 170%; /* 2.89rem */
}
body.page.locations .locations-interview .inner .person-history {
  width: 100%;
  max-width: calc(var(--size8) * 113);
  height: auto;
  margin: 0 auto var(--size80) auto;
  position: relative;
  padding: var(--size64) var(--size48) var(--size48) var(--size48);
  border-radius: var(--size24);
  text-align: justify;
  font-size: var(--size16);
  font-weight: 400;
  line-height: 170%; /* 2.72rem */
  background: #F4F3F7;
  backdrop-filter: blur(2px);
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  body.page.locations .locations-interview .inner .person-history {
    padding: var(--size64) var(--size36) var(--size48) var(--size36);
  }
}
body.page.locations .locations-interview .inner .person-history::before {
  display: inline-block;
  content: "経歴";
  padding: var(--size12) var(--size48);
  color: #FFFFFF;
  font-size: var(--size16);
  font-weight: 700;
  line-height: 100%; /* 1.6rem */
  letter-spacing: 0.064rem;
  border-radius: var(--size24) 0;
  background: #845EA4;
  position: absolute;
  top: 0;
  left: 0;
}
body.page.locations .locations-interview .inner .q-cnt {
  position: relative;
  width: 100%;
  max-width: var(--size1000);
  height: auto;
  margin-right: auto;
  margin-left: auto;
  margin-bottom: var(--size80);
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  body.page.locations .locations-interview .inner .q-cnt {
    flex-direction: column;
    gap: var(--size24);
  }
}
body.page.locations .locations-interview .inner .q-cnt .col_l {
  width: 100%;
  max-width: calc(var(--size8) * 62.5); /* 50rem */
  height: auto;
}
body.page.locations .locations-interview .inner .q-cnt .col_r {
  width: 100%;
  max-width: calc(var(--size8) * 52.5); /* 42rem */
  height: auto;
}
@media screen and (max-width: 767px) {
  body.page.locations .locations-interview .inner .q-cnt .col_r {
    flex-direction: column;
    max-width: 100%;
  }
}
body.page.locations .locations-interview .inner .q-cnt .q-box .q-ttl {
  position: relative;
  margin-bottom: var(--size32);
}
body.page.locations .locations-interview .inner .q-cnt .q-box .q-ttl::after {
  display: block;
  content: "";
  width: 200%;
  height: 1px;
  background: #845EA4;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  z-index: -1;
}
body.page.locations .locations-interview .inner .q-cnt .q-box .q-ttl .q-ttl-box {
  display: inline-flex;
  padding-right: var(--size8);
  width: auto;
  background: #FFFFFF;
  column-gap: var(--size8);
}
body.page.locations .locations-interview .inner .q-cnt .q-box .q-ttl .q {
  font-family: var(--ff-m);
  font-size: var(--size24);
  font-weight: 500;
  line-height: 180%; /* 4.32rem */
  letter-spacing: 0.096rem;
  background: linear-gradient(149deg, #6F00CF 17.21%, #28ACEE 75.24%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
body.page.locations .locations-interview .inner .q-cnt .q-box .q-ttl .txt {
  color: #4E197C;
  font-size: var(--size16);
  font-weight: 700;
  line-height: 100%; /* 1.6rem */
}
body.page.locations .locations-interview .inner .q-cnt .q-box .q-txt .ttl {
  font-size: var(--size26);
  font-weight: 700;
  line-height: 170%; /* 4.42rem */
  margin-bottom: var(--size24);
}
body.page.locations .locations-interview .inner .q-cnt .q-box .q-txt .txt {
  text-align: justify;
  font-size: var(--size16);
  font-weight: 400;
  line-height: 170%; /* 2.72rem */
}
body.page.locations .locations-interview .inner .q-cnt .img {
  overflow: hidden;
  border-radius: var(--size24);
  width: 100%;
  max-width: calc(var(--size8) * 52.5); /* 42rem */
}
@media screen and (max-width: 767px) {
  body.page.locations .locations-interview .inner .q-cnt .img {
    max-width: 100%;
  }
}
body.page.locations .locations-interview .inner .q-cnt .col_c {
  display: flex;
  padding: var(--size40) calc(var(--size8) * 13.75) var(--size48) calc(var(--size8) * 13.75);
  flex-direction: column;
  align-items: flex-start;
  gap: var(--size10);
  align-self: stretch;
  border-radius: var(--size24);
  background: #F4F3F7;
}
@media screen and (max-width: 767px) {
  body.page.locations .locations-interview .inner .q-cnt .col_c {
    padding: var(--size40) var(--size36);
  }
}
body.page.locations .locations-interview .inner .q-cnt .col_c .q-ttl {
  text-align: center;
}
body.page.locations .locations-interview .inner .q-cnt .col_c .q-ttl .q-ttl-box {
  background: inherit;
  padding-right: 0;
}
body.page.locations .locations-interview .inner .q-cnt .col_c .ttl {
  text-align: center;
}

/* locations contact */
body.page.locations .local-contact {
  position: relative;
  height: auto;
  margin-top: var(--size80)!important;
  margin-bottom: var(--size80)!important;
}
body.page.locations .local-contact .inner {
  position: relative;
  width: 100%;
  max-width: var(--size1280);
  height: calc(var(--size8) * 59); /* 47.2rem */
  height: auto;
  margin-right: auto;
  margin-left: auto;
  margin-bottom: var(--size80);
  padding: var(--size80) calc(var(--size8) * 17.5);
  border-radius: var(--size24);
  background-image: url(/img/bg_local-contact.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  body.page.locations .local-contact .inner {
    padding: var(--size40) var(--size48);
  }
}
body.page.locations .local-contact .inner .ttl {
  text-align: center;
  margin-bottom: var(--size24);
  color: #4E197C;
  font-size: var(--size32);
  font-weight: 700;
  line-height: 150%; /* 4.8rem */
  letter-spacing: 0.128rem;
}
@media screen and (max-width: 767px) {
  body.page.locations .local-contact .inner .ttl {
    font-size: var(--size28);
  }
}
body.page.locations .local-contact .inner .txt {
  text-align: center;
  margin-bottom: var(--size40);
  font-size: var(--size18);
  font-weight: 700;
  line-height: 170%; /* 3.06rem */
  letter-spacing: 0.072rem;
}
body.page.locations .local-contact .inner .local-contact-btn {
  width: 100%;
}
@media screen and (max-width: 767px) {
  body.page.locations .local-contact .inner .local-contact-btn {
    flex-direction: column;
    gap: var(--size24);
  }
}
body.page.locations .local-contact .inner .local-contact-btn .col_l {
  width: calc(var(--size8) * 60); /* 48rem */
  height: auto;
}
@media screen and (max-width: 767px) {
  body.page.locations .local-contact .inner .local-contact-btn .col_l {
    width: 100%;
  }
}
body.page.locations .local-contact .inner .local-contact-btn .col_r {
  width: calc(var(--size8) * 60); /* 48rem */
  height: auto;
}
@media screen and (max-width: 767px) {
  body.page.locations .local-contact .inner .local-contact-btn .col_r {
    width: 100%;
  }
}
body.page.locations .local-contact .inner .local-contact-btn .col_l .btn-tel {
  display: flex;
  width: calc(var(--size8) * 60); /* 48rem */
  height: calc(var(--size8) * 21.25); /* 17rem */
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: var(--size10);
  border-radius: var(--size24);
  border: 1px solid #D8D8D8;
  background: #FFFFFF;
}
@media screen and (max-width: 767px) {
  body.page.locations .local-contact .inner .local-contact-btn .col_l .btn-tel {
    width: 100%;
    height: 133px;
  }
}
body.page.locations .local-contact .inner .local-contact-btn .col_l .btn-tel .tel-lbl {
  color: #222;
  text-align: center;
  font-feature-settings: 'palt' on;
  font-size: var(--size16);
  font-weight: 700;
  line-height: 150%; /* 2.4rem */
  letter-spacing: 0.128rem;
}
body.page.locations .local-contact .inner .local-contact-btn .col_l .btn-tel .tel-num {
  color: #222;
  text-align: center;
  font-feature-settings: 'palt' on;
  font-family: var(--ff-m);
  font-size: var(--size32);
  font-weight: 700;
  line-height: 100%; /* 3.2rem */
}
@media screen and (max-width: 767px) {
  body.page.locations .local-contact .inner .local-contact-btn .col_l .btn-tel .tel-num {
    font-size: var(--size28);
  }
}
body.page.locations .local-contact .inner .local-contact-btn .col_l .btn-tel .tel-tim {
  color: #222;
  text-align: center;
  font-size: var(--size16);
  font-weight: 400;
  line-height: 100%; /* 1.6rem */
}

/* 札幌北・東営業所 */
body.page.locations.sapporo .locations-info .inner .col_l.sapporo-service-lst {
  max-width: 100%;
}
body.page.locations.sapporo .local-contact .inner .local-contact-btn .col_l .btn-tel {
  height: calc(var(--size8) * 32); /* 25.6rem */
  gap: var(--size20);
}
body.page.locations.sapporo .local-contact .inner .local-contact-btn .col_l .btn-tel a {
  display: flex;
  width: calc(var(--size8) * 60); /* 48rem */
  height: auto;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: var(--size10);
}
body.page.locations.sapporo .local-contact .inner .local-contact-btn .col_l .btn-tel a .tel-lbl {
  color: #222;
  text-align: center;
  font-feature-settings: 'palt' on;
  font-size: var(--size16);
  font-weight: 700;
  line-height: 150%; /* 2.4rem */
  letter-spacing: 0.128rem;
}
body.page.locations.sapporo .local-contact .inner .local-contact-btn .col_l .btn-tel a .tel-num {
  color: #222;
  text-align: center;
  font-feature-settings: 'palt' on;
  font-family: var(--ff-m);
  font-size: var(--size32);
  font-weight: 700;
  line-height: 100%; /* 3.2rem */
}
@media screen and (max-width: 767px) {
  body.page.locations.sapporo .local-contact .inner .local-contact-btn .col_l .btn-tel a .tel-num {
    font-size: var(--size28);
  }
}
body.page.locations.sapporo .local-contact .inner .local-contact-btn .col_l .btn-tel a .tel-tim {
  color: #222;
  text-align: center;
  font-size: var(--size16);
  font-weight: 400;
  line-height: 100%; /* 1.6rem */
  margin-top: var(--size10);
}

/* locations list */
body.page.locations .locations-lst {
  position: relative;
  height: auto;
  margin-top: var(--size80)!important;
  margin-bottom: var(--size120)!important;
}
body.page.locations .locations-lst .inner {
  position: relative;
  width: 100%;
  max-width: var(--size1280);
  height: auto;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  body.page.locations .locations-lst .inner {
    width: 95%;
  }
}
.locations-lst-btn {
  width: 100%;
  max-width: var(--size1280);
  height: auto;
  padding-top: var(--size40);
  padding-bottom: var(--size40);
  position: relative;
  border-radius: 74px;
  border: 1px solid #4F187D;
  background: rgba(255, 255, 255, 0.45);
  color: #4E197C !important;
  text-align: center;
  font-size: var(--size20);
  font-weight: 700;
  line-height: 100%; /* 2rem */
  margin-bottom: var(--size58);
  background-image: url(/img/bg_arrow.svg);
  background-repeat: no-repeat;
  background-position: calc(100% - var(--size54)) center;
  background-size: var(--size32) var(--size32);
}
body.page.locations .locations-lst .inner .locations-lst-lst {
  padding-left: var(--size48);
  padding-right: var(--size48);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-column-gap: var(--size34);
  grid-row-gap: var(--size50);
}
@media screen and (max-width: 767px) {
  body.page.locations .locations-lst .inner .locations-lst-lst {
    grid-template-columns: repeat(2, 1fr);
    padding-left: var(--size24);
    padding-right: var(--size24);
    grid-column-gap: var(--size24);
    grid-row-gap: var(--size24);
  }
}
body.page.locations .locations-lst .inner .locations-lst-lst li {
  background-image: url(/img/bg_locations-lst-lst_li.svg);
  background-repeat: no-repeat;
  background-position: left center;
  padding-left: calc(var(--size8) * 3.5); /* 10rem */
}
body.page.locations .locations-lst .inner .locations-lst-lst li a {
  color: #4E197C;
  font-feature-settings: 'palt' on;
  font-size: var(--size20);
  font-weight: 500;
  line-height: 140%; /* 2.8rem */
  text-decoration-line: underline;
  text-decoration-style: solid;
  text-decoration-skip-ink: none;
  text-decoration-thickness: auto;
  text-underline-offset: auto;
  text-underline-position: from-font;
}
@media screen and (max-width: 767px) {
  body.page.locations .locations-lst .inner .locations-lst-lst li a {
    font-size: var(--size16);
  }
}

/* ===========================
03-01) locations tokyo
------------------------------ */
body.page.locations.tokyo .locations-interview .inner .person-mv {
  background-image: url(/img/bg_locations-interview_person_tokyo.jpg);
}

/* ===========================
03-02) locations es
------------------------------ */
body.page.locations.es .locations-interview .inner .person-mv {
  background-image: url(/img/bg_locations-interview_person_es.jpg);
}

/* ===========================
03-03) locations joto
------------------------------ */
body.page.locations.joto .locations-interview .inner .person-mv {
  background-image: url(/img/bg_locations-interview_person_joto.jpg);
}

/* ===========================
03-04) locations osaka
------------------------------ */
body.page.locations.osaka .locations-interview .inner .person-mv {
  background-image: url(/img/bg_locations-interview_person_osaka.jpg);
}

/* ===========================
03-05) locations nagoya
------------------------------ */
body.page.locations.nagoya .locations-interview .inner .person-mv {
  background-image: url(/img/bg_locations-interview_person_nagoya.jpg);
}

/* ===========================
03-06) locations sendai
------------------------------ */
body.page.locations.sendai .locations-interview .inner .person-mv {
  background-image: url(/img/bg_locations-interview_person_sendai.jpg);
}

/* ===========================
03-07) locations koriyama
------------------------------ */
body.page.locations.koriyama .locations-interview .inner .person-mv {
  background-image: url(/img/bg_locations-interview_person_koriyama.jpg);
}

/* ===========================
03-08) locations sapporo
------------------------------ */
body.page.locations.sapporo .locations-interview .inner .person-mv {
  background-image: url(/img/bg_locations-interview_person_sapporo.jpg);
}



/* ===========================
04) company
------------------------------ */
body.page.company header .global-nav-lst li a {
  color: #FFFFFF;
}
body.page.company header.active .global-nav-lst li a {
  color: #000000;
}
body.page.company main {
  padding-top: 0;
}
body.page.company main .mv {
  position: relative;
  height: calc(var(--size8) * 52.5); /* 42rem */
  background: url(/img/mv_company.jpg) no-repeat center/cover;
  border-radius: 0 0 var(--size24) var(--size24);
}
@media screen and (max-width: 767px) {
  body.page.company main .mv {
    height: calc(var(--size8) * 30);
  }
}
body.page.company main .mv .inner {
  width: 100%;
  height: 100%;
}
body.page.company main .mv .inner .ttl {
  color: #FFFFFF;
}
body.page.company main .mv .inner .ttl .en {
  font-family: var(--ff-m);
  font-size: var(--size54);
  font-weight: 700;
  line-height: 100%; /* 5.6rem */
  letter-spacing: 0.112rem;
  margin-bottom: var(--size12);
}
body.page.company main .mv .inner .ttl .jp {
  font-size: var(--size20);
  font-weight: 700;
  line-height: 100%; /* 2rem */
  letter-spacing: 0.1rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  body.page.company main .mv .inner .ttl .en {
    font-size: var(--size32);
  }
  body.page.company main .mv .inner .ttl .jp {
    font-size: var(--size18);
  }
}

/* overview-box */
body.page.company .overview-box {
  position: relative;
  height: auto;
  margin-top: calc(var(--size8) * 12.5)!important;
  margin-bottom: calc(var(--size8) * 12.5)!important;
}
@media screen and (max-width: 767px) {
  body.page.company .overview-box {
    margin-top: var(--size80)!important;
    margin-bottom: var(--size80)!important;
  }
}
body.page.company .overview-box .inner {
  position: relative;
  width: 100%;
  max-width: var(--size1280);
  height: auto;
  margin-right: auto;
  margin-left: auto;
  padding-top: var(--size120);
  padding-bottom: var(--size120);
  background-color: #F4F3F7;
  border-radius: 0 var(--size24) var(--size24) 0;
}
@media screen and (max-width: 767px) {
  body.page.company .overview-box .inner {
    width: 95%;
    padding-right: 5%;
    padding-left: 5%;
  }
}
body.page.company .overview-box::after {
  content: "";
  display: block;
  width: 50%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-color: #F4F3F7;
  z-index: -1;
}
body.page.company .overview-box .inner .overview-ttl {
  width: 100%;
  max-width: var(--size1000);
  height: auto;
  margin-right: auto;
  margin-left: auto;
  margin-bottom: var(--size40);
}
body.page.company .overview-box .inner .overview-ttl .en {
  margin-bottom: var(--size16);
}
body.page.company .overview-box .inner .overview-ttl .en .txt {
  font-family: var(--ff-m);
  font-size: var(--size16);
  font-weight: 700;
  line-height: 100%; /* 1.6rem */
  letter-spacing: 0.064rem;
  background: linear-gradient(96deg, #6F00CF 8.71%, #28ACEE 89.87%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media screen and (max-width: 767px) {
  body.page.company .overview-box .inner .overview-ttl .en .txt {
    font-size: var(--size14);
  }
}
body.page.company .overview-box .inner .overview-ttl .en::before {
  display: block;
  content: "";
  width: var(--size14);
  height: var(--size14);
  background-image: url(/img/icn_star.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  margin-right: var(--size8);
}
body.page.company .overview-box .inner .overview-ttl .jp {
  color: #4E197C;
  font-size: var(--size36);
  font-weight: 700;
  line-height: 100%; /* 3.6rem */
  letter-spacing: 0.216rem;
}
@media screen and (max-width: 767px) {
  body.page.company .overview-box .inner .overview-ttl .jp {
    font-size: var(--size24);
  }
}
body.page.company .overview-box .inner .overview-tbl dd a {
  color: #222222;
}
body.page.company .overview-box .inner .overview-tbl dd address {
  margin-right: var(--size8);
}
body.page.company .overview-box .inner .overview-tbl dd .company-lst {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(2, 1fr);
  grid-column-gap: var(--size8);
  grid-row-gap: var(--size8);
}
@media screen and (max-width: 767px) {
  body.page.company .overview-box .inner .overview-tbl dd .company-lst {
    display: flex;
    flex-direction: column;
    gap: var(--size8);
  }
}
body.page.company .overview-box .inner .overview-tbl dd .company-lst .itm1 { grid-area: 1 / 1 / 2 / 2; }
body.page.company .overview-box .inner .overview-tbl dd .company-lst .itm2 { grid-area: 1 / 2 / 2 / 3; }
body.page.company .overview-box .inner .overview-tbl dd .company-lst .itm3 { grid-area: 2 / 1 / 3 / 2; }
body.page.company .overview-box .inner .overview-tbl dd .company-lst .itm4 { grid-area: 2 / 2 / 3 / 3; }
body.page.company .overview-box .inner .overview-tbl dd .company-lst .itm a {
  width: 100%;
  height: 100%;
  padding: var(--size8);
  border-radius: var(--size8);
  background: #FFFFFF;
  column-gap: var(--size8);
}
body.page.company .overview-box .inner .overview-tbl dd .company-lst .itm a .corp_name {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  width: 100%;
  height: 100%;
  flex: 1;
}
body.page.company .overview-box .inner .overview-tbl dd .company-lst .itm a::before {
  display: block;
  content: "";
  width: var(--size56);
  height: var(--size48);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
body.page.company .overview-box .inner .overview-tbl dd .company-lst .itm1 a::before {
  background-image: url(/img/bg_company-lst_itm1.png);
}
body.page.company .overview-box .inner .overview-tbl dd .company-lst .itm2 a::before {
  background-image: url(/img/bg_company-lst_itm2.png);
}
body.page.company .overview-box .inner .overview-tbl dd .company-lst .itm3 a::before {
  background-image: url(/img/bg_company-lst_itm3.png);
}
body.page.company .overview-box .inner .overview-tbl dd .company-lst .itm4 a::before {
  background-image: url(/img/bg_company-lst_itm4.png);
}
body.page.company .overview-box .inner .overview-tbl dd .company-lst .itm a::after {
  display: block;
  content: "";
  width: var(--size24);
  height: var(--size24);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  background-image: url(/img/bg_company-lst_arrow.svg);
}
body.page.company .overview-box .inner .overview-tbl dd .company-lst .itm a.nonesite {
  cursor: default;
}
body.page.company .overview-box .inner .overview-tbl dd .company-lst .itm a.nonesite::after {
  display: none;
}
body.page.company .overview-box .inner .overview-tbl dd .company-lst .itm a.nonesite:hover {
  opacity: 1;
}

/* locations-box */
body.page.company .locations-box {
  position: relative;
  height: auto;
  margin-top: calc(var(--size8) * 12.5)!important;
  margin-bottom: calc(var(--size8) * 12.5)!important;
}
@media screen and (max-width: 767px) {
  body.page.company .locations-box {
    margin-top: var(--size80)!important;
    margin-bottom: var(--size80)!important;
  }
}
body.page.company .locations-box .inner {
  position: relative;
  width: 100%;
  max-width: var(--size1280);
  height: auto;
  margin-right: auto;
  margin-left: auto;
  padding-top: var(--size120);
  padding-bottom: var(--size120);
}
@media screen and (max-width: 767px) {
  body.page.company .locations-box .inner {
    width: 95%;
    padding-right: 5%;
    padding-left: 5%;
  }
}
body.page.company .locations-box .inner .locations-ttl-box {
  width: 100%;
  max-width: var(--size1000);
  height: auto;
  margin-right: auto;
  margin-left: auto;
  margin-bottom: var(--size40);
}
@media screen and (max-width: 767px) {
  body.page.company .locations-box .inner .locations-ttl-box {
    flex-direction: column;
  }
}
body.page.company .locations-box .inner .locations-ttl-box .locations-ttl {
  display: inline-block;
}
@media screen and (max-width: 767px) {
  body.page.company .locations-box .inner .locations-ttl-box .locations-ttl {
    margin-bottom: var(--size16);
  }
}
body.page.company .locations-box .inner .locations-ttl-box .locations-ttl .en {
  margin-bottom: var(--size16);
}
body.page.company .locations-box .inner .locations-ttl-box .locations-ttl .en .txt {
  font-family: var(--ff-m);
  font-size: var(--size16);
  font-weight: 700;
  line-height: 100%; /* 1.6rem */
  letter-spacing: 0.064rem;
  background: linear-gradient(96deg, #6F00CF 8.71%, #28ACEE 89.87%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media screen and (max-width: 767px) {
  body.page.company .locations-box .inner .locations-ttl-box .locations-ttl .en .txt {
    font-size: var(--size14);
  }
}
body.page.company .locations-box .inner .locations-ttl-box .locations-ttl .en::before {
  display: block;
  content: "";
  width: var(--size14);
  height: var(--size14);
  background-image: url(/img/icn_star.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  margin-right: var(--size8);
}
body.page.company .locations-box .inner .locations-ttl-box .locations-ttl .jp {
  color: #4E197C;
  font-size: var(--size36);
  font-weight: 700;
  line-height: 100%; /* 3.6rem */
  letter-spacing: 0.216rem;
}
@media screen and (max-width: 767px) {
  body.page.company .locations-box .inner .locations-ttl-box .locations-ttl .jp {
    font-size: var(--size24);
  }
}
body.page.company .locations-box .inner .locations-tbl dt .locations-name {
  background-image: url(/img/bg_locations-lst-lst_li.svg);
  background-repeat: no-repeat;
  background-position: left center;
  padding-left: calc(var(--size8) * 3.5);
}
body.page.company .locations-box .inner .locations-tbl dt .locations-name a {
  color: #4E197C;
  font-feature-settings: 'palt' on;
  font-size: var(--size20);
  font-weight: 500;
  line-height: 140%;
  text-decoration-line: underline;
  text-decoration-style: solid;
  text-decoration-skip-ink: none;
  text-decoration-thickness: auto;
  text-underline-offset: auto;
  text-underline-position: from-font;
}
@media screen and (max-width: 767px) {
  body.page.company .locations-box .inner .locations-tbl dd div.flex {
    justify-content: space-between;
  }
}
body.page.company .locations-box .inner .locations-tbl dd a {
  color: #222222;
  width: var(--size120);
}
@media screen and (max-width: 767px) {
  body.page.company .locations-box .inner .locations-tbl dd a img {
    width: var(--size120);
  }
}
body.page.company .locations-box .inner .locations-tbl dd address {
  margin-right: var(--size8);
}
@media screen and (max-width: 767px) {
  body.page.company .locations-box .inner .locations-tbl dd address {
    flex: 1;
  }
}

/* history-box */
body.page.company .history-box {
  position: relative;
  height: auto;
  margin-top: calc(var(--size8) * 12.5)!important;
  margin-bottom: calc(var(--size8) * 12.5)!important;
}
@media screen and (max-width: 767px) {
  body.page.company .history-box {
    margin-top: var(--size80)!important;
    margin-bottom: var(--size80)!important;
  }
}
body.page.company .history-box .inner {
  position: relative;
  width: 100%;
  max-width: var(--size1280);
  height: auto;
  margin-right: auto;
  margin-left: auto;
  padding-top: var(--size120);
  padding-bottom: var(--size120);
  background-color: #F4F3F7;
  border-radius: var(--size24) 0 0 var(--size24);
}
@media screen and (max-width: 767px) {
  body.page.company .history-box .inner {
    width: 95%;
    padding-right: 5%;
    padding-left: 5%;
  }
}
body.page.company .history-box::after {
  content: "";
  display: block;
  width: 50%;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  background-color: #F4F3F7;
  z-index: -1;
}
body.page.company .history-box .inner .history-ttl {
  width: 100%;
  max-width: var(--size1000);
  height: auto;
  margin-right: auto;
  margin-left: auto;
  margin-bottom: var(--size40);
}
body.page.company .history-box .inner .history-ttl .en {
  margin-bottom: var(--size16);
}
body.page.company .history-box .inner .history-ttl .en .txt {
  font-family: var(--ff-m);
  font-size: var(--size16);
  font-weight: 700;
  line-height: 100%; /* 1.6rem */
  letter-spacing: 0.064rem;
  background: linear-gradient(96deg, #6F00CF 8.71%, #28ACEE 89.87%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media screen and (max-width: 767px) {
  body.page.company .history-box .inner .history-ttl .en .txt {
    font-size: var(--size14);
  }
}
body.page.company .history-box .inner .history-ttl .en::before {
  display: block;
  content: "";
  width: var(--size14);
  height: var(--size14);
  background-image: url(/img/icn_star.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  margin-right: var(--size8);
}
body.page.company .history-box .inner .history-ttl .jp {
  color: #4E197C;
  font-size: var(--size36);
  font-weight: 700;
  line-height: 100%; /* 3.6rem */
  letter-spacing: 0.216rem;
}
@media screen and (max-width: 767px) {
  body.page.company .history-box .inner .history-ttl .jp {
    font-size: var(--size24);
  }
}

/* history-tl */
.history-tl {
  position: relative;
  width: 100%;
  max-width: var(--size1000);
  height: auto;
  margin-right: auto;
  margin-left: auto;
}
.history-tl .entry {
  display: flex;
  align-items: flex-start;
  position: relative;
  padding-bottom: var(--size30);
}
@media screen and (max-width: 767px) {
  .history-tl .entry {
    flex-direction: column;
    padding-left: var(--size32);
  }
}
.history-tl .entry::after {
  display: block;
  content: "";
  width: 1px;
  height: 100%;
  background: #845EA4;
  position: absolute;
  top: var(--size10);
  left: calc(var(--size8) * 18.75); /* 15rem */
}
.history-tl .entry:last-of-type::after {
  display: none;
}

@media screen and (max-width: 767px) {
  .history-tl .entry::after {
    top: 0;
    left: var(--size8);
  }
}
.history-tl .entry .dot {
  display: block;
  content: '';
  position: absolute;
  left: calc(var(--size8) * 17.75); /* 14.2rem */
  width: var(--size16);
  height: var(--size16);
  border-radius: 50%;
  background: linear-gradient(149deg, #6F00CF 17.21%, #28ACEE 75.24%);
  top: var(--size10);
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .history-tl .entry .dot {
    top: 0;
    left: 0;
  }
}
.history-tl .entry .tim {
  width: 15%;
  text-align: right;
}
@media screen and (max-width: 767px) {
  .history-tl .entry .tim {
    width: 100%;
    text-align: left;
  }
}
.history-tl .entry .tim .yyyy {
  text-align: left;
  color: #4E197C;
  font-family: var(--ff-m);
  font-size: var(--size36);
  font-weight: 500;
  line-height: 100%; /* 3.6rem */
}
@media screen and (max-width: 767px) {
  .history-tl .entry .tim .yyyy {
    font-size: var(--size20);
  }
}
.history-tl .entry .tim .nen {
  color: #4E197C;
  font-size: var(--size20);
  font-weight: 500;
  line-height: 100%; /* 2rem */
}
@media screen and (max-width: 767px) {
  .history-tl .entry .tim .nen {
    font-size: var(--size16);
  }
}
.history-tl .entry .tim .wareki {
  text-align: left;
  font-size: var(--size16);
  font-weight: 400;
  line-height: 170%; /* 2.72rem */
}
@media screen and (max-width: 767px) {
  .history-tl .entry .tim .wareki {
    font-size: var(--size10);
  }
}
.history-tl .entry .act .itm {
  width: 100%;
  text-align: left;
  padding-left: var(--size42);
  font-size: var(--size16);
  line-height: 1.75;
  gap: var(--size24);
}
@media screen and (max-width: 767px) {
  .history-tl .entry .act .itm {
    width: 100%;
    padding-left: 0;
    font-size: var(--size14);
    gap: var(--size12);
    flex-wrap: nowrap;
  }
}
.history-tl .entry .act .itm .mm {
  width: calc(var(--size8) * 5.5); /* 4.4rem */
  font-size: var(--size20);
  font-weight: 400;
  line-height: 3.6rem; /* 180% */
}
@media screen and (max-width: 767px) {
  .history-tl .entry .act .itm .mm {
    font-size: var(--size18);
  }
}
.history-tl .entry .act .itm .txt {
  font-size: var(--size16);
  font-weight: 500;
  line-height: 170%; /* 2.72rem */
}
@media screen and (max-width: 767px) {
  .history-tl .entry .act .itm .txt {
    font-size: var(--size14);
  }
}



/* ===========================
05) philosophy
------------------------------ */
body.page.philosophy header .global-nav-lst li a {
  color: #FFFFFF;
}
body.page.philosophy header.active .global-nav-lst li a {
  color: #000000;
}
body.page.philosophy main {
  padding-top: 0;
}
body.page.philosophy .mv {
  position: relative;
  height: calc(var(--size8) * 52.5); /* 42rem */
  background: url(/img/mv_philosophy.jpg) no-repeat center/cover;
  border-radius: 0 0 var(--size24) var(--size24);
}
@media screen and (max-width: 767px) {
  body.page.philosophy .mv {
    height: calc(var(--size8) * 30);
  }
}
body.page.philosophy .mv .inner {
  width: 100%;
  height: 100%;
}
body.page.philosophy .mv .inner .ttl {
  color: #FFFFFF;
}
body.page.philosophy .mv .inner .ttl .en {
  font-family: var(--ff-m);
  font-size: var(--size54);
  font-weight: 700;
  line-height: 100%; /* 5.6rem */
  letter-spacing: 0.112rem;
  margin-bottom: var(--size12);
}
body.page.philosophy .mv .inner .ttl .jp {
  font-size: var(--size20);
  font-weight: 700;
  line-height: 100%; /* 2rem */
  letter-spacing: 0.1rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  body.page.philosophy .mv .inner .ttl .en {
    font-size: var(--size32);
  }
  body.page.philosophy .mv .inner .ttl .jp {
    font-size: var(--size18);
  }
}

/* philosophy */
body.page.philosophy .philosophy-outer {
  position: relative;
  width: 100%;
  height: auto;
  aspect-ratio: 1440 / 1586;
  margin: var(--size120) auto;
  padding-top: var(--size120);
  background-image: url(/img/bg_philosophy.jpg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
@media screen and (max-width: 767px) {
  body.page.philosophy .philosophy-outer {
    padding-right: 2.5%;
    padding-left: 2.5%;
    padding-bottom: calc(var(--size120) * 2);
  }
}
body.page.philosophy .philosophy-outer .inner {
  width: 100%;
  max-width: var(--size1000);
  height: auto;
  margin-right: auto;
  margin-left: auto;
}
body.page.philosophy .philosophy-outer .inner .philosophy-box {
  border-radius: var(--size24);
  border: 1px solid #FFFFFF;
  background: rgba(14, 22, 119, 0.09);
  background-blend-mode: multiply;
  color: #FFFFFF;
  padding-top: var(--size64);
  padding-bottom: var(--size64);
  margin-bottom: calc(var(--size8) * 9); /* 7.2rem */
}
body.page.philosophy .philosophy-outer .inner .philosophy-box .ttl {
  text-align: center;
  margin-bottom: var(--size24);
}
body.page.philosophy .philosophy-outer .inner .philosophy-box .ttl .en {
  font-family: var(--ff-m);
  font-size: var(--size32);
  font-weight: 700;
  line-height: 100%; /* 3.2rem */
  letter-spacing: 0.128rem;
  margin-bottom: var(--size12);
}
@media screen and (max-width: 767px) {
  body.page.philosophy .philosophy-outer .inner .philosophy-box .ttl .en {
    font-size: var(--size28);
  }
}
body.page.philosophy .philosophy-outer .inner .philosophy-box .ttl .jp {
  font-size: var(--size16);
  font-weight: 700;
  line-height: 100%; /* 1.6rem */
}
body.page.philosophy .philosophy-outer .inner .philosophy-box .star-bar {
  width: 100%;
  height: auto;
  margin-bottom: var(--size24);
  column-gap: var(--size8);
}
body.page.philosophy .philosophy-outer .inner .philosophy-box .star-bar .star {
  display: block;
  width: var(--size14);
  height: var(--size14);
  background-image: url(/img/icn_star_w.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
body.page.philosophy .philosophy-outer .inner .philosophy-box .txt {
  text-align: center;
  font-size: var(--size32);
  font-weight: 700;
  line-height: 160%; /* 5.12rem */
}
@media screen and (max-width: 767px) {
  body.page.philosophy .philosophy-outer .inner .philosophy-box .txt {
    font-size: var(--size18);
  }
}
body.page.philosophy .philosophy-outer .inner .detail-box {
  width: 100%;
  height: auto;
  color: #FFFFFF;
  margin-bottom: calc(var(--size8) * 7); /* 5.6rem */
}
@media screen and (max-width: 767px) {
  body.page.philosophy .philosophy-outer .inner .detail-box {
    flex-direction: column;
  }
}
body.page.philosophy .philosophy-outer .inner .detail-box .ttl {
  width: calc(var(--size8) * 34); /* 27.2rem */
  border-right: 1px solid #FFFFFF;
}
@media screen and (max-width: 767px) {
  body.page.philosophy .philosophy-outer .inner .detail-box .ttl {
    width: 100%;
    border-right: none;
    border-bottom: 1px solid #FFFFFF;
    margin-bottom: var(--size16);
    padding-bottom: var(--size16);
    text-align: center;
  }
}
body.page.philosophy .philosophy-outer .inner .detail-box .ttl .en {
  column-gap: var(--size8);
}
@media screen and (max-width: 767px) {
  body.page.philosophy .philosophy-outer .inner .detail-box .ttl .en {
    justify-content: center;
  }
}
body.page.philosophy .philosophy-outer .inner .detail-box .ttl .en .star {
  display: block;
  width: var(--size14);
  height: var(--size14);
  background-image: url(/img/icn_star_w.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
body.page.philosophy .philosophy-outer .inner .detail-box .ttl .en .txt {
  display: block;
  font-family: var(--ff-m);
  font-size: var(--size32);
  font-weight: 700;
  line-height: 100%; /* 3.2rem */
  letter-spacing: 0.128rem;
}
@media screen and (max-width: 767px) {
  body.page.philosophy .philosophy-outer .inner .detail-box .ttl .en .txt {
    font-size: var(--size24);
  }
}
body.page.philosophy .philosophy-outer .inner .detail-box .ttl .jp {
  font-size: var(--size16);
  font-weight: 700;
  line-height: 100%; /* 1.6rem */
}
@media screen and (max-width: 767px) {
  body.page.philosophy .philosophy-outer .inner .detail-box .ttl .jp {
    font-size: var(--size14);
  }
}
body.page.philosophy .philosophy-outer .inner .detail-box .detail-txt p {
  font-size: var(--size28);
  font-weight: 700;
  line-height: 100%; /* 4.48rem */
  margin-left: calc(var(--size8) * 9); /* 7.2rem */
}
@media screen and (max-width: 767px) {
  body.page.philosophy .philosophy-outer .inner .detail-box .detail-txt p {
    font-size: var(--size20);
    line-height: 150%;
    margin-left: 0;
    text-align: center;
  }
}
body.page.philosophy .philosophy-outer .inner .detail-box .detail-lst {
  font-size: var(--size28);
  font-weight: 700;
  line-height: 100%; /* 4.48rem */
  margin-left: calc(var(--size8) * 9); /* 7.2rem */
}
@media screen and (max-width: 767px) {
  body.page.philosophy .philosophy-outer .inner .detail-box .detail-lst {
    width: 80%;
    margin-left: auto;
    margin-right: auto;
  }
}
body.page.philosophy .philosophy-outer .inner .detail-box .detail-lst .itm {
  width: 100%;
  column-gap: var(--size16);
  margin-bottom: var(--size12);
}
@media screen and (max-width: 767px) {
  body.page.philosophy .philosophy-outer .inner .detail-box .detail-lst .itm {
    flex-wrap: nowrap;
  }
}
body.page.philosophy .philosophy-outer .inner .detail-box .detail-lst .itm:last-of-type {
  margin-bottom: 0;
}
body.page.philosophy .philosophy-outer .inner .detail-box .detail-lst .itm .lbl-num {
  display: flex;
  width: calc(var(--size8) * 7.25); /* 5.8rem */
  height: calc(var(--size8) * 7.25); /* 5.8rem */
  padding: calc(var(--size8) * 1.375); /* 1.1rem */
  border-radius: 50%;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
  border: 1px solid #FFF;
  text-align: center;
  font-family: var(--ff-m);
}
body.page.philosophy .philosophy-outer .inner .detail-box .detail-lst .itm .lbl-num .lbl {
  font-size: var(--size12);
  font-weight: 500;
  line-height: 100%; /* 1.2rem */
}
body.page.philosophy .philosophy-outer .inner .detail-box .detail-lst .itm .lbl-num .num {
  font-size: var(--size20);
  font-weight: 700;
  line-height: 100%; /* 2rem */
}
body.page.philosophy .philosophy-outer .inner .detail-box .detail-lst .itm .txt {
  font-size: var(--size24);
  font-weight: 700;
  line-height: 160%; /* 3.84rem */
}
@media screen and (max-width: 767px) {
  body.page.philosophy .philosophy-outer .inner .detail-box .detail-lst .itm .txt {
    font-size: var(--size16);
  }
}

/* message_chairman */
body.page.philosophy .interview .inner {
  position: relative;
  width: 100%;
  max-width: var(--size1000);
  height: auto;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  body.page.philosophy .interview .inner {
    max-width: 100%;
  }
}
body.page.philosophy .interview .inner .interview-ttl {
  margin-bottom: var(--size40);
}
body.page.philosophy .interview .inner .interview-ttl .en {
  margin-bottom: var(--size16);
}
body.page.philosophy .interview .inner .interview-ttl .en::before {
  display: block;
  content: "";
  width: var(--size14);
  height: var(--size14);
  background-image: url(/img/icn_star.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  margin-right: var(--size8);
}
body.page.philosophy .interview .inner .interview-ttl .en .txt {
  font-family: var(--ff-m);
  font-size: var(--size16);
  font-weight: 700;
  line-height: 100%;
  letter-spacing: 0.064rem;
  background: linear-gradient(96deg, #6F00CF 8.71%, #28ACEE 89.87%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media screen and (max-width: 767px) {
  body.page.philosophy .interview .inner .interview-ttl .en .txt {
    font-size: var(--size14);
  }
}
body.page.philosophy .interview .inner .interview-ttl .jp {
  text-align: center;
  color: #4E197C;
  font-size: var(--size36);
  font-weight: 700;
  line-height: 100%;
  letter-spacing: 0.216rem;
}
@media screen and (max-width: 767px) {
  body.page.philosophy .interview .inner .interview-ttl .jp {
    font-size: var(--size24);
  }
}
body.page.philosophy .interview .inner .person-mv .crd {
  width: calc(var(--size8) * 43);
  height: calc(var(--size8) * 19.25);
  background-size: cover;
  background-repeat: no-repeat;
  position: absolute;
  bottom: 0;
}
body.page.philosophy .message_chairman .inner .person-mv .crd {
  background-image: url(/img/bg_person-mv_crd_l.svg);
  background-position: left bottom;
  left: 0;
}
@media screen and (max-width: 767px) {
  body.page.philosophy .message_chairman .inner .person-mv .crd {
    transform: scale(0.7);
    transform-origin: bottom left;
  }
}
body.page.philosophy .message_president .inner .person-mv .crd {
  background-image: url(/img/bg_person-mv_crd_r.svg);
  background-position: right bottom;
  right: 0;
}
@media screen and (max-width: 767px) {
  body.page.philosophy .message_president .inner .person-mv .crd {
    transform: scale(0.7);
    transform-origin: bottom right;
  }
}
body.page.philosophy .message_chairman .inner .person-mv .crd .inner {
  padding: var(--size50) 0 0 var(--size48);
}
body.page.philosophy .message_president .inner .person-mv .crd .inner {
  padding: var(--size50) 0 0 calc(var(--size8) * 9); /* 7.2rem */
}
body.page.philosophy .inner .person-mv .crd .inner .position {
  font-size: var(--size16);
  font-weight: 400;
  line-height: 170%;
}
body.page.philosophy .inner .person-mv .crd .inner .name {
  width: 100%;
  height: auto;
}
body.page.philosophy .inner .person-mv .crd .inner .name .jp {
  font-size: var(--size24);
  font-weight: 700;
  line-height: 170%;
}
body.page.philosophy .inner .person-mv .crd .inner .name .en {
  color: #626264;
  font-family: var(--ff-m);
  font-size: var(--size16);
  font-weight: 700;
  line-height: 170%;
}
body.page.philosophy .inner .person-mv {
  width: 100%;
  max-width: var(--size1000);
  height: calc(var(--size8) * 55);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  border-radius: var(--size24);
  margin-bottom: var(--size40);
  overflow: hidden;
  position: relative;
}
@media screen and (max-width: 767px) {
  body.page.philosophy .message_chairman .inner .person-mv {
    max-width: calc(var(--size8) * 65.875);
    height: calc(var(--size8) * 29);
    margin-right: auto;
    margin-left: auto;
    background-position: top left;
    background-size: contain;
  }
  body.page.philosophy .message_president .inner .person-mv {
    max-width: calc(var(--size8) * 65.875);
    height: calc(var(--size8) * 29);
    margin-right: auto;
    margin-left: auto;
    background-position: top right;
    background-size: contain;
  }
}
body.page.philosophy .message_chairman .inner .person-mv {
  background-image: url(/img/bg_locations-interview_person_chairman.jpg);
}
body.page.philosophy .message_president .inner .person-mv {
  background-image: url(/img/bg_locations-interview_person_president.jpg);
}
@media screen and (max-width: 767px) {
  body.page.philosophy .message_chairman .inner .person-mv {
    background-image: url(/img/bg_locations-interview_person_chairman_sp.jpg);
    background-size: cover;
  }
  body.page.philosophy .message_president .inner .person-mv {
    background-image: url(/img/bg_locations-interview_person_president_sp.jpg);
    background-size: cover;
  }
}
body.page.philosophy .interview .inner .interview-txt {
  width: 100%;
  max-width: calc(var(--size8) * 107.5); /* 86rem */
  margin-right: auto;
  margin-left: auto;
}
body.page.philosophy .interview .inner .interview-txt p {
  text-align: justify;
  font-size: var(--size16);
  font-weight: 400;
  line-height: 170%; /* 2.72rem */
  margin-bottom: 2em;
}



/* ===========================
06) recruit
------------------------------ */
body.page.recruit header .global-nav-lst li a {
  color: #FFFFFF;
}
body.page.recruit header.active .global-nav-lst li a {
  color: #000000;
}
body.page.recruit main {
  padding-top: 0;
}
body.page.recruit .mv {
  position: relative;
  height: calc(var(--size8) * 52.5); /* 42rem */
  background: url(/img/mv_recruit.jpg) no-repeat center/cover;
  border-radius: 0 0 var(--size24) var(--size24);
}
@media screen and (max-width: 767px) {
  body.page.recruit .mv {
    height: calc(var(--size8) * 30);
  }
}
body.page.recruit .mv .inner {
  width: 100%;
  height: 100%;
}
body.page.recruit .mv .inner .ttl {
  color: #FFFFFF;
}
body.page.recruit .mv .inner .ttl .en {
  font-family: var(--ff-m);
  font-size: var(--size54);
  font-weight: 700;
  line-height: 100%; /* 5.6rem */
  letter-spacing: 0.112rem;
  margin-bottom: var(--size12);
}
body.page.recruit .mv .inner .ttl .jp {
  font-size: var(--size20);
  font-weight: 700;
  line-height: 100%; /* 2rem */
  letter-spacing: 0.1rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  body.page.recruit .mv .inner .ttl .en {
    font-size: var(--size32);
  }
  body.page.recruit .mv .inner .ttl .jp {
    font-size: var(--size18);
  }
}

/* join */
body.page.recruit .join-box {
  position: relative;
  width: 100%;
  height: calc(var(--size8) * 108); /* 86.4rem */
  background-image: url(/img/bg_join.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
@media screen and (max-width: 767px) {
  body.page.recruit .join-box {
    height: auto;
    background-image: url(/img/bg_join_sp.png);
    background-position: top var(--size80) center;
  }
}
body.page.recruit .join-box .inner {
  position: relative;
  width: 100%;
  max-width: var(--size1200);
  height: auto; /* 86.4rem */
  margin-right: auto;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  body.page.recruit .join-box .inner {
    width: 90%;
  }
}
body.page.recruit .join-box .inner .join-ttl {
  color: #4E197C;
  text-align: center;
  font-size: var(--size28);
  font-weight: 700;
  line-height: 180%; /* 5.04rem */
  letter-spacing: 0.112rem;
  margin-bottom: var(--size48);
}
@media screen and (max-width: 767px) {
  body.page.recruit .join-box .inner .join-ttl {
    font-size: var(--size24);
  }
}
body.page.recruit .join-box .inner .join-txt {
  text-align: center;
  font-size: var(--size18);
  font-weight: 500;
  line-height: 200%; /* 3.6rem */
  letter-spacing: 0.072rem;
  margin-bottom: var(--size40);
}
body.page.recruit .join-box .inner .join-txt .txt {
  font-weight: 500;
}
body.page.recruit .join-box .inner .join-btn {
  text-align: center;
}
body.page.recruit .join-box .inner .join-btn .btn {
  display: inline-block;
  position: relative;
  padding: var(--size24) calc(var(--size8) * 11.25);
  border-radius: var(--size42);
  border-radius: 47px;
  background: linear-gradient(90deg, #6F00CF 5.09%, #28ACEE 96.79%);
  color: #FFFFFF;
  font-size: var(--size16);
  font-weight: 500;
  line-height: 100%;
  letter-spacing: 0.064rem;
}
body.page.recruit .join-box .inner .join-btn .btn::after {
  display: block;
  content: "";
  width: var(--size22);
  height: var(--size22);
  background-image: url(/img/bg_locations-btn_arrow.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  position: absolute;
  top: 50%;
  right: var(--size24);
  transform: translateY(-50%);
}

/* work */
body.page.recruit .work-box {
  position: relative;
  height: auto;
  margin-top: calc(var(--size8) * 12.5)!important;
  margin-bottom: calc(var(--size8) * 12.5)!important;
}
@media screen and (max-width: 767px) {
  body.page.recruit .work-box {
    margin-top: var(--size80)!important;
    margin-bottom: var(--size80)!important;
  }
}
body.page.recruit .work-box .inner {
  position: relative;
  width: 100%;
  max-width: var(--size1280);
  height: auto;
  margin-right: auto;
  margin-left: auto;
  padding-top: var(--size120);
  padding-bottom: var(--size120);
  background-color: #F4F3F7;
  border-radius: var(--size24) 0 0 var(--size24);
}
@media screen and (max-width: 767px) {
  body.page.recruit .work-box .inner {
    width: 95%;
    padding: var(--size80) 2.5%;
  }
}
body.page.recruit .work-box::after {
  content: "";
  display: block;
  width: 50%;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  background-color: #F4F3F7;
  z-index: -1;
}
body.page.recruit .work-box .inner .w1000 {
  width: 100%;
  max-width: var(--size1000);
  height: auto;
  margin-right: auto;
  margin-left: auto;
}
body.page.recruit .work-box .inner .w1000 .work-ttl {
  margin-bottom: var(--size48);
}
body.page.recruit .work-box .inner .w1000 .work-ttl .en {
  column-gap: calc(var(--size8) * 0.75);
  margin-bottom: var(--size16);
}
body.page.recruit .work-box .inner .w1000 .work-ttl .en::before {
  display: block;
  content: "";
  width: var(--size14);
  height: var(--size14);
  background-image: url(/img/bg_interview-ttl_en.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
body.page.recruit .work-box .inner .w1000 .work-ttl .en .txt {
  font-size: var(--size16);
  font-weight: 700;
  line-height: 100%;
  letter-spacing: 0.064rem;
  background: linear-gradient(96deg, #6F00CF 8.71%, #28ACEE 89.87%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media screen and (max-width: 767px) {
  body.page.recruit .work-box .inner .w1000 .work-ttl .en .txt {
    font-size: var(--size14);
  }
}
body.page.recruit .work-box .inner .w1000 .work-ttl .jp {
  text-align: center;
  color: #4E197C;
  font-size: var(--size36);
  font-weight: 700;
  line-height: 100%;
  letter-spacing: 0.216rem;
}
@media screen and (max-width: 767px) {
  body.page.recruit .work-box .inner .w1000 .work-ttl .jp {
    font-size: var(--size24);
    line-height: 150%;
  }
}
body.page.recruit .work-box .inner .w1000 .work-service-txt {
  text-align: center;
  background-color: #FFFFFF;
  width: 100%;
  height: auto;
  padding: var(--size16) 0;
  border-radius: var(--size64);
  margin-bottom: var(--size40);
}
body.page.recruit .work-box .inner .w1000 .work-service-txt .txt {
  color: #4E197C;
  font-size: var(--size20);
  font-weight: 700;
  line-height: 100%; /* 2rem */
}
body.page.recruit .work-box .inner .w1000 .work-service-img {
  margin-bottom: var(--size40);
}
body.page.recruit .work-box .inner .w1000 .work-service-img .img img {
  width: var(--size1000);
  height: auto;
  object-fit: cover;
}
body.page.recruit .work-box .inner .w1000 .work-txt .ttl {
  font-size: var(--size24);
  font-weight: 700;
  line-height: 200%; /* 4.8rem */
  letter-spacing: 0.096rem;
  margin-bottom: var(--size24);
}
body.page.recruit .work-box .inner .w1000 .work-txt .txt {
  font-size: var(--size16);
  font-weight: 400;
  line-height: 170%; /* 2.72rem */
}

/* environment */
body.page.recruit .environment-box {
  position: relative;
  height: auto;
  margin-top: calc(var(--size8) * 12.5)!important;
  margin-bottom: calc(var(--size8) * 12.5)!important;
}
@media screen and (max-width: 767px) {
  body.page.recruit .environment-box {
    margin-top: var(--size80)!important;
    margin-bottom: var(--size80)!important;
  }
}
body.page.recruit .environment-box .inner {
  position: relative;
  width: 100%;
  max-width: var(--size1280);
  height: auto;
  margin-right: auto;
  margin-left: auto;
}
body.page.recruit .environment-box .inner .w1000 {
  width: 100%;
  max-width: var(--size1000);
  height: auto;
  margin-right: auto;
  margin-left: auto;
}
body.page.recruit .environment-box .inner .w1000 .environment-ttl {
  margin-bottom: var(--size24);
}
body.page.recruit .environment-box .inner .w1000 .environment-ttl .en {
  column-gap: calc(var(--size8) * 0.75);
  margin-bottom: var(--size16);
}
body.page.recruit .environment-box .inner .w1000 .environment-ttl .en::before {
  display: block;
  content: "";
  width: var(--size14);
  height: var(--size14);
  background-image: url(/img/bg_interview-ttl_en.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
body.page.recruit .environment-box .inner .w1000 .environment-ttl .en .txt {
  font-size: var(--size16);
  font-weight: 700;
  line-height: 100%;
  letter-spacing: 0.064rem;
  background: linear-gradient(96deg, #6F00CF 8.71%, #28ACEE 89.87%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media screen and (max-width: 767px) {
  body.page.recruit .environment-box .inner .w1000 .environment-ttl .en .txt {
    font-size: var(--size14);
  }
}
body.page.recruit .environment-box .inner .w1000 .environment-ttl .jp {
  text-align: center;
  color: #4E197C;
  font-size: var(--size36);
  font-weight: 700;
  line-height: 100%;
  letter-spacing: 0.216rem;
}
@media screen and (max-width: 767px) {
  body.page.recruit .environment-box .inner .w1000 .environment-ttl .jp {
    font-size: var(--size24);
  }
}
body.page.recruit .environment-box .inner .w1000 .environment-txt {
  text-align: center;
  width: 100%;
  height: auto;
  margin-bottom: var(--size64);
}
body.page.recruit .environment-box .inner .w1000 .environment-txt .txt {
  font-size: var(--size16);
  font-weight: 500;
  line-height: 200%; /* 3.2rem */
  letter-spacing: 0.064rem;
}
body.page.recruit .environment-box .inner .w1000 .environment-point-img {
  margin-bottom: var(--size64);
}
body.page.recruit .environment-box .inner .w1000 .environment-point-img .point-img {
  width: calc(var(--size8) * 40); /* 32rem */
  height: auto;
  object-fit: cover;
}
@media screen and (max-width: 767px) {
  body.page.recruit .environment-box .inner .w1000 .environment-point-img .point-img {
    width: calc(100% / 3 - var(--size8));
  }
}
body.page.recruit .environment-box .inner .w1000 .environment-system {
  width: 100%;
  height: auto;
  margin-bottom: var(--size40);
  column-gap: var(--size30);
}
@media screen and (max-width: 767px) {
  body.page.recruit .environment-box .inner .w1000 .environment-system {
    flex-direction: column;
    gap: var(--size20);
  }
}
body.page.recruit .environment-box .inner .w1000 .environment-system .system-img {
  width: calc(var(--size8) * 39); /* 31.2rem */
  height: auto;
  overflow: hidden;
  border-radius: var(--size20);
}
@media screen and (max-width: 767px) {
  body.page.recruit .environment-box .inner .w1000 .environment-system .system-img {
    width: 100%;
  }
}
body.page.recruit .environment-box .inner .w1000 .environment-system .system-txt {
  width: calc(100% - calc(var(--size8) * 39) - var(--size30));
  height: auto;
}
@media screen and (max-width: 767px) {
  body.page.recruit .environment-box .inner .w1000 .environment-system .system-txt {
    width: 100%;
  }
}
body.page.recruit .environment-box .inner .w1000 .environment-system .system-txt .ttl {
  color: #4E197C;
  font-size: var(--size24);
  font-weight: 700;
  line-height: 170%; /* 4.08rem */
  margin-bottom: var(--size12);
}
body.page.recruit .environment-box .inner .w1000 .environment-system .system-txt .txt {
  font-size: var(--size16);
  font-weight: 500;
  line-height: 170%; /* 2.72rem */
}

/* benefit */
body.page.recruit .benefit-box .inner .w1000 .benefit-ttl {
  margin-bottom: var(--size24);
}
body.page.recruit .benefit-box .inner .w1000 .benefit-ttl .en {
  column-gap: calc(var(--size8) * 0.75);
  margin-bottom: var(--size16);
}
body.page.recruit .benefit-box .inner .w1000 .benefit-ttl .en::before {
  display: block;
  content: "";
  width: var(--size14);
  height: var(--size14);
  background-image: url(/img/bg_interview-ttl_en.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
body.page.recruit .benefit-box .inner .w1000 .benefit-ttl .en .txt {
  font-size: var(--size16);
  font-weight: 700;
  line-height: 100%;
  letter-spacing: 0.064rem;
  background: linear-gradient(96deg, #6F00CF 8.71%, #28ACEE 89.87%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media screen and (max-width: 767px) {
  body.page.recruit .benefit-box .inner .w1000 .benefit-ttl .en .txt {
    font-size: var(--size14);
  }
}
body.page.recruit .benefit-box .inner .w1000 .benefit-ttl .jp {
  text-align: center;
  color: #4E197C;
  font-size: var(--size36);
  font-weight: 700;
  line-height: 100%;
  letter-spacing: 0.216rem;
}
@media screen and (max-width: 767px) {
  body.page.recruit .benefit-box .inner .w1000 .benefit-ttl .jp {
    font-size: var(--size24);
  }
}
body.page.recruit .benefit-box .inner .w1000 .benefit-txt {
  text-align: center;
  font-weight: 500;
  width: 100%;
  height: auto;
  margin-bottom: var(--size64);
}
body.page.recruit .benefit-box .inner .w1000 .benefit-txt .txt {
  font-size: var(--size16);
  font-weight: 500;
  line-height: 200%; /* 3.2rem */
  letter-spacing: 0.064rem;
}
body.page.recruit .benefit-box {
  background: #F4F3F7;
  position: relative;
  height: auto;
  margin-top: calc(var(--size8) * 12.5)!important;
  margin-bottom: calc(var(--size8) * 12.5)!important;
}
@media screen and (max-width: 767px) {
  body.page.recruit .benefit-box {
    margin-top: var(--size80)!important;
    margin-bottom: var(--size80)!important;
  }
}
body.page.recruit .benefit-box .inner {
  position: relative;
  width: 100%;
  max-width: var(--size1280);
  height: auto;
  margin-right: auto;
  margin-left: auto;
  padding-top: var(--size80);
  padding-bottom: var(--size80);
}
body.page.recruit .benefit-box .inner .w1000 {
  width: 100%;
  max-width: var(--size1000);
  height: auto;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  body.page.recruit .benefit-box .inner .w1000 {
    width: 95%;
  }
}
body.page.recruit .benefit-box .inner .w1000 .benefit-ttl {
  margin-bottom: var(--size24);
}
body.page.recruit .benefit-box .inner .w1000 .benefit-ttl .jp {
  text-align: center;
  color: #4E197C;
  font-size: var(--size36);
  font-weight: 700;
  line-height: 100%;
  letter-spacing: 0.216rem;
}
@media screen and (max-width: 767px) {
  body.page.recruit .benefit-box .inner .w1000 .benefit-ttl .jp {
    font-size: var(--size24);
  }
}
body.page.recruit .benefit-box .inner .w1000 .benefit-crd {
  width: 100%;
  height: auto;
  gap: var(--size20);
}
@media screen and (max-width: 767px) {
  body.page.recruit .benefit-box .inner .w1000 .benefit-crd {
    flex-direction: column;
    gap: var(--size12);
  }
}
body.page.recruit .benefit-box .inner .w1000 .benefit-crd .crd {
  display: flex;
  width: calc(var(--size8) * 40); /* 32rem */
  height: auto;
  padding: var(--size40) var(--size32);
  flex-direction: column;
  align-items: flex-start;
  gap: var(--size24);
  border-radius: var(--size20);
  background: #FFFFFF;
}
@media screen and (max-width: 767px) {
  body.page.recruit .benefit-box .inner .w1000 .benefit-crd .crd {
    width: 100%;
    padding: 5%;
  }
}
body.page.recruit .benefit-box .inner .w1000 .benefit-crd .crd .ttl {
  width: 100%;
  color: #4E197C;
  text-align: center;
  font-size: var(--size20);
  font-weight: 700;
  line-height: 170%; /* 3.4rem */
}
body.page.recruit .benefit-box .inner .w1000 .benefit-crd .crd .ttl .sub-ttl {
  display: block;
  font-size: var(--size16);
  font-weight: 700;
  line-height: 170%;
}
body.page.recruit .benefit-box .inner .w1000 .benefit-crd .crd .txt {
  font-size: var(--size16);
  font-weight: 500;
  line-height: 170%; /* 2.72rem */
}

/* btns */
body.page.recruit .recruit-btns-box {
  position: relative;
  height: auto;
  margin-right: var(--size80)!important;
  margin-left: var(--size80)!important;
}
@media screen and (max-width: 767px) {
  body.page.recruit .recruit-btns-box {
    margin-right: 2.5%!important;
    margin-left: 2.5%!important;
    margin-top: var(--size80)!important;
    margin-bottom: var(--size80)!important;
  }
}
body.page.recruit .recruit-btns-box .inner {
  position: relative;
  width: 100%;
  max-width: var(--size1280);
  height: auto;
  margin-right: auto;
  margin-left: auto;
}
body.page.recruit .recruit-btns-box .inner .w1000 {
  width: 100%;
  max-width: var(--size1000);
  height: auto;
  margin-right: auto;
  margin-left: auto;
}
body.page.recruit .recruit-btns-box .inner .w1000 .txt {
  text-align: center;
  font-size: var(--size24);
  font-weight: 700;
  line-height: 170%; /* 4.08rem */
  margin-bottom: var(--size40);
}
@media screen and (max-width: 767px) {
  body.page.recruit .recruit-btns-box .inner .w1000 .txt {
    font-size: var(--size18);
  }
}
.require-btn {
  width: 100%;
  max-width: var(--size1280);
  height: auto;
  padding-top: var(--size40);
  padding-bottom: var(--size40);
  position: relative;
  border-radius: 74px;
  border: 1px solid #4F187D;
  background: rgba(255, 255, 255, 0.45);
  color: #4E197C !important;
  text-align: center;
  font-size: var(--size20);
  font-weight: 700;
  line-height: 100%;
  margin-bottom: var(--size58);
  background-image: url(/img/bg_arrow.svg);
  background-repeat: no-repeat;
  background-position: calc(100% - var(--size54)) center;
  background-size: var(--size32) var(--size32);
}



/* ===========================
07) require
------------------------------ */
body.page.require header .global-nav-hamburger a {
  background: #222222;
}
body.page.require header .global-nav-hamburger a .txt {
  color: #FFFFFF;
}
body.page.require header .global-nav-hamburger a .bars .bar {
  background: #FFFFFF;
}
body.page.require main {
  padding-top: 0;
}
body.page.require .mv {
  position: relative;
  height: calc(var(--size8) * 52.5); /* 42rem */
  background: url(/img/mv_require.svg) no-repeat center/cover;
  border-radius: 0 0 var(--size24) var(--size24);
}
@media screen and (max-width: 767px) {
  body.page.require .mv {
    height: calc(var(--size8) * 30);
  }
}
body.page.require .mv .inner {
  width: 100%;
  height: 100%;
}
body.page.require .mv .inner .ttl {
  color: #FFFFFF;
}
body.page.require .mv .inner .ttl .en {
  text-align: center;
  font-family: var(--ff-m);
  font-size: var(--size24);
  font-weight: 700;
  line-height: 100%; /* 2.4rem */
  letter-spacing: 0.096rem;
  background: linear-gradient(149deg, #6F00CF 17.21%, #28ACEE 75.24%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
body.page.require .mv .inner .ttl .jp {
  color: #1A1924;
  text-align: center;
  font-size: var(--size36);
  font-weight: 700;
  line-height: 140%; /* 5.04rem */
}
@media screen and (max-width: 767px) {
  body.page.require .mv .inner .ttl .en {
    font-size: var(--size32);
  }
  body.page.require .mv .inner .ttl .jp {
    font-size: var(--size24);
  }
}

/* require-box */
body.page.require .require-box {
  position: relative;
  height: auto;
  margin-top: var(--size40)!important;
  margin-bottom: var(--size120)!important;
}
body.page.require .require-box .inner {
  position: relative;
  width: 100%;
  max-width: var(--size1000);
  height: auto;
  margin-right: auto;
  margin-left: auto;
  padding-top: var(--size40);
  padding-bottom: var(--size40);
}
body.page.require .require-box .inner.txt-box {
  text-align: center;
}
body.page.require .require-box .inner.txt-box .require-txt {
  font-size: var(--size18);
  font-weight: 500;
  line-height: 150%; /* 2.7rem */
}
@media screen and (max-width: 767px) {
  body.page.require .require-box .inner.txt-box .require-txt {
    font-size: var(--size16);
  }
}
body.page.require .require-box .inner.ttl-box {
  padding-top: 0;
  padding-bottom: var(--size20);
}
body.page.require .require-box .inner.area {
  padding-top: 0;
  padding-bottom: var(--size20);
}
body.page.require .require-box .inner .require-ttl {
  color: #4F187D;
  font-size: var(--size24);
  font-weight: 700;
  line-height: 170%; /* 4.08rem */
}
@media screen and (max-width: 767px) {
  body.page.require .require-box .inner .require-ttl {
    font-size: var(--size18);
  }
}
body.page.require .require-box .inner .area-ttl {
  display: flex;
  width: 100%;
  height: calc(var(--size8) * 10); /* 8rem */
  justify-content: center;
  align-items: center;
  color: #FFFFFF;
  font-size: var(--size20);
  font-weight: 700;
  line-height: 100%; /* 2rem */
  border-radius: var(--size8);
  background: linear-gradient(100deg, #6821A6 0%, #2128A6 102.49%);
  cursor: pointer;
  position: relative;
}
@media screen and (max-width: 767px) {
  body.page.require .require-box .inner .area-ttl {
    font-size: var(--size16);
  }
}
body.page.require .require-box .inner .area-ttl::-webkit-details-marker {
  display: none;
}
body.page.require .require-box .inner .area-ttl .icon {
  display: block;
  inline-size: var(--size28);
  aspect-ratio: 1;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: var(--size24);
}
body.page.require .require-box .inner .area-ttl .icon::before,
body.page.require .require-box .inner .area-ttl .icon::after {
  position: absolute;
  inset: 0;
  inline-size: 100%;
  block-size: 2px;
  margin: auto;
  content: "";
  background-color: currentcolor;
}
body.page.require .require-box .inner .area-ttl .icon::after {
  transition: opacity 0.3s;
  rotate: 90deg;
}
body.page.require .require-box .inner .area-ttl .icon:where(.accordion[open] *)::after {
  opacity: 0;
}
body.page.require .require-box .inner .area-req-dtl {
  width: 100%;
  max-width: var(--size1000);
  height: auto;
  border-radius: 0 0 4px 4px;
  background: #F4F3F7;
  display: grid;
  transition: grid-template-rows 0.5s;
}
body.page.require .require-box .inner .area-req-dtl .area-req-dtl-outer {
  overflow: hidden;
}
body.page.require .require-box .inner .area-req-dtl .area-req-dtl-inner {
  padding: var(--size40) calc(var(--size8) * 9) calc(var(--size8) * 9) calc(var(--size8) * 9);
}
@media screen and (max-width: 767px) {
  body.page.require .require-box .inner .area-req-dtl .area-req-dtl-inner {
    padding: 10% 5%;
  }
}
body.page.require .require-box .inner .area-req-dtl .btn-contact {
  text-align: center;
  margin-top: var(--size40);
}
body.page.require .require-box .inner .area-req-dtl .btn-contact .btn {
  display: inline-block;
  position: relative;
  padding: var(--size24) calc(var(--size8) * 11.25);
  border-radius: var(--size42);
  border-radius: 47px;
  background: linear-gradient(90deg, #6F00CF 5.09%, #28ACEE 96.79%);
  color: #FFFFFF;
  font-size: var(--size16);
  font-weight: 500;
  line-height: 100%;
  letter-spacing: 0.064rem;
}
body.page.require .require-box .inner .area-req-dtl .btn-contact .btn::after {
  display: block;
  content: "";
  width: var(--size22);
  height: var(--size22);
  background-image: url(/img/bg_locations-btn_arrow.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  position: absolute;
  top: 50%;
  right: var(--size24);
  transform: translateY(-50%);
}



/* ===========================
06) history
------------------------------ */
body.page.history header .global-nav-lst li a {
  color: #FFFFFF;
}
body.page.history header.active .global-nav-lst li a {
  color: #000000;
}
body.page.history main {
  padding-top: 0;
}
body.page.history .mv {
  position: relative;
  height: calc(var(--size8) * 52.5); /* 42rem */
  background: url(/img/mv_history.jpg) no-repeat center/cover;
  border-radius: 0 0 var(--size24) var(--size24);
}
@media screen and (max-width: 767px) {
  body.page.history .mv {
    height: calc(var(--size8) * 30);
  }
}
body.page.history .mv .inner {
  width: 100%;
  height: 100%;
}
body.page.history .mv .inner .ttl {
  color: #FFFFFF;
}
body.page.history .mv .inner .ttl .en {
  font-family: var(--ff-m);
  font-size: var(--size54);
  font-weight: 700;
  line-height: 100%;
  letter-spacing: 0.112rem;
  margin-bottom: var(--size12);
  text-align: center;
}
body.page.history .mv .inner .ttl .jp {
  font-size: var(--size20);
  font-weight: 700;
  line-height: 100%;
  letter-spacing: 0.1rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  body.page.history .mv .inner .ttl .en {
    font-size: var(--size32);
  }
  body.page.history .mv .inner .ttl .jp {
    font-size: var(--size18);
  }
}

/* history-box */
body.page.history .history-box {
  margin-top: var(--size64)!important;
  margin-bottom: var(--size120);
}
body.page.history .history-box .history-ttl {
  width: 100%;
  height: auto;
}
body.page.history .history-box .history-ttl1 {
  background-image: url(/img/bg_history1.svg);
  background-repeat: no-repeat;
  background-position: center top var(--size64);
}
@media screen and (max-width: 767px) {
  body.page.history .history-box .history-ttl1 {
    background-position: center top var(--size32);
  }
}
body.page.history .history-box .history-ttl1-0 {
  background-image: url(/img/bg_history1.svg);
  background-repeat: no-repeat;
  background-position: center top;
}
body.page.history .history-box .history-ttl2 {
  background-image: url(/img/bg_history2.svg);
  background-repeat: no-repeat;
  background-position: center top;
}
body.page.history .history-box .history-ttl3 {
  background-image: url(/img/bg_history3.svg);
  background-repeat: no-repeat;
  background-position: center bottom calc(var(--size120) * 1.6);
  padding-top: var(--size120);
}
@media screen and (max-width: 767px) {
  body.page.history .history-box .history-ttl3 {
    padding-top: var(--size80);
    background-position: center bottom calc(var(--size8) * 20);
  }
}
body.page.history .history-box .history-ttl .ttl {
  text-align: center;
  margin-bottom: var(--size40);
}
body.page.history .history-box .history-ttl .ttl .en {
  font-family: var(--ff-m);
  line-height: 100%; /* 9.18rem */
}
body.page.history .history-box .history-ttl .ttl .en.en1 {
  font-size: var(--size54);
  font-weight: 400;
  background: linear-gradient(149deg, #6F00CF 17.21%, #28ACEE 75.24%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  margin-left: -4.25em;
}
@media screen and (max-width: 767px) {
  body.page.history .history-box .history-ttl .ttl .en.en1 {
    font-size: var(--size27);
  }
}
body.page.history .history-box .history-ttl .ttl .en.en2 {
  font-size: var(--size80);
  font-weight: 700;
  background: linear-gradient(149deg, #6F00CF 17.21%, #28ACEE 75.24%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media screen and (max-width: 767px) {
  body.page.history .history-box .history-ttl .ttl .en.en2 {
    font-size: var(--size40);
  }
}
body.page.history .history-box .history-ttl .txt {
  text-align: center;
  font-size: var(--size20);
  font-weight: 700;
  line-height: 170%; /* 3.4rem */
}
@media screen and (max-width: 767px) {
  body.page.history .history-box .history-ttl .txt {
    font-size: var(--size16);
  }
}

/* common */
body.page.history .bgc {
  background: #F4F3F7;
}
body.page.history .history-cnt {
  position: relative;
  width: 100%;
  max-width: calc(var(--size8) * 118); /* 94.4rem */
  height: auto;
  margin-right: auto;
  margin-left: auto;
  padding-top: var(--size120);
}
@media screen and (max-width: 767px) {
  body.page.history .history-cnt {
    padding-top: var(--size40);
    padding-right: 2.5%;
    padding-left: 2.5%;
  }
}
body.page.history .history-cnt.illust1::after {
  display: block;
  content: "";
  width: calc(var(--size8) * 16.63); /* 13.3rem */
  height: calc(var(--size8) * 32); /* 25.6rem */
  background-image: url(/img/img_history_Illust1.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  body.page.history .history-cnt.illust1::after {
    transform: scale(0.5);
    transform-origin: center right;
  }
}
body.page.history .history-cnt.illust2::after {
  display: block;
  content: "";
  width: calc(var(--size8) * 46.25); /* 37rem */
  height: calc(var(--size8) * 30.25); /* 24.2rem */
  background-image: url(/img/img_history_Illust2.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  position: absolute;
  top: calc(var(--size8) * -4.25); /* 3.4rem */
  right: 0;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  body.page.history .history-cnt.illust2::after {
    transform: scale(0.5);
    transform-origin: center right;
  }
}
body.page.history .history-cnt .history-topic {
  position: relative;
  padding-left: var(--size56);
  padding-bottom: calc(var(--size8) * 12.75); /* 10.2rem */
}
/*
body.page.history .history-cnt .history-topic:last-of-type {
  padding-bottom: 0;
}
*/
@media screen and (max-width: 767px) {
  body.page.history .history-cnt .history-topic {
    padding-left: var(--size16);
    padding-bottom: var(--size20);
  }
}
body.page.history .history-cnt .history-topic::before {
  display: block;
  content: "";
  width: 1px;
  height: 100%;
  background: #845EA4;
  position: absolute;
  top: 0;
  left: var(--size24);
}
@media screen and (max-width: 767px) {
  body.page.history .history-cnt .history-topic::before {
    left: 0;
  }
}
body.page.history .history-cnt .topic-box {
  gap: var(--size40);
  margin-bottom: var(--size48);
}
@media screen and (max-width: 767px) {
  body.page.history .history-cnt .topic-box {
  gap: var(--size20);
    flex-direction: column;
  }
  body.page.history .history-cnt .topic-box.togami1 .topic-img {
    order: 1;
  }
  body.page.history .history-cnt .topic-box.togami1 .topic-cnt {
    order: 0;
  }
  body.page.history .history-cnt .topic-box.osaka1 .topic-img {
    order: 1;
  }
  body.page.history .history-cnt .topic-box.osaka1 .topic-cnt {
    order: 0;
  }
  body.page.history .history-cnt .topic-box.akita1 .topic-img {
    order: 1;
  }
  body.page.history .history-cnt .topic-box.akita1 .topic-cnt {
    order: 0;
  }
  body.page.history .history-cnt .topic-box.nagoya1 .topic-img {
    order: 1;
  }
  body.page.history .history-cnt .topic-box.nagoya1 .topic-cnt {
    order: 0;
  }
  body.page.history .history-cnt .topic-box.sapporo1 .topic-img {
    order: 1;
  }
  body.page.history .history-cnt .topic-box.sapporo1 .topic-cnt {
    order: 0;
  }
}
body.page.history .history-cnt .yyyymm {
  display: inline-flex;
  padding: var(--size8) var(--size16);
  justify-content: center;
  align-items: center;
  gap: var(--size10);
  border-radius: var(--size40);
  background: rgba(79, 24, 125, 0.14);
  font-size: var(--size16);
  font-weight: 500;
  line-height: 100%; /* 1.6rem */
  width: fit-content;
  height: var(--size32);
  margin-top: calc(var(--size8) * 0.75);/* 6px */
}
@media screen and (max-width: 767px) {
  body.page.history .history-cnt .yyyymm {
    font-size: var(--size10);
  }
}
body.page.history .history-cnt .topic-img {
  width: calc(var(--size8) * 51); /* 40.8rem */
  height: calc(var(--size8) * 34); /* 27.2rem */
  aspect-ratio: 3 / 2;
  object-fit: cover;
}
@media screen and (max-width: 767px) {
  body.page.history .history-cnt .topic-img {
    width: 100%;
    height: auto;
  }
}
body.page.history .history-cnt .topic-img img {
  width: 100%;
  height: 100%;
  border-radius: var(--size20);
  overflow: hidden;
}
body.page.history .history-cnt .topic-ttl {
  color: #4E197C;
  text-align: justify;
  font-size: var(--size24);
  font-weight: 700;
  line-height: 170%; /* 4.08rem */
}
@media screen and (max-width: 767px) {
  body.page.history .history-cnt .topic-ttl {
    font-size: var(--size18);
  }
}
body.page.history .history-cnt .topic-dsc {
  display: flex;
  padding: var(--size32);
  justify-content: center;
  align-items: center;
  gap: var(--size10);
  align-self: stretch;
  border-radius: var(--size24);
  background: #FFFFFF;
}
@media screen and (max-width: 767px) {
  body.page.history .history-cnt .topic-dsc {
    padding: 5%;
  }
}
body.page.history .history-cnt .topic-txt {
  font-size: var(--size16);
  font-weight: 500;
  line-height: 170%; /* 2.72rem */
}
body.page.history .history-cnt .ttl {
  width: 100%;
  height: auto;
  gap: var(--size20);
  margin-bottom: var(--size42);
}
@media screen and (max-width: 767px) {
  body.page.history .history-cnt .ttl {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--size10);
    margin-bottom: var(--size20);
  }
}
body.page.history .history-cnt .ttl .jp {
  display: flex;
  padding: var(--size12) var(--size20);
  justify-content: center;
  align-items: center;
  gap: var(--size10);
  border-radius: var(--size12);
  background: linear-gradient(100deg, #6821A6 0%, #2128A6 102.49%);
  color: #FFFFFF;
  font-size: var(--size56);
  font-weight: 500;
  line-height: 100%; /* 5.6rem */
}
@media screen and (max-width: 767px) {
  body.page.history .history-cnt .ttl .jp {
    font-size: var(--size22);
  }
}
body.page.history .history-cnt .ttl .yyyy {
  font-family: var(--ff-m);
  font-size: var(--size36);
  font-weight: 500;
  line-height: 100%; /* 3.6rem */
  background: linear-gradient(149deg, #6F00CF 17.21%, #28ACEE 75.24%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media screen and (max-width: 767px) {
  body.page.history .history-cnt .ttl .yyyy {
    font-size: var(--size18);
  }
}

/* topic-cnt */
body.page.history .history-cnt .topic-cnt {
  flex: 1;
  gap: var(--size16);
}
body.page.history .history-cnt .topic-cnt .yyyymm {
  margin-bottom: var(--size12);
}
@media screen and (max-width: 767px) {
  body.page.history .history-cnt .topic-cnt .yyyymm {
    font-size: var(--size10);
  }
}
body.page.history .history-cnt .topic-cnt .topic-ttl {
  margin-bottom: var(--size10);
}

/* topic-dsc */
body.page.history .topic-dsc {
  margin-bottom: var(--size48);
}

/* topic-oth */
body.page.history .topic-oth {
  margin-top: var(--size48);
}
body.page.history .topic-oth .oth {
  margin-top: var(--size40);
  margin-bottom: var(--size40);
  gap: var(--size16);
}
body.page.history .topic-oth .oth:last-of-type {
  margin-bottom: 0;
}
@media screen and (max-width: 767px) {
  body.page.history .topic-oth .oth {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--size8);
  }
}


/* ===========================
07) contact
------------------------------ */
body.page.contact header .global-nav-lst li a {
  color: #FFFFFF;
}
body.page.contact header.active .global-nav-lst li a {
  color: #000000;
}
body.page.contact main {
  padding-top: 0;
}
body.page.contact .mv {
  position: relative;
  height: calc(var(--size8) * 52.5);
  background: url(/img/mv_contact.jpg) no-repeat center/cover;
  border-radius: 0 0 var(--size24) var(--size24);
}
@media screen and (max-width: 767px) {
  body.page.contact .mv {
    height: calc(var(--size8) * 30);
  }
}
body.page.contact .mv .inner {
  width: 100%;
  height: 100%;
}
body.page.contact .mv .inner .ttl {
  color: #FFFFFF;
}
body.page.contact .mv .inner .ttl .en {
  font-family: var(--ff-m);
  font-size: var(--size54);
  font-weight: 700;
  line-height: 100%;
  letter-spacing: 0.112rem;
  margin-bottom: var(--size12);
}
body.page.contact .mv .inner .ttl .jp {
  font-size: var(--size20);
  font-weight: 700;
  line-height: 100%;
  letter-spacing: 0.1rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  body.page.contact .mv .inner .ttl .en {
    font-size: var(--size32);
  }
  body.page.contact .mv .inner .ttl .jp {
    font-size: var(--size18);
  }
}
body.page.contact .form .inner {
  width: 100%;
  max-width: var(--size1000);
  height: auto;
  margin: 0 auto;
}
body.page.contact .form .inner .form-ttl {
  font-size: var(--size24);
  font-weight: 700;
  line-height: 170%; /* 4.08rem */
  margin-bottom: var(--size16);
}
@media screen and (max-width: 767px) {
  body.page.contact .form .inner .form-ttl {
    font-size: var(--size18);
  }
}
body.page.contact .form .inner .form-txt {
  font-size: var(--size16);
  font-weight: 400;
  line-height: 180%; /* 2.88rem */
  margin-bottom: var(--size80);
}
body.page.contact .form .inner .contact-form {
  width: 100%;
}
body.page.contact .form .inner .contact-form a {
  color: #222222;
}
body.page.contact .form .inner .contact-form .form-group {
  display: flex;
  flex-direction: row;
  column-gap: var(--size34);
  margin-bottom: var(--size40);
  position: relative;
}
@media screen and (max-width: 767px) {
  body.page.contact .form .inner .contact-form .form-group {
    flex-direction: column;
  }
}
body.page.contact .form .inner .contact-form .form-group label {
  width: calc(var(--size8) * 32);
  position: relative;
  font-size: var(--size16);
  font-weight: 700;
  line-height: 170%; /* 2.72rem */
  letter-spacing: 0.064rem;
}
@media screen and (max-width: 767px) {
  body.page.contact .form .inner .contact-form .form-group label {
    width: 100%;
    margin-bottom: var(--size8);
  }
}
body.page.contact .form .inner .contact-form .form-group .radio-group label {
  width: auto;
  margin-right: var(--size24);
}
body.page.contact .form .inner .contact-form .form-group label.req::after {
  content: '必須';
  display: flex;
  padding: calc(var(--size8) * 0.25) var(--size8);
  justify-content: center;
  align-items: center;
  color: #FFFFFF;
  text-align: center;
  font-size: var(--size14);
  font-weight: 700;
  line-height: 170%;
  border-radius: calc(var(--size8) / 4); /* 2px */
  background: #4F187D;
}
body.page.contact .form .inner .contact-form .form-group .input-wrapper {
  width: calc(100% - (var(--size8) * 32));
  position: relative;
  gap: var(--size12);
}
@media screen and (max-width: 767px) {
  body.page.contact .form .inner .contact-form .form-group .input-wrapper {
    width: 100%;
  }
}
body.page.contact .form .inner .contact-form .form-group .input-wrapper label {
  font-weight: 500;
}
body.page.contact .form .inner .contact-form .form-group .input-wrapper .txt {
  font-size: var(--size14);
}



/* ===========================
08) policy
------------------------------ */
body.page.policy .ttl-box {
  position: relative;
  width: 100%;
  max-width: var(--size1280);
  height: calc(var(--size8) * 34.25);
  margin: 0 auto;
}
body.page.policy .ttl-box .ttl {
  text-align: center;
}
body.page.policy .ttl-box .ttl .en {
  text-align: center;
  font-family: var(--ff-m);
  font-size: var(--size24);
  font-style: normal;
  font-weight: 700;
  line-height: 100%; /* 2.4rem */
  letter-spacing: 0.096rem;
  background: linear-gradient(149deg, #6F00CF 17.21%, #28ACEE 75.24%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
body.page.policy .ttl-box .ttl .jp {
  color: #1A1924;
  text-align: center;
  font-size: var(--size36);
  font-style: normal;
  font-weight: 700;
  line-height: 140%; /* 5.04rem */
}
body.page.policy .policy-info .inner {
  position: relative;
  width: 100%;
  max-width: var(--size1000);
  height: auto;
  margin-right: auto;
  margin-left: auto;
}
body.page.policy .policy-info .inner h3 {
  font-size: var(--size20);
  font-weight: 700;
  line-height: 150%; /* 3rem */
}
body.page.policy .policy-info .inner p {
  margin-top: var(--size12);
  margin-bottom: var(--size12);
  line-height: 150%; /* 2.7rem */
}
body.page.policy .policy-info .inner .policy-txt {
  margin-top: var(--size40);
  margin-bottom: var(--size40);
}
body.page.policy .policy-info .inner .policy-txt h4 {
  font-size: var(--size18);
  font-weight: 700;
  line-height: 150%; /* 2.7rem */
}
body.page.policy .policy-info .inner .policy-txt p {
  margin-top: var(--size12);
  margin-bottom: var(--size12);
  line-height: 150%; /* 2.7rem */
}
body.page.policy .policy-info .inner .policy-txt ul {
  list-style-type: disc;
  margin-top: var(--size12);
  margin-bottom: var(--size12);
  padding-left: var(--size20);
  line-height: 150%; /* 2.7rem */
}
body.page.policy .policy-info .inner .policy-txt ol {
  list-style-type: decimal;
  margin-top: var(--size12);
  margin-bottom: var(--size12);
  padding-left: var(--size20);
  line-height: 150%; /* 2.7rem */
}
