@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) company
03) business
04) shareholders
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,
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(--s30);
  width: calc(var(--s8) * 51); /* 408px */
  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: auto;
  height: 100%;
  column-gap: var(--s50);
  margin-right: var(--s30);
}
@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: auto;
  column-gap: var(--s30);
}
@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(--s15);
  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: var(--common_keycolor);
  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.business header .inner .gnav .lst .itm.business a .c_bar,
body.company header .inner .gnav .lst .itm.company a .c_bar,
body.contact header .inner .gnav .lst .itm.contact a .c_bar,
body.shareholders header .inner .gnav .lst .itm.shareholders a .c_bar {
  transform: scaleX(1);
  transition: all 0.3s ease;
}
header .inner .gnav .lng-btn {
  gap: var(--s4);
}
header .inner .gnav .lng-btn a {
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px solid rgba(0,0,0,0);
  color: #8D8D8D;
  font-family: var(--ff-p);
  font-size: var(--s15);
  font-weight: 500;
  line-height: 100%; /* 1.4rem */
}
header .inner .gnav .lng-btn a.current {
  color: var(--common_keycolor);
  border-bottom: 1px solid var(--common_keycolor);
}
header .inner .gnav .cnt-btn {
  width: calc(var(--s8) * 18.75); /* 150px */
  height: 100%;
}
@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 {
  width: 100%;
  height: var(--s50);
  color: #FFFFFF;
  text-align: center;
  font-size: var(--s15);
  font-weight: 700;
  line-height: 100%; /* 1.6rem */
  background-color: var(--common_keycolor);
  border-radius: var(--s26);
  display: flex;
  justify-content: center;
  align-items: center;
  transition: all 0.3s ease;
}
header .inner .gnav .cnt-btn a .txt {
  position: relative;
  transition: all 0.3s ease;
  z-index: 1;
}
header .inner .gnav .cnt-btn a:hover {
  background-color: #FFFFFF;
  border: 1px solid var(--common_keycolor);
}
header .inner .gnav .cnt-btn a:hover .txt {
  color: var(--common_keycolor);
}



/* .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%;
  }
}

/* common margin-top */
main section.mt20 {
  margin-top: calc(var(--s8) * 2.5); /* 20px */
}
main section.mt40 {
  margin-top: calc(var(--s8) * 5); /* 40px */
}
main section.mt60 {
  margin-top: calc(var(--s8) * 7.5); /* 60px */
}
main section.mt80 {
  margin-top: calc(var(--s8) * 10); /* 80px */
}
main section.mt100 {
  margin-top: calc(var(--s8) * 12.5); /* 100px */
}
main section.mt120 {
  margin-top: calc(var(--s8) * 15); /* 120px */
}
main section.mt140 {
  margin-top: calc(var(--s8) * 17.5); /* 140px */
}
main section.mt160 {
  margin-top: calc(var(--s8) * 20); /* 160px */
}

/* common margin-bottom */
main section.mb20 {
  margin-bottom: calc(var(--s8) * 2.5); /* 20px */
}
main section.mb40 {
  margin-bottom: calc(var(--s8) * 5); /* 40px */
}
main section.mb60 {
  margin-bottom: calc(var(--s8) * 7.5); /* 60px */
}
main section.mb80 {
  margin-bottom: calc(var(--s8) * 10); /* 80px */
}
main section.mb100 {
  margin-bottom: calc(var(--s8) * 12.5); /* 100px */
}
main section.mb120 {
  margin-bottom: calc(var(--s8) * 15); /* 120px */
}
main section.mb140 {
  margin-bottom: calc(var(--s8) * 17.5); /* 140px */
}
main section.mb160 {
  margin-bottom: calc(var(--s8) * 20); /* 160px */
}

/* common padding-top */
main section.pt20 {
  padding-top: calc(var(--s8) * 2.5); /* 20px */
}
main section.pt40 {
  padding-top: calc(var(--s8) * 5); /* 40px */
}
main section.pt60 {
  padding-top: calc(var(--s8) * 7.5); /* 60px */
}
main section.pt80 {
  padding-top: calc(var(--s8) * 10); /* 80px */
}
main section.pt100 {
  padding-top: calc(var(--s8) * 12.5); /* 100px */
}
main section.pt120 {
  padding-top: calc(var(--s8) * 15); /* 120px */
}
main section.pb140 {
  padding-top: calc(var(--s8) * 17.5); /* 140px */
}
main section.pb160 {
  padding-top: calc(var(--s8) * 20); /* 160px */
}

/* common padding-bottom */
main section.pb20 {
  padding-bottom: calc(var(--s8) * 2.5); /* 20px */
}
main section.pb40 {
  padding-bottom: calc(var(--s8) * 5); /* 40px */
}
main section.pb60 {
  padding-bottom: calc(var(--s8) * 7.5); /* 60px */
}
main section.pb80 {
  padding-bottom: calc(var(--s8) * 10); /* 80px */
}
main section.pb100 {
  padding-bottom: calc(var(--s8) * 12.5); /* 100px */
}
main section.pb120 {
  padding-bottom: calc(var(--s8) * 15); /* 120px */
}
main section.pb140 {
  padding-bottom: calc(var(--s8) * 17.5); /* 140px */
}
main section.pb160 {
  padding-bottom: calc(var(--s8) * 20); /* 160px */
}

@media screen and (max-width: 767px) {
  /* common margin-top */
  main section.mt20 {
    margin-top: calc(var(--s8) * 1.25); /* 10px */
  }
  main section.mt40 {
    margin-top: calc(var(--s8) * 2.5); /* 20px */
  }
  main section.mt60 {
    margin-top: calc(var(--s8) * 3.75); /* 30px */
  }
  main section.mt80 {
    margin-top: calc(var(--s8) * 5); /* 40px */
  }
  main section.mt100 {
    margin-top: calc(var(--s8) * 6.25); /* 50px */
  }
  main section.mt120 {
    margin-top: calc(var(--s8) * 7.5); /* 60px */
  }
  main section.mt140 {
    margin-top: calc(var(--s8) * 8.75); /* 70px */
  }
  main section.mt160 {
    margin-top: calc(var(--s8) * 10); /* 80px */
  }

  /* common margin-bottom */
  main section.mb20 {
    margin-bottom: calc(var(--s8) * 1.25); /* 10px */
  }
  main section.mb40 {
    margin-bottom: calc(var(--s8) * 2.5); /* 20px */
  }
  main section.mb60 {
    margin-bottom: calc(var(--s8) * 3.75); /* 30px */
  }
  main section.mb80 {
    margin-bottom: calc(var(--s8) * 5); /* 40px */
  }
  main section.mb100 {
    margin-bottom: calc(var(--s8) * 6.25); /* 50px */
  }
  main section.mb120 {
    margin-bottom: calc(var(--s8) * 7.5); /* 60px */
  }
  main section.mb140 {
    margin-bottom: calc(var(--s8) * 8.75); /* 70px */
  }
  main section.mb160 {
    margin-bottom: calc(var(--s8) * 10); /* 80px */
  }

  /* common padding-top */
  main section.pt20 {
    padding-top: calc(var(--s8) * 1.25); /* 10px */
  }
  main section.pt40 {
    padding-top: calc(var(--s8) * 2.5); /* 20px */
  }
  main section.pt60 {
    padding-top: calc(var(--s8) * 3.75); /* 30px */
  }
  main section.pt80 {
    padding-top: calc(var(--s8) * 5); /* 40px */
  }
  main section.pt100 {
    padding-top: calc(var(--s8) * 6.25); /* 50px */
  }
  main section.pt120 {
    padding-top: calc(var(--s8) * 7.5); /* 60px */
  }
  main section.pb140 {
    padding-top: calc(var(--s8) * 8.75); /* 70px */
  }
  main section.pb160 {
    padding-top: calc(var(--s8) * 10); /* 80px */
  }

  /* common padding-bottom */
  main section.pb20 {
    padding-bottom: calc(var(--s8) * 1.25); /* 10px */
  }
  main section.pb40 {
    padding-bottom: calc(var(--s8) * 2.5); /* 20px */
  }
  main section.pb60 {
    padding-bottom: calc(var(--s8) * 3.75); /* 30px */
  }
  main section.pb80 {
    padding-bottom: calc(var(--s8) * 5); /* 40px */
  }
  main section.pb100 {
    padding-bottom: calc(var(--s8) * 6.25); /* 50px */
  }
  main section.pb120 {
    padding-bottom: calc(var(--s8) * 7.5); /* 60px */
  }
  main section.pb140 {
    padding-bottom: calc(var(--s8) * 8.75); /* 70px */
  }
  main section.pb160 {
    padding-bottom: calc(var(--s8) * 10); /* 80px */
  }
}

