/* Scss Document */
#key ul li {
  margin-bottom: 17px;
}
#key ul li:first-child a{
  padding-right: 20px;
  box-sizing: border-box;
}
#key ul li:first-child a.btn_green:before{
  right: 5px;
}
#key .key_deco {
  position: absolute;
}
@media screen and (min-width: 768px) {
  #key {
    padding: 95px 0 52px;
    background: url(../img/index/lead_bg.png) center 0px no-repeat;
  }
  #key h2 {
    margin: 0 auto 50px;
    width: 100%;
    max-width: 512px;
  }
  #key .txt {
    margin: 0 auto 46px;
    width: 100%;
    max-width: 547px;
  }
  #key ul {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    margin: auto;
    width: 100%;
    max-width: 584px;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  #key ul li {
    width: 47.43%;
  }
  #key .key_deco {
    width: 18.42%;
    left: -3%;
    bottom: -7px;
  }
}
@media screen and (max-width: 1240px) and (min-width: 768px) {
  #key {
    padding-top: 197px;
  }
}
@media screen and (max-width: 860px) and (min-width: 768px) {
  #key .key_deco {
    width: 14.42%;
  }
}
@media screen and (max-width: 767px) {
  #key {
    padding: 8.5vw 0 10vw;
    background: url("../img/shared/key_bg_sp.png") no-repeat 0 61vw/100% auto;
  }
  #key h2 {
    margin: 0 auto 11vw;
    width: 88.27%;
  }
  #key .txt {
    margin: 0 auto 8.5vw;
    width: 78.28%;
  }
  #key ul {
    margin: auto;
    width: 77.59%;
  }
  #key ul li {
    width: 100%;
    min-width: 275px;
    margin-bottom: 15px;
  }
  #key .key_deco {
    width: 18.42%;
    left: -1.5%;
    bottom: -11vw;
  }
}
#reason {
  background: url("../img/service/reason_bg.jpg") repeat-x top center #009043;
  padding: 115px 0 38px 0;
}
#reason .reason_ul h3 {
  font-weight: bold;
  font-size: 22px;
  line-height: 26px;
  margin-bottom: 23px;
}
#reason .reason_ul li {
  text-align: center;
  background: #d5e9de;
  margin-bottom: 40px;
}
#reason .reason_ul li span {
  font-size: 14px;
}
#reason .reason_ul li .wrap {
  padding: 36px 0;
}
#reason .reason_ul li .reason_txt {
  font-size: 16px;
  line-height: 1.75;
  font-weight: 500;
}
#reason .point {
  background: #fff;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.94;
  width: 134px;
  text-align: center;
  border-radius: 20px;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
}
#reason .checked_cont {
  background-color: #d8ece1;
  padding-bottom: 0px;
}
#reason .checked_cont:before, #reason .checked_cont:after {
  background: #009043;
}
#reason .checked_cont .check_h:before {
  background: #d8ece1;
}
#reason .checked_cont .checked_txt1 {
  font-weight: bold;
  font-size: 16px;
  line-height: 1.75;
  text-align: center;
}
#reason .checked_cont .checkGroup1 .checkInfo {
  text-align: left;
  font-weight: 500;
  line-height: 1.75;
	margin-left:20px;
}
#reason .btn_link {
  color: #fff;
  font-size: 19px;
  line-height: 2.42;
  background: #009343;
  margin: 60px auto 39px;
  width: 306px;
}
#reason .reason_txt2 {
  font-size: 16px;
  line-height: 1.625;
  font-weight: 500;
  margin: 30px 0 75px;
}
#reason .reason_txt3 {
  font-size: 16px;
  line-height: 1.625;
  font-weight: 500;
  margin-top: 15px;
}
#reason #reasonBox{
  padding-top: 55px;
}
#reason .reason_txt4{
  margin: 0 auto 90px;
  max-width: 858px;
  text-align: center;
  color: #fff;
  line-height: 2.2;
  border-top: 4px double #fff;
  border-bottom: 4px double #fff;
  padding: 42px 0;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  #reason h2 {
    margin: 0 auto 100px;
    padding: 0 20px;
    width: 100%;
    max-width: 822px;
    box-sizing: border-box;
  }
  #reason .reason_ul {
    padding-bottom: 60px;
  }
  #reason .checked_cont {
    padding-bottom: 85px;
  }
  #reason .checked_cont .ttl {
    margin: 0 auto 30px;
    width: 39.47%;
  }
  #reason .checked_cont .checkGroup1 {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    width: 100%;
    max-width: 520px;
    margin: 0 auto 36px;
    justify-content: space-between;
    align-items: center;
  }
  #reason .checked_cont .checkGroup1 .check_img {
    width: 55.77%;
  }
  #reason .checked_cont .checkGroup1 .checkInfo {
    width: 50%;
  }
  #reason .phoneItem .tbl_in tbody td:first-child {
    width: 282px;
  }
  #reason .phoneItem .tbl_in tbody td.w_2col {
    width: calc(100% - 282px);
  }
  #reason .smartPhone {
    margin-bottom: 107px;
  }
}
@media screen and (min-width: 768px) and (max-width: 950px) {
  #reason .phoneItem .tbl_in tbody td:first-child {
    width: 198px;
  }
  #reason .phoneItem .tbl_in tbody td.w_2col {
    width: calc(100% - 198px);
  }
}
@media screen and (max-width: 767px) {
  #reason {
    padding: 19vw 0 7vw;
  }
  #reason h2 {
    margin: 0 auto 16vw;
    width: 90%;
  }
  #reason .point {
    font-size: 17px;
    line-height: 1.8;
    width: 116px;
  }
  #reason .reason_ul {
    padding-bottom: 9vw;
  }
  #reason .reason_ul h3 {
    font-size: 4.2vw;
    line-height: 1.5;
    margin-bottom: 3vw;
  }
  #reason .reason_ul li {
    font-weight: bold;
    margin-bottom: 10vw;
  }
  #reason .reason_ul li .wrap {
    padding: 9vw 4.68% 6vw;
  }
  #reason .reason_ul li .reason_txt {
    font-weight: bold;
    font-size: 14px;
  }
  #reason .reason_ul li span {
    font-size: 13px;
    font-weight: 500;
    line-height: 1.5;
    display: inline-block;
    margin-top: 2vw;
  }
  #reason .btn_link {
    margin: 12vw auto 7vw;
    font-size: 16.5px;
    width: 245px;
  }
  #reason .checked_cont .ttl {
    margin: 0 auto 5vw;
    width: 71.57%;
  }
  #reason .checked_cont .checked_txt1 {
    font-size: 14px;
  }
  #reason .checked_cont .check_img {
    margin: auto;
    width: 56.86%;
  }
  #reason .checked_cont .checkInfo {
    margin: 5vw 0 3vw;
  }
  #reason .checked_cont .smartPhone {
    padding-bottom: 5vw;
  }
  #reason .checked_cont .smartPhone .tbl_in tbody td {
    width: 30%;
  }
  #reason .checked_cont .smartPhone .tbl_in tbody td:first-child {
    width: 40%;
  }
  #reason .reason_txt2 {
    font-size: 12px;
    margin: 3vw 0 8vw;
  }
  #reason .reason_txt3 {
    font-size: 12px;
    margin: 3vw 0 2vw;
  }
  #reason .reason_txt4{
    letter-spacing: -1px;
    padding: 5vw 0;
    margin-bottom: 16vw;
  }
  #reason #reasonBox{
    padding-top: 10vw;
  }
}
.flow_step {
  margin: 0 auto;
  max-width: 650px;
}
.flow_step li {
  position: relative;
}
.flow_step li:not(:last-child) {
  margin-bottom: 38px;
}
.flow_step li:not(:last-child):before {
  content: "";
  position: absolute;
  bottom: -28px;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 15px 9px 0 9px;
  border-color: #38a56c transparent transparent transparent;
}
.flow_step li dl {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  background: #fff;
  border: 1px solid #38a56c;
  border-radius: 15px;
  overflow: hidden;
}
.flow_step li dl dt {
  color: #fff;
  font-weight: bold;
  font-size: 18px;
  letter-spacing: 0.5px;
  background: #009043;
  width: 128px;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
  justify-content: center;
}
.flow_step li dl dd {
  box-sizing: border-box;
  width: calc(100% - 128px);
  padding-left: 22px;
  font-weight: bold;
  font-size: 18px;
}
.flow_step li dl dd span {
  display: block;
  font-size: 14px;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .flow_step li dl dd {
    line-height: 1;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    align-items: center;
    height: 60px;
    flex-wrap: wrap;
  }
  .flow_step li dl dd span {
    margin-top: -10px;
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .flow_step li:not(:last-child) {
    margin-bottom: 27px;
  }
  .flow_step li:not(:last-child):before {
    border-width: 10px 5px 0 5px;
    bottom: -20px;
  }
  .flow_step li dl {
    border-radius: 10px;
  }
  .flow_step li dl dt {
    font-size: 2.5vw;
    padding: 0 2%;
    width: auto;
  }
  .flow_step li dl dd {
    font-size: 3.438vw;
    line-height: 1.18;
    padding: 2vw 2%;
    width: auto;
  }
  .flow_step li dl dd span {
    font-size: 2.81vw;
    line-height: 1.33;
    display: block;
  }
}
#flowOuter{
  padding-top: 140px;
}
#flow {  
  margin-bottom: 60px;
  background: #d8ece1;
  box-sizing: border-box;
  padding: 0 30px 60px;
}
#flow h3 {
  margin: auto;
  width: 46.1%;
  position: relative;
  top: -41px;
}
#flow .flow_icon {
  margin: auto;
  width: 3.37%;
}
#flow .flow_ttl {
  text-align: center;
  font-weight: bold;
  font-size: 26px;
  line-height: 1.46;
  position: relative;
  padding-bottom: 15px;
  margin-bottom: 21px;
}
#flow .flow_ttl:before {
  content: "";
  height: 2px;
  width: 50px;
  background: #38a56c;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
