@charset "UTF-8";
/*--------------------------------------------------------
定数
--------------------------------------------------------*/

@media screen and (max-width: 1600px) {
  .area1600 {
    width: 100%;
    margin-left: 0px;
  }
}


@media screen and (max-width: 800px) {
  .visible800 {
    display: block !important;
  }

  .hidden800 {
    display: none;
  }

  .area800 {
    width: 100%;
  }

  .center_img {
    margin-left: 0px;
  }

  body {
    min-width: 100%;
  }

  img {
    max-width: 100%;
    height: auto;
  }


  /*--------------------------------------------------------
  定数
  --------------------------------------------------------*/
  .padding_top80 {
    padding-top: 10.2%;
  }

  .padding_top30 {
    padding-top: 4.5%;
  }

  .padding_top50 {
    padding-top: 7.4%;
  }

  .padding_top100 {
    padding-top: 13%;
  }
  
  .padding_bottom100 {
    padding-bottom: 13%;
  }
  
  .padding_bottom80 {
    padding-bottom: 10.2%;
  }
  
  .padding_bottom240 {
    padding-bottom: 30.6%;
  }

  /*--------------------------------------------------------
  各種レイアウト
  --------------------------------------------------------*/
  .background_stripe {
    background-size: 11vw 11vw;
  }

  .notice02 {
    text-align: left;
  }

  /*--------------------------------------------------------
  TOP
  --------------------------------------------------------*/
  .negativeMargin {
    margin-top: -17.5%;
  }

  .qa_container{
    width: 95%;
    margin: 0 auto;
  }

  /* --- birth_pop --- */
  .birth_pop_title {
    font-size: 4.5vw;
  }
  /*--------------------------------------------------------
  フォーム
  --------------------------------------------------------*/
  .form_title h2 {
    font-size: 5.6vw;
  }

  .form_container {
    padding-top: 10.2%;
    padding-bottom: 20%;
  }
  
  /*chk*/
  .remaining_counter_wrapper{
    font-size: 5.6vw;
    -webkit-text-stroke: 0.5vw white;
  }
  
  .ext_chk_btn_01,
  .ext_1980 {
    width: 100%;
  }

  .modoru {
    margin-top: 7%;
    margin-bottom: 22%;
    font-size: 20px;
  }

  .info_area {
    padding: 3%;
    font-size: 22px;
  }

  .kiyaku {
    font-size: 25px;
  }

  .caution {
    font-size: 25px;
  }

  .checkbox {
    font-size: 18px;
  }

  .white_box.lawtext>div {
    height: 12em;
  }

  .lawtext h2 {
    font-size: 20px;
  }

  .lawtext p {
    font-size: 15px;
  }

  .err_msg2 {
    font-size: 15px;
  }

  .swiper {
    width: 100%;
  }

  .swiper-slide {
    width: 50vw !important;
  }

  /*pay*/
  .ext_pay_btn_01,
  .ext_1980_pay,
  .ext_pay_btn_02 {
    width: 100%;
  }

  .pa_txt {
    font-size: 22px;
  }
}

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

  /*chk*/
  .checkbox label input:checked+span.txt::after {
    top: -40%;
  }

}

@media screen and (max-width: 670px) {
  /*--------------------------------------------------------
  チェックボックス
  --------------------------------------------------------*/
  .checkbox label input:checked+span::after {
    top: 29%;
  }
}


@media screen and (max-width: 650px) {
  .copyright {
    font-size: 12px;
  }
}

