  @charset "UTF-8";
/*
ヒラギノの代替（基本フォントはこれ）
https://fonts.google.com/noto/specimen/Noto+Sans+JP?subset=japanese&query=noto+sans
Regular 400
Medium 500
Bold 700
 */
@import url("https://fonts.googleapis.com/css2?family=Lato:wght@300;400;900&family=Noto+Sans+JP:wght@400;500;700&family=Oswald:wght@400;600;700&display=swap");
.box-map_report {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: center;
  padding: 40px 0;
}
.box-map_report .report {
  width: 42%;
}
.box-map_report .report .text {
  color: #408B46;
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 1.66;
}
.box-map_report .report .text-achievement {
  color: #408B46;
  display: inline-block;
  font-size: 4.9rem;
  line-height: 1;
  position: relative;
  padding-top: 10rem;
}
.box-map_report .report .text-achievement span {
  font-size: 10.9rem;
  font-family: 'Oswald', sans-serif;
}
.box-map_report .report .text-achievement span:before {
  content: '導入実績';
  color: #fff;
  font-size: 1.7rem;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 96px;
  height: 96px;
  background: #408B46;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.box-map_report .map {
  width: 55%;
}
@media only screen and (max-width: 767px) {
  .box-map_report {
    padding: 20px 0;
  }
  .box-map_report .report {
    width: 100%;
  }
  .box-map_report .report .text {
    font-size: 1.8rem;
  }
  .box-map_report .report .text-achievement {
    font-size: 4rem;
    padding-top: 7rem;
    width: 100%;
    text-align: center;
  }
  .box-map_report .report .text-achievement span {
    font-size: 5rem;
  }
  .box-map_report .report .text-achievement span:before {
    font-size: 1.4rem;
    width: 65px;
    height: 65px;
  }
  .box-map_report .map {
    width: 100%;
    margin-top: 20px;
  }
}

.box-contract_type + .box-contract_type {
  margin-top: 35px;
}
.box-contract_type h2.title {
  color: #408B46;
  font-size: 3.6rem;
  font-weight: bold;
  text-align: center;
  margin-bottom: 20px;
}
.box-contract_type h3.title {
  font-size: 2.4rem;
  font-weight: bold;
  margin-bottom: 20px;
}
.box-contract_type h4.title {
  font-size: 3.0rem;
  font-weight: bold;
  margin-bottom: 20px;
}
.box-contract_type .box-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 50px;
}
.box-contract_type .box-flex > * {
  width: 49.1%;
}
.box-contract_type .box-flex > * + * {
  margin-left: 20px;
}
.box-contract_type .box-flex.single > * {
  width: 60%;
}
.box-contract_type .box-flex .label {
  background: #408B46;
  color: #fff;
  font-size: 2.8rem;
  font-weight: bold;
  line-height: 1.5;
  text-align: center;
  position: relative;
  height: 116px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: center;
  align-items: center;
}
.box-contract_type .box-flex .label:before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 20px;
  width: 21.1%;
  max-width: 119px;
  height: 100%;
}
.box-contract_type .box-flex .label.icon_high01:before {
  background: url(/business/images/icon_high01.png) no-repeat center bottom;
  background-size: contain;
}
.box-contract_type .box-flex .label.icon_high02:before {
  background: url(/business/images/icon_high02.png) no-repeat center bottom;
  background-size: contain;
}
.box-contract_type .box-flex .label.icon_low01:before {
  background: url(/business/images/icon_low01.png) no-repeat center bottom;
  background-size: contain;
}
.box-contract_type .box-flex .body {
  background: #fff;
  padding: 30px 24px;
}
.box-contract_type .box-flex .header {
  font-size: 2.8rem;
  font-weight: bold;
  line-height: 1.2;
}
@media only screen and (max-width: 767px) {
  .box-contract_type + .box-contract_type {
    margin-top: 20px;
  }
  .box-contract_type h2.title {
    font-size: 1.8rem;
  }
  .box-contract_type h3.title {
    font-size: 1.5rem;
    margin-bottom: 10px;
  }
  .box-contract_type h4.title {
    font-size: 1.8rem;
    margin-bottom: 10px;
  }
  .box-contract_type .box-flex {
    flex-direction: column;
  }
  .box-contract_type .box-flex > * {
    width: 100%;
  }
  .box-contract_type .box-flex > * + * {
    margin: 15px 0 0;
  }
  .box-contract_type .box-flex.single > * {
    width: 100%;
  }
  .box-contract_type .box-flex .label {
    font-size: 1.8rem;
    height: 7rem;
  }
  .box-contract_type .box-flex .body {
    padding: 25px;
  }
  .box-contract_type .box-flex .header {
    font-size: 1.8rem;
  }
}

