@charset "UTF-8";

:root {
  --body: #000;
  --link: #000;
}

/*--------------------------------------------
CONTACT
---------------------------------------------*/

#contact .lede {
  font-weight: 700;
  letter-spacing: 0.1em;
}

#contact dt label {
  font-weight: 600;
  letter-spacing: 0.11em;
  font-size: 1.2rem;
}

#contact input[type=text],
#contact input[type=email] {
  overflow: hidden;
  border-style: solid;
  border-color: #000;
  width: 100%;
  font-weight: 300;
  letter-spacing: 0.1em;
  font-size: 1.2rem;
}

#contact select,
#contact textarea {
  overflow: hidden;
  border-style: solid;
  border-color: #000;
  width: 100%;
  font-weight: 300;
  letter-spacing: 0.1em;
  font-size: 1.2rem;
}

#contact input[type=text]:-ms-input-placeholder,
#contact input[type=email]:-ms-input-placeholder {
  color: #b1b1b1;
}

#contact select:-ms-input-placeholder,
#contact textarea:-ms-input-placeholder {
  color: #b1b1b1;
}

#contact input[type=text]::-moz-placeholder, #contact input[type=email]::-moz-placeholder {
  color: #b1b1b1;
}

#contact input[type=text]:-ms-input-placeholder, #contact input[type=email]:-ms-input-placeholder {
  color: #b1b1b1;
}

#contact input[type=text]::placeholder,
#contact input[type=email]::placeholder {
  color: #b1b1b1;
}

#contact select::-moz-placeholder, #contact textarea::-moz-placeholder {
  color: #b1b1b1;
}

#contact select:-ms-input-placeholder, #contact textarea:-ms-input-placeholder {
  color: #b1b1b1;
}

#contact select::placeholder,
#contact textarea::placeholder {
  color: #b1b1b1;
}

#contact .selectbox {
  position: relative;
}

#contact .selectbox:after {
  content: "";
  position: absolute;
  border-left-style: solid;
  border-left-color: #000;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  background-image: url("/images/ui/icon/minus01.svg");
  background-position: center;
  background-repeat: no-repeat;
  height: 100%;
  top: 0;
  right: 0;
}

#contact select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

#contact textarea {
  line-height: 2.25;
}

#contact .privacy {
  text-align: center;
  letter-spacing: 0.071em;
  text-indent: 0.071em;
  font-weight: 600;
}

#contact input[type=submit] {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  border-style: solid;
  border-color: #000;
  font-weight: 600;
  margin-left: auto;
  margin-right: auto;
  letter-spacing: 0.15em;
  text-indent: 0.15em;
  background-color: #fff;
  font-size: 1.8rem;
}

#contact #contact_form_submit {
  display: block;
  align-items: center;
  justify-content: center;
  text-align: center;
  border-style: solid;
  border-color: #000;
  font-weight: 600;
  margin-left: auto;
  margin-right: auto;
  letter-spacing: 0.15em;
  text-indent: 0.15em;
  background-color: #fff;
  font-size: 1.8rem;
  width: 325px;
  height: 46px;
  margin-top: 10px;
  border-radius: 7px;
  border-width: 2px;
}

#contact .properties {
  padding-top: 0 !important;
}

#contact .properties #title {
  height: auto;
}

#contact .properties ul {
  width: 80%;
  margin: 0 auto;
  height: auto;
  margin-top: 60px;
}

#contact .properties ul li {
  display: block;
  float: left;
  padding: 1vh 0;
  text-align: center;
}

#contact .properties ul li::after {
  content: "\A0/\A0";
}

#contact .properties ul li:last-child::after {
  content: "";
}

