body {
  margin: 0;
  padding: 0;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-weight: 400;
  overflow-x: hidden
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  padding: 0;
  font-weight: 400
}

p {
  margin: 0;
  padding: 0
}

a {
  text-decoration: none;
  -webkit-transition: all 0.3s linear;
  -moz-transition: all 0.3s linear;
  -o-transition: all 0.3s linear;
  -ms-transition: all 0.3s linear;
  transition: all 0.3s linear
}

a:hover,
a:focus,
a:active {
  outline: none;
  text-decoration: none
}

input:hover,
input:focus,
input:active {
  outline: none
}

ul {
  margin: 0;
  padding: 0
}

ul li {
  list-style-type: none
}

img {
  border: 0;
  vertical-align: middle;
  -webkit-transition: all 0.3s linear;
  -moz-transition: all 0.3s linear;
  -o-transition: all 0.3s linear;
  -ms-transition: all 0.3s linear;
  transition: all 0.3s linear
}

.pull-left {
  float: left
}

.pull-right {
  float: right
}

.clearfix {
  clear: both;
  overflow: hidden
}

.wrapper {
  margin: 0 auto
}

.container {
  max-width: 1270px
}

@-webkit-keyframes animate-block-gorizantal-2 {
  50% {
    -webkit-transform: translateX(5px);
    transform: translateX(5px)
  }

  0%,
  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0)
  }
}

@keyframes animate-block-gorizantal-2 {
  50% {
    -webkit-transform: translateX(5px);
    transform: translateX(5px)
  }

  0%,
  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0)
  }
}

.common_title_hp {
  text-align: center
}

.common_title_hp h2 {
  font-size: 24px;
  line-height: 24px;
  font-weight: 400;
  color: #0E2673;
  font-family: "museo-sans", sans-serif;
  letter-spacing: 2.4px;
  display: inline-block;
  padding-bottom: 4px
}

.common_title_line_hp {
  display: flex;
  justify-content: center
}

.common_title_line_hp svg {
  display: flex;
  margin: auto
}

.common_title_hp p {
  font-size: 34px;
  line-height: 46px;
  font-weight: 400;
  color: #0095da;
  padding-top: 12px;
  letter-spacing: 3.4px
}

.common_title_hp h1 {
  font-size: 34px;
  line-height: 46px;
  font-weight: 800;
  color: #0095da;
  padding-top: 12px;
  letter-spacing: 3.4px
}

.glossary_title_hp p {
  font-size: 24px;
  line-height: 24px;
  font-weight: 400;
  color: #0E2673;
  font-family: "museo-sans", sans-serif;
  letter-spacing: 2.4px;
  display: inline-block;
  padding-bottom: 4px
}

.common_btn_hp {
  background: #0E2673;
  font-size: 16px;
  line-height: 25px;
  border-radius: 5px;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-weight: 400;
  color: #fff;
  letter-spacing: 1.6px;
  padding: 18px 74px 18px 24px;
  text-align: left;
  min-width: 302px;
  position: relative;
  display: inline-block;
  vertical-align: middle
}

.common_btn_hp.xs {
  min-width: 0;
  padding: 10px 65px 10px 15px;
}

.external-link .common_btn_hp {
  background: #f68e00
}

.common_btn_hp img {
  margin: 0;
  max-width: 100%;
  float: right;
  vertical-align: middle;
  position: relative;
  width: 5vw
}

.common_btn_hp:hover {
  color: #fff
}

.circleButton__circle {
  border: 2px solid #fff;
  border-radius: 50%;
  display: block;
  height: 56px;
  position: absolute;
  right: 18px;
  top: 3px;
  width: 56px;
  transform: scale(.6)
}

.circleButton__circle__arc {
  height: 56px;
  left: -1px;
  position: absolute;
  top: -1px;
  transform: scaleX(-1) rotate(-90deg);
  transform-origin: center;
  width: 56px;
  z-index: 1
}

.circleButton__circle__arc circle {
  stroke: #000;
  stroke-dasharray: 176px;
  stroke-dashoffset: 176px;
  transition: stroke-dashoffset .75s cubic-bezier(.19, 1, .22, 1);
  stroke: #fff
}

.circleButton__circle__arrow {
  background-image: url(../images/right_arrow.svg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 30px;
  height: 5px;
  left: calc(50% + 12px);
  position: absolute;
  top: calc(50% - 4px);
  width: 30px;
  z-index: 2;
  -webkit-transition: all 0.3s linear;
  -moz-transition: all 0.3s linear;
  -o-transition: all 0.3s linear;
  -ms-transition: all 0.3s linear;
  transition: all 0.3s linear
}

.circleButton__circle__arc circle {
  stroke: #fff
}

.circleButton__circle {
  border-color: #0E2673;
  color: #fff;
  top: 0;
  bottom: 0;
  margin: auto
}

.common_btn_hp:hover .circleButton__circle__arc {
  transform: rotate(-90deg)
}

.common_btn_hp:hover .circleButton__circle__arc circle {
  stroke-dashoffset: 0
}

.common_btn_hp:hover .circleButton__circle__arrow {
  left: calc(50% + 12px)
}

.blue_btn_hp {
  background: rgb(14, 38, 115)
}

.api-loader-wrapper {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 999999
}

.api-loader-wrapper .api-loader-logo {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background-image: url(../images/loader-logo.svg);
  background-repeat: no-repeat;
  background-position: center
}

.api-loader-wrapper .api-loader-circle {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  -webkit-border-radius: 50%;
  border-radius: 50%;
  width: 50px;
  height: 50px;
  border-top: 3px solid rgba(62, 174, 230, .2);
  border-right: 3px solid rgba(62, 174, 230, .2);
  border-bottom: 3px solid rgba(62, 174, 230, .2);
  border-left: 3px solid rgba(62, 174, 230, .8);
  -webkit-animation: loaderSpin 1.5s infinite linear;
  animation: loaderSpin 1.5s infinite linear
}

.loader-wrapper {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 999999;
  background-color: #fff
}

.loader-wrapper .loader-logo {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background-image: url(../images/loader-logo.svg);
  background-repeat: no-repeat;
  background-position: center
}

.loader-wrapper .loader-circle {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  -webkit-border-radius: 50%;
  border-radius: 50%;
  width: 50px;
  height: 50px;
  border-top: 3px solid rgba(62, 174, 230, .2);
  border-right: 3px solid rgba(62, 174, 230, .2);
  border-bottom: 3px solid rgba(62, 174, 230, .2);
  border-left: 3px solid rgba(62, 174, 230, .8);
  -webkit-animation: loaderSpin 1.5s infinite linear;
  animation: loaderSpin 1.5s infinite linear
}

@-webkit-keyframes loaderSpin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg)
  }

  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg)
  }
}

@keyframes loaderSpin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg)
  }

  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg)
  }
}

.io {
  -webkit-transition: color 0.4s ease 0s, background-color 0.4s ease 0s, opacity 1.0s ease 0s, -webkit-transform 1.0s ease 0s;
  transition: color 0.4s ease 0s, background-color 0.4s ease 0s, opacity 1.0s ease 0s, transform 1.0s ease 0s;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  will-change: opacity, transform
}

.io.move {
  opacity: 1 !important;
  -webkit-transform: translate3d(0, 0, 0) scale(1) rotate(0deg) !important;
  transform: translate3d(0, 0, 0) scale(1) rotate(0deg) !important
}

.io.fade {
  opacity: 0
}

.io.lr {
  -webkit-transform: translate3d(-80px, 0, 0);
  transform: translate3d(-80px, 0, 0)
}

.io.rl {
  -webkit-transform: translate3d(80px, 0, 0);
  transform: translate3d(80px, 0, 0)
}

.io.upL {
  -webkit-transform: translate3d(0, 80px, 0);
  transform: translate3d(0, 80px, 0)
}

.io.upS {
  -webkit-transform: translate3d(0, 20px, 0);
  transform: translate3d(0, 20px, 0)
}

.io.downL {
  -webkit-transform: translate3d(0, -80px, 0);
  transform: translate3d(0, -80px, 0)
}

.io.downS {
  -webkit-transform: translate3d(0, -20px, 0);
  transform: translate3d(0, -20px, 0)
}

.io.scaleUp {
  -webkit-transform: scale(.8);
  transform: scale(.8)
}

.io.scaleDown {
  -webkit-transform: scale(1.2);
  transform: scale(1.2)
}

.io.rotateL {
  -webkit-transform: rotate(30deg);
  transform: rotate(30deg)
}

.io.rotateR {
  -webkit-transform: rotate(-30deg);
  transform: rotate(-30deg)
}

.io.delay.delay1 {
  -webkit-transition: color 0.4s ease 0s, background-color 0.4s ease 0s, opacity 1.0s ease 0s, -webkit-transform 1.0s ease 0s;
  transition: color 0.4s ease 0s, background-color 0.4s ease 0s, opacity 1.0s ease 0s, transform 1.0s ease 0s
}

.io.delay.delay2 {
  -webkit-transition: color 0.4s ease 0s, background-color 0.4s ease 0s, opacity 1.0s ease 0.23s, -webkit-transform 1.0s ease 0.23s;
  transition: color 0.4s ease 0s, background-color 0.4s ease 0s, opacity 1.0s ease 0.23s, transform 1.0s ease 0.23s
}

.io.delay.delay3 {
  -webkit-transition: color 0.4s ease 0s, background-color 0.4s ease 0s, opacity 1.0s ease 0.46s, -webkit-transform 1.0s ease 0.46s;
  transition: color 0.4s ease 0s, background-color 0.4s ease 0s, opacity 1.0s ease 0.46s, transform 1.0s ease 0.46s
}

.io.delay.delay4 {
  -webkit-transition: color 0.4s ease 0s, background-color 0.4s ease 0s, opacity 1.0s ease 0.69s, -webkit-transform 1.0s ease 0.69s;
  transition: color 0.4s ease 0s, background-color 0.4s ease 0s, opacity 1.0s ease 0.69s, transform 1.0s ease 0.69s
}

