@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700&display=swap');
html {
  scroll-behavior: smooth;
}

* {
  color: #505050;
}

body {
  background-color: #F7F7F7;
}

body * {
    color: #505050;
    padding: 0;
    margin: 0;
    font-family: 'Noto Sans JP', sans-serif;
  }

h2 {
  margin: 0;
  text-align: center;
  color: #505050;
  font-size: max(20px, 3vw) !important;
  font-weight: 400;
}

img {
  width: 100%;
}

ul, li {
  padding: 0;
  margin: 0;
}

li {
  list-style: none;
}

/* header start */

header {
    width: 100%;
    height: 80px;
    display: flex;
    justify-content: space-between;
    font-size: 21px;
    padding: 15px 15px;
    position: fixed;
    top: 0;
    left: 0;
    background-color: rgba(255, 255, 255, 0.55);
    z-index: 20;
}

.campany_logo a {
    text-align: center;
    font-size: 1.8vw;
    text-decoration: none;
}


.header-contact {
    display: flex;
}

.header-contact a {
    color: aliceblue;
    font-size: 20px;
    margin: 10px 0;
    font-weight: 500;
}


.header-icon {
    width: 180px;
    height: 50px;
    border-radius: 10px;
    margin-right: 20px;
    box-shadow: 5px 5px 8px rgb(196, 196, 196);
    text-align: center;
    padding-top: 7px;
}

.header-icon a {
    text-decoration: none;
}

.line-color {
    background-color: rgb(68, 222, 96);
}

.insta-color {
    background-color: rgb(255, 118, 241);
}

/* header end */




/* fv start */

.fv {
    position: relative;
    top: 80px;
}

.fv img {
    width: 100%;
    overflow: hidden;
}

.sp-fv {
    display: none;
}

.app-content {
    margin-bottom: 16vw;
}
/* fv end */
/* six-points start */
.six-points {
    width: 100%;
    margin-top: 150px;
}

.six-content {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    padding: 20px 8vw;
}

.six-content img {
    width: 22.5vw;
    margin: 20px 20px;
}

.content-title h2 {
    width: fit-content;
    font-size: 3vw;
    border-bottom:6px dotted rgb(81, 243, 255);
    margin-bottom: 50px;
    padding-bottom: 15px;
}

span .size {
    font-size: 5vw;
}

.content-title{
    width: 100%;
    display: flex;
    justify-content: center;
}

.content-title span {
    color: rgb(0, 157, 255);
}

.fit-content {
    width: fit-content;
    margin: 0 auto;
}


/* six-points end */





/* app-guidance start */

.app-back {
    width: 100%;
    margin-top: 80px;
    padding-top: 5vw;
    position: relative;
}

.sp-app-back {
    display: none;
}

.app-back img {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
}


.content-title-white h2 {
    color: rgb(255, 255, 255);
    border-bottom: 8px dotted #ffffff;
    width: fit-content;
    font-size: 3vw;
    margin-bottom: 5vw;
    padding-bottom: 15px;
}

.content-title-white{
    width: 100%;
    display: flex;
    justify-content: center;
}


.app-icon img {
    width:15vw;
}

.app-icon {
    display: flex;
    justify-content: space-around;
    width: 90%;
    margin: 1vw 5%;
}

.app-group p {
    font-size: 2.6vw;
    text-align: center;
}

.app-name {
    background: linear-gradient(to right, rgb(212, 105, 255), rgb(255, 140, 234));
    border-radius: 10px;
    margin-top: 20px;
    box-shadow: 5px 5px 8px rgba(49, 49, 49, 0.27);
}


.other-app {
    display: flex;
    justify-content: center;
    margin-top: 4vw;
    color: #ffffff;
    font-size: 3vw;
    transform:rotate(-4deg);
}

.other-app p {
    width: fit-content;
    color: #ffffff;
    background-color: #ffffff2c;
    padding: 0 25px;
    box-shadow: 5px 5px 8px rgba(82, 82, 82, 0.147);
}

/* app-guidance end */

/* flow section start */
.flow_list_pc li {
  position: relative;
}

.flow_list_pc span {
  position: absolute;
  display: block;
  bottom: 17%;
  left: 5%;
  width: 90%;
  text-align: center;
  font-size: 12px;
}

.flow_pc {
  padding-top: 5vw;
  padding-bottom: 8vw;
  margin-top: 4vw;
}

.flow_list_pc {
  margin-top: 4vw;
  width: 95%;
  margin-left: auto;
  margin-right: auto;
}

.flow_list_pc ul, .contact_list ul {
  display: flex;
  justify-content: center;
}

.flow_list_pc ul li {
  position: relative;
  width: 15%;
}