@media screen and (max-width: 799px) {
  #contact .wrap {
    padding-top: calc( ( 70 - 6.5 ) * 100vw / 375 );
    padding-bottom: calc( 80 * 100vw / 375 );
  }

  #contact .lede {
    font-size: 1.4rem;
    line-height: 1.93;
  }

  #contact .box {
    padding-top: calc( ( 72 - 6.5 ) * 100vw / 375 );
  }

  #contact fieldset + fieldset,
  #contact dl > div + div {
    margin-top: calc( 40 * 100vw / 375 );
  }

  #contact dd {
    margin-top: calc( 6 * 100vw / 375 );
  }

  #contact input[type=text],
  #contact input[type=email] {
    border-width: 1px;
    border-radius: calc( 5 * 100vw / 375 );
    padding-left: calc( 12 * 100vw / 375 );
    padding-right: calc( 12 * 100vw / 375 );
  }

  #contact select,
  #contact textarea {
    border-width: 1px;
    border-radius: calc( 5 * 100vw / 375 );
    padding-left: calc( 12 * 100vw / 375 );
    padding-right: calc( 12 * 100vw / 375 );
  }

  #contact input[type=text],
  #contact input[type=email] {
    height: calc( 31 * 100vw / 375 );
  }

  #contact select {
    height: calc( 31 * 100vw / 375 );
  }

  #contact .selectbox:after {
    width: calc( 32 * 100vw / 375 );
    border-width: 1px;
    background-size: auto calc( 8 * 100vw / 375 );
  }

  #contact textarea {
    height: calc( 144 * 100vw / 375 );
    padding-top: calc( ( 10 - 7.5 ) * 100vw / 375 );
    padding-bottom: calc( ( 10 - 7.5 ) * 100vw / 375 );
  }

  #contact .privacy {
    font-size: 1rem;
    margin-top: calc( 60 * 100vw / 375 );
  }

  #contact input[type=submit] {
    width: 100%;
    height: calc( 46 * 100vw / 375 );
    margin-top: calc( 10 * 100vw / 375 );
    border-radius: calc( 7 * 100vw / 375 );
    border-width: calc( 2 * 100vw / 375 );
  }

  #contact .properties {
    margin-top: 30px;
  }
}

@media print, screen and (min-width: 800px) {
  #contact .wrap {
    padding-top: 104px;
    padding-bottom: 154px;
  }

  #contact .lede {
    font-size: 1.7rem;
  }

  #contact .box {
    display: flex;
    align-items: flex-start;
    padding-top: 104px;
    justify-content: space-between;
  }

  #contact fieldset {
    width: 325px;
  }

  #contact dl > div + div {
    margin-top: 38px;
  }

  #contact dd {
    margin-top: 6px;
  }

  #contact input[type=text],
  #contact input[type=email] {
    border-width: 1px;
    border-radius: 5px;
    padding-left: 16px;
    padding-right: 16px;
  }

  #contact select,
  #contact textarea {
    border-width: 1px;
    border-radius: 5px;
    padding-left: 16px;
    padding-right: 16px;
  }

  #contact input[type=text],
  #contact input[type=email] {
    height: 31px;
  }

  #contact select {
    height: 31px;
  }

  #contact .selectbox:after {
    width: 32px;
    border-left-width: 1px;
    background-size: auto 8px;
  }

  #contact textarea {
    height: 301px;
    padding-top: calc( 12px - 7.5px );
    padding-bottom: calc( 12px - 7.5px );
  }

  #contact .privacy {
    font-size: 1rem;
    margin-top: 130px;
  }

  #contact input[type=submit] {
    width: 325px;
    height: 46px;
    margin-top: 10px;
    border-radius: 7px;
    border-width: 2px;
  }
}

/*--------------------------------------------
MESSAGE
---------------------------------------------*/

#message p {
  letter-spacing: 0.11em;
  text-indent: 0.11em;
}

@media screen and (max-width: 799px) {
  #message .wrap {
    padding-bottom: calc( 93 * 100vw / 375 );
  }

  #message p {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    height: calc( 240 * 100vw / 375 );
    font-size: 1.5rem;
    line-height: 2;
  }
}

@media print, screen and (min-width: 800px) {
  #message .wrap {
    padding-bottom: 132px;
  }

  #message p {
    text-align: center;
    padding-top: calc( 311px - 8.5px );
    font-size: 2.8rem;
    line-height: 1.61;
  }

  #message .link01 {
    margin-top: calc( 105px - 8.5px );
  }
}