.io.delay a {
  -webkit-transition: none;
  transition: none
}

.io.delay .delay_child {
  -webkit-transition: color 0.4s ease 0s, background-color 0.4s ease 0s, opacity 1.0s ease 0.5s, -webkit-transform 1.0s ease 0.5s;
  transition: color 0.4s ease 0s, background-color 0.4s ease 0s, opacity 1.0s ease 0.5s, transform 1.0s ease 0.5s;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  will-change: opacity, transform;
  opacity: 0;
  -webkit-transform: translate3d(0, 20px, 0);
  transform: translate3d(0, 20px, 0)
}

.io.delay.delay1 .delay_child {
  -webkit-transition: color 0.4s ease 0s, background-color 0.4s ease 0s, opacity 1.0s ease 0.5s, -webkit-transform 1.0s ease 0.5s;
  transition: color 0.4s ease 0s, background-color 0.4s ease 0s, opacity 1.0s ease 0.5s, transform 1.0s ease 0.5s
}

.io.delay.delay2 .delay_child {
  -webkit-transition: color 0.4s ease 0s, background-color 0.4s ease 0s, opacity 1.0s ease 0.73s, -webkit-transform 1.0s ease 0.73s;
  transition: color 0.4s ease 0s, background-color 0.4s ease 0s, opacity 1.0s ease 0.73s, transform 1.0s ease 0.73s
}

.io.delay.delay3 .delay_child {
  -webkit-transition: color 0.4s ease 0s, background-color 0.4s ease 0s, opacity 1.0s ease 0.96s, -webkit-transform 1.0s ease 0.96s;
  transition: color 0.4s ease 0s, background-color 0.4s ease 0s, opacity 1.0s ease 0.96s, transform 1.0s ease 0.96s
}

.io.delay.delay4 .delay_child {
  -webkit-transition: color 0.4s ease 0s, background-color 0.4s ease 0s, opacity 1.0s ease 1.19s, -webkit-transform 1.0s ease 1.19s;
  transition: color 0.4s ease 0s, background-color 0.4s ease 0s, opacity 1.0s ease 1.19s, transform 1.0s ease 1.19s
}

.io.delay.move .delay_child {
  opacity: 1 !important;
  -webkit-transform: translate3d(0, 0, 0) !important;
  transform: translate3d(0, 0, 0) !important
}

@media (max-width:900px) {
  .io.delay.delay1 {
    -webkit-transition: color 0.4s ease 0s, background-color 0.4s ease 0s, opacity 1.0s ease 0s, -webkit-transform 1.0s ease 0s;
    transition: color 0.4s ease 0s, background-color 0.4s ease 0s, opacity 1.0s ease 0s, transform 1.0s ease 0s
  }

  .io.delay.delay2 {
    -webkit-transition: color 0.4s ease 0s, background-color 0.4s ease 0s, opacity 1.0s ease 0s, -webkit-transform 1.0s ease 0s;
    transition: color 0.4s ease 0s, background-color 0.4s ease 0s, opacity 1.0s ease 0s, transform 1.0s ease 0s
  }

  .io.delay.delay3 {
    -webkit-transition: color 0.4s ease 0s, background-color 0.4s ease 0s, opacity 1.0s ease 0s, -webkit-transform 1.0s ease 0s;
    transition: color 0.4s ease 0s, background-color 0.4s ease 0s, opacity 1.0s ease 0s, transform 1.0s ease 0s
  }

  .io.delay.delay4 {
    -webkit-transition: color 0.4s ease 0s, background-color 0.4s ease 0s, opacity 1.0s ease 0s, -webkit-transform 1.0s ease 0s;
    transition: color 0.4s ease 0s, background-color 0.4s ease 0s, opacity 1.0s ease 0s, transform 1.0s ease 0s
  }

  .io.delay .delay_child {
    -webkit-transition: color 0.4s ease 0s, background-color 0.4s ease 0s, opacity 1.0s ease 0.5s, -webkit-transform 1.0s ease 0.5s;
    transition: color 0.4s ease 0s, background-color 0.4s ease 0s, opacity 1.0s ease 0.5s, transform 1.0s ease 0.5s
  }

  .io.delay.delay1 .delay_child {
    -webkit-transition: color 0.4s ease 0s, background-color 0.4s ease 0s, opacity 1.0s ease 0.5s, -webkit-transform 1.0s ease 0.5s;
    transition: color 0.4s ease 0s, background-color 0.4s ease 0s, opacity 1.0s ease 0.5s, transform 1.0s ease 0.5s
  }

  .io.delay.delay2 .delay_child {
    -webkit-transition: color 0.4s ease 0s, background-color 0.4s ease 0s, opacity 1.0s ease 0.5s, -webkit-transform 1.0s ease 0.5s;
    transition: color 0.4s ease 0s, background-color 0.4s ease 0s, opacity 1.0s ease 0.5s, transform 1.0s ease 0.5s
  }

  .io.delay.delay3 .delay_child {
    -webkit-transition: color 0.4s ease 0s, background-color 0.4s ease 0s, opacity 1.0s ease 0.5s, -webkit-transform 1.0s ease 0.5s;
    transition: color 0.4s ease 0s, background-color 0.4s ease 0s, opacity 1.0s ease 0.5s, transform 1.0s ease 0.5s
  }

  .io.delay.delay4 .delay_child {
    -webkit-transition: color 0.4s ease 0s, background-color 0.4s ease 0s, opacity 1.0s ease 0.5s, -webkit-transform 1.0s ease 0.5s;
    transition: color 0.4s ease 0s, background-color 0.4s ease 0s, opacity 1.0s ease 0.5s, transform 1.0s ease 0.5s
  }
}

.sparkle_ani {
  position: relative;
  display: block;
  overflow: hidden
}

.sparkle_ani:before {
  content: '';
  position: absolute;
  display: inline-block;
  top: -180px;
  left: 0;
  width: 30px;
  height: 100%;
  background-color: #fff;
  animation: shiny__btn 4s ease-in-out infinite
}

@keyframes shiny__btn {
  0% {
    transform: scale(0) rotate(45deg);
    opacity: 0
  }

  80% {
    transform: scale(0) rotate(45deg);
    opacity: .3
  }

  81% {
    transform: scale(4) rotate(45deg);
    opacity: 1
  }

  100% {
    transform: scale(50) rotate(45deg);
    opacity: 0
  }
}

@-webkit-keyframes shiny__btn {
  0% {
    -webkit-transform: scale(0) rotate(45deg);
    opacity: 0
  }

  80% {
    -webkit-transform: scale(0) rotate(45deg);
    opacity: .3
  }

  81% {
    -webkit-transform: scale(4) rotate(45deg);
    opacity: 1
  }

  100% {
    -webkit-transform: scale(50) rotate(45deg);
    opacity: 0
  }
}

@-ms-keyframes shiny__btn {
  0% {
    -ms-transform: scale(0) rotate(45deg);
    opacity: 0
  }

  80% {
    -ms-transform: scale(0) rotate(45deg);
    opacity: .3
  }

  81% {
    -ms-transform: scale(4) rotate(45deg);
    opacity: 1
  }

  100% {
    -ms-transform: scale(50) rotate(45deg);
    opacity: 0
  }
}

#header {
  padding: 0;
  margin: 0;
  position: absolute;
  width: 100%;
  top: 0;
  z-index: 9999;
  background: #fff
}

.header-in-hp {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 98px;
  padding: 0 20px
}

.logo-hp {
  float: left;
  padding: 0 0 0 0;
  width: 184px;
  align-self: center
}

.logo-hp img {
  width: 100%;
  vertical-align: middle
}

.navigation {
  width: calc(100% - 184px);
  display: flex;
  align-items: center;
  flex-direction: column-reverse;
  align-items: flex-end
}

.dropdown-submenu {
  position: relative;
  padding: 5px 0
}

.dropdown-submenu a::after {
  transform: rotate(-90deg);
  position: absolute;
  right: 6px;
  top: .8em
}

.dropdown-submenu .dropdown-menu {
  top: 0;
  left: 100%;
  margin-left: .1rem;
  margin-right: .1rem
}

.navbar {
  padding: 0;
  position: static;
  align-items: center
}

.navbar-expand-lg .navbar-nav {
  display: flex;
  align-items: center
}

.navbar-nav .nav-item {
  font-weight: 400;
  font-size: 16px;
  line-height: 20px;
  display: inline-block;
  margin: 0 17px;
  vertical-align: middle;
  position: relative;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  letter-spacing: .64px
}

.navbar-nav .nav-link {
  color: #231815 !important;
  padding: 39px 0px !important;
  display: block;
  position: relative
}

