@charset "utf-8";
/* index ====================
common
00) body
01) header
02) main
03) footer
04) table of contents
05) pagination
06) btn
07) page
08) pankuzu
- - - - - - - - - - - - - - -
page
00) home
01) news
02) about
03) company
04) business
04-01) business01
04-02) business02
04-03) business03
04-04) business04
05) recruit
10) contact
99) policy
----------------------------- */



/* ==========================
00) body
----------------------------- */
body {
  background-color: var(--common_main_bgcolor);
}



/* ==========================
01) header
----------------------------- */
header {
  width: 100%;
  height: var(--common_header_height);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
}
@media screen and (max-width: 767px) {
  header {
    background-color: #FFFFFF;
  }
}
body.home header,
body.page header.active {
  background-color: #FFFFFF;
}
header .inner {
  width: 100%;
  height: 100%;
  position: relative;
}
@media screen and (max-width: 767px) {
  header .inner {
    padding-right: 5%;
    padding-left: 2.5%;
  }
}
header .inner .logo img {
  margin-left: var(--s40);
  width: calc(var(--s8) * 38); /* 304px */
  height: auto;
}
@media screen and (max-width: 767px) {
  header .inner .logo img {
    margin-left: 0;
    width: calc(var(--s8) * 27); /* 216px */
    height: auto;
  }
}
header .inner .gnav {
  width: calc(var(--s8) * 102); /* 816px */
  height: 100%;
  column-gap: var(--s40);
}
@media screen and (max-width: 767px) {
  header .inner .gnav {
    position: fixed;
    top: var(--common_header_height);
    left: -100vw;
    width: 100vw;
    height: calc(100vh - var(--common_header_height));
    background-color: #FFFFFF;
    z-index: 1000;
    flex-direction: column;
    row-gap: var(--s32);
    justify-content: center;
    transition: all 0.3s ease;
  }
  header .inner .gnav.active {
    left: 0;
  }
}
@media screen and (max-width: 320px) {
  header .inner .gnav {
    row-gap: var(--s16);
  }
}
header .inner .gnav .lst {
  width: calc(var(--s8) * 66); /* 528px */
  column-gap: var(--s40);
}
@media screen and (max-width: 767px) {
  header .inner .gnav .lst {
    width: 100%;
    height: auto;
    padding: var(--s40) var(--s32) 0 var(--s40);
    flex-direction: column;
    row-gap: var(--s32);
  }
}
@media screen and (max-width: 320px) {
  header .inner .gnav .lst {
    row-gap: var(--s16);
  }
}
header .inner .gnav .lst .itm a {
  color: var(--common-color);
  font-size: var(--s16);
  font-weight: 700;
  line-height: 100%; /* 1.6rem */
  display: inline-block;
  position: relative;
  padding-top: var(--s8);
  padding-bottom: var(--s8);
}
header .inner .gnav .lst .itm a .c_bar {
  display: block;
  width: 100%;
  height: 1px;
  background: linear-gradient(90deg, rgba(255, 251, 143, 1) 0%, rgba(118, 218, 255, 1) 25%, rgba(0, 68, 184, 1) 50%, rgba(118, 218, 255, 1) 75%, rgba(255, 251, 143, 1) 100%);
  position: absolute;
  bottom: 0;
  left: 0;
  transform: scaleX(0);
  transform-origin: center;
  transition: all 0.3s ease;
}
header .inner .gnav .lst .itm a:hover .c_bar {
  transform: scaleX(1);
  transition: all 0.3s ease;
}
body.about header .inner .gnav .lst .itm.about a .c_bar,
body.business header .inner .gnav .lst .itm.business a .c_bar,
body.business01 header .inner .gnav .lst .itm.business a .c_bar,
body.business02 header .inner .gnav .lst .itm.business a .c_bar,
body.business03 header .inner .gnav .lst .itm.business a .c_bar,
body.business04 header .inner .gnav .lst .itm.business a .c_bar,
body.company header .inner .gnav .lst .itm.company a .c_bar,
body.recruit header .inner .gnav .lst .itm.recruit a .c_bar,
body.news header .inner .gnav .lst .itm.news a .c_bar,
body.single-news header .inner .gnav .lst .itm.news a .c_bar {
  transform: scaleX(1);
  transition: all 0.3s ease;
}
header .inner .gnav .lng-btn {
  gap: 0;
}
header .inner .gnav .lng-btn a {
  display: flex;
  width: var(--s26);
  height: var(--s26);
  aspect-ratio: 1 / 1;
  justify-content: center;
  align-items: center;
  border: 1px solid rgba(0,0,0,0);
  border-radius: 50%;
  color: #8D8D8D;
  font-family: Poppins, sans-serif;
  font-size: var(--s14);
  font-weight: 500;
  line-height: 100%; /* 1.4rem */
}
header .inner .gnav .lng-btn a.current {
  color: var(--common_keycolor);
  border: 1px solid var(--common_keycolor);
  border-radius: 50%;
}
header .inner .gnav .cnt-btn {
  width: calc(var(--s8) * 19.25); /* 154px */
  height: 100%;
  background-color: var(--common_keycolor);
}
@media screen and (max-width: 767px) {
  header .inner .gnav .cnt-btn {
    width: calc(100% - var(--s64));
    height: calc(var(--s8) * 10); /* 80px */
    margin: 0 var(--s32) var(--s40) var(--s32);
    border-radius: var(--s40);
  }
}
header .inner .gnav .cnt-btn a {
  display: block;
  width: 100%;
  height: 100%;
  color: #FFFFFF;
  text-align: center;
  font-size: var(--s16);
  font-weight: 700;
  line-height: 100%; /* 1.6rem */
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 767px) {
  header .inner .gnav .cnt-btn a::after {
    content: "";
    width: var(--s20);
    height: var(--s20);
    margin-left: var(--s8);
    background-image: url(../img/bg_btnA_arrow_w.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
  }
}

/* .hamburger-btn */
header .inner .hamburger-btn {
  width: var(--s40);
  height: var(--s22);
  position: relative;
  cursor: pointer;
}
header .inner .hamburger-btn span.bar {
  display: block;
  width: calc(var(--s8) * 5); /* 40px */
  height: var(--s2);
  background-color: var(--common_keycolor);
  border-radius: var(--s2);
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  transition: all 0.3s ease;
}
header .inner .hamburger-btn span.bar1 {
  top: 0;
}
header .inner .hamburger-btn span.bar2 {
  top: 50%;
  transform: translate(-50%, -50%);
}
header .inner .hamburger-btn span.bar3 {
  bottom: 0;
}
header .inner .hamburger-btn.active span.bar1 {
  transform: translateX(-50%) rotate(30deg);
  top: 50%;
}
header .inner .hamburger-btn.active span.bar2 {
  opacity: 0;
}
header .inner .hamburger-btn.active span.bar3 {
  transform: translateX(-50%) rotate(-30deg);
  top: 50%;
}



/* ==========================
02) main
----------------------------- */
main {
  width: 100%;
  height: auto;
}
main section {
  width: 100%;
  height: auto;
  scroll-margin-top: var(--common_header_height);
}
@media screen and (max-width: 767px) {
  body.page main section {
    width: 100%;
    padding-right: 2.5%;
    padding-left: 2.5%;
  }
}
main section.mb120 {
  margin-bottom: var(--s120);
}
main section.mb80 {
  margin-bottom: var(--s80);
}
main section article {
  width: 100%;
  max-width: var(--s1200);
  margin: 0 auto;
  height: auto;
}
main section article.w1080 {
  width: 100%;
  max-width: var(--s1080);
  margin: 0 auto;
  height: auto;
}
@media screen and (max-width: 767px) {
  main section article.w1080 {
    padding-right: 2.5%;
    padding-left: 2.5%;
  }
}
main section article.mb40 {
  margin-bottom: var(--s40)!important;
}



/* ==========================
03) footer
----------------------------- */
footer {
  width: 100%;
  height: auto;
  padding-top: calc(var(--s8) * 14.375); /* 115px */
  background:
  url(../img/bg_footer_line.svg) no-repeat left top var(--s30) / calc(var(--s8) * 165) calc(var(--s8) * 62.25),
  linear-gradient(180deg, rgba(230, 240, 247, 0.00) 0%, rgba(230, 240, 247, 0.80) 50%, #E6F0F7 100%);
}
@media screen and (max-width: 767px) {
  footer {
    background:
    url(../img/bg_footer_line.svg) no-repeat left calc(var(--s8) * -30) top var(--s30) / calc(var(--s8) * 165) calc(var(--s8) * 62.25),
    linear-gradient(180deg, rgba(230, 240, 247, 0.00) 0%, rgba(230, 240, 247, 0.80) 50%, #E6F0F7 100%);
  }
}
footer .inner {
  width: 100%;
  max-width: var(--s1200);
  height: auto;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  footer .inner {
    flex-direction: column;
    padding-right: 5%;
    padding-left: 5%;
  }
  footer .catch-cnt .catch {
    width: 100%;
  }
}
footer .catch-cnt .catch .ttl {
  color: var(--common_keycolor);
  font-feature-settings: 'palt' on;
  font-family: "Noto Sans JP";
  font-size: var(--s52);
  font-style: normal;
  font-weight: 700;
  line-height: 115%; /* 5.98rem */
  letter-spacing: 0.416rem;
  margin-bottom: var(--s20);
}
@media screen and (max-width: 767px) {
  footer .catch-cnt .catch .ttl {
    font-size: var(--s40);
  }
}
footer .catch-cnt .catch .txt {
  color: var(--common_keycolor);
  font-size: var(--s18);
  font-weight: 500;
  line-height: 170%; /* 3.06rem */
}
footer .catch-cnt .cnt {
  padding-right: calc(var(--s8) * 7.25); /* 58px */
}
@media screen and (max-width: 767px) {
  footer .catch-cnt .cnt {
    width: 100%;
    padding-right: 0;
  }
}
footer .catch-cnt .cnt .btn {
  display: flex;
  width: calc(var(--s8) * 50); /* 400px */
  height: calc(var(--s8) * 10); /* 80px */
  padding: calc(var(--s8) * 4.75);
  justify-content: center;
  align-items: center;
  border-radius: calc(var(--s8) * 10.5); /* 84px */
  gap: var(--s12);
  flex-shrink: 0;
  margin-bottom: var(--s20);
}
footer .catch-cnt .cnt .cnt-btn .btn {
  color: #FFF;
  font-size: var(--s20);
  font-weight: 700;
  line-height: 100%; /* 2rem */
  background: var(--common_keycolor);
  backdrop-filter: blur(2px);
}
@media screen and (max-width: 767px) {
  footer .catch-cnt .cnt .cnt-btn .btn {
    font-size: var(--s16);
    width: 100%;
  }
}
footer .catch-cnt .cnt .cnt-btn .btn::after {
  content: "";
  width: var(--s24);
  height: var(--s24);
  background-image: url(../img/bg_footer_cnt-btn.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  border-radius: 50%;
  transition: all 0.3s ease;
}
footer .catch-cnt .cnt .cnt-btn .btn:hover::after {
  transform: scale(1.15);
}
footer .catch-cnt .cnt .tel-btn .btn {
  color: var(--common_keycolor);
  font-family: var(--ff-p);
  font-size: var(--s28);
  font-weight: 500;
  line-height: 100%; /* 2.8rem */
  background: #FFF;
  backdrop-filter: blur(2px);
}
@media screen and (max-width: 767px) {
  footer .catch-cnt .cnt .tel-btn .btn {
    width: 100%;
    font-size: var(--s22);
  }
}
footer .catch-cnt .cnt .tel-btn .btn::before {
  content: "";
  width: var(--s26);
  height: var(--s26);
  background-image: url(../img/bg_footer_tel-btn.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  transition: all 0.3s ease;
}
footer .catch-cnt .cnt .tel-btn .btn:hover::before {
  transform: scale(1.15);
}
footer .logo-adr-smap {
  padding-top: calc(var(--s8) * 31.25); /* 250px */
  padding-bottom: calc(var(--s8) * 8.5); /* 68px */
}
@media screen and (max-width: 767px) {
  footer .logo-adr-smap {
    padding-top: calc(var(--s8) * 15.625); /* 125px */
  }
}
footer .logo-adr-smap .logo-adr .logo {
  margin-bottom: var(--s24);
}
footer .logo-adr-smap .logo-adr .logo img {
  width: var(--s300);
  height: auto;
}
footer .logo-adr-smap address {
  font-size: var(--s16);
  font-style: normal;
  font-weight: 500;
  line-height: 170%; /* 2.72rem */
}
footer .logo-adr-smap .smap .grid {
  display: grid;
  grid-template-columns: max-content max-content max-content;
  grid-template-rows: repeat(3, max-content);
  grid-column-gap: var(--s72);
  grid-row-gap: var(--s40);
}
footer .logo-adr-smap .smap .grid .itm1 { grid-area: 1 / 1 / 2 / 2; }
footer .logo-adr-smap .smap .grid .itm2 { grid-area: 2 / 1 / 3 / 2; }
footer .logo-adr-smap .smap .grid .itm3 { grid-area: 3 / 1 / 4 / 2; }
footer .logo-adr-smap .smap .grid .itm4 { grid-area: 1 / 2 / 4 / 3; }
footer .logo-adr-smap .smap .grid .itm5 { grid-area: 1 / 3 / 2 / 4; }
footer .logo-adr-smap .smap .grid .itm6 { grid-area: 2 / 3 / 3 / 4; }
footer .logo-adr-smap .smap .grid .itm7 { grid-area: 3 / 3 / 4 / 4; }
@media screen and (max-width: 767px) {
  footer .logo-adr-smap .smap {
    margin-top: var(--s64);
    width: 100%;
  }
  footer .logo-adr-smap .smap .grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(3, 1fr);
    grid-column-gap: 0px;
    grid-row-gap: var(--s40);
  }
  footer .logo-adr-smap .smap .grid .itm1 { grid-area: 1 / 1 / 2 / 2; }
  footer .logo-adr-smap .smap .grid .itm2 { grid-area: 2 / 1 / 3 / 2; }
  footer .logo-adr-smap .smap .grid .itm4 { grid-area: 1 / 2 / 2 / 3; }
  footer .logo-adr-smap .smap .grid .itm5 { grid-area: 2 / 2 / 3 / 3; }
  footer .logo-adr-smap .smap .grid .itm6 { grid-area: 3 / 1 / 4 / 2; }
  footer .logo-adr-smap .smap .grid .itm7 { grid-area: 3 / 2 / 4 / 3; }
}
footer .logo-adr-smap .smap .grid .itm .en {
  display: block;
  color: #333;
  font-family: var(--ff-p);
  font-size: var(--s22);
  font-weight: 500;
  line-height: 100%; /* 2.2rem */
  margin-bottom: var(--s8);
}
footer .logo-adr-smap .smap .grid .itm .jp {
  display: block;
  color: var(--common_keycolor);
  font-size: var(--s14);
  font-weight: 700;
  line-height: 100%; /* 1.4rem */
}
footer .logo-adr-smap .smap .grid .itm .sub-menu .sub-itm {
  margin-top: var(--s24);
}
@media screen and (max-width: 767px) {
  footer .logo-adr-smap .smap .grid .itm .sub-menu {
    display: none;
  }
}
footer .logo-adr-smap .smap .grid .itm .sub-menu .sub-itm a {
  display: block;
  color: #333;
  font-size: var(--s14);
  font-weight: 500;
  line-height: 100%; /* 1.4rem */
}
footer .privacy-copyright {
  padding-bottom: var(--s24);
  font-size: var(--s12);
  font-style: normal;
  font-weight: 500;
  line-height: 100%; /* 1.2rem */
  gap: var(--s12);
}
footer .privacy-copyright .privacy a {
  color: #333;
}



/* ==========================
04) table of contents
----------------------------- */
/* .tblA */
.tblA {
  width: 100%;
  height: auto;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: stretch;
  border-top: 1px solid #E4E4E4;
  margin-bottom: var(--s48);
}
@media screen and (max-width: 767px) {
  .tblA {
    flex-direction: column;
  }
}
.tblA:last-of-type {
  margin-bottom: 0;
}
.tblA .tbl-ttl {
  height: auto;
  padding: var(--s14) var(--s16);
  border-bottom: 1px solid #E4E4E4;
  color: var(--common_keycolor);
  font-weight: 700;
  line-height: 150%; /* 2.4rem */
  background: #E6F0F7;
}
.tblA .tbl-ttl small {
  display: block;
  font-size: var(--s14);
}
.tblA.w180 .tbl-ttl {
  width: calc(var(--s8) * 22.5); /* 180px */
  display: flex;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .tblA.w180 .tbl-ttl {
    width: 100%;
  }
}
.tblA.w180 .tbl-ttl.noflex {
  display: block;
}
.tblA.w360 .tbl-ttl {
  width: calc(var(--s8) * 45); /* 360px */
  display: flex;
  align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .tblA.w360 .tbl-ttl {
    width: 100%;
  }
}
.tblA .tbl-cnt {
  height: auto;
  padding: var(--s14);
  border-bottom: 1px solid #E4E4E4;
}
.tblA .tbl-cnt small {
  font-size: var(--s12);
}
.tblA .tbl-cnt sub {
  font-size: var(--s12);
	vertical-align: bottom;
	position: relative;
	bottom: -0.05em;
}
.tblA.w180 .tbl-cnt {
  width: calc(100% - var(--s8) * 22.5); /* 180px */
  font-size: var(--s15);
}
@media screen and (max-width: 767px) {
  .tblA.w180 .tbl-cnt {
    width: 100%;
  }
}
.tblA.w360 .tbl-cnt {
  width: calc(100% - var(--s8) * 45); /* 360px */
  font-size: var(--s16);
}
@media screen and (max-width: 767px) {
  .tblA.w360 .tbl-cnt {
    width: 100%;
  }
}

/* .tblB */
.tblB {
  width: 100%;
  height: auto;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: stretch;
  overflow: hidden;
  border-radius: var(--s4);
  border: 1px solid #E4E4E4;
  margin-bottom: var(--s48);
}
.tblB.mb0 {
  margin-bottom: 0;
}
.tblB .tbl-ttl {
  width: 50%;
  height: auto;
  padding: var(--s10);
  color: #FFF;
  text-align: center;
  font-size: var(--s16);
  font-weight: 700;
  line-height: 150%; /* 2.4rem */
  border-bottom: 1px solid #E4E4E4;
  background: var(--common_keycolor);
}
@media screen and (max-width: 767px) {
  .tblB .tbl-ttl {
    width: 40%;
    font-size: var(--s14);
  }
}
.tblB .tbl-cnt {
  width: 50%;
  height: auto;
  padding: var(--s10);
  text-align: center;
  font-size: var(--s16);
  font-weight: 500;
  line-height: 150%; /* 2.4rem */
  border-bottom: 1px solid #E4E4E4;
}
@media screen and (max-width: 767px) {
  .tblB .tbl-cnt {
    width: 60%;
    font-size: var(--s14);
  }
}

/* tblC */
.tblC {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  grid-template-rows: repeat(5, 1fr);
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  margin-bottom: var(--s48);
  border: 1px solid #E4E4E4;
  overflow-x: auto;
}
.tblC .col1 { grid-area: 1 / 1 / 2 / 2; }
.tblC .col2 { grid-area: 2 / 1 / 3 / 2; }
.tblC .col3 { grid-area: 3 / 1 / 4 / 2; }
.tblC .col4 { grid-area: 4 / 1 / 5 / 2; }
.tblC .col5 { grid-area: 5 / 1 / 6 / 2; }
.tblC .col6 { grid-area: 1 / 2 / 2 / 3; }
.tblC .col7 { grid-area: 1 / 3 / 2 / 4; }
.tblC .col8 { grid-area: 1 / 4 / 2 / 5; }
.tblC .col9 { grid-area: 1 / 5 / 2 / 6; }
.tblC .col10 { grid-area: 2 / 2 / 3 / 3; }
.tblC .col11 { grid-area: 2 / 3 / 3 / 4; }
.tblC .col12 { grid-area: 2 / 4 / 3 / 5; }
.tblC .col13 { grid-area: 2 / 5 / 3 / 6; }
.tblC .col14 { grid-area: 3 / 2 / 4 / 3; }
.tblC .col15 { grid-area: 3 / 3 / 4 / 4; }
.tblC .col16 { grid-area: 3 / 4 / 4 / 5; }
.tblC .col17 { grid-area: 3 / 5 / 4 / 6; }
.tblC .col18 { grid-area: 4 / 2 / 5 / 3; }
.tblC .col19 { grid-area: 4 / 3 / 5 / 4; }
.tblC .col20 { grid-area: 4 / 4 / 5 / 5; }
.tblC .col21 { grid-area: 4 / 5 / 5 / 6; }
.tblC .col22 { grid-area: 5 / 2 / 6 / 3; }
.tblC .col23 { grid-area: 5 / 3 / 6 / 4; }
.tblC .col24 { grid-area: 5 / 4 / 6 / 5; }
.tblC .col25 { grid-area: 5 / 5 / 6 / 6; }
.tblC .tbl-ttl1 {
  display: flex;
  padding: var(--s10);
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: var(--s10);
  flex: 1 0 0;
  align-self: stretch;
  background: var(--common_keycolor);
  color: #FFF;
  text-align: center;
  font-size: var(--s16);
  font-weight: 700;
  line-height: 150%; /* 2.4rem */
  border: 1px solid #E4E4E4;
}
@media screen and (max-width: 767px) {
  .tblC .tbl-ttl1 {
    font-size: var(--s12);
  }
}
.tblC .tbl-ttl2 {
  display: flex;
  padding: var(--s10);
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: var(--s10);
  flex: 1 0 0;
  align-self: stretch;
  text-align: center;
  font-style: normal;
  font-weight: 700;
  line-height: 100%; /* 1.4rem */
  border: 1px solid #E4E4E4;
  background: #E6F0F7;
}
@media screen and (max-width: 767px) {
  .tblC .tbl-ttl2 {
    font-size: var(--s12);
  }
}
.tblC .tbl-ttl2 small {
  display: block;
  align-items: center;
  font-size: var(--s14);
  font-weight: 700;
  line-height: 150%;
}
@media screen and (max-width: 767px) {
  .tblC .tbl-ttl2 small {
    font-size: var(--s10);
  }
}
.tblC .tbl-cnt {
  display: flex;
  padding: var(--s10);
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: var(--s10);
  flex: 1 0 0;
  align-self: stretch;
  text-align: center;
  font-weight: 500;
  line-height: 150%; /* 2.4rem */
  border: 1px solid #E4E4E4;
}
@media screen and (max-width: 767px) {
  .tblC .tbl-ttl2 {
    font-size: var(--s14);
  }
}

/* tblD */
.tblD {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
/*
  grid-template-rows: repeat(5, 1fr);
*/
  grid-template-rows: repeat(2, 1fr);
  grid-column-gap: var(--s8);
  grid-row-gap: var(--s8);
}
.tblD .col1 { grid-area: 1 / 1 / 2 / 2; }
.tblD .col2 { grid-area: 1 / 2 / 2 / 3; }
.tblD .col3 { grid-area: 1 / 3 / 2 / 4; }
.tblD .col4 { grid-area: 2 / 1 / 3 / 2; }
.tblD .col5 { grid-area: 2 / 2 / 3 / 3; }
.tblD .col6 { grid-area: 2 / 3 / 3 / 4; }
.tblD .col {
  display: flex;
  padding: var(--s10);
  justify-content: center;
  align-items: center;
  align-content: center;
  gap: var(--s10);
  flex-wrap: wrap;
  border: 1px solid var(--Font-Base-40, #A1A1A1);
  font-weight: 500;
  line-height: 200%; /* 3.2rem */
}
.tblD .col.none {
  display: none;
}



/* ==========================
05) pagination
----------------------------- */
.pagination-box {
  width: 100%;
  height: auto;
  font-size: var(--s16);
}
.pagination-box .page-numbers {
  gap: var(--s12);
}
.pagination-box .page-numbers li .page-numbers {
  display: block;
  padding: var(--s4) var(--s16);
  border-radius: var(--s60);
  border: 1px solid #083D85;
  background-color: #FFFFFF;
  color: #000000;
  transition: all 0.3s ease;
}
.pagination-box .page-numbers li .page-numbers:hover {
  background-color: #083D85;
  color: #FFFFFF;
}
.pagination-box .page-numbers li .page-numbers.current {
  background-color: #083D85;
  color: #FFFFFF;
}



/* ==========================
06) btn
----------------------------- */
/* typeA */
.btnA {
  display: flex;
  width: calc(var(--s8) * 24); /* 192px */
  height: var(--s48);
  justify-content: center;
  align-items: center;
  gap: var(--s12);
  align-self: stretch;
  border-radius: var(--s24);
  background: var(--common_keycolor);
  color: #FFF !important;
  text-align: center;
  font-size: var(--s16);
  font-weight: 700;
  line-height: 100%; /* 1.6rem */
}
.btnA::after {
  content: "";
  width: var(--s20);
  height: var(--s20);
  background-image: url(../img/bg_btnA_arrow_w.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  border-radius: 50%;
  transition: all 0.3s ease;
}
.btnA:hover::after {
  transform: scale(1.15);
}

/* typeB */
.btnB {
  display: flex;
  width: 100%;
  height: 100%;
  justify-content: center;
  align-items: center;
  color: var(--common_keycolor);
  font-size: var(--s16);
  font-style: normal;
  font-weight: 700;
  line-height: 100%; /* 1.6rem */
  background-image: url(../img/bg_btnB_arrow_b.svg);
  background-repeat: no-repeat;
  background-size: var(--s24) var(--s24);
  background-position: center right var(--s16);
  transition: all 0.3s ease;
}
.btnB:hover {
  background-color: var(--common_keycolor);
  color: #FFF;
  background-image: url(../img/bg_btnB_arrow_w.svg);
  background-repeat: no-repeat;
  background-position: center right var(--s16);
}



/* ==========================
07) page
----------------------------- */
body.page {
  padding-top: var(--common_header_height);
  background-image: url(../img/bg_page_body.png);
  background-repeat: no-repeat;
  background-position: top right;
  background-size: calc(var(--s8) * 91) calc(var(--s8) * 81.25);
}

/* .ttl-boxA */
body.page .ttl-boxA {
  width: 100%;
  max-width: var(--s1200);
  padding: calc(var(--s8) * 12.5) 0 calc(var(--s8) * 9.5) 0;
}
body.page .ttl-boxA .ttl .en {
  color: var(--common_keycolor);
  font-family: var(--ff-p);
  font-size: calc(var(--s8) * 8.125); /* 65px */
  font-weight: 500;
  line-height: 100%; /* 6.5rem */
}
@media screen and (max-width: 767px) {
  body.page .ttl-boxA .ttl .en {
    font-size: calc(var(--s8) * 6); /* 48px */
  }
}
body.page .ttl-boxA .ttl .jp {
  color: var(--common_keycolor);
  font-size: var(--s24);
  font-weight: 500;
  line-height: 100%; /* 2.4rem */
  display: flex;
  align-items: center;
  column-gap: var(--s6);
  margin-top: var(--s12);
}
body.page.en-US .ttl-boxA .ttl .jp {
  display: none;
}
@media screen and (max-width: 767px) {
  body.page .ttl-boxA .ttl .jp {
    font-size: var(--s16);
    margin-top: var(--s8);
  }
}
body.page .ttl-boxA .ttl .jp::before {
  content: "";
  width: var(--s14);
  height: var(--s14);
  background: linear-gradient(150deg, rgba(12, 162, 255, 0.77) 13.88%, rgba(0, 67, 194, 0.77) 79.27%);
  border-radius: 50%;
}

/* .ttl-boxB */
body.page .ttl-boxB {
  width: 100%;
  max-width: var(--s1200);
  padding: calc(var(--s8) * 10.75) 0 var(--s30) 0;
}
body.page .ttl-boxB .ttl .en {
  color: var(--common_keycolor);
  font-family: var(--ff-p);
  font-size: var(--s18);
  font-weight: 500;
  line-height: 100%;
  margin-bottom: var(--s24);
  display: flex;
  align-items: center;
  column-gap: var(--s6);
}
body.page .ttl-boxB .ttl .en::before {
  content: "";
  width: var(--s14);
  height: var(--s14);
  background: linear-gradient(150deg, rgba(12, 162, 255, 0.77) 13.88%, rgba(0, 67, 194, 0.77) 79.27%);
  border-radius: 50%;
}
body.page .ttl-boxB .ttl .jp {
  color: var(--common_keycolor);
  font-feature-settings: 'palt' on;
  font-size: var(--s40);
  font-weight: 700;
  line-height: 100%; /* 2.4rem */
}

/* .ttl-boxC */
body.page .ttl-boxC {
  width: 100%;
  max-width: var(--s1200);
  margin: 0 auto var(--s40) auto;
}
body.page .ttl-boxC .ttl {
  display: flex;
  padding: 12px 24px;
  align-items: center;
  gap: 10px;
  align-self: stretch;
  color: var(--common_keycolor);
  font-size: var(--s24);
  font-weight: 700;
  line-height: 100%; /* 2.4rem */
  border-radius: var(--s4);
  background: linear-gradient(90deg, #E6F0F7 50%, #C0DDF2 100%);
}
@media screen and (max-width: 767px) {
  body.page .ttl-boxC .ttl {
    font-size: var(--s18);
  }
}
body.page .ttl-boxC .ttl::before {
  content: "";
  width: var(--s8);
  height: var(--s36);
  border-radius: var(--s2);
  background: linear-gradient(180deg, #0044B8 0%, #76DAFF 42.88%, #EFFF76 100%);
}

/* ttl-boxD */
body.page .ttl-boxD {
  width: 100%;
  height: auto;
}
body.page .ttl-boxD .ttl {
  color: var(--common_keycolor);
  font-size: var(--s22);
  font-weight: 700;
  line-height: 150%; /* 3.3rem */
  margin-bottom: var(--s12);
  column-gap: var(--s40);
}
@media screen and (max-width: 767px) {
  body.page .ttl-boxD .ttl {
    font-size: var(--s18);
  }
}

body.page .ttl-boxD .ttl span {
  color: var(--common_color);
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 200%; /* 3.2rem */
}

/* ttl-boxE */
body.page .ttl-boxE {
  width: 100%;
  height: auto;
}
body.page .ttl-boxE .ttl {
  color: var(--common_keycolor);
  font-size: var(--s20);
  font-weight: 700;
  line-height: 150%; /* 3rem */
}

/* ttl-boxF */
body.page .ttl-boxF {
  width: 100%;
  height: auto;
}
body.page .ttl-boxF .ttl {
  color: #FFFFFF;
  text-align: center;
  font-size: var(--s36);
  font-weight: 700;
  line-height: 150%; /* 5.4rem */
}
@media screen and (max-width: 320px) {
  body.page .ttl-boxF .ttl {
    font-size: var(--s28);
  }
}

/* .mv */
body.page .mv .mv-img {
  width: calc(100% - ((100% - var(--s1200)) / 2));
  height: calc(var(--s8) * 57.5); /* 460px */
  margin: auto 0 auto auto;
  background-color: #EEEEEE;
  background-size: cover;
  background-position: center;
  border-radius: var(--s12) 0 0 var(--s12);
}
@media screen and (max-width: 1440px) {
  body.page .mv .mv-img {
    width: 92%;
  }
}
@media screen and (max-width: 767px) {
  body.page .mv .mv-img {
    width: calc(100% - 2.5%);
    height: auto;
    /* aspect-ratio: 1320 / 460; */
    aspect-ratio: 16 / 9;
  }
}
body.about .mv .mv-img {
  background-image: url(../img/bg_page_mv_about.jpg);
}
body.company .mv .mv-img {
  background-image: url(../img/bg_page_mv_company.jpg);
}
body.business .mv .mv-img {
  background-image: url(../img/bg_page_mv_business.jpg);
}
body.recruit .mv .mv-img {
  background-image: url(../img/bg_page_mv_recruit.jpg);
}

/* .lnk-lst */
body.page .lnk-lst .inner {
  margin: var(--s80) auto;
  width: 100%;
  max-width: var(--s1200);
  height: auto;
}
body.page .lnk-lst .inner .lnk-lst-box {
  width: 100%;
  height: calc(var(--s8) * 8.25); /* 66px */
}
@media screen and (max-width: 767px) {
  body.page .lnk-lst .inner .lnk-lst-box {
    flex-direction: column;
    height: auto;
  }
}
body.page .lnk-lst .inner .lnk-lst-box .itm {
  width: calc(100% / 3);
  height: 100%;
  border: 1px solid #FFF;
  background: #E6F0F7;
}
@media screen and (max-width: 767px) {
  body.page .lnk-lst .inner .lnk-lst-box .itm {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  body.page .lnk-lst .inner .lnk-lst-box .itm a {
    padding-top: var(--s16);
    padding-bottom: var(--s16);
  }
}

/* .page-leadA */
body.page .page-leadA .inner {
  margin: 0 auto;
  width: 100%;
  max-width: var(--s1200);
  height: auto;
}
body.page .page-leadA .inner .page-lead-ttl {
  font-size: var(--s32);
  font-weight: 700;
  line-height: 150%; /* 4.8rem */
  margin-bottom: var(--s12);
}
@media screen and (max-width: 767px) {
  body.page .page-leadA .inner .page-lead-ttl {
    font-size: var(--s22);
  }
}
@media screen and (max-width: 320px) {
  body.page .page-leadA .inner .page-lead-ttl {
    font-size: var(--s20);
  }
}
body.page .page-leadA .inner .page-lead-txt {
  font-weight: 500;
  line-height: 180%; /* 2.88rem */
}

/* .page-leadB */
body.page .page-leadB .inner {
  margin: var(--s80) auto;
  width: 100%;
  max-width: var(--s1200);
  height: auto;
}
body.page .page-leadB .inner .page-lead-txt {
  font-weight: 500;
  line-height: 200%; /* 3.2rem */
}

/* .lst-boxA */
body.page .lst-boxA {
  width: 100%;
  height: auto;
  margin-bottom: var(--s40);
  padding: var(--s32);
  align-self: stretch;
  border-radius: var(--s4);
  background: #E6F0F7;
}
@media screen and (max-width: 767px) {
  body.page .lst-boxA {
    padding: 5%;
  }
}
body.page .lst-boxA .lstA {
  font-weight: 500;
  line-height: 180%; /* 2.88rem */
  margin-left: var(--s24);
}
body.page .lst-boxA .lstA .itm {
  padding-bottom: var(--s4);
}
body.page .lst-boxA .lstA .itm:last-child {
  padding-bottom: 0;
}
body.page .lst-boxA .lstA {
  list-style: none;
  margin: 0;
  padding: 0;
}
body.page .lst-boxA .lstA .itm {
  position: relative;
  padding-left: 1.2em;
  line-height: 1.8;
}
body.page .lst-boxA .lstA .itm::before {
  content: "●";
  position: absolute;
  left: 0;
  top: 0.1em;
  color: var(--common_keycolor);
  font-weight: 500;
}

/* .lst-boxB */
body.page .lst-boxB .lstB {
  font-weight: 500;
  line-height: 180%; /* 2.88rem */
  margin-left: var(--s24);
}
body.page .lst-boxB .lstB {
  list-style: none;
  margin: 0;
  padding: 0;
}
body.page .lst-boxB .lstB .itm {
  position: relative;
  padding-left: 1.2em;
  line-height: 1.8;
}
body.page .lst-boxB .lstB .itm::before {
  content: "●";
  position: absolute;
  left: 0;
  top: 0;
  color: #FFFFFF;
  font-weight: 500;
}

/* .lst-boxC */
body.page .lst-boxC .lstC {
  font-weight: 500;
  line-height: 180%; /* 2.88rem */
  margin-left: var(--s24);
}
body.page .lst-boxC .lstC {
  list-style: none;
  margin: 0;
  padding: 0;
}
body.page .lst-boxC .lstC .itm {
  position: relative;
  padding-left: 1.2em;
  line-height: 1.8;
}
body.page .lst-boxC .lstC .itm::before {
  content: "・";
  position: absolute;
  left: 0;
  top: 0;
  color: #FFFFFF;
  font-weight: 500;
}

/* .case-box */
body.page .case-box {
  width: 100%;
  max-width: var(--s1200);
  margin-right: auto;
  margin-left: auto;
  margin-bottom: var(--s120);
  gap: var(--s36);
}
@media screen and (max-width: 767px) {
  body.page .case-box {
    margin-bottom: var(--s120);
    flex-direction: column;
    gap: 0;
  }
}
body.page .case-box.mb80 {
  margin-bottom: var(--s80);
}
body.page .case-box .case-img {
  width: calc(var(--s8) * 60); /* 480px */
  height: auto;
  overflow: hidden;
  border-radius: var(--s12);
}
@media screen and (max-width: 767px) {
  body.page .case-box .case-img {
    width: 100%;
    margin-bottom: var(--s24);
  }
}
body.page .case-box .case-img2 {
  margin-top: var(--s20);
}
body.page .case-box .case-img2 img {
  width: calc(var(--s8) * 28.75); /* 230px */
  height: auto;
}
@media screen and (max-width: 767px) {
  body.page .case-box .case-img2 img {
    width: 48%;
  }
}
body.page .case-box .case-txt-box {
  width: calc(var(--s8) * 85.5); /* 684px */
  height: auto;
}
@media screen and (max-width: 767px) {
  body.page .case-box .case-txt-box {
    width: 100%;
  }
}
body.page .case-box .case-txt-box .case-txt {
  font-weight: 500;
  line-height: 180%; /* 2.88rem */
  margin-bottom: var(--s48);
}
body.page .case-box .case-txt-box .case-txt:last-of-type {
  margin-bottom: 0;
}
body.page .case-box .case-txt-box .case-txt .atent {
  font-size: var(--s15);
  font-weight: 500;
  line-height: 180%; /* 2.7rem */
}
body.page .case-box .case-txt-box .case-pickup {
  padding: var(--s34) var(--s24) var(--s20) var(--s24);
  border-radius: 0 16px;
  background: #E6F0F7;
  margin-top: var(--s48);
  margin-bottom: var(--s48);
}
body.page .case-box .case-txt-box .case-pickup:last-of-type {
  margin-bottom: 0;
}
body.page .case-box .case-txt-box .case-pickup-ttl {
  margin-top: calc(var(--s56) * -1);
  margin-left: calc(var(--s24) * -1);
  width: calc(var(--s8) * 26.75); /* 214px */
  height: auto;
}
body.page .case-box .case-txt-box .case-pickup-ttl img {
  width: 100%;
}
body.page .case-box .case-txt-box .case-pickup-txt {
  padding-top: var(--s12);
  font-weight: 500;
  line-height: 180%; /* 2.88rem */
  margin: 0;
}
body.page .case-box .case-txt-box .case-pickup-txt strong {
  color: var(--common_keycolor);
  font-weight: 700;
  line-height: 180%; /* 2.88rem */
}
body.page .case-box .case-left {
  width: calc(var(--s8) * 60);
}
body.page .case-box .case-right {
  width: calc(var(--s8) * 85.5);
}
@media screen and (max-width: 767px) {
  body.page .case-box .case-left {
    width: 100%;
  }
  body.page .case-box .case-right {
    width: 100%;
  }
}
body.page .case-box .case-right .atent {
  margin-top: var(--s10);
}

/* .other-bus-box */
body.page .other-bus-box {
  width: 100%;
  max-width: var(--s1200);
  margin-bottom: var(--s120);
  padding-top: var(--s40);
  border-top: 1px solid #E4E4E4;
}
body.page .other-bus-box .other-bus-ttl {
  text-align: center;
  font-size: var(--s20);
  font-weight: 700;
  line-height: 150%; /* 3rem */
  padding-bottom: var(--s40);
}
body.page .other-bus-box .other-bus-nav {
  width: 100%;
  height: auto;
}
body.page .other-bus-box .other-bus-nav .other-bus-lst {
  gap: var(--s24);
}
@media screen and (max-width: 767px) {
  body.page .other-bus-box .other-bus-nav .other-bus-lst {
    flex-direction: column;
    gap: var(--s12);
  }
}
body.page .other-bus-box .other-bus-nav .other-bus-lst .itm {
  width: calc(100% / 3);
  height: auto;
}
@media screen and (max-width: 767px) {
  body.page .other-bus-box .other-bus-nav .other-bus-lst .itm {
    width: 100%;
  }
}
body.page .other-bus-box .other-bus-nav .other-bus-lst .itm a {
  display: block;
  width: 100%;
  max-width: calc(var(--s8) * 48); /* 384px */
  height: auto;
  aspect-ratio: 384 / 216;
  border-radius: var(--s12);
  overflow: hidden;
  position: relative;
}
@media screen and (max-width: 767px) {
  body.page .other-bus-box .other-bus-nav .other-bus-lst .itm a {
    max-width: 100%;
  }
}
body.page .other-bus-box .other-bus-nav .other-bus-lst .itm a .num-txt {
  position: absolute;
  width: 100%;
  height: auto;
  bottom: 0;
  left: 0;
  color: #FFF;
  padding: var(--s24) var(--s20);
  gap: var(--s20);
  background-image: url(../img/bg_footer_cnt-btn.svg);
  background-repeat: no-repeat;
  background-position: center right var(--s24);
  background-size: var(--s24) var(--s24);
  z-index: 2;
}
body.page .other-bus-box .other-bus-nav .other-bus-lst .itm a .num-txt .num {
  display: block;
  font-size: var(--s22);
  font-weight: 700;
  line-height: 100%; /* 3.2rem */
}
body.page .other-bus-box .other-bus-nav .other-bus-lst .itm a .num-txt .txt {
  display: block;
  font-size: var(--s24);
  font-weight: 500;
  line-height: 100%; /* 2.4rem */
}
body.page.en-US .other-bus-box .other-bus-nav .other-bus-lst .itm a .num-txt .txt {
  font-size: var(--s14);
  display: flex;
  align-items: center;
}
body.page .other-bus-box .other-bus-nav .other-bus-lst .itm a img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  object-fit: cover;
  transition: all 0.3s ease;
}
body.page .other-bus-box .other-bus-nav .other-bus-lst .itm a:hover img {
  transform: scale(1.025);
}

/* .txt-boxA */
body.page .txt-boxA {
  width: 100%;
  height: auto;
  margin-bottom: var(--s40);
}
body.page .txt-boxA p {
  font-size: var(--s16);
  font-weight: 500;
  line-height: 180%; /* 2.88rem */
}



/* ==========================
08) pankuzu
----------------------------- */
.pankuzu .pankuzu-box {
  margin-right: auto;
  margin-left: auto;
}
.pankuzu .pankuzu-box .pkz-lst {
  padding-top: var(--s24);
  padding-bottom: var(--s24);
}
@media screen and (max-width: 767px) {
  .pankuzu .pankuzu-box .pkz-lst {
    max-width: 100%;
  }
}
.pankuzu .pankuzu-box .pkz-lst .itm {
  color: #333;
  font-size: var(--s12);
  font-style: normal;
  font-weight: 500;
  line-height: 150%; /* 1.8rem */
  display: flex;
  align-items: center;
  column-gap: var(--s12);
  margin-left: var(--s12);
}
.pankuzu .pankuzu-box .pkz-lst .itm.current {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.pankuzu .pankuzu-box .pkz-lst .itm::after {
  content: "";
  width: var(--s12);
  height: var(--s2);
  background-color: #333;
}
.pankuzu .pankuzu-box .pkz-lst .itm:last-child::after {
  display: none;
}
.pankuzu .pankuzu-box .pkz-lst .itm a {
  color: var(--common_keycolor);
  white-space: nowrap;
}



/* ==========================
00) home
----------------------------- */
/* common css */
.home main .outer h2.ttl .en {
  display: block;
  font-family: var(--ff-p);
  font-size: var(--s56);
  font-weight: 500;
  line-height: 100%; /* 5.6rem */
  letter-spacing: 0.112rem;
}
@media screen and (max-width: 767px) {
  .home main .outer h2.ttl .en {
    font-size: var(--s54);
  }
}
.home main .outer h2.ttl .jp {
  color: var(--common_keycolor);
  font-size: var(--s16);
  font-weight: 700;
  line-height: 100%; /* 1.6rem */
  letter-spacing: 0.032rem;
}

/* unique css */
/* .mv */
.home main .outer.mv {
  width: 100%;
  /* height: 100dvh; */
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background-color: #EEEEEE;
  position: relative;
}
@media screen and (max-width: 767px) {
  .home main .outer.mv {
    margin-top: calc(var(--common_header_height) / 2);
    aspect-ratio: 9 / 16;
  }
}
.home main .outer.mv video {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  filter: drop-shadow(0px 0px rgba(0, 0, 0, 0));
  outline: none;
  border: none;
}
@media screen and (max-width: 767px) {
  .home main .outer.mv video {
    aspect-ratio: 9 / 16;
  }
}
.home main .outer.mv a.video-btn {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: var(--s12);
  position: absolute;
  top: 61%;
  left: 8%;
  z-index: 2;
  width: calc(var(--s8) * 24); /* 192px */
  height: var(--s48);
  border-radius: var(--s24);
  border: 1px solid #1B4DA3;
  background: #FFF;
  color: var(--common_keycolor);
  text-align: center;
  font-weight: 700;
  line-height: 100%; /* 1.6rem */
  opacity: 0;
  pointer-events: none;
  transition: all 1s ease;
}
@media screen and (max-width: 767px) {
  .home main .outer.mv a.video-btn {
    top: 46%;
    left: 50%;
    transform: translateX(-50%);
  }
}
.home main .outer.mv a.video-btn::after {
  content: "";
  width: var(--s20);
  height: var(--s20);
  background-image: url(../img/bg_btnA_arrow_b.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  border-radius: 50%;
  transition: all 0.3s ease;
}
.home main .outer.mv a.video-btn:hover::after {
  transform: scale(1.15);
}
.home main .outer.mv a.video-btn.is-visible {
  opacity: 1;
  pointer-events: auto;
}

/* .news */
.home main .outer.news .inner {
  padding: var(--s80) 0;
  column-gap: calc(var(--s8) * 18.25); /* 146px */
  margin-right: auto;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .home main .outer.news .inner {
    padding: var(--s40) 2.5%;
    flex-direction: column;
    column-gap: 0;
  }
}
.home main .outer.news .inner .ttl-btn .ttl {
  margin-bottom: var(--s32);
}
.home main .outer.news .inner .lst-box .lst .itm {
  padding-top: var(--s20);
  padding-bottom: var(--s20);
  border-bottom: 1px solid #E4E4E4;
}
.home main .outer.news .inner .lst-box {
  flex: 1;
}
@media screen and (max-width: 767px) {
  .home main .outer.news .inner .lst-box {
    margin-top: var(--s40);
    width: 100%;
  }
  .home main .outer.news .inner .lst-box .lst .itm {
    flex-direction: column;
  }
}
.home main .outer.news .inner .lst-box .lst .itm .dat {
  width: calc(var(--s8) * 14); /* 112px */
  color: #8D8D8D;
  font-family: var(--ff-p);
  font-size: var(--s16);
  font-weight: 500;
  line-height: 150%; /* 2.4rem */
  letter-spacing: 0.064rem;
}
@media screen and (max-width: 767px) {
  .home main .outer.news .inner .lst-box .lst .itm .dat {
    margin-bottom: var(--s8);
  }
}
.home main .outer.news .inner .lst-box .lst .itm .txt {
  font-size: var(--s16);
  font-style: normal;
  font-weight: 500;
  line-height: 160%; /* 2.56rem */
  flex: 1;
}
.home main .outer.news .inner .lst-box .lst .itm .txt a {
  color: #333;
}

/* .business */
.home main .outer.business {
  background:
  url(../img/bg_home_business_globe.svg) no-repeat right top / calc(var(--s8) * 72) calc(var(--s8) * 83.5),
  linear-gradient(0deg, rgba(230, 240, 247, 0.00) 0%, rgba(230, 240, 247, 0.80) 50%, #E6F0F7 100%);
}
@media screen and (max-width: 767px) {
  .home main .outer.business {
    background:
    url(../img/bg_home_business_globe.svg) no-repeat right top / calc(var(--s8) * 25.875) calc(var(--s8) * 30),
    linear-gradient(0deg,#FFFFFF 100%, #FFFFFF 100%);
  }
}
.home main .outer.business .inner {
  padding: var(--s120) 0;
}
@media screen and (max-width: 767px) {
  .home main .outer.business .inner {
    padding: var(--s40) 2.5% calc(var(--s8) * 11.5) 2.5%;
  }
}
.home main .outer.business .inner .ttl {
  margin-bottom: var(--s48);
}
.home main .outer.business .inner .sub-ttl {
  font-size: var(--s28);
  font-weight: 700;
  line-height: 170%; /* 4.76rem */
  margin-bottom: var(--s20);
}
@media screen and (max-width: 767px) {
  .home main .outer.business .inner .sub-ttl {
    font-size: var(--s22);
  }
}
.home main .outer.business .inner .txt {
  font-size: var(--s16);
  font-weight: 500;
  line-height: 180%; /* 2.88rem */
  margin-bottom: var(--s64);
}
@media screen and (max-width: 767px) {
  .home main .outer.business .inner .txt {
    margin-bottom: var(--s40);
  }
}
.home main .outer.business .inner .bus-lst {
  width: 100%;
  height: auto;
}
.home main .outer.business .inner .bus-lst .img-box {
  width: calc(var(--s8) * 60); /* 480px */
  height: calc(var(--s8) * 77.5); /* 620px */
  overflow: hidden;
  border-radius: var(--s12);
  background-color: transparent;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}
@media screen and (max-width: 767px) {
  .home main .outer.business .inner .bus-lst .img-box {
    display: none;
  }
}
.home main .outer.business .inner .bus-lst .img-box img {
  width: 100%;
  height: auto;
}
.home main .outer.business .inner .bus-lst .btn-lst {
  width: calc(100% - var(--s8) * 60); /* 480px */
  height: auto;
}
@media screen and (max-width: 767px) {
  .home main .outer.business .inner .bus-lst .btn-lst {
    width: 100%;
  }
}
.home main .outer.business .inner .bus-lst .btn-lst .btn {
  padding-top: var(--s16);
  padding-right: calc(var(--s8) * 7.125); /* 57px */
  padding-bottom: var(--s16);
}
@media screen and (max-width: 767px) {
  .home main .outer.business .inner .bus-lst .btn-lst .btn {
    display: none;
  }
}
.home main .outer.business .inner .bus-lst .btn-lst .ttl-lst {
  width: 100%;
  height: auto;
  border-top-right-radius: var(--s12);
  background-color: #FFF;
  padding-top: var(--s40);
}
@media screen and (max-width: 767px) {
  .home main .outer.business .inner .bus-lst .btn-lst .ttl-lst {
    padding-top: 0;
  }
}
.home main .outer.business .inner .bus-lst .btn-lst .ttl-lst .ttl {
  margin-left: var(--s54);
  padding: 0 0 var(--s8) var(--s36);
  background-image: url(../img/bg_line.svg);
  background-repeat: no-repeat;
  background-position: left bottom;
  color: var(--common_keycolor);
  font-size: var(--s16);
  font-weight: 700;
  line-height: 170%; /* 2.72rem */
}
@media screen and (max-width: 767px) {
  .home main .outer.business .inner .bus-lst .btn-lst .ttl-lst .ttl {
    display: none;
  }
}
.home main .outer.business .inner .bus-lst .btn-lst .ttl-lst .lst {
  width: 100%;
  height: auto;
}
.home main .outer.business .inner .bus-lst .btn-lst .ttl-lst .lst .itm {
  width: 100%;
  height: auto;
}
@media screen and (max-width: 767px) {
  .home main .outer.business .inner .bus-lst .btn-lst .ttl-lst .lst .itm {
    margin-bottom: var(--s24);
  }
}
.home main .outer.business .inner .bus-lst .btn-lst .ttl-lst .lst .itm a {
  display: block;
  padding: var(--s36) var(--s80);
  border-bottom: 1px solid #EAEAEA;
  background-image: url(../img/bg_btnA_arrow_b.svg);
  background-repeat: no-repeat;
  background-position: right var(--s80) center;
  transition: all 0.3s ease;
}
@media screen and (max-width: 767px) {
  .home main .outer.business .inner .bus-lst .btn-lst .ttl-lst .lst .itm a {
    border-bottom: none;
  }
}
.home main .outer.business .inner .bus-lst .btn-lst .ttl-lst .lst .itm a:hover {
  background-color: var(--common_keycolor);
  color: #FFF;
  background-image: url(../img/bg_btnA_arrow_w.svg);
}
@media screen and (max-width: 767px) {
  .home main .outer.business .inner .bus-lst .btn-lst .ttl-lst .lst .itm a {
    padding: 0;
    background-image: none;
    transition: none;
  }
  .home main .outer.business .inner .bus-lst .btn-lst .ttl-lst .lst .itm a:hover {
    background-color: transparent;
    color: var(--common_keycolor);
    background-image: url(../img/bg_btnA_arrow_b.svg);
  }
}
.home main .outer.business .inner .img-box {
  background-image: url(../img/bg_home_b01.png);
}
.home main .outer.business .inner .bus-lst:has(a.b01:hover) .img-box {
  background-image: url(../img/bg_home_b01.png);
}
.home main .outer.business .inner .bus-lst:has(a.b02:hover) .img-box {
  background-image: url(../img/bg_home_b02.png);
}
.home main .outer.business .inner .bus-lst:has(a.b03:hover) .img-box {
  background-image: url(../img/bg_home_b03.png);
}
.home main .outer.business .inner .bus-lst:has(a.b04:hover) .img-box {
  background-image: url(../img/bg_home_b04.png);
}
.home main .outer.business .inner .bus-lst .btn-lst .ttl-lst .lst .itm a span {
  margin: 0;
}
@media screen and (max-width: 767px) {
  .home main .outer.business .inner .bus-lst .btn-lst .ttl-lst .lst .itm a span.num-txt {
    padding: var(--s12) 0;
  }
  .home main .outer.business .inner .bus-lst .btn-lst .ttl-lst .lst .itm a span.num-txt::after {
    content: "";
    display: block;
    margin-left: var(--s18);
    width: var(--s22);
    height: var(--s22);
    background-image: url(../img/bg_btnA_arrow_b.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
  }
}
.home main .outer.business .inner .bus-lst .btn-lst .ttl-lst .lst .itm a span.num-txt span.num {
  padding: 0 var(--s14);
  margin-right: var(--s24);
  color: var(--common_keycolor);
  font-family: var(--ff-p);
  font-size: var(--s18);
  font-weight: 500;
  line-height: 100%; /* 1.8rem */
  transition: all 0.3s ease;
}
.home main .outer.business .inner .bus-lst .btn-lst .ttl-lst .lst .itm a:hover span.num-txt span.num {
  color: #FFF;
}
@media screen and (max-width: 767px) {
  .home main .outer.business .inner .bus-lst .btn-lst .ttl-lst .lst .itm a span.num-txt span.num {
    padding: 0;
    margin-right: var(--s4);
    transition: none;
  }
  .home main .outer.business .inner .bus-lst .btn-lst .ttl-lst .lst .itm a:hover span.num-txt span.num {
    color: var(--common_keycolor);
  }
}
.home main .outer.business .inner .bus-lst .btn-lst .ttl-lst .lst .itm a span.num-txt span.txt {
  color: var(--common_keycolor);
  font-size: var(--s22);
  font-weight: 700;
  line-height: 100%; /* 2.2rem */
  transition: all 0.3s ease;
}
@media screen and (max-width: 767px) {
  .home main .outer.business .inner .bus-lst .btn-lst .ttl-lst .lst .itm a span.num-txt span.txt {
    font-size: var(--s20);
  }
}
.home main .outer.business .inner .bus-lst .btn-lst .ttl-lst .lst .itm a:hover span.num-txt span.txt {
  color: #FFF;
}
@media screen and (max-width: 767px) {
  .home.en-US main .outer.business .inner .bus-lst .btn-lst .ttl-lst .lst .itm a span.num-txt span.txt {
    font-size: var(--s14);
  }
  .home main .outer.business .inner .bus-lst .btn-lst .ttl-lst .lst .itm a span.num-txt span.txt {
    transition: none;
  }
  .home main .outer.business .inner .bus-lst .btn-lst .ttl-lst .lst .itm a:hover span.num-txt span.txt {
    color: var(--common_keycolor);
  }
}

/* .banners */
@media screen and (max-width: 767px) {
  .home main .outer.banners .inner {
    flex-direction: column;
  }
}
.home main .outer.banners .inner a {
  display: block;
  width: 50%;
  aspect-ratio: 960 / 480;
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .home main .outer.banners .inner a {
    width: 100%;
  }
}
.home main .outer.banners .inner a .txt {
  position: absolute;
  z-index: 1;
  width: calc(var(--s8) * 42);/* 336px */
  height: calc(var(--s8) * 20);/* 160 px*/
  color: #FFFFFF;
  text-align: center;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-image: url(../img/bg_bnr_arrow.svg);
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: var(--s48) var(--s48);
}
.home main .outer.banners .inner a .txt .en {
  text-shadow: 0 0 4px rgba(0, 0, 0, 0.25);
  font-family: var(--ff-p);
  font-size: var(--s54); /* 54px */
  font-weight: 500;
  line-height: 100%; /* 5.4rem */
  letter-spacing: 0.108rem;
  margin-bottom: var(--s10);
}
.home main .outer.banners .inner a .txt .jp {
  text-shadow: 0 0 4px rgba(0, 0, 0, 0.25);
  font-size: var(--s16);
  font-weight: 700;
  line-height: normal;
}
.home main .outer.banners .inner a img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
  transform-origin: center center;
}
.home main .outer.banners .inner a:hover img {
  transform: scale(1.025);
}



/* ==========================
01) news
----------------------------- */
body.news main .news-cnt {
  margin-bottom: var(--s120);
}
body.news main .news-cnt .inner {
  margin: var(--s80) auto;
  width: 100%;
  max-width: var(--s1080);
  height: auto;
}
body.news main .news-cnt .inner:last-of-type {
  margin-bottom: 0;
}
body.news main .news-cnt .inner .news-lst {
  width: 100%;
  height: auto;
}
body.news main .news-cnt .inner .news-lst .itm {
  width: 100%;
  height: auto;
  border-bottom: 1px solid #A1A1A1;
  padding: var(--s24) var(--s16);
}
@media screen and (max-width: 767px) {
  body.news main .news-cnt .inner .news-lst .itm {
    flex-direction: column;
  }
}
body.news main .news-cnt .inner .news-lst .itm .dat {
  width: calc(var(--s8) * 27); /* 216px */
  color: var(--Font-Gray, #8D8D8D);
  font-family: var(--ff-p);
  font-size: var(--s16);
  font-weight: 500;
  line-height: 150%; /* 2.4rem */
  letter-spacing: 0.064rem;
}
@media screen and (max-width: 767px) {
  body.news main .news-cnt .inner .news-lst .itm .dat {
    width: 100%;
  }
}
body.news main .news-cnt .inner .news-lst .itm .txt {
  flex: 1 1 0;
}
body.news main .news-cnt .inner .news-lst .itm .txt a {
  color: #333;
  font-size: var(--s16);
  font-weight: 500;
  line-height: 150%; /* 2.4rem */
}

/* pagination */
body.news main .news-cnt .pagination {
  gap: var(--s16);
}
body.news main .news-cnt .pagination .page-numbers {
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(var(--s8) * 6.25); /* 50px */
  height: calc(var(--s8) * 6.25); /* 50px */
  aspect-ratio: 1 / 1;
  color: var(--common_keycolor);
  font-family: var(--ff-p);
  font-size: var(--s24);
  font-weight: 500;
  line-height: 100%; /* 2.4rem */
  border-radius: 50%;
  background-color: #FFFFFF;
  border: 1px solid #FFFFFF;
  transition: all 0.3s ease;
}
body.news main .news-cnt .pagination .page-numbers:hover {
  color: #FFFFFF;
  border: 1px solid var(--common_keycolor);
  background-color: var(--common_keycolor);
}
body.news main .news-cnt .pagination .page-numbers.current {
  border: 1px solid var(--common_keycolor);
}
body.news main .news-cnt .pagination .page-numbers.current:hover {
  border: 1px solid var(--common_keycolor);
  color: var(--common_keycolor);
  background-color: #FFFFFF;
}
body.news main .news-cnt .pagination .prev,
body.news main .news-cnt .pagination .next {
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(var(--s8) * 6.25); /* 50px */
  height: calc(var(--s8) * 6.25); /* 50px */
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  background-color: var(--common_keycolor);
  background-position: center;
  background-repeat: no-repeat;
  border: 1px solid var(--common_keycolor);
  transition: all 0.3s ease;
}
body.news main .news-cnt .pagination .next {
  background-image: url(../img/btn_pagination-next-arrow.svg);
}
body.news main .news-cnt .pagination .prev {
  background-image: url(../img/btn_pagination-prev-arrow.svg);
}
body.news main .news-cnt .pagination .prev:hover,
body.news main .news-cnt .pagination .next:hover {
  border: 1px solid var(--common_keycolor);
  background-color: #FFFFFF;
}
body.news main .news-cnt .pagination .next:hover {
  background-image: url(../img/btn_pagination-next-arrow_mo.svg);
}
body.news main .news-cnt .pagination .prev:hover {
  background-image: url(../img/btn_pagination-prev-arrow_mo.svg);
}
body.news main .news-cnt .pagination .prev .txt,
body.news main .news-cnt .pagination .next .txt {
  display: none;
}
body.news main .news-cnt .pagination .prev.disabled,
body.news main .news-cnt .pagination .next.disabled {
  pointer-events: none;
  opacity: 0.5;
}

/* .news-post */
body.single main .news-post {
  margin-bottom: var(--s120);
}
body.single main .news-post .news-post-ttl-box {
  margin: calc(var(--s8) * 12.5) auto;
  width: 100%;
  max-width: var(--s1080);
  height: auto;
}
body.single main .news-post .news-post-ttl-box .news-post-dat {
  color: var(--common_keycolor);
  font-family: var(--ff-p);
  font-size: var(--s18);
  font-weight: 500;
  line-height: 150%; /* 2.7rem */
  letter-spacing: 0.072rem;
  margin-bottom: calc(var(--s8) * 5.625);/* 45px */
}
body.single main .news-post .news-post-ttl-box .news-post-ttl {
  color: #333;
  font-size: var(--s32);
  font-weight: 700;
  line-height: 170%; /* 5.44rem */
}
@media screen and (max-width: 767px) {
  body.single main .news-post .news-post-ttl-box .news-post-ttl {
    font-size: var(--s28);
  }
}
body.single main .news-post .news-post-txt-box {
  color: #333;
  width: 100%;
  max-width: calc(var(--s8) * 114); /* 912px */
  height: auto;
  font-size: var(--s16);
  line-height: 150%; /* 3.6rem */
}
body.single main .news-post .news-post-txt-box h1 {
  font-size: var(--s26);
  font-weight: 700;
  line-height: 150%; /* 3.6rem */
  margin-top: var(--s26);
  margin-bottom: var(--s26);
}
body.single main .news-post .news-post-txt-box h2 {
  font-size: var(--s24);
  font-weight: 700;
  line-height: 150%; /* 3.6rem */
  margin-top: var(--s24);
  margin-bottom: var(--s24);
}
body.single main .news-post .news-post-txt-box h3 {
  font-size: var(--s22);
  font-weight: 700;
  line-height: 150%; /* 3.6rem */
  margin-top: var(--s22);
  margin-bottom: var(--s22);
}
body.single main .news-post .news-post-txt-box h4 {
  font-size: var(--s20);
  font-weight: 700;
  line-height: 150%; /* 3.6rem */
  margin-top: var(--s20);
  margin-bottom: var(--s20);
}
body.single main .news-post .news-post-txt-box h5 {
  font-size: var(--s18);
  font-weight: 700;
  line-height: 150%; /* 3.6rem */
  margin-top: var(--s18);
  margin-bottom: var(--s18);
}
body.single main .news-post .news-post-txt-box h6 {
  font-size: var(--s16);
  font-weight: 700;
  line-height: 150%; /* 3.6rem */
  margin-top: var(--s16);
  margin-bottom: var(--s16);
}
body.single main .news-post .news-post-txt-box p {
  font-size: var(--s16);
  font-weight: 500;
  line-height: 180%; /* 2.88rem */
  margin-top: var(--s16);
  margin-bottom: var(--s16);
}
body.single main .news-post .news-post-txt-box ul {
  margin-left: var(--s24);
  list-style-type: disc;
  font-size: var(--s16);
  font-weight: 500;
  line-height: 180%; /* 2.88rem */
  margin-top: var(--s24);
  margin-bottom: var(--s24);
}
body.single main .news-post .news-post-txt-box ol {
  margin-left: var(--s24);
  list-style-type: decimal;
  font-size: var(--s16);
  font-weight: 500;
  line-height: 180%; /* 2.88rem */
  margin-top: var(--s24);
  margin-bottom: var(--s24);
}
body.single main .news-post .news-post-txt-box blockquote {
  margin-left: 1em;
  opacity: 0.9;
}
body.single main .news-post .news-post-txt-box small {
  font-size: var(--s14);
}
body.single main .news-post .news-post-txt-box a {
  color: var(--common_keycolor);
  font-weight: 500;
  line-height: 180%; /* 2.88rem */
  text-decoration-line: underline;
  text-decoration-style: solid;
  text-decoration-skip-ink: auto;
  text-decoration-thickness: auto;
  text-underline-offset: auto;
  text-underline-position: from-font;
}
body.single main .news-post .news-post-txt-box a {
  color: var(--common_keycolor);
  font-weight: 500;
  line-height: 180%; /* 2.88rem */
  text-decoration-line: underline;
  text-decoration-style: solid;
  text-decoration-skip-ink: auto;
  text-decoration-thickness: auto;
  text-underline-offset: auto;
  text-underline-position: from-font;
}
body.single main .news-post .news-post-btn-box {
  margin-top: var(--s120);
}
body.single main .news-post .news-post-btn-box .btn-back-news {
  display: inline-flex;
  width: calc(var(--s8) * 40);/* 320px */
  padding: var(--s24) var(--s12);
  justify-content: center;
  align-items: center;
  gap: var(--s12);
  border-radius: var(--s64);
  background: var(--common_keycolor);
  color: #FFFFFF;
  text-align: center;
  font-size: var(--s16);
  font-weight: 700;
  line-height: 100%; /* 1.6rem */
  position: relative;
}
body.single main .news-post .news-post-btn-box .btn-back-news::after {
  content: "";
  position: absolute;
  width: var(--s24);
  height: var(--s24);
  top: 50%;
  right: var(--s24);
  transform: translateY(-50%);
  background-image: url(../img/bg_footer_cnt-btn.svg);
  background-repeat: no-repeat;
  background-position: center;
  border-radius: 50%;
  transition: all 0.3s ease;
}
body.single main .news-post .news-post-btn-box .btn-back-news:hover::after {
  transform: translateY(-50%) scale(1.15);
}



/* ==========================
02) about
----------------------------- */
body.about main .about-cnt1 {
  padding-top: var(--s80);
  background: linear-gradient(180deg, rgba(230, 240, 247, 0.00) 41.92%, rgba(230, 240, 247, 0.80) 91.92%, #E6F0F7 141.92%);
}
body.about main .about-cnt1 .about-cnt1-ttl .ttl {
  color: var(--common_keycolor);
  text-align: center;
  font-size: var(--s20);
  font-weight: 700;
  line-height: 150%; /* 3rem */
  margin-bottom: var(--s32);
}
body.about main .about-cnt1 .about-cnt1-txt .txt {
  text-align: center;
  font-size: var(--s18);
  font-weight: 500;
  line-height: 180%; /* 3.24rem */
  margin-bottom: var(--s48);
}
@media screen and (max-width: 767px) {
  body.about main .about-cnt1 .about-cnt1-txt .txt {
    font-size: var(--s16);
  }
}
@media screen and (max-width: 320px) {
  body.about main .about-cnt1 .about-cnt1-txt .txt {
    font-size: var(--s14);
  }
}
body.about main .about-cnt1 .about-cnt1-img .img {
  margin: 0 auto;
  width: 100%;
  max-width: calc(var(--s8) * 106.25); /* 850px */
  height: auto;
}
@media screen and (max-width: 767px) {
  body.about main .about-cnt1 .about-cnt1-img .img {
    padding: 0 5%;
  }
}
@media screen and (max-width: 767px) {
  body.about.en-US main .about-cnt1 .window-full>div.about-cnt1-ttl,
  body.about.en-US main .about-cnt1 .window-full>div.about-cnt1-txt,
  body.about.en-US main .about-cnt1 .window-full>div.about-cnt1-img{
    padding-right: 2.5%;
    padding-left: 2.5%;
  }
}
body.about main .about-cnt1 .about-cnt1-loop-txt .container {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  overflow: hidden;
}
body.about main .about-cnt1 .about-cnt1-loop-txt .container .wrapper {
  display: flex;
  animation: loop-text 240s linear infinite;
}
body.about main .about-cnt1 .about-cnt1-loop-txt .container .wrapper .double-content {
  display: inline-block;
  white-space: nowrap;
  color: #FFF;
  font-family: var(--ff-p);
  font-size: calc(var(--s8) * 14.125); /* 113px */
  font-weight: 500;
  line-height: 100%; /* 11.3rem */
}
@keyframes loop-text {
  0% {
    transform: translateX(0%);
  }
  100% {
    transform: translateX(-50%);
  }
}
body.about main .about-cnt2 {
  padding: var(--s120) 0;
  background-image: url(../img/bg_about2.png);
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
}
@media screen and (max-width: 767px) {
  body.about.en-US main .about-cnt2 .window-full>div.about-cnt2-ttl,
  body.about.en-US main .about-cnt2 .window-full>div.about-cnt2-ttl-txt {
    padding-right: 2.5%;
    padding-left: 2.5%;
  }
}
body.about main .about-cnt2 .about-cnt2-ttl {
  margin-bottom: var(--s40);
}
body.about main .about-cnt2 .about-cnt2-ttl .ttl {
  color: #FFF;
  text-align: center;
  text-shadow: 0 0 4px rgba(0, 0, 0, 0.34);
  font-size: var(--s20);
  font-weight: 700;
  line-height: 150%; /* 3rem */
}
@media screen and (max-width: 320px) {
  body.about main .about-cnt2 .about-cnt2-ttl .ttl {
    font-size: var(--s18);
  }
}
body.about main .about-cnt2 .about-cnt2-ttl-txt .ttl {
  color: #FFF;
  text-align: center;
  text-shadow: 0 0 4px rgba(0, 0, 0, 0.34);
  font-size: var(--s36);
  font-weight: 700;
  line-height: 150%; /* 3rem */
  margin-bottom: var(--s38);
}
@media screen and (max-width: 767px) {
  body.about main .about-cnt2 .about-cnt2-ttl-txt .ttl {
    font-size: var(--s28);
  }
}
@media screen and (max-width: 320px) {
  body.about main .about-cnt2 .about-cnt2-ttl-txt .ttl {
    font-size: var(--s24);
  }
}
body.about main .about-cnt2 .about-cnt2-ttl-txt .txt {
  color: #FFF;
  text-align: center;
  text-shadow: 0 0 4px rgba(0, 0, 0, 0.34);
  font-size: var(--s18);
  font-weight: 700;
  line-height: 180%; /* 3.24rem */
  margin-bottom: var(--s80);
}
@media screen and (max-width: 320px) {
  body.about main .about-cnt2 .about-cnt2-ttl-txt .txt {
    font-size: var(--s16);
  }
}
body.about main .about-cnt2 .about-cnt2-box {
  gap: calc(var(--s8) * 8.5) var(--s30);
}
@media screen and (max-width: 767px) {
  body.about main .about-cnt2 .about-cnt2-box {
    flex-direction: column;
    width: 100%;
  }
}
body.about main .about-cnt2 .about-cnt2-box .box {
  width: calc(var(--s8) * 65.625); /* 525px */
  height: calc(var(--s8) * 43.5); /* 348px */
  background-color: #FFF;
  border-radius: var(--s4) 0;
  box-shadow: 0 var(--s6) 0 0 #48A9FF;
}
@media screen and (max-width: 767px) {
  body.about main .about-cnt2 .about-cnt2-box .box {
    width: 100%;
    height: auto;
  }
}
body.about main .about-cnt2 .about-cnt2-box .box {
  background-position: right var(--s24) bottom var(--s12);
  background-repeat: no-repeat;
  background-size: calc(var(--s8) * 16.5) calc(var(--s8) * 16.5); /* 132px */
}
body.about main .about-cnt2 .about-cnt2-box .box1 {
  background-image: url(../img/bg_about-cnt2-box1.svg);
}
body.about main .about-cnt2 .about-cnt2-box .box2 {
  background-image: url(../img/bg_about-cnt2-box2.svg);
}
body.about main .about-cnt2 .about-cnt2-box .box3 {
  background-image: url(../img/bg_about-cnt2-box3.svg);
}
body.about main .about-cnt2 .about-cnt2-box .box4 {
  background-image: url(../img/bg_about-cnt2-box4.svg);
}
body.about main .about-cnt2 .about-cnt2-box .box .ttl {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: var(--s24);
  margin-top: -40px;
  width: calc(var(--s8) * 60.5); /* 484px */
  padding: var(--s14) var(--s16) var(--s10) var(--s16);
  border-radius: var(--s12) var(--s2);
  background:
  url(../img/bg_about-cnt2-box_ttl.svg) no-repeat bottom var(--s10) right var(--s14) / var(--s34) var(--s36),
  linear-gradient(90deg, #147DDA 0%, #0B34D8 100%);
}
@media screen and (max-width: 767px) {
  body.about main .about-cnt2 .about-cnt2-box .box .ttl {
    width: 100%;
  }
}
@media screen and (max-width: 320px) {
  body.about main .about-cnt2 .about-cnt2-box .box .ttl {
    gap: var(--s8);
  }
}
body.about main .about-cnt2 .about-cnt2-box .box .ttl .num {
  color: #CBE0F7;
  font-family: var(--ff-p);
  font-size: var(--s54);
  font-weight: 300;
  line-height: 100%; /* 5.4rem */
  letter-spacing: -0.162rem;
}
@media screen and (max-width: 767px) {
  body.about main .about-cnt2 .about-cnt2-box .box .ttl .num {
    font-size: var(--s32);
  }
}
@media screen and (max-width: 320px) {
  body.about main .about-cnt2 .about-cnt2-box .box .ttl .num {
    font-size: var(--s24);
  }
}
body.about main .about-cnt2 .about-cnt2-box .box .ttl .txt {
  color: #FFF;
  font-size: var(--s26);
  font-weight: 700;
  line-height: 130%; /* 3.38rem */
}
body.about.en-US main .about-cnt2 .about-cnt2-box .box .ttl .txt {
  font-size: var(--s18);
}
@media screen and (max-width: 767px) {
  body.about main .about-cnt2 .about-cnt2-box .box .ttl .txt {
    font-size: var(--s20);
  }
}
@media screen and (max-width: 767px) {
  body.about main .about-cnt2 .about-cnt2-box .box .ttl .txt {
    font-size: var(--s18);
  }
}
body.about main .about-cnt2 .about-cnt2-box .box .ttl .txt small {
  font-size: var(--s16);
}
body.about.en-US main .about-cnt2 .about-cnt2-box .box .ttl .txt small {
  font-size: var(--s12);
}
@media screen and (max-width: 767px) {
  body.about main .about-cnt2 .about-cnt2-box .box .ttl .txt small {
    font-size: var(--s12);
  }
}
body.about main .about-cnt2 .about-cnt2-box .box .txt-cnt {
  padding: var(--s32) var(--s40);
}
body.about.en-US main .about-cnt2 .about-cnt2-box .box .txt-cnt {
  padding: var(--s20) var(--s40);
}
@media screen and (max-width: 767px) {
  body.about main .about-cnt2 .about-cnt2-box .box .txt-cnt {
    padding: 7.5% 5%;
  }
}
body.about main .about-cnt2 .about-cnt2-box .box .txt-cnt .txt {
  font-weight: 500;
  line-height: 180%; /* 2.88rem */
}



/* ==========================
03) company
----------------------------- */
body.company main .company-box {
  gap: calc(var(--s8) * 9.625); /* 77px */
}
@media screen and (max-width: 767px) {
  body.company main .company-box {
    flex-direction: column;
    width: 100%;
  }
}
body.company main .company-box .company-txt {
  width: 100%;
  max-width: calc(var(--s8) * 77.5); /* 620px */
  height: auto;
}
body.company main .company-box .company-txt .company-img01 {
  width: 100%;
  max-width: calc(var(--s8) * 34.875); /* 279px */
  height: auto;
}
body.company main .company-box .company-img {
  width: 100%;
  max-width: calc(var(--s8) * 48); /* 384px */
  height: auto;
}
body.company main .company-box .company-img .company-img02 {
  width: 100%;
  max-width: calc(var(--s8) * 48); /* 384px */
  height: auto;
}
body.company main .tbl-box a {
  color: var(--common_color);
}
body.company main .tbl-box .img_company03 {
  margin-top: var(--s10);
  width: 100%;
  max-width: calc(var(--s8) * 14.125); /* 113px */
  height: auto;
}
body.company main .access-box {
  width: 100%;
  height: auto;
}
body.company main .access-box .adr-txt-btn {
  margin-bottom: var(--s24);
  gap: var(--s12);
}
body.company main .access-box .adr-txt-btn .txt {
  font-weight: 500;
  line-height: 170%; /* 2.72rem */
}
body.company main .access-box .adr-txt-btn .btn {
  width: calc(var(--s8) * 14.125); /* 113px */
}
body.company main .access-box .adr-txt-btn .btn img {
  width: calc(var(--s8) * 14.125); /* 113px */
}
body.company main .gmap {
  width: 100%;
  overflow: hidden;
  border-radius: var(--s12);
  margin-bottom: var(--s24);
}
body.company main .gmap iframe {
  display: block;
  width: 100%;
  height: calc(var(--s8) * 40); /* 320px */
}
body.company main .rout {
  width: 100%;
  height: auto;
}
body.company main .rout .txt {
  font-weight: 500;
  line-height: 170%; /* 2.72rem */
}



/* ==========================
04) business
----------------------------- */
body.business main .business-cnt1 .business-box {
  width: 100%;
  height: auto;
  margin-top: var(--s80);
}
body.business main .business-cnt1 .business-box .ttl {
  font-size: var(--s24);
  font-weight: 700;
  line-height: 150%; /* 3.6rem */
  margin-bottom: var(--s24);
}
@media screen and (max-width: 767px) {
  body.business main .business-cnt1 .business-box .ttl {
    font-size: var(--s22);
  }
}
@media screen and (max-width: 320px) {
  body.business main .business-cnt1 .business-box .ttl {
    font-size: var(--s20);
  }
}
body.business main .business-cnt1 .business-box .business-txt .txt {
  font-weight: 500;
  line-height: 180%; /* 2.88rem */
}
body.business main .business-cnt1 .business-box .business-txt .txt {
  font-weight: 500;
  line-height: 180%; /* 2.88rem */
}
body.business main .business-cnt2 {
  padding: var(--s120) 0;
  background: linear-gradient(180deg, #E6F0F7 0%, rgba(230, 240, 247, 0.80) 50%, rgba(230, 240, 247, 0.00) 100%);
}
body.business main .business-cnt2 .business-cnt2-ttl .ttl {
  color: var(--common_keycolor);
  text-align: center;
  font-size: var(--s20);
  font-weight: 700;
  line-height: 150%; /* 3rem */
  margin-bottom: var(--s40);
}
body.business main .business-cnt2 .business-cnt2-box {
  gap: var(--s40) var(--s20);
}
@media screen and (max-width: 767px) {
  body.business main .business-cnt2 .business-cnt2-box {
    flex-direction: column;
    width: 100%;
  }
}
body.business main .business-cnt2 .business-cnt2-box .box {
  width: calc(var(--s8) * 66); /* 528px */
  height: auto;
}
@media screen and (max-width: 767px) {
  body.business main .business-cnt2 .business-cnt2-box .box {
    width: 100%;
  }
}
body.business main .business-cnt2 .business-cnt2-box .box .img-txt {
  width: calc(var(--s8) * 66); /* 528px */
  height: auto;
}
@media screen and (max-width: 767px) {
  body.business main .business-cnt2 .business-cnt2-box .box .img-txt {
    width: 100%;
  }
}
body.business main .business-cnt2 .business-cnt2-box .box .img-txt a {
  position: relative;
  display: block;
  overflow: hidden;
  width: calc(var(--s8) * 66); /* 528px */
  height: calc(var(--s8) * 37.25); /* 298px */
  border-radius: var(--s12);
}
@media screen and (max-width: 767px) {
  body.business main .business-cnt2 .business-cnt2-box .box .img-txt a {
    width: 100%;
    height: auto;
    aspect-ratio: 528 / 298;
  }
}
body.business main .business-cnt2 .business-cnt2-box .box .img-txt a .num-txt {
  position: absolute;
  width: 100%;
  height: auto;
  bottom: 0;
  left: 0;
  color: #FFF;
  padding: var(--s24) var(--s20);
  gap: var(--s20);
  background-image: url(../img/bg_footer_cnt-btn.svg);
  background-repeat: no-repeat;
  background-position: center right var(--s24);
  background-size: var(--s24) var(--s24);
  z-index: 2;
}
body.business main .business-cnt2 .business-cnt2-box .box .img-txt a .num-txt .num {
  font-family: var(--ff-p);
  font-size: var(--s22);
  font-weight: 500;
  line-height: 100%; /* 2.2rem */
}
body.business main .business-cnt2 .business-cnt2-box .box .img-txt a .num-txt .txt {
  font-size: var(--s24);
  font-weight: 700;
  line-height: 100%; /* 2.4rem */
}
body.business.en-US main .business-cnt2 .business-cnt2-box .box .img-txt a .num-txt .txt {
  font-size: var(--s18);
  display: flex;
  align-items: center;
}
@media screen and (max-width: 767px) {
  body.business.en-US main .business-cnt2 .business-cnt2-box .box .img-txt a .num-txt .txt {
    font-size: var(--s12);
  }
}
body.business main .business-cnt2 .business-cnt2-box .box .img-txt a .img {
  display: block;
  width: 100%;
  height: 100%;
  margin-bottom: var(--s14);
  transition: all 0.3s ease;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  object-fit: cover;
}
body.business main .business-cnt2 .business-cnt2-box .box .img-txt a:hover .img {
  transform: scale(1.025);
}
body.business main .business-cnt2 .business-cnt2-box .box .img-txt>.txt {
  font-weight: 500;
  line-height: 170%;
  padding-top: var(--s14);
  padding-right: var(--s20);
  padding-left: var(--s20);
}



/* ==========================
04-01) business01
----------------------------- */
body.business01 main .business01-cnt1 .img-box {
  width: 100%;
  max-width: var(--s1200);
  height: auto;
  margin: 0 auto var(--s40) auto;
}
@media screen and (max-width: 767px) {
  body.business01 main .business01-cnt1 .img-box {
    gap: 2.5%;
  }
}
body.business01 main .business01-cnt1 .img-box .img img {
  width: calc(var(--s8) * 48); /* 384px */
  height: auto;
}



/* ==========================
04-02) business02
----------------------------- */
body.business02 main .business02-cnt1 .txt-box {
  margin-bottom: var(--s40);
}
body.business02 main .business02-cnt1 .txt-box .txt {
  font-weight: 500;
  line-height: 180%; /* 2.88rem */
}
body.business02 main .business02-cnt1 .txt-box .txt .atent {
  font-size: var(--s14);
  display: block;
}


/* ==========================
04-03) business03
----------------------------- */



/* ==========================
04-04) business04
----------------------------- */



/* ==========================
05) recruit
----------------------------- */
body.recruit main .works {
  background: linear-gradient(180deg, rgba(230, 240, 247, 0.00) 0%, rgba(230, 240, 247, 0.80) 50%, #E6F0F7 100%);
  padding: 0 0 var(--s120) 0;
}
@media screen and (max-width: 767px) {
  body.recruit main .works {
    padding: 0 2.5% var(--s120) 2.5%;
  }
}
body.recruit main .works .ttl-boxE {
  margin-bottom: var(--s40);
}
body.recruit main .works .lead {
  font-feature-settings: 'palt' on;
  font-size: var(--s26);
  font-weight: 700;
  line-height: 180%; /* 4.68rem */
  letter-spacing: 0.208rem;
  margin-bottom: var(--s36);
}
@media screen and (max-width: 767px) {
  body.recruit main .works .lead {
    font-size: var(--s22);
  }
}
@media screen and (max-width: 320px) {
  body.recruit main .works .lead {
    font-size: var(--s20);
  }
}
body.recruit main .works .txt-box {
  width: 100%;
  height: auto;
}
body.recruit main .works .txt-box .txt {
  width: calc(var(--s8) * 72.5); /* 580px */
  height: auto;
  font-weight: 500;
  line-height: 200%; /* 3.2rem */
  margin-bottom: var(--s24);
}
body.recruit main .works .bg-rec01 {
  width: 100%;
  aspect-ratio: 1440 / 525;
  background-image: url(../img/bg-rec01.png);
  background-repeat: no-repeat;
  background-position: right center;
  background-size: cover;
}
body.recruit main .jobs {
  background-color: var(--common_keycolor);
  padding: var(--s120) 0;
  color: #FFFFFF;
}
@media screen and (max-width: 767px) {
  body.recruit main .jobs {
    padding: var(--s120) 2.5%;
  }
}
body.recruit main .jobs .ttl-boxF {
  margin-bottom: var(--s20);
}
body.recruit main .jobs .jobs-box {
  margin-bottom: var(--s40);
  gap: var(--s40);
}
@media screen and (max-width: 767px) {
  body.recruit main .jobs .jobs-box {
    flex-direction: column;
    margin-bottom: var(--s80);
  }
}
body.recruit main .jobs .jobs-box .jobs-cnt {
  width: 50%;
  height: auto;
}
@media screen and (max-width: 767px) {
  body.recruit main .jobs .jobs-box .jobs-cnt {
    width: 100%;
  }
  body.recruit main .jobs .job-box2 .jobs-img {
    order: 2;
  }
  body.recruit main .jobs .job-box2 .jobs-txt {
    order: 1;
  }
}
body.recruit main .jobs .jobs-box .jobs-cnt .job-ttl {
  margin-bottom: var(--s20);
}
body.recruit main .jobs .jobs-box .jobs-cnt .job-ttl .en {
  display: block;
  -webkit-text-stroke-width: 1px;
  -webkit-text-stroke-color: rgba(255, 255, 255, 0.28);
  font-family: var(--ff-p);
  font-size: calc(var(--s8) * 8.375); /* 67px */
  font-weight: 700;
  line-height: 100%; /* 6.7rem */
  letter-spacing: 0.335rem;
  background: linear-gradient(180deg, rgba(147, 239, 255, 0.08) 0%, rgba(0, 66, 191, 0.08) 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media screen and (max-width: 767px) {
  body.recruit main .jobs .jobs-box .jobs-cnt .job-ttl .en {
    font-size: calc(var(--s8) * 5); /* 40px */
  }
}
body.recruit main .jobs .jobs-box .jobs-cnt .job-ttl .en .sharp {
  background: linear-gradient(180deg, rgba(147, 239, 255, 0.08) 0%, rgba(0, 66, 191, 0.08) 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-family: var(--ff-p);
  font-size: calc(var(--s8) * 8.375); /* 67px */
  font-weight: 300;
  line-height: 100%;
  letter-spacing: 0.335rem;
}
@media screen and (max-width: 767px) {
  body.recruit main .jobs .jobs-box .jobs-cnt .job-ttl .en .sharp {
    font-size: calc(var(--s8) * 5); /* 40px */
  }
}
body.recruit main .jobs .jobs-box .jobs-cnt .job-ttl .jp {
  display: block;
  font-size: var(--s32);
  font-weight: 700;
  line-height: 100%; /* 3.2rem */
  margin-top: calc(var(--s32) * -1);
  margin-left: var(--s16);
}
@media screen and (max-width: 767px) {
  body.recruit main .jobs .jobs-box .jobs-cnt .job-ttl .jp {
    margin-top: calc(var(--s18) * -1);
    font-size: var(--s24);
  }
}
body.recruit main .jobs .jobs-box .jobs-cnt .job-cnt {
  padding: var(--s32);
  width: 100%;
  border-radius: var(--s12);
  border: 1px solid rgba(255, 255, 255, 0.28);
}
@media screen and (max-width: 767px) {
  body.recruit main .jobs .jobs-box .jobs-cnt .job-cnt {
    padding: 5%;
  }
}
body.recruit main .jobs .jobs-box .jobs-cnt .job-subttl {
  display: inline-block;
  padding: var(--s8) var(--s20);
  border-radius: var(--s32);
  background: rgba(255, 255, 255, 0.15);
  font-size: var(--s16);
  font-weight: 500;
  line-height: 100%; /* 1.6rem */
  margin-bottom: var(--s12);
}
body.recruit main .jobs .jobs-box .jobs-cnt img {
  padding-top: var(--s86);
}
@media screen and (max-width: 767px) {
  body.recruit main .jobs .jobs-box .jobs-cnt img {
    padding-top: 0;
  }
}
body.recruit main .jobs .jobs-footer {
  display: flex;
  padding: var(--s32);
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  border-radius: var(--s12);
  background: #FFF;
}
@media screen and (max-width: 767px) {
  body.recruit main .jobs .jobs-footer {
    padding: 5%;
  }
}
body.recruit main .jobs .jobs-footer .ttl {
  color: var(--common_keycolor);
  font-size: var(--s20);
  font-weight: 700;
  line-height: 150%; /* 3rem */
  margin: 0 auto;
}
body.recruit main .jobs .jobs-footer .txt {
  color: #333;
  text-align: center;
  font-size: var(--s18);
  font-weight: 500;
  line-height: 180%; /* 3.24rem */
  margin-bottom: 0;
}
body.recruit main .interview {
  background-color: #FFF;
  padding-top: var(--s120);
}
body.recruit main .interview .btns {
  padding-bottom: var(--s80);
}
body.recruit main .interview .btns .ttl-boxF {
  margin-bottom: var(--s40);
}
body.recruit main .interview .btns .ttl-boxF .ttl {
  color: var(--common_keycolor);
}
body.recruit main .interview .int-nav-lst {
  width: 100%;
  height: auto;
}
@media screen and (max-width: 767px) {
  body.recruit main .interview .int-nav-lst {
    flex-direction: column;
  }
}
body.recruit main .interview .int-nav-lst .itm {
  width: calc(100% / 3);
  height: auto;
  padding: 0 var(--s10);
}
@media screen and (max-width: 767px) {
  body.recruit main .interview .int-nav-lst .itm {
    width: 100%;
    padding: var(--s10) 0;
  }
}
body.recruit main .interview .int-nav-lst .itm.border {
  border-right: 1px solid #EAEAEA;
  border-left: 1px solid #EAEAEA;
}
body.recruit main .interview .int-nav-lst .itm a {
  width: 100%;
  height: auto;
  border-top: 1px solid #EAEAEA;
  border-bottom: 1px solid #EAEAEA;
  padding: var(--s10);
  gap: 0 var(--s16);
  background-image: url(../img/bg_btnB_arrow_b.svg);
  background-repeat: no-repeat;
  background-size: var(--s24) var(--s24);
  background-position: bottom var(--s16) right var(--s16);
}
body.recruit main .interview .int-nav-lst .itm a span {
  display: block;
}
body.recruit main .interview .int-nav-lst .itm a>span>span {
  display: block;
  margin: var(--s8) 0;
}
body.recruit main .interview .psn-img {
  width: calc(var(--s8) * 19.5);/* 156px */
  height: calc(var(--s8) * 19.5);/* 156px */
  aspect-ratio: 1 / 1;
  border-radius: var(--s4);
  overflow: hidden;
  background-color: #A1A1A1;
}
@media screen and (max-width: 767px) {
  body.recruit main .interview .psn-img {
    width: calc(var(--s8) * 9); /* 72px */
    height: calc(var(--s8) * 9);
  }
}
body.recruit main .interview .psn-txt {
  gap: var(--s12);
}
body.recruit main .interview .psn-txt .pos {
  display: inline-block;
  padding: var(--s10) var(--s20);
  color: #FFFFFF;
  border-radius: var(--s64);
}
@media screen and (max-width: 767px) {
  body.recruit main .interview .psn-txt .pos {
    padding: var(--s4) var(--s10);
    text-align: center;
  }
}
body.recruit main .interview .psn-txt .pos.e {
  background-color: #48A9FF;
}
body.recruit main .interview .psn-txt .pos.j {
  background-color: #32B97E;
}
body.recruit main .interview .psn-txt .ini {
  color: #333;
  font-family: var(--ff-p);
  font-size: var(--s26);
  font-weight: 400;
  line-height: 150%;
  letter-spacing: 0.26rem;
}
body.recruit main .interview .psn-txt .jin {
  color: #A1A1A1;
  font-style: normal;
  font-weight: 400;
  line-height: 100%;
}
body.recruit main .interview .int-cnt {
  background-color: #E6F0F7;
  padding-top: var(--s40);
  padding-bottom: var(--s80);
}
body.recruit main .interview .int-cnt .inner {
  padding-top: calc(var(--s8) * 15.75 + var(--s40)); /* 166px */
  padding-bottom: var(--s40);
  margin: 0 auto;
  width: 100%;
  max-width: var(--s1200);
}
@media screen and (max-width: 767px) {
  body.recruit main .interview .int-cnt .inner {
    padding-top: var(--s40);
  }
}
body.recruit main .interview .int-cnt .inner .int-ttl-box {
  position: relative;
  display: flex;
  flex-direction: column-reverse;
  width: 100%;
  height: calc(var(--s8) * 42.5);
  background-color: #FFF;
  border-radius: 0 var(--s12) 0 0;
}
@media screen and (max-width: 767px) {
  body.recruit main .interview .int-cnt .inner .int-ttl-box {
    flex-direction: column;
    height: auto;
  }
}
body.recruit main .interview .int-cnt .inner .int-ttl-box .int-ttl-img {
  width: calc(var(--s8) * 72.5);
  height: auto;
}
@media screen and (max-width: 767px) {
  body.recruit main .interview .int-cnt .inner .int-ttl-box .int-ttl-img {
    width: 100%;
  }
}
body.recruit main .interview .int-cnt .inner .int-ttl-box .int-ttl-txt {
  position: absolute;
  bottom: 0;
  right: 0;
  width: calc(var(--s8) * 77.5); /* 620px */
  height: calc(var(--s8) * 42.5); /* 340px */
}
@media screen and (max-width: 767px) {
  body.recruit main .interview .int-cnt .inner .int-ttl-box .int-ttl-txt {
    position: relative;
    width: 100%;
    height: auto;
    padding: 0 2.5%;
  }
}
body.recruit main .interview .int-cnt .inner .int-ttl-box .int-ttl-txt .int-ttl-txt-inner {
  position: relative;
  width: 100%;
  height: 100%;
  padding: var(--s80) var(--s40) 0 var(--s40);
}
@media screen and (max-width: 767px) {
  body.recruit main .interview .int-cnt .inner .int-ttl-box .int-ttl-txt .int-ttl-txt-inner {
    margin-top: var(--s40);
    padding: 0;
  }
}
body.recruit main .interview .int-cnt .inner .int-ttl-box .int-ttl-txt .int-ttl-txt-inner .label {
  margin-top: calc(var(--s8) * -15); /* -120px */
  -webkit-text-stroke-width: 1px;
  -webkit-text-stroke-color: rgba(24, 71, 159, 0.39);
  font-family: var(--ff-p);
  font-size: calc(var(--s8) * 9); /* 72px */
  font-style: normal;
  font-weight: 700;
  line-height: 100%; /* 7.2rem */
  letter-spacing: 0.36rem;
  color: transparent;
  white-space: nowrap;
  margin-left: calc(var(--s42) * -1);
  width: calc(var(--s8) * 78); /* 624px */
  text-align: right;
}
@media screen and (max-width: 767px) {
  body.recruit main .interview .int-cnt .inner .int-ttl-box .int-ttl-txt .int-ttl-txt-inner .label {
    margin-top: 0;
    font-size: var(--s30);
    text-align: center;
    margin-left: 0;
    width: auto;
    text-align: center;
  }
}
body.recruit main .interview .int-cnt .inner .int-ttl-box .int-ttl-txt .int-ttl-txt-inner .label .sharp {
  font-family: var(--ff-p);
  font-size: calc(var(--s8) * 9); /* 72px */
  font-style: normal;
  font-weight: 300;
  line-height: 100%;
  letter-spacing: 0.36rem;
}
@media screen and (max-width: 767px) {
  body.recruit main .interview .int-cnt .inner .int-ttl-box .int-ttl-txt .int-ttl-txt-inner .label .sharp {
    font-size: var(--s30);
  }
}
body.recruit main .interview .int-cnt .inner .int-ttl-box .int-ttl-txt .ttl-boxG .ttl {
  margin-top: calc(var(--s8) * 6.5); /* 52px */
  color: var(--common_keycolor);
  font-size: var(--s26);
  font-weight: 700;
  line-height: 180%; /* 4.68rem */
  margin-bottom: var(--s24);
}
@media screen and (max-width: 767px) {
  body.recruit main .interview .int-cnt .inner .int-ttl-box .int-ttl-txt .ttl-boxG .ttl {
    margin-top: var(--s24);
    font-size: var(--s20);
  }
}

/* .int-cnt-box */
body.recruit main .interview .int-cnt .inner .int-cnt-box {
  width: 100%;
  height: auto;
  background-color: #FFF;
  border-radius: 0 0 var(--s12) var(--s12);
  padding: var(--s60) var(--s60) var(--s80) var(--s60);
}
@media screen and (max-width: 767px) {
  body.recruit main .interview .int-cnt .inner .int-cnt-box {
    padding: var(--s40) 2.5%;
  }
}

/* .box */
body.recruit main .interview .int-cnt .inner .int-cnt-box .box {
  margin-bottom: var(--s60);
}
body.recruit main .interview .int-cnt .inner .int-cnt-box .box:last-of-type {
  margin-bottom: 0;
}

/* .boxA */
body.recruit main .interview .int-cnt .inner .int-cnt-box .boxA {
  width: 100%;
  height: auto;
  display: flex;
}
@media screen and (max-width: 767px) {
  body.recruit main .interview .int-cnt .inner .int-cnt-box .boxA {
    flex-direction: column;
  }
}
body.recruit main .interview .int-cnt .inner .int-cnt-box .boxA .boxA-l {
  width: calc(var(--s8) * 82.5); /* 660px */
  height: auto;
}
@media screen and (max-width: 767px) {
  body.recruit main .interview .int-cnt .inner .int-cnt-box .boxA .boxA-l {
    width: 100%;
  }
}
body.recruit main .interview .int-cnt .inner .int-cnt-box .boxA .boxA-r {
  width: calc(100% - var(--s8) * 82.5); /* 1080px - 660px */
  height: auto;
}
@media screen and (max-width: 767px) {
  body.recruit main .interview .int-cnt .inner .int-cnt-box .boxA .boxA-r {
    width: 100%;
  }
}
body.recruit main .interview .int-cnt .inner .int-cnt-box .boxA .boxA-l .boxA-l-ttl {
  gap: 0;
}
body.recruit main .interview .int-cnt .inner .int-cnt-box .boxA .boxA-l .boxA-l-ttl::after {
  display: block;
  content: '';
  height: 1px;
  background-color: var(--common_keycolor);
  flex: 1 1 auto;
}
@media screen and (max-width: 767px) {
  body.recruit main .interview .int-cnt .inner .int-cnt-box .boxA .boxA-l .boxA-l-ttl::after {
    display: none;
  }
}
body.recruit main .interview .int-cnt .inner .int-cnt-box .boxA .boxA-l .boxA-l-ttl .txt {
  color: var(--common_keycolor);
  font-size: var(--s22);
  font-weight: 700;
  line-height: 180%; /* 3.96rem */
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  body.recruit main .interview .int-cnt .inner .int-cnt-box .boxA .boxA-l .boxA-l-ttl .txt {
    font-size: var(--s18);
  }
}
body.recruit main .interview .int-cnt .inner .int-cnt-box .boxA .boxA-l .boxA-l-txt {
  margin-top: var(--s26);
  margin-right: var(--s40);
}
body.recruit main .interview .int-cnt .inner .int-cnt-box .boxA .boxA-l .boxA-l-txt p {
  font-weight: 500;
  line-height: 180%; /* 2.88rem */
}
@media screen and (max-width: 767px) {
  body.recruit main .interview .int-cnt .inner .int-cnt-box .boxA .boxA-l .boxA-l-txt {
    margin-top: var(--s8);
    margin-right: 0;
    margin-bottom: var(--s26);
  }
}
body.recruit main .interview .int-cnt .inner .int-cnt-box .boxA .boxA-l .boxA-l-txt p:last-of-type {
  margin-bottom: 0;
}

/* .boxB */
body.recruit main .interview .int-cnt .inner .int-cnt-box .boxB {
  width: 100%;
  height: auto;
  display: flex;
}
@media screen and (max-width: 767px) {
  body.recruit main .interview .int-cnt .inner .int-cnt-box .boxB {
    flex-direction: column;
  }
}
body.recruit main .interview .int-cnt .inner .int-cnt-box .boxB .boxB-l {
  width: calc(var(--s8) * 55); /* 440px */
  height: auto;
}
@media screen and (max-width: 767px) {
  body.recruit main .interview .int-cnt .inner .int-cnt-box .boxB .boxB-l {
    width: 100%;
    order: 2;
  }
}
body.recruit main .interview .int-cnt .inner .int-cnt-box .boxB .boxB-r {
  width: calc(100% - var(--s8) * 55); /* 1080px - 440px */
  height: auto;
}
@media screen and (max-width: 767px) {
  body.recruit main .interview .int-cnt .inner .int-cnt-box .boxB .boxB-r {
    width: 100%;
    order: 1;
  }
}
body.recruit main .interview .int-cnt .inner .int-cnt-box .boxB .boxB-r .boxB-r-ttl {
  gap: 0;
}
body.recruit main .interview .int-cnt .inner .int-cnt-box .boxB .boxB-r .boxB-r-ttl::before {
  display: block;
  content: '';
  height: 1px;
  background-color: var(--common_keycolor);
  flex: 1 1 auto;
}
@media screen and (max-width: 767px) {
  body.recruit main .interview .int-cnt .inner .int-cnt-box .boxB .boxB-r .boxB-r-ttl::before {
    display: none;
  }
}
body.recruit main .interview .int-cnt .inner .int-cnt-box .boxB .boxB-r .boxB-r-ttl .txt {
  color: var(--common_keycolor);
  font-size: var(--s22);
  font-weight: 700;
  line-height: 180%; /* 3.96rem */
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  body.recruit main .interview .int-cnt .inner .int-cnt-box .boxB .boxB-r .boxB-r-ttl .txt {
    font-size: var(--s18);
  }
}
body.recruit main .interview .int-cnt .inner .int-cnt-box .boxB .boxB-r .boxB-r-txt {
  margin-top: var(--s26);
  margin-left: var(--s40);
}
@media screen and (max-width: 767px) {
  body.recruit main .interview .int-cnt .inner .int-cnt-box .boxB .boxB-r .boxB-r-txt {
    margin-top: var(--s8);
    margin-left: 0;
    margin-bottom: var(--s26);
  }
}
body.recruit main .interview .int-cnt .inner .int-cnt-box .boxB .boxB-r .boxB-r-txt p {
  font-style: normal;
  font-weight: 500;
  line-height: 180%; /* 2.88rem */
}
body.recruit main .interview .int-cnt .inner .int-cnt-box .boxB .boxB-r .boxB-r-txt p:last-of-type {
  margin-bottom: 0;
}

/* .rec-contact */
body.recruit main .rec-contact {
  margin-bottom: var(--s120);
}
body.recruit main .rec-contact .rec-txt {
  background: linear-gradient(93deg, #18479F 0%, #2482D4 28.81%, #18479F 91.45%);
  padding-top: var(--s48);
  padding-right: 2.5%;
  padding-bottom: var(--s60);
  padding-left: 2.5%;
}
body.recruit main .rec-contact .rec-txt .txt {
  margin: 0 auto;
  color: #FFF;
  text-align: center;
  font-size: var(--s22);
  font-weight: 700;
  line-height: 180%; /* 3.96rem */
}
body.recruit main .rec-contact .rec-txt .txt a {
  color: #FFF;
  text-decoration-line: underline;
  text-decoration-style: solid;
  text-decoration-skip-ink: auto;
  text-decoration-thickness: auto;
  text-underline-offset: auto;
  text-underline-position: from-font;
}



/* ==========================
10) contact
----------------------------- */
body.contact main .contact-cnt .inner {
  margin-top: var(--s36);
  margin-bottom: var(--s120);
  max-width: calc(var(--s8) * 100); /* 800px */
}

body.contact main .contact-cnt .inner .lead {
  text-align: center;
  font-size: var(--s20);
  font-weight: 700;
  line-height: 170%; /* 3.4rem */
  margin-bottom: var(--s62);
}

/* form-group */
.form-group {
  width: 100%;
  height: auto;
  margin-bottom: var(--s32);
}
.form-group:last-of-type {
  margin-bottom: 0;
}
.form-group a {
  color: var(--common_keycolor);
}
.form-group label {
  font-size: var(--s16);
  font-weight: 500;
  line-height: 100%;
  margin-bottom: var(--s14);
  gap: var(--s8);
}
.form-group label.req::after {
  content: '(必須)';
  display: inline-block;
  color: #C8151C;
  font-size: var(--s12);
  font-weight: 500;
  line-height: 100%;
}
body.en-US .form-group label.req::after {
  content: '(Required)';
}
@media screen and (max-width: 767px) {
  .form-group .input-wrapper.flex {
    flex-direction: column;
  }
}
.form-group .radio-group {
  margin-right: var(--s24);
}
@media screen and (max-width: 767px) {
  .form-group .radio-group {
    margin-right: 0;
    margin-bottom: var(--s8);
  }
  .form-group .radio-group:last-of-type {
    margin-bottom: 0;
  }
}
.form-group .radio-group label {
  color: #000000;
  font-size: var(--s16);
  font-weight: 500;
  line-height: normal;
  display: flex;
  align-items: center;
  margin-bottom: 0;
}
.form-group .radio-group label span {
  margin-left: var(--s8);
  font-size: var(--s14);
}
.form-group .checkbox-group label {
  margin-bottom: 0;
  font-size: var(--s14);
  line-height: 150%; /* 2.1rem */
}
.form-group .w430 {
  max-width: calc(var(--s8) * 53.75); /* 430px */
  width: 100%;
}
.form-group .submit-box {
  flex-direction: column;
  align-items: center;
}
input[type="submit"],
input[type="button"] {
  display: inline-flex;
  width: calc(var(--s8) * 40);
  padding: var(--s24) var(--s12);
  justify-content: center;
  align-items: center;
  gap: var(--s12);
  border-radius: var(--s64);
  background: var(--common_keycolor);
  color: #FFFFFF;
  text-align: center;
  font-size: var(--s16);
  font-weight: 700;
  line-height: 100%;
  background-image: url(../img/bg_footer_cnt-btn.svg);
  background-repeat: no-repeat;
  background-position: center right var(--s24);
  background-size: var(--s24) var(--s24);
  transition: all 0.3s ease;
}
input[type="submit"]:hover,
input[type="button"]:hover {
  background-position: center right var(--s22);
  background-size: var(--s28) var(--s28);
}

.wpcf7 form.init .wpcf7-response-output,
.wpcf7 form.resetting .wpcf7-response-output,
.wpcf7 form.submitting .wpcf7-response-output {
  display: block !important;
  text-align: center;
}
.wpcf7 form .wpcf7-response-output {
  margin: 2em 0.5em 1em;
  padding: 0.2em 1em;
  text-align: center;
  border: none !important;
}
.wpcf7 form .hidden-fields-container {
  display: none !important;
}
.wpcf7 .screen-reader-response {
  display: none !important;
}
.wpcf7-radio label,
.wpcf7-checkbox label,
.wpcf7-acceptance label {
  display: flex;
  align-items: center;
}
.wpcf7-spinner {
  padding: var(--s12) !important;
  display: block !important;
}
@media screen and (max-width: 767px) {
  .wpcf7-list-item {
    display: block !important;
  }
}



/* ==========================
99) policy
----------------------------- */
body.policy main .policy-cnt .inner {
  margin: var(--s120) auto;
  max-width: var(--s1200);
}

body.policy main .policy-cnt .inner h3 {
  text-align: center;
  font-size: var(--s28);
  font-weight: 600;
  margin-bottom: var(--s32);
}
body.policy main .policy-cnt .inner h4 {
  font-size: var(--s24);
  font-weight: 500;
}
body.policy main .policy-cnt .inner p {
  font-weight: 400;
}
body.policy main .policy-cnt .inner p a {
  color: var(--common_color);
}
