@charset "UTF-8";
/*----------------------------------------------------
 Reset
----------------------------------------------------*/
*,
*::before,
*::after {
  box-sizing: border-box;
}

ul[class], ol[class] {
  padding: 0;
}

body, h1, h2, h3, h4, p, ul[class], ol[class], li, figure, figcaption, blockquote, dl, dd {
  margin: 0;
}

body {
  min-height: 100vh;
  scroll-behavior: smooth;
  line-height: 1.7;
  -webkit-text-size-adjust: 100%;
}

ul[class], ol[class] {
  list-style: none;
}

img {
  max-width: 100%;
  display: block;
  /* 縮小時でもエッジをなるべく維持する設定 */
  image-rendering: -webkit-optimize-contrast; 
  image-rendering: high-quality;
}

input, button, textarea, select {
  font: inherit;
}

/*----------------------------------------------------
 animation
----------------------------------------------------*/
.effect-bounceIn, .effect-bounceInLeft, .effect-bounceInRight, .effect-bounceInDown, .effect-bounceInUp,
.effect-fadeIn, .effect-fadeInLeft, .effect-fadeInRight, .effect-fadeInDown, .effect-fadeInUp, .effect-fadeInUpDelay,
.effect-zoomInUp, .effect-zoomInDown, .effect-zoomIn {
    visibility: hidden;
}
.animate__animated { visibility: visible; }
/*----------------------------------------------------
  Component
----------------------------------------------------*/
/* clearfix */
.editor,
.clearfix {
  clear: both;
  zoom: 1;
}

.editor::after,
.clearfix::after {
  content: " ";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}

/* rollover */
.rollover {
  animation: horizontalY 1s ease-in-out infinite alternate;
          transition: all 1s;
  -webkit-transition: all 1s;
}

.rollover:hover {
  animation: horizontalY 0.5s ease-in-out infinite alternate;
          transition: all 0.5s;
  -webkit-transition: all 0.5s;
  filter: alpha(opacity=70);
  opacity: 0.7;
}

/* innerlink */
@media (min-width: 940px) {
  .innerlink {
    display: block;
    height: 1px;
    position: relative;
    top: -120px;
  }
}

/* pc/sp */
.pc {
  display: none;
}

.pc-i {
  display: none;
}

.sp {
  display: block;
}

.sp-i {
  display: inline;
}

@media (min-width: 940px) {
  .pc {
    display: block;
  }

  .pc-i {
    display: inline;
  }

  .sp,
  .sp-i {
    display: none;
  }
}

.min {
  font-family: "游明朝",YuMincho,"Yu Mincho","ヒラギノ明朝 ProN","Hiragino Mincho ProN","HG明朝E","ＭＳ Ｐ明朝","MS PMincho","ＭＳ 明朝","MS Mincho",serif;
}

.text-indent {
  text-indent: -1em;
  margin-left: 1em;
}
/*----------------------------------------------------
 a
----------------------------------------------------*/
a {
  color: inherit;
  text-decoration: inherit;
}

.textlink a {
  color: #172b53;
  text-decoration: underline;
}
/*----------------------------------------------------
 font
----------------------------------------------------*/
body {
  background: #f4fafe;
  font-family:"メイリオ",Meiryo,Meiryo UI,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","Osaka","Osaka－等幅","Osaka-Mono",Arial,Verdana,"ＭＳ Ｐゴシック",sans-serif;
  font-size: .875rem;
  word-break: break-all;
}

@media (min-width: 940px) {
  body {
    font-size: 1rem;
    overflow-x: hidden;
  }
}

[lang="en"] {
  font-family: "engfont-i",serif;
}

/*----------------------------------------------------
 header
----------------------------------------------------*/
.header {
  background: rgba(255, 255, 255, .9);
  background: #e8f3fc;
  padding: 2.67vw 0;
}
.header img {
  margin-left: auto;
  margin-right: auto;
  width: 63.2vw;
}

