/* -----------------------------------------------------
	variables
----------------------------------------------------- */
/* -----------------------------------------------------
	kv
----------------------------------------------------- */
#kv {
  background: #00BFFF; }
  @media screen and (max-width: 1024px) {
    #kv {
      padding-top: 80px; } }
  @media screen and (max-width: 480px) {
    #kv {
      padding-top: 50px; } }
  #kv .inner {
    max-width: 1040px;
    padding: 60px 0 50px; }
    @media screen and (max-width: 960px) {
      #kv .inner {
        padding: 60px 0 80px; } }
    @media screen and (max-width: 640px) {
      #kv .inner {
        padding: 10.41667vw 0 15.625vw; } }
    @media screen and (max-width: 768px) {
      #kv .inner .kv_cont {
        width: 96%;
        margin: 0 auto; } }
    #kv .inner .kv_cont .kv_col {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      justify-content: space-between;
      -webkit-box-align: end;
      -ms-flex-align: end;
      align-items: flex-end; }
      @media screen and (max-width: 960px) {
        #kv .inner .kv_cont .kv_col {
          display: block; } }
      #kv .inner .kv_cont .kv_col .kv_col_box {
        text-align: left; }
        @media screen and (max-width: 960px) {
          #kv .inner .kv_cont .kv_col .kv_col_box {
            text-align: center;
            margin-bottom: 6em; } }
        @media screen and (max-width: 768px) {
          #kv .inner .kv_cont .kv_col .kv_col_box {
            margin-bottom: 7.8125vw; } }
      #kv .inner .kv_cont .kv_col .kv_col_img {
        width: 100%;
        max-width: 300px;
        background: #fff;
        padding: 20px 20px 0 20px;
        border-radius: 10px; }
        @media screen and (max-width: 960px) {
          #kv .inner .kv_cont .kv_col .kv_col_img {
            max-width: 100%;
            margin: 0 auto; } }
        #kv .inner .kv_cont .kv_col .kv_col_img .sub_ttl {
          font-size: 2.8rem;
          font-weight: 700;
          color: #00BFFF;
          text-align: center; }
          @media screen and (max-width: 768px) {
            #kv .inner .kv_cont .kv_col .kv_col_img .sub_ttl {
              font-size: 5.46875vw; } }
        #kv .inner .kv_cont .kv_col .kv_col_img .sub_ttl_small {
          font-size: 1.3rem;
          font-weight: 700;
          color: #0075c2;
          text-align: center; }
          @media screen and (max-width: 768px) {
            #kv .inner .kv_cont .kv_col .kv_col_img .sub_ttl_small {
              font-size: 3.90625vw; } }

/* -----------------------------------------------------
	contact common
----------------------------------------------------- */
.contact_area {
  background: #00BFFF; }
  .contact_area .inner {
    max-width: 1000px;
    width: 96%;
    margin: 0 auto;
    position: relative; }
    @media screen and (max-width: 768px) {
      .contact_area .inner {
        width: 100%; } }
    .contact_area .inner .contact_col {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      justify-content: space-between;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      padding: 80px 0; }
      @media screen and (max-width: 768px) {
        .contact_area .inner .contact_col {
          display: block;
          width: 98%;
          margin: 0 auto;
          padding: 15.625vw 5.20833vw; } }
      .contact_area .inner .contact_col .contact_link {
        width: 100%; }
        @media screen and (min-width: 769px) {
          .contact_area .inner .contact_col .contact_link {
            max-width: 433px;
            margin: 0 10px 0 0; } }
        .contact_area .inner .contact_col .contact_link .contact_ttl {
          text-align: left;
          margin-bottom: 40px; }
          @media screen and (max-width: 768px) {
            .contact_area .inner .contact_col .contact_link .contact_ttl {
              margin: 0 auto 5.20833vw; } }
        .contact_area .inner .contact_col .contact_link p {
          color: #FFF;
          text-align: left; }
          .contact_area .inner .contact_col .contact_link p.txt_sub {
            font-size: 1.7rem; }
            @media screen and (max-width: 768px) {
              .contact_area .inner .contact_col .contact_link p.txt_sub {
                font-size: 4.29688vw;
                text-align: center;
                margin-bottom: 6.51042vw; } }
        .contact_area .inner .contact_col .contact_link .btn_common_tel {
          display: block;
          margin: 20px 0 10px;
          text-align: left; }
          @media screen and (max-width: 768px) {
            .contact_area .inner .contact_col .contact_link .btn_common_tel {
              margin: 5.20833vw 0 2.60417vw; } }
      @media screen and (max-width: 768px) {
        .contact_area .inner .contact_col .contact_img {
          text-align: center;
          padding: 0 4.42708vw; } }

.btn_common {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background: #ef9b38;
  border-radius: 5px;
  font-weight: 700;
  -webkit-box-shadow: 0px 0px 20px 5px rgba(0, 0, 0, 0.2);
  box-shadow: 0px 0px 20px 5px rgba(0, 0, 0, 0.2);
  padding: 8px 10px;
  width: 100%; }
  @media screen and (min-width: 769px) {
    .btn_common {
      max-width: 380px; } }
  @media screen and (max-width: 768px) {
    .btn_common {
      padding: 2.34375vw 2.34375vw; } }
  .btn_common span {
    display: inline-block;
    color: #0075c2;
    padding: 15px 18px;
    border-radius: 5px;
    background: #fff;
    font-size: 1.8rem;
    line-height: 1.2; }
    @media screen and (max-width: 768px) {
      .btn_common span {
        font-size: 4.6875vw;
        padding: 4.94792vw; } }
  .btn_common b {
    font-size: 2.0rem;
    margin: 0 auto;
    color: #FFF; }
    @media screen and (max-width: 830px) {
      .btn_common b {
        font-size: 1.8rem; } }
    @media screen and (max-width: 768px) {
      .btn_common b {
        font-size: 5.20833vw; } }

.bg_gl {
  background: #F8F8F8;
  border-radius: 10px;
  overflow: hidden; }

.bg_f {
  background: #FFF;
  border-radius: 10px;
  overflow: hidden; }

/* -----------------------------------------------------
	about
----------------------------------------------------- */
#about .inner .section_ttl {
  margin-bottom: 100px; }
  @media screen and (max-width: 768px) {
    #about .inner .section_ttl {
      margin-bottom: 11.71875vw; } }

