@charset "UTF-8";
/*============================
font
============================*/
@import url('https://fonts.googleapis.com/css2?family=Amiko:wght@400;600;700&display=swap');

.sp {
  display: none;
}

.pc {}

@media screen and (max-width: 960px) {
  .sp {
    display: inline-block;
  }

  .pc {
    display: none;
  }

}

/*============================
#header
============================*/
.l-header2 {
  position: fixed;
  width: 100%;
  z-index: 50;
}

.l-header2 .container-wide {
  padding: 30px 0;
}

.l-header2__inner {
  display: flex;
  justify-content: space-between;
  padding: 0 10px 0 30px;
  background: rgba(255, 255, 255, 0.5);
  box-shadow: 0px 4px 15px 0px rgba(0, 0, 0, 0.15);
  -ms-filter: blur(6px);
  width: 100%;
  border-radius: 100px;
  backdrop-filter: blur(10px);
}

.l-header2__logo {}

.l-header2__logo a.l-header2__logoLink {
    display: flex;
    height: 100%;
    align-items: center;
    justify-content: flex-start;
}

.l-header2__logo a.l-header2__logoLink img {}

.l-headerNav2 {}

.l-headerNav2 ul.l-headerNav__list2 {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

.l-headerNav2 ul.l-headerNav__list2 li.menu-item {
  font-size: 17px;
  font-weight: bold;
  position: relative;
  margin-right: 8px;
}

.l-headerNav2 ul.l-headerNav__list2 li.menu-item a {
  text-align: center;
  display: block;
  transition: all .35S;
  color: #064974;
  padding: 10px 16px;
  border-radius: 20px;
  left: -1px;
}

.l-headerNav2 ul.l-headerNav__list2 li.menu-item a:hover {
  color: #279AFF;
}

.l-headerNav2 ul.l-headerNav__list2 li.menu-item.menu-item-has-children {}

.l-headerNav2 ul.l-headerNav__list2 li.menu-item.menu-item-has-children a {}

.l-headerNav2 ul.l-headerNav__list2 li.menu-item.menu-item-has-children .sub-menu-wrap {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  padding: 20px 20px;
  width: max-content;
  z-index: 1000;
}

.l-headerNav2 ul.l-headerNav__list2 li.menu-item.menu-item-has-children .sub-menu-wrap ul.sub-menu {
  list-style: none;
  margin: 0;
  padding: 0;
  background-color: #fff;
  padding: 1em 1em;
  border-radius: 10px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
  width: max-content;
}

.l-headerNav2 ul.l-headerNav__list2 li.menu-item.menu-item-has-children .sub-menu-wrap ul.sub-menu li.menu-item {
  margin: 0;
}

.l-headerNav2 ul.l-headerNav__list2 li.menu-item.menu-item-has-children .sub-menu-wrap ul.sub-menu li.menu-item a {
  display: inline-block;
  padding: 0 1em;
  font-size: 15px;
  text-align: left;
}

.l-headerNav2 ul.l-headerNav__list2 li.menu-item.menu-item-has-children .sub-menu-wrap ul.sub-menu li.menu-item a img {
  display: none;
}

.l-headerNav2 ul.l-headerNav__list2 li.menu-item.menu-item-has-children .sub-menu-wrap ul.sub-menu li.menu-item a span {}

.l-headerNav2 ul.l-headerNav__list2 li.menu-item.contact {}

.l-headerNav2 ul.l-headerNav__list2 li.menu-item.contact a,a.c-btn--blue,
.l-headerNav2 ul.l-headerNav__list2 li.menu-item.document a {
  background: linear-gradient(90deg, #695BD3 0%, #30CDFF 100%);
  color: #FFF;
  padding: 0 3em 1px 1.8em;
  border-radius: 50px;
  position: relative;
}

.l-headerNav2 ul.l-headerNav__list2 li.menu-item.document a {
  background: #FF4CAD;
  background: linear-gradient(90deg, #FF4CAD 0%, #FF96CF 100%);
}

.l-headerNav2 ul.l-headerNav__list2 li.menu-item.contact a::after,a.c-btn--blue::after, 
.l-headerNav2 ul.l-headerNav__list2 li.menu-item.document a::after {
  content: "";
  display: block;
  width: 8px;
  height: 16px;
  background-image: url(../img/icon-arrow-right.svg);
  background-size: cover;
  position: absolute;
  right: 20px;
  top: calc(50% - 8px);
}


@media screen and (max-width: 960px) {
  .l-header2 {
    padding: 10px 10px 0;
  }

  .l-header2 .container-wide {
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 3px 6px rgba(97, 179, 253, 0.5);
    padding: 0;
  }

  .l-header2__inner {
    padding: 0 20px;
    display: flex;
    position: relative;
    align-items: stretch;
    box-shadow: none;
  }

  .l-header2__logo {
    padding: 4px 0;
  }

  .l-header2__logo a.l-header2__logoLink {
    display: flex;
    padding: 16px 0;
    align-items: center;
  }

  .l-header2__logo a.l-header2__logoLink img {}

  .l-headerNav2 {
    background: none;
    box-shadow: none;
    width: auto;
    border-radius: 0;
  }

  .l-headerNav2 ul.l-headerNav__list2 {
    height: 100%;
    display: block;
  }

  .l-headerNav2 ul.l-headerNav__list2 li {
    display: none;
  }

  .l-headerNav2 ul.l-headerNav__list2 li.menu-item.contact {
    display: block;
    height: 100%;
    margin: 0;
    width: 64px;
    z-index: 1;
    position: relative;
    right: 40px;
  }

  .l-headerNav2 ul.l-headerNav__list2 li.menu-item.contact a {
    text-indent: -9999px;
    width: 100%;
    height: 100%;
    display: block;
    /* background-image: url(../img/icon-mail.svg); */
    /* background-repeat: no-repeat; */
    /* background-position: center; */
    /* background-size: 24px auto; */
    border-radius: 0;
    padding: 0;
    z-index: 1;
  }

  .l-headerNav2 ul.l-headerNav__list2 li.menu-item.contact a::after {
    background-image: url(../img/icon-mail.svg);
    width: 50%;
    height: 50%;
    right: 25%;
    top: 25%;
    background-size: auto;
    background-repeat: no-repeat;
    background-position: center center;
  }

}

/*============================
l-drawer
============================*/
button.l-header2__btn {
  display: none;
  position: relative;
}

button.l-header2__btn span {
  position: absolute;
  top: 32px;
  right: 14px;
  width: 36px;
  height: 2px;
  background: #2390ed;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

button.l-header2__btn span:nth-child(1) {
  margin-top: -10px;
}

button.l-header2__btn span:nth-child(3) {
  margin-top: 10px;
}

button.l-header2__btn span {}

button.l-header2__btn[aria-expanded=true] span:nth-child(1) {
  margin-top: 0;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

button.l-header2__btn[aria-expanded=true] span:nth-child(2) {
  opacity: 0;
}

button.l-header2__btn[aria-expanded=true] span:nth-child(3) {
  margin-top: 0;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}


@media screen and (max-width: 960px) {
  button.l-header2__btn {
    display: block;
    position: absolute;
    right: 0;
    top: 0;
    width: 36px;
    height: 100%;
  }

  button.l-header2__btn span {}
}

/*============================
l-drawer
============================*/
.l-drawer2 {
  display: none;
}

@media screen and (max-width: 960px) {
  .l-drawer2 {
    -webkit-box-shadow: 0 3px 6px rgba(97, 179, 253, 0.5);
    box-shadow: 0 3px 6px rgba(97, 179, 253, 0.5);
    position: fixed;
    top: 80px;
    right: 15px;
    left: 15px;
    z-index: 3;
    display: none;
    padding: 15px 0;
    font-weight: bold;
    font-size: 18px;
    background: #fff;
    border-radius: 10px;
  }

  .l-drawer2 ul.l-drawer__list2 {
    max-height: calc(100vh - 150px);
    padding: 0 27px;
    padding-bottom: 15px;
    overflow-y: scroll;
  }

  .l-drawer2 ul.l-drawer__list2 li.menu-item {
    margin-bottom: 10px;
  }

  .l-drawer2 ul.l-drawer__list2 li.menu-item a[target=_blank] .title {
    padding-right: 20px;
    background: url(../../_assets/images/common/icon_externalLink.svg) no-repeat right / 13px;
  }

  .l-drawer2 ul.l-drawer__list2 li.menu-item a {
    display: block;
    padding-right: 30px;
    background: url(../../_assets/images/common/icon_arrow_blue.svg) no-repeat right top 10px / 18px;
  }

  .l-drawer2 ul.l-drawer__list2 li.menu-item.menu-item-has-children {}

  .l-drawer2 ul.l-drawer__list2 li.menu-item.menu-item-has-children a {
    background-image: url(../../_assets/images/common/nav_icon_plus.svg);
  }

  .l-drawer2 ul.l-drawer__list2 li.menu-item.menu-item-has-children a.is-open {
    background-image: url(../../_assets/images/common/nav_icon_minus.svg);
  }

  .l-drawer2 ul.l-drawer__list2 li.menu-item.menu-item-has-children a .title {}

  .l-drawer2 ul.l-drawer__list2 li.menu-item.menu-item-has-children ul.sub-menu {
    display: none;
  }

  .l-drawer2 ul.l-drawer__list2 li.menu-item.menu-item-has-children ul.sub-menu li.menu-item {
    margin-bottom: 0;
  }

  .l-drawer2 ul.l-drawer__list2 li.menu-item.menu-item-has-children ul.sub-menu li.menu-item a {
    background-image: url(../../_assets/images/common/icon_arrow_blue.svg);
    font-weight: normal;
    font-size: 16px;
    padding-left: 1em;
  }

  .l-drawer2 ul.l-drawer__list2 li.menu-item.menu-item-has-children ul.sub-menu li.menu-item a span.title {}

  .l-drawer2 ul.l-drawer__list2 li.menu-item.contact {}

  .l-drawer2 ul.l-drawer__list2 li.menu-item.contact span.description {
    display: block;
    font-weight: normal;
    font-size: 14px;
    text-align: center;
  }

  .l-drawer2 ul.l-drawer__list2 li.menu-item.contact a {
    background: rgb(34, 189, 255);
    background: linear-gradient(-90deg, rgba(34, 189, 255, 1) 0%, rgba(31, 169, 255, 1) 100%);
    display: block;
    color: #FFF;
    padding: 0 3em 1px 1.8em;
    border-radius: 50px;
    text-align: center;
    padding: 0.2em;
    font-weight: bold;
    font-size: 18px;
    box-shadow: 0px 4px 15px 0px rgba(0, 0, 0, 0.15);
  }

  .l-drawer2 ul.l-drawer__list2 li.menu-item.document {}

  .l-drawer2 ul.l-drawer__list2 li.menu-item.document a {
    background: #FF4CAD;
    background: linear-gradient(90deg, #FF4CAD 0%, #FF96CF 100%);
    display: block;
    color: #FFF;
    padding: 0 3em 1px 1.8em;
    border-radius: 50px;
    text-align: center;
    padding: 0.2em;
    font-weight: bold;
    font-size: 18px;
    box-shadow: 0px 4px 15px 0px rgba(0, 0, 0, 0.15);
  }
}

/*============================
footer
============================*/
.l-footer2 {
  background: #2A2A2A;
}

.l-footer2 .container {
  max-width: 1306px;
}

.l-footer2 .container .l-footer2__inner {}

.l-footer2 .container .l-footer2__inner .l-footer2__info {
  display: flex;
  padding: 4em 0;
}

.l-footer2 .container .l-footer2__inner .l-footer2__info .l-footer2__infoList-left {
  width: 180px;
}

.l-footer2 .container .l-footer2__inner .l-footer2__info .l-footer2__infoList-left a.l-footer2__logo {}

.l-footer2 .container .l-footer2__inner .l-footer2__info .l-footer2__infoList-left a.l-footer2__logo img {}

.l-footer2 .container .l-footer2__inner .l-footer2__info .l-footer2__infoList-left p.l-footer2__copy {
  color: #FFF;
}

.l-footer2 .container .l-footer2__inner .l-footer2__info .l-footer2__infoList-right {
  width: calc(100% - 180px);
  padding-left: 4em;
}

.l-footer2 .container .l-footer2__inner .l-footer2__info .l-footer2__infoList-right nav.l-footerMainNav2 {
  display: flex;
  flex-wrap: wrap;
}

.l-footer2 .container .l-footer2__inner .l-footer2__info .l-footer2__infoList-right nav.l-footerMainNav2 ul.l-footerMainNav__list2 {
  width: calc(100% / 3);
  margin-bottom: 4em;
}

.l-footer2 .container .l-footer2__inner .l-footer2__info .l-footer2__infoList-right nav.l-footerMainNav2 ul.l-footerMainNav__list2 li.menu-item {}

.l-footer2 .container .l-footer2__inner .l-footer2__info .l-footer2__infoList-right nav.l-footerMainNav2 ul.l-footerMainNav__list2 li.menu-item a {
  color: #FFF;
  font-size: 18px;
  font-weight: bold;
}

.l-footer2 .container .l-footer2__inner .l-footer2__info .l-footer2__infoList-right nav.l-footerMainNav2 ul.l-footerMainNav__list2 li.menu-item.menu-item-has-children {}

.l-footer2 .container .l-footer2__inner .l-footer2__info .l-footer2__infoList-right nav.l-footerMainNav2 ul.l-footerMainNav__list2 li.menu-item.menu-item-has-children a {}

.l-footer2 .container .l-footer2__inner .l-footer2__info .l-footer2__infoList-right nav.l-footerMainNav2 ul.l-footerMainNav__list2 li.menu-item.menu-item-has-children ul.sub-menu {
  padding-left: 18px;
}

.l-footer2 .container .l-footer2__inner .l-footer2__info .l-footer2__infoList-right nav.l-footerMainNav2 ul.l-footerMainNav__list2 li.menu-item.menu-item-has-children ul.sub-menu li.menu-item {}

.l-footer2 .container .l-footer2__inner .l-footer2__info .l-footer2__infoList-right nav.l-footerMainNav2 ul.l-footerMainNav__list2 li.menu-item.menu-item-has-children ul.sub-menu li.menu-item a {
  font-size: 16px;
  font-weight: normal;
}

.l-footer2 .container .l-footer2__inner .l-footer2__info .l-footer2__infoList-right nav.l-footerMainNav2 ul.l-footerMainNav__list2 li.menu-item.menu-item-has-children ul.sub-menu li.menu-item a::before {
  content: "ー";
  font-weight: bold;
  margin-right: 0.5em;
}

.l-footer2 .container .l-footer2__inner .l-footer2__info .l-footer2__infoList-right nav.l-footerMainNav2 ul.l-footerSubNav__list2 {
  width: calc(100% / 3);
}

.l-footer2 .container .l-footer2__inner .l-footer2__info .l-footer2__infoList-right nav.l-footerMainNav2 ul.l-footerSubNav__list2 li.menu-item {}

.l-footer2 .container .l-footer2__inner .l-footer2__info .l-footer2__infoList-right nav.l-footerMainNav2 ul.l-footerSubNav__list2 li.menu-item a {
  color: #FFF;
  font-size: 14px;
}

.l-footer2 .container .l-footer2__inner .l-footer2__bnrBox {
  display: flex;
  align-items: center;
  padding: 4em 0;
  border-top: 1px solid #FFF;
}

.l-footer2 .container .l-footer2__inner .l-footer2__bnrBox ul.l-footer2__bnrList {
  background: #FFF;
  display: block;
  width: 300px;
}

.l-footer2 .container .l-footer2__inner .l-footer2__bnrBox ul.l-footer2__bnrList li.l-footer2__bnrItem {
  display: inline-block;
  width: auto;
}

.l-footer2 .container .l-footer2__inner .l-footer2__bnrBox ul.l-footer2__bnrList li.l-footer2__bnrItem a {}

.l-footer2 .container .l-footer2__inner .l-footer2__bnrBox ul.l-footer2__bnrList li.l-footer2__bnrItem a img {}

.l-footer2 .container .l-footer2__inner .l-footer2__bnrBox ul.l-footer2__bnrList li.l-footer2__bnrItem img {
  width: auto;
  height: 110px;
}

.l-footer2 .container .l-footer2__inner .l-footer2__bnrBox ul.l-footer2__bnrText {
  padding-left: 4em;
}

.l-footer2 .container .l-footer2__inner .l-footer2__bnrBox ul.l-footer2__bnrText li {
  color: #FFF;
}

@media screen and (max-width: 960px) {
  .l-footer2 {}

  .l-footer2 .container {}

  .l-footer2 .container .l-footer2__inner {}

  .l-footer2 .container .l-footer2__inner .l-footer2__info {
    display: block;
    padding: 2em 0 1em;
  }

  .l-footer2 .container .l-footer2__inner .l-footer2__info .l-footer2__infoList-left {
    width: 100%;
    text-align: center;
    margin-bottom: 20px;
  }

  .l-footer2 .container .l-footer2__inner .l-footer2__info .l-footer2__infoList-left a.l-footer2__logo {}

  .l-footer2 .container .l-footer2__inner .l-footer2__info .l-footer2__infoList-left a.l-footer2__logo img {}

  .l-footer2 .container .l-footer2__inner .l-footer2__info .l-footer2__infoList-left p.l-footer2__copy {}

  .l-footer2 .container .l-footer2__inner .l-footer2__info .l-footer2__infoList-right {
    width: 100%;
    padding: 0;
  }

  .l-footer2 .container .l-footer2__inner .l-footer2__info .l-footer2__infoList-right nav.l-footerMainNav2 {
    display: block;
  }

  .l-footer2 .container .l-footer2__inner .l-footer2__info .l-footer2__infoList-right nav.l-footerMainNav2 ul.l-footerMainNav__list2 {
    width: 100%;
    margin-bottom: 1em;
    display: none;
  }

  .l-footer2 .container .l-footer2__inner .l-footer2__info .l-footer2__infoList-right nav.l-footerMainNav2 ul.l-footerMainNav__list2 li.menu-item.menu-item-has-children {}

  .l-footer2 .container .l-footer2__inner .l-footer2__info .l-footer2__infoList-right nav.l-footerMainNav2 ul.l-footerMainNav__list2 li.menu-item.menu-item-has-children a {}

  .l-footer2 .container .l-footer2__inner .l-footer2__info .l-footer2__infoList-right nav.l-footerMainNav2 ul.l-footerMainNav__list2 li.menu-item.menu-item-has-children ul.sub-menu {}

  .l-footer2 .container .l-footer2__inner .l-footer2__info .l-footer2__infoList-right nav.l-footerMainNav2 ul.l-footerMainNav__list2 li.menu-item.menu-item-has-children ul.sub-menu li.menu-item {}

  .l-footer2 .container .l-footer2__inner .l-footer2__info .l-footer2__infoList-right nav.l-footerMainNav2 ul.l-footerMainNav__list2 li.menu-item.menu-item-has-children ul.sub-menu li.menu-item a {}

  .l-footer2 .container .l-footer2__inner .l-footer2__info .l-footer2__infoList-right nav.l-footerMainNav2 ul.l-footerSubNav__list2 {
    width: 100%;
    display: block;
  }

  .l-footer2 .container .l-footer2__inner .l-footer2__info .l-footer2__infoList-right nav.l-footerMainNav2 ul.l-footerSubNav__list2 li.menu-item {}

  .l-footer2 .container .l-footer2__inner .l-footer2__info .l-footer2__infoList-right nav.l-footerMainNav2 ul.l-footerSubNav__list2 li.menu-item a {}

  .l-footer2 .container .l-footer2__inner .l-footer2__bnrBox {
    padding: 2em 0;
    display: block;
  }

  .l-footer2 .container .l-footer2__inner .l-footer2__bnrBox ul.l-footer2__bnrList {
    margin: 0 auto 20px;
  }

  .l-footer2 .container .l-footer2__inner .l-footer2__bnrBox ul.l-footer2__bnrList li.l-footer2__bnrItem {}

  .l-footer2 .container .l-footer2__inner .l-footer2__bnrBox ul.l-footer2__bnrList li.l-footer2__bnrItem a {}

  .l-footer2 .container .l-footer2__inner .l-footer2__bnrBox ul.l-footer2__bnrList li.l-footer2__bnrItem a img {}

  .l-footer2 .container .l-footer2__inner .l-footer2__bnrBox ul.l-footer2__bnrList li.l-footer2__bnrItem img {}

  .l-footer2 .container .l-footer2__inner .l-footer2__bnrBox ul.l-footer2__bnrText {
    padding: 0;
  }

  .l-footer2 .container .l-footer2__inner .l-footer2__bnrBox ul.l-footer2__bnrText li {}
}

li#menu-item-1884 a{position:relative;}
li#menu-item-1884 a:after {
    content: '';
    display: block;
    width: 20px;
    height: 20px;
    background-image: url(../../add/img/icon_externalLink.svg);
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    top: 4px;
    right: -26px;
}

/*============================
l-pageTop
============================*/

.l-pageTop {
  z-index: 20;
}

.l-pageTop .container-wide {}

.l-pageTop .container-wide button.l-pageTop__btn {
  background: #2390ED;
}

.l-pageTop .container-wide button.l-pageTop__btn img {
  position: relative;
  top: -4px;
}

/*============================
#animation-background
============================*/
#animation-background {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: -1;
}

.animation-svg {}

.animation-svg svg {}

.blur-background {
  position: relative;
  background: rgba(250, 250, 250, 0.9);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  z-index: 1;
}

@media screen and (max-width: 960px) {
  #animation-background {
    overflow: hidden;
  }

  .animation-svg {}

  .animation-svg svg {}

  .blur-background {}
}

/*============================
#top
============================*/
#top {}

#top .button {}

#top .button a {
  background: rgb(34, 189, 255);
  background: linear-gradient(90deg, rgba(34, 189, 255, 1) 0%, rgba(31, 169, 255, 1) 100%);
  position: relative;
  font-size: 18px;
  color: #FFF;
  letter-spacing: 0.2em;
  font-weight: bold;
  display: inline-block;
  padding: 0.75em 5em;
  border-radius: 10px;
  box-shadow: 0px 4px 15px 0px rgba(0, 0, 0, 0.15);
  transition: all .35S
}

#top .button a:hover {
  opacity: 0.5;
}

#top .button a::after {
  content: "";
  display: block;
  width: 10px;
  height: 20px;
  background-image: url(../img/icon-arrow-right.svg);
  position: absolute;
  right: 20px;
  top: calc(50% - 10px);
}