main section article.w1200 {
  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;
}
main section article.w1000 {
  width: 100%;
  max-width: var(--s1000);
  margin: 0 auto;
  height: auto;
}
@media screen and (max-width: 767px) {
  main section article.w1200,
  main section article.w1080,
  main section article.w1000 {
    padding-right: 2.5%;
    padding-left: 2.5%;
  }
}
main section article.mb40 {
  margin-bottom: var(--s40)!important;
}

/* ttlA */
.ttlA {
  gap: var(--s10);
  color: var(--common_keycolor);
}
@media screen and (max-width: 767px) {
  .ttlA {
    width: 100%;
    flex-direction: column;
    align-items: center;
  }
}
.ttlA.colw {
  color: #FFFFFF;
}
.ttlA .en {
  font-family: var(--ff-p);
  font-size: var(--s72);
  font-weight: 500;
  line-height: 100%; /* 7.2rem */
}
.ttlA .jp {
  font-size: var(--s26);
  font-weight: 700;
  line-height: 100%; /* 2.6rem */
  letter-spacing: 0.156rem;
  margin-bottom: var(--s12);
}
@media screen and (max-width: 767px) {
  .ttlA .en {
    font-size: var(--s64);
  }
  .ttlA .jp {
    font-size: var(--s24);
  }
  .en_US .ttlA .en {
    margin-bottom: var(--s16);
  }
}
@media screen and (max-width: 375px) {
  .ttlA .en {
    font-size: var(--s48);
  }
  .ttlA .jp {
    font-size: var(--s22);
  }
}
@media screen and (max-width: 320px) {
  .ttlA .en {
    font-size: var(--s36);
  }
  .ttlA .jp {
    font-size: var(--s20);
  }
}

/* ttlB */
.ttlB {
  color: var(--common_keycolor);
  text-align: center;
}
.ttlB .jp {
  font-size: var(--s36);
  font-weight: 600;
  line-height: 160%; /* 5.76rem */
  letter-spacing: 0.156rem;
  margin-bottom: var(--s20);
}
@media screen and (max-width: 767px) {
  .ttlB .jp {
    font-size: var(--s30);
  }
}
@media screen and (max-width: 360px) {
  .ttlB .jp {
    font-size: var(--s28);
  }
}
@media screen and (max-width: 320px) {
  .ttlB .jp {
    font-size: var(--s24);
  }
}

/* ttlC */
.ttlC {
  display: flex;
  gap: var(--s40);
  margin-bottom: var(--s30);
}
@media screen and (max-width: 767px) {
  .ttlC {
    flex-direction: column;
    gap: var(--s20);
    margin-bottom: var(--s20);
    align-items: center;
  }
}
.ttlC .jp {
  font-size: var(--s28);
  font-weight: 600;
  line-height: 160%; /* 4.48rem */
  letter-spacing: 0.168rem;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .ttlC .jp {
    font-size: var(--s24);
    white-space: wrap;
    display: flex;
  }
}
@media screen and (max-width: 375px) {
  .ttlC .jp {
    font-size: var(--s22);
  }
}
@media screen and (max-width: 320px) {
  .ttlC .jp {
    font-size: var(--s18);
  }
}
.ttlC .jp::before {
  content: "●";
  font-size: var(--s28);
  font-weight: 600;
  line-height: 160%; /* 4.48rem */
  color: #6BC6F0;
  margin-right: var(--s10);
}
@media screen and (max-width: 767px) {
  .ttlC .jp::before {
    font-size: var(--s24);
  }
}
@media screen and (max-width: 375px) {
  .ttlC .jp::before {
    font-size: var(--s22);
  }
}
@media screen and (max-width: 320px) {
  .ttlC .jp::before {
    font-size: var(--s18);
  }
}
.ttlC .txt {
  font-size: var(--s16);
  font-weight: 400;
  line-height: 180%; /* 2.88rem */
}



/* ==========================
03) footer
----------------------------- */
footer {
  width: 100%;
  height: auto;
  border-radius: var(--s40) var(--s40) 0 0;
  color: #FFFFFF;
  background-color: #12284B;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  footer {
    border-radius: var(--s20) var(--s20) 0 0;
  }
}
footer .inner {
  width: 100%;
  max-width: var(--s1000);
  height: auto;
  margin: 0 auto;
  padding: var(--s80) 0;
}