@media (min-width: 750px) {
  .header {
    padding: min(22px, 1.72vw) min(35px, 2.73vw);
  }
  .header-logo {
    margin: 0 auto;
    max-width: 1920px;
  }
  .header img {
    margin-left: 0;
    width: min(384px, 30vw);
  }
}

/*----------------------------------------------------
 main-visual
----------------------------------------------------*/
.main-visual img {
  width: 100%;
}

/*----------------------------------------------------
 about
----------------------------------------------------*/
.about {
  padding: 8vw 0 6.67vw;
}
.about img {
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 750px) {
  .about {
    padding: min(50px, 3.91vw) 0;
  }
  .about img {
    width: min(1130px, 88.28vw);
  }
}

/*----------------------------------------------------
 match
----------------------------------------------------*/
.match {
  background: #fff;
  padding: 9.33vw 0 12.67vw;
}
.match img {
  margin-left: auto;
  margin-right: auto;
}

@media (min-width: 750px) {
  .match {
    padding-top: min(45px, 3.52vw);
    padding-bottom: min(70px, 5.47vw);
  }
  .match img {
    width: min(1133px, 88.52vw);
  }
}

/*----------------------------------------------------
 three-system
----------------------------------------------------*/
.three-system {
  background: #dbf0fb;
  padding: 13.33vw 0;
}
.three-system img {
  margin-left: auto;
  margin-right: auto;
}
/* title */
.three-system-title {
  margin-bottom: 4vw;
}
/* list */
.three-system-lsit {
  margin: 0 auto;
  width: 79.47vw;
}
.three-system-each:nth-child(n+2) {
  margin-top: 6.67vw;
}
.three-system-each-title {
  margin-bottom: 4.67vw;
}
/* body */
.three-system-each-body {
  background: #fff;
  border-top-width: 2.8vw;
  border-top-style: solid;
  padding-top: 8vw;
  padding-bottom: 4.4vw;
}
.three-system-each:nth-child(1) .three-system-each-body {
  border-top-color: #3b9c38;
}
.three-system-each:nth-child(2) .three-system-each-body {
  border-top-color: #3884d9;
}
.three-system-each:nth-child(3) .three-system-each-body {
  border-top-color: #eb891a;
}
/* main */
.three-system-each-main {
  margin: 0 auto 11.33vw;
  width: 70.67vw;
}
/* link */
.three-system-each-link {
  margin: 0 auto;
  width: 70.67vw;
}
.three-system-each-link a {
  display: block;
  padding: 7.33vw 0;
}
.three-system-each-link a img {
  width: 51.33vw;
}
.three-system-each:nth-child(1) .three-system-each-link a {
  background: #3b9c38;
}
.three-system-each:nth-child(2) .three-system-each-link a {
  background: #3884d9;
}
.three-system-each:nth-child(3) .three-system-each-link a {
  background: #eb891a;
}
@media (min-width: 750px) {
  .three-system {
    padding: min(80px, 6.25vw) 0;
  }
  /* title */
  .three-system-title {
    margin-bottom: min(35px, 2.73vw);
  }
  /* list */
  .three-system-lsit {
    align-items: center;
    display: flex;
    justify-content: space-between;
    width: min(1100px, 85.94vw);
  }
  .three-system-each {
    width: 31.4%;
  }
  .three-system-each:nth-child(n+2) {
    margin-top: 0;
  }
  .three-system-each-title {
    margin-bottom: min(22px, 1.72vw);
  }
  /* body */
  .three-system-each-body {
    border-top-width: min(12.5px, 0.98vw);
    padding-top: min(32px, 2.5vw);
    padding-bottom: min(16px, 1.25vw);
  }
  /* main */
  .three-system-each-main {
    margin-bottom: min(42px, 3.28vw);
    width: 89.3%;
  }
  /* link */
  .three-system-each-link {
    width: 89.3%;
  }
  .three-system-each-link a {
    padding: min(27px, 2.11vw) 0;
  }
  .three-system-each-link a img {
    width: 73.4%;
  }
}

