@charset "utf-8";
.sp-only {
  display: none !important;
}
.tab-only {
  display: none !important;
}
.inner {
  width: min(96%, 1260px);
  margin: auto;
}
.inner--contents {
  width: min(96%, 900px);
  margin: auto;
}
.title_base.type--center {
  text-align: center;
}
.title_base.color--white {
  color: #fff;
}
.title_base .en {
  display: block;
  font-size: 525%;
  font-weight: 600;
  letter-spacing: 0;
}
.title_base .jp {
  font-size: 125%;
  font-weight: 400;
  margin: .2em 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: 1em auto;
  background-position: left center;
}
.title_base.color--white .jp span {
  background-image: url(../img/icon_logo--on.webp);
}
.title_icon {
  font-size: 250%;
  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;
}
.inner--contents .title_icon {
  transform: translateX(-1.46em);
}
/**/
.title_section .en {
  color: #004098;
  font-weight: 600;
  letter-spacing: .1em;
}
.title_section .jp {
  font-size: 200%;
  font-weight: 600;
  margin: .13em 0 0;
}
.title_section .jp.big {
  font-size: 287.5%;
}
@media all and (max-width:1024px) {
  .inner--contents .title_icon {
    transform: translateX(0);
  }
}
.title_bg {
  background: #F0F3F5;
  font-size: 175%;
  font-weight: 500;
  line-height: 1.3214;
  border-left: solid 5px #004098;
  padding: .5em;
}
.title_center {
  text-align: center;
  color: #014098;
}
.title_center .en {
  font-size: 112.5%;
  font-weight: 600;
}
.title_center .jp {
  font-size: 343.75%;
  font-weight: 600;
  margin: .4em 0 0;
}
/**/
.btn_base a {
  min-width: 250px;
  position: relative;
  box-sizing: border-box;
  border: solid 1px #004098;
  overflow: hidden;
  background: #004098;
  border-radius: 3em;
  display: inline-block;
  padding: .9em 3em .9em 1.2em;
  font-size: 112.5%;
  font-weight: 600;
  color: #fff;
  z-index: 5;
  transition: color .4s, background .4s;
}
.btn_base a span.text {
  display: inline-block;
  overflow: hidden;
  position: relative;
}
.btn_base a span.text::before {
  content: attr(data-text);
  position: absolute;
  left: 0;
  top: 100%;
  color: #004098;
  transition: all .4s;
}
.btn_base a span.text span {
  display: block;
  transition: all .4s;
}
.btn_base a:hover span.text span {
  transform: translateY(-110%);
}
.btn_base a:hover span.text::before {
  transform: translateY(-101%);
}
.btn_base a span.link {
  display: inline-block;
  position: absolute;
  width: .8em;
  height: .8em;
  margin: auto;
  z-index: 5;
  right: 1.1em;
  top: 0;
  bottom: 0;
  transition: all .4s;
  overflow: hidden;
}
.btn_base a span.link::before {
  content: '';
  width: 100%;
  height: 100%;
  background-image: url(../img/arrow01--on.svg);
  background-repeat: no-repeat;
  background-size: contain;
  transition: all .4s;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
}
.btn_base a span.link::after {
  content: '';
  width: 100%;
  height: 100%;
  background-image: url(../img/arrow01.svg);
  background-repeat: no-repeat;
  background-size: contain;
  transition: all .4s;
  position: absolute;
  left: -100%;
  top: 0;
  bottom: 0;
}
.btn_base a:hover {
  color: #004098;
  background: #fff;
}
.btn_base a:hover span.link::before {
  transform: translateX(100%);
}
.btn_base a:hover span.link::after {
  transform: translateX(100%);
}
.btn_back {}
@media all and (max-width:1024px) {
  main {
    font-size: 1.5625vw;
  }
}
/**/
.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: translateX(-100%);
  transition: transform .5s ease 1s;
}
.scrollAnime.scroll--start .title_base span {
  transform: translateX(0);
}
/* == underPage ============================================== */
.block_pageTitle {
  background: linear-gradient(116.37deg, #5B97E9 -0.11%, #004098 36.49%);
  padding: 0 0 2.2em;
}
.block_pageTitle .pageTitle_image {
  width: 72.8%;
  margin: 0 0 0 auto;
  mask-image: url(../img/clip05.webp);
  mask-size: 100% 100%;
}
.block_pageTitle .flexBox {
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse;
  align-items: flex-end;
  width: min(94%, 1250px);
  margin: 1em auto 0;
}
.block_pageTitle .title_page {
  color: #fff;
}
.block_pageTitle .title_page .en span {
  display: inline-block;
  font-size: 112.5%;
  font-weight: 600;
  border: solid 1px #fff;
  padding: .2em .95em;
}
.block_pageTitle .title_page .jp {
  font-size: 343.75%;
  letter-spacing: 0;
  margin: .4em 0 0;
}
.list_bread {
  display: flex;
  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_bread > li a {
  transition: all .3s;
}
.list_bread > li a:hover {
  opacity: .7;
}
.list_dlBase > li {
  display: flex;
  justify-content: space-between;
}
.list_dlBase > li .gaiyouLeft {
  width: 230px;
  border-top: solid 1px #004098;
  border-bottom: solid 1px #004098;
  box-sizing: border-box;
  padding: 1em 1.2em;
  min-height: 7em;
  display: flex;
  align-items: center;
}
.list_dlBase > li + li .gaiyouLeft {
  border-top: none;
}
.list_dlBase > li .gaiyou_title {
  font-size: 106.25%;
  font-weight: 500;
  letter-spacing: 0;
  display: flex;
  line-height: 1.5;
  align-items: center;
}
.list_dlBase > li .gaiyouRight {
  width: calc(100% - 245px);
  border-top: solid 1px #A2A7AE;
  border-bottom: solid 1px #A2A7AE;
  box-sizing: border-box;
  padding: 1em 3.8em 1em 1em;
  min-height: 7em;
  display: flex;
  align-items: center;
  letter-spacing: .09em;
}
.list_dlBase > li + li .gaiyouRight {
  border-top: none;
}
.list_dlBase > li .gaiyou_text {
  line-height: 2;
}
.list_dlBase > li .gaiyou_text a {
  color: #5B97E9;
  text-decoration: underline;
  transition: opacity .3s;
  font-weight: 600;
}
.list_dlBase > li .gaiyou_text a:hover {
  opacity: .7;
}
.list_dlBase > li .gaiyoMap {
  position: relative;
  overflow: hidden;
  border-radius: 1em;
  width: 100%;
  height: 0;
  margin: 3em auto;
  padding: min(50%, 450px) 0 0;
}
.list_dlBase > li .gaiyoMap iframe {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
/**/
.underBg {
  padding: 10em 0 0;
  background-image: url(../img/vision_bg.webp), url(../img/service_bg.webp), url(../img/underBg.webp);
  background-size: 100% auto, 100% auto, 100% auto;
  background-repeat: no-repeat, no-repeat, no-repeat;
  background-position: center top -30em, center, center bottom -20em;
}
.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 -30em, center bottom -20em;
}
@media all and (min-width:1366px) {
  .underBg {
    background-size: 100% 1356px, 100% 1356px, 100% 1175px;
  }
  .underBg.bg--small {
    background-size: 100% 1356px, 100% 1175px;
  }
}
/* == parts ============================================== */
.parts_news {
  margin: 10em 0 9em;
}
.parts_news .newsBg {
  background: #fff;
  box-shadow: 0 .6em 1em rgba(0, 0, 0, .25);
  border-radius: 2em;
  box-sizing: border-box;
  padding: 5.7em 0;
  width: min(100%, 1200px);
  margin: 0 auto;
}
.parts_news .flexBox {
  display: flex;
  width: min(90%, 1020px);
  margin: auto;
}
.parts_news .flexBox .flexLeft {
  width: 30%;
}
.parts_news .flexBox .flexRight {
  width: 70%;
  margin: -1.8em 0 0;
}
@media all and (max-width:1024px) {
  .parts_news .flexBox {
    display: block;
  }
  .parts_news .flexBox .flexLeft {
    width: 100%;
  }
  .parts_news .flexBox .flexRight {
    width: 100%;
    margin: 1em 0 0;
  }
}
/**/
.parts_news.scrollAnime .newsBg {
  transform: scale(0);
  transform-origin: left top;
  transition: transform .5s ease .2s;
}
.parts_news.scroll--start .newsBg {
  transform: scale(1);
}
.parts_news.scrollAnime .newsBg .flexBox {
  opacity: 0;
  transition: opacity 1s ease .6s;
}
.parts_news.scroll--start .newsBg .flexBox {
  opacity: 1;
}
.parts_news.scrollAnime .js_split > span.split:nth-child(1) {
  transition-delay: .7s;
}
.parts_news.scrollAnime .js_split > span.split:nth-child(2) {
  transition-delay: .8s;
}
.parts_news.scrollAnime .js_split > span.split:nth-child(3) {
  transition-delay: .9s;
}
.parts_news.scrollAnime .js_split > span.split:nth-child(4) {
  transition-delay: 1s;
}
.parts_news.scrollAnime .title_base .jp span {
  transition-delay: 1.5s;
}
/**/
.parts_contact {
  width: min(96%, 1200px);
  margin: 6em auto 0;
  padding: 0 0 7.2em;
}
.parts_contact a {
  display: block;
  padding: 4em 0;
  position: relative;
  background: linear-gradient(115deg, #5B97E9 0%, #004098 30%);
  margin: auto;
  background-size: 200% 100%;
  border-radius: 10em;
  box-sizing: border-box;
  transition: all .4s;
  background-position: right center;
}
.parts_contact a:hover {
  background-position: left center;
}
.parts_contact a::before {
  content: '';
  width: 1.4em;
  height: 1.4em;
  position: absolute;
  right: 4em;
  top: 0;
  bottom: 0;
  margin: auto;
  background: url(../img/arrow02.svg);
  background-repeat: no-repeat;
  background-size: contain;
  transition: transform .3s;
}
.parts_contact .flexBox {
  display: flex;
  align-items: center;
  width: min(90%, 1020px);
  margin: auto;
}
.parts_contact .flexLeft {
  width: 50%;
}
.parts_contact .flexRight {
  width: 50%;
}
.parts_contact .contact_lead {
  font-size: 112.5%;
  line-height: 2;
  color: #fff;
  padding: 0 2em 0 0;
}
@media all and (max-width:1024px) {
  .parts_contact .flexBox {
    display: block;
  }
  .parts_contact .flexLeft {
    width: 100%;
  }
  .parts_contact .flexRight {
    width: 100%;
    margin: 1.5em 0 0;
  }
}
/**/
.parts_contact.scrollAnime {
  clip-path: circle(4% at 50% 40%);
  transform: translateY(-10em) scale(0);
  transition: clip-path 1s ease .8s, transform 1s ease .1s;
}
.parts_contact.scrollAnime .flexBox {
  opacity: 0;
  transition: opacity 1s ease .8s;
}
.parts_contact.scroll--start {
  clip-path: circle(100% at 50% 50%);
  transform: translateY(0);
}
.parts_contact.scroll--start .flexBox {
  opacity: 1;
}
.parts_contact.scrollAnime .js_split > span.split:nth-child(1) {
  transition-delay: .8s;
}
.parts_contact.scrollAnime .js_split > span.split:nth-child(2) {
  transition-delay: .9s;
}
.parts_contact.scrollAnime .js_split > span.split:nth-child(3) {
  transition-delay: 1s;
}
.parts_contact.scrollAnime .js_split > span.split:nth-child(4) {
  transition-delay: 1.1s;
}
.parts_contact.scrollAnime .js_split > span.split:nth-child(5) {
  transition-delay: 1.2s;
}
.parts_contact.scrollAnime .js_split > span.split:nth-child(6) {
  transition-delay: 1.3s;
}
.parts_contact.scrollAnime .js_split > span.split:nth-child(7) {
  transition-delay: 1.4s;
}
.parts_contact.scrollAnime .title_base .jp span {
  transition-delay: 1.8s;
}
/**/
.parts_siblingsLink {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 9em auto;
  gap: 1.5em;
  width: 96%;
}
.parts_siblingsLink .btn_siblingsLink {
  width: min(96%, 602px);
}
.btn_siblingsLink a {
  display: flex;
  background: #fff;
  border: solid 1px #004098;
  box-shadow: .6em .6em 0 0 #004099;
  border-radius: 1.25em;
  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: 1em;
  top: 0;
  bottom: 0;
  margin: auto;
  transition: transform .4s;
}
.btn_siblingsLink a:hover::before {
  transform: translateX(.4em);
}
.btn_siblingsLink .siblingsLink_imgBox {
  width: 40%;
  overflow: hidden;
}
.btn_siblingsLink .siblingsLink_imgBox img {
  transition: transform .4s;
}
.btn_siblingsLink a:hover .siblingsLink_imgBox img {
  transform: scale(1.1);
}
.btn_siblingsLink .siblingsLink_textBox {
  width: 60%;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 0 2.5em 0 1.3em;
  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: 150%;
  font-weight: 600;
  margin: .1em 0 0;
  line-height: 1.2;
}
/**/
.list_newsSummary > li {
  border-bottom: solid 1px #9EAEC5;
}
.list_newsSummary > li > a, .list_newsSummary > li > span {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  padding: 2.7em 0;
}
.list_newsSummary > li > a::before {
  content: '';
  width: 0;
  height: 2px;
  background: #003E98;
  position: absolute;
  right: 0;
  bottom: -1px;
  transition: all .6s;
}
.list_newsSummary > li a:hover::before {
  width: 100%;
  left: 0;
  right: auto;
}
.list_newsSummary > li .newsInfo {
  width: 7.5em;
}
.list_newsSummary > li .newsInfo span.time {
  display: block;
  color: #004098;
  font-size: 120%;
  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: 87.5%;
  font-weight: 600;
  padding: .4em 0 .5em;
  margin: .6em 0 0;
}
.list_newsSummary > li .newsTitle {
  width: calc(100% - 9em);
  line-height: 1.8;
}
.list_newsSummary > li .newsTitle span, .list_newsSummary > li .newsTitle a {
  display: block;
}
.list_newsSummary > li a .newsTitle {
  text-decoration: underline;
  position: relative;
}
.list_newsSummary > li a .newsTitle::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 ============================================== */
@media all and (min-width:1025px) {
  header {
    position: fixed;
    z-index: 1000;
    left: 0;
    right: 0;
    top: 25px;
    width: min(96%, 1030px);
    margin: auto;
    background: rgba(255, 255, 255, .8);
    border-radius: 5em;
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    will-change: backdrop-filter;
    display: flex;
    align-items: center;
    box-sizing: border-box;
    padding: 0 2em;
  }
  body.admin-bar header {
    top: 57px;
  }
  header .login_message {
    padding: 2em 0;
    font-size: 86%;
    font-weight: 500;
    letter-spacing: 0;
  }
  header .h_inner {
    display: flex;
    align-items: center;
    width: 100%;
    justify-content: space-between;
  }
  header .h_logo {
    width: 157px;
    height: 44px;
    margin: 0 auto 0 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 .h_logo a:hover {
    opacity: .7;
  }
  header #navTrigger {
    display: none;
  }
  header nav {
    display: flex;
    align-items: center;
  }
  .list_hNav {
    display: flex;
    gap: 0 1em;
    margin: 0 .9em 0 0;
  }
  .list_hNav > li {
    position: relative;
    font-size: 87.5%;
  }
  .list_hNav > li.has--small {
    margin: 0 1em 0 0;
  }
  .list_hNav > li > a {
    display: block;
    padding: 2em 1em 2em 0;
    position: relative;
    transition: color .3s;
  }
  .list_hNav > li:hover > a {
    color: #5B97E9;
  }
  .list_hNav > li.has--small > a::before {
    content: '';
    width: .6em;
    height: .6em;
    position: absolute;
    right: 0;
    top: 0;
    bottom: .2em;
    margin: auto;
    box-sizing: border-box;
    border-top: solid 2px #000;
    border-right: solid 2px #000;
    transform-origin: center;
    transform: rotateZ(135deg);
    transition: border-color .3s;
  }
  .list_hNav > li.has--small:hover > a::before {
    border-color: #5B97E9;
  }
  .list_hNavSmall {
    position: absolute;
    left: 50%;
    top: 100%;
    transform: translateX(-50%);
    white-space: nowrap;
    background: rgba(255, 255, 255, .8);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    will-change: backdrop-filter;
    padding: 1em 1em 2em;
    opacity: 0;
    pointer-events: none;
    transition: opacity.4s;
  }
  .list_hNav > li:hover .list_hNavSmall {
    opacity: 1;
    pointer-events: auto;
  }
  .list_hNavSmall > li a {
    display: block;
    border-bottom: solid 1px #9EAEC5;
    font-weight: 500;
    font-size: 112.5%;
    padding: 1em 1.6em 1em .5em;
    position: relative;
  }
  .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);
  }
  .list_hNavSmall > li a::after {
    content: '';
    width: 0;
    height: 2px;
    background: #5B97E9;
    position: absolute;
    right: 0;
    bottom: -1px;
    transition: all .4s;
  }
  .list_hNavSmall > li a:hover::after {
    width: 100%;
    right: auto;
    left: 0;
  }
  /**/
  header .hNav_btns {
    display: flex;
    gap: 0 1em;
    margin: 0 0 0 auto;
  }
  .btn_link {
    width: 140px;
    background: #000;
    border-radius: 5em;
    text-align: center;
    overflow: hidden;
    position: relative;
  }
  .btn_link::before {
    content: '';
    position: absolute;
    right: 0;
    top: 0;
    width: 0;
    height: 100%;
    background: #5B97E9;
    transition: all .4s;
  }
  .btn_link:hover::before {
    width: 100%;
    left: 0;
    right: auto;
  }
  .btn_link a {
    display: block;
    font-size: 87.5%;
    font-weight: 600;
    color: #fff;
    padding: .25em .9em .25em 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);
  }
#page_front header {
  transform: translateY(-10em);
  transition: transform 1s ease 2s;
}
#page_front.page--open header {
  transform: translateY(0);
}
}
@media all and (max-width:1024px) {
  .pc_link {
    display: none;
  }
  .tab-only {
    display: block !important;
  }
  header .login_message {
    padding: 1em 0;
    font-size: 86%;
    font-weight: 500;
    letter-spacing: 0;
  }
  header{
    
  }
  header .h_inner {
    position: fixed;
    z-index: 1000;
    left: 0;
    right: 0;
    top: .6868em;
    width: 94%;
    margin: auto;
    box-sizing: border-box;
  }
  body.admin-bar header .h_inner {
    top: 57px;
  }
  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;
  }
  body.nav--open header .hWrap {
    -webkit-backdrop-filter: blur(0);
    backdrop-filter: blur(0);
  }
  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 {
    width: 300px;
    height: 0;
    padding: 100px 0 0;
    background: url(../img/kv_logo_sp.svg);
    background-repeat: no-repeat;
    background-position: center top;
    background-size: contain;
    margin: 0 auto;
    overflow: hidden;
    white-space: nowrap;
    text-indent: 150%;
  }
  header nav {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100svh;
    box-sizing: border-box;
    z-index: 50;
    background: #fff;
    padding: 11em 0 0;
    transform: translateY(-150vh);
    transition: transform 0;
  }
  body.nav--open header nav {
    transform: translateY(0);
        transition: transform .6s;
  }
  .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: 1em;
    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: 2.5em 0;
  position: relative;
}
footer #pagetop {
  position: absolute;
  right: 1.8em;
  bottom: 4.5em;
  width: 3.75em;
  height: 3.75em;
  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;
}
footer #pagetop:hover {
  transform: scale(1.15);
}
footer .f_inner {
  width: min(96%, 1200px);
  margin: auto;
}
footer .fFlex {
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse;
}
footer .fFlex .flexLeft {
  width: 300px;
}
footer .f_logo {
  width: 299px;
  height: 0;
  padding: 84px 0 0;
  position: relative;
}
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_logo a:hover {
  opacity: .7;
}
footer .f_address {
  color: #fff;
  font-size: 87.5%;
  line-height: 1.786;
  margin: 1.2em 0 0;
}
footer .fFlex .flexRight {
  width: min(calc(100% - 360px), 700px);
}
.list_fNav {
  display: flex;
  color: #fff;
  margin: 1.8em auto 0;
}
.list_fNav > li {
  width: 33%;
}
.list_fNav > li .bigLink {
  font-size: 112.5%;
  font-weight: 600;
}
.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_fNav > li .bigLink a:hover::before {
  width: 100%;
  left: 0;
  right: auto;
}
.list_fNavSmall {
  margin: .4em 0 0;
}
.list_fNavSmall > li {
  font-size: 87.5%;
  letter-spacing: 0;
}
.list_fNavSmall > li a {
  display: block;
  padding: .45em 0 .45em 1em;
  background: url(../img/arrow04--on.svg);
  background-size: .4em auto;
  background-position: left center;
  background-repeat: no-repeat;
  transition: opacity .3s;
}
.list_fNavSmall > li a:hover {
  opacity: .7;
}
.list_fNavSmall + .bigLink {
  margin: 1em 0 0;
}
footer .fNav_btns {
  display: flex;
  margin: 0 3em 0 0;
  justify-content: flex-end;
  gap: 0 1em;
}
footer .subFlex {
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse;
  margin: 2.5em 0 0;
}
footer .subLinks {
  color: #fff;
  line-height: 1;
  display: flex;
}
footer .subLinks a {
  font-size: 75%;
  padding: 0 1em .1em;
  transition: all .3s;
  border-left: solid 1px #fff;
  border-right: solid 1px #fff;
}
footer .subLinks a + a {
  border-left: none;
}
footer .subLinks a:hover {
  opacity: .7;
}
footer .copyright {
  color: #fff;
  font-size: 75%;
}
@media all and (max-width:1300px) {
  footer .fNav_btns {
    margin: 0 5em 0 0;
  }
}
@media all and (max-width:1024px) {
  footer .fFlex {
    display: block;
  }
  footer .fFlex .flexLeft {
    margin: 3em auto 0;
  }
  footer .fFlex .flexLeft .f_address {
    text-align: center;
    font-size: 100%;
  }
  footer .fFlex .flexRight {
    width: 100%;
  }
  .list_fNav {
    width: 75%;
    justify-content: space-between;
  }
  .list_fNav > li {
    width: auto;
  }
  footer .fNav_btns {
    justify-content: center;
    margin: 1em auto 0;
  }
  footer .subFlex {
    display: block;
  }
  footer .subFlex .subLinks {
    justify-content: center;
    margin: 0 0 2em;
  }
  footer .copyright {
    text-align: center;
  }
}
/* ==================================== 
page-name #front
====================================*/
.block_frontKv {
  position: relative;
  z-index: 100;
  height: 100vh;
  overflow: hidden;
}
.block_frontKv .frontKv_imageBox {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.block_frontKv .frontKv_imageBox .clipBox {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  overflow: hidden;
  mask-size: 100% 100%;
  mask-repeat: no-repeat;
}
.block_frontKv .frontKv_imageBox .clipBox.clip01 {
  left: 0;
  top: 0;
  width: 64%;
  height: 95.8vh;
  mask-image: url(../img/clip_slide01.webp);
}
.block_frontKv .frontKv_imageBox .clipBox.clip02 {
  right: 0;
  top: 0;
  width: 37.8%;
  height: 39vh;
  mask-image: url(../img/clip_slide02.webp);
}
.block_frontKv .frontKv_imageBox .clipBox.clip03 {
  right: 0;
  bottom: .5%;
  width: 34.6%;
  height: 34vh;
  mask-image: url(../img/clip_slide03.webp);
}
.block_frontKv .frontKv_imageBox .clipBox span {
  display: block;
}
.block_frontKv .frontKv_imageBox .clipBox img {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  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: 50;
  right: 3%;
  top: 43.5%;
  width: 32.8%;
  height: 0;
  padding: 18vh 0 0;
  overflow: hidden;
  white-space: nowrap;
  text-indent: 150%;
  background: url(../img/kv_logo.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.block_frontKv .kv_lead {
  position: absolute;
  z-index: 50;
  left: 0;
  bottom: 4.4%;
  letter-spacing: 0;
  font-size: 1.16vw;
}
.block_frontKv .kv_lead p {
  overflow: hidden;
}
.block_frontKv .kv_lead p + p {
  margin: 2.4em 0 0;
}
.block_frontKv .kv_lead span {
  display: inline-block;
  color: #fff;
  font-size: 775%;
  font-weight: 700;
  transform: translateY(100%);
}
.block_frontKv .kv_lead span.mincyo {
  font-weight: 600;
}
/*anime*/
.block_frontKv .frontKv_imageBox .clipBox.clip01 {
  mask-size: 0% 100%;
  transition: mask-size .7s ease .4s;
}
.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: right 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-name #vision
====================================*/
.block_vision .area_front {
  background: url("../img/vision_bg.webp");
  background-size: cover;
  background-position: center top -20em;
  padding: 35em 0 20em;
  margin: -20em auto 0;
  overflow: hidden;
  position: relative;
}
#page_front .block_vision .area_front {
  opacity: 0;
  transition: opacity 1s ease 1s;
}
#page_front.page--open .block_vision .area_front {
  opacity: 1;
}
.block_vision .area_front .visionBg {
  position: absolute;
  z-index: 0;
  left: 0;
  bottom: -400px;
  width: 100%;
  pointer-events: none;
}
.block_vision .area_front .title_base {
  position: relative;
  z-index: 5;
}
.block_vision .area_front .title_base .en {
  color: #004098;
}
.block_vision .area_front .vision_lead {
  text-align: center;
  font-size: 125%;
  font-weight: 500;
  line-height: 3;
  margin: 4em 0 0;
  position: relative;
  z-index: 5;
}
.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;
  }
}
@media all and (min-width:1025px) and (max-width:1366px) {
  .block_vision .area_front {
    background-size: 1366px auto;
  }
  .block_vision .area_front .visionBg {
    background-size: 1366px auto;
  }
}
/* ==================================== 
page-name #company
====================================*/
.block_company .area_front {
  background: linear-gradient(116.37deg, #5B97E9 -0.11%, #004098 36.49%);
  padding: 8em 0 6em;
}
.block_company .area_front .companyFlex {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0 auto 8em;
}
.block_company .area_front .companyFlex .flexLeft {
  width: 50%;
}
.block_company .area_front .companyFlex .flexRight {
  width: min(640px, 50%);
}
.block_company .area_front .company_lead {
  line-height: 2.6875;
  color: #fff;
}
.list_companyMenu {
  display: flex;
  gap: 0 1.133%;
  width: min(100%, 1600px);
  margin: auto;
}
.list_companyMenu > li {
  width: 32.578%;
  border-radius: 1.5em;
  overflow: hidden;
  transition: border-radius .4s;
}
.list_companyMenu > li:nth-child(1) {
  border-radius: 0 1.5em 1.5em 0;
}
.list_companyMenu > li:nth-child(3) {
  border-radius: 1.5em 0 0 1.5em;
}
@media all and (min-width:1620px) {
  .list_companyMenu > li {
    border-radius: 1.5em !important;
  }
}
.list_companyMenu > li a {
  display: block;
  position: relative;
}
.list_companyMenu > li img {
  position: relative;
  transition: transform .2s;
}
.list_companyMenu > li a:hover img {
  transform: scale(1.1);
}
.list_companyMenu > li .textBox {
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  bottom: 2em;
  z-index: 5;
  width: min(90%, 400px);
  pointer-events: none;
  color: #fff;
  line-height: 1.6;
}
.list_companyMenu > li .textBox .menu_name {
  font-size: 137.5%;
  font-weight: 600;
}
/**/
.btn_arrow {
  width: 3.8em;
  height: 1.65em;
}
.btn_arrow .link {
  display: block;
  width: 100%;
  height: 100%;
  background-color: #fff;
  border-radius: 5em;
  transition: all .4s;
  position: relative;
}
.btn_arrow .link span.arrow {
  position: absolute;
  width: 1.5em;
  height: .85em;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  display: inline-block;
  overflow: hidden;
}
.btn_arrow .link span.arrow::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 100%;
  height: 100%;
  background: url(../img/link_arrow.webp) no-repeat;
  background-size: contain;
  background-position: center;
  transition: all .2s;
}
.btn_arrow .link span.arrow::after {
  content: '';
  position: absolute;
  left: -100%;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 100%;
  height: 100%;
  background: url(../img/link_arrow--on.webp) no-repeat;
  background-size: contain;
  background-position: center;
  transition: all .2s;
}
a:hover .btn_arrow .link {
  background-color: #004098;
}
a:hover .btn_arrow .link span.arrow::before {
  transform: translateX(100%);
}
a:hover .btn_arrow .link span.arrow::after {
  transform: translateX(100%);
}
.list_companyMenu > li .btn_arrow {
  position: absolute;
  right: 2em;
  bottom: 2em;
}
/**/
.block_company .area_policy {
  padding: 5em 0 0;
  margin: 15em 0 0;
}
.block_company .area_policy .policy_mvv {
  width: min(100%, 879px);
  margin: auto;
}
.block_company .area_policy .policy_strong {
  width: min(96%, 666px);
  margin: 0 auto;
  padding: 1.6em 0 4.1em;
}
.list_policyAnime > li {
  display: flex;
  align-items: center;
  position: relative;
}
.list_policyAnime > li + li {
  margin: 1.25em 0 0;
}
.list_policyAnime > li:nth-child(1) {
  padding: 0 0 0 14em;
}
.list_policyAnime > li:nth-child(3) {
  padding: 0 0 0 18em;
}
.list_policyAnime > li .policy_name {
  height: 180px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: relative;
  box-sizing: border-box;
  padding: 0 2.5em 0 2em;
}
.list_policyAnime > li .policy_name::before {
  content: '=';
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  font-size: 125%;
  height: 1em;
  transition: all .6s;
}
.list_policyAnime.scrollAnime > li .policy_name::before {
  opacity: 0;
  transform: translateX(-.5em);
  transition: all .6s ease .6s;
}
.list_policyAnime.scrollAnime > li:nth-child(2) .policy_name::before {
  transition-delay: 1.6s;
}
.list_policyAnime.scrollAnime > li:nth-child(3) .policy_name::before {
  transition-delay: 2.6s;
}
.list_policyAnime.scroll--start > li .policy_name::before {
  transform: translateX(0);
  opacity: 1;
}
.list_policyAnime > li:nth-child(1) .policy_name::after {
  content: '';
  width: 9em;
  height: 1px;
  background: #004098;
  position: absolute;
  right: 97%;
  top: 67%;
  transform: rotateZ(-35deg);
  transform-origin: right top;
}
.list_policyAnime.scrollAnime > li:nth-child(1) .policy_name::after {
  width: 0;
  transition: width .8s ease .8s;
}
.list_policyAnime.scroll--start > li:nth-child(1) .policy_name::after {
  width: 9em;
}
.list_policyAnime > li:nth-child(2) .policy_name::after {
  content: '';
  width: 12em;
  height: 1px;
  background: #004098;
  position: absolute;
  left: 61%;
  top: 93%;
  transform: rotateZ(35deg);
  transform-origin: left top;
}
.list_policyAnime.scrollAnime > li:nth-child(2) .policy_name::after {
  width: 0;
  transition: width .8s ease 1.8s;
}
.list_policyAnime.scroll--start > li:nth-child(2) .policy_name::after {
  width: 12em;
}
.list_policyAnime > li .policy_name img {
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  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;
  text-align: center;
}
.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;
}
.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: 0 0 0 1em;
}
.list_policyAnime > li:nth-child(3) .policy_text {
  line-height: 2.2;
}
.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: 5em 0 0;
  margin: 15em 0 0;
}
.block_company .area_message .message_textBox {
  line-height: 2.6875;
  padding: 1.5em 1em 0;
  text-align: left;
  letter-spacing: .09em;
}
.block_company .area_message .message_textBox p + p {
  margin: 2.7em 0 0;
}
.block_company .area_message .message_president {
  margin: 4em auto 0;
  mask-image: url(../img/clip02.webp);
  mask-size: cover;
}
.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: 5em 0 3.7em;
  margin: 12em 0 0;
  overflow: hidden;
}
.block_company .area_csr .csr_image {
  width: min(85%, 730px);
  margin: -1.3em auto 4.2em;
  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 .locationsSet + .locationsSet {
  margin: 9.6em auto 0;
}
/* ==================================== 
page-name #service
====================================*/
#page_front .serviceBg {
  background: url("../img/service_bg.webp");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  padding: 10em 0;
  margin: 0 0 5.3em;
  overflow: hidden;
}
.block_service .area_front .flexBox {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 3.6em 0 0;
}
.block_service .area_front .flexBox .flexLeft {
  width: 45%;
}
.block_service .area_front .service_img {
  transform-origin: left top;
  border-radius: 1em;
  overflow: hidden;
  position: relative;
  height: 0;
  padding: 623px 0 0;
}
.block_service .area_front .service_img span {
  content: '';
  display: block;
  overflow: hidden;
  position: absolute;
  z-index: 10;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  clip-path: circle(6% at 25% 25%);
  transition: clip-path .8s ease-out .8s, transform .8s ease-out .2s;
  transform: translateY(-5em);
}
/**/
.block_service .area_front.scrollAnime .service_img img {
  mask-image: url(../img/clip01.webp);
  mask-size: 50% 50%;
  mask-repeat: no-repeat;
  transition: all .8s ease .6s;
}
.block_service .area_front.scroll--start .service_img span {
  clip-path: circle(100% at 50% 50%);
  transform: translateY(0);
}
.block_service .area_front.scroll--start .service_img img {
  mask-size: 100% 100%;
}
/**/
.block_service .area_front .flexBox .flexRight {
  width: 49%;
  box-sizing: border-box;
  padding: 0 1em 0 0;
}
.block_service .area_front .service_textBox .service_title {
  font-size: 225%;
  line-height: 1.55;
}
.block_service .area_front .service_textBox .service_title strong {
  font-weight: 600;
}
.block_service .area_front .service_textBox .service_text {
  line-height: 2.6875;
  margin: 2em 0 0;
}
.block_service .area_front .service_textBox .btn_base {
  margin: 6em 0 0;
}
/**/
.block_service .area_summary {
  padding: 0 0 7.7em;
}
.block_service .area_summary .summary_leadBox .summary_lead {
  width: min(80%, 614px);
  margin: auto;
  padding: .4em 0 0;
}
.block_service .area_summary .summary_leadBox .summary_text {
  text-align: center;
  font-size: 125%;
  font-weight: 500;
  line-height: 3;
  margin: 1.7em 0 7em;
}
.list_serviceSummary > li {
  position: relative;
  padding: 2.6em 0 0;
  box-sizing: border-box;
  min-height: 28em;
}
.list_serviceSummary > li + li {
  margin: 6.4em 0 0;
}
.list_serviceSummary > li .serviceSummary_image {
  position: absolute;
  right: 0;
  top: 0;
  width: 58.732%;
  mask-image: url(../img/clip03.webp);
  mask-size: 100% 100%;
}
.list_serviceSummary > li.reverse .serviceSummary_image {
  mask-image: url(../img/clip04.webp);
}
.list_serviceSummary > li .serviceSummary_textBox {
  width: 38%;
}
.list_serviceSummary > li .serviceSummary_desc {
  line-height: 2.6875;
  margin: 2.6em 0 0;
  text-align: left;
}
.list_serviceSummary > li .btn_base {
  position: absolute;
  left: 0;
  bottom: 2em;
}
.list_serviceSummary > li:nth-child(even) .title_section {
  padding: 0 0 0 62%;
}
.list_serviceSummary > li:nth-child(even) .serviceSummary_image {
  right: auto;
  left: 0;
}
.list_serviceSummary > li:nth-child(even) .serviceSummary_textBox {
  margin: 0 0 0 auto;
}
.list_serviceSummary > li:nth-child(even) .btn_base {
  left: 62%;
}
/**/
.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 .serviceDetailWrap {
  position: relative;
  top: 0;
  width: min(96%, 1260px);
  margin: auto;
}
.block_service .area_serviceDetail .serviceDetail_contents {
  width: min(85%, 930px);
  margin: 0 0 0 auto;
}
.block_service .area_serviceDetail .serviceDetailWrap .contentsSet {
  overflow: hidden;
}
.block_service .area_serviceDetail .serviceDetail_contentsSide {
  position: absolute;
  left: 0;
  top: 0;
  width: 150px;
  height: 100%;
}
.block_service .area_serviceDetail .serviceDetail_lead {
  line-height: 2.6875;
  margin: 1.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.active::before, .list_fixedAnchor > li:hover::before {
  width: 100%;
  left: 0;
  right: auto;
}
.list_fixedAnchor > li a {
  display: block;
  position: relative;
  color: #A9A9A9;
  letter-spacing: .03em;
  font-weight: 600;
  padding: .4em 1em .5em;
  transition: color .4s;
}
.list_fixedAnchor > li.active a, .list_fixedAnchor > li:hover a {
  color: #fff;
}
.block_service .area_serviceDetail .set_anchor {
  margin: 4.2em 0 0;
}
.block_service .area_serviceDetail .serviceDetail_illust01 {
  position: relative;
  height: 0;
  padding: 95% 0 0;
  background: url(../img/service/serviceDetailbg.webp);
  background-size: 55%;
  background-position: center;
  background-repeat: no-repeat;
}
.block_service .area_serviceDetail .list_serviceDetailConst {
  transform-origin: center;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  width: 100%;
  height: 100%;
}
.block_service .area_serviceDetail .list_serviceDetailConst > li {
  position: absolute;
  width: 25.808%;
  height: 0;
  padding: 25.808% 0 0;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
}
.block_service .area_serviceDetail .list_serviceDetailConst > li:nth-child(1) {
  top: -60%;
}
.block_service .area_serviceDetail .list_serviceDetailConst > li:nth-child(2) {
  top: -18%;
  right: -53%;
}
.block_service .area_serviceDetail .list_serviceDetailConst > li:nth-child(3) {
  bottom: -48%;
  right: -33%;
}
.block_service .area_serviceDetail .list_serviceDetailConst > li:nth-child(4) {
  bottom: -48%;
  left: -33%;
}
.block_service .area_serviceDetail .list_serviceDetailConst > li:nth-child(5) {
  top: -18%;
  left: -53%;
}
.block_service .area_serviceDetail .list_serviceDetailConst > li img {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.block_service .area_serviceDetail .contentsSet + .contentsSet {
  margin: 3em 0 0;
}
/**/
.list_serviceDetailConst {
  animation: circleEnd 20s linear infinite;
}
.list_serviceDetailConst > li {
  animation: circleWa 20s linear infinite;
}
/**/
.list_featureNumbers {
  display: flex;
  justify-content: space-between;
  margin: 3.8em 0 7em;
}
.list_featureNumbers > li {
  display: flex;
  align-items: center;
  background: #fff;
  box-sizing: border-box;
  width: 48%;
  box-shadow: 0 0 1.25em 0 rgba(0, 0, 0, .25);
  border-radius: 1.25em;
  padding: 2.5em 0 2.2em;
}
.list_featureNumbers > li .boxText {
  width: 57%;
  text-align: center;
}
.list_featureNumbers > li .boxText .num_name {
  text-align: center;
  font-size: 137.5%;
  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: 750%;
  letter-spacing: -.07em;
}
.list_featureNumbers > li .boxText .num_count span.unit {
  font-size: 312.5%;
  letter-spacing: 0;
  margin: 0 0 0 .15em;
}
.list_featureNumbers > li .boxImage {
  width: 31.365%;
}
.list_serviceReason {
  display: flex;
  flex-wrap: wrap;
  margin: 4em 0 6em;
  gap: 2em 5.374%;
}
.list_serviceReason > li {
  border-radius: 1.25em;
  width: 47.313%;
  background: linear-gradient(133.41deg, #5B97E9 -1.12%, #004098 65.93%);
  color: #fff;
  padding: 2.3em 2em 2em;
  box-sizing: border-box;
}
.list_serviceReason > li .serviceReason_count {
  text-align: center;
  font-size: 262.5%;
  font-weight: 600;
}
.list_serviceReason > li .serviceReason_name {
  font-size: 150%;
  font-weight: 700;
  text-align: center;
  margin: .5em 0 0;
}
.list_serviceReason > li .serviceReason_text {
  line-height: 2.06625;
  margin: 2.3em 0 0;
  text-align: left;
  min-height: 8.265em;
}
.block_service .area_serviceDetail .service_messageBox {
  margin: 7.7em auto 0;
  display: flex;
  align-items: center;
  max-width: 2000px;
}
.block_service .area_serviceDetail .service_messageBox .message_image {
  width: 50%;
}
.block_service .area_serviceDetail .service_messageBox .message_text {
  width: 50%;
  font-size: min(3.4vw, 46px);
  font-weight: 600;
  line-height: 1.72;
  color: #004098;
  box-sizing: border-box;
  padding: 0 0 0 .7em;
}
.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 -.55em;
}
/**/
.list_business {
  width: 100%;
  margin: 6.8em auto 7.2em;
  display: flex;
  justify-content: space-between;
}
.list_business > li {
  width: 32%;
  position: relative;
}
.list_business > li#gsap_business01 {
  left: 2%;
}
.list_business > li#gsap_business03 {
  right: 2%;
}
.list_business .nameWrap {
  height: 17.5em;
  position: relative;
  z-index: 5;
  text-align: center;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}
