@charset "UTF-8";
/*==================================
      レスポンシブ設定 マップ型変数breakpointsを定義
      =================================*/
/*==================================
      # 色、フォントファミリー
      =================================*/
/*==================================
      common(一般) - 全体に共通するスタイル
      =================================*/
@media screen and (max-width: 800px) {
  .is-pc {
    display: none;
  }
}
@media screen and (min-width: 801px) {
  .is-sp {
    display: none;
  }
}
body {
  font-size: 16px;
  color: #1c344b;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.7;
  background: #fff;
  max-width: 1750px;
  margin: 0 auto;
}
@media screen and (max-width: 800px) {
  body {
    max-width: 450px;
    margin: 0 auto;
  }
}

.inner {
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 40px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
}
@media screen and (max-width: 800px) {
  .inner {
    padding: 0 15px;
  }
}

textarea {
  height: 150px;
  resize: none;
}

.l-inner {
  margin: 0 auto;
  padding: 0 40px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
}
@media screen and (max-width: 800px) {
  .l-inner {
    padding: 0 15px;
  }
}

img {
  width: 100%;
  vertical-align: bottom;
}

a {
  font-family: "Noto Sans JP", sans-serif;
}

::-webkit-input-placeholder {
  color: rgba(62, 62, 62, 0.5);
}

::-moz-placeholder {
  color: rgba(62, 62, 62, 0.5);
}

:-ms-input-placeholder {
  color: rgba(62, 62, 62, 0.5);
}

::-ms-input-placeholder {
  color: rgba(62, 62, 62, 0.5);
}

::placeholder {
  color: rgba(62, 62, 62, 0.5);
}

input[type=text],
input[type=email],
input[type=submit],
select,
textarea {
  -webkit-box-shadow: none;
          box-shadow: none;
  border: none;
  background: #e5edf4;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border-radius: 0;
  color: inherit;
  font-family: inherit;
  font-size: inherit;
  width: 100%;
  padding: 20px 20px;
  margin: 0;
  outline: none;
}

select {
  -webkit-appearance: initial;
     -moz-appearance: initial;
          appearance: initial;
}