.flow_list_pc ul li:not(:last-child)::before {
  content: "";
  position: absolute;
  background-image: url(../img/flow-pc/arrow@2x.png);
  background-repeat: no-repeat;
  background-size: contain;
  top: 40%;
  right: -31%;
  width: 4vw;
  height: 2.1vw;
}

.flow_sp_ttl, .flow_pc_ttl, .wish_ttl {
  position: relative;
}

.flow_sp_ttl img, .flow_pc_ttl img, .wish_ttl img {
  position: absolute;
  top: -35%;
  left: 50%;
  transform: translateX(-50%);
  width: 50%;
}

.flow_sp_ttl h2, .flow_pc_ttl h2, .wish_ttl h2 {
  color: rgba(0,0,0,0);
}
/* flow section end */

/* wish section start */
.wish {
  background-image: url("../img/app_back_img.png");
  background-repeat: no-repeat;
  background-size: cover;
  padding-top: 5vw;
  padding-bottom: 5vw;
}

.wish_list {
  margin-top: 4vw;
}

.wish_list li {
  width: 60%;
  position: relative;
  margin-left: auto;
  margin-right: auto;
}

.wish_list span {
  position: absolute;
  display: block;
  top: 20%;
  left: 50%;
  transform: translateX(-50%);
  width: max-content;
  font-size: max(14px, 1.8vw);
}
/* wish section end */

/* question-pc section start */
.question {
  padding-top: 5vw;
  padding-bottom: 5vw;
}

.question_list {
  width: 70%;
  margin-top: 2vw;
  margin-left: auto;
  margin-right: auto;
}

.question_list li {
  position: relative;
}

.question_list span {
  display: block;
  width: fit-content;
  position: absolute;
}

.question_list p {
  margin: 0;
  margin-left: 8px;
}

span.question_txt {
  top: 8%;
  left: 14%;
}

span.answer_txt {
  top: 43%;
  left: 14%;
}

span.question_txt, span.answer_txt {
  font-size: max(11px, 1.8vw);
}
/* question-pc section end */

/* contact section start */
.contact {
  padding: 5vw 0;
}

.concat_icon {
  width: 100%;
  background-color: #ffffff;
}

.contact_list {
  width: 50%;
  margin-left: auto;
  margin-right: auto;
  padding: 6vw 0;
}

.thanks_contact_list {
  width: 16%;
  margin-left: auto;
  margin-right: auto;
  margin-top: 100px;
}

.contact_list li {
  width: 300px;
}
/* contact section end */

/* about-pc section start */
section .about {
  background-color: #ffffff;
  padding-top: 5vw;
  padding-bottom: 8vw;
}

.about_list {
  width: 80%;
  margin-top: 4vw;
  margin-left: auto;
  margin-right: auto;
}

.about_list li {
  border-bottom: solid 1px;
  border-color: #EEEEEE;
  padding-top: 16px;
  padding-bottom: 16px;
  padding-left: 28px;
}

.about_list li span {
  display: inline-block;
}

.about_list li .ttl {
  width: 43%;
}

.about_list li .txt {
  width: fit-content;
}
/* about-pc section end */

/* privacy policy-pc section start */
.privacy_policy {
  width: 100%;
  background-color: #F7F7F7;
  padding: 12vw 0 12vw 0;
}

.privacy_policy_txt {
  width: 80%;
  height: 400px;
  overflow-y: scroll;
  margin-left: auto;
  margin-right: auto;
  padding: 20px;
  border: solid 1px #F7F7F7;
}

.privacy_policy_txt li {
  margin: 12px 0 12px 0;
}

.privacy_policy_txt span, .privacy_policy_txt > p {
  font-weight: 500;
}

.privacy_policy_txt li p {
  font-weight: 300;
}

.privacy_policy_txt span {
  display: block;
  margin-bottom: 4px;
  font-size: 20px;
}

.privacy_policy_txt > p {
  font-size: 28px;
}
/* privacy policy-pc section end */

/* footer start */
footer {
  height: 40px;
  background-color: #77CFFD;
  text-align: center;
  padding-top: 8px;
}
/* footer end */

.form {
  width: 100%;
  margin: 0 auto;
}


.thanks {
  font-size: 30px;
  font-weight: 500;
}

.form-title {
  font-size: 35px;
}

.margin_auto{
  width: fit-content;
  margin: 0 auto;
}


.form li {
  display: flex;
  margin: 30px;
  margin-top: 50px;
}

.form ul {
  width: fit-content;
  margin: 0 auto;
  margin-top: 80px;
}

.form-name {
  width: 150px;
  font-size: 20px;
  margin-right: 10px;
}

.form-name span{
  color: red;
  font-size: 10px;
}

.g_form_text {
  width: 250px;
  padding: 7px;
  font-size: 15px;
}

.g_form_choice {
  width: 180px;
  padding: 7px;
}