.text-3step {
  font-size: 9.1rem;
  font-weight: bold;
  text-align: center;
  line-height: 1.5;
  margin-bottom: 30px !important;
}
.text-3step span {
  font-family: 'Noto Sans JP';
  position: relative;
  color: #408B46;
}
.text-3step span:before {
  content: '手続きは';
  position: absolute;
  top: -2rem;
  left: 50%;
  transform: translateX(-50%);
  font-size: 2.8rem;
  font-weight: bold;
  color: #2D3133;
}
.text-3step em {
  font-size: 13.6rem;
}
@media only screen and (max-width: 767px) {
  .text-3step {
    font-size: 4.5rem;
  }
  .text-3step span:before {
    font-size: 1.8rem;
  }
  .text-3step em {
    font-size: 6rem;
  }
}

.box-steps {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: space-between;
}
.box-steps > * {
  width: 23.5%;
}
.box-steps .block {
  background: #F5F7F8;
  position: relative;
  padding: 10px;
  margin-bottom: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: center;
  flex-direction: column;
  text-align: center;
  min-height: 274px;
}
.box-steps .block:before {
  content: "";
  position: absolute;
  top: 45%;
  right: -40px;
  width: 0px;
  border-color: #949DA2;
  border-style: solid;
  border-width: 20px;
  border-left-color: transparent;
  border-top-color: transparent;
  border-right-color: transparent;
  -ms-transform: rotate(90deg);
  -webkit-transform: rotate(90deg);
}
.box-steps .block .step {
  position: absolute;
  top: 0;
  left: 0;
  font-size: 1.6rem;
  font-weight: bold;
  font-family: 'Noto Sans JP';
  background: #408B46;
  color: #fff;
  display: inline-block;
  text-align: center;
  line-height: 1.1;
  padding: 5px;
}
.box-steps .block .step em {
  display: block;
  font-size: 2.9rem;
}
.box-steps .block figure {
  width: 56%;
  margin: 0 auto;
}
.box-steps .block h3 {
  color: #408B46;
  font-size: 2.2rem;
  font-weight: bold;
  line-height: 2.5;
  text-align: center;
}
.box-steps .block h3 span {
  color: #2D3133;
  font-size: 1.2rem;
  display: block;
}
.box-steps .block.start {
  background: #408B46;
  color: #fff;
}
.box-steps .block.start:before {
  content: none;
}
.box-steps .block.start h3 {
  color: #fff;
}
@media only screen and (max-width: 767px) {
  .box-steps {
    flex-direction: column;
  }
  .box-steps > * {
    width: 100%;
  }
  .box-steps > * + * {
    margin-top: 20px;
  }
  .box-steps .block {
    min-height: 5vw;
  }
  .box-steps .block:before {
    top: 100%;
    right: 45%;
    -ms-transform: rotate(180deg);
    -webkit-transform: rotate(180deg);
  }
  .box-steps .block .step {
    font-size: 1.4rem;
  }
  .box-steps .block .step em {
    font-size: 2rem;
  }
  .box-steps .block figure {
    width: 36%;
  }
  .box-steps .block h3 {
    font-size: 1.6rem;
  }
}

.area-faq + .area-faq {
  margin-top: 45px;
}
.area-faq .header {
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 2.2;
}
.area-faq .box-faq .title {
  position: relative;
  line-height: 1.5;
  padding: 1.3em 4em;
  font-weight: bold;
  border-top: solid 1px #949DA2;
  border-bottom: solid 1px #949DA2;
  cursor: pointer;
}
.area-faq .box-faq .title:before {
  content: '';
  position: absolute;
  top: 1em;
  left: 20px;
  width: 25px;
  height: 34px;
  background: url(/business/images/icon_faq_q.png) no-repeat center top;
  background-size: contain;
}
.area-faq .box-faq .title:after {
  content: '';
  position: absolute;
  top: calc(50% - 10px);
  right: 20px;
  width: 10px;
  height: 10px;
  border-top: solid 2px #949DA2;
  border-right: solid 2px #949DA2;
  -ms-transform: rotate(135deg);
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
}
.area-faq .box-faq .title.on:after {
  top: calc(50% - 5px);
  -ms-transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
.area-faq .box-faq + .box-faq .title {
  border-top: none;
}
.area-faq .box-faq .answer {
  display: none;
  position: relative;
  padding: 1em 4em;
  border-bottom: solid 1px #949DA2;
}
.area-faq .box-faq .answer:before {
  content: '';
  position: absolute;
  top: 1em;
  left: 20px;
  width: 25px;
  height: 34px;
  background: url(/business/images/icon_faq_a.png) no-repeat center top;
  background-size: contain;
}
@media only screen and (max-width: 767px) {
  .area-faq .header {
    font-size: 1.6rem;
  }
  .area-faq .box-faq .title {
    padding: 1em 2em;
  }
  .area-faq .box-faq .title:before {
    top: 1.0em;
    left: 5px;
    width: 15px;
    height: 34px;
  }
  .area-faq .box-faq .title:after {
    right: 10px;
  }
  .area-faq .box-faq .answer {
    padding: 1em 2em;
  }
  .area-faq .box-faq .answer:before {
    top: 1.3em;
    left: 5px;
    width: 15px;
    height: 34px;
  }
}