/*----------------------------------------------------
 diff-flow
----------------------------------------------------*/
.diff-flow {
  padding: 8vw 0 15.33vw;
}
.diff-flow img {
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 750px) {
  .diff-flow {
    padding-top: min(50px, 3.91vw);
    padding-bottom: min(70px, 5.47vw);
  }
  .diff-flow img {
    width: min(1142px, 89.22vw);
  }
}


/*----------------------------------------------------
 diff
----------------------------------------------------*/
.diff {
  margin-bottom: 2.67vw;
}
@media (min-width: 750px) {
  .diff {
    margin-bottom: min(30px, 2.34vw);
  }
}

/*----------------------------------------------------
 faq
----------------------------------------------------*/
.faq {
  background: #dbf0fb;
  box-shadow: 0px 10px 10px 0px rgba(128, 128, 128, .1);
  padding: 12.67vw 0 13.33vw;
  position: relative;
}
/* title */
.faq-title {
  margin-bottom: 6.67vw;
}
.faq-title img {
  margin: 0 auto;
  width: 48.13vw;
}
/* list */
.faq-list {
  margin: 0 auto;
  width: 82.67vw;
}
.faq-each {
  background: #ffff;
  padding: 5.33vw;
}
.faq-each:nth-child(n+2) {
  margin-top: 4vw;
}
/* q */
.faq-q {
  align-items: flex-start;
  display: flex;
  justify-content: space-between;
}
.faq-q-icon {
  width: 7.47vw;
}
.faq-q-text {
  flex-grow: 100;
  flex-shrink: 100;
  padding-left: .75em;
  padding-right: .75em;
  font-size: 3.47vw;
}
.faq-q-arrow {
  width: 5.47vw;
}
/* a */
.faq-a {
  border-top: 1px solid #000;
  margin-top: 2vw;
  padding-top: 2vw;
}
.faq-a-icon {
  margin-bottom: 2vw;
  width: 7.47vw;
}
.faq-a-cat {
  align-items: flex-start;
  color: #fff;
  display: flex;
  font-size: 2.93vw;
  justify-content: space-between;
  margin-bottom: .5em;
}
.faq-a-cat span {
  display: block;
  line-height: 1;
  padding: .6em 0 .4em;
  text-align: center;
  width: 48.7%;
}
.faq-a-cat-b {
  background: #3884d9;
}
.faq-a-cat-o {
  background: #eb891a;
}
.faq-a-cat-g {
  background: #3b9c38;
}
.faq-a-main-each:nth-child(n+2) {
  margin-top: 5.33vw;
}
.faq-a p {
  font-size: 3.47vw;
}


@media (min-width: 750px) {
  .faq {
    padding: min(54px, 4.22vw) 0 min(75px, 5.86vw);
  }
  /* title */
  .faq-title {
    margin-bottom: min(45px, 3.52vw);
  }
  .faq-title img {
    width: min(316px, 24.69vw);
  }
  /* list */
  .faq-list {
    width: min(1100px, 85.94vw);
  }
  .faq-each {
    padding: min(30px, 2.34vw) min(50px, 3.91vw);
  }
  .faq-each:nth-child(n+2) {
    margin-top: min(20px, 1.56vw);
  }
  /* q */
  .faq-q {
    align-items: center;
  }
  .faq-q-icon {
    width: min(35px, 2.73vw);
  }
  .faq-q-text {
    font-size: min(24px, 1.88vw);
  }
  .faq-q-arrow {
    width: min(24px, 1.88vw);
  }
  /* a */
  .faq-a {
    align-items: flex-start;
    display: flex;
    justify-content: flex-start;
    margin-top: min(13px, 1.02vw);
    padding-top: min(18px, 1.41vw);
  }
  .faq-a-icon {
    margin-bottom: 0;
    width: min(35px, 2.73vw);
  }
  .faq-a-main {
    flex-grow: 100;
    flex-shrink: 100;
    padding-left: 1em;
  }
  .faq-a-cat {
    font-size: min(13.5px, 1.05vw);
    justify-content: flex-start;
    margin-bottom: .75em;
  }
  .faq-a-cat span {
    padding: .6em 0 .4em;
    width: 21.2%;
  }
  .faq-a-cat span:nth-child(n+2) {
    margin-left: min(10px, 0.78vw);
  }
  .faq-a-main-each:nth-child(n+2) {
    margin-top: min(22px, 1.72vw);
  }
  .faq-a p {
    font-size: min(15px, 1.17vw);
  }
}

