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

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

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

  .hidden800 {
    display: none;
  }

  .contents800 {
    width: 100%;
  }

  body {
    min-width: 100%;
  }

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

  .img_center {
    margin-left: 0;
  }

  .mt10 {
    margin-top: 3%;
  }

  .mt20 {
    margin-top: 4%;
  }

  .mt30 {
    margin-top: 5%;
  }

  .mt50 {
    margin-top: 7%;
  }

  .mt100 {
    margin-top: 12%;
  }

  .mt200 {
    margin-top: 22%;
  }

  .mt300 {
    margin-top: 32%;
  }

  .mt600 {
    margin-top: 62%;
  }

  .mb100 {
    margin-bottom: 12%;
  }

  .ml50 {
    margin-left: 7%;
  }

  .pt50 {
    padding-top: 7%;
  }

  .pt100 {
    padding-top: 12%;
  }

  .pb50 {
    padding-bottom: 7%;
  }

  .pb100 {
    padding-bottom: 12%;
  }

  .pb200 {
    padding-bottom: 22%;
  }

  .pb400 {
    padding-bottom: 42%;
  }

  .break_800:before {
    content: "\A";
    white-space: pre;
  }

}

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

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

/*--------------------------------------------------------
各種レイアウト
--------------------------------------------------------*/
@media screen and (max-width: 800px) {
  .close_area {
    height: 20.2vw;
  }

  .plan_area {
    width: 94%;
  }

  .top_txt1 {
    font-size: 3.8vw;
  }

  .list dl dd {
    width: 100%;
  }

  .icon {
    height: 14vw;
  }

  .list dl.open {
    height: 311vw !important;
  }

  #no_3.list dl.open {
    height: 411vw !important;
  }

  #js-close-btn img {
    width: 10%;
  }

  /*--------------------------------------------------------
  form
  --------------------------------------------------------*/
  .form_in .title {
    font-size: 1.4em;
    margin-top: 5%;
  }

  .form_area {
    width: 92%;
    padding: 5% 0 7%;
  }

  input[type="text"],
  input[type="tel"],
  input[type="email"],
  input[type="number"],
  select {
    font-size: 1.3em;
  }

  .midashi {
    font-size: 4vw;
    width: 64%;
  }

  .err_msg {
    font-size: 1.3em;
  }
}

@media screen and (max-width: 600px) {
  /*--------------------------------------------------------
  form
  --------------------------------------------------------*/
  .form_in .title {
    font-size: 1.3em;
  }

  input[type="text"],
  input[type="tel"],
  input[type="email"],
  input[type="number"],
  select {
    font-size: 1.1em;
  }

  .err_msg {
    font-size: 1em;
  }

  .required {
    font-size: 13px !important;
    margin-top: 2px;
  }
}

@media screen and (max-width: 500px) {
  .copyright,
  .copyright a {
    font-size: 14px;
  }

  /*--------------------------------------------------------
  form
  --------------------------------------------------------*/
  .form_in .title {
    font-size: 1.1em;
    margin-top: 20px;
  }

  input[type="text"],
  input[type="tel"],
  input[type="email"],
  input[type="number"],
  select {
    font-size: 1em;
    padding: 0.5em 1em;
  }
}

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

  /*--------------------------------------------------------
  form
  --------------------------------------------------------*/  
  .form_in .title {
    font-size: 1em;
  }

  input[type="text"],
  input[type="tel"],
  input[type="email"],
  input[type="number"],
  select {
    font-size: 1em;
    padding: 0.3em 1em;
  }

  .required {
    font-size: 10px !important;
  }

  .err_msg {
    font-size: 0.9em;
  }
}
