@charset "UTF-8";
/*-----------------------------------------------

2024.6～新ヘッダ

-------------------------------------------------*/
body {
  background: #fff;
}
header {
  width: 100%;
}
@media screen and (max-width: 1440px) {
  header {
    width: 1420px;
  }
}
@media screen and (max-width: 767px) {
  header {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  header.is-pc {
    display: none;
  }
}
header.is-sp {
  display: none;
}
@media screen and (max-width: 767px) {
  header.is-sp {
    display: block;
  }
}

.l-header-wrap {
  width: 100%;
  height: 108px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  position: relative;
}
.l-header-wrap * {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.header-main {
  position: absolute;
  left: 60px;
  top: 28px;
}
.header-main img.header-logo {
  width: 415px;
}
.header-main a {
  -webkit-transition: opacity ease 0.4s;
  transition: opacity ease 0.4s;
}

.header-sub {
  height: 100%;
}
@media screen and (max-width: 767px) {
  .header-sub {
    display: none;
  }
}

.header-sub-list {
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.header-sub-item {
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.header-sub-item .item-inner {
  width: 100%;
  height: 100%;
  padding: 28px 24px 0 76px;
  position: relative;
  text-align: center;
}
.header-sub-item .item-inner:before {
  content: "";
  display: block;
  position: absolute;
  left: 76px;
  top: 50%;
  width: calc(100% - 100px);
  height: 0;
  border-top: 2px solid #fff;
}
.header-sub-item .item-inner .is-text {
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.15em;
}
.header-sub-item .item-inner .is-sub {
  display: inline-block;
  margin-top: 16px;
  font-size: 16px;
  letter-spacing: 0.2em;
}
.header-sub-item.is-link a {
  width: 100%;
  height: 100%;
  display: block;
  background: #008cd6 url(/common/img/ng2024/icon_conversion.png) no-repeat 16px center;
  background-size: 46px 46px;
  color: #fff;
  -webkit-transition: opacity ease 0.4s;
  transition: opacity ease 0.4s;
}
.header-sub-item.is-phone01 .item-inner {
  width: 100%;
  background: #fff100 url(/common/img/ng2024/icon_phone_blue.png) no-repeat 16px center;
  background-size: 46px 46px;
  color: #008cd6;
}
.header-sub-item.is-phone01 .item-inner .is-text {
  font-size: 22px;
  letter-spacing: 0.075em;
  letter-spacing: 0.2em;
}
.header-sub-item.is-phone01 .item-inner:before {
  border-top: 2px solid #008cd6;
}
.header-sub-item.is-phone02 .item-inner {
  width: 100%;
  background: #9cb5c1 url(/common/img/ng2024/icon_phone_white.png) no-repeat 16px center;
  background-size: 46px 46px;
  color: #fff;
}
.header-sub-item.is-phone02 .item-inner .is-text {
  font-size: 22px;
  letter-spacing: 0.2em;
}
.header-sub-item:nth-of-type(1) a {
  border-radius: 0 0 0 20px;
}

/*-----------------------------------------------

2024.6～新ヘッダ下のメニュー。

-------------------------------------------------*/
.l-header-additional-wrap {
  width: 100%;
  height: 60px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin: 28px 0 12px;
}
.l-header-additional-wrap * {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.header-additional-list {
  max-width: 1200px;
  margin: 0 auto;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
}
.header-additional-list:after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 0;
  height: 100%;
  border-left: 2px dotted #84a2b2;
}

.header-additional-item {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
}
.header-additional-item:after {
  content: "";
  display: block;
  position: absolute;
  right: 0;
  top: 0;
  width: 0;
  height: 100%;
  border-left: 2px dotted #84a2b2;
}
.header-additional-item span {
  display: inline-block;
  padding: 24px 0 24px 60px;
  font-size: 18px;
  color: #84a2b2;
  letter-spacing: 0.075em;
}
.header-additional-item a {
  -webkit-transition: opacity ease 0.4s;
  transition: opacity ease 0.4s;
}
.header-additional-item.is-kanri span {
  background: url(/common/img/ng2024/icon_human01.png) no-repeat left center;
  background-size: 32px auto;
}
.header-additional-item.is-cs span {
  background: url(/common/img/ng2024/icon_human02.png) no-repeat left center;
  background-size: 32px auto;
}
.header-additional-item.is-recruit span {
  background: url(/common/img/ng2024/icon_doc01.png) no-repeat left center;
  background-size: 26px auto;
}
.header-additional-item.is-wealth span {
  background: url(/common/img/ng2024/icon_book01.png) no-repeat left center;
  background-size: 42px auto;
}

/*-----------------------------------------------

2024.6～新グローバルメニュー

-------------------------------------------------*/
.l-global-menu-wrap {
  width: 100%;
  background: #008cd6;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: relative;
}
.l-global-menu-wrap * {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.l-global-menu-wrap.is-fixed {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 999;
}

.global-menu-list {
  max-width: 1200px;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
}
.global-menu-list:after {
  content: "";
  display: block;
  position: absolute;
  z-index: 10;
  left: 0;
  top: calc(50% - 10px);
  width: 0;
  height: 20px;
  border-left: 2px solid #fff;
}

.global-menu-item {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  position: relative;
  text-align: center;
}
.global-menu-item:after {
  content: "";
  display: block;
  position: absolute;
  z-index: 10;
  right: 0;
  top: calc(50% - 10px);
  width: 0;
  height: 20px;
  border-left: 2px solid #fff;
}
.global-menu-item span {
  position: relative;
  font-size: 20px;
  color: #fff;
  letter-spacing: 0.15em;
}
.global-menu-item a {
  -webkit-transition: opacity ease 0.4s;
  transition: opacity ease 0.4s;
}
.global-menu-item .is-first-link {
  display: inline-block;
  padding: 24px 0;
  width: 100%;
  height: 100%;
}

/*-----------------------------------------------

2024.6～
新グローバルメニューの第二階層メニュー

-------------------------------------------------*/
.level2-menu-wrap {
  width: 100%;
  background: #008cd6;
  min-height: 72px;
  border-top: 1px solid #fff;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 0 40px;
  display: none;
  position: absolute;
  z-index: 12;
  left: 0;
  top: 100%;
  height: 0;
  opacity: 0;
}
@media screen and (max-width: 767px) {
  .level2-menu-wrap {
    display: none;
  }
}
.level2-menu-wrap.is-show {
  display: block;
  -webkit-animation: gmenuChild 0.4s ease 0.1s forwards;
          animation: gmenuChild 0.4s ease 0.1s forwards;
}

@-webkit-keyframes gmenuChild {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes gmenuChild {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.level2-target-inner {
  max-width: 1200px;
  margin: 0 auto;
  height: 100%;
  display: none;
}
.level2-target-inner.is-show {
  display: block;
}

.global-menu-child-list {
  padding: 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.global-menu-child-item {
  margin-right: 1.5em;
  font-size: 18px;
  text-align: left;
  letter-spacing: 0.1em;
}
.global-menu-child-item a {
  display: inline-block;
  position: relative;
  padding: 0 0.5em 0 20px;
  color: #fff;
}
.global-menu-child-item a:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: calc(50% - 7px);
  width: 10px;
  height: 18px;
  background: url(/common/img/ng2024/icon_marker_white.png) no-repeat left center;
  background-size: 100% auto;
}
.global-menu-child-item a:hover {
  opacity: 1;
}

/*-----------------------------------------------

2024.6～SPの上貼り付き
（ロゴ・ハンバーガーメニュー）

-------------------------------------------------*/
.sp-header-top-fixed {
  position: fixed;
  z-index: 999;
  left: 0;
  top: 0;
  width: 100%;
  height: 25.6081946223vw;
  border-bottom: 1px solid #84a2b2;
  background: #fff;
}

@media screen and (max-width: 767px) {
  .sp-header-logo {
    position: relative;
    padding: 6.4020486556vw 0 6.4020486556vw 9.4750320102vw;
  }
}
@media screen and (max-width: 767px) {
  .sp-header-logo img {
    width: 62.7400768246vw;
  }
}

@media screen and (max-width: 767px) {
  .sp-hamburger-switch {
    display: block;
    position: absolute;
    right: 0;
    top: 0;
    width: 19.9743918054vw;
    height: 19.9743918054vw;
    background: -webkit-gradient(linear, left top, right top, from(#036eb8), to(#2da6df));
    background: linear-gradient(to right, #036eb8 0%, #2da6df 100%);
    border-radius: 0 0 0 2.0486555698vw;
  }
}
@media screen and (max-width: 767px) {
  .sp-hamburger-switch .is-bar {
    height: 12.8040973111vw;
    position: relative;
  }
}
.sp-hamburger-switch .is-bar span {
  position: absolute;
  display: block;
  left: 5.1216389245vw;
  width: 8.9628681178vw;
  height: 0.5121638924vw;
  border-radius: 0.2560819462vw;
  background: #fff;
}
.sp-hamburger-switch .is-bar span.is-top {
  top: 5.1216389245vw;
}
.sp-hamburger-switch .is-bar span.is-middle {
  top: 7.1702944942vw;
}
.sp-hamburger-switch .is-bar span.is-bottom {
  top: 9.4750320102vw;
}
@media screen and (max-width: 767px) {
  .sp-hamburger-switch .is-text {
    font-size: 2.5608194622vw;
    text-align: center;
    color: #fff;
    letter-spacing: 0.2em;
    font-weight: 700;
  }
}

.sp-hamburger-contents {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 999;
  width: 100%;
  height: 100vh;
  overflow: auto;
  background: #008cd6;
  display: none;
}

.sp-hamburger-contents-close {
  position: absolute;
  right: 5.6338028169vw;
  top: 4.609475032vw;
  width: 8.7067861716vw;
  height: 6.1459667093vw;
}
.sp-hamburger-contents-close:before, .sp-hamburger-contents-close:after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  width: 11.2676056338vw;
  height: 0.7682458387vw;
  background: #fff;
  border-radius: 0.3841229193vw;
}
.sp-hamburger-contents-close:before {
  top: 0;
  -webkit-transform: rotate(30deg);
          transform: rotate(30deg);
  -webkit-transform-origin: left top;
          transform-origin: left top;
}
.sp-hamburger-contents-close:after {
  top: 5.6338028169vw;
  -webkit-transform: rotate(-30deg);
          transform: rotate(-30deg);
  -webkit-transform-origin: left bottom;
          transform-origin: left bottom;
}

.sp-hamburger-contents-title {
  padding: 6.4020486556vw 0;
  border-bottom: 1px solid #fff;
  font-size: 3.8412291933vw;
  text-align: center;
  color: #fff;
  letter-spacing: 0.2em;
  background: -webkit-gradient(linear, left top, right top, from(#036eb8), to(#2ea7e0));
  background: linear-gradient(to right, #036eb8 0%, #2ea7e0 100%);
}

.sp-global-menu-list {
  background: -webkit-gradient(linear, left top, right top, from(#036eb8), to(#2ea7e0));
  background: linear-gradient(to right, #036eb8 0%, #2ea7e0 100%);
}

.sp-global-menu-item {
  text-align: center;
}
.sp-global-menu-item.has-child > span {
  background: none;
  position: relative;
}
.sp-global-menu-item.has-child > span:before, .sp-global-menu-item.has-child > span:after {
  content: "";
  display: block;
  position: absolute;
}
.sp-global-menu-item.has-child > span:before {
  left: 87%;
  top: calc(50% - 2.304737516vw);
  width: 4.609475032vw;
  height: 4.609475032vw;
  border-radius: 50%;
  background: #fff;
}
.sp-global-menu-item.has-child > span:after {
  left: 88.2%;
  top: calc(50% - 1.0243277849vw);
  width: 1.5364916773vw;
  height: 1.5364916773vw;
  border-right: 2px solid #008cd6;
  border-bottom: 2px solid #008cd6;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  -webkit-transition: -webkit-transform ease 0.4s;
  transition: -webkit-transform ease 0.4s;
  transition: transform ease 0.4s;
  transition: transform ease 0.4s, -webkit-transform ease 0.4s;
}
.sp-global-menu-item span {
  display: inline-block;
  width: 100%;
  padding: 3.5851472471vw 0;
  font-size: 3.8412291933vw;
  color: #fff;
  border-bottom: 1px solid #fff;
  font-weight: 700;
  letter-spacing: 0.1em;
  background: url(/common/img/ng2024/icon_marker_white.png) no-repeat 90% center;
  background-size: 2.5608194622vw auto;
}
.sp-global-menu-item.is-open.has-child > span:after {
  -webkit-transform: rotate(-135deg);
          transform: rotate(-135deg);
}

.sp-level2-target {
  display: none;
  background: -webkit-gradient(linear, left top, right top, from(#036eb8), to(#00518a));
  background: linear-gradient(to right, #036eb8 0%, #00518a 100%);
}

.sp-global-child-item span {
  background: url(/common/img/ng2024/icon_marker_blue.png) no-repeat 90% center;
  background-size: 2.5608194622vw auto;
}

.sp-hamburger-other {
  width: 100%;
  background: #008cd6;
  padding: 6.1459667093vw 6.4020486556vw 7.6824583867vw;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.sp-hamburger-other-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.sp-hamburger-other-item {
  margin-right: 3.8412291933vw;
  line-height: 2;
}
.sp-hamburger-other-item span {
  display: inline-block;
  position: relative;
  padding-left: 3.3290653009vw;
  font-size: 3.3290653009vw;
  letter-spacing: 0.15em;
  color: #fff;
}
.sp-hamburger-other-item span:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: calc(50% - 1.152368758vw);
  width: 2.304737516vw;
  height: 2.304737516vw;
  background: #37bef0;
}

.sp-hamburger-other-link {
  padding-top: 5.1216389245vw;
  text-align: center;
}
.sp-hamburger-other-link span {
  display: inline-block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  padding: 2.304737516vw 0 2.304737516vw 6.4020486556vw;
  background: url(/common/img/ng2024/icon_conversion03.png) no-repeat 5.1216389245vw center;
  background-size: 4.609475032vw auto;
  border: 2px solid #fff;
  border-radius: 5.1216389245vw/50%;
  font-size: 4.3533930858vw;
  letter-spacing: 0.2em;
  color: #fff;
}

/*-----------------------------------------------

2024.6～SPの貼り付きメニュー

-------------------------------------------------*/
@media screen and (max-width: 767px) {
  .sp-bottom-fixed {
    position: fixed;
    z-index: 998;
    left: 0;
    bottom: 0;
    width: 100%;
  }
}

.sp-bottom-fixed-list {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.sp-bottom-fixed-item {
  width: 33%;
  text-align: center;
}
.sp-bottom-fixed-item.is-link {
  width: 34%;
  background: -webkit-gradient(linear, left top, right bottom, from(#036eb8), color-stop(50%, #1383c7), to(#2da6df));
  background: linear-gradient(to bottom right, #036eb8 0%, #1383c7 50%, #2da6df 100%);
}
.sp-bottom-fixed-item.is-link .is-text {
  background: url(/common/img/ng2024/icon_conversion02.png) no-repeat center 2.5608194622vw;
  background-size: 4.3533930858vw auto;
}
.sp-bottom-fixed-item.is-phone01 {
  background: #fff100;
}
.sp-bottom-fixed-item.is-phone01 .is-text {
  color: #008cd6;
  background: url(/common/img/ng2024/icon_phone_blue02.png) no-repeat center 2.0486555698vw;
  background-size: 3.8412291933vw auto;
}
.sp-bottom-fixed-item.is-phone02 {
  background: #9cb5c1;
}
.sp-bottom-fixed-item.is-phone02 .is-text {
  background: url(/common/img/ng2024/icon_phone_white02.png) no-repeat center 2.0486555698vw;
  background-size: 3.8412291933vw auto;
}
.sp-bottom-fixed-item .is-text {
  display: inline-block;
  width: 100%;
  padding: 6.6581306018vw 0 2.0486555698vw;
  font-size: 3.5851472471vw;
  color: #fff;
  font-weight: 700;
  letter-spacing: 0.2em;
  line-height: 1.4;
}
.sp-bottom-fixed-item .is-text small {
  font-size: 80%;
}

/*-----------------------------------------------

2024.6～SPの流れるメニュー

-------------------------------------------------*/
@media screen and (max-width: 767px) {
  .sp-header-flow-menu {
    margin-top: 25.6081946223vw;
  }
}

@media screen and (max-width: 767px) {
  .sp-header-flow-list {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
  }
}

@media screen and (max-width: 767px) {
  .sp-header-flow-item {
    width: 25%;
    height: 100%;
    position: relative;
    text-align: center;
  }
}
@media screen and (max-width: 767px) {
  .sp-header-flow-item:after {
    content: "";
    display: block;
    position: absolute;
    right: 0;
    top: 10%;
    width: 0;
    height: 80%;
    border-left: 1px solid #84a2b2;
  }
}
.sp-header-flow-item:nth-last-of-type(1):after {
  display: none;
}
@media screen and (max-width: 767px) {
  .sp-header-flow-item span {
    display: inline-block;
    padding: 14.3405889885vw 0 2.5608194622vw;
    font-size: 2.304737516vw;
    color: #008cd6;
    letter-spacing: 0.075em;
  }
}
@media screen and (max-width: 767px) {
  .sp-header-flow-item.is-kanri span {
    background: url(/common/img/ng2024/icon_human01.png) no-repeat center 3.5851472471vw;
    background-size: 7.6824583867vw auto;
  }
}
@media screen and (max-width: 767px) {
  .sp-header-flow-item.is-cs span {
    background: url(/common/img/ng2024/icon_human02.png) no-repeat center 3.5851472471vw;
    background-size: 7.6824583867vw auto;
  }
}
@media screen and (max-width: 767px) {
  .sp-header-flow-item.is-recruit span {
    background: url(/common/img/ng2024/icon_doc01.png) no-repeat center 3.5851472471vw;
    background-size: 6.6581306018vw auto;
  }
}
@media screen and (max-width: 767px) {
  .sp-header-flow-item.is-wealth span {
    background: url(/common/img/ng2024/icon_book01.png) no-repeat center 4.8655569782vw;
    background-size: 9.9871959027vw auto;
  }
}