@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Oswald&display=swap");
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

article, main, details, aside, footer, header, nav, section, div, h1, h2, h3, h4, h5, h6, p, ul, li, ol, dl, dt, dd, address, article, main, details, aside, footer, header, nav, section, div, h1, h2, h3, h4, h5, h6, p, ul, li, ol, dl, dt, dd, address, small {
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

nav ul {
  list-style: none;
}

a, span {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

input, select {
  vertical-align: middle;
}

* {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-overflow-scrolling: touch;
}

body {
  background: #fff;
  font-family: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}

.app {
  opacity: 0;
  pointer-events: none;
}

body.is-mount .app {
  opacity: 1;
  pointer-events: auto;
}

.container {
  width: 100vw;
  margin: auto;
  overflow: hidden;
  background: #EEEEF3;
  min-height: 100vh;
  min-height: 100svh;
}
@media screen and (min-width: 765px) {
  .container {
    width: 780px;
  }
}
.container.is-top {
  background: #1F1F1F;
}
.container img {
  width: 100%;
}

.wrap {
  width: 89.7435897436vw;
  margin: auto;
  position: relative;
}
@media screen and (min-width: 765px) {
  .wrap {
    width: 700px;
  }
}

.main {
  padding: 7.5641025641vw 0vw 0vw 0vw;
}
@media screen and (min-width: 765px) {
  .main {
    padding: 59px 0px 0px 0px;
  }
}

.header {
  width: 90vw;
  padding: 4.2307692308vw 4.8717948718vw 4.2307692308vw 4.8717948718vw;
  margin: 0vw auto 3.8461538462vw auto;
  background-color: #1F1F1F;
}
@media screen and (min-width: 765px) {
  .header {
    width: 702px;
  }
}
@media screen and (min-width: 765px) {
  .header {
    padding: 33px 38px 33px 38px;
  }
}
@media screen and (min-width: 765px) {
  .header {
    margin: 0px auto 30px auto;
  }
}
.header__ttl {
  cursor: pointer;
  font-size: 4.1025641026vw;
  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;
  font-family: "Oswald", sans-serif;
  color: #fff;
  font-weight: 700;
}
@media screen and (min-width: 765px) {
  .header__ttl {
    font-size: 32px;
  }
}
.header__en {
  font-size: 2.5641025641vw;
  color: #fff;
  font-weight: 400;
}
@media screen and (min-width: 765px) {
  .header__en {
    font-size: 20px;
  }
}

.info {
  width: 90vw;
  margin: 0vw auto 3.8461538462vw auto;
}
@media screen and (min-width: 765px) {
  .info {
    width: 702px;
  }
}
@media screen and (min-width: 765px) {
  .info {
    margin: 0px auto 30px auto;
  }
}

.form__ttl1 {
  font-size: 3.8461538462vw;
  width: 90vw;
  margin: 0vw auto 2.0512820513vw auto;
  font-family: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  font-weight: 600;
  color: #1F1F1F;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 765px) {
  .form__ttl1 {
    font-size: 30px;
  }
}
@media screen and (min-width: 765px) {
  .form__ttl1 {
    width: 702px;
  }
}
@media screen and (min-width: 765px) {
  .form__ttl1 {
    margin: 0px auto 16px auto;
  }
}
.form__ttl1:before {
  content: "";
  width: 5vw;
  height: 4.8717948718vw;
  margin-right: 2.8205128205vw;
  background-image: url("../img/icon.svg");
  background-size: contain;
  background-repeat: no-repeat;
}
@media screen and (min-width: 765px) {
  .form__ttl1:before {
    width: 39px;
  }
}
@media screen and (min-width: 765px) {
  .form__ttl1:before {
    height: 38px;
  }
}
@media screen and (min-width: 765px) {
  .form__ttl1:before {
    margin-right: 22px;
  }
}
.form__wrap {
  width: 90vw;
  margin: 0vw auto 1.7948717949vw auto;
  position: relative;
}
@media screen and (min-width: 765px) {
  .form__wrap {
    width: 702px;
  }
}
@media screen and (min-width: 765px) {
  .form__wrap {
    margin: 0px auto 14px auto;
  }
}
.form__wrap:after {
  margin: -0.8974358974vw 8.5897435897vw 0vw 0vw;
  width: 3.3333333333vw;
  height: 1.9230769231vw;
  background-color: #1F1F1F;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  content: "";
  pointer-events: none;
  position: absolute;
  top: 50%;
  right: 0;
}
@media screen and (min-width: 765px) {
  .form__wrap:after {
    margin: -7px 67px 0px 0px;
  }
}
@media screen and (min-width: 765px) {
  .form__wrap:after {
    width: 26px;
  }
}
@media screen and (min-width: 765px) {
  .form__wrap:after {
    height: 15px;
  }
}
.form__city-select {
  margin-bottom: 6.7948717949vw;
}
@media screen and (min-width: 765px) {
  .form__city-select {
    margin-bottom: 53px;
  }
}
.form__select {
  font-size: 3.5897435897vw;
  width: 90vw;
  padding: 5.1282051282vw 4.1025641026vw 5.1282051282vw 4.1025641026vw;
  display: block;
  font-family: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  color: #1F1F1F;
  font-weight: 400;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  background-color: #fff;
  border-radius: 0 0 0 0;
  border: none;
  cursor: pointer;
}
@media screen and (min-width: 765px) {
  .form__select {
    font-size: 28px;
  }
}
@media screen and (min-width: 765px) {
  .form__select {
    width: 702px;
  }
}
@media screen and (min-width: 765px) {
  .form__select {
    padding: 40px 32px 40px 32px;
  }
}
.form__ttl2 {
  font-size: 3.8461538462vw;
  padding: 2.9487179487vw 4.8717948718vw 2.9487179487vw 4.8717948718vw;
  font-family: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  font-weight: 600;
  color: #1F1F1F;
  background-color: #E1E1EB;
}
@media screen and (min-width: 765px) {
  .form__ttl2 {
    font-size: 30px;
  }
}
@media screen and (min-width: 765px) {
  .form__ttl2 {
    padding: 23px 38px 23px 38px;
  }
}
.form__result {
  min-height: calc(100vh - 102.5641025641vw);
  min-height: calc(100svh - 102.5641025641vw);
}
@media screen and (min-width: 765px) {
  .form__result {
    min-height: calc(100vh - 800px);
    min-height: calc(100svh - 800px);
  }
}
.form__detail {
  border-bottom: 1px solid #5C5C5C;
  padding: 3.3333333333vw 4.8717948718vw 4.358974359vw 4.8717948718vw;
}
@media screen and (min-width: 765px) {
  .form__detail {
    padding: 26px 38px 34px 38px;
  }
}
.form__txt-l {
  font-size: 3.8461538462vw;
  margin-bottom: 1.0256410256vw;
  font-family: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  font-weight: 400;
  color: #1F1F1F;
  line-height: 1.8;
}
@media screen and (min-width: 765px) {
  .form__txt-l {
    font-size: 30px;
  }
}
@media screen and (min-width: 765px) {
  .form__txt-l {
    margin-bottom: 8px;
  }
}
.form__txt-m {
  font-size: 3.3333333333vw;
  font-family: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  font-weight: 400;
  color: #545454;
  line-height: 1.692307692;
}
@media screen and (min-width: 765px) {
  .form__txt-m {
    font-size: 26px;
  }
}
.form p a {
  color: #1F1F1F;
}
@media screen and (min-width: 765px) {
  .form p a:hover {
    text-decoration: none;
  }
}

.pref {
  display: none;
}

.city {
  display: none;
}

.is-select:after {
  background-color: #fff;
}
.is-select .form__select {
  color: #fff;
  background-color: #ED6C00;
}

.footer {
  padding: 5.3846153846vw 0vw 5.3846153846vw 0vw;
  background-color: #1F1F1F;
}
@media screen and (min-width: 765px) {
  .footer {
    padding: 42px 0px 42px 0px;
  }
}
.footer__small {
  font-size: 2.8205128205vw;
  font-family: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  font-weight: 400;
  color: #fff;
  text-align: center;
}
@media screen and (min-width: 765px) {
  .footer__small {
    font-size: 22px;
  }
}