#flow #flow1 {
  margin-bottom: 67px;
}
#flow #flow2 .flow2_txt {
  box-sizing: border-box;
  line-height: 21px;
  font-weight: 500;
}
#flow #flow2 .flow2_txt a {
  font-weight: bold;
  color: #DC0012;
  text-decoration: underline;
}
@media screen and (min-width: 768px) {
  #flow #flow1 .flow_step li:nth-child(2) dd {
    padding-top: 6px;
  }
  #flow #flow2 {
    padding-bottom: 85px;
  }
  #flow #flow2 .flow2_txt {
    margin: 8px auto 0;
    max-width: 650px;
    padding-left: 128px;
  }
}
@media screen and (max-width: 767px) {
  #flowOuter{
    padding-top: 32vw;
  }
  #flow3Outer{
    padding-top: 10vw;
  }
  #flow {    
    padding: 0 7% 10vw;
    margin-bottom: 7vw;
  }
  #flow h3 {
    width: 92.88%;
    top: -5vw;
  }
  #flow .flow_icon {
    width: 7.22%;
    line-height: 1;
  }
  #flow .flow_ttl {
    font-size: 5.31vw;
    line-height: 2;
    padding-bottom: 1vw;
    margin-bottom: 5vw;
  }
  #flow .flow_ttl:before {
    width: 40px;
  }
  #flow #flow1 {
    margin-bottom: 10vw;
  }
  #flow #flow2 {
    padding-bottom: 10vw;
    margin-bottom: 10vw;
  }
  #flow #flow2 .flow2_txt {
    margin-top: 1vw;
    padding-left: 13vw;
    font-size: 14px;
  }
}
.box2 {
  background: #fff;
  border-radius: 10px;
  margin: 0 auto;
  max-width: 650px;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .box2 {
    padding: 0 5%;
  }
}
.box2 h4 {
  border-radius: 30px;
  font-weight: bold;
  text-align: center;
  color: #fff;
  background: #009043;
  font-size: 18px;
  line-height: 2.1;
  max-width: 400px;
  margin: auto;
  transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .box2 h4 {
    font-size: 3.75vw;
    display: block;
  }
}
.box2 .box2_txt1 {
  font-weight: 500;
  font-size: 13px;
  line-height: 1.71;
  margin-bottom: 6vw;
}
@media screen and (min-width: 768px) {
  .box2 .box2_txt1 {
    text-align: center;
    font-size: 14px;
    margin-bottom: 30px;
  }
}
#flow .box2 {
  padding-bottom: 36px;
}
@media screen and (max-width: 767px) {
  #flow .box2 {
    padding-bottom: 5vw;
  }
}
#flow .box2 dl {
  margin: auto;
  max-width: 540px;
  box-sizing: border-box;
  padding: 0 20px 8px;
  border-bottom: 1px solid #ededed;
}
@media screen and (max-width: 767px) {
  #flow .box2 dl {
    padding-left: 0;
    padding-right: 0;
  }
}
#flow .box2 dl dt {
  border-bottom: 1px solid #ededed;
  padding-bottom: 6px;
  font-weight: 500;
  font-size: 13px;
  line-height: 1.85;
  margin-bottom: 10px;
}
#flow .box2 dl dt span {
  display: block;
  font-weight: bold;
  font-size: 16px;
  line-height: 1.5;
  margin-left: -7px;
}
@media screen and (min-width: 768px) {
  #flow .box2 dl dd {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content: space-between;
  }
}
#flow .box2 dl dd ul {
  font-size: 16px;
  line-height: 1.5;
  font-weight: 500;
  min-width: 203px;
}
#flow .box2 dl dd ul .txt_red {
  text-decoration: underline;
  color: red;
}
#flow .box2 dl dd ul .txt_red:hover {
  text-decoration: none;
}
@media screen and (min-width: 768px) {
#flow .box2 dl dd ul {
  max-width: 260px;
}
}
@media screen and (max-width: 767px) {
  #flow .box2 dl dd ul {
    font-size: 14px;
  }
}
#flow .box2 dl + dl {
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  #flow .box2 dl + dl {
    margin-top: 8vw;
  }
}
#flow3Outer{
  padding-top: 60px;
}
#flow3 {
  background: #d8ece1;
  box-sizing: border-box;
  padding: 0 30px 59px;
}
@media screen and (max-width: 767px) {
  #flow3 {
    padding: 0 7% 10vw;
  }
}
#flow3 h3 {
  margin: auto;
  width: 64.21%;
  position: relative;
  top: -41px;
}
@media screen and (max-width: 767px) {
  #flow3 h3 {
    width: 100%;
    top: -5vw;
  }
}
#flow3 .flow_step {
  margin-bottom: 77px;
}
@media screen and (max-width: 767px) {
  #flow3 .flow_step {
    margin-bottom: 16vw;
  }
}
@media screen and (min-width: 768px) {
  #flow3 .flow3_chart {
    margin: 35px 30px 11px;
  }
}
@media screen and (max-width: 767px) {
  #flow3 .flow3_chart {
    margin-bottom: 2vw;
  }
}
#flow3 .flow3_txt {
  text-align: center;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.71;
}
#flow3 .box2 {
  padding-bottom: 8px;
}
@media screen and (max-width: 767px) {
  #flow3 .box2 .box2_txt1:last-child {
    margin-bottom: 2vw;
  }
}
@media screen and (max-width: 767px) {
  #flow3 .flow_step li dl dd span {
    margin-top: 5px;
  }
}
#qa {
  margin-top: 88px;
}
@media screen and (max-width: 767px) {
  #qa {
    margin-top: 11vw;
  }
}
#qa h3 {
  line-height: 4.2;
  text-align: center;
  font-weight: bold;
  color: #fff;
  font-size: 30px;
}
@media screen and (max-width: 767px) {
  #qa h3 {
    font-size: 4.69vw;
    line-height: 3.5;
  }
}
#qa .toggle {
  background: #fff;
  margin-bottom: 40px;
  box-sizing: border-box;
  padding: 24px 25px;
  font-weight: bold;
  font-size: 16px;
  line-height: 1.625;
}
@media screen and (max-width: 767px) {
  #qa .toggle {
    padding: 5vw 4.5%;
    margin-bottom: 7vw;
    font-size: 14px;
  }
}
#qa .toggle .toggle-link, #qa .toggle .toggle-main dl {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
}
#qa .toggle .toggle-link dt, #qa .toggle .toggle-main dl dt {
  width: 38px;
  height: 38px;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  border-radius: 5px;
  font-size: 20px;
  line-height: 1;
  font-weight: bold;
  margin-right: 20px;
}
@media screen and (max-width: 767px) {
  #qa .toggle .toggle-link dt, #qa .toggle .toggle-main dl dt {
    font-size: 16px;
    margin-right: 10px;
    width: 30px;
    height: 30px;
  }
}
#qa .toggle .toggle-link dd, #qa .toggle .toggle-main dl dd {
  width: calc(100% - 98px);
}
@media screen and (max-width: 767px) {
  #qa .toggle .toggle-link dd, #qa .toggle .toggle-main dl dd {
    width: calc(100% - 85px);
  }
}
#qa .toggle .toggle-link {
  align-items: center;
}
#qa .toggle .toggle-link dt {
  background: #00934b;
}

#qa .toggle .toggle-main {
  border-top: 2px solid #dedede;
  padding-top: 24px;
  margin-top: 24px;
}
@media screen and (max-width: 767px) {
  #qa .toggle .toggle-main {
    padding-top: 5vw;
    margin-top: 5vw;
  }
}
#qa .toggle .toggle-main dt {
  background: #727071;
  margin-top: 2px;
}
#qa .toggle .toggle-main dd {
  width: calc(100% - 58px) !important;
}
@media screen and (max-width: 767px) {
  #qa .toggle .toggle-main dd {
    width: calc(100% - 60px) !important;
  }
}
#qa .toggle .toggle-main dd p {
  margin-bottom: 1.625em;
}
#qa .toggle .toggle-main dd p:last-child {
  margin-bottom: 0;
}
#qa .toggle .toggle-main dd ul {
  margin-bottom: 3.25em;
}
#qa .toggle .toggle-main dd ul:last-child {
  margin-bottom: calc(3.25em - 24px);
}