#about .inner .about_lead_box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center; }
  @media screen and (max-width: 768px) {
    #about .inner .about_lead_box {
      display: block; } }
  #about .inner .about_lead_box .about_lead {
    color: #0075c2;
    font-size: 2.6rem;
    font-weight: 700;
    line-height: 1.4;
    text-align: left;
    margin-bottom: 10px; }
    @media screen and (max-width: 768px) {
      #about .inner .about_lead_box .about_lead {
        font-size: 6.25vw;
        text-align: center;
        margin-bottom: 5.20833vw; } }
  #about .inner .about_lead_box .small {
    font-size: 1.5rem;
    font-weight: 400;
    letter-spacing: .06em;
    line-height: 1.8;
    padding-left: 1.25em;
    text-indent: -1.25em;
    text-align: left; }
    @media screen and (max-width: 768px) {
      #about .inner .about_lead_box .small {
        font-size: 3.90625vw; } }
  #about .inner .about_lead_box .textbox {
    width: 100%;
    max-width: 610px;
    margin-right: 10em; }
    @media screen and (max-width: 768px) {
      #about .inner .about_lead_box .textbox {
        margin-right: 0; } }
  @media screen and (max-width: 768px) {
    #about .inner .about_lead_box .imgbox {
      width: 45.83333vw;
      margin: 6.51042vw auto 0; } }

#about .inner .about_point {
  display: inline-block;
  color: #fff;
  font-size: 2.4rem;
  font-weight: 700;
  background: #0075c2;
  padding: 9px 45px 10px;
  margin: 70px 0 30px;
  border-radius: 50px; }
  @media screen and (max-width: 768px) {
    #about .inner .about_point {
      font-size: 5.20833vw;
      margin: 13.02083vw 0 5.85938vw;
      padding: 2.34375vw 8.85417vw 2.86458vw; } }

#about .inner .box_c {
  margin: 0 auto; }
  #about .inner .box_c .about_text_list {
    display: inline-block;
    padding-left: 0; }
    #about .inner .box_c .about_text_list .about_text {
      text-align: left;
      font-size: 2.0rem;
      line-height: 1.6;
      letter-spacing: .04em;
      padding-left: 1.25em;
      text-indent: -1.25em;
      margin-bottom: 15px; }
      @media screen and (max-width: 768px) {
        #about .inner .box_c .about_text_list .about_text {
          font-size: 3.90625vw;
          margin-bottom: 4.6875vw; } }
      #about .inner .box_c .about_text_list .about_text:last-of-type {
        margin-bottom: 40px; }
        @media screen and (max-width: 768px) {
          #about .inner .box_c .about_text_list .about_text:last-of-type {
            margin-bottom: 11.71875vw; } }
      #about .inner .box_c .about_text_list .about_text .text_color_b {
        color: #0075c2;
        font-weight: 700; }

/* -----------------------------------------------------
	worry
----------------------------------------------------- */
#worry .section_ttl {
  margin-bottom: 100px; }
  @media screen and (max-width: 768px) {
    #worry .section_ttl {
      margin-bottom: 11.71875vw; } }