/*----------------------------------------------------
 footer
----------------------------------------------------*/
.footer {
  background: #fff;
  padding-top: 6.67vw;
}
/* logo */
.footer-logo {
  margin-bottom: 3.33vw;
}
.footer-logo img {
  margin: 0 auto;
  width: 31.47vw;
}
/* name */
.footer-name {
  margin-bottom: 5vw;
}
.footer-name img {
  margin: 0 auto;
  width: 70.13vw;
}
/* links */
.footer-links {
  margin-bottom: 4vw;
}
.footer-links ul {
  align-items: center;
  display: flex;
  justify-content: center;
}
.footer-links ul li:nth-child(n+2) {
  margin-left: 4.27vw;
}
.footer-links ul a {
  align-items: center;
  display: flex;
  justify-content: flex-start;
}
.footer-links ul a img {
  width: 3.87vw;
}
.footer-links ul a span {
  margin-left: .5em;
  font-size: 3.47vw;
}
.copyright {
  font-size: 2.53vw;
  text-align: center;
}
@media (min-width: 750px) {
  .footer {
    padding-top: min(65px, 5.08vw);
    padding-bottom: min(20px, 1.56vw);
  }
  .footer-main {
    margin: 0 auto min(60px, 4.69vw);
    width: min(1100px, 85.94vw);
  }
  .footer-main-in {
    align-items: center;
    display: flex;
    justify-content: space-between;
  }
  /* logo */
  .footer-logo {
    margin-right: min(22px, 1.72vw);
    margin-bottom: 0;
    width: min(174px, 13.59vw);
  }
  .footer-logo img {
    width: 100%;
  }
  /* name */
  .footer-name {
    margin-bottom: 0;
    margin-right: min(40px, 3.13vw);
    width: min(410px, 32.03vw);
  }
  .footer-name img {
    width: 100%;
  }
  /* links */
  .footer-links {
    margin-bottom: 0;
  }
  .footer-links ul {
  }
  .footer-links ul a {
  }
  .footer-links ul a img {
    width: min(15px, 1.17vw);
  }
  .footer-links ul a span {
    margin-left: .5em;
    font-size: min(15px, 1.17vw);
  }
  .footer-links ul li:nth-child(n+2) {
    margin-left: min(25px, 1.95vw);
  }

  .copyright {
    font-size: min(14px, 1.09vw);
  }
}



/*----------------------------------------------------
 footer-nav
----------------------------------------------------*/
.footer-nav {
  background: #fff;
}
/* list */
.footer-nav-list {
  align-items: flex-start;
  display: flex;
  justify-content: space-between;
}

@media (min-width: 750px) {
  .footer-nav {
    background: #50bed6;
    padding-top: min(60px, 4.69vw);
    padding-bottom: min(27px, 2.11vw);
  }
  .footer-nav-in {
    margin: 0 auto;
    position: relative;
    width: min(1200px, 93.75vw);
  }
  /* title */
  .footer-nav-title {
    position: absolute;
    bottom: 100%;
  }
  /* list */
  .footer-nav-list {
  }
}
@media (min-width: 750px) {
}
@media (min-width: 750px) {
}