.g_form_age {
  padding: 7px;
  width: 80px;
}

.btbt {
  padding: 15px;
  width: 200px;
  font-size: 22px;
  background-color: #40bbfe;
  border: #40bbfe;
  border-radius: 5px;
  color: #ffffff;
  margin-top: 50px;
}

.text_align {
  text-align: center;
}

.thanks_exam {
  margin-top: 30px;
  font-size: 20px;
  line-height: 40px;
  margin-bottom: 20px;
}

.sp-br {
  display: none;
}

.thanks {
  margin-top: 50px;
}

.back-btn {
  font-size: 17px;
  background-color: #40bbfe;
  padding: 10px;
  border-radius: 5px;
  margin-top: 60px;
}

.back-btn a {
  text-decoration: none;
  color: #ffffff;
}

.height {
  height: 97vh;
}
@media screen and (max-width: 1024px) {

    .campany_logo a {
        font-size: 2.5vw;
    }

    /* six-points start */

    .content-title h2 {
        font-size: 3.5vw;
    }

    .content-title-white h2 {
        font-size: 3.5vw;
        margin-bottom: 4vw;
    }

    span .size {
        font-size: 6vw;
    }

    .six-content {
        padding: 20px 3vw;
    }

    .six-content img {
        width: 26vw;
        margin: 1vw 1vw;
    }

    .form iframe {
      height: 1280px;
    }

    .thanks {
      font-size: 25px;
    }

    /* six-points end */
}

@media screen and (max-width: 840px) {

    /* header start*/

    header {
        height: 65px;
        padding: 10px 15px;
    }

    .header-icon {
        width: 149px;
        height: 45px;
        padding-top: 4px;
    }


    .header-contact a {
        font-size: 17px;
    }

    /* header end */


    /* fv start */

    .fv {
        top: 67px;
    }


    /* fv end */

    /* six-points start */

    .content-title h2 {
        font-size: 4.3vw;
    }

    .content-title-white h2 {
        font-size: 4.3vw;
        margin-bottom: 2vw;
    }

    span .size {
        font-size: 7vw;
    }

    .six-content {
        padding: 20px 2vw;
    }


    .six-content img {
        width: 29vw;
        margin: 1vw 1vw;
    }
    /* six-points end */

    /* app-guidance start */
    .app-icon {
        justify-content: space-around;
        flex-wrap: wrap;
    }

    .app-icon img {
        width: 20vw;
        margin-top: 3vw;
    }

    .app-group p {
        font-size: 3.8vw;
        font-weight: 500;
        padding: 5px 0;
    }

    .app-back img {
        height: 1500%;
    }

    .other-app {
        font-size: 4vw;
        margin-top: 5vw;
    }

    .form-title{
      font-size: 30px;
    }

    .form-name {
      font-size: 16px;
      width: 130px;
      margin-bottom: 10px;
    }

    .btbt {
      width: 200px;
      font-size: 22px;
      background-color: #40bbfe;
      border-radius: 5px;
      border: #40bbfe;
      padding: 15px;
      color: #ffffff;

    }
    .thanks_exam {
      margin-top: 30px;
      font-size: 2vw;
      line-height: 40px;
      margin-bottom: 20px;
    }

    .sp-br {
      display: block;
    }

    .thanks_contact_list {
      width: 20%;
    }

    .thanks_contact_list {
      width: 18%;
      margin-top: 350px;
  }

  .height {
    height: 97vh;
  }
    /* app-guidance end */
}