#worry .before {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 32px; }
  @media screen and (max-width: 768px) {
    #worry .before {
      gap: 5.20833vw; } }
  #worry .before .before_box {
    width: calc(100% / 3 - 22px);
    background: #00BFFF;
    border-radius: 10px;
    color: #fff;
    padding: 30px 0 20px; }
    @media screen and (max-width: 768px) {
      #worry .before .before_box {
        width: 100%;
        padding: 7.8125vw 0; } }
    #worry .before .before_box p {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
      color: #fff;
      font-size: 2.0rem;
      font-weight: 700;
      line-height: 1.4;
      height: 4em; }
      @media screen and (max-width: 768px) {
        #worry .before .before_box p {
          font-size: 5.20833vw;
          width: 100%; } }
    #worry .before .before_box div {
      margin-top: 3em;
      text-align: center; }
      @media screen and (max-width: 768px) {
        #worry .before .before_box div img {
          width: 43.61979vw; }
          #worry .before .before_box div img.nth_c {
            width: 48.69792vw; } }
  #worry .before::after {
    content: "";
    display: block;
    margin: 0 auto;
    border-style: solid;
    border-width: 33px 33px 0 33px;
    border-color: #0075c2 transparent transparent transparent; }

#worry .after {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 10px;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background: #ffffff;
  border-radius: 10px;
  margin: 30px 0 0 0;
  padding: 24px 0; }
  @media screen and (max-width: 768px) {
    #worry .after {
      gap: 5.20833vw;
      margin: 5.20833vw 0 0 0;
      padding: 6.51042vw 3.90625vw; } }
  #worry .after .after_contents {
    text-align: left; }
    @media screen and (max-width: 768px) {
      #worry .after .after_contents {
        text-align: center; } }
    #worry .after .after_contents .ttl {
      font-size: 2.8rem;
      font-weight: 700;
      color: #0075c2;
      margin: 0 0 10px 0; }
      @media screen and (max-width: 768px) {
        #worry .after .after_contents .ttl {
          font-size: 6.25vw;
          margin: 0 0 1.30208vw 0; } }
    #worry .after .after_contents .text {
      font-size: 1.8rem;
      font-weight: 700; }
      @media screen and (max-width: 768px) {
        #worry .after .after_contents .text {
          font-size: 4.6875vw; } }
    #worry .after .after_contents .btn_common {
      margin: 20px 0 0 0; }
      @media screen and (max-width: 768px) {
        #worry .after .after_contents .btn_common {
          margin: 5.20833vw 0 0 0; } }
  @media screen and (max-width: 768px) {
    #worry .after .after_img {
      width: 59.11458vw; } }

/* -----------------------------------------------------
	feature
----------------------------------------------------- */
#feature .feature_text {
  font-size: 2rem;
  line-height: 1.6; }
  @media screen and (max-width: 768px) {
    #feature .feature_text {
      font-size: 3.90625vw; } }
  #feature .feature_text span {
    color: #0075c2; }

#feature .feature_item {
  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;
  margin: 100px 0 0 0;
  gap: 30px; }
  @media screen and (max-width: 768px) {
    #feature .feature_item {
      margin: 11.71875vw 0 0 0;
      gap: 6.51042vw; } }
  #feature .feature_item .item {
    width: calc(100% / 4 - 24px);
    background: #F8F8F8;
    border-radius: 10px;
    padding: 20px 24px; }
    @media screen and (max-width: 768px) {
      #feature .feature_item .item {
        width: 100%;
        padding: 7.8125vw 6.51042vw; } }
    #feature .feature_item .item .item_img {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      min-height: 102px; }
      @media screen and (max-width: 768px) {
        #feature .feature_item .item .item_img {
          display: block;
          min-height: inherit; } }
    @media screen and (max-width: 768px) {
      #feature .feature_item .item:nth-child(1) .item_img {
        width: 24.47917vw;
        margin: 0 auto; } }
    @media screen and (max-width: 768px) {
      #feature .feature_item .item:nth-child(2) .item_img {
        width: 24.73958vw;
        margin: 0 auto; } }
    @media screen and (max-width: 768px) {
      #feature .feature_item .item:nth-child(3) .item_img {
        width: 18.48958vw;
        margin: 0 auto; } }
    @media screen and (max-width: 768px) {
      #feature .feature_item .item:nth-child(4) .item_img {
        width: 28.25521vw;
        margin: 0 auto; } }
    @media screen and (max-width: 768px) {
      #feature .feature_item .item:nth-child(5) .item_img {
        width: 30.07813vw;
        margin: 0 auto; } }
    @media screen and (max-width: 768px) {
      #feature .feature_item .item:nth-child(6) .item_img {
        width: 21.74479vw;
        margin: 0 auto; } }
    @media screen and (max-width: 768px) {
      #feature .feature_item .item:nth-child(7) .item_img {
        width: 23.30729vw;
        margin: 0 auto; } }
    @media screen and (max-width: 768px) {
      #feature .feature_item .item:nth-child(8) .item_img {
        width: 29.29688vw;
        margin: 0 auto; } }
    #feature .feature_item .item .item_ttl {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      min-height: 4.2em;
      line-height: 1.4;
      font-size: 1.9rem;
      font-weight: 500;
      color: #0075c2;
      margin: 10px 0 0 0; }
      @media screen and (max-width: 768px) {
        #feature .feature_item .item .item_ttl {
          display: block;
          min-height: inherit;
          font-size: 5.20833vw;
          margin: 5.20833vw 0 0 0; } }
    #feature .feature_item .item .text_area {
      text-align: left;
      font-size: 1.5rem;
      line-height: 1.8;
      margin: 10px 0 0 0; }
      @media screen and (max-width: 768px) {
        #feature .feature_item .item .text_area {
          font-size: 3.90625vw;
          margin: 5.20833vw 0 0 0; } }
      #feature .feature_item .item .text_area sup {
        font-size: 75%; }

