@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.74359vw;
  margin: auto;
  position: relative; }
  @media screen and (min-width: 765px) {
    .wrap {
      width: 700px; } }

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

.header {
  width: 90vw;
  padding: 4.23077vw 4.87179vw 4.23077vw 4.87179vw;
  margin: 0vw auto 6.53846vw 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 51px auto; } }
  .header__ttl {
    cursor: pointer;
    font-size: 4.10256vw;
    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.5641vw;
    color: #fff;
    font-weight: 400; }
    @media screen and (min-width: 765px) {
      .header__en {
        font-size: 20px; } }

.form__ttl1 {
  font-size: 3.84615vw;
  width: 90vw;
  margin: 0vw auto 2.05128vw 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.87179vw;
    margin-right: 2.82051vw;
    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.79487vw 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.89744vw 8.58974vw 0vw 0vw;
    width: 3.33333vw;
    height: 1.92308vw;
    background-color: #1F1F1F;
    -webkit-clip-path: polygon(0 0, 100% 0, 50% 100%);
    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.79487vw; }
  @media screen and (min-width: 765px) {
    .form__city-select {
      margin-bottom: 53px; } }

.form__select {
  font-size: 3.58974vw;
  width: 90vw;
  padding: 5.12821vw 4.10256vw 5.12821vw 4.10256vw;
  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.84615vw;
  padding: 2.94872vw 4.87179vw 2.94872vw 4.87179vw;
  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.5641vw);
  min-height: calc(100svh - 102.5641vw); }
  @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.33333vw 4.87179vw 4.35897vw 4.87179vw; }
  @media screen and (min-width: 765px) {
    .form__detail {
      padding: 26px 38px 34px 38px; } }

.form__txt-l {
  font-size: 3.84615vw;
  margin-bottom: 1.02564vw;
  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.33333vw;
  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.38462vw 0vw 5.38462vw 0vw;
  background-color: #1F1F1F; }
  @media screen and (min-width: 765px) {
    .footer {
      padding: 42px 0px 42px 0px; } }
  .footer__small {
    font-size: 2.82051vw;
    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; } }
