@charset "utf-8";
/* CSS Document */
html {
  font-size: 10px;
}
body {
  font-family: 'Noto Sans JP', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', Osaka, 'MS PGothic', 'ＭＳ Ｐゴシック', 'MS Gothic', 'メイリオ', Meiryo, '游ゴシック体', YuGothic, '游ゴシック', 'Yu Gothic', 'Helvetica Neue', Arial, sans-serif;
  font-size: 1.6rem;
  margin: 0px;
  text-align: center;
  background-color: #FFFFFF;
  line-height: 1.5;
  color: #333;
  word-wrap: break-word;
  image-rendering: auto;
  font-weight: normal;
}
p, form {
  margin: 0px;
  padding: 0px;
}
img {
  border: none;
  margin: 0px;
  padding: 0px;
  backface-visibility: visible;
  -webkit-backface-visibility: visible;
  max-width: 100%;
  height: auto;
  vertical-align: top;
}
a {
  text-decoration: none;
  outline: none;
  color: #333;
}
a:hover img {
  opacity: 0.75;
}
a, a img, input, textarea, button {
  transition: all 0.15s ease-in-out;
  -webkit-transition: all 0.15s ease-in-out;
  -moz-transition: all 0.15s ease-in-out;
  outline: none;
}
input, textarea, select, button {
  outline: none;
}
h1, h2, h3, h4, ul, dl, dt, dd {
  margin: 0px;
  padding: 0px;
  font-weight: normal;
  list-style: none;
}
p, h1, h2, h3, h4, a, span, li, th, td, dt, dd, address {
  transform: rotate(0.05deg);
}
*, *:before, *:after {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.lf {
  float: left;
}
.rh {
  float: right;
}
.clr {
  clear: both;
}
.cf:after {
  content: " ";
  display: block;
  height: 0;
  clear: both;
  overflow: hidden;
  visibility: hidden;
}
a.a {
  text-decoration: underline;
}
a.a:hover {
  text-decoration: none;
}
.sp {
  display: none;
}
*[data-before]:before {
  content: attr(data-before);
}
*[data-after]:after {
  content: attr(data-after);
}
body.nc *, body.nc *:before, body.nc *:after {
  transition: none !important;
  transition-delay: 0s !important;
  animation-delay: 0s !important;
  animation-duration: 0s !important;
}
html:after {
  content: '';
  position: fixed;
  top: 50%;
  left: 50%;
  width: 30px;
  height: 30px;
  margin-top: -15px;
  margin-left: -15px;
  border-radius: 50%;
  border: solid 2px;
  border-color: #d7ebfa transparent #d7ebfa transparent;
  animation: spin 1s linear infinite;
  transition: opacity 0.2s ease-in-out;
  pointer-events: none;
}
html body {
  transition: opacity 1s ease-in-out;
  opacity: 0;
}
html.init body {
  opacity: 1;
}
html.init:after {
  opacity: 0;
  visibility: hidden;
}
@keyframes spin {
  100% {
    transform: rotate(360deg);
  }
}
/* Header */
header {
  position: fixed;
  top: 0px;
  left: 0px;
  padding: 0px 10px;
  width: 100%;
  height: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
  transition: all 0.2s ease-in-out;
  background-color: #fff;
}
header .cont {
  width: 1110px;
  max-width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
header .spm {
  display: none;
}
.nav_shrink header {
  height: 80px;
  background-color: #fff;
  box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.1);
}
header nav {
  display: flex;
  align-items: center;
}
header nav ul {
  display: flex;
  align-items: center;
}
header nav li {
  padding: 0px 3px;
}
header nav li a {
  font-weight: bold;
  font-size: 1.55rem;
  display: block;
  position: relative;
  padding: 10px;
}
header nav li a:after {
  display: none;
}
header nav li a:before {
  content: '';
  width: calc(100% - 40px);
  height: 2px;
  background-color: #03987C;
  position: absolute;
  left: 20px;
  bottom: 6px;
  transition: all 0.15s ease-out;
  transform: scaleX(0);
}
header nav li a:hover, header nav li a.on {
  color: #03987C;
}
header nav li a.on:before {
  transform: scaleX(1);
}
header nav div {
  padding-left: 30px;
}
header nav div a {
  display: block;
  background-color: #0A3E86;
  color: #fff;
  font-weight: bold;
  padding: 15px 45px;
  border-radius: 50px;
  position: relative;
  overflow: hidden;
}
header nav div a:after {
  content: '';
  z-index: 1;
  width: 300%;
  height: 100%;
  top: 0px;
  left: -200%;
  background: linear-gradient(120deg, rgba(255, 255, 255, 0) 33.33%, rgba(255, 255, 255, 0) 33.33%, rgba(255, 255, 255, 0.8) 50%, rgba(255, 255, 255, 0) 66.66%, rgba(255, 255, 255, 0) 66.66%);
  position: absolute;
  animation: flashMaskLoop 7s ease infinite;
  animation-delay: 3s;
}
header nav div a:hover {
  background-color: #1d5ba9;
  text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.1);
  box-shadow: 0px 1px 5px rgba(0, 0, 0, 0.1);
}
header nav div a:hover:after {
  animation: flashMask 1s ease forwards;
}
@keyframes flashMask {
  0% {
    left: -200%
  }
  100% {
    left: 0%;
  }
}
@keyframes flashMaskLoop {
  0% {
    left: -200%
  }
  40% {
    left: 0%;
  }
  100% {
    left: 0%;
  }
}
@media screen and (max-width: 1100px) {
  header nav div {
    padding-left: 20px;
  }
}
@media screen and (max-width: 1050px) {
  header nav li {
    padding: 0px 2px;
  }
  header nav li a {
    font-size: 1.3rem;
    padding: 10px 10px;
  }
  header nav li a:before {
    width: calc(100% - 30px);
    left: 15px;
  }
  header nav div {
    padding-left: 10px;
  }
  header nav div a {
    padding: 12px 20px;
	  font-size: 1.3rem;
  }
}
@media screen and (max-width: 900px) {
header {
    height: 80px;
    padding: 0px 20px;
  }
  header .logo {
    position: relative;
    z-index: 1;
  }
  header .logo img {
    width: 120px;
  }
  header .spm {
    display: block;
    width: 50px;
    height: 50px;
    background-color: #fff;
    border-radius: 50%;
    position: relative;
  }
  header .spm:hover {
    opacity: 0.8;
  }
  header .spm:before, header .spm i:before, header .spm i:after {
    content: '';
    position: absolute;
    width: 20px;
    height: 2px;
    background-color: #0A3E86;
    left: 50%;
    top: 50%;
    margin: -1px 0px 0px -10px;
  }
  header .spm:before {
    animation: nav_s ease-in-out 0.2s 1 forwards;
  }
  header .spm i:before {
    animation: nav_i_b ease-in-out 0.2s 1 forwards;
  }
  header .spm i:after {
    animation: nav_i_a ease-in-out 0.2s 1 forwards;
  }
  .nav_on header .spm:before {
    animation: nav_on_s ease-in-out 0.2s 1 forwards;
  }
  .nav_on header .spm i:before {
    animation: nav_on_i_b ease-in-out 0.2s 1 forwards;
  }
  .nav_on header .spm i:after {
    animation: nav_on_i_a ease-in-out 0.2s 1 forwards;
  }
  @keyframes nav_s {
    100% {
      transform: translateY(0px);
    }
    50% {
      transform: translateY(0px);
    }
    0% {
      transform: translateY(0px);
      opacity: 0;
    }
  }
  @keyframes nav_i_b {
    100% {
      transform: translateY(-6px);
    }
    50% {
      transform: translateY(0px);
    }
    0% {
      transform: translateY(0px) rotate(45deg);
    }
  }
  @keyframes nav_i_a {
    100% {
      transform: translateY(6px);
    }
    50% {
      transform: translateY(0px);
    }
    0% {
      transform: translateY(0px) rotate(-45deg);
    }
  }
  @keyframes nav_on_s {
    0% {
      transform: translateY(0px);
    }
    50% {
      transform: translateY(0px);
    }
    100% {
      transform: translateY(0px);
      opacity: 0;
    }
  }
  @keyframes nav_on_i_b {
    0% {
      transform: translateY(-6px);
    }
    50% {
      transform: translateY(0px);
    }
    100% {
      transform: translateY(0px) rotate(45deg);
    }
  }
  @keyframes nav_on_i_a {
    0% {
      transform: translateY(6px);
    }
    50% {
      transform: translateY(0px);
    }
    100% {
      transform: translateY(0px) rotate(-45deg);
    }
  }
  header nav {
    display: block;
    position: fixed;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100vh;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    transition: all 0.2s ease-out;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-20px);
  }
  header nav:before {
    content: '';
    width: 100%;
    position: sticky;
    top: 0px;
    left: 0px;
    height: 80px;
    background-color: #fff;
    opacity: 0.95;
    display: block;
    z-index: 1;
  }
  header nav ul {
    display: block;
    text-align: left;
    padding: 40px 20px;
  }
  header nav li {
    padding: 0px;
  }
  header nav li a {
    padding: 10px 20px;
    font-size: 1.6rem;
    color: #333;
  }
  header nav li a:after {
    display: inline-block;
    font-family: 'Poppins', sans-serif;
    font-size: 1.2rem;
    color: #0A3E86;
    margin-left: 20px;
    font-weight: normal;
    vertical-align: middle;
  }
  header nav li a:before {
    display: none;
  }
  header nav li a .sp {
    display: inline-block;
  }
  header nav li a.on {
    color: #333;
  }
  header nav div {
    padding: 0px 20px 100px 20px;
  }
  header nav div a {
    font-size: 1.8rem;
    padding: 15px 45px;
  }
  .nav_on header nav {
    opacity: 1;
    visibility: visible;
    pointer-events: all;
    transform: translateY(0px);
  }
}
/* Content */
section {
  padding: 0 0 80px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}