/* -----------------------------------------------------
	structure
----------------------------------------------------- */
#structure .structure_text {
  font-size: 2rem;
  line-height: 1.4; }
  @media screen and (max-width: 768px) {
    #structure .structure_text {
      font-size: 3.90625vw;
      line-height: 1.8; } }
  #structure .structure_text span {
    font-weight: 700;
    color: #0075c2; }

#structure .structure_img {
  margin: 100px 0 0 0; }
  @media screen and (max-width: 768px) {
    #structure .structure_img {
      margin: 7.8125vw 0 0 0; } }

/* -----------------------------------------------------
	flow
----------------------------------------------------- */
#flow .flow_text {
  font-size: 2rem;
  line-height: 1.4; }
  @media screen and (max-width: 768px) {
    #flow .flow_text {
      font-size: 3.64583vw; } }
  #flow .flow_text span {
    color: #0075c2;
    font-weight: 700; }

#flow .flow_step {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 32px;
  margin: 90px 0 0 0; }
  @media screen and (max-width: 768px) {
    #flow .flow_step {
      gap: 13.02083vw;
      margin: 15.625vw 0 0 0; } }
  #flow .flow_step .step {
    position: relative;
    width: calc(100% / 3 - 28px);
    border-radius: 10px;
    background: #E2F8FF;
    padding: 40px 30px 30px; }
    @media screen and (max-width: 768px) {
      #flow .flow_step .step {
        width: 100%;
        padding: 11.71875vw 6.51042vw 6.51042vw; } }
    #flow .flow_step .step:before {
      position: absolute;
      top: -0.9em;
      left: 0.1em;
      content: "01";
      display: block;
      font-size: 7rem;
      font-weight: 700;
      color: #0075c2;
      font-family: 'Mukta Mahee', sans-serif; }
      @media screen and (max-width: 768px) {
        #flow .flow_step .step:before {
          font-size: 15.625vw;
          width: 18.22917vw;
          height: 18.22917vw;
          top: -13.02083vw; } }
    #flow .flow_step .step:nth-child(2):before {
      content: "02"; }
    #flow .flow_step .step:nth-child(3):before {
      content: "03"; }
    #flow .flow_step .step .step_icon {
      margin: 10px 0 20px 0;
      height: 110px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center; }
      @media screen and (max-width: 768px) {
        #flow .flow_step .step .step_icon {
          margin: 2.60417vw 0;
          height: 20.18229vw; } }
    #flow .flow_step .step:nth-child(1) .step_icon img {
      width: auto;
      height: 110px; }
      @media screen and (max-width: 768px) {
        #flow .flow_step .step:nth-child(1) .step_icon img {
          height: 21.74479vw; } }
    #flow .flow_step .step:nth-child(2) .step_icon img {
      width: auto;
      height: 86px; }
      @media screen and (max-width: 768px) {
        #flow .flow_step .step:nth-child(2) .step_icon img {
          height: 17.05729vw; } }
    #flow .flow_step .step:nth-child(3) .step_icon img {
      width: auto;
      height: 88px; }
      @media screen and (max-width: 768px) {
        #flow .flow_step .step:nth-child(3) .step_icon img {
          height: 17.44792vw; } }
    #flow .flow_step .step .step_ttl {
      font-size: 2rem;
      color: #0075c2; }
      @media screen and (max-width: 768px) {
        #flow .flow_step .step .step_ttl {
          font-size: 5.20833vw; } }
    #flow .flow_step .step .step_text {
      text-align: left;
      margin: 20px 0 0 0;
      font-size: 1.5rem;
      line-height: 1.8; }
      @media screen and (max-width: 768px) {
        #flow .flow_step .step .step_text {
          font-size: 3.64583vw;
          margin: 2.60417vw 0 0 0; } }