#top .recruit .inner .button a:after{
  display: none;
}

#top h2.heading {
  font-size: 100px;
  line-height: 1.25;
  font-weight: bold;
  margin-bottom: 0;
  text-align: left;
  font-family: "Amiko", sans-serif;
}

#top h3 {
  font-size: 18px;
}

#top .more {
  text-align: right;
}

#top .more a {
  color: #004672;
  font-weight: bold;
  font-size: 15px;
}

#top .more a i {
  display: inline-block;
  position: relative;
  line-height: 0;
  margin-left: 10px;
  top: 3px;
}

#top .more a i img {}

#top .hero {
  position: relative;
  height: 100dvh;
}

#top .hero .hero-image {}

#top .hero .hero-image img {
  width: 100%;
}

#top .hero .hero-contents {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}

#top .hero .hero-contents .inner {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}

#top .hero .hero-contents .inner .catch-copy {
  padding: 0 20px;
}

#top .hero .hero-contents .inner .catch-copy p.title {
  font-size: 100px;
  line-height: 1.25;
  font-weight: bold;
  margin-bottom: 20px;
  font-family: "Amiko", sans-serif;
  font-style: normal;
  letter-spacing: 0;
}

#top .hero .hero-contents .inner .catch-copy h2 {
  text-align: left;
  font-size: 40px;
  letter-spacing: 0.25em;
}