.header {
  padding: 10px 0;
  background: #fff;
}
.header .flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.header .flex .logo {
  max-width: 410px;
  margin-right: 30px;
}
.header .flex .right {
  max-width: 568px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.header .flex .right .btn a {
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.header .flex .right .btn a:hover {
  opacity: 0.6;
}
.header .flex .right .btn1 {
  width: 47.5%;
}
.header .flex .right .btn2 {
  width: 51%;
}
@media screen and (max-width: 800px) {
  .header .lead {
    color: #18316d;
    font-size: 13px;
    text-align: center;
    font-weight: 600;
    white-space: nowrap;
  }
  .header .flex2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding-top: 10px;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .header .logo {
    width: 46%;
  }
  .header .btn {
    width: 46%;
  }
}
@media screen and (max-width: 420px) {
  .header .lead {
    font-size: 3.1vw;
  }
}

.section {
  padding: 100px 0;
}
@media screen and (max-width: 800px) {
  .section {
    padding: 50px 0;
  }
}

.section-title {
  margin-bottom: 50px;
  text-align: center;
}
@media screen and (max-width: 800px) {
  .section-title {
    margin-bottom: 30px;
  }
}

.sec2 {
  background: #356bdb;
  position: relative;
}
.sec2 .section-title {
  max-width: 750px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 800px) {
  .sec2 .section-title {
    width: 85%;
  }
}
.sec2 ul li {
  background: #fff;
  border: 2px solid #41589f;
  padding: 20px 20px 30px;
  border-radius: 20px;
  margin-bottom: 30px;
}
@media screen and (max-width: 800px) {
  .sec2 ul li {
    padding: 10px;
    border-radius: 10px;
    border: 1px solid #41589f;
    margin-bottom: 20px;
  }
  .sec2 ul li:last-child {
    margin-bottom: 10px;
  }
}
.sec2 ul li .heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  max-width: 650px;
  margin: 0 auto;
  text-align: center;
  border-bottom: 5px dotted #41589f;
  position: relative;
  padding-bottom: 10px;
}
@media screen and (max-width: 800px) {
  .sec2 ul li .heading {
    border-bottom: 3px dotted #41589f;
  }
}
.sec2 ul li .heading .num {
  color: #29abe2;
  font-size: 70px;
  line-height: 1;
  font-weight: 700;
  opacity: 0.4;
  width: 100px;
}
@media screen and (max-width: 800px) {
  .sec2 ul li .heading .num {
    width: 50px;
    font-size: 35px;
  }
}
.sec2 ul li .heading p {
  color: #41589f;
  line-height: 1.3;
  font-size: 24px;
  font-weight: 600;
  width: calc(100% - 100px);
  text-align: center;
}
@media screen and (max-width: 800px) {
  .sec2 ul li .heading p {
    width: calc(100% - 50px);
    font-size: 18px;
  }
}
.sec2 ul li .bottom {
  max-width: 650px;
  margin: 0 auto;
  margin-top: 15px;
}
.sec2 ul li .bottom p {
  font-size: 18px;
  font-weight: 600;
}
@media screen and (max-width: 800px) {
  .sec2 ul li .bottom p {
    font-size: 14px;
  }
}
.sec2 ul li .bottom p span {
  color: #ed1c24;
}
.sec2 .arrow {
  max-width: 200px;
  margin: 0 auto 20px;
}
@media screen and (max-width: 800px) {
  .sec2 .arrow {
    max-width: 60px;
    margin-bottom: 15px;
  }
  .sec2 .arrow img {
    vertical-align: middle;
  }
}
.sec2 .bg {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 100%;
  z-index: 1;
}
.sec2 .inner {
  position: relative;
  z-index: 2;
  max-width: 800px;
}

.sec3 {
  background: #e7f5ff;
  position: relative;
}
.sec3 .inner {
  position: relative;
  z-index: 2;
}
.sec3 .bg {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 100%;
  z-index: 1;
}
.sec3 .section-title {
  font-size: 30px;
  line-height: 1.5;
  font-weight: 700;
}
@media screen and (max-width: 800px) {
  .sec3 .section-title {
    font-size: 20px;
  }
}
@media screen and (max-width: 374px) {
  .sec3 .section-title {
    font-size: 17px;
  }
}
.sec3 .section-title span {
  font-size: 150%;
}
.sec3 .img {
  margin-bottom: 40px;
}
@media screen and (max-width: 800px) {
  .sec3 .img {
    margin-bottom: 20px;
  }
}
.sec3 .txt {
  text-align: center;
}
.sec3 .txt span {
  display: inline-block;
  background: #fff;
  padding: 0px 30px;
  font-size: 22px;
  font-weight: 500;
}
@media screen and (max-width: 800px) {
  .sec3 .txt span {
    font-size: 14px;
    padding: 4px;
  }
}
@media screen and (max-width: 374px) {
  .sec3 .txt span {
    font-size: 12px;
  }
}
.sec3 .txt span.first {
  margin-bottom: 20px;
}
@media screen and (max-width: 800px) {
  .sec3 .txt span.first {
    margin-bottom: 5px;
  }
}

@media screen and (min-width: 801px) {
  .voice {
    padding-bottom: 50px;
  }
}
.voice .section-title .en {
  color: #356bdb;
  font-size: 24px;
  font-weight: 600;
}
@media screen and (max-width: 800px) {
  .voice .section-title .en {
    font-size: 16px;
  }
}
.voice .section-title .ja {
  font-size: 42px;
  font-weight: 700;
}
@media screen and (max-width: 800px) {
  .voice .section-title .ja {
    font-size: 28px;
  }
}
.voice ul {
  max-width: 800px;
  margin: 0 auto;
}
.voice ul li {
  margin-bottom: 40px;
}
@media screen and (max-width: 800px) {
  .voice ul li {
    margin-bottom: 20px;
  }
}
.voice ul li:last-child {
  margin-bottom: 0;
}

.min-case {
  background: #f2f2f2;
  padding: 50px 0;
}
.min-case h2 {
  max-width: 750px;
  margin: 0 auto;
  margin-bottom: 50px;
}
@media screen and (min-width: 801px) {
  .min-case h2 {
    position: relative;
    margin-top: -9%;
    margin-bottom: 30px;
  }
}
.min-case ul {
  margin-top: 50px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 800px) {
  .min-case ul {
    margin: 0 auto;
    margin-top: 30px;
    display: block;
    max-width: 320px;
  }
}
.min-case ul li {
  width: 31%;
}
@media screen and (max-width: 800px) {
  .min-case ul li {
    width: 100%;
    margin-bottom: 20px;
  }
  .min-case ul li:last-child {
    margin-bottom: 0;
  }
}

.contact {
  background: #f2f2f2;
}
.contact .box {
  background: #fff;
  padding: 60px 40px;
  -webkit-box-shadow: 0 5px 15px rgba(62, 62, 62, 0.4);
          box-shadow: 0 5px 15px rgba(62, 62, 62, 0.4);
}
@media screen and (max-width: 800px) {
  .contact .box {
    padding: 30px 15px;
  }
}
.contact .section-title .en {
  color: #356bdb;
  font-size: 24px;
  font-weight: 600;
}
@media screen and (max-width: 800px) {
  .contact .section-title .en {
    font-size: 16px;
  }
}
.contact .section-title .ja {
  font-size: 42px;
  font-weight: 700;
}
@media screen and (max-width: 800px) {
  .contact .section-title .ja {
    font-size: 28px;
  }
}
.contact .contact-wrap {
  max-width: 600px;
  margin: 0 auto;
}
.contact select {
  -webkit-appearance: auto;
     -moz-appearance: auto;
          appearance: auto;
}
.contact .row {
  margin-bottom: 20px;
}
.contact .row .dt {
  font-weight: 600;
  font-size: 16px;
  margin-bottom: 4px;
}
@media screen and (max-width: 800px) {
  .contact .row .dt {
    font-size: 14px;
  }
}
.contact .row .dt .required {
  margin-left: 30px;
  background: #356bdb;
  color: #fff;
  padding: 0 8px;
  border-radius: 4px;
}
@media screen and (max-width: 800px) {
  .contact .row .dt .required {
    margin-left: 15px;
  }
}
.contact .row .dd {
  font-weight: 600;
  font-size: 16px;
}
@media screen and (max-width: 800px) {
  .contact .row .dd {
    font-size: 14px;
  }
}
.contact .dd-check {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.contact .dd-check .item {
  width: 20%;
}
@media screen and (max-width: 800px) {
  .contact .dd-check .item {
    width: 33.333%;
    font-size: 13px;
  }
}
.contact .dd-check input[type=checkbox] {
  position: absolute;
  left: -1000%;
  opacity: 0;
}
.contact .dd-check .design {
  position: relative;
  padding-left: 25px;
}
.contact .dd-check .design::before {
  position: absolute;
  content: "";
  width: 15px;
  height: 15px;
  border: 1px solid;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 0;
}
.contact .dd-check .design::after {
  position: absolute;
  content: "";
  top: 50%;
  -webkit-transform: translateY(-50%) rotate(-135deg);
          transform: translateY(-50%) rotate(-135deg);
  left: 3px;
  width: 3px;
  height: 15px;
  border-top: 4px solid #41589f;
  border-left: 4px solid #41589f;
  opacity: 0;
}
.contact .dd-check input[type=checkbox]:checked + .design::after {
  opacity: 1;
}
.contact .dd-radio {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (max-width: 800px) {
  .contact .dd-radio .item {
    font-size: 13px;
  }
}
.contact .dd-radio .item input[type=radio] {
  position: absolute;
  left: -1000%;
  opacity: 0;
}
.contact .dd-radio .item .design {
  position: relative;
  padding-left: 25px;
  margin-right: 20px;
  margin-bottom: 10px;
}
.contact .dd-radio .item .design::before {
  position: absolute;
  content: "";
  width: 15px;
  height: 15px;
  border: 1px solid;
  border-radius: 50%;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 0;
}
.contact .dd-radio .item .design::after {
  position: absolute;
  content: "";
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 12px;
  height: 12px;
  background: #18316d;
  left: 2.5px;
  opacity: 0;
  border-radius: 50%;
}
.contact .dd-radio .item input[type=radio]:checked + .design::after {
  opacity: 1;
}
.contact .submit {
  text-align: center;
  margin-top: 60px;
}
@media screen and (max-width: 800px) {
  .contact .submit {
    margin-top: 30px;
  }
}
.contact .submit input {
  position: absolute;
  left: -1000%;
  opacity: 0;
}
.contact .submit .design {
  max-width: 400px;
  margin: 0 auto;
  cursor: pointer;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.contact .submit .design:hover {
  opacity: 0.6;
}

.c-section {
  background: url(../img/c-sec-bg.jpg) no-repeat bottom center/cover;
}
@media screen and (max-width: 800px) {
  .c-section {
    padding: 0;
  }
}
.c-section .text {
  position: relative;
}
.c-section .text .hake {
  max-width: 400px;
  position: absolute;
  bottom: 0%;
  left: -20%;
  width: 40%;
}

.staff {
  background: #fffceb;
}
.staff .section-title {
  max-width: 540px;
  margin-left: auto;
  margin-right: auto;
}
.staff ul {
  color: #1c344b;
}
.staff ul li {
  margin-bottom: 50px;
  background: #fff;
  -webkit-box-shadow: 0 5px 15px rgba(62, 62, 62, 0.4);
          box-shadow: 0 5px 15px rgba(62, 62, 62, 0.4);
  padding: 60px;
  color: #18316d;
}
@media screen and (max-width: 1000px) {
  .staff ul li {
    padding: 30px;
  }
}
@media screen and (max-width: 800px) {
  .staff ul li {
    padding: 30px 15px;
    margin-bottom: 30px;
  }
}
.staff ul li:last-child {
  margin-bottom: 0;
}
.staff ul li .heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 40px;
}
@media screen and (max-width: 800px) {
  .staff ul li .heading {
    margin-bottom: 10px;
  }
}
.staff ul li .heading.reserve {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
@media screen and (max-width: 800px) {
  .staff ul li .heading {
    display: block;
  }
}
.staff ul li .heading .right {
  width: 460px;
  text-align: right;
  overflow: hidden;
}
@media screen and (max-width: 800px) {
  .staff ul li .heading .right {
    width: 100%;
  }
}
.staff ul li .heading .right .lead {
  font-family: serif;
  font-size: 30px;
  font-weight: 600;
  line-height: 1.5;
  text-align: center;
  margin-bottom: 20px;
  position: relative;
}
@media screen and (max-width: 800px) {
  .staff ul li .heading .right .lead {
    font-size: 20px;
    margin: 0 20px;
    margin-bottom: 10px;
  }
}
.staff ul li .heading .right .lead::before {
  position: absolute;
  content: "「";
  top: 0;
  left: 0;
}
.staff ul li .heading .right .lead::after {
  position: absolute;
  content: "」";
  bottom: 0;
  right: 0;
}
.staff ul li .heading .right .name-area {
  display: inline-block;
  margin-left: auto;
  position: relative;
}
.staff ul li .heading .right .name-area::before {
  position: absolute;
  content: "";
  top: 50%;
  left: -490px;
  width: 480px;
  height: 1px;
  background: #18316d;
}
.staff ul li .heading .right .name-area .wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
@media screen and (max-width: 800px) {
  .staff ul li .heading .right .name-area .wrap {
    margin-right: 60px;
  }
}
.staff ul li .heading .right .name-area .wrap .position {
  font-size: 18px;
  font-weight: 600;
  margin-right: 10px;
}
@media screen and (max-width: 800px) {
  .staff ul li .heading .right .name-area .wrap .position {
    font-size: 12px;
  }
}
.staff ul li .heading .right .name-area .wrap .name {
  font-size: 26px;
  font-weight: 600;
}
@media screen and (max-width: 800px) {
  .staff ul li .heading .right .name-area .wrap .name {
    font-size: 16px;
  }
}
.staff ul li .heading .img {
  width: calc(100% - 500px);
}
@media screen and (max-width: 800px) {
  .staff ul li .heading .img {
    width: 90%;
    margin: 0 auto;
    margin-bottom: 20px;
  }
}
.staff ul li .bottom {
  font-size: 18px;
  font-weight: 600;
  color: #1c344b;
}
@media screen and (max-width: 800px) {
  .staff ul li .bottom {
    font-size: 14px;
  }
}

.cta {
  background: #356bdb;
  position: relative;
}
.cta .inner {
  position: relative;
  z-index: 2;
}
.cta .bg {
  position: absolute;
  top: 100px;
  left: 0;
  width: 100%;
}
.cta h2 {
  max-width: 580px;
  margin: 0 auto;
  margin-bottom: 60px;
}
@media screen and (max-width: 800px) {
  .cta h2 {
    margin-bottom: 30px;
  }
}
.cta .area1 {
  background: #7fa3dc;
  padding: 60px;
}
@media screen and (max-width: 800px) {
  .cta .area1 {
    padding: 30px 15px;
  }
}
.cta .area1 .txt {
  color: #fff;
  text-align: center;
  font-size: 22px;
  font-weight: 600;
  margin-top: 20px;
}
@media screen and (max-width: 800px) {
  .cta .area1 .txt {
    font-size: 16px;
  }
}
.cta .area3 {
  background: #fff;
  padding: 50px;
}
@media screen and (max-width: 800px) {
  .cta .area3 {
    padding: 30px 15px;
    margin: 30px 15px 0;
  }
}
.cta .area3 .row {
  margin-bottom: 30px;
  margin-left: auto;
  margin-right: auto;
  max-width: 660px;
}
.cta .area3 .row a {
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.cta .area3 .row a:hover {
  opacity: 0.6;
}
@media screen and (max-width: 800px) {
  .cta .area3 .row {
    margin-bottom: 20px;
  }
}
.cta .area3 .row:last-child {
  max-width: 560px;
  margin-bottom: 0;
}
.cta .area3 .row .dt {
  text-align: center;
  font-size: 24px;
  font-weight: 600;
  margin-bottom: 10px;
}
@media screen and (max-width: 800px) {
  .cta .area3 .row .dt {
    font-size: 16px;
    margin-bottom: 3px;
  }
}
.cta .area3 .row .dt .wrap {
  display: inline-block;
  position: relative;
}
.cta .area3 .row .dt .wrap::before {
  position: absolute;
  content: "";
  width: 2px;
  height: 25px;
  background: #000;
  -webkit-transform: rotate(-20deg);
          transform: rotate(-20deg);
  left: -10px;
  bottom: 5px;
}
@media screen and (max-width: 800px) {
  .cta .area3 .row .dt .wrap::before {
    height: 15px;
  }
}
.cta .area3 .row .dt .wrap::after {
  position: absolute;
  content: "";
  width: 2px;
  height: 25px;
  background: #000;
  -webkit-transform: rotate(20deg);
          transform: rotate(20deg);
  right: -10px;
  bottom: 5px;
}
@media screen and (max-width: 800px) {
  .cta .area3 .row .dt .wrap::after {
    height: 15px;
  }
}
@media screen and (max-width: 800px) {
  .cta .inner2 {
    padding: 0;
  }
}

@media screen and (max-width: 800px) {
  .c-section {
    background: #f2f2f2;
  }
}
.gimon {
  background: #f4fcff;
  position: relative;
}
.gimon .bg {
  position: absolute;
  top: 0;
  right: 0;
  width: 30%;
}
@media screen and (max-width: 800px) {
  .gimon .bg {
    width: 60%;
  }
}
.gimon h2 {
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 50px;
}
@media screen and (max-width: 800px) {
  .gimon h2 {
    margin-bottom: 30px;
  }
}
.gimon .items .item {
  border: 1px solid #3fa9f5;
  border-radius: 10px;
  padding: 60px 40px;
  position: relative;
  margin-bottom: 60px;
  background: #f6f8fe;
}
@media screen and (max-width: 800px) {
  .gimon .items .item {
    padding: 2cap 15px;
    margin-bottom: 30px;
  }
}
.gimon .items .num {
  color: #fff;
  display: inline-block;
  font-size: 60px;
  font-weight: 700;
  line-height: 1;
  position: absolute;
  top: 60px;
  left: -20px;
  z-index: 2;
}
.gimon .items .num .wrap2 {
  background: #3fa9f5;
  clip-path: polygon(100% 0, 85% 50%, 100% 100%, 0 100%, 0 0);
  padding: 10px 50px;
  position: relative;
}
@media screen and (max-width: 800px) {
  .gimon .items .num .wrap2 {
    padding: 5px 10px;
  }
}
.gimon .items .num .wrap2::before {
  position: absolute;
  content: "";
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  top: 97%;
  left: 0;
  border-style: solid;
  border-right: 14px solid transparent;
  border-left: 14px solid transparent;
  border-bottom: 14px solid #1f5577;
  border-top: 0;
  z-index: 1;
}
@media screen and (max-width: 800px) {
  .gimon .items .num .wrap2::before {
    border-right: 7px solid transparent;
    border-left: 7px solid transparent;
    border-bottom: 7px solid #1f5577;
  }
}
@media screen and (max-width: 800px) {
  .gimon .items .num {
    font-size: 20px;
    top: 20px;
    left: -10px;
  }
}
.gimon .items .num::before {
  position: absolute;
  content: "";
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  top: 97%;
  left: 0;
  border-style: solid;
  border-right: 14px solid transparent;
  border-left: 14px solid transparent;
  border-bottom: 14px solid #1f5577;
  border-top: 0;
  z-index: 1;
}
@media screen and (max-width: 800px) {
  .gimon .items .num::before {
    border-right: 7px solid transparent;
    border-left: 7px solid transparent;
    border-bottom: 7px solid #1f5577;
  }
}
.gimon .items h3 {
  text-align: center;
  color: #3fa9f5;
  font-weight: 600;
  font-size: 42px;
  margin-bottom: 50px;
}
@media screen and (max-width: 800px) {
  .gimon .items h3 {
    font-size: 18px;
    margin-bottom: 15px;
    padding: 0 27px;
  }
}
.gimon .items ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 60px;
}
@media screen and (max-width: 800px) {
  .gimon .items ul {
    margin-bottom: 20px;
  }
}
@media screen and (max-width: 800px) {
  .gimon .items ul {
    display: block;
  }
}
.gimon .items ul li {
  font-size: 20px;
  font-weight: 600;
  width: 48%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  line-height: 1.5;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (min-width: 801px) {
  .gimon .items ul li:nth-child(n+3) {
    margin-top: 20px;
  }
}
@media screen and (max-width: 800px) {
  .gimon .items ul li {
    margin-bottom: 10px;
  }
}
.gimon .items ul li .check {
  width: 30px;
}
@media screen and (max-width: 800px) {
  .gimon .items ul li .check {
    width: 20px;
  }
}
.gimon .items ul li .text {
  width: calc(100% - 40px);
}
@media screen and (max-width: 800px) {
  .gimon .items ul li .text {
    width: calc(100% - 30px);
  }
}
@media screen and (max-width: 800px) {
  .gimon .items ul li {
    width: 100%;
    font-size: 14px;
  }
}
.gimon .items .bottom {
  margin-bottom: 40px;
}
@media screen and (max-width: 800px) {
  .gimon .items .bottom {
    margin-bottom: 10px;
  }
}
.gimon .items .label {
  text-align: center;
}
.gimon .items .label .wrap {
  font-size: 22px;
  font-weight: 500;
  color: #fff;
  padding: 10px 30px;
  background: #3fa9f5;
  display: inline-block;
  border-radius: 4px;
}
@media screen and (max-width: 800px) {
  .gimon .items .label .wrap {
    font-size: 14px;
    padding: 10px 0;
    display: block;
  }
}
@media screen and (max-width: 374px) {
  .gimon .items .label .wrap {
    font-size: 12px;
  }
}

.gimon .items .item2 {
  border: 1px solid #7ac943;
}

.gimon .item2 h3 {
  color: #7ac943;
}

.gimon .item2 .num .wrap2 {
  background: #7ac943;
}

.gimon .item2 .label .wrap {
  background: #7ac943;
}

.gimon .items .item3 {
  border: 1px solid #ff931e;
}

.gimon .item3 h3 {
  color: #ff931e;
}

.gimon .item3 .num .wrap2 {
  background: #ff931e;
}

.gimon .item3 .label .wrap {
  background: #ff931e;
}

.gimon .items .item4 {
  border: 1px solid #ff7bac;
}

.gimon .item4 h3 {
  color: #ff7bac;
}

.gimon .item4 .num .wrap2 {
  background: #ff7bac;
}

.gimon .item4 .label .wrap {
  background: #ff7bac;
}

.houchi {
  background: url(../img/houchi-bg.jpg) no-repeat center center/cover;
}
@media screen and (max-width: 800px) {
  .houchi {
    background: url(../img/houchi-bg.jpg) no-repeat bottom center/cover;
  }
}

.qa .section-title .en {
  color: #356bdb;
  font-size: 24px;
  font-weight: 600;
}
@media screen and (max-width: 800px) {
  .qa .section-title .en {
    font-size: 16px;
  }
}
.qa .section-title .ja {
  font-size: 42px;
  font-weight: 700;
}
@media screen and (max-width: 800px) {
  .qa .section-title .ja {
    font-size: 28px;
  }
}

.area .section-title {
  text-align: center;
}
.area .section-title .en {
  color: #356bdb;
  font-size: 24px;
  font-weight: 600;
}
@media screen and (max-width: 800px) {
  .area .section-title .en {
    font-size: 16px;
  }
}
.area .section-title .ja {
  font-size: 42px;
  font-weight: 700;
  position: relative;
  display: inline-block;
}
.area .section-title .ja .japan {
  max-width: 100px;
  position: absolute;
  top: -20px;
  right: -110px;
}
@media screen and (max-width: 800px) {
  .area .section-title .ja .japan {
    width: 30%;
    right: -35%;
    top: 0;
  }
}
@media screen and (max-width: 800px) {
  .area .section-title .ja {
    font-size: 28px;
  }
}
.area .img {
  margin-bottom: 80px;
}
@media screen and (max-width: 800px) {
  .area .img {
    margin-bottom: 30px;
  }
}
.area .row {
  margin-bottom: 40px;
}
@media screen and (max-width: 800px) {
  .area .row {
    margin-bottom: 25px;
  }
}
.area .row h3 {
  font-size: 30px;
  font-weight: 600;
  margin-bottom: 10px;
  color: #356bdb;
}
@media screen and (max-width: 800px) {
  .area .row h3 {
    font-size: 20px;
  }
}
.area .row .box {
  padding: 40px;
  background: #e5f0f9;
  line-height: 2.2;
  font-weight: 600;
}
@media screen and (max-width: 800px) {
  .area .row .box {
    padding: 20px 15px;
    font-size: 13px;
  }
}

.price {
  position: relative;
}
.price .section-title {
  margin-bottom: 0;
}
.price .section-title .en {
  color: #356bdb;
  font-size: 24px;
  font-weight: 600;
}
@media screen and (max-width: 800px) {
  .price .section-title .en {
    font-size: 16px;
  }
}
.price .section-title .ja {
  font-size: 42px;
  font-weight: 700;
}
@media screen and (max-width: 800px) {
  .price .section-title .ja {
    font-size: 28px;
  }
}
.price .title-bottom {
  margin-bottom: 60px;
}
@media screen and (max-width: 800px) {
  .price .title-bottom {
    margin-bottom: 30px;
  }
}
.price .price2 {
  margin-bottom: 60px;
}
@media screen and (max-width: 800px) {
  .price .price2 {
    margin-bottom: 30px;
  }
}
.price .price12 {
  margin-bottom: 20px;
}
.price .bg {
  position: absolute;
  bottom: 5%;
  width: 45%;
  right: -1px;
}
@media screen and (max-width: 800px) {
  .price .bg {
    display: none;
  }
}
.price .inner {
  position: relative;
  z-index: 1;
}

.case {
  background: url(../img/case-bg.png) no-repeat center center/cover;
}
@media screen and (max-width: 800px) {
  .case .inner {
    padding: 0;
  }
}
.case .section-title .en {
  color: #356bdb;
  font-size: 24px;
  font-weight: 600;
}
@media screen and (max-width: 800px) {
  .case .section-title .en {
    font-size: 16px;
  }
}
.case .section-title .ja {
  font-size: 42px;
  font-weight: 700;
}
@media screen and (max-width: 800px) {
  .case .section-title .ja {
    font-size: 28px;
  }
}
.case .lead {
  max-width: 700px;
  margin: 0 auto 30px;
}
@media screen and (max-width: 800px) {
  .case .lead {
    padding: 0 20px;
  }
}
.case .ul .li1 {
  padding: 20px;
  -webkit-box-shadow: 0 3px 6px rgba(62, 62, 62, 0.4);
          box-shadow: 0 3px 6px rgba(62, 62, 62, 0.4);
  background: #fff;
  margin: 15px 5px;
}
.case .ul .li1 .title2 {
  border-radius: 30px;
  padding: 5px 10px;
  color: #fff;
  font-size: 15px;
  font-weight: 500;
  background: #18316d;
  text-align: center;
  margin-top: 20px;
}
.case .ul .img-area {
  position: relative;
}
.case .ul .img-area .arrow {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  max-width: 60px;
  z-index: 3;
}
.case .ul .img-area .img {
  margin-bottom: 10px;
  position: relative;
}
.case .ul .img-area .img:last-child {
  margin-bottom: 0;
}
.case .ul .img-area .img:last-child::after {
  position: absolute;
  content: "After";
  z-index: 3;
  background: #356bdb;
  color: #fff;
  top: 10px;
  left: 10px;
  line-height: 1;
  padding: 3px 0px;
  width: 65px;
  text-align: center;
}
.case .ul .img-area .img:first-child::after {
  position: absolute;
  content: "Before";
  z-index: 3;
  background: #fff;
  top: 10px;
  left: 10px;
  line-height: 1;
  padding: 3px 0px;
  width: 65px;
  text-align: center;
}

.flow .section-title .en {
  color: #356bdb;
  font-size: 24px;
  font-weight: 600;
}
@media screen and (max-width: 800px) {
  .flow .section-title .en {
    font-size: 16px;
  }
}
.flow .section-title .ja {
  font-size: 42px;
  font-weight: 700;
}
@media screen and (max-width: 800px) {
  .flow .section-title .ja {
    font-size: 28px;
  }
}
@media screen and (max-width: 800px) {
  .flow .inner .img {
    width: 100%;
    margin: 0 auto;
  }
}

.last-section {
  padding-top: 50px;
}

.policy-box {
  max-width: 800px;
  margin: 2em auto;
  font-family: sans-serif;
}
@media screen and (max-width: 800px) {
  .policy-box {
    font-size: 14px;
  }
}

.policy-box h2 {
  text-align: center;
  margin-bottom: 1em;
  font-size: 20px;
  font-weight: 700;
}
@media screen and (max-width: 800px) {
  .policy-box h2 {
    font-size: 16px;
  }
}

.policy-scroll {
  max-height: 200px;
  overflow-y: auto;
  padding: 1em;
  border: 1px solid #ccc;
  line-height: 1.7;
  background-color: #fff;
}

html {
  scroll-behavior: smooth;
}

.privacy {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 800px) {
  .privacy {
    font-size: 13px;
  }
}
@media screen and (max-width: 374px) {
  .privacy {
    font-size: 10px;
  }
}

.company {
  background: linear-gradient(to bottom, #f2f2f2 0px, #f2f2f2 250px, #1c344b 250px, #1c344b 100%);
}
@media screen and (max-width: 800px) {
  .company {
    background: linear-gradient(to bottom, #f2f2f2 0px, #f2f2f2 15%, #1c344b 15%, #1c344b 100%);
  }
}
.company .img {
  margin-bottom: 60px;
}
@media screen and (max-width: 800px) {
  .company .img {
    margin-bottom: 30px;
  }
}
.company .section-title {
  margin-bottom: 40px;
}
@media screen and (max-width: 800px) {
  .company .section-title {
    margin-bottom: 25px;
  }
}
.company .section-title .en {
  color: #29abe2;
  font-size: 16px;
  font-weight: 600;
}
@media screen and (max-width: 800px) {
  .company .section-title .en {
    font-size: 16px;
  }
}
.company .section-title .ja {
  font-size: 32px;
  font-weight: 700;
  color: #fff;
}
@media screen and (max-width: 800px) {
  .company .section-title .ja {
    font-size: 28px;
  }
}
.company .flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 800px) {
  .company .flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}
.company .flex .right {
  width: 46%;
}
@media screen and (max-width: 800px) {
  .company .flex .right {
    width: 100%;
    margin-bottom: 30px;
  }
}
.company .flex .left {
  width: 46%;
}
@media screen and (max-width: 800px) {
  .company .flex .left {
    width: 100%;
  }
}
.company .row {
  font-size: 12px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-bottom: 1.5px solid #fff;
  color: #fff;
  padding: 15px 0;
}
.company .row.first {
  border-top: 1.5px solid #fff;
}
.company .row .dt {
  font-weight: 800;
  width: 40%;
}
.company .row .dd {
  font-weight: 500;
  width: 60%;
}

.footer {
  background: #356bdb;
  padding: 40px 0;
  color: #fff;
  font-size: 12px;
  white-space: nowrap;
}
@media screen and (max-width: 800px) {
  .footer {
    padding: 30px 0;
  }
}
.footer a {
  color: #fff;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  font-size: 12px;
}
.footer a:hover {
  opacity: 0.6;
}
.footer ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0 auto;
  margin-bottom: 20px;
  max-width: 330px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen {
  .footer ul {
    margin-bottom: 10px;
  }
}
.footer ul li {
  text-align: center;
  line-height: 1.1;
}
.footer ul li:first-child {
  border-right: 1px solid #fff;
}
.footer ul li a {
  padding: 0 10px;
  line-height: 1.3;
}
.footer .copyright {
  text-align: center;
}
@media screen and (max-width: 800px) {
  .footer .copyright {
    font-size: 10px;
  }
}

.fixed {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 12px 10px;
  background: #00408f;
  z-index: 100;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  -webkit-transition: opacity 0.5s ease, visibility 0.5s ease;
  transition: opacity 0.5s ease, visibility 0.5s ease;
}
.fixed ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.fixed ul .li1 {
  width: 49%;
}
.fixed ul .li2 {
  width: 51%;
}

.fixed.is-sp.show {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

@media screen and (max-width: 800px) {
  body {
    padding-bottom: 19%;
  }
}
.qa .img {
  max-width: 800px;
  margin: 0 auto;
}

.qa-sp-bottom {
  margin-top: 30px;
}

.slick-prev:before, .slick-next:before {
  display: none;
}

.custom-arrows .slick-prev {
  position: absolute;
  left: 30px;
  top: 44%;
}
@media screen and (max-width: 800px) {
  .custom-arrows .slick-prev {
    left: 13%;
  }
}
.custom-arrows .slick-next {
  position: absolute;
  right: 30px;
  top: 44%;
}
@media screen and (max-width: 800px) {
  .custom-arrows .slick-next {
    right: 13%;
    z-index: 30;
  }
}

.wrap-slider {
  position: relative;
}

.slick-dots li button:before {
  font-size: 15px;
}

.slick-dots li.slick-active button:before {
  color: #b7e7f9;
  opacity: 1;
}

.slick-dots li button:hover:before, .slick-dots li button:focus:before {
  opacity: 1 !important;
}

.slick-dots li button:before {
  opacity: 1;
  color: #ddd;
}

.houchi-heading {
  max-width: 700px;
  margin: 0 auto 20px;
}
@media screen and (max-width: 800px) {
  .houchi-heading {
    width: 80%;
    margin-bottom: 0;
  }
}

.thanks {
  font-weight: 600;
}
.thanks .btn {
  text-align: center;
  margin-top: 60px;
}
@media screen and (max-width: 800px) {
  .thanks .btn {
    margin-top: 30px;
  }
}
.thanks .btn a {
  color: #1c344b;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  text-decoration: underline;
}
.thanks .btn a:hover {
  opacity: 0.66;
}

@media screen and (min-width: 801px) {
  .sec2 .bg img, .cta .bg img {
    clip-path: polygon(0 81%, 104% 0%, 100% 100%, 0% 100%);
    opacity: 0.6;
  }
}