/* -----------------------------------------------------
	faq
----------------------------------------------------- */
#faq .section_ttl {
  margin-bottom: 60px; }
  @media screen and (max-width: 768px) {
    #faq .section_ttl {
      margin-bottom: 10.41667vw; } }

#faq .faq_wrap dl {
  margin: 24px 0 0 0;
  text-align: left; }
  @media screen and (max-width: 768px) {
    #faq .faq_wrap dl {
      margin: 5.20833vw 0 0 0; } }
  #faq .faq_wrap dl:first-child {
    margin: 0; }
  #faq .faq_wrap dl dt {
    position: relative;
    background-color: #ffffff;
    padding: 27.5px 74px 27.5px 94px;
    cursor: pointer;
    color: #0075c2; }
    @media screen and (max-width: 768px) {
      #faq .faq_wrap dl dt {
        padding: 3.25521vw 11.97917vw 3.25521vw 15.625vw; } }
    #faq .faq_wrap dl dt .text {
      font-size: 2rem; }
      @media screen and (max-width: 768px) {
        #faq .faq_wrap dl dt .text {
          font-size: 5.20833vw;
          line-height: 1.4; } }
    #faq .faq_wrap dl dt .icon {
      display: block;
      width: 24px;
      height: 24px;
      position: absolute;
      top: 50%;
      right: 40px;
      -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      transform: translateY(-50%); }
      @media screen and (max-width: 768px) {
        #faq .faq_wrap dl dt .icon {
          top: 3.25521vw;
          right: 4.94792vw;
          -webkit-transform: translateY(0);
          -ms-transform: translateY(0);
          transform: translateY(0); } }
      #faq .faq_wrap dl dt .icon:before, #faq .faq_wrap dl dt .icon:after {
        content: "";
        display: block;
        width: 24px;
        height: 2px;
        background: #0075c2;
        position: absolute;
        right: 0;
        top: 50%;
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        transform: translateY(-50%); }
        @media screen and (max-width: 768px) {
          #faq .faq_wrap dl dt .icon:before, #faq .faq_wrap dl dt .icon:after {
            width: 3.125vw;
            height: 0.26042vw; } }
      #faq .faq_wrap dl dt .icon:after {
        -webkit-transform: translateY(-50%) rotate(90deg);
        -ms-transform: translateY(-50%) rotate(90deg);
        transform: translateY(-50%) rotate(90deg);
        -webkit-transition: 0.5s;
        -o-transition: 0.5s;
        transition: 0.5s; }
    #faq .faq_wrap dl dt .open:after {
      -webkit-transform: rotate(0);
      -ms-transform: rotate(0);
      transform: rotate(0);
      -webkit-transition: 0.5s;
      -o-transition: 0.5s;
      transition: 0.5s; }
    #faq .faq_wrap dl dt:before {
      position: absolute;
      top: 25px;
      left: 40px;
      content: "Q";
      font-size: 4rem;
      font-weight: 700;
      line-height: 1; }
      @media screen and (max-width: 768px) {
        #faq .faq_wrap dl dt:before {
          font-size: 10.41667vw;
          left: 2.60417vw;
          top: 3.25521vw; } }
  #faq .faq_wrap dl dd {
    display: none;
    position: relative;
    background-color: #F1F8FC;
    font-size: 1.5rem;
    line-height: 1.8;
    padding: 27.5px 40px 27.5px 94px; }
    @media screen and (max-width: 768px) {
      #faq .faq_wrap dl dd {
        font-size: 3.64583vw;
        padding: 3.25521vw 6.51042vw 3.25521vw 15.625vw; } }
    #faq .faq_wrap dl dd .faq_img_box {
      margin-top: 20px; }
    #faq .faq_wrap dl dd:before {
      position: absolute;
      top: 20px;
      left: 45px;
      content: "A";
      font-size: 4rem;
      font-weight: 700;
      color: #0075c2;
      line-height: 1; }
      @media screen and (max-width: 768px) {
        #faq .faq_wrap dl dd:before {
          left: 2.60417vw;
          top: 3.25521vw;
          font-size: 10.41667vw; } }

/* -----------------------------------------------------
	form
----------------------------------------------------- */
@media screen and (max-width: 640px) {
  #form .inner.add_inner {
    padding: 26.04167vw 3.90625vw 18.22917vw; } }

#form .inner .ttl {
  margin-bottom: 30px;
  font-weight: 500; }
  @media screen and (max-width: 768px) {
    #form .inner .ttl {
      font-size: 8.33333vw; } }

