﻿@import"https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap";
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  vertical-align: baseline;
  background: rgba(0, 0, 0, 0)
}
body {
  line-height: 1;
  margin: 0;
  font-feature-settings: "palt"
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block
}
nav ul {
  list-style: none
}
blockquote, q {
  quotes: none
}
blockquote:before, blockquote:after, q:before, q:after {
  content: "";
  content: none
}
a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: rgba(0, 0, 0, 0)
}
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none
}
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold
}
del {
  text-decoration: line-through
}
abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help
}
table {
  border-collapse: collapse;
  border-spacing: 0
}
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0
}
input, select {
  vertical-align: middle
}
li {
  list-style: none
}
*, *:before, *:after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box
}
body {
  color: #0d1b2a;
  font-family: sans-serif;
  letter-spacing: .05em;
  text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%
}
a {
  color: #249edc;
  cursor: pointer;
  outline: none;
  text-decoration: none;
  transition: .1s;
  word-wrap: break-word
}
@media screen and (min-width: 768px) {
  a[href^="tel:"] {
    color: inherit;
    pointer-events: none
  }
  a[href^="tel:"]:hover {
    opacity: 1
  }
}
a img {
  transition: .1s
}
@media(any-hover: hover) {
  a:hover {
    opacity: .7;
    text-decoration: none
  }
}
img {
  max-width: 100%;
  vertical-align: bottom;
  height: auto
}
figcaption {
  font-size: 14px;
  margin-top: 10px;
  text-align: center
}
address {
  font-style: normal;
  text-decoration: none
}
input, button, textarea, select {
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  vertical-align: middle
}
button {
  background-color: rgba(0, 0, 0, 0);
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0
}
input, textarea {
  background-color: rgba(0, 0, 0, 0);
  border: none;
  outline: none;
  padding: 0
}
select {
  cursor: pointer
}
select::-ms-expand {
  display: none
}
input[type=reset], input[type=submit], input[type=button] {
  appearance: button;
  border: none;
  border-radius: 0;
  cursor: pointer;
  transition: .2s
}
input[type=reset]:hover, input[type=submit]:hover, input[type=button]:hover {
  opacity: .7
}
input[type=reset]:focus, input[type=submit]:focus, input[type=button]:focus {
  outline-offset: -2px
}
input[type=reset]::-webkit-search-decoration, input[type=submit]::-webkit-search-decoration, input[type=button]::-webkit-search-decoration {
  display: none
}
sub {
  font-size: .75em;
  vertical-align: baseline
}
sup {
  font-size: .75em;
  vertical-align: text-top
}
.wrap {
  max-width: 1200px;
  width: calc(100% - 4rem);
  margin: 0 auto
}
.min-wrap {
  max-width: 1200px;
  width: calc(100% - 4rem);
  margin: 0 auto;
  max-width: 940px
}
@media screen and (max-width: 768px) {
  .bg--lbule, .bg--bule, .bg--nblue, .bg--gradation {
    padding: 6rem 0
  }
}
#subnav {
  background: #fff;
  width: 100%;
  border-top: 1px solid #e2e8f0;
  border-bottom: 1px solid #e2e8f0
}
#subnav .sp-menu {
  display: none
}
#subnav ul {
  display: flex;
  justify-content: center;
  align-items: center;
  font-family: "Noto Sans JP", sans-serif;
  font-style: normal;
  font-size: 1.6rem;
  font-size: clamp(15px, 1vw, 16px);
  font-weight: 700
}
#subnav ul li a {
  line-height: 4rem;
  text-align: center;
  color: #1b3a57;
  position: relative;
  padding: 2rem 0;
  display: inline-block
}
#subnav ul li a:before {
  position: absolute;
  content: "";
  width: calc(100% + 1rem);
  height: 6px;
  background: #1b3a57;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  opacity: 0;
  transition: .3s opacity
}
#subnav ul li a.current:before, #subnav ul li a:hover:before {
  opacity: 1
}
#subnav ul li a:hover {
  opacity: 1
}
#subnav ul li:not(:last-child) {
  margin: 0 2dvw 0 0
}
#subnav ul li .subnav--contact {
  background: #249edc;
  color: #fff;
  width: 19rem;
  border-radius: 100rem;
  display: block
}
#subnav ul li .subnav--contact:before {
  display: none
}
#subnav.h-fixed {
  position: fixed !important;
  animation-name: header-anim;
  animation-duration: .7s;
  animation-timing-function: ease-out;
  animation-fill-mode: forwards;
  top: 0;
  left: 0;
  z-index: 5
}
@keyframes header-anim {
  0% {
    margin-top: -100px
  }
  100% {
    margin-top: 0
  }
}
@media screen and (max-width: 1024px) {
  #subnav .sp-menu {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #5876aa;
    height: 5.6rem;
    padding: 0 3rem;
    font-family: "Noto Sans JP", sans-serif;
    font-style: normal;
    font-size: 1.6rem;
    font-weight: 700;
    color: #fff;
    cursor: pointer
  }
  #subnav .sp-menu .icon {
    display: inline-block;
    position: relative;
    flex-shrink: 0;
    width: 1.5rem;
    height: 1.5rem
  }
  #subnav .sp-menu .icon:before, #subnav .sp-menu .icon:after {
    position: absolute;
    content: "";
    background: #fff;
    top: 50%;
    left: 50%;
    transition: transform .3s, opacity .3s
  }
  #subnav .sp-menu .icon:before {
    width: 100%;
    height: 1px;
    transform: translate(-50%, -50%)
  }
  #subnav .sp-menu .icon:after {
    width: 1px;
    height: 100%;
    transform: translate(-50%, -50%)
  }
  #subnav ul {
    display: block;
    max-height: 0;
    overflow: hidden;
    transition: max-height .3s ease
  }
  #subnav ul li:not(:last-child) {
    margin: 0
  }
  #subnav ul li a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    line-height: normal;
    padding: 1.7rem 3rem;
    text-align: left;
    background: #fff;
    border-bottom: 1px solid #e2e8f0;
    font-weight: 500;
    font-size: 1.5rem
  }
  #subnav ul li a:before {
    display: none
  }
  #subnav ul li a:after {
    content: "";
    flex-shrink: 0;
    width: 8px;
    height: 8px;
    border-right: 2px solid #249edc;
    border-bottom: 2px solid #249edc;
    transform: rotate(45deg);
    margin-top: -4px
  }
  #subnav ul li .subnav--contact {
    background: #fff;
    color: #1b3a57;
    width: 100%;
    border-radius: 0
  }
  #subnav.is-open .sp-menu .icon:after {
    transform: translate(-50%, -50%) rotate(90deg);
    opacity: 0
  }
  #subnav.is-open ul {
    max-height: 100rem
  }
}
.blue-button {
  border-radius: 1rem;
  background: #249edc;
  box-shadow: 0 4px 12px 0 rgba(36, 158, 220, .35);
  line-height: 48px;
  padding: 0 1.5rem;
  border: 1px solid #249edc;
  box-sizing: border-box;
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-style: normal;
  font-size: 1.5rem;
  font-weight: 700;
  text-align: center;
  display: block;
  position: relative;
  transition: .3s all
}
.blue-button:before {
  position: absolute;
  content: "";
  right: 1.5rem;
  top: 50%;
  width: 8px;
  height: 8px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  transform: rotate(45deg) translateY(-50%);
  transition: .3s all
}
.blue-button:hover {
  opacity: 1;
  color: #249edc;
  background: #fff
}
.blue-button:hover:before {
  border-color: #249edc
}
.text-center {
  text-align: center !important
}
.text-left {
  text-align: left !important
}
.text-right {
  text-align: right !important
}
.clearfix:after {
  content: "";
  clear: both;
  display: block
}
.d-none {
  display: none !important
}
@media screen and (min-width: 1201px) {
  .sp-only {
    display: none !important
  }
}
@media screen and (max-width: 1200px) {
  .pc-only {
    display: none !important
  }
}
.mb0 {
  margin-bottom: 0px
}
.mt0 {
  margin-top: 0px
}
.mb10 {
  margin-bottom: 10px
}
.mt10 {
  margin-top: 10px
}
.mb20 {
  margin-bottom: 20px
}
.mt20 {
  margin-top: 20px
}
.mb30 {
  margin-bottom: 30px
}
.mt30 {
  margin-top: 30px
}
.mb40 {
  margin-bottom: 40px
}
.mt40 {
  margin-top: 40px
}
.mb50 {
  margin-bottom: 50px
}
.mt50 {
  margin-top: 50px
}
.mb60 {
  margin-bottom: 60px
}
.mt60 {
  margin-top: 60px
}
.mb70 {
  margin-bottom: 70px
}
.mt70 {
  margin-top: 70px
}
.mb80 {
  margin-bottom: 80px
}
.mt80 {
  margin-top: 80px
}
.mb90 {
  margin-bottom: 90px
}
.mt90 {
  margin-top: 90px
}
.mb100 {
  margin-bottom: 100px
}
.mt100 {
  margin-top: 100px
}
.mb110 {
  margin-bottom: 110px
}
.mt110 {
  margin-top: 110px
}
.mb120 {
  margin-bottom: 120px
}
.mt120 {
  margin-top: 120px
}
.mb130 {
  margin-bottom: 130px
}
.mt130 {
  margin-top: 130px
}
.mb140 {
  margin-bottom: 140px
}
.mt140 {
  margin-top: 140px
}
.mb150 {
  margin-bottom: 150px
}
.mt150 {
  margin-top: 150px
}
.mb160 {
  margin-bottom: 160px
}
.mt160 {
  margin-top: 160px
}
.mb170 {
  margin-bottom: 170px
}
.mt170 {
  margin-top: 170px
}
.mb180 {
  margin-bottom: 180px
}
.mt180 {
  margin-top: 180px
}
.mb190 {
  margin-bottom: 190px
}
.mt190 {
  margin-top: 190px
}
.mb200 {
  margin-bottom: 200px
}
.mt200 {
  margin-top: 200px
}
.mb210 {
  margin-bottom: 210px
}
.mt210 {
  margin-top: 210px
}
.mb220 {
  margin-bottom: 220px
}
.mt220 {
  margin-top: 220px
}
.mb230 {
  margin-bottom: 230px
}
.mt230 {
  margin-top: 230px
}
.mb240 {
  margin-bottom: 240px
}
.mt240 {
  margin-top: 240px
}
.mb250 {
  margin-bottom: 250px
}
.mt250 {
  margin-top: 250px
}
.mb260 {
  margin-bottom: 260px
}
.mt260 {
  margin-top: 260px
}
.mb270 {
  margin-bottom: 270px
}
.mt270 {
  margin-top: 270px
}
.mb280 {
  margin-bottom: 280px
}
.mt280 {
  margin-top: 280px
}
.mb290 {
  margin-bottom: 290px
}
.mt290 {
  margin-top: 290px
}
.mb300 {
  margin-bottom: 300px
}
.mt300 {
  margin-top: 300px
}
.mb310 {
  margin-bottom: 310px
}
.mt310 {
  margin-top: 310px
}
.mb320 {
  margin-bottom: 320px
}
.mt320 {
  margin-top: 320px
}
.mb330 {
  margin-bottom: 330px
}
.mt330 {
  margin-top: 330px
}
.mb340 {
  margin-bottom: 340px
}
.mt340 {
  margin-top: 340px
}
.mb350 {
  margin-bottom: 350px
}
.mt350 {
  margin-top: 350px
}
.mb360 {
  margin-bottom: 360px
}
.mt360 {
  margin-top: 360px
}
.mb370 {
  margin-bottom: 370px
}
.mt370 {
  margin-top: 370px
}
.mb380 {
  margin-bottom: 380px
}
.mt380 {
  margin-top: 380px
}
.mb390 {
  margin-bottom: 390px
}
.mt390 {
  margin-top: 390px
}
.mb400 {
  margin-bottom: 400px
}
.mt400 {
  margin-top: 400px
}
.mb410 {
  margin-bottom: 410px
}
.mt410 {
  margin-top: 410px
}
.mb420 {
  margin-bottom: 420px
}
.mt420 {
  margin-top: 420px
}
.mb430 {
  margin-bottom: 430px
}
.mt430 {
  margin-top: 430px
}
.mb440 {
  margin-bottom: 440px
}
.mt440 {
  margin-top: 440px
}
.mb450 {
  margin-bottom: 450px
}
.mt450 {
  margin-top: 450px
}
.mb460 {
  margin-bottom: 460px
}
.mt460 {
  margin-top: 460px
}
.mb470 {
  margin-bottom: 470px
}
.mt470 {
  margin-top: 470px
}
.mb480 {
  margin-bottom: 480px
}
.mt480 {
  margin-top: 480px
}
.mb490 {
  margin-bottom: 490px
}
.mt490 {
  margin-top: 490px
}
.mb500 {
  margin-bottom: 500px
}
.mt500 {
  margin-top: 500px
}
.mb510 {
  margin-bottom: 510px
}
.mt510 {
  margin-top: 510px
}
.mb520 {
  margin-bottom: 520px
}
.mt520 {
  margin-top: 520px
}
.mb530 {
  margin-bottom: 530px
}
.mt530 {
  margin-top: 530px
}
.mb540 {
  margin-bottom: 540px
}
.mt540 {
  margin-top: 540px
}
.mb550 {
  margin-bottom: 550px
}
.mt550 {
  margin-top: 550px
}
.mb560 {
  margin-bottom: 560px
}
.mt560 {
  margin-top: 560px
}
.mb570 {
  margin-bottom: 570px
}
.mt570 {
  margin-top: 570px
}
.mb580 {
  margin-bottom: 580px
}
.mt580 {
  margin-top: 580px
}
.mb590 {
  margin-bottom: 590px
}
.mt590 {
  margin-top: 590px
}
.mb600 {
  margin-bottom: 600px
}
.mt600 {
  margin-top: 600px
}
.mb610 {
  margin-bottom: 610px
}
.mt610 {
  margin-top: 610px
}
.mb620 {
  margin-bottom: 620px
}
.mt620 {
  margin-top: 620px
}
.mb630 {
  margin-bottom: 630px
}
.mt630 {
  margin-top: 630px
}
.mb640 {
  margin-bottom: 640px
}
.mt640 {
  margin-top: 640px
}
.mb650 {
  margin-bottom: 650px
}
.mt650 {
  margin-top: 650px
}
.mb660 {
  margin-bottom: 660px
}
.mt660 {
  margin-top: 660px
}
.mb670 {
  margin-bottom: 670px
}
.mt670 {
  margin-top: 670px
}
.mb680 {
  margin-bottom: 680px
}
.mt680 {
  margin-top: 680px
}
.mb690 {
  margin-bottom: 690px
}
.mt690 {
  margin-top: 690px
}
.mb700 {
  margin-bottom: 700px
}
.mt700 {
  margin-top: 700px
}
.mb710 {
  margin-bottom: 710px
}
.mt710 {
  margin-top: 710px
}
.mb720 {
  margin-bottom: 720px
}
.mt720 {
  margin-top: 720px
}
.mb730 {
  margin-bottom: 730px
}
.mt730 {
  margin-top: 730px
}
.mb740 {
  margin-bottom: 740px
}
.mt740 {
  margin-top: 740px
}
.mb750 {
  margin-bottom: 750px
}
.mt750 {
  margin-top: 750px
}
.mb760 {
  margin-bottom: 760px
}
.mt760 {
  margin-top: 760px
}
.mb770 {
  margin-bottom: 770px
}
.mt770 {
  margin-top: 770px
}
.mb780 {
  margin-bottom: 780px
}
.mt780 {
  margin-top: 780px
}
.mb790 {
  margin-bottom: 790px
}
.mt790 {
  margin-top: 790px
}
.mb800 {
  margin-bottom: 800px
}
.mt800 {
  margin-top: 800px
}
.mb810 {
  margin-bottom: 810px
}
.mt810 {
  margin-top: 810px
}
.mb820 {
  margin-bottom: 820px
}
.mt820 {
  margin-top: 820px
}
.mb830 {
  margin-bottom: 830px
}
.mt830 {
  margin-top: 830px
}
.mb840 {
  margin-bottom: 840px
}
.mt840 {
  margin-top: 840px
}
.mb850 {
  margin-bottom: 850px
}
.mt850 {
  margin-top: 850px
}
.mb860 {
  margin-bottom: 860px
}
.mt860 {
  margin-top: 860px
}
.mb870 {
  margin-bottom: 870px
}
.mt870 {
  margin-top: 870px
}
.mb880 {
  margin-bottom: 880px
}
.mt880 {
  margin-top: 880px
}
.mb890 {
  margin-bottom: 890px
}
.mt890 {
  margin-top: 890px
}
.mb900 {
  margin-bottom: 900px
}
.mt900 {
  margin-top: 900px
}
.mb910 {
  margin-bottom: 910px
}
.mt910 {
  margin-top: 910px
}
.mb920 {
  margin-bottom: 920px
}
.mt920 {
  margin-top: 920px
}
.mb930 {
  margin-bottom: 930px
}
.mt930 {
  margin-top: 930px
}
.mb940 {
  margin-bottom: 940px
}
.mt940 {
  margin-top: 940px
}
.mb950 {
  margin-bottom: 950px
}
.mt950 {
  margin-top: 950px
}
.mb960 {
  margin-bottom: 960px
}
.mt960 {
  margin-top: 960px
}
.mb970 {
  margin-bottom: 970px
}
.mt970 {
  margin-top: 970px
}
.mb980 {
  margin-bottom: 980px
}
.mt980 {
  margin-top: 980px
}
.mb990 {
  margin-bottom: 990px
}
.mt990 {
  margin-top: 990px
}
.pb0 {
  padding-bottom: 0px
}
.pt0 {
  padding-top: 0px
}
.pb10 {
  padding-bottom: 10px
}
.pt10 {
  padding-top: 10px
}
.pb20 {
  padding-bottom: 20px
}
.pt20 {
  padding-top: 20px
}
.pb30 {
  padding-bottom: 30px
}
.pt30 {
  padding-top: 30px
}
.pb40 {
  padding-bottom: 40px
}
.pt40 {
  padding-top: 40px
}
.pb50 {
  padding-bottom: 50px
}
.pt50 {
  padding-top: 50px
}
.commonTitle {
  font-size: 3.2rem;
  font-weight: 500;
  margin-bottom: 3rem
}
.commonTitle.center {
  text-align: center
}
.l-header {
  position: absolute !important
}
.cmn-sec-2 {
  margin-bottom: 0 !important
}
ol {
  counter-reset: listnum;
  list-style: none
}
.nttd-arrow-up:before {
  content: "↑";
  font-size: 20px;
  font-family: "Saira", sans-serif;
  font-style: normal;
  padding: .5rem 0 .5rem;
  display: block
}
.spbr {
  display: none
}
@media screen and (max-width: 768px) {
  .spbr {
    display: block
  }
}