.list_business > li::before {
  content: '';
  width: 112%;
  height: 0;
  padding: 112% 0 0;
  background: linear-gradient(133.41deg, #5B97E9 -1.12%, #004098 65.93%);
  position: absolute;
  z-index: 4;
  left: -6%;
  top: -6%;
  margin: auto;
  border-radius: 50%;
  mix-blend-mode: screen;
}
.list_business > li::after {
  content: '';
  width: 112%;
  height: 0;
  padding: 112% 0 0;
  background: #000;
  position: absolute;
  z-index: 1;
  left: -6%;
  top: -6%;
  margin: auto;
  border-radius: 50%;
}
.list_business .nameWrap .name_en {
  font-size: 300%;
  font-weight: 700;
  position: relative;
  z-index: 5;
}
.list_business .nameWrap .name_jp {
  position: relative;
  z-index: 5;
  letter-spacing: .3em;
  margin: 1em 0 0;
}
/**/
.list_business .detailWrap {
  text-align: center;
  margin: 4em 0 0;
}
.list_business .detailWrap .list_businessDetail {
  display: inline-block;
  text-align: left;
}
.list_businessDetail > li {
  background-size: 1em auto;
  padding: 0 0 0 1em;
  font-size: 112.5%;
  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 {
  font-size: 82%;
  position: relative;
}
.list_businessDetail > li + li {
  margin: 1.3em 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;
}
@media all and (max-width:1024px) {
  .block_service .area_serviceDetail .serviceDetail_contents {
    width: 100%;
  }
  .block_service .area_serviceDetail .serviceDetail_contentsSide {
    display: none;
  }
}
/* ==================================== 
page-name #division
====================================*/
.block_division .area_front {
  margin: 12em 0 0;
  position: relative;
  box-sizing: border-box;
  min-height: 44em;
}
.block_division .area_front .inner {
  position: relative;
}
.block_division .area_front .division_lead {
  line-height: 2.6875;
  width: min(38%, 360px);
  margin: 4.6em 0 0;
}
.block_division .area_front .btn_base {
  margin: 4.3em 0 0;
}
.block_division .area_front .division_image {
  position: absolute;
  right: -.4em;
  top: -.2em;
  width: min(72.008%, 888px);
}
.block_division .divisionIntroGrid {
  display: grid;
  grid-template-columns: 49% 46.034%;
  grid-template-areas:
    "area-title area-image"
    "area-text  area-image";
  align-items: center;
  justify-content: space-between;
}
.block_division .divisionIntroGrid .divisionIntro_title {
  grid-area: area-title;
  align-self: end;
  font-size: 200%;
  font-weight: 600;
}
.block_division .divisionIntroGrid .divisionIntro_text {
  grid-area: area-text;
  align-self: start;
  line-height: 2.6875;
  margin: 2em 0 0;
  letter-spacing: .09em;
}
.block_division .divisionIntroGrid .divisionIntro_image {
  grid-area: area-image;
  overflow: hidden;
  border-radius: .5em;
}
.block_division .reverse .divisionIntroGrid {
  grid-template-columns: 46.034% 49%;
  grid-template-areas:
    "area-image area-title"
    "area-image area-text";
}
.block_division .area_intro .title_bg {
  margin: 3em 0 0;
}
.block_division .area_intro .list_divisionIntro {
  margin: -3em 0 0;
}
.list_divisionIntro > li {
  padding: 4em 0;
}
.list_divisionIntro > li + li {
  border-top: solid 1px #A2A7AE;
}
.list_divisionIntroBunya {
  display: flex;
  margin: 3em auto 0;
  justify-content: space-between;
}
.list_divisionIntroBunya > li {
  width: 17.460317%;
}
/* ==================================== 
page-name #recruit
====================================*/
#page_front .recruitBg {
  background: #ECF1F4;
  padding: 9em 0 0;
}
.block_recruit .reruit_bnr {
  margin: 4em 0 0;
}
/* ==================================== 
page-name #inquiry
====================================*/
.block_inquiry {
  background: #E8F0F6;
  padding: 0 0 7.5em;
}
.block_inquiry .area_topTitle {
  padding: 11.5em 0 0;
}
.block_inquiry .area_topTitle .topTitle_lead {
  text-align: center;
  margin: 3.3em 0 0;
  line-height: 2.6875;
}
.block_inquiry .area_topTitle .btn_base {
  margin: 5em auto 0;
  text-align: center;
}
.block_inquiry .area_form {
  margin: 7em 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: 7.23em;
  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: -5%;
  top: 0;
  width: 110%;
  height: 100%;
  background: #004098;
  opacity: 0;
  border-radius: .5em;
}
.list_formStep > li.active > div::before {
  opacity: 1;
  transform: skewX(15deg);
}
.list_formStep > li .step {
  display: block;
  font-size: 187.5%;
  font-weight: 700;
  position: relative;
  z-index: 5;
}
.list_formStep > li .text {
  display: block;
  font-size: 137.5%;
  font-weight: 600;
  margin: .35em 0 0;
  position: relative;
  z-index: 5;
}
.list_formStep > li.active {
  color: #fff;
}
.formBase {
  background: #fff;
  box-shadow: 0 0 1em 0 #E0E9F0;
  padding: 7.4em 0;
}
.formBase input {
  -webkit-appearance: none;
  appearance: none;
}
.formBase .form_title {
  text-align: center;
  color: #014098;
  font-size: 200%;
  font-weight: 600;
}
.list_form {
  width: min(90%, 1000px);
  margin: 3.3em auto 0;
}
.list_form > li + li {
  margin: 1.5em 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: .7em 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_confirm .link_policy:hover {
  opacity: .7;
}
.formBase .area_submit {
  margin: 4em 0 0;
  text-align: center;
}
.formBase .area_submit input.btn_submit {
  display: inline-block;
  width: 490px;
  height: 50px;
  background-color: transparent;
  background-image: url("../img/btn_submit.webp");
  background-size: contain;
  border: none;
  background-repeat: no-repeat;
  overflow: hidden;
  white-space: nowrap;
  text-indent: 150%;
  cursor: pointer;
  transition: opacity .3s;
}
.formBase .area_submit input.btn_submit:hover {
  opacity: .7;
}
.formBase .form_lead {
  text-align: center;
  line-height: 2;
  font-size: 112.5%;
}
.formBase .btn_base {
  margin: 4em auto 0;
  text-align: center;
}
/* ==================================== 
page-name #policy
====================================*/
.block_pageBase .area_contents {
  padding: 14em 0 6em;
}
.block_pageBase .area_contents .pageBase_title {
  font-size: 200%;
  font-weight: 600;
  color: #014098;
  letter-spacing: .05em;
  text-align: center;
  margin: 0 0 3.6em;
}
.block_pageBase .area_contents .policyBox {
  width: min(90%, 930px);
  margin: auto;
  line-height: 2.286;
  font-size: 87.5%;
  letter-spacing: .09em;
}
.block_pageBase .area_contents .policyBox .policy_lead {
  margin: 0 0 2.4em;
}
.list_policy > li + li {
  margin: 2.2em 0 0;
}
.list_policy > li a {
  text-decoration: underline;
  transition: opacity .3s;
}
.list_policy > li a:hover {
  opacity: .7;
}
.dl_base dt {
  font-weight: 600;
}
.list_decimal {
  list-style: decimal;
}
.list_decimal > li {
  margin: 0 0 0 1.6em;
}
/* ==================================== 
page-name #employee
====================================*/
.block_employee .post-password-form {
  padding: 20em 0 12em;
  background: rgba(0, 62, 152, 0.1);
}
.block_employee .post-password-form p {
  text-align: center;
}
.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: 10em 0;
  background: rgba(0, 62, 152, 0.1);
}
.block_employee .att_login {
  text-align: center;
  line-height: 2;
  font-size: 125%;
}
.block_employee .att_login a {
  text-decoration: underline;
}
.block_employee .portal_title {
  text-align: center;
  font-size: 200%;
  line-height: 1.5;
  margin: 0 0 2.5em;
}
.parts_portalMenu {
  width: min(96%, 1260px);
  margin: 4em auto 0;
}
.parts_portalMenu .portalFlex {
  display: flex;
  flex-wrap: wrap;
  gap: 2em 4%;
}
.parts_portalMenu .portalSet {
  background: #fff;
  border-radius: 1em;
  box-shadow: 0 0 1em #eee;
  width: 48%;
  box-sizing: border-box;
  padding: 2.5em 2em;
}
.parts_portalMenu .portalLinks_title {
  font-size: 150%;
  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: 1em 0 0;
}
.list_portalLinks > li > a {
  display: block;
  padding: 1em 1.5em;
  position: relative;
  transition: color .3s;
  background: #eee;
  border-radius: .5em;
  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_portalLinks > li > a:hover::before {
  opacity: .7;
}
.list_portalLinks > li > a:hover {
  color: #004098;
}
/**/
.list_sharePDF {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1em 2%;
}
.list_sharePDF > li {
  width: 49%;
  background: #fff;
  box-sizing: border-box;
  border-radius: .5em;
  box-shadow: 0 0 1em #eee;
  overflow: hidden;
}
.list_sharePDF > li a {
  display: block;
  padding: 1em 4em 1em 1.2em;
  font-weight: 500;
  background: url("../img/employee/icon_pdf.webp");
  background-repeat: no-repeat;
  background-size: 2em auto;
  background-position: right 1em center;
  transition: color .3s;
  line-height: 1.5;
}
.list_sharePDF > li a:hover {
  color: #dc192a;
}
/**/
.block_employee .area_login #my-login-form {
  width: 800px;
  background: #fff;
  padding: 2em;
  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: 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;
}