.navbar-nav .nav-link.contact_hp {
  margin-left: 40px;
  background: #0095da;
  background: -moz-linear-gradient(-45deg, #0095da 0%, #0e2673 100%);
  background: -webkit-linear-gradient(-45deg, #0095da 0%, #0e2673 100%);
  background: #EC6800;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0095da', endColorstr='#0e2673', GradientType=1);
  color: #fff !important;
  padding: 12px 29px !important;
  font-weight: 500;
  font-size: 17px;
  line-height: 21px;
  font-family: "museo-sans", sans-serif;
  border-radius: 21px
}

.navbar-nav .nav-link.service-hp:hover {
  color: #fff !important;
  opacity: .7
}

.navbar-nav .nav-link.contact_hp:hover {
  color: #fff !important;
  opacity: .7
}

.navbar-nav .nav-link:before {
  content: '';
  position: absolute;
  background: #0E2673;
  height: 2px;
  width: 0%;
  left: 0%;
  bottom: 0;
  -webkit-transition: all 0.3s linear;
  -moz-transition: all 0.3s linear;
  -o-transition: all 0.3s linear;
  -ms-transition: all 0.3s linear;
  transition: all 0.3s linear
}

.navbar-nav .nav-link:hover {
  color: #0E2673 !important
}

.navbar-nav .nav-link:hover:before {
  left: 0;
  width: 100%
}

.navbar-nav .show .nav-link {
  color: #0E2673 !important
}

.navbar-nav .show .nav-link:before {
  left: 0;
  width: 100%
}

.navbar-nav .nav-link.active {
  color: #0E2673 !important
}

.navbar-nav .nav-link.active:before {
  left: 0;
  width: 100%
}

.navbar-nav .nav-link.service-hp:before {
  display: none
}

.navbar-nav .nav-link.contact_hp:before {
  display: none
}

.navbar-nav .dropdown-menu {
  border: 0;
  border-radius: 0;
  margin: 0;
  padding: 0;
  top: 76px;
  background: #fff;
  box-shadow: 0 10px 20px rgba(0, 0, 0, .16);
  width: 100%;
  left: 20px;
  display: block;
  opacity: 0;
  z-index: -1;
  height: 0;
  overflow: hidden;
  -webkit-transition: all 0.3s linear;
  -moz-transition: all 0.3s linear;
  -o-transition: all 0.3s linear;
  -ms-transition: all 0.3s linear;
  transition: all 0.3s linear;
  transform: translate(0, -10px)
}

.navbar-nav .dropdown-menu ul {
  padding: 15px 0
}

.navbar-nav .dropdown-menu ul li a {
  font-size: 16px;
  line-height: 16px;
  font-weight: 500;
  color: #2C2C2C;
  padding: 8px 10px 8px 20px;
  display: block
}

.navbar-nav .dropdown-menu ul li a:hover {
  background: none;
  color: #2C2C2C
}

.hide-desktop-hp {
  display: none !important
}

.header-right-hp {
  display: flex;
  align-items: center;
  padding-left: 8px;
  padding-top: 0
}

.contact-btn-main-hp {
  margin-left: 23px
}

.contact-btn-main-hp:first-child {
  margin-left: 0
}

.contact-btn-hp {
  background: #fff;
  border: 1px solid #fff;
  border-radius: 28px;
  font-size: 14px;
  line-height: 20px;
  font-weight: 700;
  color: #202931;
  display: block;
  min-width: 151px;
  text-align: center;
  padding: 9px
}

.contact-btn-hp:hover {
  color: #fff;
  background: none
}

.contact-btn-border-hp {
  background: none;
  color: #fff
}

.contact-btn-border-hp:hover {
  background: #fff;
  color: #202931
}

.mobile-menu-icon-hp {
  margin: 0;
  padding: 0;
  float: right;
  display: none;
  width: 50px;
  height: 50px;
  text-align: center;
  cursor: pointer
}

.menu-toggle-btn {
  margin: 20px 0 20px 0;
  cursor: pointer;
  width: 40px;
  height: 22px;
  padding: 0;
  position: relative;
  z-index: 999999999
}

.menu-toggle-btn span {
  background: #fff;
  display: block;
  width: 25px;
  height: 2px;
  border-radius: 0;
  margin-bottom: 8px;
  -webkit-transition: all 0.5s linear;
  transition: all 0.3s linear
}

.menu-toggle-btn span:last-child {
  margin-bottom: 0
}

.menu-toggle-btn span:nth-child(1) {
  width: 100%
}

.menu-toggle-btn span:nth-child(2) {
  width: 100%
}

.menu-toggle-btn span:nth-child(3) {
  width: 100%
}

.menu-toggle-btn.open span:nth-child(1),
.menu-toggle-btn.open span:nth-child(3) {
  transform: translate(0, 10px) rotate(-45deg) scalex(1.3);
  margin: 0;
  width: 100%
}

.menu-toggle-btn.open span:nth-child(2) {
  height: 0;
  margin: 0
}

.menu-toggle-btn.open span:nth-child(3) {
  transform: translate(0, 9px) rotate(45deg) scalex(1.3)
}

.overlay-mobile-menu-hp {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, .6);
  z-index: 999;
  opacity: 0;
  z-index: -11;
  -webkit-transition: all 0.3s linear;
  -moz-transition: all 0.3s linear;
  -o-transition: all 0.3s linear;
  -ms-transition: all 0.3s linear;
  transition: all 0.3s linear
}

.menu-text-hp {
  font-size: 10px;
  color: #fff;
  font-weight: 700;
  line-height: 7px;
  margin: 0 0 0 -5px;
  position: absolute;
  top: 25px
}

.mobile-contact-button a {
  display: block;
  position: fixed;
  right: 90px;
  bottom: 60px;
  width: 120px;
  background: #f68e00;
  padding: 38px 19px;
  text-align: center;
  color: #fff;
  height: 120px;
  box-sizing: border-box;
  border-radius: 200px;
  box-shadow: 5px 5px 10px 0 rgb(0 0 0 / 25%);
  font-weight: 400;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  letter-spacing: .56px
}

.header-absolute-hp {
  position: absolute;
  left: 53px;
  top: 50%;
  z-index: 3
}

.copyright-header-in-hp {
  font-size: 10px;
  line-height: 15px;
  color: #fff;
  text-transform: uppercase;
  transform: rotate(90deg);
  margin-left: -50px
}

.mobile_navigation_hp {
  display: none
}

.fix-header #header {
  position: fixed
}

#contain {
  margin: 0;
  padding: 98px 0 0 0
}

.banner_block_in_hp {
  padding: 0
}

.banner_middle_hp {
  background: url(../images/slider_back.png) no-repeat center center;
  background-size: cover;
  padding: 30px 50px 30px 0
}

.img-area {
  min-height: calc(100vh - 158px);
  height: 560px;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover
}

.img-area-mobile {
  display: none
}

.front-hero__counter {
  width: 30px;
  position: absolute;
  right: -40px;
  top: 50%;
  transform: translate(0, -50%)
}

.swiper-container {
  overflow: visible !important
}

.front-hero__counter .swiper-pagination {
  position: relative;
  bottom: 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: column
}

.front-hero__counter .swiper-pagination .swiper-pagination-current {
  color: #fff;
  font-family: "museo-sans", sans-serif;
  font-size: 16px;
  font-weight: 600;
  line-height: 16px;
  margin-top: 130px
}

.front-hero__counter .swiper-pagination .swiper-pagination-current.active01 {
  color: #fff
}

.front-hero__counter .swiper-pagination .swiper-pagination-current.active02 {
  color: #fff
}

.front-hero__counter .swiper-pagination .swiper-pagination-current.active03 {
  color: #fff
}

.front-hero__counter .swiper-pagination .swiper-pagination-current.active04 {
  color: #fff
}

.front-hero__counter .swiper-pagination .swiper-pagination-total {
  position: relative;
  color: #fff;
  font-family: "museo-sans", sans-serif;
  font-size: 16px;
  font-weight: 600;
  line-height: 16px
}

.front-hero__counter .bar {
  position: absolute;
  top: 78px;
  left: -44px;
  z-index: 1;
  height: 2px;
  background: #fff;
  width: 120px;
  transform: rotate(90deg)
}

.front-hero__counter .bar.active .bar-line {
  opacity: 0
}

.front-hero__counter .bar.animate .bar-line {
  opacity: 1;
  transform: scaleX(1);
  transition-duration: 4s
}

.front-hero__counter .bar.active01 .bar-line {
  background: #0095da
}

.front-hero__counter .bar.active02 .bar-line {
  background: #0095da
}

.front-hero__counter .bar.active03 .bar-line {
  background: #0095da
}

.front-hero__counter .bar.active04 .bar-line {
  background: #0095da
}

.front-hero__counter .bar-line {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  width: 100%;
  height: 2px;
  background: #0095da;
  transform: scaleX(0);
  transform-origin: 0 0;
  transition: 0.1s transform linear
}

.news_small_block_hp {
  margin-top: -45px;
  z-index: 11;
  position: relative
}

.news_small_block_in_hp {
  padding: 0
}

.news_small_middle_hp {
  max-width: 800px;
  width: 100%;
  background: #0095da;
  border-radius: 5px;
  float: right;
  padding: 12px 0 12px 0
}

.news_small_part_hp {
  display: flex;
  align-items: center
}

.news_small_title_hp {
  font-family: "museo-sans", sans-serif;
  font-size: 26px;
  line-height: 26px;
  color: #fff;
  letter-spacing: 1.04px;
  border-right: 1px solid rgba(255, 255, 255, .6);
  width: 115px;
  text-align: center;
  padding: 20px 0
}

.news_small_title_right_hp {
  width: calc(100% - 215px);
  display: flex;
  align-items: center;
  padding: 0 15px 0 23px
}

.news_small_title_right_hp h4 {
  white-space: nowrap;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-size: 13px;
  line-height: 22px;
  color: #fff;
  letter-spacing: .13px
}

.news_small_title_right_hp p {
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-size: 13px;
  line-height: 22px;
  color: #fff;
  letter-spacing: .13px;
  padding-left: 20px
}

.news_small_btn_hp a {
  min-width: 100px;
  background: #0095da;
  padding-left: 0;
  font-family: "museo-sans", sans-serif;
  font-size: 20px
}

.concept_block_hp {
  padding: 130px 0 117px 0
}

.concept_middle_hp {
  padding-top: 37px
}

.concept_info_hp {
  font-size: 16px;
  line-height: 40px;
  font-weight: 500;
  color: #000;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  letter-spacing: .64px;
  text-align: center
}

.concept_top_hp {
  padding-top: 40px
}

.concept_title_hp {
  font-size: 34px;
  line-height: 46px;
  color: #0E2673;
  letter-spacing: 1.7px;
  font-family: 'Helvetica LT Std BoldCond';
  text-align: center
}

.concept_img_hp {
  padding-top: 23px;
  text-align: center
}

.concept_img_hp img {
  width: 100%;
  max-width: 1070px
}

.concept_btn_hp {
  text-align: center;
  padding-top: 66px
}