section .ovx {
  margin: 0px -20px;
  padding: 0px 20px;
  overflow: hidden;
}
section .cont {
  max-width: 1110px;
  margin: 0 auto;
  position: relative;
  z-index: 2;
}
.pos {
  position: relative;
  z-index: -1;
  display: block;
  padding: 0px;
  margin: 0px;
  background: none;
  border: none;
  pointer-events: none;
}
.t1 {
  text-align: center;
  font-size: 4rem;
  font-weight: bold;
  padding: 110px 40px 40px;
  line-height: 1;
}
.t1::after {
  border-radius: 30px;
  content: "";
  display: block;
  font-size: 1.8rem;
  background: linear-gradient(to right, #A0DDD2, #3EBFA7, #03987C);
  height: 7px;
  width: 30px;
  margin: 8px auto 0;
}
.t1_tx {
  font-size: 1.7rem;
  margin-bottom: 50px;
  line-height: 1.9;
}
/*mv
----------------------------------------- */
.mv {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 80px auto 0;
  height: 600px;
  background: url(../img/mv_bg.png) no-repeat center bottom;
}
.mv h1 {
  color: #121212;
  font-size: 4.8rem;
  font-weight: 600;
  letter-spacing: .5rem;
  line-height: 1;
  padding-top: 150px;
}
.mv h1 span {
  font-size: 2.8rem;
  font-weight: 400;
}
.mv .mv_box {
  display: flex;
  justify-content: space-between;
  width: 874px;
  margin: 45px auto 65px;
}
.mv .mv_box div {
  width: 195px;
  background-color: #FFFFFF;
  border-radius: 20px;
  padding: 20px 0;
  border: solid 2px;
  font-size: 1.9rem;
  font-weight: bold;
  letter-spacing: -.1rem;
  line-height: 1.3;
}
.mv .mv_box div:first-child {
  border-color: #1DA2AD;
  color: #1DA2AD;
}
.mv .mv_box div:nth-child(2) {
  border-color: #CD8909;
  color: #CD8909;
}
.mv .mv_box div:nth-child(3) {
  border-color: #37A723;
  color: #37A723;
}
.mv .mv_box div:last-child {
  border-color: #1A6DA9;
  color: #1A6DA9;
}
.mv .mv_box div .mv-1 {
  display: block;
  margin-bottom: 1rem;
}
.mv .mv_box div .mv-l {
  font-size: 2.8rem;
}
.mv .btn {
  display: block;
  text-align: center;
  margin: 0 auto;
  width: 425px;
}
.mv .btn a {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.6rem;
  font-weight: bold;
  color: #fff;
  background: #174D99 url(../img/arrow1.png) no-repeat right 10px center;
  border-radius: 30px;
  padding: 9px 0px;
  margin-bottom: 0;
  height: 65px;
}
.mv .btn a:hover {
  background-color: #2B60AC;
}
/* .zeus
----------------------------------------- */
.zeus {
  padding: 0 0 60px;
}
.zeus_box {
  border: solid 1px #e9f6f4;
  border-radius: 20px;
  box-shadow: 0 5px 10px rgba(0, 135, 110, 0.2);
  padding: 65px 55px 0;
  margin: 20px auto 120px;
  width: 1000px;
}
.zeus_item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-bottom: 95px;
}
.zeus_item_tx {
  width: 545px;
}
.zeus_item_tx .img_t1 {
  background-color: #fff9ef;
  margin-bottom: 18px;
  padding: 8px 0;
  text-align: center;
}
.zeus_item_tx p {
  text-align: left;
  font-size: 1.6rem;
  line-height: 1.9;
  letter-spacing: .15rem;
}

