@charset "UTF-8";

*, *::before, *::after {box-sizing: border-box;}

.pc {display: none;}

body {
  margin: 0;
  padding: 10px;
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
  line-height: 1;
  background: #e4f0f7;
  color: #666;
}

h1, h2, h3, h4, p, ul, ol, li {
  margin: 0;
  padding: 0;
  list-style: none;
  font-weight: normal;
}

img {
  width: 100%;
  height: auto;
  vertical-align: top;
  border: 0;
}

a {
  color: inherit;
  text-decoration: none;
}

.wrap {
  width: 100%;
  padding: 20px;
  background: #fff;
}

.header .header_logo {
  margin: 10px 0;
  text-align: center;
}

.header .header_logo img {
  width: 133px;
}

.block.block-mt {
  margin-top: 30px;
}

.block.block-mtM {
  margin-top: 20px;
}

.block.block-mtS {
  margin-top: 15px;
}

.block.block-mtMS {
  margin-top: 20px;
}

.block.block-center {
  margin-left: auto;
  margin-right: auto;
}

.sp-block1 {
  overflow: hidden;
}

.sp-block1 > div.img {
  width: 210px;
  margin: 0 auto;
}

.sp-block1 > div.sp{
  margin-bottom: 20px;
}

.sp-block2 h2 img {
  max-width: 200px;
}

.sp-block3 {
  margin: 0 -5px;
  overflow: hidden;
}

.sp-block3 .block_item {
  float: left;
  width: 50%;
  padding: 0 5px;
}

.sp-block4 {
  overflow: hidden;
}

.sp-block4 .block_item {
  float: left;
  width: 33.33%;
  padding: 0 10px;
}