.serivce_main_block_hp {
  border-top: 2px solid #0E2673;
  background: -moz-linear-gradient(-45deg, rgba(125, 185, 232, 0) 0%, rgba(127, 205, 240, .4) 100%);
  background: -webkit-linear-gradient(-45deg, rgba(125, 185, 232, 0) 0%, rgba(127, 205, 240, .4) 100%);
  background: linear-gradient(135deg, rgba(125, 185, 232, 0) 0%, rgba(127, 205, 240, .4) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#007db9e8', endColorstr='#7fcdf0', GradientType=1)
}

.service_block_hp {
  padding: 113px 0 23px 0
}

.operation_text_hp {
  text-align: center;
  padding: 0 0 0 0
}

.operation_text_in_hp {
  display: inline-block;
  border-top: 1px solid #0E2673;
  border-bottom: 1px solid #0E2673;
  padding: 12px 0;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-weight: 500;
  font-size: 15px;
  line-height: 24px;
  color: #0E2673;
  letter-spacing: .6px
}

.logo_block_hp {
  padding: 80px 0 0 0;
  border-bottom: 2px solid #0B4DA2
}

.logo_block_in_hp {
  padding: 0
}

.logo_img_box_hp {
  text-align: center
}

.logo_img_hp {
  text-align: center;
  padding-bottom: 20px
}

.logo_img_hp:last-child {
  padding-bottom: 0
}

.logo_img_hp img {
  max-width: 100%
}

.logo_img_text_hp img {
  height: 25px
}

.logo_middle_hp {
  display: flex;
  padding: 65px 0 0 0
}

.logo_left_hp {
  width: 55%
}

.logo_right_hp {
  width: 45%
}

.logo_right_hp img {
  width: 100%
}

.logo_left_in_hp {
  max-width: 606px;
  width: 100%;
  padding-right: 40px;
  float: right;
  position: relative;
  height: 100%;
  padding-bottom: 80px
}

.logo_btn_hp {
  position: absolute;
  left: 0;
  bottom: 0
}

.circle_box_sp .logo_btn_hp {
  position: static;
  left: inherit;
  bottom: inherit;
  margin: 20px 0 0
}

.initiative_box_cp .logo_btn_hp {
  position: static;
  left: inherit;
  bottom: inherit;
  margin: 20px 0 0
}

.history_box_cp .logo_btn_hp {
  position: static;
  left: inherit;
  bottom: inherit;
  margin: 30px 0 0 85px
}

.history .logo_btn_hp {
  position: static;
  left: inherit;
  bottom: inherit;
  margin: 40px auto 0;
  text-align: center
}

.history .logo_btn_hp a {
  color: #fff;
  text-decoration: none
}

.footer-links-in-hp-wrap {
  display: flex
}

@media (min-width:768px) and (max-width:991px) {
  .history_box_cp .logo_btn_hp {
    margin: 30px 0 0 45px
  }

  .footer-links-in-hp-wrap {
    display: block
  }

  .footer-links-in-hp-wrap .footer-links-in-hp+.footer-links-in-hp {
    margin-top: 10px
  }
}

@media (min-width:576px) and (max-width:767px) {
  .history_box_cp .logo_btn_hp {
    margin: 30px auto 0
  }
}

@media (min-width:0) and (max-width:575px) {
  .history_box_cp .logo_btn_hp {
    margin: 30px auto 0
  }
}

.initiative_box_cp .logo_btn_hp a {
  color: #fff;
  text-decoration: none
}

.linq-touch .logo_btn_hp {
  position: static;
  left: inherit;
  bottom: inherit;
  margin: 20px 0 0
}

.linq-touch .logo_btn_hp a {
  color: #fff;
  text-decoration: none
}

.logo_left_in_hp h2 {
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-size: 22px;
  line-height: 32px;
  color: #0095da;
  font-weight: 700;
  letter-spacing: 1.1px
}

.logo_left_in_hp p {
  padding: 30px 0 0 0;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-size: 14px;
  line-height: 30px;
  color: #000;
  letter-spacing: .56px
}

.logo_middle_reverse_hp {
  flex-direction: row-reverse
}

.logo_middle_reverse_hp .logo_left_in_hp {
  float: left;
  padding-left: 66px;
  padding-right: 0
}

.logo_middle_reverse_hp .logo_btn_hp {
  left: auto;
  right: 0
}

.logo_middle_2_hp {
  padding-top: 20px
}

.news_block_hp {
  padding: 137px 0 212px 0
}

.news_middle_hp {
  padding: 108px 0 0 0
}

.news_btn_hp {
  padding: 97px 0 0 0;
  text-align: center
}

.news_slider_hp {
  border-bottom: 1px solid #0B4DA2;
  position: relative
}

.news_slider_hp:before {
  content: '';
  position: absolute;
  left: 0;
  top: 6px;
  background: #0E2673;
  width: 100%;
  height: 1px
}

.news_box_hp {
  padding-bottom: 25px
}

.news_dot_hp {
  width: 13px;
  height: 13px;
  background: #0094D9;
  border-radius: 100%;
  margin: auto
}

.news_date_hp {
  text-align: center;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-size: 19px;
  line-height: 27px;
  color: #000;
  font-weight: 500;
  letter-spacing: 1.9px;
  padding-top: 12px
}

.news_info_hp {
  padding-top: 24px
}

.news_img_hp {
  position: relative;
  padding-top: 200px;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat
}

.news_tag_hp {
  position: absolute;
  left: 50%;
  top: 50%;
  background: rgba(0, 0, 0, .5);
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-size: 19px;
  line-height: 29px;
  color: #fff;
  font-weight: 500;
  letter-spacing: 1.9px;
  padding: 7px 25px;
  transform: translate(-50%, -50%)
}

.news_img_hp img {
  width: 100%;
  box-shadow: 0 0 10px rgba(205, 210, 226, .4)
}

.news_details_hp {
  padding: 21px 0 0 0
}

.news_event_hp {
  display: inline-block;
  font-family: "museo-sans", sans-serif;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 2.4px;
  color: #FFF;
  background: #0095DA;
  text-align: center;
  padding: 8px 20px;
  line-height: 1em;
  border-radius: 3px
}

.news_name_hp {
  margin: 20px 0 0 0;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-size: 15px;
  line-height: 27px;
  color: #000;
  letter-spacing: 1.5px;
  min-height: 75px
}

.news_press_hp {
  background: #00A29A
}

.news_news_hp {
  background: #0E2673
}

.owl-theme .owl-nav {
  margin: 0
}

.owl-carousel .owl-nav button.owl-prev {
  position: absolute;
  top: -50px;
  right: 56px;
  background: url(../images/slider_left_arrow.svg) no-repeat center left !Important;
  width: 41px;
  height: 26px;
  margin: 0;
  outline: none
}

.owl-carousel .owl-nav button.owl-prev span {
  display: none
}

.owl-carousel .owl-nav button.owl-next {
  position: absolute;
  top: -50px;
  right: 0;
  background: url(../images/slider_right_arrow.svg) no-repeat center left !Important;
  width: 41px;
  height: 26px;
  margin: 0;
  outline: none
}

.owl-carousel .owl-nav button.owl-next span {
  display: none
}

.owl-carousel .owl-nav button:hover {
  opacity: .7
}

.recruit_block_hp {
  background: url(../images/recruit_back.png) no-repeat center center;
  background-size: cover;
  padding-bottom: 78px
}

.recruit_middle_hp {
  text-align: center
}

.recruit_title_hp {
  background: rgba(0, 149, 218, .4);
  border-radius: 4px;
  display: inline-block;
  padding: 22px 134px;
  font-size: 42px;
  line-height: 42px;
  font-family: "museo-sans", sans-serif;
  letter-spacing: 2.18px;
  color: #0e2673
}

.recruit_details_hp {
  text-align: center;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-size: 14px;
  line-height: 30px;
  color: #0E2673;
  font-weight: 500;
  letter-spacing: 1.4px;
  padding: 52px 0 0 0
}

.recruit_btn_hp {
  text-align: center;
  padding-top: 66px
}

.back-to-top-hp {
  position: fixed;
  right: 0;
  bottom: 0;
  z-index: 99;
  display: none;
  width: 60px;
  height: 60px;
  line-height: 60px;
  text-align: center
}

.back-to-top-hp a {
  display: block;
  width: 100%;
  height: 100%;
  background: #0095DA;
  border-radius: 0;
  transform: rotate(-90deg)
}

.back-to-top-hp a:hover {
  opacity: .7
}

.back-to-top-hp a:before,
.back-to-top-hp a:after {
  content: "";
  background: #fff;
  -webkit-border-radius: 0;
  border-radius: 0;
  display: block;
  height: 1px;
  position: absolute;
  right: 16px;
  width: 26px
}

.back-to-top-hp a:before {
  top: 20px;
  right: 17px
}

.back-to-top-hp a:after {
  bottom: unset;
  -webkit-transform: rotate(-225deg);
  transform: rotate(-225deg);
  top: unset;
  top: 38px;
  right: 17px
}

.back-to-top-hp a:before {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg)
}

.back-to-top-hp img {
  width: 100%
}

#footer {
  margin: 0 0 0 0;
  background: #05226a
}

.footer-top-hp {
  border-bottom: 1px solid #fff;
  padding: 62px 0 32px 0
}

.footer-logo-hp {
  padding-bottom: 34px
}

.footer-logo-hp img {
  max-width: 184px;
  width: 100%
}

.footer-middle-hp {
  display: flex;
  justify-content: space-between
}

.footer_left_in_hp {
  display: flex
}

.footer_left_in_left_hp p {
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-size: 13px;
  line-height: 26px;
  color: #fff;
  font-weight: 400;
  letter-spacing: .65px
}

.footer_facebook_hp {
  padding: 17px 0 0 0
}

.footer_facebook_hp img {
  width: 28px
}

.footer_left_in_right_hp {
  padding-left: 52px
}

.footer_left_in_right_hp .blue_btn_hp {
  min-width: 201px;
  border-radius: 100px
}

.footer_logos_hp {
  padding: 22px 0 0 0;
  display: flex
}

.footer_logos_in_hp {
  margin-right: 20px
}