#top .hero .hero-contents .inner .catch-copy p {
  color: #064974;
  font-size: 20px;
  margin-bottom: 1em;
  letter-spacing: 0.3em;
}

#top .hero .hero-contents .inner .catch-copy .button {}

#top .hero .hero-contents .inner .catch-copy .button a {
  background: linear-gradient(-90deg, rgba(34, 189, 255, 1) 0%, rgba(31, 169, 255, 1) 100%);
}

#top .news {
  padding: 80px 20px;
}

#top .news .inner {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}

#top .news .inner h2.heading {}

#top .news .inner .news-wrap {
  display: flex;
  margin-bottom: 40px;
}

#top .news .inner .news-wrap .news-category {
  width: 20%;
}

#top .news .inner .news-wrap .news-category ul {}

#top .news .inner .news-wrap .news-category ul li {
  padding: 1em;
  font-weight: bold;
}

#top .news .inner .news-wrap .news-category ul li a {
  position: relative;
  padding: 1em;
}

#top .news .inner .news-wrap .news-category ul li a.is-active::before {
  content: "";
  position: absolute;
  top: calc(50% - 5px);
  left: -10px;
  display: block;
  background: #2390ED;
  width: 10px;
  height: 10px;
  border-radius: 10px;
}

#top .news .inner .news-wrap .news-list {
  width: 80%;
}

#top .news .inner .news-wrap .news-list ul.c-infoList {}

#top .news .inner .news-wrap .news-list ul.c-infoList li.c-infoList__item {
  border-bottom: 1px solid #A3A3A3;
  padding: 1em 0;
}

#top .news .inner .news-wrap .news-list ul.c-infoList li.c-infoList__item a.c-infoList__link {
  grid-template-columns: 5em 50px 130px 1fr;
}

#top .news .inner .news-wrap .news-list ul.c-infoList li.c-infoList__item a.c-infoList__link span.c-infoList__date {}

#top .news .inner .news-wrap .news-list ul.c-infoList li.c-infoList__item a.c-infoList__link span.c-infoList__new {}

#top .news .inner .news-wrap .news-list ul.c-infoList li.c-infoList__item a.c-infoList__link span.c-infoList__cat {}

#top .news .inner .news-wrap .news-list ul.c-infoList li.c-infoList__item a.c-infoList__link div.c-infoList__ttl {}

#top .news .inner .news-wrap .news-list ul.c-infoList li.c-infoList__item a.c-infoList__link div.c-infoList__ttl span.c-infoList__txt {}

#top .news .inner .button {
  text-align: center;
}

#top .news .inner .button a {}

#top .service {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  position: relative;
  overflow: hidden;
  padding: 80px 0;
}

#top .service::before {
  content: "";
  width: 100%;
  max-width: calc(50vw + 700px);
  height: 100%;
  display: block;
  background: url(../img/background-service.jpg) no-repeat left top;
  background-size: cover;
  position: absolute;
  top: 0;
  right: 0;
  border-radius: 100px 0 0 100px;
  z-index: -1;
}

#top .service .service-wrap {
  width: 100%;
  max-width: calc(50vw + 600px);
  display: flex;
  align-items: stretch;
  margin-bottom: 80px;
  flex-wrap: wrap;
}

#top .service .service-wrap .heading-block {
  width: 600px;
  position: relative;
  padding-right: 100px;
  padding-left: 20px;
}

#top .service h2.heading {
  color: #FFF;
  margin-bottom: 10px;
}

#top .service h3 {
  color: #FFF;
  margin-bottom: 20px;
  font-size: 24px;
}

#top .service .service-wrap .heading-block p {
  color: #FFF;
  margin: 0 0 4em;
}

#top .service .button {
  bottom: 0;
}

#top .service .button a {
  box-shadow: none;
  background: transparent;
  border: 2px solid #FFF;
}

#top .service .service-wrap .service-slider {
  width: calc(100% - 600px);
}


#top .service .service-wrap .service-slider .service-slide {
  position: relative;
  left: 20%;
  background: #FFF;
  margin-right: 20px;
  padding: 20px;
  cursor: pointer;
  border-radius: 10px;
  box-shadow: 0px 4px 15px 0px rgba(0, 0, 0, 0.15);
}

#top .service .service-wrap .service-slider .service-slide figure {}

#top .service .service-wrap .service-slider .service-slide figure img {
  margin: 0 auto;
  width: 70%;
}

#top .service .service-wrap .service-slider .service-slide figure figcaption {
  color: #1D95FF;
  font-size: 24px;
  font-weight: bold;
  line-height: 1.2;
  height: 2.4em;
}

#top .service .service-wrap .service-slider .service-slide p {
  color: #004672;
  font-size: 15px;
  line-height: 1.6;
  height: 10em;
}

#top .service .service-wrap .service-slider .service-slide .more {}

#top .service .service-wrap .service-slider .service-slide .more a {}

#top .service .service-wrap .service-slider .service-slide .more a i {}

#top .service .service-wrap .service-slider .service-slide .more a i img {}

#top .service .case-wrap {
  width: 100%;
  max-width: calc(50vw + 600px);
  overflow: hidden;
}

#top .service .case-wrap h2.heading {
  padding: 0 20px;
}

#top .service .case-wrap h3 {
  padding: 0 20px;
}

#top .service .case-wrap .case-slider {
  position: relative;
  padding-bottom: 100px;
  width: 120%;
}

#top .service .case-wrap .case-slider .slick-arrow {
  display: block;
  width: 50px;
  height: 50px;
  text-indent: -9999px;
  position: absolute;
  left: 20px;
  bottom: 0;
  cursor: pointer;
  z-index: 10;
}

#top .service .case-wrap .case-slider .slick-next {
  background-image: url(../img/slide-arrow-next.png);
  left: 80px;
}

#top .service .case-wrap .case-slider .slick-prev {
  background-image: url(../img/slide-arrow-prev.png);
}

#top .service .case-wrap .case-slider .case-slide {
  position: relative;
  padding-right: 20px;
}

#top .service .case-wrap .case-slider .case-slide figure {}

#top .service .case-wrap .case-slider .case-slide figure img {
  margin-bottom: 14px;
  width: 100%;
  height: auto;
  aspect-ratio: 3/2;
  object-fit: cover;
}

#top .service .case-wrap .case-slider .case-slide figure figcaption {
  display: inline-block;
  background: rgba(0, 0, 0, 0.2);
  font-size: 14px;
  color: #FFF;
  font-weight: bold;
  padding: 0 20px;
  border-radius: 30px;
  margin-bottom: 10px;
}

#top .service .case-wrap .case-slider .case-slide p {
  color: #FFF;
  font-weight: bold;
  line-height: 1.6;
}

#top .service .case-wrap .case-slider .case-slide p.customer {
  margin-top: 10px;
}

#top .service .case-wrap .more {
  width: 100%;
  max-width: 1200px;
  position: relative;
  top: -40px;
  right: 20px;
}

#top .service .case-wrap .more a {
  display: flex;
  align-items: center;
  color: #FFF;
  justify-content: flex-end;
  transition: all .35S;
}

#top .service .case-wrap .more a:hover {
  opacity: 0.7;
}

#top .service .case-wrap .more a i {}

#top .service .case-wrap .more a i img {}

#top .ir {
  padding: 80px 20px;
}

#top .ir .inner {
  max-width: 1200px;
  margin: 0 auto 40px;
}

#top .ir .inner h2.heading {}

#top .ir .inner h3 {
  margin-bottom: 40px;
}

#top .ir .inner .ir-wrap {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: wrap;
  margin-bottom: 60px;
}

#top .ir .inner .ir-wrap>div {
  background: #FFF;
  box-shadow: 0px 4px 15px 0px rgba(0, 0, 0, 0.15);
  padding: 3em 2em;
  border-radius: 10px;
}

#top .ir .inner .ir-wrap h4 {
  position: relative;
  display: block;
  padding-left: 30px;
  color: #004672;
  font-size: 20px;
  margin-bottom: 20px;
}

#top .ir .inner .ir-wrap h4::before {
  content: "";
  display: block;
  width: 20px;
  height: 1px;
  background: #2390ED;
  position: absolute;
  top: calc(50% - 0.5px);
  left: 0;
}

#top .ir .inner .ir-wrap .ir-news {
  width: 55%;
}

#top .ir .inner .ir-wrap .ir-news .ir-news-wrap {}

#top .ir .inner .ir-wrap .ir-news .ir-news-wrap ul {}

#top .ir .inner .ir-wrap .ir-news .ir-news-wrap ul {}

#top .ir .inner .ir-wrap .ir-news .ir-news-wrap ul li {
  border-bottom: 1px solid #A3A3A3;
}

#top .ir .inner .ir-wrap .ir-news .ir-news-wrap ul li a {
  padding: 8px 0;
}

#top .ir .inner .ir-wrap .ir-news .more {
  padding: 10px 0 0;
}

#top .ir .inner .ir-wrap .ir-news .more a {}

#top .ir .inner .ir-wrap .ir-news .more a i {
  top: 10px;
}

#top .ir .inner .ir-wrap .ir-news .more a i img {}

#top .ir .inner .ir-wrap .ir-finance {
  width: calc(45% - 30px);
}

#top .ir .inner .ir-wrap .ir-finance .ir-display {}

#top .ir .inner .ir-wrap .ir-finance .ir-display a {
  margin-bottom: 10px;
  display: block;
}

#top .ir .inner .ir-wrap .ir-finance .button.yahoo {
  margin-bottom: 10px;
}

#top .ir .inner .ir-wrap .ir-finance .button.yahoo a {
  background: #004BBF;
  width: 100%;
  padding: 0.5em 0;
  text-align: center;
}

#top .ir .inner .ir-wrap .ir-finance .button.document {}

#top .ir .inner .ir-wrap .ir-finance .button.document a {
  width: 100%;
  padding: 0.5em 0;
  text-align: center;
  background: url(../img/top-ir.png) center center no-repeat;
  background-size: cover;
}

#top .ir .ir-link {}

#top .ir .ir-link ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

#top .ir .ir-link ul li {
  width: calc(100% / 3 - 20px);
}

#top .ir .ir-link ul li a {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
  border-radius: 10px;
  overflow: hidden;
  transition: all .35S;
}

#top .ir .ir-link ul li a:hover {
  opacity: 0.5;
}

#top .ir .ir-link ul li a img {
  width: 100%;
}

#top .ir .ir-link ul li a span {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  color: #FFF;
  font-weight: bold;
  font-size: 18px;
}

#top .ir .ir-link ul li a span::after {
  content: "";
  display: block;
  width: 20px;
  height: 40px;
  position: absolute;
  right: 20px;
  top: calc(50% - 20px);
  background: url(../img/icon-arrow-right.svg) no-repeat center;
}

#top .company {
  position: relative;
}

#top .company::before {
  content: "";
  width: 100%;
  max-width: calc(50vw + 700px);
  height: 100%;
  display: block;
  background: url(../img/background-company.jpg) no-repeat left top;
  background-size: cover;
  position: absolute;
  top: 0;
  left: 0;
  border-radius: 0 100px 100px 0;
  z-index: -1;
}

