.bg02::after {
  height: 15%;
}

.main .ttl {
  margin-bottom: 20px;
}
.main .faq_area dl {
  padding: 20px;
  border-radius: 10px;
  border: 1px solid #295334;
  box-shadow: 2px 2px 3px rgba(0, 0, 0, 0.4);
  margin-bottom: 20px;
  background-color: #fff;
}
.main .faq_area dl:last-child {
  margin-bottom: 0;
}
.main .faq_area dl dt {
  cursor: pointer;
}
.main .faq_area dl dt .q_area {
  display: flex;
  align-items: baseline;
  position: relative;
}
.main .faq_area dl dt .q_area::after {
  display: block;
  content: "";
  background: url(../img/faq/faq_open.png) no-repeat;
  background-size: contain;
  width: 30px;
  height: 30px;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}
.main .faq_area dl dt .q_area .q_txt {
  width: 20px;
  margin-right: 10px;
}
.main .faq_area dl dt .q_area .txt {
  width: calc(100% - 130px);
  font-size: 16px;
  font-weight: 600;
  line-height: 1.3;
  color: #3FAB6D;
}
.main .faq_area dl dt.open .q_area::after {
  background: url(../img/faq/faq_close.png) no-repeat;
  background-size: contain;
  height: 3px;
  top: 15px;
}
.main .faq_area dl dd {
  margin-top: 20px;
  display: none;
}
.main .faq_area dl dd.show {
  display: block;
}
.main .faq_area dl dd .a_area {
  display: flex;
  align-items: baseline;
}
.main .faq_area dl dd .a_area .a_txt {
  width: 20px;
  margin-right: 10px;
}
.main .faq_area dl dd .a_area .txt {
  width: calc(100% - 30px);
  font-size: 16px;
  line-height: 1.3;
}
.main .faq_area dl dd .a_area .txt .signup-requirements {
  margin: 25px 0;
  padding: 15px 20px;
  background-color: #f7fbf8;
  border-left: 4px solid #3FAB6D;
  border-radius: 0 8px 8px 0;
}
.main .faq_area dl dd .a_area .txt .signup-requirements .requirements-title {
  font-weight: 700;
  color: #295334;
  margin-bottom: 12px;
  line-height: 1.4;
}
.main .faq_area dl dd .a_area .txt .signup-requirements .requirements-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.main .faq_area dl dd .a_area .txt .signup-requirements .requirements-list li {
  position: relative;
  padding-left: 20px;
  margin-bottom: 12px;
  line-height: 1.4;
}
.main .faq_area dl dd .a_area .txt .signup-requirements .requirements-list li::before {
  content: "•";
  color: #3FAB6D;
  font-weight: bold;
  font-size: 20px;
  position: absolute;
  left: 0;
  top: -2px;
}
.main .faq_area dl dd .a_area .txt .signup-requirements .requirements-list li:last-child {
  margin-bottom: 0;
}
.main .faq_area dl dd .a_area .txt .signup-requirements .requirements-list li .req-item {
  display: block;
  font-weight: 600;
  color: #333;
}
.main .faq_area dl dd .a_area .txt .signup-requirements .requirements-list li .req-sub {
  display: block;
  font-size: 0.9em;
  color: #666;
  margin-top: 2px;
}
.main .faq_area dl dd .a_area .txt .plaid-info {
  margin-top: 20px;
  font-size: 0.95em;
  line-height: 1.5;
  color: #555;
}
.main .faq_area dl dd .a_area .txt .plaid-info p {
  margin-bottom: 12px;
}
.main .faq_area dl dd .a_area .txt .plaid-info p:last-child {
  margin-bottom: 0;
}
.main .faq_area dl dd .inner {
  margin-top: 20px;
  padding: 20px;
  background-color: #efefef;
  border-radius: 10px;
}
.main .faq_area dl dd .inner .sub_ttl {
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 10px;
}
.main .faq_area dl dd .inner .sub_ttl::before {
  font-family: "Font Awesome 5 Free";
  content: "\f059";
  margin-right: 5px;
}
.main .faq_area dl dd .inner .lists {
  overflow: hidden;
}
.main .faq_area dl dd .inner .lists li {
  float: left;
  margin-left: 5px;
  margin-bottom: 5px;
}
.main .faq_area dl dd .inner .lists li a {
  display: block;
  padding: 10px;
  font-size: 16px;
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.15);
  background-color: #fff;
  border: 1px solid #eee;
  border-radius: 5px;
}
.main .faq_area dl dd .inner .desc {
  margin-top: 15px;
  font-size: 0.9em;
  line-height: 1.5;
  color: #555;
}
.main .sect01 {
  padding: 40px 0;
}
.main .sect01 .ttl {
  max-width: 280px;
}
.main .sect02 {
  padding-bottom: 40px;
}
.main .sect02 .ttl {
  max-width: 300px;
}
.main .sect03 {
  padding-bottom: 40px;
}
.main .sect03 .ttl {
  max-width: 300px;
}
.main .sect04 {
  padding-bottom: 80px;
}
.main .sect04 .ttl {
  max-width: 300px;
}
.main .sect05 {
  padding-bottom: 80px;
}
.main .sect05 .sect05_w {
  padding: 80px 20px;
  background-color: #fff;
  border-radius: 20px;
  box-shadow: 4px 4px 4px rgba(127, 127, 127, 0.2);
}
.main .sect05 .sect05_w .sub_ttl {
  max-width: 230px;
  margin: 0 auto 30px;
}
.main .sect05 .sect05_w .txt {
  text-align: center;
  font-size: 16px;
  line-height: 1.5;
  margin-bottom: 30px;
}
.main .sect05 .sect05_w .btn a {
  text-align: center;
  display: block;
  font-size: 20px;
  font-weight: 600;
  border-radius: 50px;
  width: 280px;
  padding: 15px 0;
  color: #2ECC71;
  border: 3px solid #2ECC71;
  background-color: #fff;
  box-shadow: 4px 4px 4px rgba(68, 68, 68, 0.4);
  margin: 0 auto;
}
.main .sect05 .sect05_w .btn a:hover {
  color: #fff;
  background-color: #2ECC71;
}