.footer_logos_in_hp img {
  max-height: 85px
}

.footer_right_hp {
  display: flex
}

.footer-links-in-hp {
  width: 180px
}

.footer-links-in-hp ul {
  margin-bottom: 0
}

.footer-links-in-hp ul li {
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-size: 13px;
  line-height: 32px;
  color: #fff;
  font-weight: 400;
  letter-spacing: .75px
}

.footer-links-in-hp ul li a {
  color: #fff
}

.footer-links-in-hp ul li a:hover {
  color: #fff;
  opacity: .7
}

.footer_logos_mobile_hp {
  display: none
}

.footer-bottom-hp {
  padding: 20px 0;
  background: #05226a
}

.footer-bottom-middle-hp {
  text-align: center
}

.footer-copyright-hp {
  font-family: "museo-sans", sans-serif;
  font-size: 10px;
  line-height: 10px;
  color: #fff;
  letter-spacing: .884px
}

.banner_middle_cp {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 180px
}

.banner_title_cp {
  font-size: 40px;
  line-height: 53px;
  font-weight: 700;
  color: #fff;
  letter-spacing: 4px;
  text-align: center
}

.company_block_in_cp {
  padding: 0
}

.company_middle_cp {
  position: relative
}

.company_left_cp {
  width: 220px;
  position: relative;
  padding-top: 309px;
  float: left;
  position: sticky;
  top: 0;
  max-height: 100vh;
  overflow: scroll;
  margin-right: -8px
}

.company_left_cp::-webkit-scrollbar {
  display: none
}

.company_link_cp {
  padding-right: 31px
}

.company_link_cp ul {
  margin: 0;
  padding: 0;
  text-align: right
}

.company_link_cp ul li {
  font-size: 13px;
  line-height: 18px;
  font-weight: 500;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  padding-bottom: 36px;
  letter-spacing: .39px
}

.company_link_cp ul li a {
  color: #0E2673;
  position: relative
}

.company_link_cp ul li a:after {
  content: '';
  position: absolute;
  right: -31px;
  top: 5px;
  background: #0094D9;
  width: 15px;
  height: 15px;
  border-radius: 100%;
  -webkit-transition: all 0.3s linear;
  -moz-transition: all 0.3s linear;
  -o-transition: all 0.3s linear;
  -ms-transition: all 0.3s linear;
  transition: all 0.3s linear
}

.company_link_cp ul li.active a:after {
  border: 2px solid #0094D9;
  background: #fff
}

.company_right_cp {
  width: calc(100% - 220px);
  display: inline-block;
  border-left: 1px solid #0E2673;
  float: left
}

.vision_box_cp {
  padding-top: 129px;
  padding-bottom: 129px
}

.vision_box_in_cp {
  padding: 96px 0 0 8px
}

.vision_padding_cp {
  padding-top: 65px
}

.vision_title_cp h2 {
  font-size: 108px;
  line-height: 108px;
  font-weight: 400;
  color: #b3e7ff;
  font-family: "museo-sans", sans-serif;
  letter-spacing: 5.4px
}

.vision_title_cp p {
  padding-left: 84px;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-size: 22px;
  line-height: 30px;
  font-weight: 700;
  color: #0E2673;
  letter-spacing: 1.1px
}

.vision_info_cp {
  max-width: 826px;
  width: 100%;
  margin: 0 0 0 159px;
  padding-top: 42px
}

.vision_info_cp p {
  font-size: 14px;
  line-height: 34px;
  font-weight: 400;
  color: #000;
  letter-spacing: .56px;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif
}

.vision_box_cp,
.historys_box_cp,
.outline_box_cp,
.bo_box_cp {
  padding: 0 0 226px 0;
  border-bottom: 2px solid #0E2673
}
.outline_box_cp {
  margin: 226px 0 0;
}
.outline_box_in_cp {
  max-width: 780px;
  margin: 69px auto 0;
}
@media (min-width: 0px) and (max-width: 575px){
  .outline_box_cp {margin: 80px 0 0;}
  .outline_box_in_cp {margin: 0 auto;}
}

.outline_row_cp {
  padding: 45px 0;
  border-top: 1px solid #898989;
  position: relative;
  display: flex;
  align-items: center
}

.outline_row_cp:after {
  content: '';
  position: absolute;
  left: 0;
  top: -2px;
  background: #0095da;
  width: 171px;
  height: 2px
}

.outline_row_cp:last-child {
  border-bottom: 1px solid #898989
}

.outline_row_cp:last-child:before {
  content: '';
  position: absolute;
  left: 0;
  bottom: -2px;
  background: #0095da;
  width: 180px;
  height: 2px
}

.outline_left_cp {
  width: 171px;
  text-align: center
}

.outline_left_title_cp {
  font-size: 16px;
  line-height: 21px;
  font-weight: 500;
  color: #000;
  letter-spacing: .64px;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif
}

.outline_right_cp {
  width: calc(100% - 171px);
  padding-left: 40px
}

.outline_right_title_cp {
  font-size: 15px;
  line-height: 20px;
  font-weight: 400;
  color: #000;
  letter-spacing: .6px;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif
}

.outline_right_title_cp img {
  margin-left: 15px
}

.officer_box_cp {
  padding: 137px 0 92px 0;
  border-bottom: 2px solid #0E2673
}

.officer_box_in_cp {
  padding-top: 81px
}

.officer_img_cp {
  text-align: center
}

.officer_img_cp img {
  max-width: 100%;
  box-shadow: 10px 10px 20px rgba(0, 148, 217, .15)
}

.officer_title_cp {
  padding-top: 27px;
  font-size: 18px;
  line-height: 24px;
  font-weight: 400;
  color: #0095da;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  letter-spacing: .72px
}

.officer_title_cp {
  padding: 0;
  max-width: 780px;
  width: 100%;
  margin: auto
}

.officer_info_cp {
  padding: 30px 0 99px 0;
  max-width: 780px;
  width: 100%;
  margin: auto
}

.officer_info_cp p {
  font-size: 13px;
  line-height: 32px;
  font-weight: 400;
  color: #000;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  letter-spacing: .52px
}

.officer_subinfo_cp {
  padding-bottom: 80px;
  max-width: 780px;
  width: 100%;
  margin: auto
}

.officer_subinfo_cp h4 {
  font-size: 18px;
  line-height: 24px;
  font-weight: 400;
  color: #0095da;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  letter-spacing: .72px
}

.officer_subinfo_cp p {
  font-size: 13px;
  line-height: 32px;
  font-weight: 400;
  color: #000;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  letter-spacing: .52px;
  padding-top: 38px
}

.history_box_cp {
  padding: 176px 0 204px 0
}

.history_box_in_cp {
  padding: 106px 161px 0 85px
}

.history_row_cp {
  border-top: 1px solid #898989;
  position: relative;
  display: flex;
  padding: 20px 0
}

.history_row_cp a {
  padding: 45px 0;
  display: flex;
  align-items: center
}

.history_row_cp:after {
  content: '';
  position: absolute;
  left: 0;
  top: -2px;
  background: #0095da;
  width: 180px;
  height: 2px
}

.history_row_cp:last-child {
  border-bottom: 1px solid #898989
}

.history_row_cp:last-child:before {
  content: '';
  position: absolute;
  left: 0;
  bottom: -2px;
  background: #0095da;
  width: 180px;
  height: 2px
}

.history_left_cp {
  width: 180px;
  text-align: center
}

.history_left_title_cp {
  font-size: 40px;
  line-height: 40px;
  font-weight: 400;
  color: #0095da;
  letter-spacing: 1.6px;
  font-family: "museo-sans", sans-serif;
}

.history_left_title_cp span {
  font-size: 30px;
  display: block
}

.history_right_cp {
  width: calc(100% - 180px);
  padding-left: 40px;
  position: relative
}

.history_right_title_cp {
  font-size: 14px;
  line-height: 19px;
  font-weight: 400;
  color: #000;
  letter-spacing: .56px;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  height: min-content
}

.breadcrumb {
  background: none;
  border-radius: 0;
  margin: 0;
  font-size: 13px;
  line-height: 18px;
  padding: 0 35px 35px 35px
}

.breadcrumb a {
  color: #727171;
  font-family: 'HelveticaNeue';
  letter-spacing: 1.3px;
  text-underline-offset: 4px
}

.breadcrumb a:hover {
  text-decoration: underline
}

.breadcrumb-item+.breadcrumb-item::before {
  content: '/';
  color: #727171;
  padding-right: 10px;
  font-family: 'HelveticaNeue';
  letter-spacing: 1.3px
}

.breadcrumb-item+.breadcrumb-item {
  padding-left: 10px;
  color: #727171;
  font-family: 'HelveticaNeue';
  letter-spacing: 1.3px
}

.healthcare-dx_title_cp {
  text-align: center
}

.definition_box_cp {
  padding: 86px 0 193px 82px
}

.difference_box_cp {
  padding: 86px 0 193px 82px
}

.process_box_cp {
  padding: 86px 0 193px 82px
}

.about-hdx_box_cp {
  padding: 86px 0 193px 82px
}

.definition-hdx_box_cp {
  padding: 86px 0 193px 82px
}

.possibility_box_cp {
  padding: 86px 0 193px 82px
}

.initiative_box_cp {
  padding: 86px 0 193px 82px
}

.healthcare-dx_link_cp ul li {
  font-size: 13px;
  line-height: 18px;
  font-weight: 500;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  padding-bottom: 36px;
  letter-spacing: .39px
}

.service_link_sp ul li a:after {
  top: 0
}

.service_right_sp {
  padding-top: 0
}

.service_right_title_sp {
  padding-top: 129px
}

.circle_box_sp {
  padding: 86px 0 193px 82px;
  border-bottom: 2px solid #0E2673
}

.circle_box_logo_sp {
  text-align: center
}

.circle_logo_sp {
  text-align: center;
  padding-bottom: 20px
}

.circle_logo_sp:last-child {
  margin-right: 0
}