#top .company::after {
  content: url(../img/ecomic.svg);
  position: absolute;
  max-width: 80%;
  top: 160px;
  z-index: -1;
}

#top .company .inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 60px 20px 80px;
}

#top .company .inner h2.heading {
  color: #FFF;
  margin-bottom: 60px;
}

#top .company .inner h3 {
  margin-bottom: 100px;
  color: #FFF;
}

#top .company .inner ul {
  display: flex;
  flex-wrap: wrap;
  border-radius: 14px;
  position: relative;
  /* border: 3px solid #FFF; */
  overflow: hidden;
  /* background: #FFF; */
  padding: 4px;
  z-index: 1;
}

#top .company .inner ul::after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: #FFF;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
}

#top .company .inner ul li {
  width: calc(100% / 3);
  border-left: 2px solid #279AFF;
  border-bottom: 2px solid #279AFF;
  overflow: hidden;
}

#top .company .inner ul li:nth-child(1) {
  border-radius: 10px 0 0 0;
}

#top .company .inner ul li:nth-child(3) {
  border-radius: 0 10px 0 0;
}

#top .company .inner ul li:nth-child(4) {
  border-radius: 0 0 0 10px;
}

#top .company .inner ul li:nth-child(6) {
  border-radius: 0 0 10px 0;
}

#top .company .inner ul li:nth-child(1),
#top .company .inner ul li:nth-child(4) {
  border-left: none;
}

#top .company .inner ul li:nth-child(4),
#top .company .inner ul li:nth-child(5),
#top .company .inner ul li:nth-child(6) {
  border-bottom: none;
}

#top .company .inner ul li a {
  display: block;
  position: relative;
  height: 100%;
}

#top .company .inner ul li a img {
  height: 100%;
  width: auto;
  opacity: 0;
}

#top .company .inner ul li a:hover img {
    opacity: 1;
}

#top .company .inner ul li a span {
  display: flex;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  align-items: center;
  /* background: #FFF; */
  transition: background .35S;
  align-content: center;
  justify-content: center;
  flex-wrap: wrap;
  font-weight: bold;
}

#top .company .inner ul li a:hover span {
  background: rgba(0, 0, 0, 0.5);
}

#top .company .inner ul li a span small {
  display: block;
  color: #004672;
  width: 100%;
  text-align: center;
}

#top .company .inner ul li a:hover span,
#top .company .inner ul li a:hover span small {
  color: #FFF;
}

#top .recruit {
  padding: 100px 0 0;
}

#top .recruit .inner {
  max-width: 1200px;
  margin: 0 auto 40px;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
}

#top .recruit .inner .heading-block {
  padding: 0 0 0 20px;
}

#top .recruit .inner .heading-block h2.heading {}

#top .recruit .inner .heading-block h3 {}

#top .recruit .inner .button {
  padding-right: 20px;
}

#top .recruit .inner .button a {
    background: #FF4CAD;
    background: linear-gradient(90deg, #FF4CAD 0%, #FF96CF 100%);
    /* padding: 1.75em 4em; */
    text-align: center;
    /* display: block; */
}

.button.sp {
    padding: 0px !important;
    width: 100%;
    margin: 20px 0;
}

#top .recruit .inner .button a i {
  display: inline-block;
  width: 16px;
  position: relative;
  right: -8px;
  top: -8px;
}

#top .recruit .inner .button a i img {}

#top .recruit .recruit-image {
  position: relative;
  overflow: hidden;
  width: 100%;
}

#top .recruit .recruit-image ul {
  display: flex;
  padding: 0;
  margin: 0;
  list-style: none;
  -webkit-animation: scroll-animation 50s linear infinite;
  animation: scroll-animation 10s linear infinite;
}

#top .recruit .recruit-image ul li {
  flex-shrink: 0;
}

#top .recruit .recruit-image ul li img {
  display: block;
  max-width: 100%;
  height: auto;
}

@-webkit-keyframes scroll-animation {
  0% {
    -webkit-transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(-100%);
  }
}

@keyframes scroll-animation {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-100%);
  }
}


#top .recruit .recruit-image .challenge {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

#top .recruit .recruit-image .challenge img {
  mix-blend-mode: color-dodge;
}
@media screen and (min-width: 1600px) {
    .bottom-link::after {
        width: 95%;
        max-width: calc(50vw + 700px);
    }
}
@media screen and (min-width: 961px) and (max-width: 1600px) {
  #top .service .service-wrap {}

  #top .service .service-wrap .heading-block {
    width: 50%;
    padding-right: 40px;
}

  #top .service h2.heading {}

  #top .service h3 {}

  #top .service .service-wrap .heading-block p {}

  #top .service .button {}

  #top .service .button a {}

  #top .service .service-wrap .service-slider {
    width: 50%;
}

  #top .service .service-wrap .service-slider .service-slide {
    left: 2%;
}

  #top .service .service-wrap .service-slider .service-slide figure {}

  #top .service .service-wrap .service-slider .service-slide figure img {}

  #top .service .service-wrap .service-slider .service-slide figure figcaption {}

  #top .service .service-wrap .service-slider .service-slide p {}

  #top .service .service-wrap .service-slider .service-slide .more {}

  #top .service .service-wrap .service-slider .service-slide .more a {}

  #top .service .service-wrap .service-slider .service-slide .more a i {}

  #top .service .service-wrap .service-slider .service-slide .more a i img {}
}

@media screen and (max-width: 960px) {
  #top {}

  #top .button {}

  #top .button a {
    font-size: 16px;
    padding: 0.5em 2.5em;
    width: 100%;
  }

  #top h2.heading {
    font-size: 10vw;
  }

  #top h3 {}

  #top .more a {}

  #top .more a i {}

  #top .more a i img {}

  #top .hero {
    min-height: 80dvh;
    height: auto;
  }

  #top .hero .hero-image {
    height: 100%;
    display: flex;
    align-items: center;
  }

  #top .hero .hero-image>div {
    width: 100%;
    height: 100%;
  }

  #top .hero .hero-image svg {
    width: auto !important;
    height: 100%;
  }

  #top .hero .hero-image img {
    height: 100%;
    object-fit: cover;
  }

  #top .hero .hero-contents {}

  #top .hero .hero-contents .inner {
    padding: 20vh 20px 0;
  }

  #top .hero .hero-contents .inner .catch-copy {}

  #top .hero .hero-contents .inner .catch-copy p.title {
    font-size: 10vw;
  }

  #top .hero .hero-contents .inner .catch-copy h2 {
    font-size: 7vw;
  }

  #top .hero .hero-contents .inner .catch-copy p {
    font-size: 16px;
  }

  #top .hero .hero-contents .inner .catch-copy .button {}

  #top .hero .hero-contents .inner .catch-copy .button a {}

  #top .news {
    padding: 40px 0;
  }

  #top .news .inner {
    padding: 0 20px;
  }

  #top .news .inner h2.heading {
    margin-bottom: 20px;
  }

  #top .news .inner .news-wrap {
    display: block;
  }

  #top .news .inner .news-wrap .news-category {
    width: 100%;
  }

  #top .news .inner .news-wrap .news-category ul {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
  }

  #top .news .inner .news-wrap .news-category ul li {
    padding: 1em 0.5em;
  }

  #top .news .inner .news-wrap .news-category ul li a {
    padding: 1em 0;
  }

  #top .news .inner .news-wrap .news-category ul li a.is-active::before {
    top: 0;
    left: calc(50% - 5px);
  }

  #top .news .inner .news-wrap .news-list {
    width: 100%;
  }

  #top .news .inner .news-wrap .news-list ul.c-infoList {}

  #top .news .inner .news-wrap .news-list ul.c-infoList li.c-infoList__item {
    padding: 0.5em 0;
    margin-bottom: 0;
  }

  #top .news .inner .news-wrap .news-list ul.c-infoList li.c-infoList__item a.c-infoList__link {}

  #top .news .inner .news-wrap .news-list ul.c-infoList li.c-infoList__item a.c-infoList__link span.c-infoList__date {}

  #top .news .inner .news-wrap .news-list ul.c-infoList li.c-infoList__item a.c-infoList__link span.c-infoList__new {}

  #top .news .inner .news-wrap .news-list ul.c-infoList li.c-infoList__item a.c-infoList__link span.c-infoList__cat {}

  #top .news .inner .news-wrap .news-list ul.c-infoList li.c-infoList__item a.c-infoList__link div.c-infoList__ttl {
    grid-column: 1 / 5;
  }

  #top .news .inner .news-wrap .news-list ul.c-infoList li.c-infoList__item a.c-infoList__link div.c-infoList__ttl span.c-infoList__txt {}

  #top .news .inner .button {}

  #top .news .inner .button a {}

  #top .service {
    padding: 40px 0px;
    display: block;
    background: url(../img/background-service.jpg) no-repeat center top;
    background-size: cover;
  }

  #top .service::before {
    content: none;
  }

  #top .service .service-wrap {
    width: 100%;
    margin-bottom: 40px;
    display: block;
  }

  #top .service .service-wrap .heading-block {
    width: 100%;
    padding: 0 20px;
    margin-bottom: 40px;
  }

  #top .service .service-wrap .heading-block h2.heading {}

  #top .service .service-wrap .heading-block h3 {
    font-size: 23px;
  }

  #top .service .service-wrap .heading-block p {
    margin-bottom: 20px;
  }

  #top .service .button {
    text-align: center;
    position: relative;
    width: calc(100% - 40px);
    margin: 30px 20px 0;
  }

  #top .service .button a {}

  #top .service .service-wrap .service-slider {
    width: 100%;
  }

  #top .service .service-wrap .service-slider .service-slide {
    margin: 0 10px;
  }

  #top .service .service-wrap .service-slider .service-slide figure {}

  #top .service .service-wrap .service-slider .service-slide figure img {}

  #top .service .service-wrap .service-slider .service-slide figure figcaption {
    font-size: 18px;
  }

  #top .service .service-wrap .service-slider .service-slide p {
    font-size: 14px;
  }

  #top .service .service-wrap .service-slider .service-slide .more {}

  #top .service .service-wrap .service-slider .service-slide .more a {}

  #top .service .service-wrap .service-slider .service-slide .more a i {}

  #top .service .service-wrap .service-slider .service-slide .more a i img {}

  #top .service .case-wrap {
    width: 100%;
  }

  #top .service .case-wrap h2.heading {
    padding: 0 20px;
  }

  #top .service .case-wrap h3 {
    padding: 0 20px;
  }

  #top .service .case-wrap .case-slider {
    width: 100%;
  }

  #top .service .case-wrap .case-slider .slick-arrow {
    width: 40px;
    height: 40px;
    background-size: cover;
  }

  #top .service .case-wrap .case-slider .slick-prev {
    left: 20px;
  }

  #top .service .case-wrap .case-slider .slick-next {}

  #top .service .case-wrap .case-slider .case-slide {
    padding: 0 10px;
  }

  #top .service .case-wrap .case-slider .case-slide figure {}

  #top .service .case-wrap .case-slider .case-slide figure img {}

  #top .service .case-wrap .case-slider .case-slide figure figcaption {}

  #top .service .case-wrap .case-slider .case-slide p {}

  #top .service .case-wrap .case-slider .case-slide p.customer {}

  #top .service .case-wrap .more {
    right: 10px;
  }

  #top .service .case-wrap .more a {}

  #top .service .case-wrap .more a i {}

  #top .service .case-wrap .more a i img {}

  #top .ir {}

  #top .ir .inner {
    padding: 0 10px;
  }

  #top .ir .inner h2.heading {}

  #top .ir .inner h3 {}

  #top .ir .inner .ir-wrap {
    display: block;
    margin-bottom: 20px;
  }

  #top .ir .inner .ir-wrap h4 {}

  #top .ir .inner .ir-wrap .ir-news {
    width: 100%;
    margin-bottom: 20px;
  }

  #top .ir .inner .ir-wrap .ir-news .ir-news-wrap {}

  #top .ir .inner .ir-wrap .ir-news .ir-news-wrap ul {}

  #top .ir .inner .ir-wrap .ir-news .ir-news-wrap ul {}

  #top .ir .inner .ir-wrap .ir-news .ir-news-wrap ul li {}

  #top .ir .inner .ir-wrap .ir-news .more {}

  #top .ir .inner .ir-wrap .ir-news .more a {}

  #top .ir .inner .ir-wrap .ir-news .more a i {}

  #top .ir .inner .ir-wrap .ir-news .more a i img {}

  #top .ir .inner .ir-wrap .ir-finance {
    width: 100%;
  }

  #top .ir .inner .ir-wrap .ir-finance .ir-display {}

  #top .ir .inner .ir-wrap .ir-finance .button.yahoo {}

  #top .ir .inner .ir-wrap .ir-finance .button.yahoo a {}

  #top .ir .inner .ir-wrap .ir-finance .button.document {}

  #top .ir .inner .ir-wrap .ir-finance .button.document a {}

  #top .ir .ir-link {}

  #top .ir .ir-link ul {
    display: block;
  }

  #top .ir .ir-link ul li {
    width: 100%;
    margin-bottom: 10px;
  }

  #top .ir .ir-link ul li a {}

  #top .ir .ir-link ul li a img {}

  #top .ir .ir-link ul li a span {}

  #top .company {
    background: url(../img/background-company.jpg) no-repeat left top;
  }

  #top .company::before {
    content: none;
  }

  #top .company .inner {
    padding: 40px 20px;
  }

  #top .company .inner h2.heading {
    margin-bottom: 30px;
  }

  #top .company .inner h3 {
    margin-bottom: 40px;
  }

  #top .company .inner ul {
    background: #FFF;
  }

  #top .company .inner ul li {
    width: 50%;
    border-radius: 0 !important;
    border-bottom: 2px solid #279AFF;
    border-left: none;
    border-right: 2px solid #279AFF;
  }

  #top .company .inner ul li:nth-child(2n) {
    border-right: none;
  }

  #top .company .inner ul li:nth-child(4) {
    border-bottom: 2px solid #279AFF;
  }

  #top .company .inner ul li:nth-child(5),
  #top .company .inner ul li:nth-child(6) {}

  #top .company .inner ul li a {}

  #top .company .inner ul li a img {
    object-fit: cover;
    aspect-ratio: 2 / 1;
    width: 100%;
    height: auto;
  }

  #top .company .inner ul li a span {
    font-size: 14px;
    text-align: center;
    width: auto;
    height: auto;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    /* background: transparent; */
  }

  #top .company .inner ul li a span small {
    font-size: 10px;
  }

  #top .recruit {
    padding: 40px 0 0;
  }

  #top .recruit .inner {
    padding: 0 10px;
    display: block;
  }

  #top .recruit .inner .heading-block {}

  #top .recruit .inner .heading-block h2.heading {
    margin-bottom: 30px;
  }

  #top .recruit .inner .heading-block h3 {
    margin-bottom: 20px;
  }

  #top .recruit .inner .button {}

  #top .recruit .inner .button a {}

  #top .recruit .recruit-image {}

  #top .recruit .recruit-image ul {}

  #top .recruit .recruit-image ul li {}

  #top .recruit .recruit-image ul li img {}

  #top .recruit .recruit-image .challenge {}

  #top .recruit .recruit-image .challenge img {}
}