@media screen and (max-width: 540px) {
  /* global start*/
  .flow_sp, .wish, .question, section .about, .contact {
    padding: 10vw 0 10vw 0;
  }

  .flow_list_sp, .wish_list, .question_list  {
    margin-top: 6vw;
  }
  /* global end*/

    /* sp fv start*/

    .fv {
        display: none;
    }

    .sp-fv img {
        width: 100%;
        overflow: hidden;
    }

    .sp-fv {
        display: block;
        position: relative;
        top: 80px;
    }

    /* sp fv end */


    /* sp header start */

    header {
        height: 80px;
        padding: 10px 2px;
    }

    .header-icon {
        width: 105px;
        height: 40px;
        padding-top: 0px;
        margin-right: 10px;
        margin-top: 8px;
    }

    .header-contact a {
        font-size: 12px;
    }

    .campany_logo {
      margin-top: 10px;
    }

    .campany_logo a {
        margin-top: 15px;
        margin-left: 5px;
        font-size: 4.7vw;
    }

    /* sp header end */

    /* sp six-points start */
    .content-title h2 {
        font-size: 6vw;
        margin-bottom: 25px;
    }

    .six-content img {
        width: 40vw;
        margin: 2vw 2vw;
    }

    span .size {
        font-size: 9vw;
    }

    /* sp six-points end */


    /* sp app-guidance start */

    .content-title-white h2 {
        font-size: 6vw;
        margin-bottom: 7vw;
    }

    .sp-app-back {
        display: block;
        width: 100%;
        margin-top: 80px;
        padding-top: 10vw;
        position: relative;
    }
    .sp-app-back img {
        position: absolute;
        top: 0;
        left: 0;
        z-index: -1;
        width: 100%;
    }

    .app-back {
        display: none;
    }

    .app-icon img {
        width: 32vw;
    }
    .app-group p {
        font-size: 4.5vw;
    }

    .app-name {
        margin-top: 13px;
    }

    .other-app {
        font-size: 5vw;
        margin-top: 10vw;
    }
    /* sp app-guidance end */

    /* flow-pc section start */
    .flow_pc {
      display: none;
    }
    /* flow-pc section end */

    /* flow-sp section start */
    .flow_sp {
      width: 95%;
      margin-left: auto;
      margin-right: auto;
    }

    .flow_sp ul {
      padding-left: 8px;
    }

    .flow_list_sp ul li {
      position: relative;
    }

    .flow_list_sp ul li:not(:last-child)::before {
      content: "";
      position: absolute;
      background-image: url(../img/flow-sp/arrow_sp@2x.png);
      background-repeat: no-repeat;
      background-size: contain;
      top: 95%;
      right: 50%;
      transform: translate(50%, 0);
      width: 6vw;
      height: 5vw;
    }

    .flow_sp_ttl img {
      width: 95%;
    }
    /* flow-sp section end */

    /* wish section start */
    .wish {
        padding-bottom: 13vw;
      }

    .wish_list li {
      width: 95%;
    }

    .wish_ttl img {
      width: 90%;
    }
    /* wish section end */

    /* question-sp section start */
      .question_list {
        width: 95%;
      }

      .question_list p {
        font-size: 14px;
        margin-left: 4px;
      }

      span.question_txt, span.answer_txt {
        font-size: 2.6vw;
      }
    /* question-sp section end */

    /* about-sp section start */
    section .about {
      padding-bottom: 18vw;
    }

    .about_list li .txt {
      display: block;
    }

    .about_list {
      width: 95%;
    }

    .about_list li {
      padding-top: 12px;
      padding-bottom: 8px;
      padding-left: 16px;
    }
    /* about-sp section end */

    /* contact section start */
    .contact_list_pc {
      display: none;
    }
    .contact_list {
      width: 80%;
      padding: 12vw 0;
    }

    .contact_list li {
      width: 80%;
    }
    /* contact section end */


    /* privacy policy-sp section start */
    .privacy_policy_txt {
      width: 90%;
    }

    .privacy_policy_txt > p, .privacy_policy_txt span {
      font-size: 16px;
    }
    /* privacy policy-sp section end */
    .form iframe {
      width: 380px;
      height: 1300px;
    }

    .thanks{
      font-size: 20px;
    }

    .form-title {
      font-size: 22px;
    }

    .form-name {
      font-size: 17px;
      width: 130px;
      margin-top: 30px;
    }

    .g_form_text {
      padding: 7px;
      width: 310px;
      font-size: 15px;
    }

    .g_form_choice {
      padding: 6px;
      font-size: 15px;
    }

    .g_form_age {
      padding: 5px;
      font-size: 15px;
    }

    .form li {
      display: initial;
      margin: 0 auto;
    }

    .margin_auto input {
      margin-top: 50px;
    }

    .btbt {
      width: 200px;
      padding: 15px;
      font-size: 22px;
    }

    .thanks_exam {
      margin-top: 30px;
      font-size: 3.2vw;
      line-height: 40px;
      margin-bottom: 20px;
    }

    .thanks_contact_list {
      width: 20%;
  }

  .thanks_contact_list {
    margin-top: 19px;
    margin-bottom: 106px;
  }

  .thanks_contact_list {
    width: 28%;
  }

  .thanks_height{
    height: 100%;
  }

  .height {
    height: 95.5vh;
  }

}

@media screen and (min-width: 541px) {
  .flow_sp, .contact_list_sp {
    display: none;
  }
}



  @media screen and (max-width: 300px) {
    .header-icon {
        width: 85px;
        height: 32px;
        position: relative;
        top: -5px;
        left: -5px;
        border-radius: 6px;
        margin-right: 4px;
  }

    .header-contact a {
        font-size: 10px;
        margin: 0px 0px;
    }
    header {
        width: 90%;
        height: 60px;
    }
    .sp-fv {
        top: 60px;
    }
    .line-color a {
        position: absolute;
        top: 7.8px;
        left: 17px;
    }

    .insta-color a {
        position: absolute;
        top: 7.8px;
        left: 4px;
    }

    .wish_list span {
        font-size: max(13px, 1.8vw);
    }

}