.circle_logo_sp img {
  max-width: 100%
}

.circle_title_sp {
  max-width: 898px;
  padding-top: 44px
}

.circle_title_sp h3 {
  font-size: 22px;
  line-height: 30px;
  font-weight: 700;
  color: #0095da;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  letter-spacing: 1.1px
}

.circle_title_sp p {
  padding-top: 52px;
  font-size: 14px;
  line-height: 34px;
  font-weight: 400;
  color: #000;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  letter-spacing: .56px
}

.circle_title_sp li {
  padding-top: 0;
  font-size: 14px;
  line-height: 34px;
  font-weight: 400;
  color: #000;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  letter-spacing: .56px;
  text-indent: -1.7em;
  padding: 0 0 0 1.7em
}

.circle_row_sp p {
  padding-top: 0;
  font-size: 14px;
  line-height: 34px;
  font-weight: 400;
  color: #000;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  letter-spacing: .56px
}

.circle_info_sp {
  padding-top: 139px;
  font-size: 14px;
  line-height: 34px;
  font-weight: 500;
  color: #000;
  letter-spacing: .56px;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif
}

.circle_row_sp {
  display: flex;
  padding-top: 10px
}

.circle_left_sp {
  width: calc(100% - 546px);
  padding-right: 66px
}

.circle_left_title_sp {
  background: rgba(195, 225, 245, .5);
  border-radius: 2px;
  min-height: 190px;
  padding: 34px 37px;
  margin: 20px 0 0
}

.circle_left_title_in_sp {
  padding-bottom: 20px
}

.circle_left_title_in_sp:last-child {
  padding-bottom: 0
}

.circle_left_title_in_sp h3 {
  font-size: 16px;
  line-height: 36px;
  font-weight: 500;
  color: #0E2673;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  letter-spacing: .64px
}

.circle_left_title_in_sp p {
  padding-top: 0;
  font-size: 14px;
  line-height: 34px;
  font-weight: 400;
  color: #000;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  letter-spacing: .56px
}

.circle_right_sp {
  width: 546px
}

.circle_right_img_sp img {
  width: 100%
}

.palette_box_sp {
  padding: 115px 0 217px 82px
}

.palette_box_sp .circle_title_sp {
  padding-top: 74px
}

.palette_box_sp .circle_title_sp p {
  padding-top: 62px
}

.palette_box_sp .circle_info_sp {
  padding-top: 86px
}

.palette_box_sp .circle_row_sp {
  padding-top: 16px
}

.palette_box_sp .circle_left_sp {
  padding-right: 69px
}

.palette_box_sp .circle_left_title_sp {
  padding: 32px 15px 32px 29px;
  border-radius: 3px;
  min-height: 410px
}

.pad_box_sp {
  padding: 115px 0 135px 82px
}

.pad_box_sp .circle_title_sp {
  padding-top: 85px
}

.pad_box_sp .circle_title_sp p {
  padding-top: 36px
}

.pad_box_sp .circle_row_sp {
  padding-top: 20px
}

.pad_box_sp .circle_left_title_sp {
  padding: 39px 15px 32px 29px;
  border-radius: 4px;
  min-height: inherit
}

.touch_box_sp {
  padding: 139px 0 198px 82px
}

.touch_box_sp .circle_title_sp {
  padding-top: 66px
}

.touch_box_sp .circle_title_sp p {
  padding-top: 36px
}

.touch_box_sp .circle_row_sp {
  padding-top: 81px
}

.touch_box_sp .circle_left_title_sp {
  padding: 34px 16px 13px 29px;
  border-radius: 3px;
  min-height: 384px
}

.business_box_sp {
  padding: 165px 0 0 82px;
  border-bottom: none
}

.business_box_sp .circle_title_sp {
  padding-top: 0
}

.business_box_sp .circle_title_sp p {
  padding-top: 36px
}

.business_box_sp .circle_row_sp {
  padding-top: 20px
}

.business_box_sp .circle_left_title_sp {
  padding: 34px 29px;
  border-radius: 3px;
  min-height: 294px
}

.consulting_box_sp {
  padding: 115px 0 244px 82px;
  border-bottom: none
}

.consulting_box_sp .circle_title_sp {
  padding-top: 0
}

.consulting_box_sp .circle_title_sp>p {
  padding-top: 36px
}

.consulting_box_sp .circle_row_sp {
  padding-top: 51px;
  justify-content: end
}

.circle_row_ap p {
  padding-top: 0;
  font-size: 14px;
  line-height: 34px;
  font-weight: 400;
  color: #000;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  letter-spacing: .56px
}

.circle_info_ap {
  padding-top: 139px;
  font-size: 14px;
  line-height: 34px;
  font-weight: 500;
  color: #000;
  letter-spacing: .56px;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif
}

.circle_row_ap {
  display: inline-block;
  padding-top: 10px
}

.circle_left_ap {
  width: calc(100% - 546px);
  padding-right: 66px
}

.circle_left_title_ap {
  background: #fff;
  border-radius: 2px;
  min-height: 190px;
  padding: 34px 37px;
  margin: 20px 0 0
}

.circle_left_title_in_ap {
  padding-bottom: 20px
}

.circle_left_title_in_ap:last-child {
  padding-bottom: 0
}

.circle_left_title_in_ap h3 {
  font-size: 16px;
  line-height: 36px;
  font-weight: 500;
  color: #0E2673;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  letter-spacing: .64px
}

.circle_left_title_in_ap p {
  padding-top: 0;
  font-size: 14px;
  line-height: 34px;
  font-weight: 400;
  color: #000;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  letter-spacing: .56px
}

.circle_right_ap {
  width: 546px
}

.circle_right_img_ap img {
  width: 100%
}

.yougo_left_yp {
  padding-top: 294px
}

.yougo_left_yp .company_link_cp {
  padding-right: 32px
}

.yougo_left_yp .company_link_cp ul li {
  font-size: 13px;
  line-height: 18px;
  font-weight: 500;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  padding-bottom: 36px;
  letter-spacing: .39px
}

.yougo_left_yp .company_link_cp ul li a:after {
  right: -32px;
  top: 3px
}

.yougo_right_yp {
  padding: 117px 185px 307px 83px
}

.yougo_boxes_yp {
  background: rgba(195, 225, 245, .7);
  padding: 42px 40px 10px 41px;
  margin-top: 70px;
  display: flex;
  flex-flow: wrap;
  align-items: flex-start
}

.yougo_box_yp {
  width: calc(50% - 23px);
  background: #fff;
  margin: 0 45px 45px 0;
  padding: 37px 20px 19px 20px
}

.yougo_box_yp:nth-child(2n) {
  margin-right: 0
}

.yougo_box_in_yp {
  border-bottom: 2px solid #0E2673
}

.yougo_img_yp {
  width: 250px;
  margin: auto
}

.yougo_img_yp img {
  width: 100%
}

.yougo_title_yp {
  padding-top: 26px;
  min-height: 266px
}

.yougo_title_yp h3 {
  font-size: 20px;
  line-height: 27px;
  font-weight: 500;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  color: #0E2673;
  letter-spacing: .5px
}

.yougo_title_yp span {
  font-size: 16px
}

.yougo_title_yp p {
  font-size: 13px;
  line-height: 20px;
  font-weight: 400;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  color: #000;
  letter-spacing: .52px;
  padding-top: 23px
}

.yougo_btn_1_yp {
  text-align: right
}

.yougo_btn_yp {
  font-size: 19px;
  line-height: 19px;
  font-family: "museo-sans", sans-serif;
  font-weight: 400;
  color: #0E2673;
  letter-spacing: 1.6px;
  text-align: right;
  min-width: 169px;
  position: relative;
  display: inline-block;
  vertical-align: middle;
  padding: 11px 64px 17px 15px
}

.yougo_btn_yp img {
  margin: 0;
  max-width: 100%;
  float: right;
  vertical-align: middle;
  position: relative
}

.yougo_btn_yp:hover {
  color: #0E2673
}

.yougoButton__circle {
  border: 2px solid #0E2673;
  border-radius: 50%;
  display: block;
  height: 56px;
  position: absolute;
  right: 0;
  top: -9px;
  width: 56px;
  transform: scale(.6)
}

.yougoButton__circle__arc {
  height: 56px;
  left: -1px;
  position: absolute;
  top: -1px;
  transform: scaleX(-1) rotate(-90deg);
  transform-origin: center;
  width: 56px;
  z-index: 1
}

.yougoButton__circle__arc circle {
  stroke: #000;
  stroke-dasharray: 176px;
  stroke-dashoffset: 176px;
  transition: stroke-dashoffset .75s cubic-bezier(.19, 1, .22, 1);
  stroke: #0E2673
}