/*============================
#company
============================*/
.page-common {
  position: relative;
}

.page-common .page-background {
  position: absolute;
  top: 0;
  right: 0;
  z-index: -2;
}

.page-common .page-background .background-image {}

.page-common .page-background .background-image img {}

.page-common .page-header {}

.page-common .page-header .title-area {
  padding: 200px 0 40px;
}

.page-common .page-header .title-area h1 {
  max-width: 1200px;
  margin: 0 auto 40px;
  font-size: 42px;
  line-height: 1;
}

.page-common .page-header .title-area h1 small {
  color: #279AFF;
  font-size: 20px;
}

.page-common .page-header .breadcrumb {}

.page-common .page-header .breadcrumb .c-breadcrumb {}

.page-common .page-header .breadcrumb .c-breadcrumb span {}

.page-common .page-header .breadcrumb .c-breadcrumb span a.home {}

.page-common .page-header .breadcrumb .c-breadcrumb span a.home span {}

.page-common .page-header .breadcrumb .c-breadcrumb span span..current-item {}

.page-common .inner {
  max-width: 1200px;
  margin: 0 auto;
}

.page-common h2 {
  font-size: 25px;
  text-align: left;
  margin-bottom: 50px;
  color: #000;
}

.page-common h2 small {
  font-size: 14px;
  color: #15547C;
}

.page-common .button a {
  background: rgb(34, 189, 255);
  background: linear-gradient(90deg, rgba(34, 189, 255, 1) 0%, rgba(31, 169, 255, 1) 100%);
  position: relative;
  font-size: 18px;
  color: #FFF;
  letter-spacing: 0.2em;
  font-weight: bold;
  display: inline-block;
  padding: 0.75em 5em;
  border-radius: 10px;
  box-shadow: 0px 4px 15px 0px rgba(0, 0, 0, 0.15);
  transition: all .35S;
}

.page-common .button a:hover {
  opacity: 0.7;
}

.page-common .button a::after {
  content: "";
  display: block;
  width: 10px;
  height: 20px;
  background-image: url(../img/icon-arrow-right.svg);
  position: absolute;
  right: 20px;
  top: calc(50% - 10px);
}

.bottom-link {
  position: relative;
  padding: 80px 0 0;
}

.bottom-link::after {
  content: "";
  display: block;
  background: #279AFF;
  width: 100%;
  height: calc(100% + 160px);
  position: absolute;
  top: 0;
  z-index: -1;
  border-radius: 0 80px 0 0;
}

.bottom-link .inner {
    padding: 0 20px;
}

.bottom-link .inner h2 {
  color: #FFF;
  margin: 0;
}

.bottom-link .inner h2 small {
  color: #FFF;
}

.bottom-link .inner ul {
  display: flex;
  max-width: 1200px;
  margin: 0 auto;
  overflow: hidden;
  padding: 4px;
  position: relative;
  border-radius: 10px;
  top: 60px;
  z-index: 1;
}

.bottom-link .inner ul::after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: #FFF;
    z-index: -1;
}

.bottom-link .inner ul li {
  overflow: hidden;
  border-right: 2px solid #064974;
  text-align: center;
  overflow: hidden;
}

.bottom-link .inner ul li:first-child a {
}

.bottom-link .inner ul li:last-child a {
}

.bottom-link .inner ul li a {
  display: inline-block;
  position: relative;
  display: block;
}

.bottom-link .inner ul li a img {
    opacity: 0;
}

.bottom-link .inner ul li a:hover img {
    opacity: 1;
}

.bottom-link .inner ul li a span {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  font-size: 16px;
  font-weight: bold;
  flex-wrap: wrap;
  align-content: center;
  align-items: center;
  transition: all .35S;
}

.bottom-link .inner ul li a:hover span {
  background: rgba(0, 0, 0, 0.5);
  color: #FFF;
}

.bottom-link .inner ul li a:hover span small {
  color: #FFF;
}

.bottom-link .inner ul li a span small {
  color: #004672;
  font-size: 14px;
  font-weight: bold;
  width: 100%;
  text-align: center;
}

@media screen and (max-width: 960px) {
  .page-common {}

  .page-common .page-background {}

  .page-common .page-background .background-image {}

  .page-common .page-background .background-image img {}

  .page-common .page-header {}

  .page-common .page-header .title-area {
    padding: 100px 0 0;
  }

  .page-common .page-header .title-area h1 {
    font-size: 24px;
    text-align: center;
  }

  .page-common .page-header .title-area h1 small {
    font-size: 12px;
  }

  .page-common .page-header .breadcrumb {}

  .page-common .page-header .breadcrumb .c-breadcrumb {}

  .page-common .page-header .breadcrumb .c-breadcrumb span {}

  .page-common .page-header .breadcrumb .c-breadcrumb span a.home {}

  .page-common .page-header .breadcrumb .c-breadcrumb span a.home span {}

  .page-common .page-header .breadcrumb .c-breadcrumb span span..current-item {}

  .page-common .inner {}

  .page-common h2 {
    font-size: 24px;
    margin-bottom: 40px;
  }

  .page-common h2 small {
    font-size: 12px;
  }

  .page-common .button a {
    width: 100%;
    text-align: center;
    padding: 0.5em 0;
  }

  .bottom-link {
    padding: 0;
  }

  .bottom-link::after {
    width: 100%;
    border-radius: 0;
  }

  .bottom-link .inner {}

  .bottom-link .inner h2 {
    padding: 20px 20px 0;
  }

  .bottom-link .inner h2 small {}

  .bottom-link .inner ul {
    display: flex;
    width: 90%;
    left: 0;
    flex-wrap: wrap;
    background: #FFF;
  }

  .bottom-link .inner ul li {
    border-bottom: 2px solid #064974;
    width: 50%;
  }

  .bottom-link .inner ul li:nth-child(3),
  .bottom-link .inner ul li:nth-child(4) {
    border-bottom: none;
  }

  .bottom-link .inner ul li:nth-child(2n) {
    border-right: none;
  }

  .bottom-link .inner ul li a {}

  .bottom-link .inner ul li a img {
    width: 100%;
}

  .bottom-link .inner ul li a span {}

  span {}

  .bottom-link .inner ul li a span small {}
}


/*============================
#company
============================*/
#company {}

#company .introduction {
  position: relative;
  margin-bottom: 200px;
}

#company .introduction::before,
#company .introduction::after {
  content: "";
  display: block;
  width: calc(50% + 800px);
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  border-radius: 0 80px 80px 0;
}

#company .introduction::before {
  background: url(../img/about-introduction.png) no-repeat top right;
  background-size: cover;
}

#company .introduction::after {
  background: #279AFF;
  z-index: -2;
}

#company .introduction .inner {
  padding: 90px 0;
  display: flex;
  justify-content: space-between;
}

#company .introduction .inner .text-area {
  width: 50%;
  padding-right: 120px;
}

#company .introduction .inner .text-area h2 {
  color: #FFF;
  line-height: 2;
  margin-bottom: 70px;
}

#company .introduction .inner .text-area p {
  color: #FFF;
  line-height: 3;
}

#company .introduction .inner .text-area .button {}

#company .introduction .inner .button a {
  background: transparent;
  border: 1px solid #FFF;
}

#company .introduction .inner figure.image-area {
  width: 50%;
  max-width: 550px;
  overflow: hidden;
  border-radius: 20px;
}

#company .introduction .inner figure.image-area img {}

#company .keyword {
  margin-bottom: 200px;
}

#company .keyword .inner {
  position: relative;
  max-width: 1600px;
}

#company .keyword .inner .keyword-background {}

#company .keyword .inner .keyword-background img {}

#company .keyword .inner .keyword-contents {
  position: absolute;
  background: rgba(255, 255, 255, 0.6);
  text-align: center;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  display: grid;
  justify-items: center;
  justify-content: center;
  align-items: center;
  align-content: center;
  backdrop-filter: blur(5px);
  padding: 50px 0;
  width: 100%;
  max-width: 1000px;
  height: fit-content;
  margin: auto;
}

#company .keyword .inner .keyword-contents h2 {
  text-align: center;
  color: #101010;
}

#company .keyword .inner .keyword-contents h2 small {}

