@import"https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Outfit:wght@100..900&family=Saira:ital,wght@0,100..900;1,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: #141428;
  font-family: "Noto Sans JP", sans-serif;
  letter-spacing: .05em;
  text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%
}
a {
  color: #1e1e6e;
  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
}
#pageTitle {
  padding: 5rem 0 4rem;
  background: url(../img/common/title01.jpg) no-repeat bottom right/680px auto, #d5e1f8
}
#pageTitle--title br {
  display: none
}
#pageTitle p {
  font-size: 1.8rem;
  font-weight: 400;
  margin: 3rem auto 2rem 0;
  line-height: 31px;
  max-width: 74rem;
  width: 75%;
  text-shadow: 1px 1px 0 #d5e1f8, -1px -1px 0 #d5e1f8, -1px 1px 0 #d5e1f8, 1px -1px 0 #d5e1f8, 0px 1px 0 #d5e1f8, -1px 0 #d5e1f8, -1px 0 0 #d5e1f8, 1px 0 0 #d5e1f8
}
#FvNews {
  background: #fff;
  box-shadow: 0px 10px 10px 0px rgba(20, 20, 120, .1);
  border-radius: 2rem;
  padding: 1rem;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  max-width: 84rem;
  margin: 0 auto 5rem
}
#FvNews .FvNews__title {
  width: 12rem;
  text-align: center;
  color: #fff;
  font-family: "Outfit", sans-serif;
  font-size: 2rem;
  font-weight: 500;
  margin-right: 2rem;
  line-height: 5rem;
  background: #1e1e6e;
  border-radius: 1rem
}
#FvNews .c-newsLink {
  text-decoration: underline;
  text-align: center
}
.intoro__list {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: wrap
}
.intoro__item {
  width: calc(50% - 2rem);
  background: #fff;
  border: 1px solid #d8dffb;
  border-radius: 2rem;
  padding: 3rem;
  margin: 0 0 4rem;
  display: flex;
  justify-content: space-between;
  align-items: center
}
.intoro__item:nth-last-child(-n+2) {
  margin-bottom: 0
}
.intoro__img {
  border-radius: 1rem
}
.intoro__text {
  max-width: 29rem;
  width: calc(100% - 18rem)
}
.intoro__text dt {
  font-size: 2rem;
  font-weight: 400;
  font-weight: 500;
  color: #1e1e6e;
  margin-bottom: 1rem
}
.intoro__text dd p {
  padding-left: 1.5rem;
  margin-bottom: 1rem;
  line-height: 24px;
  position: relative
}
.intoro__text dd p:before {
  position: absolute;
  content: "";
  left: 0;
  background: #1e1e6e
}
.intoro__text dd p:before {
  width: .7rem;
  height: .7rem;
  top: 9px
}
.intoro__text dd p:last-child {
  margin-bottom: 0
}
.solution {
  padding: 8rem 0;
  position: relative
}
.solution::before {
  position: absolute;
  content: "";
  width: 375px;
  height: 60px;
  top: -3rem;
  left: 50%;
  transform: translateX(-50%);
  background: url(../img/top/solution01.png) no-repeat center/contain
}
.solution p {
  position: relative;
  z-index: 2;
  font-weight: 500 !important;
  text-align: center;
  line-height: 45px
}
.solution p:first-child {
  font-size: 2.4rem;
  font-weight: 400
}
.solution p:last-child {
  color: #1e1e6e;
  font-size: 3.2rem;
  font-weight: 400
}
.support__list {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  margin-bottom: 4rem
}
.support__item {
  width: calc(25% - 1.5rem);
  background: #fff;
  border: 1px solid #1e1e6e;
  border-radius: 2rem;
  padding: 0 1rem 1rem;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  position: relative
}
.support__item:before {
  position: absolute;
  content: "";
  left: 50%;
  transform: translateX(-50%);
  bottom: -15px;
  width: 24px;
  height: 16px;
  background: url(../img/top/support06.png) no-repeat center/contain
}
.support__number {
  position: relative;
  height: 7rem
}
.support__number:before {
  position: absolute;
  counter-increment: listnum;
  content: "0"counter(listnum);
  font-family: "Outfit", sans-serif;
  font-size: 3.5rem;
  line-height: 70px;
  font-weight: 500;
  color: #1e1e6e;
  top: 0;
  left: 50%;
  transform: translateX(-50%)
}
.support__title {
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 28px;
  width: calc(100% - 2rem);
  margin: 0 auto;
  flex-grow: 1
}
.support__text {
  background: #eaedfd;
  margin-top: 2rem;
  padding: 2rem;
  box-sizing: border-box;
  border-radius: 1rem
}
.support__text dt {
  color: #1e1e6e;
  margin-bottom: 1rem
}
.support__text dd p {
  padding-left: 1rem;
  margin-bottom: 1rem;
  line-height: 21px;
  position: relative
}
.support__text dd p:before {
  position: absolute;
  content: "";
  left: 0;
  background: #1e1e6e
}
.support__text dd p:before {
  width: .5rem;
  height: .5rem;
  top: 9px
}
.support__text dd p:last-child {
  margin-bottom: 0
}
.support .logo {
  max-width: 925px;
  width: 82.6%;
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  margin-top: 2rem
}
.support .logo__inner {
  width: calc(25% - 11.25px);
  border-radius: 1rem;
  box-sizing: border-box;
  overflow: hidden;
  background: #fff;
  border: 1px solid #1e1e6e
}
.support .logo__title {
  padding: 1.5rem 1rem;
  background: #1e1e6e
}
.support .logo__title img {
  display: block;
  margin: 0 auto
}
.support .logo__item {
  padding: 1rem 2rem
}
.support .logo__item ul li {
  border-bottom: 1px solid #dee4fd;
  padding-bottom: .5rem;
  margin-bottom: .5rem
}
.support .logo__item ul li:last-child {
  border: none;
  margin: 0;
  padding: 0
}
.support .logo__item ul li a {
  display: block;
  padding: 0 2rem;
  background: url(../img/common/link.png) no-repeat center right/18px
}
.support .logo__item ul li img {
  display: block;
  margin: 0 auto
}
.support .logo__item ul li.lg-logo {
  padding-bottom: 1rem;
  margin-top: 1rem
}
.support .logo__item--fbox {
  display: flex;
  justify-content: space-between;
  align-items: center
}
.support .logo__item--fbox p {
  width: calc(50% - .5rem)
}
.support .logo__item--fbox p:first-child {
  margin-right: 1rem;
  position: relative
}
.support .logo__item--fbox p:first-child:before {
  position: absolute;
  content: "";
  width: 1px;
  height: 100%;
  top: 0;
  right: -0.5rem;
  background: #dee4fd
}
.case__list {
  margin: 3rem auto;
  max-width: 100rem
}
.case__item {
  background: #fff;
  border-radius: 2rem;
  padding: 4rem;
  margin-bottom: 3rem;
  display: flex;
  justify-content: space-between;
  align-items: flex-start
}
.case__item:last-child {
  margin-bottom: 0
}
.case__img {
  border-radius: 1rem;
  max-width: 44rem;
  width: 48%
}
.case__contents {
  max-width: 44rem;
  width: 48%;
  margin-left: 2rem;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  height: 100%
}
.case__contents dl dt {
  color: #141428;
  font-size: 2rem;
  font-weight: 400;
  font-weight: 500;
  margin: 2rem auto
}
.case__contents dl dd {
  color: #4f4f5e;
  line-height: 24px;
  margin-bottom: 2rem;
  flex-grow: 1
}
.case__category {
  color: #1e1e6e;
  background: #eaedfd;
  text-align: center;
  padding: 0 1rem;
  line-height: 26px;
  font-weight: 500;
  display: inline-block;
  border-radius: 100rem
}
.term__wrap {
  background: url(../img/top/term01.png) no-repeat center right/auto 100%, #1e1e6e;
  border-radius: 2rem;
  color: #fff;
  padding: 4rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12rem
}
.term__item--left {
  max-width: 30rem;
  margin-left: 2rem
}
.term__item--left h3 {
  font-size: 3.2rem;
  font-weight: 400;
  font-weight: 500;
  margin-bottom: 2rem
}
.term__item--left p {
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 24px
}
.term__item--right {
  max-width: 59rem;
  margin-left: 2rem;
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: wrap
}
.term__item--right--contents {
  width: calc(50% - 2.5rem);
  background: #fff;
  margin-bottom: 5rem;
  border-radius: 2rem;
  padding: 2.5rem;
  position: relative
}
.term__item--right--contents:before {
  position: absolute;
  content: "";
  width: 25px;
  height: 50px;
  background: url(../img/top/term02.png) no-repeat center/contain
}
.term__item--right--contents:nth-last-child(-n+2) {
  margin-bottom: 0
}
.term__item--right--contents:first-child:before {
  top: 50%;
  right: -40px;
  transform: translateY(-50%)
}
.term__item--right--contents:nth-child(2):before {
  bottom: -50px;
  left: 50%;
  transform: translateX(-50%) rotate(90deg)
}
.term__item--right--contents:nth-child(3):before {
  top: -50px;
  left: 50%;
  transform: translateX(-50%) rotate(-90deg)
}
.term__item--right--contents:last-child:before {
  top: 50%;
  left: -40px;
  transform: translateY(-50%) rotate(180deg)
}
.term__item--right--contents dt {
  color: #1e1e6e;
  font-size: 2rem;
  font-weight: 400;
  font-weight: 500;
  text-align: center;
  margin-bottom: 1rem
}
.term__item--right--contents dd p {
  line-height: 24px;
  margin-bottom: 1rem;
  color: #141428
}
.term__item--right--contents dd p:first-child {
  font-weight: 500
}
.term__item--right--contents dd p:not(:first-child) {
  padding-left: 1rem;
  position: relative
}
.term__item--right--contents dd p:not(:first-child):before {
  position: absolute;
  content: "";
  left: 0;
  background: #1e1e6e
}
.term__item--right--contents dd p:not(:first-child):before {
  width: .5rem;
  height: .5rem;
  top: 9px
}
.term__item--right--contents dd p:not(:first-child):last-child {
  margin-bottom: 0
}
@media screen and (max-width: 960px) {
  #pageTitle {
    background: url(../img/common/title01.jpg) no-repeat bottom right/65% auto, #d5e1f8
  }
  #pageTitle--title br {
    display: block
  }
  #FvNews {
    display: block;
    padding: 2rem
  }
  #FvNews .FvNews__title {
    width: 100%;
    margin-bottom: 2rem
  }
  .intoro__list {
    display: block
  }
  .intoro__item {
    width: 100%;
    padding: 2rem;
    margin: 0 0 2rem !important
  }
  .intoro__item:last-child {
    margin-bottom: 0 !important
  }
  .intoro__text {
    max-width: calc(100% - 18rem);
    width: 100%
  }
  .term__wrap {
    background: #1e1e6e;
    padding: 2rem;
    display: block;
    position: relative;
    overflow: hidden
  }
  .term__wrap:before {
    position: absolute;
    content: "";
    width: 100%;
    height: 100%;
    right: -25%;
    top: 50%;
    transform: translateY(-50%);
    background: url(../img/top/term01-sp.png) no-repeat center right/cover
  }
  .term__item--left {
    max-width: 100%;
    margin: 0 auto 3rem;
    position: relative;
    z-index: 2
  }
  .term__item--right {
    max-width: 100%;
    margin: 0 auto;
    position: relative;
    z-index: 2
  }
}
@media screen and (max-width: 768px) {
  #pageTitle {
    background: url(../img/common/title02-sp.jpg) no-repeat bottom right/65% auto, #d5e1f8;
    padding: 4rem 0
  }
  #pageTitle--title {
    font-size: 3.2rem;
    line-height: 4rem
  }
  #pageTitle p {
    max-width: 100%;
    width: 100%;
    margin: 1.5rem auto
  }
  #pageTitle img {
    max-width: 30rem;
    width: 50%
  }
  .intoro__item {
    padding: 2rem;
    margin: 0 0 2rem !important;
    display: block
  }
  .intoro__item:last-of-type {
    margin-bottom: 0 !important
  }
  .intoro__img {
    display: none
  }
  .intoro__text {
    max-width: 100%;
    width: 100%
  }
  .intoro__text dt {
    position: relative;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    line-height: 32px
  }
  .intoro__text dt:before {
    content: "";
    padding-top: 90px;
    width: 90px;
    border-radius: 1rem;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    margin-right: 2rem
  }
  .intoro__text.item01 dt:before {
    background-image: url(../img/top/intoro01.png)
  }
  .intoro__text.item02 dt:before {
    background-image: url(../img/top/intoro02.png)
  }
  .intoro__text.item03 dt:before {
    background-image: url(../img/top/intoro03.png)
  }
  .intoro__text.item04 dt:before {
    background-image: url(../img/top/intoro04.png)
  }
  .solution {
    padding: 5rem 0
  }
  .solution::before {
    width: 200px;
    height: 32px;
    top: -1.6rem
  }
  .solution p {
    line-height: 36px
  }
  .solution p:first-child {
    font-size: 2rem
  }
  .solution p:last-child {
    font-size: 2.6rem
  }
  .case__item {
    padding: 2rem;
    display: block
  }
  .case__img {
    max-width: 100%;
    width: 100%
  }
  .case__contents {
    max-width: 100%;
    width: 100%;
    margin: 2rem auto 0;
    display: block;
    height: auto
  }
  .term__wrap {
    margin-bottom: 6rem
  }
  .term__wrap:before {
    right: 50%;
    top: auto;
    bottom: 0;
    transform: translate(50%, 50%);
    background: url(../img/top/term01-sp.png) no-repeat top center/cover
  }
  .term__item--left {
    margin: 0 auto 2.5rem
  }
  .term__item--left h3 {
    font-size: 2.6rem;
    margin-bottom: 1.5rem
  }
  .term__item--right--contents dd p:first-child {
    margin-bottom: .3rem
  }
}
@media screen and (max-width: 500px) {
  .term__item--right--contents {
    width: calc(50% - .75rem);
    margin-bottom: 1.5rem;
    padding: 1rem;
    border-radius: 1rem
  }
  .term__item--right--contents:before {
    width: 15px;
    height: 30px
  }
  .term__item--right--contents:first-child:before {
    right: -15px
  }
  .term__item--right--contents:nth-child(2):before {
    bottom: -23px
  }
  .term__item--right--contents:nth-child(3):before {
    top: -23px
  }
  .term__item--right--contents:last-child:before {
    left: -15px
  }
  .term__item--right--contents dt {
    font-size: 16px;
    line-height: 20px
  }
  .term__item--right--contents dd p {
    font-size: 13px;
    line-height: 20px;
    margin-bottom: 0
  }
}