.sp-block4 .button {
  width: 100%;
  height: 90px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.sp-block4 .button .button_icon {
  margin-bottom: 10px;
}

.sp-block4 .button .button_text {
  margin-left: 0;
  font-size: 13px;
  line-height: 1.3;
  text-align: center;
}

@media (max-width: 450px) {
  .sp-block4 .block_item {
    float: none;
    width: 100%;
  }

  .sp-block4 .button {
    width: 100%;
    height: 60px;
  }

  .sp-block4 .button .button_icon {
    margin-bottom: 5px;
  }

  .sp-block4 .button .button_text {
    font-size: 13px;
  }

  .sp-block4 .button .button_text br {
    display: none;
  }
}

.block.block-2 {
}

.block.block-3 {
  padding: 0 60px 0 0;
  background: url(../img/icon3.png) no-repeat right top;
  background-size: 45px auto;
}

.block.block-3 h2 {
  margin: 20px -70px 0 0;
}

.block.block-4 {
  margin: 0 -20px;
  padding: 50px 15px 40vw;
  overflow: hidden;
  background: url(../img/pic1.png) no-repeat 0 bottom;
  background-size: 100% auto;
}

.block.block-4 .block_item {
  float: left;
  width: 50%;
  padding: 0 10px;
}

.block.block-4 .block_item:last-child {
  padding-top: 0.5%;
}

.block.block-8 {
  margin-left: -20px;
  margin-right: -20px;
  padding: 0 20px 30px;
  background: url(../img/bg1.png);
}

.block.block-9 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.block.block-9 .block_item {
  margin: 40px 10px 0;
}

.heading.heading-center {
  text-align: center;
}

.heading.heading-mt {
  margin-top: 20px;
}

.heading.heading-pt {
  padding-top: 50px;
}

.text.text-center {
  text-align: center;
}

.text.text-mt {
  margin-top: 1em;
}

.text.text-2 {
  text-align: left;
  font-size: 14px;
  font-weight: bold;
  line-height: 1.6;
  color: #595757;
  margin:5px;
}

.text.text-2 span{
  display: block;
  font-size: 18px;
}

.text.text-3 {
  font-size: 12px;
  line-height: 1.6;
  margin-left: 2.5em;
  text-indent: -2.5em;
}

.text.text-4 {
  text-align: left;
  font-size: 16px;
  color: #fff;
}

.text.text-5 {
  text-align: left;
  font-size: 14px;
  line-height: 1.5;
  color: #fff;
}

.text.text-6 {
  margin: 20px 0 0;
  font-size: 14px;
  line-height: 1.4;
  color: #333;
}

.button {
  border-radius: 8px;
  width: 100%;
  height: 60px;
  margin-top: 15px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.button:hover {
  opacity: 0.85;
}

.button + .button {
}

.button.button-1 {
  background: -webkit-gradient(linear, left bottom, left top, from(#7fa92c), color-stop(50%, #7fa92c), color-stop(50%, #98bc2c), to(#98bc2c));
  background: -webkit-linear-gradient(bottom, #7fa92c 0%, #7fa92c 50%, #98bc2c 50%, #98bc2c 100%);
  background: -o-linear-gradient(bottom, #7fa92c 0%, #7fa92c 50%, #98bc2c 50%, #98bc2c 100%);
  background: linear-gradient(0deg, #7fa92c 0%, #7fa92c 50%, #98bc2c 50%, #98bc2c 100%);
}

.button.button-2 {
  background: -webkit-gradient(linear, left bottom, left top, from(#d23649), color-stop(50%, #d23649), color-stop(50%, #d75f5c), to(#d75f5c));
  background: -webkit-linear-gradient(bottom, #d23649 0%, #d23649 50%, #d75f5c 50%, #d75f5c 100%);
  background: -o-linear-gradient(bottom, #d23649 0%, #d23649 50%, #d75f5c 50%, #d75f5c 100%);
  background: linear-gradient(0deg, #d23649 0%, #d23649 50%, #d75f5c 50%, #d75f5c 100%);
}

.button.button-3 {
  background: -webkit-gradient(linear, left bottom, left top, from(#e5a823), color-stop(50%, #e5a823), color-stop(50%, #e8be5f), to(#e8be5f));
  background: -webkit-linear-gradient(bottom, #e5a823 0%, #e5a823 50%, #e8be5f 50%, #e8be5f 100%);
  background: -o-linear-gradient(bottom, #e5a823 0%, #e5a823 50%, #e8be5f 50%, #e8be5f 100%);
  background: linear-gradient(0deg, #e5a823 0%, #e5a823 50%, #e8be5f 50%, #e8be5f 100%);
}

.button.button-3 .button_text {
  margin-left: 0;
}

.button.button-4 {
  background: -webkit-gradient(linear, left bottom, left top, from(#2072b8), color-stop(50%, #2072b8), color-stop(50%, #3083c6), to(#3083c6));
  background: -webkit-linear-gradient(bottom, #2072b8 0%, #2072b8 50%, #3083c6 50%, #3083c6 100%);
  background: -o-linear-gradient(bottom, #2072b8 0%, #2072b8 50%, #3083c6 50%, #3083c6 100%);
  background: linear-gradient(0deg, #2072b8 0%, #2072b8 50%, #3083c6 50%, #3083c6 100%);
}

.button .button_text {
  color: #fff;
  font-size: 16px;
  display: inline-block;
  margin-left: 5px;
}

.button.button-small {
  width: 134px;
  height: 33px;
  border-radius: 3px;
  background: #9daab1;
}

.button.button-small .button_text {
  font-size: 14px;
  margin-left: 0px;
  margin-top: -1px;
}

.icon:before {
  content: "";
  display: inline-block;
}

.icon.icon-1:before {
  width: 31px;
  height: 27px;
  background: url(../img/icon1.png) no-repeat center;
  background-size: contain;
}

.icon.icon-2:before {
  width: 22px;
  height: 22px;
  background: url(../img/icon2.png) no-repeat center;
  background-size: contain;
}

.icon.icon-3:before {
  margin-right: 0;
  width: 24px;
  height: 22px;
  background: url(../img/icon4.png) no-repeat center;
  background-size: contain;
}

.icon.icon-4:before {
  margin-right: 0;
  width: 35px;
  height: 20px;
  background: url(../img/icon9.png) no-repeat center;
  background-size: contain;
}

.support {
  width: 270px;
  height: 150px;
  padding: 20px 10px 0 85px;
  background: url(../img/bg2.png) no-repeat 0 0;
  background-size: 100% 100%;
  position: relative;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.support:before {
  position: absolute;
  top: -17px;
  left: 12px;
  transform: scale(0.6);
  transform-origin: 50% 0;
}

.support:after {
  position: absolute;
  transform: scale(0.6);
  transform-origin: 0 0;
}

.support.support-1:before {
  content: url(../img/support1.png);
}

.support.support-1:after {
  content: url(../img/icon5.png);
  top: 50px;
  left: 25px;
}

.support.support-2:before {
  content: url(../img/support2.png);
}

.support.support-2:after {
  content: url(../img/icon6.png);
  top: 55px;
  left: 25px;
}

.support.support-3:before {
  content: url(../img/support3.png);
}

.support.support-3:after {
  content: url(../img/icon7.png);
  top: 50px;
  left: 25px;
}

.support.support-4:before {
  content: url(../img/support4.png);
}

.support.support-4:after {
  content: url(../img/icon8.png);
  top: 55px;
  left: 33px;
}

.support .support_heading {
  font-size: 18px;
  color: #4864a5;
  font-weight: bold;
}

.support .support_text {
  margin-top: 10px;
  font-size: 12px;
  line-height: 1.4;
}

.support .support_button {
  width: 134px;
  height: 33px;
  position: absolute;
  right: 10px;
  bottom: 10px;
}

.support .support_button .button {
  margin: 0;
}

.arrow:before {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
}

.arrow.arrow-1:before {
  margin-top: -2px;
  margin-right: 3px;
  border-top: 7px solid transparent;
  border-bottom: 7px solid transparent;
  border-left: 10px solid #fff;
}

.flow {
}

.flow .flow_item {
  position: relative;
  padding: 0 0 70px;
}

.flow .flow_item:last-child {
  padding: 0 0 30px;
}

.flow .flow_item:not(:last-child)::before {
  content: "";
  position: absolute;
  left: calc(50% - 12px);
  bottom: 20px;
  width: 23px;
  height: 26px;
  background: url(../img/arrow1.png) no-repeat 0 0;
  transform: rotate(90deg);
}

.flow .flow_item:nth-child(2n-1) .flow_header {
  background: #a6c2d1;
}

.flow .flow_item:nth-child(2n) .flow_header {
  background: #7dbdc4;
}

.flow .flow_item .flow_header {
  width: 180px;
  height: 180px;
  margin: 0 auto;
  border-radius: 100%;
}

.flow .flow_item .flow_step {
  padding-top: 30px;
  text-align: center;
  color: #595757;
  font-size: 18px;
  line-height: 1.2;
}

.flow .flow_item .flow_step .flow_number {
  font-size: 30px;
  font-weight: bold;
}

.flow .flow_item .flow_heading {
  margin-top: 4px;
  text-align: center;
  font-size: 26px;
  font-weight: bold;
  color: #fff;
  line-height: 1.2;
}

.flow .flow_item .flow_body {
  margin-top: 20px;
}

.flow .flow_item .flow_text {
  font-size: 16px;
  line-height: 1.5;
}

.flow .flow_item .flow_text {
  text-align: center;
  font-weight: bold;
}

.shopInfo {
  margin: 40px -20px 0;
  padding: 0 20px;
  background: #80c4eb;
}

.shopInfo:before {
  content: "";
  display: block;
  width: auto;
  height: 90px;
  margin: 0 -20px 30px;
  background: url(../img/bg3.png) no-repeat top center #fff;
}

.shopInfo h2 img {
  width: 120px;
}

.block_teim {
  margin: 40px 0 0;
}

.block_teim h3 {
  padding: 0 30px;
}

.block_teim .block_item {
  margin: 10px 0 0;
}

.footer {
  margin: 0 -20px -20px;
  padding: 40px 20px 30px;
  text-align: center;
  background: #80c4eb;
}

.footer img {
  width: 250px;
}
