@charset "utf-8";
html[lang="ja"] {
  margin: 0 !important;
}
body {
  font-size: 3.733vw;
}
body#page_front main {
  overflow: hidden;
}
#wpadminbar, .pc-only {
  display: none !important;
}
.inner {
  width: 90%;
  margin: auto;
}
.inner--contents {
  width: 90%;
  margin: auto;
}
/**/
.title_section .en {
  color: #004098;
  font-weight: 600;
  font-size: 80%;
}
.title_section .jp {
  font-size: 150%;
  font-weight: 600;
  margin: .4em 0 0;
  line-height: 1.5;
}
.title_bg {
  background: #F0F3F5;
  font-size: 130%;
  font-weight: 600;
  line-height: 1.3214;
  border-left: solid 5px #004098;
  padding: .7em;
}
.title_base.type--center {
  text-align: center;
}
.title_base.color--white {
  color: #fff;
}
.title_base .en {
  display: block;
  font-size: 303.4%;
  font-weight: 600;
  letter-spacing: 0;
}
.title_base .jp {
  font-size: 104.8%;
  font-weight: 400;
  margin: .4em 0 0;
  overflow: hidden;
}
.title_base .jp span {
  display: inline-block;
  padding: 0 0 0 1.2em;
  background-image: url(../img/icon_logo.webp);
  background-repeat: no-repeat;
  background-size: .9em auto;
  background-position: left center;
}
.title_base.color--white .jp span {
  background-image: url(../img/icon_logo--on.webp);
}
.title_icon {
  font-size: 110%;
  font-weight: 600;
  margin: 0 auto 1.25em;
}
.title_icon span {
  display: inline-block;
  padding: 0 0 0 1.2em;
  background: url("../img/icon_logo.webp");
  background-repeat: no-repeat;
  background-size: 1em auto;
  background-position: left center;
}
.title_center {
  text-align: center;
  color: #014098;
}
.title_center .en {
  font-weight: 600;
}
.title_center .jp {
  font-size: 220%;
  font-weight: 600;
  margin: .4em 0 0;
  line-height: 1.2;
}
/**/
.btn_base {
  text-align: center;
}
.btn_base a {
  display: inline-block;
  padding: .9em 2.7em .9em 1.2em;
  font-weight: 600;
  min-width: 200px;
  color: #fff;
  position: relative;
  z-index: 5;
  overflow: hidden;
  background: #004098;
  border-radius: 3em;
  box-sizing: border-box;
  text-align: left;
}
.btn_base a::before {
  content: '';
  width: .9em;
  height: .9em;
  background-image: url(../img/arrow01--on.svg);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  z-index: 5;
  right: .8em;
  top: 0;
  bottom: 0;
  margin: auto;
  transition: all .4s;
}
/**/
.js_split {
  overflow: hidden;
}
.scrollAnime .js_split > span.split {
  display: inline-block;
  transform: translateY(100%);
  transition: transform 1.2s;
}
.scrollAnime.scroll--start .js_split > span.split {
  transform: translateY(0);
}
.scrollAnime .js_split > span.split:nth-child(1) {
  transition-delay: .1s;
}
.scrollAnime .js_split > span.split:nth-child(2) {
  transition-delay: .2s;
}
.scrollAnime .js_split > span.split:nth-child(3) {
  transition-delay: .3s;
}
.scrollAnime .js_split > span.split:nth-child(4) {
  transition-delay: .4s;
}
.scrollAnime .js_split > span.split:nth-child(5) {
  transition-delay: .5s;
}
.scrollAnime .js_split > span.split:nth-child(6) {
  transition-delay: .6s;
}
.scrollAnime .js_split > span.split:nth-child(7) {
  transition-delay: .7s;
}
.scrollAnime .js_split > span.split:nth-child(8) {
  transition-delay: .8s;
}
.scrollAnime .js_split > span.split:nth-child(9) {
  transition-delay: .9s;
}
.scrollAnime .js_split > span.split:nth-child(10) {
  transition-delay: 1s;
}
.scrollAnime .title_base span {
  transform: translateY(100%);
  transition: transform .5s ease 1s;
}
.scrollAnime.scroll--start .title_base span {
  transform: translateY(0);
}
/* == underPage ============================================== */
.block_pageTitle {
  background: linear-gradient(116.37deg, #5B97E9 -0.11%, #004098 36.49%);
  padding: 0 0 1.6em;
}
.block_pageTitle .flexBox {
  width: min(94%, 1250px);
  margin: 1em auto 0;
}
.block_pageTitle .title_page {
  color: #fff;
  margin: 2.5em 0 0;
}
.block_pageTitle .title_page .en span {
  display: inline-block;
  font-size: 70%;
  font-weight: 600;
  border: solid 1px #fff;
  padding: .2em .95em;
}
.block_pageTitle .title_page .jp {
  font-size: 200%;
  letter-spacing: 0;
  margin: .4em 0 0;
}
.list_bread {
  display: flex;
  justify-content: flex-end;
  font-size: 87.5%;
  color: #fff;
}
.list_bread > li {
  position: relative;
}
.list_bread > li + li {
  padding: 0 0 0 1.2em;
  margin: 0 0 0 .5em;
}
.list_bread > li + li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  width: .4em;
  height: .4em;
  box-sizing: border-box;
  border-top: solid 1px #fff;
  border-right: solid 1px #fff;
  transform: rotateZ(45deg);
}
.list_bread > li a, .list_bread > li span {
  display: inline-block;
  padding: .4em 0;
  font-weight: 600;
}
.list_bread > li span {
  border-bottom: solid 1px #fff;
}
.list_dlBase > li {
  border-bottom: solid 1px #004098;
  padding: .4em 0 .3em;
}
.list_dlBase > li.noBorder {
  border-bottom: none;
}
.list_dlBase > li .gaiyouLeft {
  padding: .25em;
}
.list_dlBase > li .gaiyou_title {
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.6;
  position: relative;
}
/*
.list_dlBase > li .gaiyou_title::before {
  content: '';
  width: 3em;
  height: 1px;
  background: #004098;
  position: absolute;
  left: 0;
  bottom: -1px;
}
*/
.list_dlBase > li .gaiyouRight {
  padding: .25em;
}
.list_dlBase > li + li .gaiyouRight {
  border-top: none;
}
.list_dlBase > li .gaiyou_text {
  line-height: 2;
  font-size: 90%;
}
.list_dlBase > li .gaiyou_text a {
  color: #5B97E9;
  text-decoration: underline;
  transition: opacity .3s;
  font-weight: 600;
}
.list_dlBase > li .gaiyoMap {
  position: relative;
  overflow: hidden;
  border-radius: 1em;
  width: 100%;
  height: 0;
  margin: 1em auto;
  padding: 75% 0 0;
}
.list_dlBase > li .gaiyoMap iframe {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
/**/
.underBg {
  padding: 3.5em 0 0;
  background-image: url(../img/vision_bg_sp.webp), url(../img/service_bg_sp.webp), url(../img/underBg_sp.webp);
  background-size: 100% auto, 100% auto, 100% auto;
  background-repeat: no-repeat, no-repeat, no-repeat;
  background-position: center top -5em, center, center bottom 5em;
}
.underBg.bg--small {
  background-image: url(../img/vision_bg.webp), url(../img/underBg.webp);
  background-size: 100% auto, 100% auto;
  background-repeat: no-repeat, no-repeat;
  background-position: center top -5em, center bottom 5em;
}
/* == parts ============================================== */
.parts_news {
  margin: 4.5em 0 5em;
}
.parts_news .newsBg {
  background: #fff;
  box-shadow: 0 .6em 1em rgba(0, 0, 0, .25);
  border-radius: .7em 0 0 .7em;
  box-sizing: border-box;
  padding: 2em 0;
  margin: 0 auto;
  width: 95vw;
}
.parts_news .flexBox {
  width: 90%;
  margin: auto;
}
/**/
.parts_contact {
  border-bottom: solid 2px #fff;
}
.parts_contact .inner {
  width: 100%;
}
.parts_contact .title_base {
  text-align: center;
}
.parts_contact a {
  display: block;
  padding: 2em 0 1.6em;
  position: relative;
  background: linear-gradient(115deg, #5B97E9 0%, #004098 30%);
  margin: auto;
  box-sizing: border-box;
  transition: all .4s;
  background-position: right center;
}
.parts_contact .contact_lead {
  line-height: 1.6;
  color: #fff;
  width: 85%;
  box-sizing: border-box;
  padding: 0 2em 0 0;
  margin: 1em auto 0;
  position: relative;
}
.parts_contact .contact_lead::before {
  content: '';
  width: 1.5em;
  height: 1.5em;
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  background: url(../img/arrow02.svg);
  background-repeat: no-repeat;
  background-size: contain;
  transition: transform .3s;
}
/**/
.parts_siblingsLink {
  margin: 2em auto 5em;
  width: 96%;
}
.parts_siblingsLink .btn_siblingsLink + .btn_siblingsLink {
  margin: 1.5em auto 0;
}
.btn_siblingsLink a {
  display: flex;
  background: #fff;
  border: solid 1px #004098;
  box-shadow: .3em .3em 0 0 #004099;
  border-radius: 1em;
  overflow: hidden;
  position: relative;
  transition: box-shadow .2s;
}
.btn_siblingsLink a:active {
  box-shadow: .1em .1em 0 0 #004099;
}
.btn_siblingsLink a::before {
  content: '';
  width: 1.2em;
  height: 1.2em;
  background: url("../img/arrow03.svg") no-repeat;
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  right: .6em;
  top: 0;
  bottom: 0;
  margin: auto;
  transition: transform .4s;
}
.btn_siblingsLink .siblingsLink_imgBox {
  width: 38%;
  overflow: hidden;
}
.btn_siblingsLink .siblingsLink_imgBox img {
  transition: transform .4s;
}
.btn_siblingsLink .siblingsLink_textBox {
  width: 62%;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 0 1.6em 0 .6em;
  text-align: left;
  letter-spacing: 0;
}
.btn_siblingsLink .siblingsLink_textBox .siblingsLink_name .en {
  display: block;
  color: #004098;
  font-weight: 600;
}
.btn_siblingsLink .siblingsLink_textBox .siblingsLink_name .jp {
  display: block;
  font-size: 110%;
  font-weight: 600;
  margin: .2em 0 0;
  line-height: 1.2;
}
/**/
.list_newsSummary {
  margin: 1em 0 0;
}
.list_newsSummary > li {
  padding: 1em 0 .4em;
  border-bottom: solid 1px #9EAEC5;
}
.list_newsSummary > li .newsInfo {
  width: 7.5em;
}
.list_newsSummary > li .newsInfo span.time {
  display: block;
  color: #004098;
  font-size: 106%;
  font-weight: 500;
  letter-spacing: .05em;
}
.list_newsSummary > li .newsInfo span.category {
  display: block;
  border-radius: 5em;
  text-align: center;
  color: #fff;
  background: #000;
  font-size: 80%;
  font-weight: 600;
  padding: .4em 0 .5em;
  margin: .6em 0 0;
}
.list_newsSummary > li .newsTitle {
  line-height: 1.8;
}
.list_newsSummary > li > span, .list_newsSummary > li > a {
  display: block;
  position: relative;
  padding: .5em 0;
}
.list_newsSummary > li a .newsTitle {
  text-decoration: underline;
  position: relative;
  margin: .5em 0 0;
}
.list_newsSummary > li a::before {
  content: '';
  width: 1.2em;
  height: 1.2em;
  background: url(../img/arrow03.svg);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  transition: transform .3s;
}
/* == header ============================================== */
header .login_message {
  padding: 1em 0;
  font-size: 86%;
  font-weight: 500;
  letter-spacing: 0;
}
header .h_inner {
  position: fixed;
  z-index: 1000;
  left: 0;
  right: 0;
  top: .6868em;
  width: 94%;
  margin: auto;
  box-sizing: border-box;
}
header .hWrap {
  background: rgba(255, 255, 255, .8);
  border-radius: 5em;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  will-change: backdrop-filter;
  padding: 0 1.1em;
  position: relative;
  z-index: 100;
}
header .h_logo {
  width: 7.2em;
  height: 2em;
  margin: 0 auto 0 0;
  padding: .7em 0;
  z-index: 100;
  position: relative;
}
body.nav--open header .h_logo {
  opacity: 0;
}
header .h_logo a {
  display: block;
  height: 100%;
  overflow: hidden;
  white-space: nowrap;
  text-indent: 150%;
  background-image: url(../img/logo.webp);
  background-repeat: no-repeat;
  background-size: contain;
  transition: opacity .3s;
}
header #navTrigger {
  position: absolute;
  z-index: 100;
  right: 1.5em;
  top: .8em;
  width: 2em;
  height: 2em;
  box-sizing: border-box;
  text-align: center;
}
header #navTrigger span.border {
  position: absolute;
  display: block;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  width: 100%;
  border-radius: 10em;
  height: .2em;
  background: #000000;
  transition: all .4s;
  transform-origin: center;
}
header #navTrigger span.border:nth-child(1) {
  top: -1.7em;
}
header #navTrigger span.border:nth-child(2) {
  top: -.7em;
}
header #navTrigger span.border:nth-child(3) {
  top: .3em;
}
header #navTrigger #menuText {
  font-size: 50%;
  line-height: 1;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
}
body.nav--open header #navTrigger span.border:nth-child(1) {
  transform: translateY(.5em) rotateZ(35deg);
}
body.nav--open header #navTrigger span.border:nth-child(2) {
  opacity: 0;
}
body.nav--open header #navTrigger span.border:nth-child(3) {
  transform: translateY(-.5em) rotateZ(-35deg);
}
header .nav_logo {
  height: 0;
  width: 50%;
  padding: 16% 0 0;
  margin: 0 auto;
  position: relative;

}
header .nav_logo a{
  position: absolute;
  left:0;
  top:0;
  display: block;
  width: 100%;
  height: 100%;
    background: url(../img/kv_logo_sp.svg);
  background-repeat: no-repeat;
  background-position: center top;
  background-size: contain;
    overflow: hidden;
  white-space: nowrap;
  text-indent: 150%;
}
header nav {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100dvh;
  box-sizing: border-box;
  z-index: 50;
  background: #fff;
  padding: 6em 0 0;
  transform: translateY(-150vh);
  transition: transform .6s;
}
body.nav--open header nav {
  transform: translateY(0);
}
.list_hNav {
  text-align: center;
  width: 80%;
  margin: 1em auto 0;
}
.list_hNav > li {
  position: relative;
}
.list_hNav > li + li {
  border-top: solid 1px #000;
}
.list_hNav > li span.sp_link, .list_hNav > li > a {
  display: block;
  padding: 1.4em 0;
  font-size: 125%;
  font-weight: 600;
}
.list_hNav .pc_link {
  display: none;
}
.list_hNav > li > span.sp_link span {
  display: inline-block;
  padding: 0 1.1em;
  position: relative;
}
.list_hNav > li > span.sp_link span::before {
  content: '';
  width: .6em;
  height: .6em;
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  box-sizing: border-box;
  border-top: solid 2px #000;
  border-right: solid 2px #000;
  transform-origin: center;
  transform: rotateZ(45deg);
  transition: transform .3s;
}
.list_hNav > li > span.sp_link.active span::before {
  transform: rotateZ(135deg);
}
.list_hNavSmall {
  max-height: 0;
  pointer-events: none;
  transition: all .4s;
  overflow: hidden;
  margin: 0 auto;
}
.list_hNav > li .sp_link.active + .list_hNavSmall {
  max-height: 20em;
  pointer-events: auto;
  margin: 0 auto 1.5em;
}
.list_hNavSmall > li a {
  display: block;
  font-weight: 500;
  padding: 1em 1.6em 1em .5em;
  position: relative;
  text-align: left;
  border-bottom: solid 1px #9EAEC5;
}
.list_hNavSmall > li a::before {
  content: '';
  width: .6em;
  height: .6em;
  position: absolute;
  right: .3em;
  top: 0;
  bottom: 0;
  margin: auto;
  box-sizing: border-box;
  border-top: solid 2px #000;
  border-right: solid 2px #000;
  transform-origin: center;
  transform: rotateZ(45deg);
}
header .hNav_btns {
  display: flex;
  justify-content: center;
  gap: 0 1em;
  position: fixed;
  left: 0;
  bottom: 0;
  z-index: 1000;
  width: 100%;
  padding: 1em 0;
}
.btn_link {
  width: 11em;
  background: #000;
  border-radius: 5em;
  text-align: center;
  overflow: hidden;
  position: relative;
}
.btn_link a {
  display: block;
  font-weight: 600;
  color: #fff;
  padding: .3em .9em .4em 0;
  position: relative;
  z-index: 5;
  letter-spacing: .05em;
  line-height: 1.8;
}
.btn_link a::before {
  content: '';
  width: .9em;
  height: .9em;
  background-image: url(../img/arrow01--on.svg);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  z-index: 5;
  right: .9em;
  top: 0;
  bottom: 0;
  margin: auto;
}
.btn_link a[target="_blank"]::before {
  background-image: url(../img/icon_blank--on.svg);
}
.btn_link.color--white {
  background: #fff;
}
.btn_link.color--white a {
  color: #004098;
}
.btn_link.color--white a::before {
  background-image: url(../img/arrow01.svg);
}
.btn_link.color--white a[target="_blank"]::before {
  background-image: url(../img/icon_blank.svg);
}
/* == footer ============================================== */
footer {
  background: #003E98;
  padding: 1.8em 0 5.5em;
  position: relative;
}
footer #pagetop {
  width: 3.4em;
  height: 3.4em;
  border-radius: 50%;
  overflow: hidden;
  white-space: nowrap;
  text-indent: 150%;
  background-color: #000;
  background-image: url(../img/pagetop.svg);
  background-repeat: no-repeat;
  background-size: 1.8em auto;
  background-position: center;
  cursor: pointer;
  transition: transform .5s;
  margin: 1.2em auto 0;
}
footer .f_inner {
  margin: auto;
}
footer .f_logo {
  width: 54%;
  height: 0;
  padding: 15% 0 0;
  position: relative;
  margin: 1.7em auto 0;
}
footer .f_logo a {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  overflow: hidden;
  white-space: nowrap;
  text-indent: 150%;
  background: url("../img/logo02.webp");
  background-repeat: no-repeat;
  background-size: contain;
  transition: all .3s;
}
footer .f_address {
  color: #fff;
  font-size: 80%;
  line-height: 1.5;
  margin: .6em 0 0;
  text-align: center;
}
.list_fNav {
  color: #fff;
  /*column-count: 2;*/
  width: 85%;
  margin: auto;
  display: grid;
  grid-template-columns: 45% 55%;
  grid-template-areas:
    "li01 li02"
    "li01 li03";
}
.list_fNav > li {
  margin: 0 0 1.5em 0;
  break-inside: avoid;
}
.list_fNav > li:nth-child(1) {
  grid-area: li01;
}
.list_fNav > li:nth-child(2) {
  grid-area: li02;
}
.list_fNav > li:nth-child(3) {
  grid-area: li03;
}
.list_fNav > li .bigLink {
  font-weight: 600;
}
.list_fNav > li .bigLink + .bigLink {
  margin: 1em 0 0;
}
.list_fNav > li .bigLink a {
  display: inline-block;
  position: relative;
}
.list_fNav > li .bigLink a::before {
  content: '';
  width: 0;
  height: 1px;
  background: #fff;
  position: absolute;
  right: 0;
  bottom: -6px;
  transition: all .4s;
}
.list_fNavSmall {
  margin: .4em 0 0;
}
.list_fNavSmall > li {
  font-size: 90%;
}
.list_fNavSmall > li a {
  display: block;
  padding: .45em 0 .45em .8em;
  background: url(../img/arrow04--on.svg);
  background-size: .4em auto;
  background-position: left center;
  background-repeat: no-repeat;
  transition: opacity .3s;
  letter-spacing: 0;
}
.list_fNavSmall + .bigLink {
  margin: 1.2em 0 0;
}
footer .fNav_btns {
  display: flex;
  margin: 1em 0 0;
  justify-content: center;
  gap: 0 1em;
}
footer .subFlex {
  margin: 1.5em 0 0;
}
footer .subLinks {
  color: #fff;
  line-height: 1;
  display: flex;
  justify-content: center;
}
footer .subLinks a {
  display: inline-block;
  border-left: solid 1px #fff;
  border-right: solid 1px #fff;
  font-size: 75%;
  padding: 0 1em .1em;
  transition: all .3s;
}
footer .subLinks a + a {
  border-left: solid 1px #fff;
}
footer .copyright {
  color: #fff;
  font-size: 75%;
  text-align: center;
  margin: 2em 0 0;
}
/* ==================================== 
page-name #front
====================================*/
.block_frontKv {
  position: relative;
  overflow: hidden;
  z-index: 10;
}
.block_frontKv .frontKv_imageBox .clipBox {
  overflow: hidden;
  position: relative;
  mask-size: 100% 100%;
  mask-repeat: no-repeat;
}
.block_frontKv .frontKv_imageBox .clipBox.clip01 {
  padding: 174.5% 0 0;
}
.block_frontKv .frontKv_imageBox .clipBox.clip02 {
  padding: 37% 0 0;
  mask-image: url(../img/clip_slide02_sp.webp);
  margin: 5em 0 0 auto;
  width: 53%;
}
.block_frontKv .frontKv_imageBox .clipBox.clip03 {
  width: 46%;
  margin: -4em 0 0;
  padding: 28% 0 0;
  mask-image: url(../img/clip_slide03_sp.webp);
}
.block_frontKv .frontKv_imageBox .clipBox span {
  display: block;
}
.block_frontKv .frontKv_imageBox .clipBox img {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  pointer-events: none;
  opacity: 0;
  transform: scale(1);
}
body.page--open .block_frontKv .frontKv_imageBox .clipBox span img {
  -webkit-animation: clipFadeZoom 12s linear infinite;
  animation: clipFadeZoom 12s linear infinite;
}
body.page--open .block_frontKv .frontKv_imageBox .clipBox span:nth-child(1) img {
  animation-delay: 0s;
}
body.page--open .block_frontKv .frontKv_imageBox .clipBox span:nth-child(2) img {
  animation-delay: 4s;
}
body.page--open .block_frontKv .frontKv_imageBox .clipBox span:nth-child(3) img {
  animation-delay: 8s;
}
.block_frontKv .kv_title {
  position: absolute;
  z-index: 10;
  right: 4.5%;
  top: 20%;
  width: 62%;
  height: 0;
  padding: 22% 0 0;
  overflow: hidden;
  white-space: nowrap;
  text-indent: 150%;
  background: url(../img/kv_logo.svg);
  background-size: contain;
  background-repeat: no-repeat;
}
.block_frontKv .kv_lead {
  position: absolute;
  z-index: 10;
  left: 0;
  top: 40.8%;
  white-space: nowrap;
}
.block_frontKv .kv_lead p {
  overflow: hidden;
}
.block_frontKv .kv_lead span {
  display: inline-block;
  color: #fff;
  font-size: 500%;
  font-weight: 700;
  transform: translateY(201%);
}
.block_frontKv .kv_lead span.mincyo {
  font-weight: 600;
}
/*anime*/
.block_frontKv .frontKv_imageBox .clipBox.clip02 {
  mask-size: 0% 100%;
  mask-position: right center;
  transition: mask-size .7s ease 1.1s;
}
.block_frontKv .frontKv_imageBox .clipBox.clip03 {
  mask-size: 0% 100%;
  mask-position: left center;
  transition: mask-size .7s ease 1.8s;
}
body.page--open .block_frontKv .frontKv_imageBox .clipBox.clip01, body.page--open .block_frontKv .frontKv_imageBox .clipBox.clip02, body.page--open .block_frontKv .frontKv_imageBox .clipBox.clip03 {
  mask-size: 100% 100%;
}
.block_frontKv .kv_title {
  opacity: 0;
  -webkit-filter: blur(10px);
  filter: blur(10px);
  will-change: filter;
  transition: opacity 1s ease 2.4s, filter 1s ease 2.4s;
}
body.page--open .block_frontKv .kv_title {
  opacity: 1;
  -webkit-filter: blur(0);
  filter: blur(0);
}
.block_frontKv .kv_lead span {
  transition: transform .8s ease 0s;
}
body.page--open .block_frontKv .kv_lead span {
  transform: translateY(0%);
}
body.page--open .block_frontKv .kv_lead p:nth-child(1) span:nth-child(1) {
  transition-delay: .3s;
}
body.page--open .block_frontKv .kv_lead p:nth-child(1) span:nth-child(2) {
  transition-delay: .4s;
}
body.page--open .block_frontKv .kv_lead p:nth-child(1) span:nth-child(3) {
  transition-delay: .5s;
}
body.page--open .block_frontKv .kv_lead p:nth-child(1) span:nth-child(4) {
  transition-delay: .6s;
}
body.page--open .block_frontKv .kv_lead p:nth-child(1) span:nth-child(5) {
  transition-delay: .7s;
}
body.page--open .block_frontKv .kv_lead p:nth-child(1) span:nth-child(6) {
  transition-delay: .8s;
}
body.page--open .block_frontKv .kv_lead p:nth-child(1) span:nth-child(7) {
  transition-delay: .9s;
}
body.page--open .block_frontKv .kv_lead p:nth-child(2) span:nth-child(1) {
  transition-delay: 1.3s;
}
body.page--open .block_frontKv .kv_lead p:nth-child(2) span:nth-child(2) {
  transition-delay: 1.4s;
}
body.page--open .block_frontKv .kv_lead p:nth-child(2) span:nth-child(3) {
  transition-delay: 1.5s;
}
body.page--open .block_frontKv .kv_lead p:nth-child(2) span:nth-child(4) {
  transition-delay: 1.6s;
}
body.page--open .block_frontKv .kv_lead p:nth-child(2) span:nth-child(5) {
  transition-delay: 1.7s;
}
body.page--open .block_frontKv .kv_lead p:nth-child(2) span:nth-child(6) {
  transition-delay: 1.8s;
}
body.page--open .block_frontKv .kv_lead p:nth-child(2) span:nth-child(7) {
  transition-delay: 1.9s;
}
body.page--open .block_frontKv .kv_lead p:nth-child(2) span:nth-child(8) {
  transition-delay: 2s;
}
#page_front header .hWrap {
  transform: translateY(-10em);
  transition: transform 1s ease 2s;
}
#page_front.page--open header .hWrap {
  transform: translateY(0);
}
/* ==================================== 
page-name #vision
====================================*/
.block_vision .area_front {
  background: url("../img/vision_bg.webp");
  background-size: cover;
  background-position: center top -7.5em;
  padding: 25em 0 10em;
  position: relative;
  margin: -18.5em 0 0;
  overflow: hidden;
}
.block_vision .area_front .visionBg {
  position: absolute;
  z-index: 0;
  left: 0;
  bottom: -350px;
  width: 100%;
  pointer-events: none;
}
.block_vision .area_front .title_base .en {
  color: #004098;
}
.block_vision .area_front .vision_lead {
  text-align: center;
  font-size: 110%;
  font-weight: 500;
  line-height: 2;
  margin: 1em 0 0;
  letter-spacing: .09em;
}
.block_vision .area_front .vision_lead span.pcSpan {
  display: block;
  overflow: hidden;
}
.block_vision .area_front .scrollAnime .vision_lead span.pcSpan span.pcSpan--small {
  display: block;
  transform: translateY(100%);
  opacity: 0;
  transition: transform 1.2s ease 0s, opacity 1.5s ease 0s;
}
.block_vision .area_front .scrollAnime .vision_lead span.pcSpan:nth-child(1) span.pcSpan--small {
  transition-delay: .7s;
}
.block_vision .area_front .scrollAnime .vision_lead span.pcSpan:nth-child(2) span.pcSpan--small {
  transition-delay: 1s;
}
.block_vision .area_front .scrollAnime .vision_lead span.pcSpan:nth-child(3) span.pcSpan--small {
  transition-delay: 1.3s;
}
.block_vision .area_front .scrollAnime .vision_lead span.pcSpan:nth-child(4) span.pcSpan--small {
  transition-delay: 1.6s;
}
.block_vision .area_front .scroll--start .vision_lead span.pcSpan span.pcSpan--small {
  transform: translateY(0);
  opacity: 1;
}
@media all and (min-width:1367px) {
  .block_vision .area_front {
    font-size: 1.171303vw;
  }
}
/* ==================================== 
page-name #company
====================================*/
.block_company .area_front {
  background: linear-gradient(116.37deg, #5B97E9 -0.11%, #004098 36.49%);
  padding: 3em 0 3.2em;
}
.block_company .area_front .title_base {
  text-align: center;
}
.block_company .area_front .companyFlex {
  margin: 0 auto 1.3em;
}
.block_company .area_front .company_lead {
  line-height: 1.8;
  color: #fff;
  margin: 1.5em 0 0;
}
.list_companyMenu {
  margin: auto;
  width: 90%;
}
.list_companyMenu > li {
  border-radius: .8em;
  overflow: hidden;
}
.list_companyMenu > li + li {
  margin: 1.4em auto 0;
}
.list_companyMenu > li a {
  display: block;
  position: relative;
}
.list_companyMenu > li img {
  position: relative;
  transition: transform .5s;
}
.list_companyMenu > li .textBox {
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  bottom: 1.1em;
  z-index: 5;
  width: 90%;
  pointer-events: none;
  color: #fff;
  line-height: 1.6;
  padding: 0 4em 0 0;
  box-sizing: border-box;
}
.list_companyMenu > li .textBox::before {
  content: '';
  width: 3.3em;
  height: 1.4em;
  background-color: #fff;
  border-radius: 5em;
  position: absolute;
  right: 0;
  bottom: 0;
  background-image: url(../img/link_arrow.webp);
  background-repeat: no-repeat;
  background-size: 1.3em auto;
  background-position: center;
  transition: all .5s;
}
.list_companyMenu > li .textBox .menu_name {
  font-size: 121%;
  font-weight: 600;
  margin: 0 0 .2em;
}
/**/
.block_company .area_policy {
  padding: 4em 0 0;
}
.block_company .area_policy .policy_mvv {
  width: 74.3%;
  margin: auto;
}
.block_company .area_policy .policy_strong {
  width: min(96%, 666px);
  margin: 0 auto;
  padding: .2em 0 1.9em;
}
.list_policyAnime > li {
  position: relative;
}
.list_policyAnime > li + li {
  margin: 3em 0 0;
}
.list_policyAnime > li .policy_name {
  position: relative;
  box-sizing: border-box;
  padding: 3.6em 0 3.6em 9em;
}
.list_policyAnime > li .policy_name img {
  height: 100%;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  margin: auto;
  object-fit: contain;
  pointer-events: none;
  clip-path: polygon(100% 50%, 100% 50%, 100% 50%, 100% 50%, 100% 50%);
}
.list_policyAnime.scroll--start > li .policy_name img {
  animation: clipWa .6s linear 1 forwards;
  animation-delay: .2s;
}
.list_policyAnime.scroll--start > li:nth-child(2) .policy_name img {
  animation-delay: 1.2s;
}
.list_policyAnime.scroll--start > li:nth-child(3) .policy_name img {
  animation-delay: 2.2s;
}
.list_policyAnime > li .policy_name p {
  overflow: hidden;
  white-space: nowrap;
  display: inline-block;
  text-align: left;
}
.list_policyAnime > li .policy_name .en {
  display: block;
  font-size: 243%;
  font-weight: 700;
  letter-spacing: .07em;
  color: #004098;
}
.list_policyAnime > li .policy_name .jp {
  display: block;
  font-size: 87.5%;
  font-weight: 600;
  margin: .5em 0 0;
  text-align: center;
}
.list_policyAnime.scrollAnime > li .policy_name .en, .list_policyAnime.scrollAnime > li .policy_name .jp {
  transform: translateX(101%);
  transition: transform .6s;
}
.list_policyAnime.scrollAnime > li:nth-child(2) .policy_name .en, .list_policyAnime.scrollAnime > li:nth-child(2) .policy_name .jp {
  transition-delay: 1s;
}
.list_policyAnime.scrollAnime > li:nth-child(3) .policy_name .en, .list_policyAnime.scrollAnime > li:nth-child(3) .policy_name .jp {
  transition-delay: 2s;
}
.list_policyAnime.scroll--start > li .policy_name .en, .list_policyAnime.scroll--start > li .policy_name .jp {
  transform: translateX(0);
}
.list_policyAnime > li .policy_text {
  font-size: 150%;
  line-height: 1.55;
  margin: .5em 0 0;
  text-align: center;
}
.list_policyAnime.scrollAnime > li .policy_text {
  opacity: 0;
  transition: opacity .8s ease .6s;
}
.list_policyAnime.scrollAnime > li:nth-child(2) .policy_text {
  transition-delay: 1.6s;
}
.list_policyAnime.scrollAnime > li:nth-child(3) .policy_text {
  transition-delay: 2.6s;
}
.list_policyAnime.scroll--start > li .policy_text {
  opacity: 1;
}
/**/
.block_company .area_message {
  padding: 5.3em 0 0;
  overflow: hidden;
}
.block_company .area_message .message_textBox {
  line-height: 1.85;
  text-align: left;
  font-size: 96%;
}
.block_company .area_message .message_textBox p + p {
  margin: 1.8em 0 0;
}
.block_company .area_message .message_president {
  margin: 2em auto 0;
  width: 100vw;
  transform: translateX(-5%);
}
.block_company .area_message .scrollAnime .message_president {
  clip-path: circle(5% at 11% 22%);
  transition: clip-path 1.2s ease .3s;
}
.block_company .area_message .scroll--start .message_president {
  clip-path: circle(100% at 50% 50%);
}
/**/
.block_company .area_csr {
  padding: 5.4em 0 3.7em;
  overflow: hidden;
}
.block_company .area_csr .csr_image {
  width: 108vw;
  margin: 2em auto 1.8em;
  transform: translateX(-8.5%);
  position: relative;
}
.block_company .area_csr .csr_image::before {
  content: '';
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background: url("../img/company/csrBg.webp") no-repeat;
  background-size: contain;
  background-repeat: no-repeat;
}
.block_company .area_csr .csr_image.scrollAnime::before {
  opacity: 0;
  transform: rotateZ(-20deg) scale(.8);
  transition: all 1s ease .5s;
}
.block_company .area_csr .csr_image.scroll--start::before {
  opacity: 1;
  transform: rotateZ(0deg) scale(1);
}
.block_company .area_csr .csr_image img {
  position: relative;
  z-index: 5;
}
/**/
.block_company .area_locations {
  padding: 0 0 4em;
}
.block_company .area_locations .locationsSet + .locationsSet {
  margin: 3em auto 0;
}
/* ==================================== 
page-name #service
====================================*/
#page_front .serviceBg {
  background: url("../img/service_bg.webp");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center top 32em;
  padding: 3.5em 0;
  margin: 0 0 1em;
  overflow: hidden;
}
.block_service .area_front .inner {
  width: 100%;
}
.block_service .area_front .title_base {
  text-align: center;
}
.block_service .area_front .flexBox {
  margin: 1.6em 0 0;
}
.block_service .area_front .service_textBox {
  position: relative;
}
.block_service .area_front .service_textBox .service_title {
  font-size: 150%;
  line-height: 1.6;
  padding: 0 .8em 10.8em;
  position: relative;
  z-index: 5;
  width: 100vw;
  transform: translateX(-5.3%);
  box-sizing: border-box;
}
.block_service .area_front .service_textBox .service_title::before {
  content: '';
  width: 100%;
  height: 0;
  padding: 57% 0 0;
  position: absolute;
  left: 0;
  bottom: 0;
  background: url(../img/service_img01_sp.webp);
  background-repeat: no-repeat;
  background-size: contain;
}
.block_service .area_front .service_textBox .service_title strong {
  font-weight: 600;
}
.block_service .area_front .service_textBox .service_text {
  line-height: 1.9;
  margin: .7em auto 0;
  font-size: 97%;
  width: 90%;
}
.block_service .area_front .service_textBox .btn_base {
  margin: .9em auto 0;
}
/**/
.block_service .area_summary {
  padding: 0 0 3.7em;
  margin: -1.3em 0 0;
}
.block_service .area_summary .inner {
  width: 100%;
}
.block_service .area_summary .summary_leadBox .summary_lead {
  width: 90%;
  margin: auto;
  padding: .4em 0 0;
}
.block_service .area_summary .summary_leadBox .summary_text {
  text-align: left;
  font-size: 108.8%;
  font-weight: 500;
  line-height: 2;
  margin: .8em auto 4.5em;
  width: 90%;
  letter-spacing: 0;
}
.list_serviceSummary > li {
  position: relative;
  box-sizing: border-box;
}
.list_serviceSummary > li .title_section {
  width: 90%;
  margin: auto;
}
.list_serviceSummary > li + li {
  margin: 4em 0 0;
}
.list_serviceSummary > li .serviceSummary_image {
  margin: 1.25em 0 0;
}
.list_serviceSummary > li .serviceSummary_desc {
  line-height: 1.8;
  margin: .5em auto 0;
  width: 90%;
  text-align: left;
}
.list_serviceSummary > li .btn_base {
  margin: 1.2em auto 0;
}
/**/
.list_serviceSummary > li.scrollAnime .serviceSummary_image {
  clip-path: polygon(100% 0, 100% 0, 100% 0%, 100% 0%, 100% 0);
  transition: clip-path 1.2s ease .1s;
}
.list_serviceSummary > li.scroll--start .serviceSummary_image {
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%, 0 0);
}
.list_serviceSummary > li.reverse.scrollAnime .serviceSummary_image {
  clip-path: polygon(0 0, 0 0, 0 0, 0 0, 0 0);
}
.list_serviceSummary > li.reverse.scroll--start .serviceSummary_image {
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%, 0 0);
}
/**/
.block_service .area_serviceDetail {
  padding: 0 0 3em;
}
.block_service .area_serviceDetail .serviceDetailWrap {
  width: 90%;
  margin: auto;
}
.block_service .area_serviceDetail .serviceDetail_contentsSide {
  display: none;
}
.block_service .area_serviceDetail .serviceDetailWrap .contentsSet {
  overflow: hidden;
}
.block_service .area_serviceDetail .serviceDetail_lead {
  line-height: 1.78;
  margin: .9em 0 0;
  text-align: left;
  letter-spacing: .09em;
}
.block_service .area_serviceDetail .serviceDetail_mainImage {
  margin: 3em 0 0;
  overflow: hidden;
  border-radius: .6em;
}
.block_service .list_fixedAnchor {
  position: sticky;
  left: 0;
  top: 8em;
}
.list_fixedAnchor > li {
  position: relative;
  overflow: hidden;
}
.list_fixedAnchor > li::before {
  content: '';
  width: 0;
  height: 100%;
  position: absolute;
  right: 0;
  top: 0;
  transition: all .4s;
  background: #004098;
}
.list_fixedAnchor > li a {
  display: block;
  position: relative;
  color: #A9A9A9;
  letter-spacing: .03em;
  font-weight: 600;
  padding: .4em 1em .5em;
  transition: color .4s;
}
.block_service .area_serviceDetail .set_anchor {
  margin: 3.2em 0 0;
}
.block_service .area_serviceDetail .serviceDetail_illust01 {
  position: relative;
  margin: 1.4em 0 0;
}
.block_service .area_serviceDetail .list_serviceDetailConst {
  display: flex;
  flex-wrap: wrap;
  gap: 1em 2%;
  margin: 0 0 2em;
}
.block_service .area_serviceDetail .list_serviceDetailConst > li {
  width: 49%;
}
.block_service .area_serviceDetail .contentsSet + .contentsSet {
  margin: 3em 0 0;
}
/**/
.list_featureNumbers {
  margin: 1.3em 0 3em;
}
.list_featureNumbers > li {
  display: flex;
  align-items: center;
  background: #fff;
  box-sizing: border-box;
  box-shadow: 0 0 1.25em 0 rgba(0, 0, 0, .25);
  border-radius: 1.25em;
  padding: 2.5em 0 2em;
}
.list_featureNumbers > li + li {
  margin: 1.5em 0 0;
}
.list_featureNumbers > li .boxText {
  width: 57%;
  text-align: center;
}
.list_featureNumbers > li .boxText .num_name {
  text-align: center;
  font-size: 121.4%;
  font-weight: 500;
  letter-spacing: 0;
}
.list_featureNumbers > li .boxText .num_count {
  margin: 1.5em 0 0;
  font-family: "Mohave", sans-serif;
  font-weight: 600;
}
.list_featureNumbers > li .boxText .num_count span.num {
  color: #004098;
  font-size: 662%;
  letter-spacing: -.07em;
}
.list_featureNumbers > li .boxText .num_count span.unit {
  font-size: 276%;
  letter-spacing: 0;
  margin: 0 0 0 .15em;
}
.list_featureNumbers > li .boxImage {
  width: 31.365%;
}
.list_serviceReason {
  margin: 2em 0 0;
}
.list_serviceReason > li {
  border-radius: 1em;
  background: linear-gradient(133.41deg, #5B97E9 -1.12%, #004098 65.93%);
  color: #fff;
  padding: 2.1em 1.5em 2em;
  box-sizing: border-box;
}
.list_serviceReason > li + li {
  margin: 1.2em 0 0;
}
.list_serviceReason > li .serviceReason_titleBox {
  display: flex;
  align-items: center;
}
.list_serviceReason > li .serviceReason_count {
  font-size: 230%;
  font-weight: 600;
  margin: 0 .2em 0 0;
}
.list_serviceReason > li .serviceReason_name {
  font-size: 124%;
  font-weight: 700;
}
.list_serviceReason > li .serviceReason_text {
  line-height: 2;
  margin: 1em 0 0;
  text-align: left;
  font-size: 90%;
}
.block_service .area_serviceDetail .service_messageBox {
  margin: 2.5em auto 0;
}
.block_service .area_serviceDetail .service_messageBox .message_text {
  font-size: 195%;
  font-weight: 600;
  line-height: 1.72;
  color: #004098;
  box-sizing: border-box;
  letter-spacing: 0;
  text-align: center;
  padding: .5em 0 0;
}
.block_service .area_serviceDetail .service_messageBox .message_text p {
  display: inline-block;
  text-align: left;
}
.block_service .area_serviceDetail .setSection {
  margin: 2.8em 0 0;
}
.block_service .area_serviceDetail .setSection .sec_title {
  color: #003D99;
  font-size: 150%;
  font-weight: 700;
  margin: 0 0 .5em;
  line-height: 1.5;
}
.list_business {
  width: 95%;
  margin: 2em auto 0;
}
.list_business > li {
  position: relative;
}
.list_business > li + li {
  margin: 12% auto 0;
}
.list_business .nameWrap {
  position: relative;
  z-index: 5;
  text-align: center;
  padding: 28% 0;
  color: #fff;
  margin: 0 auto 1.5em;
  width: 80%;
}
.list_business > li::before {
  content: '';
  width: 80%;
  height: 0;
  padding: 80% 0 0;
  background: linear-gradient(133.41deg, #5B97E9 -1.12%, #004098 65.93%);
  position: absolute;
  z-index: 4;
  left: 10%;
  top: 0;
  margin: auto;
  border-radius: 50%;
}
.list_business .nameWrap .name_en {
  font-size: 350%;
  font-weight: 700;
  line-height: 1.4;
  position: relative;
  z-index: 5;
  letter-spacing: 0;
}
.list_business .nameWrap .name_jp {
  position: relative;
  z-index: 5;
  line-height: 1;
}
/**/
.list_businessDetail {
  width: 80%;
  margin: auto;
}
.list_businessDetail > li {
  background-size: 1em auto;
  padding: 0 0 0 1em;
  font-size: 118%;
  font-weight: 600;
  position: relative;
}
.list_businessDetail > li::before {
  content: '';
  width: .3em;
  height: .3em;
  background: #000;
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: .4em;
  margin: auto;
}
.list_businessDetail > li small {
  display: block;
  font-size: 85%;
  line-height: 1;
  position: relative;
  margin: .3em 0 0;
}
.list_businessDetail > li + li {
  margin: .8em 0 0;
}
.list_businessDetail.scroll--anime > li {
  opacity: 0;
  transform: translateY(30px);
  transition: transform .5s, opacity .5s;
}
.list_businessDetail.scroll--start > li {
  opacity: 1;
  transform: translateY(0);
}
.list_businessDetail.scroll--anime > li:nth-child(1) {
  transition-delay: .3s;
}
.list_businessDetail.scroll--anime > li:nth-child(2) {
  transition-delay: .4s;
}
.list_businessDetail.scroll--anime > li:nth-child(3) {
  transition-delay: .5s;
}
.list_businessDetail.scroll--anime > li:nth-child(4) {
  transition-delay: .6s;
}
.list_businessDetail.scroll--anime > li:nth-child(5) {
  transition-delay: .7s;
}
.list_businessDetail.scroll--anime > li:nth-child(6) {
  transition-delay: .8s;
}
.list_businessDetail.scroll--anime > li:nth-child(7) {
  transition-delay: .9s;
}
.list_businessDetail.scroll--anime > li:nth-child(8) {
  transition-delay: 1s;
}
.list_businessDetail.scroll--anime > li:nth-child(9) {
  transition-delay: 1.1s;
}
/* ==================================== 
page-name #division
====================================*/
.block_division .area_front {
  margin: 5em 0 0;
  position: relative;
  box-sizing: border-box;
}
.block_division .area_front .title_base {
  text-align: center;
}
.block_division .area_front .inner {
  position: relative;
}
.block_division .area_front .division_lead {
  line-height: 2;
  position: relative;
  padding: 39.7em 0 0;
  margin: 1.8em 0 0;
}
.block_division .area_front .division_lead::before {
  content: '';
  width: 100vw;
  height: 0;
  padding: 160% 0 0;
  position: absolute;
  left: 0;
  top: 0;
  margin: auto;
  background: url(../img/division_img01_sp.webp);
  background-repeat: no-repeat;
  background-size: contain;
}
.block_division .area_front .btn_base {
  margin: 1em auto 0;
}
.block_division .divisionIntroGrid {
  display: grid;
  grid-template-columns: 100%;
}
.block_division .divisionIntroGrid .divisionIntro_title {
  order: 1;
  font-size: 175%;
  font-weight: 600;
  margin: 0 0 .8em;
}
.block_division .divisionIntroGrid .divisionIntro_text {
  order: 3;
  line-height: 2;
  margin: 1.5em 0 0;
  letter-spacing: .09em;
}
.block_division .divisionIntroGrid .divisionIntro_image {
  order: 2;
  overflow: hidden;
  border-radius: .5em;
}
.block_division .area_intro {
  padding: 0 0 2em;
}
.block_division .area_intro .title_bg {
  margin: 2em 0 0;
}
.block_division .area_intro .list_divisionIntro {
  margin: -3em 0 0;
}
.list_divisionIntro > li {
  padding: 3em 0;
}
.list_divisionIntro > li + li {
  border-top: solid 1px #A2A7AE;
}
.list_divisionIntroBunya {
  display: flex;
  flex-wrap: wrap;
  margin: 2em auto 0;
  gap: .8em 4%;
}
.list_divisionIntroBunya > li {
  width: 48%;
}
/* ==================================== 
page-name #recruit
====================================*/
#page_front .recruitBg {
  background: #ECF1F4;
  padding: 3.5em 0 0;
}
.block_recruit .area_front .title_base {
  text-align: center;
}
/* ==================================== 
page-name #inquiry
====================================*/
.block_inquiry {
  background: #E8F0F6;
  padding: 0 0 4em;
}
.block_inquiry .area_topTitle {
  padding: 9em 0 0;
}
.block_inquiry .area_topTitle .topTitle_lead {
  margin: 2em 0 0;
  line-height: 2;
}
.block_inquiry .area_topTitle .btn_base {
  margin: 3em auto 0;
  text-align: center;
}
.block_inquiry .area_form {
  margin: 4em 0 0;
}
.list_formStep {
  display: flex;
  background: #9DB5D7;
  border-radius: .7em .7em 0 0;
  overflow: hidden;
}
.list_formStep > li {
  text-align: center;
  color: #C2D2E6;
  width: 100%;
  height: 6em;
  display: flex;
}
.list_formStep > li > div {
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: relative;
}
.list_formStep > li > div::before {
  content: '';
  position: absolute;
  left: -4%;
  top: 0;
  width: 108%;
  height: 100%;
  background: #004098;
  opacity: 0;
  border-radius: .5em;
}
.list_formStep > li.active > div::before {
  opacity: 1;
  transform: skewX(10deg);
}
.list_formStep > li .step {
  display: block;
  font-size: 135%;
  font-weight: 700;
  position: relative;
  z-index: 5;
}
.list_formStep > li .text {
  display: block;
  font-weight: 600;
  margin: .5em 0 0;
  position: relative;
  z-index: 5;
  letter-spacing: 0;
}
.list_formStep > li.active {
  color: #fff;
}
.formBase {
  background: #fff;
  box-shadow: 0 0 1em 0 #E0E9F0;
  padding: 4em 0 3em;
}
.formBase input {
  -webkit-appearance: none;
  appearance: none;
}
.formBase .form_title {
  text-align: center;
  color: #014098;
  font-size: 150%;
  font-weight: 600;
}
.list_form {
  width: 90%;
  margin: 2.5em auto 0;
}
.list_form > li + li {
  margin: 1.2em 0 0;
}
.list_form .form_label .label_title .labelName {
  display: inline-block;
}
.list_form .form_label .label_title .hissu {
  display: inline-block;
  background: #ED9889;
  border-radius: .25em;
  color: #fff;
  font-size: 87.5%;
  padding: .3em .5em;
  margin: 0 0 0 .7em;
}
.list_form .form_label .label_title .nini {
  display: inline-block;
  background: #898D92;
  border-radius: .25em;
  color: #fff;
  font-size: 87.5%;
  padding: .3em .5em;
  margin: 0 0 0 .7em;
}
.list_form .form_input {
  margin: .5em 0 0;
}
.list_form .form_input.type--radio .wpcf7-list-item {
  display: block;
}
.list_form .form_input.type--radio label {
  display: block;
  cursor: pointer;
  padding: .5em 0 .5em 1.3em;
  position: relative;
}
.list_form .form_input.type--radio label::before {
  content: "";
  width: 1em;
  height: 1em;
  box-sizing: border-box;
  border: solid 1px #5E6268;
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: .1em;
  bottom: 0;
  margin: auto;
}
.list_form .form_input.type--radio label::after {
  content: '';
  width: 1em;
  height: 1em;
  box-sizing: border-box;
  border-radius: 50%;
  background: #003E98;
  transform: scale(.6);
  transform-origin: center;
  position: absolute;
  left: 0;
  top: .1em;
  bottom: 0;
  margin: auto;
  opacity: 0;
  transition: opacity .2s;
}
.list_form .form_input.type--radio label:has(input:checked)::after {
  opacity: 1;
}
.list_form .form_input.type--radio input {
  width: 0;
  height: 0;
  opacity: 0;
  position: absolute;
}
.list_form input[type="text"], .list_form input[type="tel"], .list_form input[type="email"], .list_form textarea {
  border: solid 1px #5E6268;
  border-radius: .2em;
  width: 100%;
  padding: .6em;
  font-size: 16px;
  box-sizing: border-box;
}
.formBase .area_confirm {
  text-align: center;
  margin: 2em 0 0;
}
.formBase .area_confirm label {
  display: inline-block;
  position: relative;
  cursor: pointer;
}
.formBase .area_confirm label::before {
  content: '';
  width: 1em;
  height: 1em;
  box-sizing: border-box;
  border: solid 1px #333;
  border-radius: 0;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  transition: border-radius .3s, background .3s;
}
.formBase .area_confirm label:has(input:checked)::before {
  border-radius: 50%;
  background: #014098;
}
.formBase .area_confirm .link_policy {
  color: #014098;
  font-weight: 700;
  text-decoration: underline;
  transition: opacity .3s;
}
.formBase .area_submit {
  margin: 3em 0 0;
  text-align: center;
}
.formBase .area_submit input.btn_submit {
  display: inline-block;
  width: 90%;
  height: 0;
  padding: 18.5% 0 0;
  background-color: transparent;
  background-image: url("../img/btn_submit_sp.webp");
  background-size: contain;
  border: none;
  background-repeat: no-repeat;
  overflow: hidden;
  white-space: nowrap;
  text-indent: 150%;
  cursor: pointer;
  transition: opacity .3s;
  border-radius: 10em;
}
.formBase .form_lead {
  text-align: center;
  line-height: 2;
  font-size: 94%;
}
.formBase .btn_base {
  margin: 2em auto 0;
  text-align: center;
}
#page_inquiry .hNav_btns {
  display: none;
}
/* ==================================== 
page-name #policy
====================================*/
.block_pageBase .area_contents {
  padding: 9em 0 6em;
}
.block_pageBase .area_contents .pageBase_title {
  font-size: 175%;
  font-weight: 600;
  color: #014098;
  letter-spacing: .05em;
  text-align: center;
  margin: 0 0 2em;
  line-height: 1.5;
}
.block_pageBase .area_contents .policyBox {
  margin: auto;
  line-height: 2;
  font-size: 86%;
  letter-spacing: .09em;
}
.block_pageBase .area_contents .policyBox .policy_lead {
  margin: 0 0 2em;
}
.list_policy > li + li {
  margin: 2em 0 0;
}
.list_policy > li a {
  text-decoration: underline;
}
.dl_base dt {
  font-weight: 600;
  font-size: 110%;
}
.list_decimal {
  list-style: decimal;
}
.list_decimal > li {
  margin: 0 0 0 1.6em;
}
/* ==================================== 
page-name #employee
====================================*/
.block_employee .post-password-form {
  padding: 16em 0 8em;
  background: rgba(0, 62, 152, 0.1);
}
.block_employee .post-password-form p {
  text-align: center;
  width: 90%;
  margin: auto;
  font-size: 88%;
  line-height: 1.5
}
.block_employee .post-password-form p + p {
  margin: 4em 0 0;
}
.block_employee .post-password-form input[type="password"] {
  margin: 0;
  resize: none;
  font-size: 16px;
  padding: 6px;
  box-sizing: border-box;
}
/**/
.block_employee {
  padding: 8em 0 4em;
  background: rgba(0, 62, 152, 0.1);
}
.block_employee .portal_title {
  text-align: center;
  font-size: 135%;
  line-height: 1.5;
  margin: 0 0 2em;
}
.parts_portalMenu {
  width: 92%;
  margin: 3em auto 0;
}
.parts_portalMenu .portalSet {
  background: #fff;
  border-radius: 1em;
  box-shadow: 0 0 1em #eee;
  box-sizing: border-box;
  padding: 1.5em 1em;
}
.parts_portalMenu .portalSet + .portalSet {
  margin: 1.5em auto 0;
}
.parts_portalMenu .portalLinks_title {
  font-size: 125%;
  font-weight: 700;
  text-align: center;
  color: #003E98;
  margin: 0 0 1.5em;
}
.parts_portalMenu .portalLinks_title > span {
  display: inline-block;
  padding: .2em 1.5em;
  background-repeat: no-repeat;
  background-position: left center;
  background-size: 1.2em auto;
}
.parts_portalMenu .portalLinks_title.icon--mypage > span {
  background-image: url(../img/employee/icon01.webp);
}
.parts_portalMenu .portalLinks_title.icon--money > span {
  background-image: url(../img/employee/icon02.webp);
}
.parts_portalMenu .portalLinks_title.icon--work > span {
  background-image: url(../img/employee/icon03.webp);
}
.parts_portalMenu .portalLinks_title.icon--contact > span {
  background-image: url(../img/employee/icon04.webp);
}
.list_portalLinks > li + li {
  margin: .8em 0 0;
}
.list_portalLinks > li > a {
  display: block;
  padding: 1em 1em;
  position: relative;
  transition: color .3s;
  background: #eee;
  border-radius: .5em;
  font-size: 88%;
  font-weight: 500;
  overflow: hidden;
}
.list_portalLinks > li > a::before {
  content: '';
  background-color: #5B97E9;
  background-image: url("../img/arrow01--on.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: .8em auto;
  position: absolute;
  right: 0;
  top: 0;
  height: 100%;
  aspect-ratio: 1/ 1;
  pointer-events: none;
  transition: opacity .3s;
}
/**/
.list_sharePDF > li {
  background: #fff;
  box-sizing: border-box;
  border-radius: .5em;
  box-shadow: 0 0 1em #eee;
  overflow: hidden;
}
.list_sharePDF > li + li {
  margin: .8em 0 0;
}
.list_sharePDF > li a {
  display: block;
  padding: .8em 3em .8em 1em;
  font-weight: 500;
  background: url("../img/employee/icon_pdf.webp");
  background-repeat: no-repeat;
  background-size: 2em auto;
  background-position: right .8em center;
  transition: color .3s;
  line-height: 1.5;
  font-size: 90%;
}
/**/
.block_employee .area_login #my-login-form {
  width: 96%;
  background: #fff;
  padding: 2em 1em;
  box-sizing: border-box;
  margin: auto;
  text-align: center;
}
#my-login-form input[type="text"], #my-login-form input[type="password"] {
  font-size: 16px;
  padding: .5em;
  -webkit-appearance: none;
  appearance: none;
}
#my-login-form .login-username {
  margin: 0 0 2em;
}
#my-login-form .login-password {
  margin: 0 0 2em;
}
#my-login-form .login-remember {
  margin: 0 0 2em;
}
#my-login-form .login-submit {
  text-align: center;
}
#my-login-form input[type="submit"] {
  width: min(96%, 300px);
  margin: auto;
  background: #003E98;
  -webkit-appearance: none;
  appearance: none;
  border: none;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  padding: 1em 0;
  border-radius: 5em;
  cursor: pointer;
  transition: opacity .3s;
}
#my-login-form input[type="submit"]:hover {
  opacity: .7;
}