.yougoButton__circle__arrow {
  background-image: url(../images/btn_arrow_right.svg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 30px;
  height: 5px;
  left: calc(50% - 15px);
  position: absolute;
  top: calc(50% - 4px);
  width: 30px;
  z-index: 2;
  -webkit-transition: all 0.3s linear;
  -moz-transition: all 0.3s linear;
  -o-transition: all 0.3s linear;
  -ms-transition: all 0.3s linear;
  transition: all 0.3s linear
}

.yougoButton__circle__arc circle {
  stroke: #0E2673
}

.yougoButton__circle {
  color: #0E2673
}

.yougo_btn_yp:hover .yougoButton__circle__arc {
  transform: rotate(-90deg)
}

.yougo_btn_yp:hover .yougoButton__circle__arc circle {
  stroke-dashoffset: 0
}

.yougo_btn_yp:hover .yougoButton__circle__arrow {
  left: calc(50% + 12px)
}

.glossary_right_ygp {
  padding: 139px 163px 0 83px
}

.glossary_boxes_ygp {
  background: rgba(195, 225, 245, .7);
  padding: 42px 40px 47px 40px;
  margin: 70px 0 322px 0
}

.glossary_box_ygp {
  width: 100%;
  background: #fff;
  padding: 65px 65px 117px 67px
}

.glossary_img_ygp {
  width: 250px;
  margin: auto
}

.glossary_img_ygp img {
  width: 100%
}

.glossary_title_ygp {
  padding-top: 67px
}

.glossary_title_ygp h2 {
  text-align: center;
  font-family: 'Noto Sans JP', sans-serif;
  margin: 0 auto 60px
}

.glossary_title_ygp h3 {
  font-size: 20px;
  line-height: 29px;
  font-weight: 500;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  color: #0E2673;
  letter-spacing: .5px;
  margin: 0 auto 10px
}

.glossary_title_ygp p {
  font-size: 13px;
  line-height: 30px;
  font-weight: 400;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  color: #000;
  letter-spacing: .52px;
  padding-top: 0
}

.glossary_title_ygp p span {
  border-bottom: 2px solid #0094D9;
  text-decoration: none !important
}

.glossary_title_ygp ul {
  margin: 20px 0
}

.glossary_title_ygp li {
  font-size: 13px;
  line-height: 30px;
  font-weight: 400;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  color: #000;
  letter-spacing: .52px;
  padding-top: 5px
}

.glossary_title_ygp section {
  margin: 0 auto 30px
}

.glossary_title_ygp p.annotation {
  font-size: 70%;
  line-height: 1.75em;
  margin: 15px 0 0
}

.glossary_title_ygp blockquote {
  margin: 1em 0;
  font-style: italic
}

.yougo_left_yp2 {
  position: relative;
  overflow: visible
}

.yougo_left_yp2 .company_link_cp {
  padding-right: 0
}

.yougo_left_yp2 .company_link_cp ul li {
  padding-right: 31px
}

.yougo_left_yp2 .slick-list {
  padding: 0 !important
}

.yougo_left_yp2 .company_link_cp ul li a:after {
  border: 2px solid #0094D9;
  background: #fff
}

.yougo_left_yp2 .company_link_cp ul li.slick-current a:after {
  border: 2px solid #0094D9;
  background: #0094D9
}

.glossary_boxes_ygp .slick-prev {
  top: auto;
  bottom: 38px;
  right: 106px;
  left: auto;
  background: url(../images/left_arrow.svg) no-repeat center center;
  width: 41px;
  height: 27px;
  transform: none;
  z-index: 1
}

.glossary_boxes_ygp .slick-prev:before {
  display: none
}

.glossary_boxes_ygp .slick-next {
  top: auto;
  bottom: 38px;
  right: 40px;
  background: url(../images/right_arrow_new.svg) no-repeat center center;
  width: 41px;
  height: 27px;
  transform: none;
  z-index: 1
}

.glossary_boxes_ygp .slick-next:before {
  display: none
}

.recruit_middle_rp {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 305px
}

.recruit_title_rp {
  font-size: 40px;
  line-height: 53px;
  font-weight: 700;
  color: #fff;
  letter-spacing: 4px
}

.about_block_rp {
  padding: 96px 0 0 0
}

.about_block_in_rp {
  padding: 0
}

.about_top_rp {
  padding-top: 123px
}

.about_row_rp {
  display: flex
}

.about_row_img_rp {
  width: 50%;
  padding: 54px 0 0 0
}

.about_row_img_rp img {
  width: 100%
}

.about_row_right_rp {
  width: 50%;
  margin-left: -64px
}

.about_right_info_rp {
  max-width: 605px
}

.about_right_info_rp p {
  padding-bottom: 32px;
  font-size: 14px;
  line-height: 34px;
  font-weight: 400;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  color: #000;
  letter-spacing: .56px
}

.about_title_rp {
  text-align: center;
  padding-top: 128px;
  font-size: 14px;
  line-height: 20px;
  font-weight: 500;
  color: #0E2673;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  letter-spacing: .56px
}

.about_box_rp {
  background: #C3E1F5;
  max-width: 550px;
  padding: 42px 69px 41px 123px;
  margin: 25px auto 63px auto
}

.about_box_row_1_rp {
  display: flex;
  align-items: center;
  padding-bottom: 30px
}

.about_box_row_1_rp:last-child {
  padding-bottom: 0
}

.about_row_text_rp {
  background: url(../images/about1.png) no-repeat top center;
  width: 58px;
  height: 57px;
  display: flex;
  align-items: center;
  line-height: 40px;
  font-size: 40px;
  font-weight: 400;
  color: #0E2673;
  font-family: "museo-sans", sans-serif;
  justify-content: center
}

.about_row_title_rp {
  width: calc(100% - 58px);
  display: flex;
  align-items: end;
  padding-left: 8px
}

.about_row_title_rp h3 {
  font-size: 32px;
  line-height: 32px;
  font-weight: 400;
  font-family: "museo-sans", sans-serif;
  letter-spacing: 4.8px;
  padding-right: 5px;
  color: #0E2673
}

.about_row_title_rp p {
  font-size: 13px;
  line-height: 29px;
  font-weight: 500;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  color: #000;
  letter-spacing: .52px
}

.about_info_rp {
  max-width: 900px;
  margin: auto
}

.about_info_rp p {
  font-size: 14px;
  line-height: 34px;
  font-weight: 400;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  color: #000;
  letter-spacing: .56px
}

.about_row_1_rp {
  padding-top: 156px;
  display: flex
}

.about_row_left_rp {
  width: 50%;
  position: relative;
  z-index: 1
}

.about_grid_rp {
  background: #C3E1F5;
  max-width: 600px;
  padding: 65px 0 60px 0;
  margin: 0 -59px 0 auto
}

.about_grid_title_rp {
  text-align: center;
  font-size: 16px;
  line-height: 50px;
  font-weight: 500;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  color: #0E2673;
  letter-spacing: .64px
}

.about_left_info_rp {
  max-width: 600px;
  padding-top: 52px;
  margin: 0 -59px 0 auto
}

.about_left_info_rp p {
  font-size: 14px;
  line-height: 34px;
  font-weight: 400;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  color: #000;
  letter-spacing: .56px
}

.about_left_info_rp h3 {
  padding-top: 44px;
  font-size: 18px;
  line-height: 26px;
  font-weight: 400;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  color: #0E2673;
  letter-spacing: .72px
}

.about_bottom_rp {
  padding-top: 150px;
  max-width: 900px;
  margin: auto
}

.about_bottom_boxes_rp {
  padding-top: 105px
}

.about_bottom_box_rp {
  max-width: 780px;
  display: flex;
  align-items: center;
  margin-bottom: 91px;
  background: #e6e9f1;
  border-radius: 120px 8px 8px 120px
}

.about_bottom_box_rp:last-child {
  margin-bottom: 0
}

.about_box_img_rp {
  width: 230px;
  position: relative
}

.about_box_img_rp img {
  width: 100%
}

.about_box_grid_rp {
  width: calc(100% - 230px);
  padding-left: 29px;
  padding-right: 40px
}

.about_box_row_rp {
  display: flex;
  align-items: center;
  padding-bottom: 12px;
  position: relative;
  justify-content: space-between
}

.about_box_row_rp:after {
  content: '';
  position: absolute;
  height: 2px;
  width: 100%;
  left: 0;
  bottom: 0;
  background: #0E2673
}

.about_box_title_rp {
  font-size: 20px;
  line-height: 30px;
  font-weight: 500;
  color: #000;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  letter-spacing: .8px
}

.about_box_title_rp span {
  font-size: 15px;
  letter-spacing: .6px
}

.about_box_info_rp {
  color: rgba(14, 38, 115, .5);
  font-size: 24px;
  line-height: 24px;
  font-weight: 400;
  font-family: "museo-sans", sans-serif;
  letter-spacing: .96px
}

.about_box_subinfo_rp {
  padding-top: 28px;
  font-size: 13px;
  line-height: 30px;
  font-weight: 400;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  color: #000;
  letter-spacing: .52px
}

.about_bottom_box_2_rp {
  margin: 0 0 0 auto;
  margin-bottom: 91px;
  background: #e5f4fb
}

.about_bottom_box_2_rp .about_box_row_rp:after {
  background: #0095da
}

.about_bottom_box_2_rp .about_box_info_rp {
  color: rgba(0, 149, 218, .5)
}

.about_box_subinfo_mobile_rp {
  display: none
}

.about_bottom_row_rp {
  display: flex;
  padding-top: 233px
}

.about_bottom_row_img_rp {
  width: 50%
}

.about_bottom_row_img_rp img {
  width: 100%
}

.employ_block_rp {
  border-top: 1px solid #0E2673;
  padding-top: 168px
}

.employ_middle_rp {
  max-width: 900px;
  width: 100%;
  margin: auto
}

.employ_title_rp h3 {
  font-size: 24px;
  line-height: 35px;
  font-weight: 700;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  color: #0E2673;
  letter-spacing: 1.2px
}

.employ_title_rp p {
  padding-top: 33px;
  font-size: 14px;
  line-height: 34px;
  font-weight: 400;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  color: #000;
  letter-spacing: .56px
}

.employ_box_rp {
  background: #F7F8F8;
  margin: 47px 0 195px 0;
  padding: 41px 31px 46px 70px;
  border-radius: 8px;
}

.employ_box_title_rp {
  font-size: 20px;
  line-height: 30px;
  font-weight: 700;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  color: #0E2673;
  letter-spacing: 1px;
  padding-bottom: 48px
}

.employ_box_link_rp {
  padding: 0 0 0 42px
}

.employ_box_link_rp p {
  font-size: 14px;
  line-height: 22px;
  font-weight: 500;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  color: #0095da;
  letter-spacing: .56px;
  margin-bottom: 20px;
  border-bottom: 2px solid #0095da;
  display: inline-block
}

.employ_box_link_rp p a {
  color: #0095da
}

.normal_sec p,
.normal_sec li,
.normal_sec dt,
.normal_sec dd {
  font-size: 14px;
  line-height: 34px;
  font-weight: 400;
  color: #000;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  letter-spacing: .56px
}

.normal_sec li {
  padding: 0 0 0 1em;
  text-indent: -1em
}

.normal_sec .subtitle {
  text-align: center;
  font-size: 20px;
  line-height: 40px;
  margin: -40px auto 50px
}

.common_title_hp p.common_tittle_text {
  font-size: 14px;
  line-height: 34px;
  font-weight: 400;
  color: #000;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  letter-spacing: .56px;
  padding: 36px 12px 0 82px;
  text-align: left
}

.normal_sec a {
  color: #0095da;
  text-decoration: underline;
  font-size: 14px;
  line-height: 34px;
  font-weight: 400;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  letter-spacing: .56px;
  word-wrap: break-word
}

.normal_sec a:hover {
  color: #0095da;
  opacity: .7;
  text-decoration: underline;
  cursor: pointer
}

.normal_sec p.note_p {
  font-size: 12px
}

.privacy_and_policy,
.privacy_content {
  padding: 86px 160px 193px 82px;
  border-bottom: 2px solid #0E2673
}

.privacy_content {
  border-bottom: unset
}

.privacy_date {
  display: flex
}

.privacy_date_cap {
  width: 116px
}

.privacy_owner p {
  text-align: right;
  color: #0E2673;
  font-size: 18px
}

.normal_sec h2 {
  font-size: 20px;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-weight: 700;
  line-height: 1.5em;
  color: #0E2673;
  padding: 1.8em 0 1em
}

.normal_indent {
  padding-left: 74px
}

#initiative .normal_indent {
  padding-left: 0
}