@media screen and (max-width: 600px) {
  body {
    font-size: 14px;
  }
  
  .hidden600 {
      display: none;
  }

  .break_600:after {
  content: "\A";
  white-space: pre;
  }

  /*--------------------------------------------------------
  各種レイアウト
  --------------------------------------------------------*/
  .notice03 {
      font-size: 1.2em;
  }

  /*--------------------------------------------------------
  TOP
  --------------------------------------------------------*/
  .counter_wrapper {
      font-size: 1.4em;
  }

  /* .qa_number {
      padding-right: 5px;
      margin-right: 5px;
      font-size: 1.8em;
  }
  
  .qa_title {
      font-size: 1.3em;
  }
  
  .qa_answer {
      display: flex;
      align-items: center;
      margin-top: 2%;
      padding-top: 2%;
      border-top: 2px solid var(--color_black);
  }
  
  .qa_text {
      font-size: 1em;
  }
  
  .qa_item details .qa_arrow{
      width: 30px;
      height: 30px;
  } */

  /* --- birth_pop --- */
  .birth_pop_field_container > div {
      font-size: 18px;
  }

  .birth_pop_title {
      /* margin-top: 50px;
      margin-bottom: 10px; */
      font-size: 1.4em;
  }

  .birth_pop_content {
      width: 95%;
  }

  /*--------------------------------------------------------
  フォーム
  --------------------------------------------------------*/
  .form_name {
      font-size: 1.3em;
  }

  .form_field {
      font-size: 1.3em;
  }

  .select_arrow::after {
      top: 13px;
  }

  /*chk*/
  .checkbox {
    margin-left: 8%;
  }

  .pp .checkbox {
    margin-left: 5%;
  }

  /*pay*/
  .pa_txt {
    font-size: 18px;
  }
  .radio {
    font-size: 18px;
  }
  .form_body {
    width: 90%;
  }
  .select_arrow::after {
    border-right: 9px solid transparent;
    border-left: 9px solid transparent;
    border-top: 12px solid var(--colorGray);
  }
}

@media screen and (max-width: 500px) {
  /*top*/
  .infomation {
    width: 82%;
  }

  .infomation_title,
  .infomation_subtitle {
    font-size: 3.6vw;
    padding: 3%;
  }

  .close_btn,
  .close_btn2 {
    font-size: 3vw;
    width: 5vw;
    height: 5vw;
    line-height: 5vw;
  }

  .infomation_box {
    padding: 4%;
  }

  .open_btn,
  .tel_btn {
    font-size: 2vw;
    width: 5vw;
    height: 5vw;
    line-height: 5vw;
  }

  .infomation2 {
    width: 82%;
    height: auto;
  }

  .infomation2 .infomation_box {
    padding: 11% 4% 11%;
    position: relative;
    top: unset;
    left: unset;
    transform: translate(0);
    width: 100%;
  }

  .infomation_title2 {
    font-size: 3.6vw;
    padding: 3%;
  }

  .infomation_txt {
    font-size: 3.5vw;
  }

  .tel_area {
    font-size: 3.5vw;
    padding: 2%;
  }

  .infomation_txt2 p {
    font-size: 3vw;
  }

  /*chk*/
  .info_area {
    font-size: 19px;
  }

  .kiyaku {
    font-size: 22px;
  }

  .checkbox {
    font-size: 16px;
  }

  .caution {
    font-size: 22px;
  }

  .modoru {
    font-size: 18px;
  }

  .err_msg2 {
    font-size: 14px;
  }

  .white_box.lawtext>div {
    height: 9em;
  }

  .lawtext p {
    font-size: 13px;
  }
  .radio {
    font-size: 16px;
  }
}

@media screen and (max-width: 400px) {
  /*top*/
  .infomation2 .infomation_box {
    padding: 11% 4% 11.5%
  }

  /*chk*/
  .info_area {
    font-size: 16px;
  }

  .kiyaku {
    font-size: 18px;
  }

  .checkbox {
    font-size: 14px;
  }

  .caution {
    font-size: 18px;
  }

  .modoru {
    font-size: 16px;
  }

  .white_box.lawtext>div {
    height: 7em;
  }

  /*pay*/
  .pa_txt {
    font-size: 16px;
  }
  .radio {
    font-size: 14px;
  }

}

@media screen and (max-width: 360px) {
  body {
    overflow-x: visible;
  }
  .area1600 {
    min-width: 360px;
  }
}