#company .keyword .inner .keyword-contents p {
  font-size: 18px;
  width: 70%;
  display: inline-block;
  margin-bottom: 40px;
}

#company .keyword .inner .keyword-contents .button {}

#company .keyword .inner .keyword-contents .button a {}

#company .message {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: 200px;
}

#company .message .message-left {
  width: 50%;
  display: flex;
  justify-content: flex-end;
}

#company .message .message-left .text-box {
  display: grid;
  width: 600px;
}

#company .message .message-left .text-box h2 {}

#company .message .message-left .text-box h2 small {}

#company .message .message-left .text-box p {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 50px;
}

#company .message .message-left .text-box .button {}

#company .message .message-left .text-box .button a {}

#company .message .message-right {
  width: 50%;
}

#company .message .message-right figure {
  border-radius: 80px 0 0 80px;
  overflow: hidden;
}

#company .message .message-right figure img {
  width: 100%;
}

#company .bottom-link {}

#company .bottom-link .inner {}

#company .bottom-link .inner ul {}

#company .bottom-link .inner ul li {}
#company .bottom-link .inner ul li:first-child {
    border-radius: 10px 0 0 10px;
}
#company .bottom-link .inner ul li:last-child {
  border-right: none;
  border-radius: 0 10px 10px 0;
}

#company .bottom-link .inner ul li a {}

#company .bottom-link .inner ul li a img {}

#company .bottom-link .inner ul li a span {}

#company .bottom-link .inner ul li a span small {}

@media screen and (max-width: 960px) {
  #company {}

  #company .introduction {
    padding: 0 13px;
    overflow: hidden;
    margin-bottom: 80px;
  }

  #company .introduction .inner {
    padding: 40px 0;
    display: block;
  }

  #company .introduction .inner .text-area {
    width: 100%;
    padding: 0;
  }

  #company .introduction .inner .text-area h2 {
    line-height: 1.6;
    margin-bottom: 20px;
  }

  #company .introduction .inner .text-area p {
    line-height: 2;
    margin-bottom: 20px;
  }

  #company .introduction .inner .text-area .button {
    margin-bottom: 20px;
  }

  #company .introduction .inner .text-area .button a {}

  #company .introduction .inner figure.image-area {
    width: 100%;
    margin: 0 auto;
  }

  #company .introduction .inner figure.image-area img {}

  #company .keyword {
    margin-bottom: 40px;
  }

  #company .keyword .inner {
    padding: 40px 0 60px;
}

  #company .keyword .inner .keyword-background {
    position: absolute;
    top: 0;
    bottom: 0;
}

  #company .keyword .inner .keyword-background img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

  #company .keyword .inner .keyword-contents {
    width: 90%;
    padding: 20px 10px;
    position: relative;
    top: auto;
    bottom: auto;
    left: auto;
    right: auto;
  }

  #company .keyword .inner .keyword-contents h2 {
    font-size: 20px;
    margin-bottom: 40px;
  }

  #company .keyword .inner .keyword-contents h2 small {}

  #company .keyword .inner .keyword-contents p {
    font-size: 14px;
    width: 100%;
  }

  #company .keyword .inner .keyword-contents .button {
    width: 90%;
  }

  #company .keyword .inner .keyword-contents .button a {}

  #company .message {
    display: block;
    margin-bottom: 60px;
  }

  #company .message .message-left {
    width: 100%;
    padding: 0 13px;
  }

  #company .message .message-left .text-box {}

  #company .message .message-left .text-box h2 {
    text-align: center;
    margin-bottom: 40px;
  }

  #company .message .message-left .text-box h2 small {}

  #company .message .message-left .text-box p {
    margin-bottom: 20px;
    text-align: center;
  }

  #company .message .message-left .text-box .button {
    margin-bottom: 40px;
  }

  #company .message .message-left .text-box .button a {}

  #company .message .message-right {
    width: 100%;
  }

#company .message .message-right .button {
    margin: 0 13px;
    width: calc(100% - 26px);
}

  #company .message .message-right figure {
    border-radius: 0;
    margin: 0 0 20px;
  }

  #company .message .message-right figure img {}

  #company .bottom-link {}

  #company .bottom-link .inner {}

  #company .bottom-link .inner ul {}

  #company .bottom-link .inner ul li:last-child {
    50%: ;
    border-radius: 0 0 10px 10px;
  }

  #company .bottom-link .inner ul li {
    width: 100%;
    border-right: none;
  }

#company .bottom-link .inner ul li:first-child {
    border-radius: 10px 10px 0 0;
}

  .bottom-link .inner ul li:last-child {}

  .bottom-link .inner ul li:last-child {}

  #company .bottom-link .inner ul li a {}

  #company .bottom-link .inner ul li a img {}

  #company .bottom-link .inner ul li a span {}

  #company .bottom-link .inner ul li a span small {}
}

/*============================
#keyword
============================*/
#keyword {}

#keyword .introduction {}

#keyword .introduction .inner {
  position: relative;
  max-width: 1600px;
}

#keyword .introduction .inner .keyword-background {}

#keyword .introduction .inner .keyword-background img {}

#keyword .introduction .inner .keyword-contents {
  position: absolute;
  background: rgba(255, 255, 255, 0.6);
  text-align: center;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  display: flex;
  backdrop-filter: blur(5px);
  padding: 50px 0;
  max-width: 1000px;
  height: fit-content;
  margin: auto;
  text-align: left;
  justify-items: center;
  width: 80%;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}

#keyword .introduction .inner .keyword-contents h2 {
  font-size: 20px;
  color: #004672;
  text-align: left;
  width: 100%;
  padding: 0 50px;
}

#keyword .introduction .inner .keyword-contents h2::before {
  content: "ー";
  color: #2390ED;
  font-weight: normal;
  margin-right: 0.5em;
}

#keyword .introduction .inner .keyword-contents ul {
  width: 70%;
}

#keyword .introduction .inner .keyword-contents ul li {
  border-bottom: 1px solid #000;
  padding: 0 2em;
}

#keyword .introduction .inner .keyword-contents ul li a {
  color: #2C2C2C;
  font-size: 20px;
  font-weight: bold;
  background: url(../img/arrow-right.png) no-repeat right center;
  display: block;
}

#keyword .introduction .inner .keyword-contents ul li a i {
  margin-right: 1em;
  font-size: 26px;
}

#keyword .page-contents.keyword-contents {}

#keyword .page-contents.keyword-contents .inner.keyword-area {
  margin-bottom: 50px;
}

#keyword .page-contents.keyword-contents .inner.keyword-area .keyword-title {
  text-align: center;
  margin-bottom: 50px;
  position: relative;
  max-width: 1000px;
  margin: 0 auto 50px;
}

#keyword .page-contents.keyword-contents .inner.keyword-area .keyword-title::before {
  background-image: url(../img/citation01.png);
  left: 0;
}

#keyword .page-contents.keyword-contents .inner.keyword-area .keyword-title::after {
  background-image: url(../img/citation02.png);
  right: 0;
}

#keyword .page-contents.keyword-contents .inner.keyword-area .keyword-title::before,
#keyword .page-contents.keyword-contents .inner.keyword-area .keyword-title::after {
  content: "";
  position: absolute;
  width: 100px;
  height: 80px;
  80px: ;
  background-size: contain;
  background-repeat: no-repeat;
  top: 20px;
}

#keyword .page-contents.keyword-contents .inner.keyword-area .keyword-title small {
  color: #2390ED;
  font-weight: bold;
  display: block;
  text-align: center;
  line-height: 0;
}

#keyword .page-contents.keyword-contents .inner.keyword-area .keyword-title i {
  font-size: 80px;
  color: #064974;
  font-weight: bold;
  display: block;
  text-align: center;
  line-height: 1;
  margin-bottom: 20px;
}

#keyword .page-contents.keyword-contents .inner.keyword-area .keyword-title h2 {
  text-align: center;
  color: #064974;
  margin-bottom: 20px;
}

#keyword .page-contents.keyword-contents .inner.keyword-area .keyword-title h3 {
  background: #2390ED;
  color: #FFF;
  text-align: center;
  display: inline-block;
  padding: 0 0.5em;
  font-size: 20px;
}

#keyword .page-contents.keyword-contents .inner.keyword-area .keyword-contents {}

#keyword .page-contents.keyword-contents .inner.keyword-area .keyword-contents p {
  font-size: 16px;
  margin-bottom: 40px;
}

#keyword .page-contents.keyword-contents .inner.keyword-area .keyword-contents p strong {}

#keyword .page-contents.keyword-contents .inner.keyword-area .keyword-contents figure {}

#keyword .page-contents.keyword-contents .inner.keyword-area .keyword-contents figure img {}

#keyword .page-contents.keyword-contents .bottom-link {}

#keyword .page-contents.keyword-contents .bottom-link .inner {}

#keyword .page-contents.keyword-contents .bottom-link .inner ul {}

#keyword .page-contents.keyword-contents .bottom-link .inner ul li {}

#keyword .page-contents.keyword-contents .bottom-link .inner ul li a {}

#keyword .page-contents.keyword-contents .bottom-link .inner ul li a img {}

#keyword .page-contents.keyword-contents .bottom-link .inner ul li a span {}

#keyword .page-contents.keyword-contents .bottom-link .inner ul li a span small {}

@media screen and (max-width: 960px) {
  #keyword {}

  #keyword .introduction {
    margin-bottom: 60px;
  }

  #keyword .introduction .inner {
    padding: 40px 0 60px;
}

  #keyword .introduction .inner .keyword-background {
    position: absolute;
    bottom: 0;
    top: 0;
    left: 0;
    right: 0;
  }

  #keyword .introduction .inner .keyword-background img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

  #keyword .introduction .inner .keyword-contents {
    padding: 0;
    position: relative;
    width: 90%;
    padding: 20px 20px;
  }

  #keyword .introduction .inner .keyword-contents h2 {
    margin: 0;
    padding: 0;
  }

  #keyword .introduction .inner .keyword-contents ul {
    width: 100%;
  }

  #keyword .introduction .inner .keyword-contents ul li {
    padding: 0;
  }

  #keyword .introduction .inner .keyword-contents ul li a {
    font-size: 15px;
    display: block;
    overflow: hidden;
    height: auto;
    display: flex;
    align-items: center;
    line-height: 1.5;
    padding: 10px 20px 10px 3em;
    text-align: left;
    position: relative;
  }

  #keyword .introduction .inner .keyword-contents ul li a i {
    display: block;
    width: 2em;
    float: left;
    margin-right: 0;
    font-size: 24px;
    position: absolute;
    left: 0;
  }

  #keyword .page-contents.keyword-contents {}

  #keyword .page-contents.keyword-contents .inner.keyword-area {
    padding: 0 13px;
  }

  #keyword .page-contents.keyword-contents .inner.keyword-area .keyword-title {
    position: relative;
  }

  #keyword .page-contents.keyword-contents .inner.keyword-area .keyword-title::before,
  #keyword .page-contents.keyword-contents .inner.keyword-area .keyword-title::after {
    width: 50px;
  }

  #keyword .page-contents.keyword-contents .inner.keyword-area .keyword-title small {}

  #keyword .page-contents.keyword-contents .inner.keyword-area .keyword-title i {
    font-size: 60px;
  }

  #keyword .page-contents.keyword-contents .inner.keyword-area .keyword-title h2 {
    font-size: 18px;
  }

  #keyword .page-contents.keyword-contents .inner.keyword-area .keyword-title h3 {
    font-size: 16px;
    padding: 8px 0;
  }

  #keyword .page-contents.keyword-contents .inner.keyword-area .keyword-contents {}

  #keyword .page-contents.keyword-contents .inner.keyword-area .keyword-contents p {
    margin-bottom: 1em;
  }

  #keyword .page-contents.keyword-contents .inner.keyword-area .keyword-contents p strong {}

  #keyword .page-contents.keyword-contents .inner.keyword-area .keyword-contents figure {}

  #keyword .page-contents.keyword-contents .inner.keyword-area .keyword-contents figure img {}

  #keyword .page-contents.keyword-contents .bottom-link {}

  #keyword .page-contents.keyword-contents .bottom-link .inner {}

  #keyword .page-contents.keyword-contents .bottom-link .inner ul {}

  #keyword .page-contents.keyword-contents .bottom-link .inner ul li {
    width: 100%;
    border-right: none;
  }

  #keyword .page-contents.keyword-contents .bottom-link .inner ul li a {}

  #keyword .page-contents.keyword-contents .bottom-link .inner ul li a img {}

  #keyword .page-contents.keyword-contents .bottom-link .inner ul li a span {}

  #keyword .page-contents.keyword-contents .bottom-link .inner ul li a span small {}
}