/* .inner.contact */
footer .inner.contact {
  border-radius: 0 0 var(--s40) var(--s40);
  background-image: url(/img/bg_footer_contact.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
@media screen and (max-width: 767px) {
  footer .inner.contact {
    border-radius: 0 0 var(--s20) var(--s20);
  }
}
footer .inner.contact .contact-box {
  width: 100%;
  max-width: var(--s1000);
  height: auto;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  footer .inner.contact .contact-box {
    padding-right: 5%;
    padding-left: 5%;
  }
  footer .inner.contact .contact-box .btn {
    width: 100%;
    display: flex;
    justify-content: center;
  }
}

/* .inner.logo-adr-sitemap */
footer .inner.logo-adr-sitemap .logo img {
  width: calc(var(--s8) * 51);
  height: auto;
}
@media screen and (max-width: 767px) {
  footer .inner.logo-adr-sitemap .logo img {
    width: 100%;
  }
}
footer .inner.logo-adr-sitemap .office_adr-sitemap .office_adr .office_adr_box {
  margin: var(--s40) 0;
}
footer .inner.logo-adr-sitemap .office_adr-sitemap .office_adr .office_adr_box a {
  color: #FFFFFF;
}
footer .inner.logo-adr-sitemap .office_adr-sitemap .office_adr .office_adr_box .office_name {
  font-size: var(--s16);
  font-weight: 500;
  line-height: 100%; /* 1.6rem */
  margin-bottom: var(--s10);
  flex-direction: column;
  gap: var(--s10);
}
footer .inner.logo-adr-sitemap .office_adr-sitemap .office_adr .office_adr_box .office_adr_tokyo,
footer .inner.logo-adr-sitemap .office_adr-sitemap .office_adr .office_adr_box .office_adr_singapore {
  font-size: var(--s14);
  font-weight: 400;
  line-height: 180%; /* 2.52rem */
  letter-spacing: 0.056rem;
}
footer .inner.logo-adr-sitemap .office_adr-sitemap .sitemap {
  margin: var(--s40) 0;
  gap: var(--s40);
}
footer .inner.logo-adr-sitemap .office_adr-sitemap .sitemap a {
  color: #FFFFFF;
  font-size: var(--s15);
}
footer .inner.logo-adr-sitemap .office_adr-sitemap .sitemap .sitemap-lst {
  gap: var(--s30);
  flex-direction: column;
}
@media screen and (max-width: 767px) {
  footer .inner.logo-adr-sitemap {
    padding-right: 5%;
    padding-left: 5%;
  }
  footer .inner.logo-adr-sitemap .office_adr-sitemap {
    justify-content: center;
  }
}

/* .copyright */
footer .inner .copyright {
  text-align: right;
  font-size: var(--s16);
  font-family: var(--ff-p);
  font-style: normal;
  font-weight: 400;
  line-height: 100%; /* 1.3rem */
}
@media screen and (max-width: 767px) {
  footer .inner .copyright {
    text-align: center;
  }
}


/* ==========================
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;
  margin-bottom: var(--s48);
}
.tblA a {
  color: var(--common_color);
}
@media screen and (max-width: 767px) {
  .tblA {
    flex-direction: column;
  }
}
.tblA:last-of-type {
  margin-bottom: 0;
}
.tblA .tbl-ttl {
  height: auto;
  padding: var(--s24) 0;
  border-bottom: 1px solid #E4E4E4;
  font-weight: 500;
  line-height: 150%; /* 2.4rem */
  width: 30%; /* default */
}
@media screen and (max-width: 767px) {
  .tblA .tbl-ttl {
    padding: var(--s24) 0 var(--s12) 0;
    border-bottom: none;
    width: 100%; /* default */
  }
}
.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(--s24) 0;
  font-weight: 400;
  border-bottom: 1px solid #E4E4E4;
  width: 70%; /* default */
}
@media screen and (max-width: 767px) {
  .tblA .tbl-cnt {
    padding: var(--s12) 0 var(--s24) 0;
    width: 100%; /* default */
  }
}
.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;
  overflow: hidden;
  border: 1px solid #E4E4E4;
  margin-bottom: var(--s48);
}
.tblB.mb0 {
  margin-bottom: 0;
}
.tblB .tbl-ttl {
  width: 100%;
  height: auto;
  padding: var(--s20);
  color: #FFF;
  text-align: center;
  font-size: var(--s18);
  font-weight: 700;
  line-height: 100%; /* 1.8rem */
  border-bottom: 1px solid #E4E4E4;
  border-radius: var(--s4);
  background: var(--common_keycolor);
}
@media screen and (max-width: 767px) {
  .tblB .tbl-ttl {
    font-size: var(--s14);
  }
}
.tblB .tbl-cnt {
  width: 100%;
  height: auto;
  padding: var(--s20);
  font-size: var(--s16);
  font-weight: 400;
  line-height: 100%; /* 1.6rem */
  border-bottom: 1px solid #E4E4E4;
}
.tblB .tbl-cnt:last-of-type {
  border-bottom: none;
}
@media screen and (max-width: 767px) {
  .tblB .tbl-cnt {
    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;
  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) * 40); /* 320px */
  height: var(--s60);
  justify-content: center;
  align-items: center;
  gap: var(--s12);
  align-self: stretch;
  border-radius: var(--s30);
  background: var(--common_keycolor);
  color: #FFF !important;
  text-align: center;
  font-size: var(--s16);
  font-weight: 700;
  line-height: 100%; /* 1.6rem */
  position: relative;
  overflow: hidden;
  transition: all 0.3s ease;
}
.btnA:hover {
  border: 1px solid var(--common_keycolor);
}
.btnA::before {
  content: "";
  width: var(--s22);
  height: var(--s22);
  position: absolute;
  right: var(--s20);
  background-color: #FFF;
  border-radius: 50%;
  transition: all 0.3s ease;
  z-index: 0;
}
.btnA:hover::before {
  transform: scale(50);
}
.btnA::after {
  content: "";
  width: var(--s22);
  height: var(--s22);
  background-image: url(../img/bg_btnA_arrow_w.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  position: absolute;
  right: var(--s20);
  border-radius: 50%;
  transition: all 0.3s ease;
  z-index: 1;
}
.btnA:hover::after {
  transform: scale(2);
}
.btnA .txt {
  position: relative;
  z-index: 2;
  transition: all 0.3s ease;
}
.btnA:hover .txt {
  color: var(--common_keycolor);
}
.btnA.colw {
  display: flex;
  width: calc(var(--s8) * 40); /* 320px */
  height: var(--s60);
  justify-content: center;
  align-items: center;
  gap: var(--s12);
  align-self: stretch;
  border-radius: var(--s30);
  background: #FFF;
  color: var(--common_keycolor) !important;
  text-align: center;
  font-size: var(--s16);
  font-weight: 700;
  line-height: 100%; /* 1.6rem */
  position: relative;
}
.btnA.colw::before {
  width: var(--s22);
  height: var(--s22);
  position: absolute;
  right: var(--s20);
  background-color: var(--common_keycolor);
  border-radius: 50%;
  transition: all 0.3s ease;
  z-index: 0;
}
.btnA.colw:hover::before {
  transform: scale(50);
}
.btnA.colw::after {
  content: "";
  width: var(--s22);
  height: var(--s22);
  background-image: url(../img/bg_btnA_arrow_b.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  position: absolute;
  right: var(--s20);
  transition: all 0.3s ease;
  z-index: 1;
}
.btnA.colw .txt {
  position: relative;
  z-index: 2;
  transition: all 0.3s ease;
}
.btnA.colw:hover .txt {
  color: #FFF;
}

/* typeB */
.btnB {
  display: flex;
  width: 100%;
  height: 100%;
  justify-content: center;
  align-items: center;
  font-size: var(--s16);
  font-style: normal;
  font-weight: 500;
  line-height: 100%; /* 1.6rem */
  color: var(--common_color);
}
.btnB::after {
  content: "";
  width: var(--s22);
  height: var(--s22);
  margin-left: var(--s16);
  background-image: url(/img/bg_btnB_arrow_b.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}



/* ==========================
07) page
----------------------------- */
body.page {
  padding-top: var(--common_header_height);
}

/* .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 */
.page main .outer.mv {
  width: 100%;
  /* aspect-ratio: 1380 / 400; */
  aspect-ratio: 1380 / 385;
  overflow: hidden;
  position: relative;
}
@media screen and (min-width: 1440px) {
  .page main .outer.mv {
    width: 100%;
    height: calc(var(--s8) * 50); /* 400px */
  }
}
@media screen and (max-width: 767px) {
  .page main .outer.mv {
    aspect-ratio: 16 / 9;
  }
}
.page main .outer.mv .inner {
  width: calc(100% - var(--s60));
  height: 100%;
  margin: 0 auto;
  background-color: #EEEEEE;
  overflow: hidden;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  border-radius: var(--s40);
  position: relative;
}
@media screen and (max-width: 767px) {
  .page main .outer.mv .inner {
    width: 100%;
    border-radius: var(--s20);
  }
}
.page main .outer.mv .inner .ttl {
  width: 100%;
  max-width: var(--s1000);
  height: auto;
  position: absolute;
  top: calc(var(--s8) * 17.5); /* 140px */
  left: 50%;
  color: #FFF;
  transform: translateX(-50%);
}
@media screen and (max-width: 767px) {
  .page main .outer.mv .inner .ttl {
    top: 50%;
    transform: translate(-50%, -50%);
    padding: 0 5%;
  }
}
.page main .outer.mv .inner .ttl .en {
  text-shadow: 0 0 4px rgba(1, 57, 156, 0.25);
  font-family: var(--ff-p);
  font-size: calc(var(--s8) * 9); /* 72px */
  font-weight: 500;
  line-height: 100%; /* 7.2rem */
  margin-bottom: var(--s8);
}
.page main .outer.mv .inner .ttl .jp {
  text-shadow: 0 0 4px #01399C;
  font-size: var(--s24);
  font-weight: 700;
  line-height: 100%; /* 2.4rem */
  letter-spacing: 0.144rem;
}

@media screen and (max-width: 767px) {
  .page main .outer.mv .inner .ttl .en {
    font-size: var(--s36);
  }
  .page main .outer.mv .inner .ttl .jp {
    font-size: var(--s20);
  }
}



.page.company main .outer.mv .inner {
  background-image: url(/img/bg_page_company_mv.jpg);
}
.page.business main .outer.mv .inner {
  background-image: url(/img/bg_page_business_mv.jpg);
}
.page.contact main .outer.mv .inner,
.page.policy main .outer.mv .inner {
  background-image: url(/img/bg_page_contact_mv.jpg);
}
.page.shareholders main .outer.mv .inner {
  background-image: url(/img/bg_page_shareholders_mv.jpg);
}

/* .lnk-lst */
body.page .lnk-lst .inner {
  margin: calc(var(--s8) * 6.25) auto calc(var(--s8) * 12.5) auto;
  width: 100%;
  max-width: var(--s1000);
  height: calc(var(--s8) * 12.5); /* 100px */
  border-radius: var(--s20);
  overflow: hidden;
  background: #E6F0F7;
}
body.page .lnk-lst .inner .lnk-lst-box {
  gap: calc(var(--s8) * 6.25); /* 50px */
}
@media screen and (max-width: 767px) {
  body.page .lnk-lst .inner {
    width: 100%;
    height: auto;
    padding: var(--s24) 0;
  }
  body.page .lnk-lst .inner .lnk-lst-box {
    flex-direction: column;
    gap: var(--s24);
  }
}

/* .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;
  width: 100%;
  max-width: var(--s1000);
  height: auto;
}
.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(--s4);
  margin-right: var(--s4);
}
.pankuzu .pankuzu-box .pkz-lst .itm.current {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.pankuzu .pankuzu-box .pkz-lst .itm::after {
  content: "＞";
  color: #BEC0C6;
}
.pankuzu .pankuzu-box .pkz-lst .itm:last-child::after {
  display: none;
}
.pankuzu .pankuzu-box .pkz-lst .itm a {
  color: #BEC0C6;
  white-space: nowrap;
}



/* ==========================
00) home
----------------------------- */
/* common css */

/* unique css */
/* .mv */
.home main .outer.mv {
  width: 100%;
  /* aspect-ratio: 1380 / 700; */
  aspect-ratio: 1380 / 675;
  overflow: hidden;
  position: relative;
}
@media screen and (min-width: 1440px) {
  .home main .outer.mv {
    width: 100%;
    height: calc(var(--s8) * 87.5); /* 700px */
  }
}
@media screen and (max-width: 767px) {
  .home main .outer.mv {
    margin-top: var(--s64);
    aspect-ratio: 9 / 13;
  }
}
.home main .outer.mv .inner {
  width: calc(100% - var(--s60));
  height: 100%;
  margin: 0 auto;
  background-color: #EEEEEE;
  overflow: hidden;
  background-image: url(/img/bg_home_mv.jpg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  border-radius: var(--s40);
  position: relative;
}
@media screen and (max-width: 767px) {
  .home main .outer.mv .inner {
    width: calc(100% - 5%);
    border-radius: var(--s20);
  }
}
.home main .outer.mv .inner .copy {
  position: absolute;
  top: calc(var(--s8) * 27); /* 216px */
  left: calc(var(--s8) * 11.25); /* 90px */
  font-feature-settings: 'palt' on;
  text-shadow: 0 0 4px rgba(255, 255, 255, 0.40);
  font-size: var(--s38);
  font-style: normal;
  font-weight: 700;
  line-height: 150%; /* 5.7rem */
  letter-spacing: 0.304rem;
}
.home main .outer.mv .inner .copy .partner {
  color: var(--common_keycolor);
  font-feature-settings: 'palt' on;
  font-size: var(--s38);
  font-weight: 700;
  line-height: 150%;
  letter-spacing: 0.304rem;
}
@media screen and (max-width: 767px) {
  .home main .outer.mv .inner .copy {
    width: calc(100% - 10%);
    top: 25%;
    left: 50%;
    transform: translateX(-50%);
    font-size: var(--s28);
  }
  .home main .outer.mv .inner .copy .partner {
    font-size: var(--s28);
  }
}
@media screen and (max-width: 375px) {
  .home main .outer.mv .inner .copy {
    font-size: var(--s24);
  }
  .home main .outer.mv .inner .copy .partner {
    font-size: var(--s24);
  }
}
@media screen and (max-width: 320px) {
  .home main .outer.mv .inner .copy {
    font-size: var(--s20);
  }
  .home main .outer.mv .inner .copy .partner {
    font-size: var(--s20);
  }
}

/* .news */
.home main .outer.mv .inner .news {
  position: absolute;
  bottom: calc(var(--s8) * 6); /* 48px */
  left: 50%;
  transform: translateX(-50%);
  width: calc(100% - var(--s18) * 10);
  padding: var(--s22) var(--s42);
  border-radius: var(--s60);
  background: rgba(255, 255, 255, 0.80);
}
@media screen and (max-width: 767px) {
  .home main .outer.mv .inner .news {
    bottom: 1.75%;
    width: calc(100% - 5%);
    border-radius: var(--s20);
  }
}
.home main .outer.mv .inner .news .dat-txt {
  gap: var(--s40);
}
@media screen and (max-width: 767px) {
  .home main .outer.mv .inner .news .dat-txt {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--s16);
  }
}
.home main .outer.mv .inner .news .dat-txt .dat {
  font-family: var(--ff-p);
  font-size: var(--s16);
  font-weight: 400;
  line-height: 100%; /* 1.6rem */
  letter-spacing: 0.08rem;
}
.home main .outer.mv .inner .news .dat-txt .txt a {
  font-size: var(--s15);
  font-style: normal;
  font-weight: 400;
  line-height: 150%; /* 2.25rem */
  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;
}
.home main .outer.mv .inner .news .dat-txt .txt a::after {
  content: "";
  width: var(--s18);
  height: var(--s20);
  background-image: url(../img/icn_pdf.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  display: inline-block;
  margin-left: var(--s6);
  vertical-align: middle;
}

/* .about */
.home main .outer.about {
  width: 100%;
  /* height: 100dvh; */
  aspect-ratio: 1380 / 856;
  overflow: hidden;
  position: relative;
}
@media screen and (max-width: 767px) {
  .home main .outer.about {
    aspect-ratio: 9 / 16;
  }
}
@media screen and (min-width: 1440px) {
  .home main .outer.about {
    height: calc(var(--s8) * 111); /* 888px */
  }
}
.home main .outer.about .inner {
  width: 100%;
  height: 100%;
  margin: 0 auto;
  overflow: hidden;
  background-image: url(/img/bg_home_about.png);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  position: relative;
}
@media screen and (max-width: 767px) {
  .home main .outer.about .inner {
    background-image: url(/img/bg_home_about_sp.png);
  background-position: top center;
    background-size: contain;
  }
}
@media screen and (min-width: 1440px) {
  .home main .outer.about .inner {
    background-size: contain;
  }
}
.home main .outer.about .inner .ttl-txt {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: calc(var(--s8) * 60); /*480px*/
  height: auto;
  border-radius: var(--s20);
  background-color: rgba(53, 63, 188, 0.95);
  color: #FFF;
  padding: var(--s80) var(--s40);
}
@media screen and (max-width: 767px) {
  .home main .outer.about .inner .ttl-txt {
    width: 95%;
    padding: 10% 5%;
  }
}
.home main .outer.about .inner .ttl-txt .ttl-txt-box .ttl {
  text-align: center;
  margin-bottom: var(--s56);
}
.home main .outer.about .inner .ttl-txt .ttl-txt-box .txt {
  margin-bottom: 0;
}
.home main .outer.about .inner .ttl-txt .ttl-txt-box .ttl .en {
  font-family: var(--ff-p);
  font-size: var(--s56);
  font-weight: 500;
  line-height: 100%; /* 5.6rem */
  margin-bottom: var(--s10);
}
  .home main .outer.about .inner .ttl-txt .ttl-txt-box .ttl .jp {
  font-size: var(--s20);
  font-weight: 700;
  line-height: 100%; /* 2rem */
  letter-spacing: 0.12rem;
}
@media screen and (max-width: 360px) {
  .home main .outer.about .inner .ttl-txt .ttl-txt-box .ttl .en {
    font-size: var(--s64);
  }
  .home main .outer.about .inner .ttl-txt .ttl-txt-box .ttl .jp {
    font-size: var(--s22);
  }
}
@media screen and (max-width: 320px) {
  .home main .outer.about .inner .ttl-txt .ttl-txt-box .ttl .en {
    font-size: var(--s36);
  }
  .home main .outer.about .inner .ttl-txt .ttl-txt-box .ttl .jp {
    font-size: var(--s20);
  }
}


/* .company */
.home main .outer.company {
  border-radius: var(--s40) var(--s40) 0 0;
  background-color: #E4F5FD;
  margin-bottom: calc(var(--s40) * -1);
}
@media screen and (max-width: 767px) {
  .home main .outer.company {
    padding-right: 2.5%;
    padding-left: 2.5%;
  }
}
.home main .outer.company .inner .ttl-box {
  width: 100%;
  max-width: var(--s1000);
  height: auto;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .home main .outer.company .inner .ttl-box .btn {
    width: 100%;
    display: flex;
    justify-content: center;
  }
}
.home main .outer.company .inner.company-crd-box {
  width: calc(100% - var(--s60));
  max-width: var(--s1440);
  margin: calc(var(--s8) * 8.5) auto 0 auto;
}
@media screen and (max-width: 767px) {
  .home main .outer.company .inner.company-crd-box {
    flex-direction: column;
    align-items: center;
  }
}
.home main .outer.company .inner.company-crd-box .company-crd {
  width: calc(var(--s8) * 40.875); /* 326px */
  height: calc(var(--s8) * 54.5); /* 436px */
  border-radius: var(--s20);
  background-color: #FFFFFF;
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  display: block;
  position: relative;
  box-shadow: 0 0 20px 0 rgba(107, 198, 240, 0.20);
  transition: all 0.3s ease;
}
@media screen and (max-width: 767px) {
  .home main .outer.company .inner.company-crd-box .company-crd {
    width: 100%;
    height: auto;
    aspect-ratio: 326 / 436;
  }
}
.home main .outer.company .inner.company-crd-box .company-crd:hover {
  transform: scale(1.025);
}
.home main .outer.company .inner.company-crd-box .company-crd.message {
  background-image: url(/img/bg_home_message.jpg);
}
.home main .outer.company .inner.company-crd-box .company-crd.vision {
  background-image: url(/img/bg_home_vision.jpg);
}
.home main .outer.company .inner.company-crd-box .company-crd.overview {
  background-image: url(/img/bg_home_overview.jpg);
}
.home main .outer.company .inner.company-crd-box .company-crd.access {
  background-image: url(/img/bg_home_access.jpg);
}
.home main .outer.company .inner.company-crd-box .company-crd:nth-child(even) {/* 偶数 */
  margin-top: var(--s60);
}
@media screen and (max-width: 767px) {
  .home main .outer.company .inner.company-crd-box .company-crd:nth-child(even) {
    margin-top: 0;
  }
  .home main .outer.company .inner.company-crd-box .company-crd {
    margin-bottom: var(--s60);
  }
}
.home main .outer.company .inner.company-crd-box .company-crd .label {
  position: absolute;
  top: var(--s36);
  left: var(--s24);
  color: #FFFFFF;
  font-size: var(--s24);
  font-weight: 600;
  line-height: 100%; /* 2.4rem */
  letter-spacing: 0.144rem;
}
@media screen and (max-width: 360px) {
  .home main .outer.company .inner.company-crd-box .company-crd .label {
    font-size: var(--s18);
  }
}
@media screen and (max-width: 320px) {
  .home main .outer.company .inner.company-crd-box .company-crd .label {
    font-size: var(--s16);
  }
}
.home main .outer.company .inner.company-crd-box .company-crd::after {
  content: "";
  position: absolute;
  bottom: var(--s30);
  right: var(--s30);
  width: var(--s36);
  height: var(--s36);
  background-image: url(/img/icn_company-crd_arrow.svg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
}

/* .business */
.home main .outer.business {
  border-radius: var(--s40) var(--s40) 0 0;
  background-color: #E4F5FD;
  margin-bottom: calc(var(--s40) * -1);
  background-image: url(/img/bg_home_business.jpg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}
@media screen and (max-width: 767px) {
  .home main .outer.business {
    padding-right: 2.5%;
    padding-left: 2.5%;
  }
}
.home main .outer.business .inner .ttl-box {
  width: 100%;
  max-width: var(--s1000);
  height: auto;
  margin: 0 auto;
  border-radius: var(--s40) var(--s40) 0 0;
}
@media screen and (max-width: 767px) {
  .home main .outer.business .inner .ttl-box .btn {
    width: 100%;
    display: flex;
    justify-content: center;
  }
}
.home main .outer.business .inner.business-crd-box {
  width: calc(100% - var(--s60));
  max-width: var(--s1000);
  margin: calc(var(--s8) * 8.5) auto 0 auto;
}
@media screen and (max-width: 767px) {
  .home main .outer.business .inner.business-crd-box {
    flex-direction: column;
    align-items: center;
    gap: var(--s60);
  }
}
.home main .outer.business .inner.business-crd-box .business-crd {
  width: calc(var(--s8) * 40); /*  320px */
  height: calc(var(--s8) * 67.75); /* 542px */
  border-radius: var(--s20);
  background-color: #FFFFFF;
  display: block;
  position: relative;
  box-shadow: 0 0 20px 0 rgba(107, 198, 240, 0.20);
  overflow: hidden;
  transition: all 0.3s ease;
}
.home.en_US main .outer.business .inner.business-crd-box .business-crd {
  height: calc(var(--s8) * 75); /* 600px */
}
@media screen and (max-width: 767px) {
  .home main .outer.business .inner.business-crd-box .business-crd {
    width: 100%;
    height: auto;
    padding-bottom: var(--s24);
  }
  .home.en_US main .outer.business .inner.business-crd-box .business-crd {
    height: auto;
  }
}
.home main .outer.business .inner.business-crd-box .business-crd:hover {
  transform: scale(1.025);
}
.home main .outer.business .inner.business-crd-box .business-crd .img {
  width: 100%;
  height: calc(var(--s8) * 26.625); /* 213px */
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
}
.home main .outer.business .inner.business-crd-box .business-crd.business01 .img {
  background-image: url(/img/bg_home_business01.jpg);
}
.home main .outer.business .inner.business-crd-box .business-crd.business02 .img {
  background-image: url(/img/bg_home_business02.jpg);
}
.home main .outer.business .inner.business-crd-box .business-crd.business03 .img {
  background-image: url(/img/bg_home_business03.jpg);
}
.home main .outer.business .inner.business-crd-box .business-crd .ttl-txt {
  padding-top: var(--s30);
}
.home main .outer.business .inner.business-crd-box .business-crd .ttl-txt .ttl {
  color: var(--common_keycolor);
  text-align: center;
  /* font-size: var(--s22); */
  font-size: var(--s18);
  font-weight: 600;
  line-height: 160%; /* 3.84rem */
  letter-spacing: 0.144rem;
}
@media screen and (max-width: 767px) {
  .home main .outer.business .inner.business-crd-box .business-crd .ttl-txt .ttl {
    font-size: var(--s18);
  }
}
@media screen and (max-width: 360px) {
  .home main .outer.business .inner.business-crd-box .business-crd .ttl-txt .ttl {
    font-size: var(--s16);
  }
}
@media screen and (max-width: 320px) {
  .home main .outer.business .inner.business-crd-box .business-crd .ttl-txt .ttl {
    font-size: var(--s16);
  }
}
.home main .outer.business .inner.business-crd-box .business-crd .ttl-txt .txt {
  font-size: var(--s16);
  font-weight: 400;
  line-height: 180%; /* 2.88rem */
  padding: var(--s16) var(--s24) 0 var(--s24);
}
.home main .outer.business .inner.business-crd-box .business-crd .btn {
  position: absolute;
  bottom: var(--s30);
  right: var(--s30);
  color: var(--common_keycolor);
  font-size: var(--s14);
  font-weight: 500;
  line-height: 100%; /* 1.4rem */
  letter-spacing: 0.084rem;
  gap: var(--s8);
}
.home main .outer.business .inner.business-crd-box .business-crd .btn::after {
  content: "";
  width: var(--s22);
  height: var(--s22);
  border-radius: 50%;
  background-image: url(/img/icn_business-crd_arrow.svg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
}



/* ==========================
02) company
----------------------------- */
/* common */
.page.company main .inner.w1000 {
  width: 100%;
  max-width: var(--s1000);
  height: auto;
  margin: 0 auto;
}
.page.company main .inner .ttlA {
  text-align: center;
  margin-bottom: var(--s64);
  color: var(--common_keycolor);
}
@media screen and (max-width: 767px) {
  .page.company main .inner .ttlA {
    margin-bottom: var(--s32);
  }
}
.page.company main .inner .ttlA .en {
  font-family: var(--ff-p);
  font-size: var(--s56);
  font-weight: 500;
  line-height: 100%; /* 5.6rem */
  margin-bottom: var(--s12);
}
.page.company main .inner .ttlA .jp {
  font-size: var(--s24);
  font-weight: 700;
  line-height: 100%; /* 2.4rem */
  letter-spacing: 0.144rem;
}
@media screen and (max-width: 767px) {
  .page.company main .inner .ttlA .en {
    font-size: var(--s32);
  }
  .page.company main .inner .ttlA .jp {
    font-size: var(--s20);
  }
}
.page.company main .inner .ttlB {
  color: #FFF;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: flex-end;
  gap: var(--s10);
}
.page.company main .inner .ttlB .en {
  font-family: var(--ff-p);
  font-size: var(--s56);
  font-weight: 500;
  line-height: 100%; /* 5.6rem */
}
.page.company main .inner .ttlB .jp {
  font-size: var(--s24);
  font-weight: 700;
  line-height: 100%; /* 2.4rem */
  letter-spacing: 0.096rem;
  margin-bottom: var(--s12);
}
@media screen and (max-width: 767px) {
  .page.company main .inner .ttlB {
    width: 100%;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
  .page.company main .inner .ttlB .en {
    font-size: var(--s32);
  }
  .page.company main .inner .ttlB .jp {
    font-size: var(--s20);
  }
}
.page.company main .inner .ttlC {
  color: var(--common_keycolor);
  text-align: center;
  margin-bottom: var(--s30);
  justify-content: center;
}
.page.company main .inner .ttlC .jp {
  font-size: var(--s36);
  font-weight: 500;
  line-height: 160%; /* 5.76rem */
  letter-spacing: 0.216rem;
}
@media screen and (max-width: 767px) {
  .page.company main .inner .ttlC .jp {
    font-size: var(--s28);
  }
}
.page.company main .inner .ttlC .jp::before {
  display: none;
}

/* message */
.page.company main .message .inner .img-txt {
  display: flex;
  flex-direction: column;
  gap: var(--s32);
}
.page.company main .message .inner .img-txt .img {
  width: 35%;
  width: 40%;
  width: 25%;
  width: 100%;
}
.page.company main .message .inner .img-txt .img .img_president,
.page.company main .message .inner .img-txt .txt .img_president {
  width: 100%;
  height: auto;
  border-radius: var(--s12);
  object-fit: cover;
}
.page.company main .message .inner .img-txt .txt {
  width: 65%;
  width: 60%;
  width: 75%;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .page.company main .message .inner .img-txt {
    flex-direction: column;
    gap: var(--s32);
  }
  .page.company main .message .inner .img-txt .img {
    width: 100%;
  }
  .page.company main .message .inner .img-txt .txt {
    width: 100%;
  }
}

.page.company main .message .inner .img-txt .txt p {
  font-size:  var(--s16);
  font-weight: 400;
  line-height: 180%; /* 2.88rem */
}
.page.company main .message .inner .img-txt .txt p .president {
  font-size: var(--s16);
  font-weight: 500;
  line-height: 160%; /* 2.56rem */
  margin-right: 1em;
}
@media screen and (max-width: 767px) {
  .page.company main .message .inner .img-txt .txt p .president {
    font-size: var(--s14);
    margin-right: 0;
  }
}
.page.company main .message .inner .img-txt .txt p .name {
  font-size: var(--s20);
  font-weight: 500;
  line-height: 160%;
}
@media screen and (max-width: 767px) {
  .page.company main .message .inner .img-txt .txt p .name {
    font-size: var(--s18);
  }
}

/* vision */
.page.company main .vision .inner {
  display: flex;
  padding: var(--s80);
  flex-direction: column;
  align-items: flex-start;
  gap: var(--s10);
  color: #FFF;
  border-radius: var(--s40);
  background: var(--common_keycolor);
}
@media screen and (max-width: 767px) {
  .page.company main .vision .inner {
    border-radius: var(--s20);
    padding: var(--s48) 5% 5% 5%;
  }
}
.page.company main .vision .inner .txt {
  font-size: var(--s28);
  font-weight: 500;
  line-height: 160%; /* 4.48rem */
  letter-spacing: 0.168rem;
}
@media screen and (max-width: 767px) {
  .page.company main .vision .inner .txt {
    font-size: var(--s20);
  }
}
.page.company main .vision .inner .lst .itm {
  position: relative;
  padding-left: var(--s28);
  margin-bottom: var(--s8);
  font-size: var(--s22);
  font-weight: 500;
  line-height: 160%; /* 3.52rem */
  letter-spacing: 0.132rem;
}
@media screen and (max-width: 767px) {
  .page.company main .vision .inner .lst .itm {
    font-size: var(--s18);
  }
}
.page.company main .vision .inner .lst .itm::before {
  content: "●";
  color: #6BC6F0;
  position: absolute;
  left: 0;
  top: 0;
}

/* overview */
.page.company main .overview .inner .tblA .tbl-cnt .img {
  width: 100%;
  height: auto;
  margin-top: var(--s20);
}
.page.company main .overview .inner .tblA .tbl-cnt .img img {
  width: 100%;
  max-width: calc(var(--s8) * 30.25); /* 242px */
  height: auto;
  border-radius: var(--s12);
  overflow: hidden;
}
.page.company main .overview .inner.history {
  background-color: #F1FAFE;
  margin-top: var(--s100) !important;
  padding-top: var(--s100);
  padding-bottom: var(--s100);
}
@media screen and (max-width: 767px) {
  .page.company main .overview .inner.history {
    margin-top: var(--s50) !important;
    padding-top: var(--s50);
    padding-bottom: var(--s50);
  }
}
.page.company main .overview .inner.organization {
  background-color: #F1FAFE;
  padding-bottom: var(--s100);
}
@media screen and (max-width: 767px) {
  .page.company main .overview .inner.organization {
    padding-bottom: var(--s50);
  }
}
.page.company main .overview .inner.subsidiary {
  background-color: #F1FAFE;
  padding-bottom: var(--s100);
}
@media screen and (max-width: 767px) {
  .page.company main .overview .inner.subsidiary {
    padding-bottom: var(--s50);
  }
}
.page.company main .overview .inner.history .lst {
  background-color: #FFF;
  padding: var(--s64) var(--s72);
  border-radius: var(--s20);
  width: 100%;
  max-width: var(--s1000);
  margin: 0 auto;
  position: relative;
}
@media screen and (max-width: 767px) {
  .page.company main .overview .inner.history .lst {
    padding: 10% 5%;
  }
}
.page.company main .overview .inner.history .lst .itm {
  position: relative;
  padding-left: var(--s32);
  padding-bottom: var(--s36);
  font-size: var(--s16);
  font-weight: 500;
  line-height: 180%; /* 2.88rem */
  display: flex;
  gap: var(--s48);
}
@media screen and (max-width: 767px) {
  .page.company main .overview .inner.history .lst .itm {
    flex-direction: column;
    gap: var(--s8);
  }
}
.page.company main .overview .inner.history .lst .itm:last-of-type {
  margin-bottom: 0;
  padding-bottom: 0;
}
.page.company main .overview .inner.history .lst .itm .year {
  color: var(--common_keycolor);
  width: 100%;
  max-width: calc(var(--s8) * 17.5); /* 140px */
  font-size: var(--s24);
  font-weight: 500;
  line-height: 150%; /* 3.6rem */
  letter-spacing: 0.144rem;
  white-space: nowrap;
}
.page.company main .overview .inner.history .lst .itm .year .after {
  font-size: var(--s18);
}
.page.company main .overview .inner.history .lst .itm .txt {
  font-size: var(--s16);
  font-weight: 500;
  line-height: 180%; /* 2.88rem */
}
.page.company main .overview .inner.history .lst .itm::before {
  content: "●";
  color: #6BC6F0;
  font-size: var(--s24);
  position: absolute;
  left: 0;
  top: var(--s4);
}
.page.company main .overview .inner.history .lst .itm::after {
  content: "";
  position: absolute;
  left: var(--s12);
  top: var(--s8);
  width: 1px;
  height: 100%;
  background-color: #6BC6F0;
}
.page.company main .overview .inner.history .lst .itm:last-of-type::after {
  display: none;
}
.page.company main .overview .inner.organization .img {
  background-color: #FFF;
  padding: var(--s64) var(--s72);
  border-radius: var(--s20);
  width: 100%;
  max-width: var(--s1000);
  margin: 0 auto;
  position: relative;
}
@media screen and (max-width: 767px) {
  .page.company main .overview .inner.organization .img {
    padding: 5% 2.5%;
  }
}
.page.company main .overview .inner.subsidiary .txt {
  background-color: #FFF;
  padding: var(--s64) calc(var(--s8) * 25);
  border-radius: var(--s20);
  width: 100%;
  max-width: var(--s1000);
  margin: 0 auto;
  position: relative;
}
@media screen and (max-width: 767px) {
  .page.company main .overview .inner.subsidiary .txt {
    padding: 10% 5%;
  }
}
.page.company main .overview .inner.subsidiary .txt .subsidiary-box {
  margin-bottom: var(--s40);
}
.page.company main .overview .inner.subsidiary .txt .subsidiary-box:last-of-type {
  margin-bottom: 0;
}
.page.company main .overview .inner.subsidiary .txt .subsidiary-box a {
  color: var(--common_color);
}
.page.company main .overview .inner.subsidiary .txt .subsidiary-box .ttl {
  font-size: var(--s24);
  font-weight: 500;
  line-height: 160%; /* 3.84rem */
  letter-spacing: 0.144rem;
  margin-bottom: var(--s16);
}
@media screen and (max-width: 767px) {
  .page.company main .overview .inner.subsidiary .txt .subsidiary-box .ttl {
    font-size: var(--s18);
  }
}
.page.company main .overview .inner.subsidiary .txt .subsidiary-box .ttl::before {
  content: "●";
  color: #6BC6F0;
  margin-right: var(--s8);
}
.page.company main .overview .inner.subsidiary .txt .subsidiary-box .name-biz {
  display: flex;
  flex-direction: row;
  margin-bottom: var(--s10);
}
@media screen and (max-width: 767px) {
  .page.company main .overview .inner.subsidiary .txt .subsidiary-box .name-biz {
    flex-direction: column;
  }
}
.page.company main .overview .inner.subsidiary .txt .subsidiary-box .name-biz .name {
  width: 55%;
  font-size: var(--s16);
  font-weight: 500;
  line-height: 180%; /* 2.88rem */
}
@media screen and (max-width: 767px) {
  .page.company main .overview .inner.subsidiary .txt .subsidiary-box .name-biz .name {
    width: 100%;
  }
}
.page.company main .overview .inner.subsidiary .txt .subsidiary-box .name-biz .biz {
  width: 45%;
  font-size: var(--s16);
  font-weight: 500;
  line-height: 180%; /* 2.88rem */
}
@media screen and (max-width: 767px) {
  .page.company main .overview .inner.subsidiary .txt .subsidiary-box .name-biz .biz {
    width: 100%;
  }
}

/* access */
.page.company main .access a {
  color: var(--common_color);
}
.page.company main .adr-map {
  margin-bottom: var(--s64);
}
@media screen and (max-width: 767px) {
  .page.company main .adr-map {
    flex-direction: column;
  }
}
.page.company main .adr-map .adr {
  width: 50%;
}
@media screen and (max-width: 767px) {
  .page.company main .adr-map .adr {
    width: 100%;
  }
}
.page.company main .adr-map .adr .ttl {
  font-size: var(--s24);
  font-weight: 500;
  line-height: 160%; /* 3.84rem */
  padding-bottom: var(--s14);
  border-bottom: 1px solid #CFD2DD;
}
@media screen and (max-width: 767px) {
  .page.company main .adr-map .adr .ttl {
    font-size: var(--s18);
  }
}
.page.company main .adr-map .adr .txt {
  padding-top: var(--s14);
  font-size: var(--s16);
  font-weight: 400;
  line-height: 180%; /* 2.88rem */
  margin-bottom: var(--s8);
}
.page.company main .adr-map .adr .tel-fax {
  font-size: var(--s16);
  font-weight: 400;
  line-height: 180%; /* 2.88rem */
}
.page.company main .adr-map .map {
  width: 50%;
  height: calc(var(--s8) * 41.25);/* 330px */
  border-radius: var(--s20);
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .page.company main .adr-map .map {
    margin-top: var(--s16);
    width: 100%;
  }
}
.page.company main .adr-map .map iframe {
  width: 100%;
  height: 100%;
  border: none;
}



/* ==========================
03) business
----------------------------- */
.page.business main .inner.w1000 {
  width: 100%;
  max-width: var(--s1000);
  height: auto;
  margin: 0 auto;
}
.page.business main .lead .txt p {
  font-size: var(--s16);
  font-weight: 400;
  line-height: 180%; /* 2.88rem */
}
@media screen and (max-width: 767px) {
  .page.business main .lead .txt p {
    text-align: left !important;
  }
}

/* common .biz-card */
.page.business main .biz-card {
  display: flex;
  flex-wrap: wrap;
  gap: var(--s20);
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .page.business main .biz-card {
    flex-direction: column;
    align-items: center;
  }
}
.page.business main .biz-card .card {
  border-radius: var(--s20);
  opacity: 0.95;
  background: var(--common_keycolor);
  color: #FFFFFF;
  padding-top: var(--s40);
  padding-bottom: var(--s40);
  align-items: stretch;
}
@media screen and (max-width: 767px) {
  .page.business main .biz-card .card {
    padding-top: 10%;
    padding-bottom: 10%;
  }
}
.page.business main .biz-card .card2 {
  width: calc(100% / 2 - var(--s10) * 1);
}
.page.business main .biz-card .card3 {
  width: calc(100% / 3 - var(--s10) * 2);
}
@media screen and (max-width: 767px) {
  .page.business main .biz-card .card2 {
    width: 100%;
  }
  .page.business main .biz-card .card3 {
    width: 100%;
  }
}
.page.business main .biz-card .card .ttl {
  text-align: center;
  font-size: var(--s24);
  font-weight: 600;
  line-height: 160%; /* 3.84rem */
  margin-bottom: var(--s16);
  padding-right: 1em;
  padding-left: 1em;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
@media screen and (max-width: 375px) {
  .page.business main .biz-card .card .ttl {
    font-size: var(--s20);
  }
}
.page.business main .biz-card .card .ttl .en {
  font-family: var(--ff-p);
  font-size: var(--s24);
  font-weight: 600;
  line-height: 160%; /* 3.84rem */
}
@media screen and (max-width: 375px) {
  .page.business main .biz-card .card .ttl .en {
    font-size: var(--s20);
  }
}
.page.business main .biz-card .card .ttl .jp {
  font-size: var(--s18);
  font-weight: 600;
  line-height: 160%;
  letter-spacing: 0.108rem;
}
.page.business main .biz-card .card .txt {
  font-size: var(--s16);
  font-weight: 400;
  line-height: 180%; /* 2.88rem */
  margin: 0;
  padding-right: var(--s36);
  padding-left: var(--s36);
}
@media screen and (max-width: 767px) {
  .page.business main .biz-card .card .txt {
    padding-right: 5%;
    padding-left: 5%;
  }
}

/* business01 - 03 */
.page.business main .business01,
.page.business main .business02,
.page.business main .business03 {
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: contain;
  padding-bottom: calc(var(--s8) * 52.5); /* 420px */
}
/* business01 */
.page.business main .business01 {
  background-image: url(/img/bg_business01.jpg);
}
/* business02 */
.page.business main .business02 {
  background-image: url(/img/bg_business02.jpg);
}
/* business03 */
.page.business main .business03 {
  background-image: url(/img/bg_business03.jpg);
  margin-bottom: calc(var(--s40) * -1); /* -40px */
}
@media screen and (max-width: 767px) {
  .page.business main .business01,
  .page.business main .business02,
  .page.business main .business03 {
    background-size: 150% auto;
    padding-bottom: 40%;
  }
  .page.business main .business03 {
    margin-bottom: calc(var(--s20) * -1); /* -20px */
  }
}
.page.business main .business03 .biz-card .card .icn {
  width: 100%;
  height: calc(var(--s8) * 13.75); /* 110px */
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: var(--s24);
}
.page.business main .business03 .biz-card .card .ttl {
  height: calc(var(--s8) * 9.5); /* 76px */
}



/* ==========================
04) shareholders
----------------------------- */
.page.shareholders main .inner.w1000 {
  width: 100%;
  max-width: var(--s1000);
  height: auto;
  margin: 0 auto;
}




/* ==========================
10) contact
----------------------------- */
body.contact main .inner.w1000 {
  width: 100%;
  max-width: var(--s1000);
  height: auto;
  margin: 0 auto;
}
body.contact main .lead .inner {
  text-align: center;
  font-size: var(--s16);
  font-weight: 400;
  line-height: 180%; /* 2.88rem */
}

/* form-group */
.form-group {
  width: 100%;
  height: auto;
  margin-bottom: var(--s28);
}
.form-group:last-of-type {
  margin-bottom: 0;
}
.form-group label {
  display: flex;
  align-items: center;
  gap: var(--s10);
  font-size: var(--s16);
  font-weight: 500;
  line-height: 100%;
  margin-bottom: var(--s16);
}
.form-group label.req::after {
  content: '必須';
  display: inline-block;
  color: #FFFFFF;
  font-size: var(--s12);
  font-weight: 500;
  line-height: 100%;
  background-color: var(--common_keycolor);
  padding: var(--s2) var(--s4);
}
.en_US .form-group label.req::after {
  content: 'Compulsory';
}
@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);
    flex-direction: column;
  }
  .form-group .radio-group:last-of-type {
    margin-bottom: 0;
  }
}
.form-group .radio-group label {
  font-size: var(--s16);
  font-weight: 400;
  line-height: normal;
  display: flex;
  align-items: center;
  margin-bottom: var(--s16);
  width: 50%;
  height: auto;
  gap: var(--s10);
}
@media screen and (max-width: 767px) {
  .form-group .radio-group label {
    width: 100%;
  }
}
.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 #postcode {
  width: calc(var(--s8) * 62.5); /* 500px */
}
.form-group #prefecture {
  width: calc(var(--s8) * 62.5); /* 500px */
}
.form-group.approval {
  margin-top: var(--s40);
  margin-bottom: calc(var(--s8) * 6.25); /* 50px */
}
.form-group.approval .approval-txt {
  color: var(--common_color);
  letter-spacing: 0.128rem;
}
.form-group.approval .approval-txt a {
  color: var(--common_color);
  letter-spacing: 0.128rem;
  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;
}
.form-group .msg {
  text-align: center;
  color: #CC0000;
}

.form-group .submit-wrapper {
  position: relative;
  border-radius: var(--s64);
  border: 1px solid var(--common_keycolor);
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
}
.form-group .submit-wrapper::before {
  content: "";
  width: var(--s22);
  height: var(--s22);
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: var(--s20);
  border-radius: 50%;
  background-color: #FFF;
  transition: all 0.3s ease;
  z-index: 1;
  pointer-events: none;
}
.form-group .submit-wrapper:hover::before {
  transform: scale(50);
}

.form-group .submit-wrapper::after {
  content: "";
  width: var(--s22);
  height: var(--s22);
  background-image: url(/img/bg_btnA_arrow_w.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  position: absolute;
  right: var(--s20);
  border-radius: 50%;
  transition: all 0.3s ease;
  z-index: 2;
  pointer-events: none;
}

.form-group .submit-wrapper:hover::after {
  transform: scale(1.75);
}

.form-group .submit-wrapper .label {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #FFFFFF;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 100%; /* 1.8rem */
  letter-spacing: 0.108rem;
  z-index: 1;
  pointer-events: none;
  transition: all 0.3s ease;
}
.form-group .submit-wrapper:hover .label {
  color: var(--common_keycolor);
}

.form-group .submit-box {
  flex-direction: column;
  align-items: center;
}
input[type="submit"],
input[type="button"] {
  position: relative;
  z-index: 0;
  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%;
  cursor: pointer;
  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);
}
*/

.form-group .submit-wrapper .msg {
  text-align: center;
  margin-bottom: var(--s16);
  font-size: var(--s16);
  font-weight: 500;
  line-height: 180%; /* 2.88rem */
  color: #660000;
}

input[type="text"],
input[type="email"],
input[type="password"],
input[type="number"],
input[type="tel"],
input[type="url"],
input[type="search"],
input[type="date"],
input[type="datetime-local"],
input[type="month"],
input[type="time"],
input[type="week"],
input[type="color"],
textarea,
select {
  background-color: #F2F2F3;
  border: solid 1px #BEC0C6;
}



/* ==========================
99) policy
----------------------------- */
.page.policy main .inner.w1000 {
  width: 100%;
  max-width: var(--s1000);
  height: auto;
  margin: 0 auto;
}
.page.policy main .inner.w1000 a {
  color: #000000;
}
.page.policy main .inner.w1000 ul {
  padding-left: var(--s24);
  margin-bottom: var(--s16);
  list-style-type: disc;
  font-weight: 400;
}
.page.policy main .inner.w1000 .ttl {
  color: var(--common_keycolor);
  font-size: var(--s24);
  font-weight: 600;
  line-height: 160%; /* 3.84rem */
  letter-spacing: 0.144rem;
  padding-bottom: var(--s8);
  border-bottom: 1px solid #CFD2DD;
  margin-bottom: var(--s18);
}
@media screen and (max-width: 375px) {
  .page.policy main .inner.w1000 .ttl {
    font-size: var(--s20);
  }
}
@media screen and (max-width: 320px) {
  .page.policy main .inner.w1000 .ttl {
    font-size: var(--s18);
  }
}