.zeus_support {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  padding-top: 10px;
}
.zeus h3 {
  display: inline-block;
  font-size: 2.6rem;
  font-weight: bold;
  margin-bottom: 30px;
  padding: 0 50px;
  background: url(../img/zeus8.png) no-repeat left, url(../img/zeus9.png) no-repeat right;
}
.zeus_support div {
  border-radius: 30px;
  background-color: #f7fcfb;
  width: 350px;
  padding: 30px 25px;
}
.zeus_support .support_number {
  border: solid 1px #03987C;
  border-radius: 50%;
  display: flex;
  font-size: 2rem;
  color: #03987C;
  line-height: 1;
  width: 55px;
  height: 55px;
  align-items: center;
  justify-content: center;
  background-color: #FFFFFF;
  margin: 0 auto 25px;
}
.zeus_support div h4 {
  font-size: 2rem;
  font-weight: bold;
  color: #03987C;
  margin: 2rem 0 1.5rem;
}
.zeus_support div .support_tx {
  text-align: left;
  font-size: 1.4rem;
  line-height: 1.9;
}
#support:target {
padding-top: 110px;
}
/*price
----------------------------------------- */
.price {
  width: 980px;
  padding-bottom: 120px;
}
.price h3 {
  font-size: 1.8rem;
  font-weight: bold;
  display: flex;
  background-color: #F4F4F4;
  border-radius: 10px;
  width: 42rem;
  line-height: 1;
  letter-spacing: .1rem;
  padding: 8px 0;
  margin: 0 auto 20px;
  align-items: center;
}
.price h3:before, .price h3:after {
  content: "";
  flex-grow: 1;
  height: 2px;
  background: #333;
}
.price h3:before {
  margin: 0 1rem 0 2.5rem;
}
.price h3:after {
  margin: 0 2.5rem 0 .5rem;
}
.price table {
  border-collapse: collapse;
  margin: 30px auto 40px;
  width: 100%;
}
.price table th {
  border-collapse: collapse;
  color: #FFFFFF;
  background-color: #E9E9E9;
  padding: 13.5px;
}
.price table th:nth-child(2) {
  background-color: #E39C17;
}
.price table th:last-child {
  background-color: #132A4B;
  border-right: solid 1px #132A4B;
}
.price table td {
  border: solid 1px #B3B3B3;
  font-size: 1.7rem;
  font-weight: normal;
  padding: 0 15px;
  vertical-align: middle;
  width: 33.3%;
  height: 7rem;
}
.price table td span {
  font-size: 3.2rem;
}
.price_tx {
  font-size: 1.8rem;
  margin-bottom: 45px;
  line-height: 1.8;
}
.price_tx .price_fb {
  font-size: 1.9rem;
  font-weight: bold;
}
.price_tx .price_line {
  background: linear-gradient(transparent 75%, #f1cd8a 75%);
  padding-bottom: 2px;
}
.price ul {
  background-color: #F9F9F9;
  border-radius: 20px;
  padding: 35px 40px 20px;
  text-align: left;
  font-size: 1.3rem;
  line-height: 1.7;
}
.price ul li, .price ul li.list-style_no li {
  list-style: outside;
  margin-left: 20px;
}
.price ul li span {
  color: #F37610;
  font-weight: bold;
}
.price ul li.list-style_no {
  list-style: none;
  margin: 0 0 1rem 0;
}
.price ul li.list-style_no.btoc {
  margin: 1rem 0 0 !important;
}
ul.ulinul {
  padding: 5px 0px;
  width: auto;
}
ul.ulinul li {
  list-style: url('../img/lidot.png');
}
/*service
----------------------------------------- */
.service {
  background-color: #f7fcfb;
}
.service_box {
  background-color: #FFFFFF;
  border: dotted 2px;
  border-radius: 50px;
  padding: 40px 50px 15px;
  width: 1100px;
  margin: 0 auto 60px;
}
.service_box.btc {
  border-color: #E39C17;
}
.service_box.btb {
  border-color: #132A4B;
}
.service_box h3 {
  display: inline-block;
  color: #FFFFFF;
  border-radius: 10px;
  width: 313px;
  margin-bottom: 20px;
  line-height: 1;
  padding: 5px;
}
.service_box h3 {
  font-size: 1.8rem;
  font-weight: bold;
  display: flex;
  background-color: #F4F4F4;
  border-radius: 10px;
  width: 300px;
  line-height: 1;
  letter-spacing: .1rem;
  padding: 8px 0;
  margin: 0 auto 25px;
  align-items: center;
}
.service_box h3:before, .service_box h3:after {
  content: "";
  flex-grow: 1;
  height: 2px;
  background: #FFFFFF;
}
.service_box h3:before {
  margin: 0 1rem 0 2.5rem;
}
.service_box h3:after {
  margin: 0 2.5rem 0 1rem;
}
.service_box.btc h3 {
  background-color: #E39C17;
}
.service_box.btb h3 {
  background-color: #132A4B;
}
.service_box h4 {
  font-size: 2.2rem;
  color: #03987C;
  font-weight: bold;
}
.service_box h4 span {
  font-size: 2rem;
}
.service_box ul {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: wrap;
  margin-top: 30px;
}
.service_box ul li {
  width: 320px;
  height: 215px;
  border: solid 2px #ECECEC;
  border-radius: 10px;
  margin-bottom: 35px;
  padding: 23px 0 5px;
  text-align: center;
}
.service_box ul li div {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 140px;
}
.service_box ul li.img_size1 div {
  height: 110px;
  ;
}
.service_box ul li.img_size1 div img {
  height: 105px;
}
.service_box ul li img {
  max-width: 270px;
  margin-top: -5px;
}
.service_box ul li p {
  font-size: 1.2rem;
  display: flex;
  justify-content: space-around;
  width: 280px;
  margin: 5px auto;
}
.service_box ul li p span {
  background-color: #FFFBEE;
  font-weight: bold;
  line-height: 1;
  padding: 5px;
}
.service_box p {
  margin-bottom: 30px;
  line-height: 1.9;
}
/*features
----------------------------------------- */
.features {
  padding-bottom: 20px;
  width: 1000px;
}
.features .list {
  padding-top: 35px;
}
.features .list > div {
  background-color: #f7fcfb;
  border-radius: 20px;
  margin-bottom: 60px;
  display: flex;
  padding: 40px 30px;
  justify-content: space-around;
  align-items: center;
}
.features .list > div:nth-child(even) {
  flex-direction: row-reverse;
}
.features .list .tx {
  width: 560px;
  text-align: left;
}
.features .list .tx.tx_s {
  width: 490px !important;
}
.features .list .tx h3 {
  font-size: 2.5rem;
  font-weight: bold;
  margin-bottom: 20px;
  color: #03987C;
  line-height: 1.3;
}
.features .list .tx h3 .number {
  display: flex;
  align-items: center;
  font-size: 3.6rem;
  font-family: 'Poppins', sans-serif;
}
.features .list .tx h3 .number span {
  font-size: 1.6rem !important;
  font-weight: normal;
  margin-right: 5px;
}
.features .list .tx p {
  line-height: 1.9;
}
.features .list .tx p:not(:last-child) {
  margin-bottom: 30px;
}
/*voice
----------------------------------------- */
.voice {
  overflow: hidden;
  padding: 0 0 100px !important;
}
.voice .swiper-container {
  overflow: visible;
  margin: 0px -15px;
  padding-bottom: 125px;
}
.voice .swiper-slide {
  padding: 0px 15px;
  display: flex;
  height: auto;
}
.voice .swiper-slide > div {
  background-color: #fff;
  flex: 1;
  border: solid 1px #f9fbfc;
  border-radius: 20px;
  box-shadow: 0 5px 10px rgba(0, 135, 110, 0.1);
  padding: 35px;
  width: 800px !important;
}
.voice .swiperbox {
  display: flex;
  justify-content: space-between;
}
.voice .swiperbox .swiperbox_l {
  width: 43%;
  text-align: center;
}
.voice .swiperbox .swiperbox_r {
  width: 54%;
}
.voice .swiperbox .swiperbox_r .tx {
  text-align: left;
  font-size: 1.5rem;
  line-height: 2;
  margin-bottom: 1rem;
}
.voice .swiper-slide ul {
  display: flex;
  margin-left: -5px;
  margin-top: .5rem;
}
.voice .swiper-slide ul li {
  font-size: 1.1rem;
  border: solid 1px #E6EBF2;
  border-radius: 50px;
  margin: 0 5px;
  padding: 5px 13px 5px 7px;
  color: #03987C;
  line-height: 1;
}
.voice .swiper-slide ul li::before {
  content: "・";
  margin-right: .3rem;
}
.voice .swiper-slide ul li.tag01 {
  color: #03987C;
  background-color: #E6EBF2;
}
.voice .swiperbox .swiperbox_r .tx span {
  background: linear-gradient(transparent 75%, #f1cd8a 75%);
  padding-bottom: 2px;
}
.voice .swiper-slide h3 {
  font-size: 2rem;
  font-weight: bold;
  color: #03987C;
  margin: 15px 0px;
}
.voice .swiper-pagination {
  height: 14px;
  bottom: 25px !important;
}
.voice .swiper-pagination-bullet {
  width: 14px;
  height: 14px;
  outline: none;
  background-color: #0045A6;
  border: #0045A6 solid 1px;
  opacity: 1;
  vertical-align: top;
  margin: 0px 6px !important;
  transition: all 0.15s ease-out;
}
.voice .swiper-pagination-bullet-active {
  background-color: #fff;
}
.voice .swiper-button-next, .voice .swiper-button-prev {
  width: 64px;
  height: 64px;
  background-color: #174D99;
  color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  bottom: 0px;
  top: auto;
  transition: all 0.15s ease-out;
  outline: none;
}
.voice .swiper-button-next {
  left: 100px;
  right: auto;
}
.voice .swiper-button-next:after, .voice .swiper-button-prev:after {
  font-size: 2.4rem;
  font-weight: bold;
}
.voice .swiper-button-next:after {
  margin-left: 4px;
}
.voice .swiper-button-prev:after {
  margin-right: 4px;
}
/*flow
----------------------------------------- */
.flow {
  background-color: #F7FCFB;
}
.flow .cont > p {
  line-height: 2;
  margin-bottom: 40px;
}
.flow_step {
  display: flex;
  justify-content: space-between;
  margin-bottom: 160px;
}
.flow_step > div {
  width: calc((100% - 40px) / 5);
  max-width: 198px;
  background-color: #fff;
  border: #fff solid 4px;
  border-radius: 160px 160px 20px 20px;
  padding: 30px 15px 30px 15px;
  position: relative;
}
.flow_step > div:before {
  content: '▶︎';
  font-size: 2rem;
  line-height: 1;
  width: 20px;
  color: #FFFFFF;
  position: absolute;
  left: -29px;
  top: 50%;
  margin-top: -10px;
}
.flow_step > div:last-child {
  background-color: #dff2ee;
  border-color: #bee5de;
}
.flow_step > div:first-child:before {
  display: none;
}
/*.flow_step > div:last-child:before {
  color: #F37610;
}*/
.flow_step > div > span {
  display: block;
  line-height: 20px;
  font-size: 1.8rem;
  font-weight: bold;
  margin-bottom: 20px;
}
.flow_step > div > span b {
  font-size: 2rem;
  color: #03987C;
}
.flow_step > div:not(:last-child) > span {
  font-family: 'Poppins', sans-serif;
}
.flow_step h3 {
  font-size: 2.4rem;
  color: #03987C;
  font-weight: bold;
  min-height: 72px;
  margin: 20px 0px 10px 0px;
}
.flow_step p {
  line-height: 1.9;
  text-align: left;
}
.flow_step .ext {
  position: absolute;
  left: 50%;
  bottom: -100px;
  transform: translateX(-50%);
  filter: drop-shadow(0px 0px 8px rgba(10, 62, 134, 0.15));
}
.flow_step .ext > div {
  padding: 15px 10px;
}
.flow_step .ext p {
  text-align: center;
  line-height: 1.4;
  margin-bottom: 5px;
}
.flow_step .ext div div {
  font-size: 2rem;
  font-weight: bold;
}
.flow_step .ext.st2 {
  width: calc(100% + 30px);
}
.flow_step .ext.st3 {
  width: calc(100% + 60px);
}
.flow_step .ext.st4 {
  width: calc(100% + 30px);
}
.flow_step .ext.st2 > div {
  background-color: #f1e0b7;
  border-radius: 10px 0px 0px 10px;
  clip-path: polygon(0 0, calc(100% - 20px) 0, 100% 50%, calc(100% - 20px) 100%, 0 100%, 0 50%);
}
.flow_step .ext.st3 > div {
  background-color: #eab95c;
  clip-path: polygon(0 0, calc(100% - 20px) 0, 100% 50%, calc(100% - 20px) 100%, 0 100%, 20px 50%);
}
.flow_step .ext.st4 > div {
  background-color: #e39c17;
  clip-path: polygon(0 0, calc(100% - 20px) 0, 100% 50%, calc(100% - 20px) 100%, 0 100%, 20px 50%);
}
.flow .ds {
  background-color: #DAE4F2;
  padding: 30px 40px;
  text-align: left;
  font-size: 1.4rem;
  line-height: 1.8;
}
.flow .ds p {
  position: relative;
  padding-left: 28px;
}
.flow .ds p:before {
  position: absolute;
  left: 0px;
}
.flow .ds .mt {
  margin-top: 20px;
}
.flow .ds div {
  display: flex;
  padding-left: 28px;
}
.flow .ds ul {
  max-width: 50%;
  width: 410px;
}
.flow .ds ul li {
  list-style: outside;
  margin-left: 20px;
}
/*faq
----------------------------------------- */
.faq {
  padding: 0 20px 100px;
}
.faq .cont {
  max-width: 920px;
}
.faq_list {
  padding: 20px 0 10px;
  max-width: 920px;
}
.faq_list > div {
  background-color: #fff;
  border-radius: 20px;
  border: solid 1px #f9fbfc;
  box-shadow: 0 5px 10px rgba(0, 135, 110, 0.08);
  margin-bottom: 30px;
  text-align: left;
  padding: 10px;
}
.faq_list h3:before, .faq_list p:before {
  content: '';
  position: absolute;
  font-size: 2.4rem;
  font-weight: bold;
  font-family: 'Poppins', sans-serif;
  left: 45px;
  margin-top: -6px;
}
.faq_list h3 {
  font-size: 1.6rem;
  padding: 30px 80px;
  position: relative;
  cursor: pointer;
}
.faq_list h3:before {
  content: 'Q';
  color: #03987C;
}
.faq_list h3:after {
  content: '';
  width: 30px;
  height: 30px;
  background: url(../img/arrow2.png) no-repeat center;
  position: absolute;
  right: 20px;
  top: 50%;
  margin-top: -15px;
  transition: all 0.15s ease-out;
}
.faq_list h3.on:after {
  transform: rotate(-180deg);
}
.faq_list p {
  line-height: 1.9;
  padding: 0px 80px 30px 80px;
  margin-top: -10px;
  position: relative;
  display: none;
}
.faq_list p:before {
  content: 'A';
  color: #E39C17;
}
.faq_list p.on {
  display: block;
}
.faq_list p .mt_mb {
  margin: 20px 0;
  display: inline-block;
}
/*contact
----------------------------------------- */
.contact {
  background: linear-gradient(#FCFCFC, #F7FCFB 200px);
  background-color: #F7FCFB;
}
.contact iframe {
  height: 1500px;
}
.contact .form {
  background-color: #fff;
  border-radius: 20px;
  overflow: hidden;
}
.contact .form iframe {
  border: none;
  overflow: hidden;
  display: block;
  height: 225rem;
  transition: height 0.1s ease-out;
}
/* Footer 
----------------------------------------- */
footer {
  background-color: #FFFFFF;
}
footer .company {
  font-size: 0px;
  padding: 40px 0px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.company .t1 {
  font-size: 1.8rem;
  padding: 0 40px 0 0;
}
.company div:last-child {
  width: 450px;
}
.company dl {
  border-left: solid 2px #e9f6f4;
  ;
  display: flex;
  flex-wrap: wrap;
  font-size: 1.5rem !important;
  font-weight: 400;
  padding-left: 30px;
}
.company dt {
  width: 7rem;
  padding: .2rem 0;
}
.company dd::before {
  content: "：";
  margin-right: 1rem;
}
.company dd {
  width: 80%;
  padding: .2rem 0;
  text-align: left;
}
footer address {
  font-size: 1.3rem;
  font-style: normal;
  padding: 10px;
  background-color: #174D99;
  color: #fff;
}
.ptop {
  position: fixed;
  right: 20px;
  bottom: 60px;
  z-index: 100;
}
.ptop a {
  display: block;
  width: 60px;
  height: 60px;
  background: url(../img/ptop.png) no-repeat center;
  position: absolute;
  right: 0px;
  bottom: 0px;
  color: #fff;
  opacity: 0;
  pointer-events: none;
  transform: translateY(10px);
  border-radius: 50%;
}
.ptop.up a {
  opacity: 0.9;
  pointer-events: all;
  transform: translateY(0px);
}
.ptop.up a:hover {
  opacity: 1;
}
/* Animation 
----------------------------------------- */
.ani_a {
  transition: all 0.75s ease-out;
  opacity: 0;
}
.ani_a.do {
  opacity: 1;
}
.ani_b {
  transition: all 0.75s ease-out;
  opacity: 0;
  transform: translateY(20px);
}
.ani_b.do {
  opacity: 1;
  transform: translateY(0px);
}
/* SP Responsive -----------------------------------------------------*/
@media screen and (max-width: 900px) {
  body {
    font-size: 1.4rem;
    min-width: 0px;
    overflow-x: hidden;
    image-rendering: auto;
  }
  a {
    -webkit-touch-callout: none;
    user-select: none;
    -webkit-user-select: none;
  }
  a:hover {
    text-decoration: none;
  }
  a:hover img {
    opacity: 1;
  }
  a:active img {
    opacity: 0.8;
  }
  img {
    max-width: 100%;
    height: auto;
    backface-visibility: initial;
    -webkit-backface-visibility: initial;
  }
  .sp {
    display: block;
  }
  .pc {
    display: none;
  }
  /* Content */
  main {
    overflow: hidden;
  }
  /*mv
----------------------------------------- */
  .pos {
    padding-top: 20px;
    margin-top: -20px;
  }
  .ptop {
    right: 10px;
    bottom: 55px;
  }
  .ptop a {
    width: 40px;
    height: 40px;
    background-size: 100% 100%;
  }
}