@media screen and (min-width: 1024px) {
  .bg02::after {
    height: 21%;
  }
  .main .ttl {
    margin-bottom: 40px;
  }
  .main .faq_area dl {
    margin-bottom: 40px;
    padding: 40px;
  }
  .main .faq_area dl dt .q_area .q_txt {
    width: 30px;
    margin-right: 30px;
  }
  .main .faq_area dl dt .q_area .txt {
    width: calc(100% - 80px);
    font-size: 20px;
  }
  .main .faq_area dl dd {
    margin-top: 30px;
  }
  .main .faq_area dl dd .a_area .a_txt {
    width: 30px;
    margin-right: 30px;
  }
  .main .faq_area dl dd .a_area .txt {
    width: calc(100% - 60px);
    font-size: 20px;
  }
  .main .sect01 {
    padding: 90px 0;
  }
  .main .sect01 .ttl {
    max-width: 460px;
  }
  .main .sect02 {
    padding-bottom: 90px;
  }
  .main .sect02 .ttl {
    max-width: 500px;
  }
  .main .sect03 {
    padding-bottom: 90px;
  }
  .main .sect03 .ttl {
    max-width: 500px;
  }
  .main .sect04 {
    padding-bottom: 90px;
  }
  .main .sect04 .ttl {
    max-width: 500px;
  }
  .main .sect05 {
    padding-bottom: 100px;
  }
  .main .sect05 .sect05_w {
    border-radius: 30px;
    padding: 90px 0;
    max-width: 1200px;
    margin: 0 auto;
  }
  .main .sect05 .sect05_w .sub_ttl {
    max-width: 560px;
    margin-bottom: 40px;
  }
  .main .sect05 .sect05_w .txt {
    font-size: 18px;
    margin-bottom: 40px;
  }
}