@charset "UTF-8";
/*BREAK POINT*/
.pc {
  display: block;
}
@media screen and (max-width: 769px) {
  .pc {
    display: none !important;
  }
}

.sp {
  display: none;
}
@media screen and (max-width: 769px) {
  .sp {
    display: block !important;
  }
}

/*--------------------common----------------------*/
main.windshield {
  /* 固定するためのスタイル */
}
main.windshield header, main.windshield div, main.windshield span, main.windshield applet, main.windshield object, main.windshield iframe, main.windshield input[type=file], main.windshield h1, main.windshield h2, main.windshield h3, main.windshield h4, main.windshield h5, main.windshield h6, main.windshield p, main.windshield select, main.windshield blockquote, main.windshield pre, main.windshield a, main.windshield abbr, main.windshield acronym, main.windshield address, main.windshield big, main.windshield cite, main.windshield code, main.windshield del, main.windshield dfn, main.windshield em, main.windshield font, main.windshield img, main.windshield ins, main.windshield kbd, main.windshield q, main.windshield s, main.windshield samp, main.windshield small, main.windshield strike, main.windshield sub, main.windshield tt, main.windshield var, main.windshield b, main.windshield u, main.windshield i, main.windshield center, main.windshield dl, main.windshield dt, main.windshield dd, main.windshield ol, main.windshield ul, main.windshield li, main.windshield fieldset, main.windshield form, main.windshield label, main.windshield legend, main.windshield table, main.windshield caption, main.windshield tbody, main.windshield tfoot, main.windshield thead, main.windshield tr, main.windshield th, main.windshield td, main.windshield aside {
  color: #3c3c3c;
  box-sizing: border-box;
  letter-spacing: 0.1em;
  line-height: 1.7em;
}
main.windshield a {
  text-decoration: none;
}
main.windshield ul {
  list-style: none;
}
main.windshield section {
  padding: 80px 0;
}
@media screen and (max-width: 769px) {
  main.windshield section {
    padding: 30px 0;
  }
}
main.windshield section .inner-box {
  max-width: 1200px;
  margin: 0 auto;
}
@media screen and (max-width: 769px) {
  main.windshield section .inner-box {
    width: 90%;
    margin: 0 auto;
  }
}
main.windshield #mv h1 {
  padding: 10px 0;
}
@media screen and (max-width: 769px) {
  main.windshield #mv h1 {
    padding: 10px 0;
  }
}
main.windshield #under-mv {
  background-image: url(../../img/top/mv-bg-pc.jpg);
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width: 769px) {
  main.windshield #under-mv {
    background-image: url(../../img/top/mv-bg-sp.jpg);
    padding-bottom: 0;
  }
}
main.windshield #under-mv .box .inner-box {
  max-width: 1000px;
  margin: 0 auto;
}
@media screen and (max-width: 769px) {
  main.windshield #under-mv .box .inner-box {
    width: 90%;
    margin: 0 auto;
    position: relative;
    padding-bottom: 80px;
  }
}
main.windshield #under-mv .box .inner-box h3 {
  background-color: rgba(30, 62, 146, 0.8);
  color: #fff;
  text-align: center;
  padding: 10px;
  font-size: 32px;
  font-weight: bold;
  margin-bottom: 20px;
}
main.windshield #under-mv .box .inner-box h3 span {
  color: #FFF360;
}
@media screen and (max-width: 769px) {
  main.windshield #under-mv .box .inner-box h3.sp {
    display: flex !important;
    justify-content: center;
    align-items: center;
  }
}
main.windshield #under-mv .box .inner-box h3.sp .sp-left {
  font-size: 8px;
  color: #fff;
  margin-right: 10px;
}
main.windshield #under-mv .box .inner-box h3.sp .sp-left span {
  color: #FFF360;
  font-size: 20px;
  display: block;
  line-height: 1;
}
main.windshield #under-mv .box .inner-box h3.sp .sp-right {
  color: #fff;
  font-size: 20px;
  line-height: 1;
}
main.windshield #under-mv .box .inner-box h3.sp .sp-right span {
  color: #FFF360;
  font-size: 30px;
  display: block;
  line-height: 1.2em;
}
main.windshield #under-mv .box .inner-box ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  margin-bottom: 30px;
}
@media screen and (max-width: 769px) {
  main.windshield #under-mv .box .inner-box ul {
    margin: 10px 0;
  }
}
main.windshield #under-mv .box .inner-box ul li {
  width: 200px;
  height: 200px;
  margin-right: 30px;
  color: #fff;
  font-size: 22px;
  font-weight: bold;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  align-content: center;
  background-color: rgba(30, 62, 146, 0.8);
  border-radius: 50%;
  line-height: 1;
}
@media screen and (max-width: 769px) {
  main.windshield #under-mv .box .inner-box ul li {
    width: 150px;
    height: 150px;
    font-size: 14px;
    margin-bottom: 10px;
    margin-right: 50%;
  }
}
main.windshield #under-mv .box .inner-box ul li span {
  color: #FFF360;
  font-size: 1.2em;
}
@media screen and (max-width: 769px) {
  main.windshield #under-mv .box .inner-box ul li span {
    font-size: 1.5em;
  }
}
main.windshield #under-mv .box .inner-box ul li small {
  font-size: 8px;
  margin: 0;
  color: #fff;
}
@media screen and (max-width: 769px) {
  main.windshield #under-mv .box .inner-box ul li small {
    font-size: 8px;
    line-height: 1;
    display: inline;
    position: static;
  }
}
main.windshield #under-mv .box .inner-box small {
  font-size: 14px;
  display: block;
  text-indent: -1em;
  padding-left: 1em;
}
@media screen and (max-width: 769px) {
  main.windshield #under-mv .box .inner-box small {
    font-size: 11px;
    line-height: 1.5em;
    position: absolute;
    bottom: 0;
  }
}
main.windshield #under-nav {
  background-color: #F7F7F7;
  padding: 0;
}
main.windshield #under-nav nav {
  width: 100%;
  margin: 0 auto;
  padding: 10px 0;
  position: relative;
  background-color: #1E3E92;
}
main.windshield #under-nav nav ul {
  display: flex;
  justify-content: center;
}
main.windshield #under-nav nav ul li a {
  font-size: 14px;
  font-weight: bold;
  transition: 0.2s;
  padding: 10px 20px;
  background-color: #1E3E92;
  color: #fff;
}
main.windshield #under-nav nav ul li a:hover {
  opacity: 0.7;
}
main.windshield #under-nav nav ul li:last-of-type a {
  border: none;
}
main.windshield #under-nav {
  position: relative;
}
main.windshield #under-nav.fixed {
  position: fixed;
  top: 107.7px;
  width: 100%; /* 必要に応じて変更してください */
  z-index: 1000; /* 他の要素の上に表示されるようにz-indexを設定 */
}
main.windshield #service {
  background-image: url(../../img/top/service-bg.png);
  background-size: cover;
  background-repeat: no-repeat;
}
main.windshield #service .box {
  max-width: 1200px;
  margin: 0 auto;
}
main.windshield #service .box .inner-box {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  width: 95%;
  margin: 0 0 0 5%;
}
@media screen and (max-width: 769px) {
  main.windshield #service .box .inner-box {
    width: 90%;
    margin: 0 auto;
  }
}
main.windshield #service .box .inner-box .text {
  width: 40%;
  margin-right: 5%;
}
@media screen and (max-width: 769px) {
  main.windshield #service .box .inner-box .text {
    width: 100%;
    margin: 0;
  }
}
main.windshield #service .box .inner-box .text h2 {
  font-size: 36px;
  font-weight: bold;
  position: relative;
  margin-bottom: 40px;
}
@media screen and (max-width: 769px) {
  main.windshield #service .box .inner-box .text h2 {
    font-size: 20px;
    text-align: center;
  }
}
main.windshield #service .box .inner-box .text h2::before {
  content: "SERVICE";
  color: #fff;
  opacity: 0.7;
  font-size: 120px;
  font-weight: bold;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: -1;
}
@media screen and (max-width: 769px) {
  main.windshield #service .box .inner-box .text h2::before {
    font-size: 70px;
  }
}
main.windshield #service .box .inner-box .text p {
  font-size: 14px;
  line-height: 1.7em;
}
main.windshield #service .box .inner-box .img {
  width: 50%;
  height: auto;
  aspect-ratio: 16/9;
  background: #ccc;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 20px;
}
@media screen and (max-width: 769px) {
  main.windshield #service .box .inner-box .img {
    width: 100%;
    margin-top: 30px;
  }
}
main.windshield #service .box .inner-box .img video {
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
}
main.windshield #reason .box .inner-box h2 {
  color: #1E3E92;
  font-weight: bold;
  text-align: center;
  margin-bottom: 50px;
  font-size: 30px;
}
@media screen and (max-width: 769px) {
  main.windshield #reason .box .inner-box h2 {
    font-size: 18px;
  }
}
main.windshield #reason .box .inner-box h2 span {
  color: #1E3E92;
  font-size: 2em;
}
main.windshield #reason .box .inner-box ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
main.windshield #reason .box .inner-box ul li {
  width: 24%;
  margin-bottom: 10px;
  background-color: #fff;
  border-radius: 10px;
  padding: 20px;
  box-shadow: 0px 0px 15px -5px #bababa;
  border-radius: 10px;
  box-sizing: border-box;
  text-align: center;
}
@media screen and (max-width: 769px) {
  main.windshield #reason .box .inner-box ul li {
    width: 48%;
    padding: 10px;
  }
}
main.windshield #reason .box .inner-box ul li span {
  display: block;
  text-align: center;
  font-size: 24px;
  font-weight: bold;
  color: #1E3E92;
  margin-bottom: 20px;
  font-family: "Oswald", sans-serif !important;
}
@media screen and (max-width: 769px) {
  main.windshield #reason .box .inner-box ul li span {
    margin: 0;
  }
}
main.windshield #reason .box .inner-box ul li img {
  height: 80px;
}
main.windshield #reason .box .inner-box ul li h3 {
  font-size: 16px;
  font-weight: bold;
  color: #1E3E92;
  margin: 1em 0;
}
@media screen and (max-width: 769px) {
  main.windshield #reason .box .inner-box ul li h3 {
    font-size: 14px;
  }
}
main.windshield #reason .box .inner-box ul li p {
  font-size: 14px;
  color: #1E3E92;
  text-align: left;
}
@media screen and (max-width: 769px) {
  main.windshield #reason .box .inner-box ul li p {
    font-size: 12px;
    color: #666666;
  }
}
main.windshield #otoku00 .box .inner-box {
  text-align: center;
}
main.windshield #otoku00 .box .inner-box img {
  width: 60%;
  min-width: 300px;
}
main.windshield #otoku01 {
  background-color: #EAECF3;
  position: relative;
  padding-top: 0;
  margin-top: 160px;
}
@media screen and (max-width: 769px) {
  main.windshield #otoku01 {
    margin-top: 80px;
    padding-bottom: 30px;
  }
}
main.windshield #otoku01::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: -120px;
  border-top: 60px solid transparent;
  border-left: 50vw solid transparent;
  border-right: 50vw solid #EAECF3;
  border-bottom: 60px solid #EAECF3;
  z-index: 0;
}
@media screen and (max-width: 769px) {
  main.windshield #otoku01::before {
    top: -40px;
    border-top: 20px solid transparent;
    border-bottom: 20px solid #EAECF3;
  }
}
main.windshield #otoku01::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: -120px;
  border-bottom: 60px solid transparent;
  border-right: 50vw solid transparent;
  border-left: 50vw solid #EAECF3;
  border-top: 60px solid #EAECF3;
  z-index: 1;
}
@media screen and (max-width: 769px) {
  main.windshield #otoku01::after {
    bottom: -40px;
    border-bottom: 20px solid transparent;
    border-top: 20px solid #EAECF3;
  }
}
main.windshield #otoku01 .box .title-box {
  position: relative;
  top: -120px;
  margin-bottom: -70px;
}
@media screen and (max-width: 769px) {
  main.windshield #otoku01 .box .title-box {
    top: -50px;
    margin-bottom: -30px;
  }
}
main.windshield #otoku01 .box .title-box h2 {
  text-align: center;
  margin-bottom: 30px;
}
@media screen and (max-width: 769px) {
  main.windshield #otoku01 .box .title-box h2 {
    margin-bottom: 10px;
  }
}
main.windshield #otoku01 .box .title-box h2 img {
  width: 200px;
}
@media screen and (max-width: 769px) {
  main.windshield #otoku01 .box .title-box h2 img {
    width: 100px;
  }
}
main.windshield #otoku01 .box .title-box p {
  text-align: center;
  font-size: 24px;
  font-weight: bold;
  color: #1E3E92;
}
@media screen and (max-width: 769px) {
  main.windshield #otoku01 .box .title-box p {
    font-size: 16px;
  }
}
main.windshield #otoku01 .box .inner-box table {
  width: 90%;
  margin: 0 auto;
}
@media screen and (max-width: 769px) {
  main.windshield #otoku01 .box .inner-box table {
    width: 100%;
  }
}
main.windshield #otoku01 .box .inner-box table thead th {
  background-color: #1E3E92;
  color: #fff;
  padding: 20px;
  text-align: center;
  font-weight: bold;
}
@media screen and (max-width: 769px) {
  main.windshield #otoku01 .box .inner-box table thead th {
    padding: 5px;
  }
}
main.windshield #otoku01 .box .inner-box table thead th:first-of-type {
  border-right: 1px solid #fff;
}
main.windshield #otoku01 .box .inner-box table tbody tr th {
  border: 1px solid #666;
  padding: 20px;
  text-align: center;
  background-color: #fff;
  vertical-align: middle;
  font-weight: bold;
}
@media screen and (max-width: 769px) {
  main.windshield #otoku01 .box .inner-box table tbody tr th {
    padding: 5px;
    letter-spacing: 0;
  }
}
main.windshield #otoku01 .box .inner-box table tbody tr td {
  border: 1px solid #666;
  padding: 20px;
  text-align: center;
  background-color: #fff;
}
@media screen and (max-width: 769px) {
  main.windshield #otoku01 .box .inner-box table tbody tr td {
    padding: 10px 5px;
    letter-spacing: 0;
    line-height: 1;
  }
}
main.windshield #otoku01 .box .inner-box table tbody tr td p {
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  letter-spacing: 0;
}
@media screen and (max-width: 769px) {
  main.windshield #otoku01 .box .inner-box table tbody tr td p {
    flex-wrap: wrap;
    letter-spacing: 0;
    line-height: 1;
    font-size: 20px;
    margin-bottom: 10px;
  }
}
main.windshield #otoku01 .box .inner-box table tbody tr td p span {
  font-size: 14px;
  background-color: #707070;
  color: #fff;
  padding: 5px;
  margin-right: 10px;
}
@media screen and (max-width: 769px) {
  main.windshield #otoku01 .box .inner-box table tbody tr td p span {
    padding: 2px 5px;
    margin-right: 0;
    margin-bottom: 10px;
    letter-spacing: 0;
    line-height: 1;
    font-size: 10px;
  }
}
main.windshield #otoku01 .box .inner-box table tbody tr td small {
  font-size: 14px;
}
@media screen and (max-width: 769px) {
  main.windshield #otoku01 .box .inner-box table tbody tr td small {
    font-size: 8px;
    letter-spacing: 0;
    line-height: 1;
  }
}
main.windshield #otoku01 .box .inner-box table tbody tr td.blue {
  background-color: #EAECF3;
}
main.windshield #otoku01 .box .inner-box table tbody tr td.blue p span {
  background-color: #1E3E92;
}
main.windshield #otoku01 .box .inner-box p.note {
  font-size: 12px;
  color: #666666;
  width: 90%;
  margin: 20px auto;
}
@media screen and (max-width: 769px) {
  main.windshield #otoku01 .box .inner-box p.note {
    width: 100%;
  }
}
main.windshield #otoku01 .box .inner-box p.note02 {
  width: 90%;
  margin: 20px auto 50px;
  font-size: 20px;
  font-weight: bold;
  color: #fff;
  background-color: #666666;
  text-align: center;
  padding: 10px;
}
@media screen and (max-width: 769px) {
  main.windshield #otoku01 .box .inner-box p.note02 {
    width: 100%;
    font-size: 16px;
  }
}
main.windshield #otoku01 .box .inner-box .graph {
  width: 90%;
  margin: 20px auto;
  text-align: center;
}
main.windshield #otoku01 .box .inner-box .graph h3 {
  display: inline-block;
  text-align: center;
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 30px;
  position: relative;
}
@media screen and (max-width: 769px) {
  main.windshield #otoku01 .box .inner-box .graph h3 {
    font-size: 16px;
  }
}
main.windshield #otoku01 .box .inner-box .graph h3::before {
  content: "";
  width: 2px;
  height: 1.2em;
  background-color: #3c3c3c;
  position: absolute;
  left: -30px;
  top: 50%;
  transform: translateY(-50%) rotate(-15deg);
}
@media screen and (max-width: 769px) {
  main.windshield #otoku01 .box .inner-box .graph h3::before {
    left: -20px;
  }
}
main.windshield #otoku01 .box .inner-box .graph h3::after {
  content: "";
  width: 2px;
  height: 1.2em;
  background-color: #3c3c3c;
  position: absolute;
  right: -30px;
  top: 50%;
  transform: translateY(-50%) rotate(15deg);
}
@media screen and (max-width: 769px) {
  main.windshield #otoku01 .box .inner-box .graph h3::after {
    right: -20px;
  }
}
main.windshield #otoku01 .box .inner-box .graph img {
  display: block;
  width: 60%;
}
@media screen and (max-width: 769px) {
  main.windshield #otoku01 .box .inner-box .graph img {
    width: 100%;
  }
}
main.windshield #otoku01 .box .inner-box .graph p.note {
  width: 90%;
  margin: 20px auto;
  text-align: left;
}
@media screen and (max-width: 769px) {
  main.windshield #otoku01 .box .inner-box .graph p.note {
    width: 100%;
  }
}
main.windshield #aiming {
  padding-top: 160px;
  background-color: #F7F7F7;
  position: relative;
  z-index: 0;
}
@media screen and (max-width: 769px) {
  main.windshield #aiming {
    padding: 80px 0;
  }
}
main.windshield #aiming::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: -120px;
  border-bottom: 60px solid transparent;
  border-right: 50vw solid transparent;
  border-left: 50vw solid #F7F7F7;
  border-top: 60px solid #F7F7F7;
  z-index: 0;
}
@media screen and (max-width: 769px) {
  main.windshield #aiming::after {
    bottom: -40px;
    border-bottom: 20px solid transparent;
    border-top: 20px solid #F7F7F7;
  }
}
main.windshield #aiming .aiming-box {
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
  background-color: #fff;
  border: 2px solid #1E3E92;
  border-radius: 10px;
  padding: 30px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