#form .frame_wrapper {
  width: 100%; }
  #form .frame_wrapper iframe {
    width: 100%; }

/* -----------------------------------------------------
	related
----------------------------------------------------- */
#related .section_ttl {
  margin-bottom: 60px; }
  @media screen and (max-width: 768px) {
    #related .section_ttl {
      margin-bottom: 8.33333vw; } }

#related .article_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 32px;
  border-radius: 10px;
  background-color: #ffffff;
  padding: 40px; }
  @media screen and (max-width: 768px) {
    #related .article_wrap {
      gap: 7.8125vw;
      padding: 6.51042vw; } }
  #related .article_wrap article {
    width: calc(100% / 3 - 22px); }
    @media screen and (max-width: 768px) {
      #related .article_wrap article {
        width: 100%; } }
    #related .article_wrap article a {
      display: block; }
      #related .article_wrap article a .article_ttl {
        font-size: 1.8rem;
        font-weight: 500;
        line-height: 1.5;
        text-align: left;
        margin: 20px 0 0 0;
        letter-spacing: -0.02em; }
        @media screen and (max-width: 768px) {
          #related .article_wrap article a .article_ttl {
            font-size: 4.55729vw;
            margin: 3.90625vw 0 0 0; } }
      #related .article_wrap article a .article_lead {
        width: 100%;
        height: calc(1.8em * 3);
        overflow: hidden;
        -o-text-overflow: ellipsis;
        text-overflow: ellipsis;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3;
        font-size: 1.5rem;
        line-height: 1.8;
        text-align: left;
        margin: 10px 0 0 0; }
        @media screen and (max-width: 768px) {
          #related .article_wrap article a .article_lead {
            font-size: 3.64583vw;
            margin: 2.60417vw 0 0 0; } }

