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

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


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

  .hidden800 {
    display: none;
  }

  .wrap800 {
    width: 100%;
  }

  .center_img {
    margin-left: 0px;
  }

  body {
    min-width: 100%;
  }

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


  /*--------------------------------------------------------
  定数
  --------------------------------------------------------*/
  .top-p40 {
    padding-top: 5%;
  }
  .btm-b100 {
    padding-bottom: 11%;
  }
  .top-p100 {
    padding-top: 11%;
  }
  .btm-b80 {
    padding-bottom: 9%;
  }
  .top-p80 {
    padding-top: 9%;
  }
  /*--------------------------------------------------------
  各種レイアウト
  --------------------------------------------------------*/
  .background_stripe {
    background-size: 11vw 11vw;
  }

  .notice02 {
    text-align: left;
  }

  /*--------------------------------------------------------
  TOP
  --------------------------------------------------------*/
  .nkp_btn_01, .nkp_btn_01-2 {
    width: 90%;
  }
  .count-txt {
    font-size: 5vw;
    top: 90%;
    font-weight: 600;
  }
  .count-num {
    font-size: 6.5vw;
  }
  .count-txt2 {
    top: 71%;
  }
  .bg_nkp_16img {
    background-size: 50vw auto;
    background-position: top left;
  }
  .qa_container{
    width: 95%;
    margin: 0 auto;
  }
  .nkp_17 {
    width: 95%;
  }

  /* --- birth_pop --- */
  .birth_pop_title {
    font-size: 4.5vw;
  }
  /*--------------------------------------------------------
  フォーム
  --------------------------------------------------------*/
  .form_container {
    padding-top: 10.2%;
    padding-bottom: 20%;
  }
  /*kn*/
  .sep { 
    display: none; 
  }
  .sp-br { 
    display: inline; 
  }

  .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;
  }

  /*ks*/


  .ks_container {
    font-size: 18px;
  }
  .top-info {
    font-size: 21px;
  }
}

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

  /*kn*/
  .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;
  }


  .radio {
    font-size: 18px;
  }

  /* --- 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: 8px;
  }

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

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

  /*ks*/

  .ks_container {
    font-size: 16px;
  }
  .top-info {
    font-size: 19px;
  }
}

@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;
  }

  .qa_item details {
    border-radius: 18px;
  }
  .radio {
    font-size: 16px;
  }
  /*kn*/
  .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;
  }
  .remaining_count {
    font-size: 25px;
  }
}

@media screen and (max-width: 400px) {
  /*top*/
  .infomation2 .infomation_box {
    padding: 11% 4% 11.5%
  }
  .radio {
    font-size: 14px;
  }
  /*kn*/
  .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;
  }
  .remaining_count {
    font-size: 20px;
  }
  .form_name {
    font-size: 1.1em;
  }
  /*ks*/
  .top-info {
    font-size: 17px;
  }

}

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