main.windshield #aiming .aiming-box .text {
  width: 45%;
  margin-right: 5%;
}
@media screen and (max-width: 769px) {
  main.windshield #aiming .aiming-box .text {
    width: 100%;
    margin: 0 0 30px;
  }
}
main.windshield #aiming .aiming-box .text h3 {
  font-size: 32px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 1em;
  color: #1E3E92;
}
@media screen and (max-width: 769px) {
  main.windshield #aiming .aiming-box .text h3 {
    font-size: 18px;
  }
}
main.windshield #aiming .aiming-box .text p {
  font-size: 14px;
  text-align: left;
}
main.windshield #aiming .aiming-box .img {
  width: 50%;
}
@media screen and (max-width: 769px) {
  main.windshield #aiming .aiming-box .img {
    width: 100%;
  }
}
main.windshield #aiming .aiming-box .img img {
  width: 100%;
}
main.windshield .moritis {
  padding-top: 80px;
}
main.windshield .moritis h3 {
  text-align: center;
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 30px;
}
@media screen and (max-width: 769px) {
  main.windshield .moritis h3 {
    font-size: 16px;
  }
}
main.windshield .moritis .moritis-box {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
}
main.windshield .moritis .moritis-box .img {
  width: 50%;
}
@media screen and (max-width: 769px) {
  main.windshield .moritis .moritis-box .img {
    width: 100%;
  }
}
main.windshield .moritis .moritis-box .img img {
  width: 100%;
}
main.windshield .moritis .moritis-box .text {
  width: 45%;
  margin-left: 5%;
  text-align: left;
}
@media screen and (max-width: 769px) {
  main.windshield .moritis .moritis-box .text {
    width: 100%;
    margin: 20px 0 0;
    text-align: center;
  }
}
main.windshield .moritis .moritis-box .text h3 {
  margin-bottom: 30px;
  text-align: left;
}
main.windshield .moritis .moritis-box .text h3 img {
  width: auto;
}
main.windshield .moritis .moritis-box .text p {
  font-size: 14px;
  text-align: left;
  margin-bottom: 30px;
  text-align: left;
}
main.windshield .moritis .moritis-box .text a {
  display: inline-block;
  background-color: #5791CE;
  border-radius: 50px;
  color: #fff;
  font-size: 14px;
  font-weight: bold;
  padding: 15px 50px 15px 30px;
  transition: 0.2s;
  position: relative;
}
main.windshield .moritis .moritis-box .text a::after {
  content: "";
  background-image: url(../../img/top/arrow-moritis.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 20px;
  height: 25px;
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
}
main.windshield .moritis .moritis-box .text a:hover {
  opacity: 0.7;
}
main.windshield #kantan {
  padding-top: 120px;
}
main.windshield #kantan .box .title-box {
  position: relative;
  top: -120px;
}
@media screen and (max-width: 769px) {
  main.windshield #kantan .box .title-box {
    margin-bottom: -90px;
  }
}
main.windshield #kantan .box .title-box h2 {
  text-align: center;
  margin-bottom: 30px;
}
main.windshield #kantan .box .title-box h2 img {
  width: 200px;
}
@media screen and (max-width: 769px) {
  main.windshield #kantan .box .title-box h2 img {
    width: 100px;
  }
}
main.windshield #kantan .box .title-box p {
  text-align: center;
  font-size: 18px;
  font-weight: bold;
  color: #1E3E92;
}
main.windshield #kantan .box .inner-box {
  width: 90%;
  margin: 20px auto;
  display: flex;
  flex-wrap: wrap;
  flex-direction: row-reverse;
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 769px) {
  main.windshield #kantan .box .inner-box {
    width: 100%;
  }
}
main.windshield #kantan .box .inner-box .text {
  width: 45%;
  margin-right: 5%;
}
@media screen and (max-width: 769px) {
  main.windshield #kantan .box .inner-box .text {
    width: 100%;
    margin-right: 0;
    margin-bottom: 10px;
    margin: 30px 0 0;
  }
}
main.windshield #kantan .box .inner-box .text h3 {
  font-size: 32px;
  font-weight: bold;
  margin-bottom: 1em;
  color: #1E3E92;
}
@media screen and (max-width: 769px) {
  main.windshield #kantan .box .inner-box .text h3 {
    font-size: 20px;
    text-align: center;
  }
}
main.windshield #kantan .box .inner-box .text p {
  font-size: 14px;
  text-align: left;
}
@media screen and (max-width: 769px) {
  main.windshield #kantan .box .inner-box .text p {
    text-align: center;
  }
}
main.windshield #kantan .box .inner-box .text .btn-box {
  margin-top: 50px;
  display: flex;
  flex-wrap: wrap;
}
@media screen and (max-width: 769px) {
  main.windshield #kantan .box .inner-box .text .btn-box {
    justify-content: center;
  }
}
main.windshield #kantan .box .inner-box .text .btn-box a {
  display: inline-block;
  background-color: #1E3E92;
  border-radius: 50px;
  color: #fff;
  font-size: 14px;
  font-weight: bold;
  padding: 15px 30px 15px 10px;
  transition: 0.2s;
  border: 2px solid #1E3E92;
  width: 60%;
  margin: 0;
  text-align: center;
}
@media screen and (max-width: 769px) {
  main.windshield #kantan .box .inner-box .text .btn-box a {
    width: 80%;
  }
}
main.windshield #kantan .box .inner-box .text .btn-box a:hover {
  opacity: 0.7;
}
main.windshield #kantan .box .inner-box .text .btn-box a.mail {
  background-color: #fff;
  color: #1E3E92;
  margin-bottom: 10px;
  position: relative;
}
main.windshield #kantan .box .inner-box .text .btn-box a.mail::after {
  content: "";
  background-image: url(../img/top/arrow01.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 7px;
  height: 13px;
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
}
main.windshield #kantan .box .inner-box .text .btn-box a.fax {
  position: relative;
}
main.windshield #kantan .box .inner-box .text .btn-box a.fax::after {
  content: "";
  background-image: url(../img/top/arrow02.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 7px;
  height: 13px;
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
}
main.windshield #kantan .box .inner-box .img {
  width: 50%;
}
@media screen and (max-width: 769px) {
  main.windshield #kantan .box .inner-box .img {
    width: 100%;
    text-align: center;
  }
}
main.windshield #kantan .box .inner-box .img img {
  width: 100%;
}
@media screen and (max-width: 769px) {
  main.windshield #kantan .box .inner-box .img img {
    width: 80%;
  }
}
main.windshield #ansin {
  background-color: #EAECF3;
  position: relative;
  padding-top: 0;
  margin-top: 160px;
}
@media screen and (max-width: 769px) {
  main.windshield #ansin {
    margin-top: 80px;
  }
}
main.windshield #ansin::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: -120px;
  border-top: 60px solid transparent;
  border-left: 50vw solid transparent;
  border-right: 50vw solid #EAECF3;
  border-bottom: 60px solid #EAECF3;
  z-index: 0;
}
@media screen and (max-width: 769px) {
  main.windshield #ansin::before {
    top: -40px;
    border-top: 20px solid transparent;
    border-bottom: 20px solid #EAECF3;
  }
}
main.windshield #ansin .box .title-box {
  position: relative;
  top: -120px;
  margin-bottom: -90px;
}
@media screen and (max-width: 769px) {
  main.windshield #ansin .box .title-box {
    margin-bottom: -50px;
    top: -50px;
  }
}
main.windshield #ansin .box .title-box h2 {
  text-align: center;
  margin-bottom: 30px;
}
main.windshield #ansin .box .title-box h2 img {
  width: 200px;
}
@media screen and (max-width: 769px) {
  main.windshield #ansin .box .title-box h2 img {
    width: 100px;
  }
}
main.windshield #ansin .box .title-box p {
  text-align: center;
  font-size: 24px;
  font-weight: bold;
  color: #1E3E92;
  margin-bottom: 30px;
}
@media screen and (max-width: 769px) {
  main.windshield #ansin .box .title-box p {
    font-size: 20px;
  }
}
main.windshield #ansin .box .title-box small {
  width: 80%;
  margin: 20px auto;
  font-size: 14px;
  display: block;
  color: #666666;
}
@media screen and (max-width: 769px) {
  main.windshield #ansin .box .title-box small {
    width: 90%;
  }
}
main.windshield #ansin .box .inner-box {
  text-align: center;
}
main.windshield #ansin .box .inner-box img {
  width: 90%;
}
@media screen and (max-width: 769px) {
  main.windshield #ansin .box .inner-box img {
    width: 100%;
  }
}
main.windshield #ansin .box .inner-box h3 {
  width: 90%;
  font-size: 20px;
  font-weight: bold;
  padding: 10px;
  color: #fff;
  background-color: #1E3E92;
  margin: 50px auto;
}
@media screen and (max-width: 769px) {
  main.windshield #ansin .box .inner-box h3 {
    width: 100%;
    font-size: 18px;
    margin: 30px auto;
  }
}
main.windshield #ansin .box .inner-box p {
  width: 80%;
  margin: 0 auto;
  text-align: left;
}
@media screen and (max-width: 769px) {
  main.windshield #ansin .box .inner-box p {
    width: 100%;
    font-size: 14px;
    color: #666666;
  }
}
main.windshield #ansin .box .inner-box .dl-box {
  width: 80%;
  margin: 30px auto 0;
  background-color: #fff;
  border: 2px solid #1E3E92;
  border-radius: 10px;
  padding: 30px 50px;
}
@media screen and (max-width: 769px) {
  main.windshield #ansin .box .inner-box .dl-box {
    width: 100%;
    padding: 10px;
  }
}
main.windshield #ansin .box .inner-box .dl-box dl {
  border-bottom: 1px dashed #bbb;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  padding: 10px 0;
}
main.windshield #ansin .box .inner-box .dl-box dl:last-of-type {
  border-bottom: none;
}
main.windshield #ansin .box .inner-box .dl-box dl dt {
  width: 8em;
  text-align: left;
  color: #666666;
}
@media screen and (max-width: 769px) {
  main.windshield #ansin .box .inner-box .dl-box dl dt {
    width: 6em;
    font-size: 14px;
  }
}
main.windshield #ansin .box .inner-box .dl-box dl dd {
  font-size: 14px;
  text-align: left;
  width: calc(100% - 8em);
  color: #666666;
}
@media screen and (max-width: 769px) {
  main.windshield #ansin .box .inner-box .dl-box dl dd {
    font-size: 12px;
  }
}
main.windshield #step {
  background-color: #1E3E92;
}
@media screen and (max-width: 769px) {
  main.windshield #step .box .title-box {
    width: 90%;
    margin: 0 auto;
  }
}
main.windshield #step .box .title-box h2 {
  color: #fff;
  font-size: 30px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 30px;
}
@media screen and (max-width: 769px) {
  main.windshield #step .box .title-box h2 {
    font-size: 20px;
  }
}
main.windshield #step .box .title-box p {
  color: #fff;
  text-align: center;
  margin-bottom: 50px;
}
@media screen and (max-width: 769px) {
  main.windshield #step .box .title-box p {
    font-size: 14px;
  }
}
main.windshield #step .box .inner-box ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
main.windshield #step .box .inner-box ul li {
  width: 24%;
  background-color: #fff;
  padding: 30px;
  border-radius: 10px;
}
@media screen and (max-width: 769px) {
  main.windshield #step .box .inner-box ul li {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    margin-bottom: 20px;
    padding: 70px 20px 20px;
  }
}
main.windshield #step .box .inner-box ul li span {
  background-color: #1E3E92;
  color: #fff;
  font-weight: bold;
  border-radius: 100px;
  display: block;
  text-align: center;
  margin-bottom: 30px;
}
@media screen and (max-width: 769px) {
  main.windshield #step .box .inner-box ul li span {
    position: absolute;
    top: 20px;
    left: 50%;
    transform: translateX(-50%);
    width: 60%;
  }
}
main.windshield #step .box .inner-box ul li img {
  width: 100%;
  margin-bottom: 20px;
}
@media screen and (max-width: 769px) {
  main.windshield #step .box .inner-box ul li img {
    width: 40%;
    margin: 0;
  }
}
main.windshield #step .box .inner-box ul li p {
  font-size: 14px;
  color: #666666;
}
@media screen and (max-width: 769px) {
  main.windshield #step .box .inner-box ul li p {
    width: 55%;
  }
}
@media screen and (max-width: 769px) {
  main.windshield #voice .box .title-box {
    width: 90%;
    margin: 0 auto;
  }
}
main.windshield #voice .box .title-box h2 {
  font-size: 30px;
  font-weight: bold;
  text-align: center;
  color: #1E3E92;
  margin-bottom: 30px;
}
@media screen and (max-width: 769px) {
  main.windshield #voice .box .title-box h2 {
    font-size: 20px;
  }
}
main.windshield #voice .box .title-box p {
  font-size: 14px;
  color: #666666;
  margin-bottom: 50px;
  text-align: center;
}
main.windshield #voice .box .inner-box ul {
  display: flex;
}
main.windshield #voice .box .inner-box ul li {
  width: 70vw;
  max-width: 900px;
  border: 2px solid #1E3E92;
  border-radius: 10px;
  padding: 50px;
  background-color: #fff;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  flex-direction: row-reverse;
  margin: 0 30px;
}
@media screen and (max-width: 769px) {
  main.windshield #voice .box .inner-box ul li {
    margin: 0 10px;
    padding: 20px;
    align-content: center;
    height: 540px;
  }
}
main.windshield #voice .box .inner-box ul li .text {
  width: 70%;
  margin-right: 5%;
}
@media screen and (max-width: 769px) {
  main.windshield #voice .box .inner-box ul li .text {
    width: 100%;
    margin-top: 20px;
  }
}
main.windshield #voice .box .inner-box ul li .text h3 {
  font-size: 20px;
  font-weight: bold;
  color: #1E3E92;
  margin-bottom: 10px;
}
@media screen and (max-width: 769px) {
  main.windshield #voice .box .inner-box ul li .text h3 {
    font-size: 16px;
    margin-bottom: 0;
  }
}
main.windshield #voice .box .inner-box ul li .text p {
  font-size: 16px;
  color: #666666;
  margin-bottom: 20px;
}
@media screen and (max-width: 769px) {
  main.windshield #voice .box .inner-box ul li .text p {
    font-size: 14px;
  }
}
main.windshield #voice .box .inner-box ul li .img {
  width: 25%;
  text-align: center;
}
@media screen and (max-width: 769px) {
  main.windshield #voice .box .inner-box ul li .img {
    width: 100%;
  }
}
main.windshield #voice .box .inner-box ul li .img img {
  width: 80%;
  background-color: #EAECF3;
  padding: 20px;
  border-radius: 50%;
  aspect-ratio: 1/1;
}
main.windshield #voice .box .inner-box ul li .img p {
  text-align: center;
  margin-top: 10px;
}
main.windshield #voice .box .inner-box ul li .img small {
  font-size: 13px;
  color: #666666;
  text-align: center;
}
main.windshield #voice .box .inner-box .prev-arrow {
  position: absolute;
  left: 1%;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
  width: 70px;
  cursor: pointer;
}
@media screen and (max-width: 769px) {
  main.windshield #voice .box .inner-box .prev-arrow {
    width: 50px;
    left: 0;
  }
}
main.windshield #voice .box .inner-box .next-arrow {
  position: absolute;
  right: 1%;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
  width: 70px;
  cursor: pointer;
}
@media screen and (max-width: 769px) {
  main.windshield #voice .box .inner-box .next-arrow {
    width: 50px;
    right: 0;
  }
}
main.windshield #voice .box .inner-box ul.slick-dots {
  display: flex;
  justify-content: center;
}
main.windshield #voice .box .inner-box ul.slick-dots li {
  width: 20px;
  height: 10px;
  border: none;
  padding: 0;
  margin: 0;
}
main.windshield #voice .box .inner-box ul.slick-dots li button::before {
  font-size: 40px;
}
main.windshield #flow {
  background-color: #EAECF3;
}
main.windshield #flow .box .title-box h2 {
  font-size: 30px;
  font-weight: bold;
  color: #1E3E92;
  text-align: center;
  margin-bottom: 50px;
}
@media screen and (max-width: 769px) {
  main.windshield #flow .box .title-box h2 {
    font-size: 20px;
  }
}
main.windshield #flow .box .inner-box ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  position: relative;
}
main.windshield #flow .box .inner-box ul::before {
  content: "";
  background-color: #1E3E92;
  width: 100%;
  height: 20px;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