.container {
  background: #00BFFF;
  padding: 30px 0 100px; }
  @media screen and (max-width: 768px) {
    .container {
      padding: 22.13542vw 0 15.625vw; } }
  .container .sec_1 {
    margin-bottom: 50px; }
    @media screen and (max-width: 768px) {
      .container .sec_1 {
        margin-bottom: 13.02083vw; } }
    .container .sec_1 .inner {
      padding: 0 0; }
      @media screen and (max-width: 768px) {
        .container .sec_1 .inner {
          width: 90%; } }
      .container .sec_1 .inner .sec_ttl {
        color: #fff;
        line-height: 1.0; }
        @media screen and (max-width: 768px) {
          .container .sec_1 .inner .sec_ttl {
            display: block; } }
        .container .sec_1 .inner .sec_ttl span {
          display: inline-block;
          font-size: 4.5rem; }
          @media screen and (max-width: 768px) {
            .container .sec_1 .inner .sec_ttl span {
              font-size: 11.71875vw;
              line-height: 1.2; } }
          .container .sec_1 .inner .sec_ttl span.tag {
            display: inline-block;
            font-size: 2.2rem;
            color: #0075c2;
            background: #FFE74D;
            border-radius: 28px;
            padding: 9px 25px 11px; }
            @media screen and (max-width: 768px) {
              .container .sec_1 .inner .sec_ttl span.tag {
                font-size: 6.25vw;
                margin: 0 0 2.34375vw 0;
                border-radius: 9.11458vw;
                padding: 2.34375vw 6.51042vw 1.95313vw;
                line-height: 1.16; } }
      .container .sec_1 .inner .flow_step {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        gap: 26px;
        margin: 60px 0 0 0; }
        @media screen and (max-width: 768px) {
          .container .sec_1 .inner .flow_step {
            display: block;
            gap: 13.02083vw;
            margin: 15.625vw 0 0; } }
        .container .sec_1 .inner .flow_step .step {
          width: calc(100% / 4);
          position: relative; }
          @media screen and (max-width: 768px) {
            .container .sec_1 .inner .flow_step .step {
              width: 100%; }
              .container .sec_1 .inner .flow_step .step + .step {
                margin: 22.13542vw 0 0; } }
          .container .sec_1 .inner .flow_step .step .step_num {
            position: absolute;
            z-index: 2;
            top: -20px;
            left: 50%;
            -webkit-transform: translateX(-50%);
            -ms-transform: translateX(-50%);
            transform: translateX(-50%);
            width: 140px;
            height: 40px;
            background: #0075c2;
            font-size: 2.8rem;
            font-weight: 700;
            line-height: 42px;
            color: #fff;
            border-radius: 8px;
            font-family: 'Mukta Mahee', sans-serif; }
            @media screen and (max-width: 768px) {
              .container .sec_1 .inner .flow_step .step .step_num {
                font-size: 6.51042vw;
                width: 32.55208vw;
                height: 10.41667vw;
                line-height: 10.67708vw;
                top: -5.20833vw; } }
          .container .sec_1 .inner .flow_step .step .step_text_f {
            text-align: left;
            margin: 10px 0 0 0;
            font-size: 1.5rem;
            font-weight: 400;
            color: #fff;
            line-height: 1.8; }
            @media screen and (max-width: 768px) {
              .container .sec_1 .inner .flow_step .step .step_text_f {
                font-size: 3.64583vw;
                margin: 2.60417vw 0 0 0; } }
          .container .sec_1 .inner .flow_step .step:nth-child(1) .step_icon img {
            width: auto;
            height: 82px; }
            @media screen and (max-width: 768px) {
              .container .sec_1 .inner .flow_step .step:nth-child(1) .step_icon img {
                height: 19.27083vw; } }
          .container .sec_1 .inner .flow_step .step:nth-child(2) .step_icon img {
            width: auto;
            height: 90px; }
            @media screen and (max-width: 768px) {
              .container .sec_1 .inner .flow_step .step:nth-child(2) .step_icon img {
                height: 23.4375vw; } }
          @media screen and (max-width: 768px) {
            .container .sec_1 .inner .flow_step .step:nth-child(3) .step_box::after {
              bottom: -26.04167vw; } }
          .container .sec_1 .inner .flow_step .step:nth-child(3) .step_icon img {
            width: auto;
            height: 90px; }
            @media screen and (max-width: 768px) {
              .container .sec_1 .inner .flow_step .step:nth-child(3) .step_icon img {
                height: 23.4375vw; } }
          .container .sec_1 .inner .flow_step .step:nth-child(4) .step_icon img {
            width: auto;
            height: 64px; }
            @media screen and (max-width: 768px) {
              .container .sec_1 .inner .flow_step .step:nth-child(4) .step_icon img {
                height: 18.22917vw; } }
        .container .sec_1 .inner .flow_step .step_box {
          border-radius: 10px;
          background: #fff;
          padding: 40px 26px 22px;
          position: relative; }
          @media screen and (max-width: 768px) {
            .container .sec_1 .inner .flow_step .step_box {
              width: 100%;
              padding: 10.9375vw 0 5.20833vw; } }
          .container .sec_1 .inner .flow_step .step_box.alone {
            margin-bottom: 90px;
            padding: 40px 0; }
            @media screen and (max-width: 768px) {
              .container .sec_1 .inner .flow_step .step_box.alone {
                margin-bottom: 0;
                padding: 10.41667vw 0; } }
            .container .sec_1 .inner .flow_step .step_box.alone .step_icon {
              height: auto; }
          .container .sec_1 .inner .flow_step .step_box .step_icon {
            margin: 0 0 15px 0;
            height: 90px;
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-pack: center;
            -ms-flex-pack: center;
            justify-content: center;
            -webkit-box-align: center;
            -ms-flex-align: center;
            align-items: center; }
            @media screen and (max-width: 768px) {
              .container .sec_1 .inner .flow_step .step_box .step_icon {
                margin: 0 0 3.25521vw;
                height: auto; } }
          .container .sec_1 .inner .flow_step .step_box .step_ttl {
            font-size: 2.4rem;
            font-weight: 700;
            color: #0075c2; }
            @media screen and (max-width: 768px) {
              .container .sec_1 .inner .flow_step .step_box .step_ttl {
                font-size: 6.25vw; } }
          .container .sec_1 .inner .flow_step .step_box .step_text {
            text-align: left;
            margin: 12px 0 0 0;
            font-size: 1.5rem;
            font-weight: 400;
            line-height: 1.8; }
            @media screen and (max-width: 768px) {
              .container .sec_1 .inner .flow_step .step_box .step_text {
                font-size: 3.64583vw;
                margin: 2.99479vw 0 0 0;
                text-align: center; } }
          .container .sec_1 .inner .flow_step .step_box:not(.alone):after {
            position: absolute;
            top: 50%;
            right: -16px;
            -webkit-transform: translateY(-50%);
            -ms-transform: translateY(-50%);
            transform: translateY(-50%);
            content: "";
            display: block;
            border-style: solid;
            border-width: 24px 0 24px 16px;
            border-color: transparent transparent transparent #fff; }
            @media screen and (max-width: 768px) {
              .container .sec_1 .inner .flow_step .step_box:not(.alone):after {
                top: inherit;
                right: inherit;
                bottom: -27.34375vw;
                left: 50%;
                -webkit-transform: translateX(-50%);
                -ms-transform: translateX(-50%);
                transform: translateX(-50%);
                border-width: 7.29167vw 10.41667vw 0 10.41667vw;
                border-color: #fff transparent transparent transparent; } }
  .container .sec_2 {
    margin-bottom: 55px; }
    @media screen and (max-width: 768px) {
      .container .sec_2 {
        margin-bottom: 9.11458vw; } }
    .container .sec_2 .inner {
      border-radius: 16px;
      border: 2px solid #fff;
      padding: 40px 0 50px;
      -webkit-box-sizing: border-box;
      box-sizing: border-box; }
      @media screen and (max-width: 768px) {
        .container .sec_2 .inner {
          width: 90%;
          padding: 7.8125vw 6.25vw 9.11458vw; } }
      .container .sec_2 .inner .sec_ttl {
        font-size: 2.4rem;
        color: #fff;
        background: #0075c2;
        display: inline-block;
        padding: 6px 0 8px;
        width: 320px;
        margin-bottom: 40px;
        border-radius: 20px; }
        @media screen and (max-width: 768px) {
          .container .sec_2 .inner .sec_ttl {
            font-size: 5.46875vw;
            width: 66.40625vw;
            padding: 2.60417vw 0 3.25521vw;
            margin-bottom: 9.11458vw; } }
      .container .sec_2 .inner .sec_2_col {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: stretch;
        -ms-flex-align: stretch;
        align-items: stretch; }
        @media screen and (max-width: 768px) {
          .container .sec_2 .inner .sec_2_col {
            display: block; } }
        .container .sec_2 .inner .sec_2_col .plus {
          color: #00BFFF;
          background: #fff;
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-pack: center;
          -ms-flex-pack: center;
          justify-content: center;
          -webkit-box-align: center;
          -ms-flex-align: center;
          align-items: center;
          padding-bottom: 0.5rem;
          width: 50px;
          height: 50px;
          border-radius: 50%;
          font-size: 9em;
          margin: auto 2.4rem; }
          @media screen and (max-width: 768px) {
            .container .sec_2 .inner .sec_2_col .plus {
              width: 15.625vw;
              height: 15.625vw;
              font-size: 16.92708vw;
              margin: 5.20833vw auto;
              padding-bottom: 1.95313vw; } }
        .container .sec_2 .inner .sec_2_col .common_box {
          width: calc(66% / 2);
          background: #fff;
          border-radius: 16px;
          padding: 24px 0;
          color: #0075c2; }
          @media screen and (max-width: 768px) {
            .container .sec_2 .inner .sec_2_col .common_box {
              width: 100%;
              padding: 6.51042vw 0 5.20833vw; } }
          .container .sec_2 .inner .sec_2_col .common_box:first-child img {
            width: auto;
            height: 62px; }
            @media screen and (max-width: 768px) {
              .container .sec_2 .inner .sec_2_col .common_box:first-child img {
                height: 17.44792vw; } }
          .container .sec_2 .inner .sec_2_col .common_box:last-child img {
            width: auto;
            height: 87px; }
            @media screen and (max-width: 768px) {
              .container .sec_2 .inner .sec_2_col .common_box:last-child img {
                height: 20.83333vw; } }
          .container .sec_2 .inner .sec_2_col .common_box .ttl {
            font-size: 2.0rem;
            font-weight: 700;
            margin-bottom: 20px; }
            @media screen and (max-width: 768px) {
              .container .sec_2 .inner .sec_2_col .common_box .ttl {
                font-size: 5.20833vw;
                margin-bottom: 3.90625vw; } }
          .container .sec_2 .inner .sec_2_col .common_box .imgbox {
            margin: 0 auto;
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-pack: center;
            -ms-flex-pack: center;
            justify-content: center;
            -webkit-box-align: center;
            -ms-flex-align: center;
            align-items: center; }
            @media screen and (max-width: 768px) {
              .container .sec_2 .inner .sec_2_col .common_box .imgbox {
                height: auto;
                margin: 0 auto; } }
          .container .sec_2 .inner .sec_2_col .common_box .text {
            font-size: 1.4rem;
            margin: 10px 0 0; }
            @media screen and (max-width: 768px) {
              .container .sec_2 .inner .sec_2_col .common_box .text {
                font-size: 3.64583vw;
                margin: 3.90625vw 0 0;
                line-height: 1.4; } }
  .container #form_add .inner {
    background: #fff;
    border-radius: 16px;
    padding: 50px 0; }
    @media screen and (max-width: 768px) {
      .container #form_add .inner {
        width: 90%;
        padding: 6.51042vw 0; } }
    .container #form_add .inner .ttl {
      font-weight: 500;
      font-size: 3.2rem; }
      @media screen and (max-width: 768px) {
        .container #form_add .inner .ttl {
          font-size: 6.25vw;
          line-height: 1.2; } }
      .container #form_add .inner .ttl span {
        color: #00BFFF;
        font-size: 3.8rem; }
        @media screen and (max-width: 768px) {
          .container #form_add .inner .ttl span {
            font-size: 7.03125vw; } }