.normal_indent1 {
  padding-left: 32px
}

.normal_sec table {
  font-size: 14px;
  line-height: 34px;
  font-weight: 400;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  letter-spacing: .56px;
  width: 100%
}

.pvc_table {
  padding-left: 40px
}

.pvc_table th {
  background-color: #C3E1F5;
  border-top: solid 2px #0095da;
  border-bottom: solid 2px #0095da;
  ;
  padding: 20px;
  text-align: left;
  font-weight: 400;
  width: 260px
}

.pvc_table td {
  border-top: 1px solid #898989;
  border-bottom: 1px solid #898989;
  padding: 20px 20px 20px 40px
}

.privacy_table {
  padding-left: 40px;
  font-size: 14px;
  line-height: 34px;
  font-weight: 400;
  color: #000;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  letter-spacing: .56px
}

.py_row {
  display: flex;
  min-height: 90px
}

.py_head {
  flex: 0 0 260px;
  background-color: #C3E1F5;
  border-top: solid 2px #0095da;
  padding: 20px;
  display: flex;
  align-items: center
}

.py_col {
  border-top: 1px solid #898989;
  padding: 20px 20px 20px 40px;
  flex: 1;
  display: flex;
  align-items: center
}

.py_row.last_row .py_head {
  border-bottom: solid 2px #0095da
}

.py_row.last_row .py_col {
  border-bottom: 1px solid #898989
}

.normal_sec p.dot_in {
  margin-left: 20px
}

.normal_sec p.dot_in span {
  margin-left: -20px
}

.normal_sec h3 {
  font-size: 16px;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  line-height: 1.5em;
  color: #3F5EB6;
  font-weight: 700;
  padding: 1.8em 0 1em
}

.normal_sec h2.number_in {
  margin-left: 24px
}

.normal_sec h2.number_in span {
  margin-left: -24px;
  width: 24px;
  display: inline-block
}

.normal_sec h3.number_in {
  margin-left: 40px
}

.normal_sec h3.number_in span {
  margin-left: -40px;
  width: 40px;
  display: inline-block
}

.normal_sec h4 {
  font-size: 16px;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  line-height: 1.5em;
  color: #000;
  padding: 1.8em 0 1em
}

.normal_grey {
  padding: 32px;
  background-color: #F7F8F8;
  margin: 1em 0
}

.personal_table .privacy_table {
  padding-left: 0;
  padding-right: 40px
}

.personal_table .py_row {
  min-height: 60px
}

.normal_quote {
  padding: 0 36px 0 74px
}

.normal_quote p.first-child {
  margin-left: -16px
}

.number_in1 span {
  margin-left: -16px
}

.normal_quote h3 {
  padding: .3em 0
}

.picture_names .picture_eng {
  font-size: 34px;
  line-height: 46px;
  color: #0E2673;
  letter-spacing: 1.7px;
  font-family: 'Helvetica LT Std BoldCond'
}

.picture_names {
  display: flex;
  flex-direction: column;
  align-items: center
}

.picture_names .picture_jp {
  font-size: 18px;
  line-height: 18px;
  font-weight: 400;
  color: #0E2673;
  font-family: "museo-sans", sans-serif;
  letter-spacing: 2.4px;
  padding-bottom: 10px;
  padding-top: 15px;
  border-bottom: solid 1px #0E2673;
  font-weight: 700
}

.normal_picture .picture_img {
  display: flex;
  justify-content: center
}

.dx_table {
  padding: 0 30px
}

.dx_table tr {
  border-top: solid 1px #898989;
  border-bottom: solid 1px #898989;
  border-left: solid 1px #898989;
}

.dx_table th {
  background-color: #0E2673;
  color: #fff;
  width: 200px;
  text-align: center;
  font-weight: 400
}

.dx_table td {
  padding: 30px
}

.plus_sep {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 1em 0
}

.normal_sec img {
  max-width: 100%;
  height: auto
}

.blog_sec {
  padding-top: 129px;
  max-width: 1400px;
  margin: auto
}

.blog_title {
  padding-bottom: 80px
}

.blog_content {
  padding-bottom: 176px
}

.normal_featured {
  display: flex;
  justify-content: center;
  align-items: center;
  padding-bottom: 40px
}

.normal_featured img {
  max-width: 500px
}

.blog_backnext {
  display: flex;
  justify-content: flex-end;
  padding: 40px
}

.blog_next {
  background: url(../images/right_arrow_new.svg) no-repeat center center;
  width: 41px;
  height: 27px;
  display: block;
  margin: 12px
}

.blog_prev {
  background: url(../images/left_arrow.svg) no-repeat center center;
  width: 41px;
  height: 27px;
  display: block;
  margin: 12px
}

.blogs_list {
  border-bottom: 1px solid #0B4DA2;
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap
}

.blogs_box {
  width: 31%;
  flex: 0 0 31%;
  background: rgba(195, 225, 245, .7);
  padding: 20px;
  margin-bottom: 40px;
  border-radius: 8px;
}

.blogs_box_autofill {
  width: 31%;
  flex: 0 0 31%
}

.blogs_img {
  position: relative;
  padding-top: 200px;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat
}

.blogs_date {
  text-align: center;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-size: 19px;
  line-height: 27px;
  color: #000;
  font-weight: 500;
  letter-spacing: 1.9px;
  padding-top: 12px
}

.blogs_info {
  padding-top: 24px
}

.blogs_detail {
  padding: 21px 0 0 0
}

.blogs_cat {
  display: inline-block;
  font-family: "museo-sans", sans-serif;
  font-size: 25px;
  font-weight: 500;
  letter-spacing: 2.4px;
  color: #FFF;
  background: #0095DA;
  text-align: center;
  padding: 9px 24px 4px 24px;
  line-height: 22px;
  border-radius: 3px
}

.blogs_title {
  margin: 20px 0 0 0;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-size: 15px;
  line-height: 27px;
  color: #000;
  letter-spacing: 1.5px;
  min-height: 75px
}

.blogs_pagination {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  margin-top: 40px
}

.blogs_pagination a {
  padding: 4px 6px;
  margin: 12px;
  display: inline-block;
  color: #0B4DA2;
  font-size: 16px;
  font-weight: 700;
  border-bottom: solid 1px transparent;
  cursor: pointer
}

.blogs_pagination a:hover {
  border-bottom: solid 1px #0B4DA2
}

.blogs_pagination a.active {
  border-bottom: solid 1px #0B4DA2
}

.blog_sec .blog_content p,
.blog_sec .blog_content li,
.blog_sec .blog_content dt,
.blog_sec .blog_content dd {
  font-size: 14px;
  line-height: 34px;
  font-weight: 400;
  color: #000;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  letter-spacing: .56px
}

.blog_sec h2 {
  font-size: 20px;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-weight: 700;
  line-height: 1.5em;
  color: #0E2673;
  padding: 1.8em 0 1em
}

.blog_sec h3 {
  font-size: 16px;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  line-height: 1.5em;
  color: #0095da;
  padding: 1.8em 0 1em
}

p {
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif
}

.recruit_middle_rp {
  min-height: 420px;
}

@media screen and (max-width: 768px) {
  .recruit_middle_rp {
    min-height: 30vh !important;
  }
}



.footer_box {
  margin-top: 40px;
  text-align: center;
}
#businessOverview .common_title_hp {
  margin: 129px 0 80px;
}
#businessOverview .bg_box {
  width: 780px;
  max-width: 90%;
  margin: auto;
  padding: 24px;
}
#businessOverview .bg_box h3 {
  margin-bottom: 4px;
  line-height: 200%;
  font-size: 18px;
  font-weight: bold;
  color: #2F4DA1;
}
#businessOverview .bg_box p {
  padding-left: 1em;
  line-height: 200%;
}
#businessOverview .bg_box p:not(:last-child) {margin-bottom: 24px;}

.historys_box_cp {margin: 120px 0 0;}
#history .outline_row_cp {padding: 28px 0;}
#history .outline_right_title_cp {font-size: 14px;}
#history .outline_left_title_cp {
  font-size: 16px;
  display: flex;
  justify-content: center;
  gap: 2px;
}
#history .outline_left_title_cp span {
  font-size: 14px;
  font-weight: normal;
}
@media screen and (max-width: 768px) {
  .historys_box_cp {
    margin: 0;
    padding: 80px 0;
  }
  #history .outline_left_title_cp {gap: 0;}

  .bo_box_cp {padding: 0 0 80px 0;}
  #businessOverview .common_title_hp {margin: 80px 0 56px;}

  .footer_box .common_btn_hp {max-width: 90%;}
}