/*============================
#ir-info
============================*/
#ir-info {}

#ir-info .introduction {
  margin-bottom: 100px;
}

#ir-info .introduction .inner {
  background: #FFF;
  box-shadow: 0px 4px 15px 0px rgba(0, 0, 0, 0.15);
  padding: 3em 3em;
  border-radius: 10px;
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  flex-wrap: wrap;
}

#ir-info .introduction .inner h2 {
  font-size: 20px;
  color: #004672;
  text-align: left;
  width: 100%;
  padding: 0 50px;
}

#ir-info .introduction .inner h2::before {
  content: "ー";
  color: #2390ED;
  font-weight: normal;
  margin-right: 0.5em;
}

#ir-info .introduction .inner .ir-material {
  width: 50%;
  padding-right: 4em;
}

#ir-info .introduction .inner .ir-material h2 {}

#ir-info .introduction .inner .ir-material .document {
  margin-bottom: 30px;
}

#ir-info .introduction .inner .ir-material .document a {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
  border-radius: 10px;
  overflow: hidden;
  transition: all .35S;
}

#ir-info .introduction .inner .ir-material .document a:hover {
  opacity: 0.75;
}

#ir-info .introduction .inner .ir-material .document a img {
  width: 100%;
}

#ir-info .introduction .inner .ir-material .document a span {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  color: #FFF;
  font-weight: bold;
  font-size: 20px;
}

#ir-info .introduction .inner .ir-material .document a span::after {
  content: "";
  display: block;
  width: 20px;
  height: 40px;
  position: absolute;
  right: 20px;
  top: calc(50% - 20px);
  background: url(../img/icon-arrow-right.svg) no-repeat center;
}

#ir-info .introduction .inner .ir-finance {
  width: 50%;
}

#ir-info .introduction .inner .ir-finance h2 {}

#ir-info .introduction .inner .ir-finance .ir-display {}

#ir-info .introduction .inner .ir-finance .ir-display a {
  display: block;
  width: 80%;
  margin: 0 auto 20px;
}

#ir-info .introduction .inner .ir-finance .ir-display a img {}

#ir-info .introduction .inner .ir-finance .button.yahoo {}

#ir-info .introduction .inner .ir-finance .button.yahoo a {
  background: #004BBF;
  width: 100%;
  padding: 0.5em 0;
  text-align: center;
}

#ir-info .ir-news {
  margin-bottom: 100px;
}

#ir-info .ir-news .button {
    text-align: center;
}

#ir-info .ir-news .inner {}

#ir-info .ir-news .inner h2 {}

#ir-info .ir-news .inner h2 small {}

#ir-info .ir-news .inner .news-wrap {
  background: #FFF;
  box-shadow: 0px 4px 15px 0px rgba(0, 0, 0, 0.15);
  padding: 3em 3em;
  border-radius: 10px;
  margin-bottom: 40px;
}

z {
    margin: 0 auto;
    width: fit-content;
}

#ir-info .ir-news .inner .news-wrap ul {}

#ir-info .ir-news .inner .news-wrap ul li {
  border-bottom: 1px solid #A3A3A3;
}

#ir-info .ir-news .inner .news-wrap ul li a {
  padding: 8px 0;
}

#ir-info .message {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: 200px;
}

#ir-info .message .message-left {
  width: 50%;
  display: flex;
  justify-content: flex-end;
}

#ir-info .message .message-left .text-box {
  display: grid;
  width: 600px;
}

#ir-info .message .message-left .text-box h2 {}

#ir-info .message .message-left .text-box h2 small {}

#ir-info .message .message-left .text-box p {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 50px;
}

#ir-info .message .message-left .text-box .button {}

#ir-info .message .message-left .text-box .button a {}

#ir-info .message .message-right {
  width: 50%;
}

#ir-info .message .message-right figure {
  border-radius: 80px 0 0 80px;
  overflow: hidden;
}

#ir-info .message .message-right figure img {
  width: 100%;
}

#ir-info .bottom-link {}

#ir-info .bottom-link .inner {}

#ir-info .bottom-link .inner ul {}

#ir-info .bottom-link .inner ul li {
}

#ir-info .bottom-link .inner ul li:first-child {border-radius: 10px 0 0 10px;}

#ir-info .bottom-link .inner ul li:last-child {
    border-radius: 0 10px 10px 0;
    border-right: none;
}

#ir-info .bottom-link .inner ul li a {}

#ir-info .bottom-link .inner ul li a img {}

#ir-info .bottom-link .inner ul li a span {}

#ir-info .bottom-link .inner ul li a span small {}

@media screen and (max-width: 960px) {
  #ir-info {}

#ir-info .ir-news .inner .button {
    width: 100%;
}

  #ir-info .introduction {
    padding: 0 13px;
    margin-bottom: 40px;
  }

  #ir-info .introduction .inner {
    padding: 1em;
    display: block;
  }

  #ir-info .introduction .inner h2 {
    padding: 0;
    margin-bottom: 20px;
  }

  #ir-info .introduction .inner .ir-material {
    width: 100%;
    margin: 0 0 40px;
    padding: 0;
  }

  #ir-info .introduction .inner .ir-material h2 {}

  #ir-info .introduction .inner .ir-material .document {
    margin-bottom: 20px;
  }

  #ir-info .introduction .inner .ir-material .document a {}

  #ir-info .introduction .inner .ir-material .document a img {}

  #ir-info .introduction .inner .ir-material .document a span {}

  #ir-info .introduction .inner .ir-finance {
    width: 100%;
  }

  #ir-info .introduction .inner .ir-finance h2 {}

  #ir-info .introduction .inner .ir-finance .ir-display {}

  #ir-info .introduction .inner .ir-finance .ir-display a {}

  #ir-info .introduction .inner .ir-finance .ir-display a img {}

  #ir-info .introduction .inner .ir-finance .button.yahoo {}

  #ir-info .introduction .inner .ir-finance .button.yahoo a {}

  #ir-info .ir-news {
    padding: 0 13px;
    margin-bottom: 40px;
  }

  #ir-info .ir-news .inner {}

  #ir-info .ir-news .inner h2 {}

  #ir-info .ir-news .inner h2 small {}

  #ir-info .ir-news .inner .news-wrap {
    padding: 1em;
  }

  #ir-info .ir-news .inner .news-wrap ul {}

  #ir-info .ir-news .inner .news-wrap ul li {}

  #ir-info .ir-news .inner .news-wrap ul li a {}

  #ir-info .message {
    margin-bottom: 60px;
  }

  #ir-info .message .message-left {
    padding: 0 13px;
    margin-bottom: 40px;
    width: 100%;
  }

  #ir-info .message .message-left .text-box {}

  #ir-info .message .message-left .text-box h2 {}

  #ir-info .message .message-left .text-box h2 small {}

  #ir-info .message .message-left .text-box p {
    font-size: 18px;
    margin-bottom: 40px;
  }

  #ir-info .message .message-right .button {
    margin: 0 13px;
    @a: ;
    width: calc(100% - 26px);
}

  #ir-info .message .message-left .text-box .button a {}

  #ir-info .message .message-right {
    width: 100%;
  }

  #ir-info .message .message-right figure {
    border-radius: 0;
    margin-bottom: 40px;
  }

  #ir-info .message .message-right figure img {}

  #ir-info .bottom-link {}

  #ir-info .bottom-link .inner {}

  #ir-info .bottom-link .inner ul {}

  #ir-info .bottom-link .inner ul li {}

#ir-info .bottom-link .inner ul li:first-child {
    border-radius: 10px 0 0 0;
}

#ir-info .bottom-link .inner ul li:nth-child(2) {
    border-radius: 0 10px 0 0;
}

#ir-info .bottom-link .inner ul li:nth-child(3) {
    border-radius: 0 0 0 10px;
}

#ir-info .bottom-link .inner ul li:last-child {
    border-radius: 0 0 10px 0;
}

  #ir-info .bottom-link .inner ul li a {}

  #ir-info .bottom-link .inner ul li a img {}

  #ir-info .bottom-link .inner ul li a span {}

  #ir-info .bottom-link .inner ul li a span small {}
}

/*============================
#management
============================*/
#management {}

#management .introduction {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: 200px;
}

#management .introduction .left {
  width: 50%;
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
}

#management .introduction .left .text-area {
  display: grid;
  width: 600px;
}

#management .introduction .left .text-area h2 {
  color: #064974;
}

#management .introduction .left .text-area p {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 50px;
}

#management .introduction .left .text-area p small {}

#management .introduction .right {
  width: 50%;
}

#management .introduction .right figure.image-area {
  border-radius: 80px 0 0 80px;
  overflow: hidden;
}

#management .introduction .right figure.image-area img {
  width: 100%;
}

#management .page-contents.management-contents {
  position: relative;
}

#management .page-contents.management-contents::after {
  content: "";
  background: #FFF;
  width: calc(100% - 20px);
  height: calc(100% + 160px);
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -2;
  border-radius: 0 80px 0 0;
  box-shadow: 0px 4px 20px 0px rgba(0, 0, 0, 0.15);
}

#management .page-contents.management-contents .message-area {
  max-width: 1200px;
  margin: 0 auto;
  padding: 100px 0;
}

#management .page-contents.management-contents .message-area p {
  font-size: 16px;
  margin-bottom: 40px;
}

#management .page-contents.management-contents .bottom-link {}

#management .page-contents.management-contents .bottom-link .inner {}

#management .page-contents.management-contents .bottom-link .inner ul {}

#management .page-contents.management-contents .bottom-link .inner ul li {}

#management .page-contents.management-contents .bottom-link .inner ul li a {}

#management .page-contents.management-contents .bottom-link .inner ul li a img {}

#management .page-contents.management-contents .bottom-link .inner ul li a span {}

#management .page-contents.management-contents .bottom-link .inner ul li a span small {}

@media screen and (max-width: 960px) {
  #management {}

  #management .introduction {
    display: block;
    margin-bottom: 40px;
  }

  #management .introduction .left {
    width: 100%;
    padding: 0 13px;
  }

  #management .introduction .left .text-area {}

  #management .introduction .left .text-area h2 {
    font-size: 18px;
    margin-bottom: 20px;
  }

  #management .introduction .left .text-area p {
    font-size: 14px;
    margin-bottom: 20px;
  }

  #management .introduction .left .text-area p small {}

  #management .introduction .right {
    width: 100%;
  }

  #management .introduction .right figure.image-area {
    border-radius: 0;
  }

  #management .introduction .right figure.image-area img {}

  #management .page-contents.management-contents {}

  #management .page-contents.management-contents::after {
    width: 100%;
    border-radius: 0 40px 0 0;
  }

  #management .page-contents.management-contents .message-area {
    padding: 40px 20px;
  }

  #management .page-contents.management-contents .message-area p {
    line-height: 1.8;
    margin-bottom: 1em;
  }

  #management .page-contents.management-contents .bottom-link {}

  #management .page-contents.management-contents .bottom-link .inner {}

  #management .page-contents.management-contents .bottom-link .inner ul {
    top: 40px;
  }

  #management .page-contents.management-contents .bottom-link .inner ul li {}

  #management .page-contents.management-contents .bottom-link .inner ul li:nth-child(3),
  #management .page-contents.management-contents .bottom-link .inner ul li:nth-child(4) {}

  #management .page-contents.management-contents .bottom-link .inner ul li a {}

  #management .page-contents.management-contents .bottom-link .inner ul li a img {}

  #management .page-contents.management-contents .bottom-link .inner ul li a span {}

  #management .page-contents.management-contents .bottom-link .inner ul li a span small {}
}