@media screen and (max-width: 769px) {
  main.windshield #flow .box .inner-box ul::before {
    width: 5px;
    height: 77%;
    left: 7.7%;
  }
}
main.windshield #flow .box .inner-box ul li {
  width: 19%;
  border: 2px solid #1E3E92;
  border-radius: 10px;
  padding: 80px 10px 10px;
  background-color: #fff;
  text-align: center;
  position: relative;
}
@media screen and (max-width: 769px) {
  main.windshield #flow .box .inner-box ul li {
    width: 80%;
    margin-left: 20%;
    margin-bottom: 20px;
    padding: 10px;
  }
}
main.windshield #flow .box .inner-box ul li span.num {
  position: absolute;
  top: -25px;
  left: 50%;
  transform: translateX(-50%);
  background-color: #1E3E92;
  font-size: 13px;
  font-weight: bold;
  color: #fff;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-content: center;
  box-sizing: content-box;
  padding: 10px;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  line-height: 1;
}
@media screen and (max-width: 769px) {
  main.windshield #flow .box .inner-box ul li span.num {
    top: 50%;
    left: -25%;
    transform: translateX(0);
    transform: translateY(-50%);
    width: 30px;
    height: 30px;
    font-size: 8px;
    font-weight: normal;
  }
}
main.windshield #flow .box .inner-box ul li span.num span {
  font-size: 20px;
  font-weight: bold;
  display: block;
  color: #fff;
  line-height: 1;
  font-weight: normal;
}
main.windshield #flow .box .inner-box ul li img {
  height: 50px;
}
@media screen and (max-width: 769px) {
  main.windshield #flow .box .inner-box ul li img {
    width: 40px;
    position: absolute;
    left: 25px;
    top: 50%;
    transform: translateY(-50%);
  }
}
main.windshield #flow .box .inner-box ul li h3 {
  font-size: 20px;
  font-weight: bold;
  color: #1E3E92;
  text-align: center;
  margin-bottom: 10px;
}
@media screen and (max-width: 769px) {
  main.windshield #flow .box .inner-box ul li h3 {
    margin-left: 80px;
    margin-bottom: 0;
    text-align: left;
    font-size: 16px;
  }
}
main.windshield #flow .box .inner-box ul li p {
  font-size: 14px;
  color: #666666;
  text-align: left;
}
@media screen and (max-width: 769px) {
  main.windshield #flow .box .inner-box ul li p {
    margin-left: 80px;
    font-size: 12px;
  }
}
main.windshield #flow .box .inner-box p.note {
  font-size: 12px;
  color: #666666;
  width: 90%;
  margin: 20px auto;
}
@media screen and (max-width: 769px) {
  main.windshield #flow .box .inner-box p.note {
    width: 100%;
  }
}
main.windshield #flow .box .inner-box .btn-box {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  margin-top: 50px;
}
main.windshield #flow .box .inner-box .btn-box a {
  display: inline-block;
  min-width: 240px;
  background-color: #1E3E92;
  border-radius: 50px;
  color: #fff;
  font-size: 14px;
  font-weight: bold;
  padding: 15px 60px;
  transition: 0.2s;
  border: 2px solid #1E3E92;
  margin: 0;
}
@media screen and (max-width: 769px) {
  main.windshield #flow .box .inner-box .btn-box a {
    width: 80%;
    padding: 15px 40px;
  }
}
main.windshield #flow .box .inner-box .btn-box a:hover {
  opacity: 0.7;
}
main.windshield #flow .box .inner-box .btn-box a.mail {
  background-color: #fff;
  color: #1E3E92;
  margin-right: 30px;
  position: relative;
}
@media screen and (max-width: 769px) {
  main.windshield #flow .box .inner-box .btn-box a.mail {
    margin: 0 0 20px;
  }
}
main.windshield #flow .box .inner-box .btn-box a.mail::after {
  content: "";
  background-image: url(../img/top/arrow01.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 7px;
  height: 13px;
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
}
main.windshield #flow .box .inner-box .btn-box a.fax {
  position: relative;
}
main.windshield #flow .box .inner-box .btn-box a.fax::after {
  content: "";
  background-image: url(../img/top/arrow02.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 7px;
  height: 13px;
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
}
main.windshield #alert {
  background-color: #F7F7F7;
}
main.windshield #alert .box .inner-box {
  width: 90%;
  margin: 0 auto;
}
main.windshield #alert .box .inner-box p {
  font-size: 13px;
  color: #666666;
}
@media screen and (max-width: 769px) {
  main.windshield #alert .box .inner-box p {
    font-size: 12px;
  }
}
main.windshield #faq {
  background-color: #fff;
}
main.windshield #faq .box .title-box h2 {
  font-size: 30px;
  font-weight: bold;
  color: #1E3E92;
  text-align: center;
  margin-bottom: 50px;
}
@media screen and (max-width: 769px) {
  main.windshield #faq .box .title-box h2 {
    font-size: 20px;
  }
}
main.windshield #faq .box .inner-box {
  width: 80%;
  margin: 0 auto;
}
main.windshield #faq .box .inner-box ul li {
  position: relative;
  margin-bottom: 25px;
  border-bottom: 1px solid #ccc;
  padding-bottom: 15px;
}
main.windshield #faq .box .inner-box ul li dl dt {
  font-size: 16px;
  color: #666666;
  margin-bottom: 15px;
  cursor: pointer;
  position: relative;
  padding-left: 40px;
}
@media screen and (max-width: 769px) {
  main.windshield #faq .box .inner-box ul li dl dt {
    font-size: 14px;
    font-weight: normal;
    padding-left: 2.8em;
    padding-right: 20px;
  }
}
main.windshield #faq .box .inner-box ul li dl dt:before {
  content: "Q.";
  color: #666666;
  font-size: 20px;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 30px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
}
main.windshield #faq .box .inner-box ul li dl dt:after {
  content: "＋";
  color: #1E3E92;
  position: absolute;
  right: 0;
  top: 8px;
  background-repeat: no-repeat;
  background-size: cover;
  width: 20px;
  aspect-ratio: 1/1;
  transition: 0.2s;
}
@media screen and (max-width: 769px) {
  main.windshield #faq .box .inner-box ul li dl dt:after {
    width: 15px;
  }
}
main.windshield #faq .box .inner-box ul li dl dt.on:after {
  content: "-";
  color: #1E3E92;
  top: 16px;
  aspect-ratio: 31/4;
}
main.windshield #faq .box .inner-box ul li dl dd {
  padding: 20px 0 20px 40px;
  display: none;
  font-size: 14px;
  color: #666666;
  position: relative;
}
@media screen and (max-width: 769px) {
  main.windshield #faq .box .inner-box ul li dl dd {
    font-size: 14px;
  }
}
main.windshield #faq .box .inner-box ul li dl dd:before {
  content: "A.";
  color: #1E3E92;
  font-size: 20px;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 30px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
}
main.windshield #sdgs .box .inner-box {
  width: 80%;
  margin: 0 auto;
}
main.windshield #sdgs .box .inner-box img {
  width: 100%;
}
main.windshield #contact-box #contact-box-inside h2 {
  letter-spacing: initial;
}
main.windshield #contact-box #contact-box-inside .white-box .white-box-left p a {
  letter-spacing: initial;
}