/*============================
#news
============================*/
#news {
  padding: 0 20px;
}

#news .news-container {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  margin-bottom: 40px;
  flex-wrap: wrap;
}

#news .news-container .info-list {
  width: 20%;
}

#news .news-container .info-list a {
  padding: 1em;
  font-weight: bold;
  display: block;
  position: relative;
}

#news .news-container .info-list a.is-active {}

#news .news-container .info-list a.is-active::before {
  content: "";
  position: absolute;
  top: calc(50% - 5px);
  left: -10px;
  display: block;
  background: #2390ED;
  width: 10px;
  height: 10px;
  border-radius: 10px;
}

#news .news-container .info-wrap {
  width: 80%;
  margin-bottom: 50px;
}

#news .news-container .info-wrap ul {}

#news .news-container .info-wrap ul li {
  border-bottom: 1px solid #A3A3A3;
  padding: 1em 0;
}

#news .news-container .info-wrap ul li a {}

#news .news-container .info-wrap ul li a span.c-infoList__date {}

#news .news-container .info-wrap ul li a span.c-infoList__new {}

#news .news-container .info-wrap ul li a span.c-infoList__cat {}

#news .news-container .info-wrap ul li a .c-infoList__ttl {}

#news .news-container .info-wrap ul li a .c-infoList__ttl span.c-infoList__txt {}

#news .news-container .info-wrap ul li a.c-infoList__link {
  grid-template-columns: 5em 50px 130px 1fr;
}

#news .news-container .info-wrap ul li a span.c-infoList__date {}

#news .news-container .info-wrap ul li a span.c-infoList__cat {}

#news .news-container .info-wrap ul li a .c-infoList__ttl {}

#news .news-container .info-wrap ul li a .c-infoList__ttl span.c-infoList__txt {}

#news .c-pagination {
  text-align: center;
  display: block;
  width: 100%;
}

#news .c-pagination .info {}

#news .c-pagination .pages {}

#news .c-pagination svg {
  fill: #004672;
}

#news .c-pagination .pager {
  color: #004672;
  font-weight: bold;
  border: none;
  font-size: 15px;
}

#news .c-pagination .pager.next {
  margin-left: 4em;
}

#news .c-pagination .pager.prev {
  margin-right: 4em;
}

#news .c-pagination .pager.current {
  color: #FFF;
  background: #004672;
}

@media screen and (max-width: 960px) {
  #news {}

  #news .news-container {
    display: block;
    padding: 0 13px;
  }

  #news .news-container .info-list {
    width: 100%;
    display: flex;
    justify-content: center;
  }

  #news .news-container .info-list a {
    padding: 1em 0.5em;
  }

  #news .news-container .info-list a.is-active {}

  #news .news-container .info-list a.is-active::before {
    top: 0;
    left: calc(50% - 5px);
  }

  #news .news-container .info-wrap {
    width: 100%;
  }

  #news .news-container .info-wrap ul {}

  #news .news-container .info-wrap ul li {}

  #news .news-container .info-wrap ul li a {}

  #news .news-container .info-wrap ul li a span.c-infoList__date {}

  #news .news-container .info-wrap ul li a span.c-infoList__new {}

  #news .news-container .info-wrap ul li a span.c-infoList__cat {}

  #news .news-container .info-wrap ul li a .c-infoList__ttl {
    grid-column: 1 / 5;
  }

  #news .news-container .info-wrap ul li a .c-infoList__ttl span.c-infoList__txt {}

  #news .news-container .info-wrap ul li a {}

  #news .news-container .info-wrap ul li a span.c-infoList__date {}

  #news .news-container .info-wrap ul li a span.c-infoList__cat {
    width: 130px;
  }

  #news .news-container .info-wrap ul li a .c-infoList__ttl {}

  #news .news-container .info-wrap ul li a .c-infoList__ttl span.c-infoList__txt {}

  #news .c-pagination {}

  #news .c-pagination .info {}

  #news .c-pagination .pages {}

  #news .c-pagination svg {}

  #news .c-pagination .pager {
    width: 36px;
    height: 36px;
  }

  #news .c-pagination .pager.next {
    margin-left: 1em;
  }

  #news .c-pagination .pager.prev {
    margin-right: 1em;
  }

  #news .c-pagination .pager.current {}
}

a.c-btn.c-btn--blue {
  max-width: 100%;
  margin-bottom: 1em;
}
.c-form__txt {
  font-size: 1.15em;
  line-height: 1.8;
  margin-bottom: .5em;
  text-align: center;
  font-weight: bold;
  color: #004673;
}

.c-form__txt-mini {
    font-size: 12px;
    color: red;
    text-align: center;
    margin-bottom: 3em;
    font-weight: bold;
}
.p-downloadInfo.new-downloadInfo{
  display:flex;
  gap:20px;
  margin-bottom: 3em;
}
.p-downloadInfo.new-downloadInfo > *{
  flex:1 1 0;         /* gap 分も含めて均等割りにしたいなら */
}
@media(max-width:600px){
  .p-downloadInfo.new-downloadInfo{
    flex-direction:column;
  }
  .p-downloadInfo.new-downloadInfo > *{
    flex:0 0 100%;
    max-width:100%;
  }
}

.mailform.mailform-contact dl:first-child dt {
  margin-top: 0;
}
.mailform.mailform-contact dt {
  font-weight: bold;
  margin-bottom: .2em;
  margin-top: 1em;
  font-size: 1.1em;
}
.mailform.mailform-contact dl i {
  margin-right: auto;
  margin-left: 5px;
  padding: 0.1em 1em;
  color: #fff;
  font-size: 12px;
  font-family: "PT Sans", sans-serif;
  line-height: 1.4;
  background: #e82a56;
  border-radius: 100px;
  color: #fff;
}
.mailform.mailform-contact input[type=text], .mailform.mailform-contact input[type=tel], .mailform.mailform-contact input[type="email"], .mailform.mailform-contact input[type=number], .mailform.mailform-contact select{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  height: 50px;
  padding: 0 15px;
  font-size: inherit;
  font-family: inherit;
  background-color: #fff;
  border: 1px solid #ccc;
  border-radius: 8px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 100%;
  max-width: 500px;
}
.mailform.mailform-contact textarea {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 15px;
  font-size: inherit;
  font-family: inherit;
  background-color: #fff;
  border: 1px solid #ccc;
  border-radius: 8px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 100%;
}

.mailform.mailform-contact .wpcf7-list-item {
  display: block;
  margin: 0 1em 0 0;
}
.mailform.mailform-contact .agree {
  margin-top: 3em;
  text-align: center;
  margin-bottom: 1em;
  font-weight: bold;
}
.mailform.mailform-contact .wpcf7-checkbox .wpcf7-list-item {
  margin: 0;
  padding: 0;
}

.mailform.mailform-contact .wpcf7-checkbox .wpcf7-list-item label {
  display: flex;
  align-items: center;
  cursor: pointer;
  font-size: 14px;
  color: #333;
  padding: 0;
}

.mailform.mailform-contact .wpcf7-checkbox input[type="checkbox"] {
  width: 16px;
  height: 16px;
  margin-right: 8px;
  accent-color: #007cba;
}

.mailform.mailform-contact .wpcf7-checkbox .wpcf7-list-item-label {
  user-select: none;
}
.mailform.mailform-contact input.wpcf7-form-control.wpcf7-submit.has-spinner.c-btn.c-btn--blue {
  min-width: 200px;
  margin: auto;
  border: none;
  transition: all 0.3s ease;
}

.mailform.mailform-contact input.wpcf7-form-control.wpcf7-submit.has-spinner.c-btn.c-btn--blue:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}
.mailform.mailform-contact .wpcf7 .wpcf7-submit:disabled {
  cursor: not-allowed;
  background: #ddd;
  box-shadow: none;
}
.mailform.mailform-contact .agree a {
  color: #2390ed;
  text-decoration: underline;
  transition: color 0.3s ease;
}
.mailform.mailform-contact .agree a:hover {
  color: #1a6fc0;
  text-decoration: none;
}
.mailform.mailform-contact dt::before {
  display: inline-block;
  content: "■";
  padding-right: 5px;
  color: #064974;
}

.p-documentList .container {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
  padding: 40px 0;
}

.p-documentList__box {
  display: flex;
  flex-direction: column;
  height: 100%;
  transition: transform 0.3s ease;
}

.p-documentList__box:hover {
  transform: translateY(-5px);
}

.p-documentList__thumb {
  width: 100%;
  aspect-ratio: 16/9;
  overflow: hidden;
}

.p-documentList__img {
  width: 100%;
  height: auto;
  object-fit: cover;
  aspect-ratio: 16/9;
}

.p-documentList__inner {
  padding: 20px;
  flex-grow: 1;
}
.p-documentList__box--single .p-documentList__inner {
  padding: 0 20px;
}
.p-documentList__title {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 10px;
  color: #064974;
  line-height: 1.6;
}

.p-documentList__explanation {
  font-size: 13px;
  line-height: 1.4;
  color: #333;
}
.p-documentList__button {
  padding: 0em 2em 1em;
}

@media screen and (max-width: 960px) {
  .p-documentList .container {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media screen and (max-width: 768px) {
  .p-documentList .container {
    grid-template-columns: 1fr;
  }
}
.p-documentList .c-btn{
  background: linear-gradient(90deg, #695BD3 0%, #30CDFF 100%);
}
.no-bg{
  background: none !important;
}
.p-documentList__box.p-documentList__box--single {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 20px;
  float: left;
  width: 45%;
  margin-bottom: 3em;
}


.p-documentList__inner {
  flex: 1;
}

.c-form {
  float: right;
  width: 50%;
}

@media screen and (max-width: 768px) {
  .p-documentList__box.p-documentList__box--single {
    flex-direction: column;
    float: none;
    width: 100%;
  }
  
  .p-documentList__thumb {
    flex: 0 0 auto;
    width: 100%;
  }

  .c-form__nav,
  .c-form {
    float: none;
    width: 100%;
  }
}
.c-form.w100 {
  width: 100%;
  float: none;
}
div#form_submit {
  position: relative;
}
.wpcf7-spinner::before {
  background-color: #004672;
}
.wpcf7-spinner {
  display: block;
  background-color: #fff;
  opacity: 1;
  margin: auto;
  position: absolute;
  top: 13px;
  left: 0;
  right: -11em;
}
@media screen and (max-width: 1000px) {
  .container.downloadList {
    margin: 0 10px;
  }
}
@media screen and (max-width: 768px) {
  .container.downloadList {
    grid-template-columns: repeat(2, 1fr);
  }
  .mailform input[type=text], .mailform input[type=tel], .mailform input[type="email"], .mailform input[type=number], .mailform select {
    width: 100%;
    max-width: 100%;
}
}
@media screen and (max-width: 530px) {
  .container.downloadList {
    grid-template-columns: repeat(1, 1fr);
  }
}

.p-contact .c-form__inner {
    max-width: 100%; 
}