@charset "UTF-8";
input:-webkit-autofill, textarea:-webkit-autofill, select:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 30px #ffffff inset;
  -webkit-text-fill-color: #000000 !important; }

input, textarea {
  outline: 0;
  appearance: none;
  -webkit-appearance: none;
  border-radius: 0;
  font-size: 16px;
  transform: scale(0.8);
  transform-origin: left top; }

input::-webkit-input-placeholder {
  line-height: 1.310; }

#Contact {
  text-align: left;
  margin-top: 62px;
  overflow: hidden; }
  #Contact .title-en {
    text-align: center; }
    #Contact .title-en .svg.contact {
      width: 92px;
      position: relative;
      left: -1px; }
  #Contact .title-ja {
    margin-top: 20px;
    text-align: center;
    font-weight: normal;
    font-size: 12px;
    letter-spacing: .1em; }
  #Contact .desc {
    font-size: 0.85em;
    margin-top: 64px;
    line-height: 1.9;
    letter-spacing: 0.09em; }
  #Contact form {
    margin-top: 97px;
    font-size: 0.85em; }
    #Contact form h2 {
      letter-spacing: 0.06em; }
    #Contact form .question {
      margin-top: 27px;
      position: relative; }
      #Contact form .question h2 {
        margin-bottom: 12px; }
      #Contact form .question.error input, #Contact form .question.error textarea {
        background-color: red;
        color: white; }
        #Contact form .question.error input:placeholder-shown, #Contact form .question.error textarea:placeholder-shown {
          color: white; }
        #Contact form .question.error input::-webkit-input-placeholder, #Contact form .question.error textarea::-webkit-input-placeholder {
          color: white; }
      #Contact form .question.error .message {
        margin-top: 30px;
        padding-bottom: 2px;
        letter-spacing: 0.09em;
        color: red;
        line-height: 1.6;
        padding-left: 1em;
        text-indent: -1em; }
        #Contact form .question.error .message:before {
          content: "※";
          font-weight: lighter; }
      #Contact form .question.require h2:after {
        content: "";
        display: inline-block;
        width: 4px;
        height: 4px;
        border-radius: 50%;
        background-color: red;
        position: relative;
        left: 9px;
        top: -3px; }
      #Contact form .question.type {
        margin-bottom: 75px; }
        #Contact form .question.type h2 {
          margin-bottom: 39px; }
      #Contact form .question input {
        border: 1px solid black;
        width: calc(100% * 1.25);
        height: calc(56px * 1.25);
        padding-left: 12px;
        letter-spacing: 0.15em;
        box-sizing: border-box;
        font-weight: normal; }
      #Contact form .question .radio {
        position: relative;
        display: block;
        margin-left: 21px;
        margin-top: 18px;
        line-height: 1.6; }
        #Contact form .question .radio input {
          display: none; }
          #Contact form .question .radio input:checked ~ .mark {
            background: black; }
        #Contact form .question .radio .mark {
          position: absolute;
          top: 48%;
          left: -21px;
          transform: translateY(-50%);
          width: 11px;
          height: 11px;
          border: 1px solid black;
          border-radius: 50%; }
      #Contact form .question textarea {
        resize: none;
        border: 1px solid black;
        width: calc(100% * 1.25);
        box-sizing: border-box;
        height: calc(200px * 1.25);
        font-weight: normal;
        padding: 12px;
        letter-spacing: 0.15em;
        line-height: 1.6; }
      #Contact form .question.picture {
        margin-top: -11px;
        width: 100%; }
        #Contact form .question.picture .picBtn {
          width: 250px;
          height: 60px;
          background: white;
          border: 1px solid black;
          display: block;
          display: flex;
          box-sizing: border-box;
          justify-content: center;
          align-items: center; }
          #Contact form .question.picture .picBtn.error {
            background: red;
            color: white; }
        #Contact form .question.picture .picTitle {
          margin-top: 20px;
          font-size: 13px;
          margin-bottom: 20px; }
        #Contact form .question.picture .picError {
          margin-top: 20px;
          font-size: 13px;
          color: red;
          margin-bottom: 20px;
          display: block; }
        #Contact form .question.picture .note {
          margin-top: 0px;
          width: calc(100% - 1em);
          line-height: 1.6;
          font-size: 12px;
          text-indent: -1em;
          padding-left: 1em; }
          #Contact form .question.picture .note.first-note {
            margin-top: 15px; }
    #Contact form .bkbtn#Send {
      margin-top: 74px;
      color: white; }
      #Contact form .bkbtn#Send.disabled {
        pointer-events: none;
        opacity: .2; }
      #Contact form .bkbtn#Send p {
        top: 49%; }
        #Contact form .bkbtn#Send p:after {
          width: 7px;
          height: 7px;
          top: 2px;
          right: -20px; }
      #Contact form .bkbtn#Send .svg.send {
        width: auto;
        height: 12px;
        position: relative;
        top: -0.5px; }

footer {
  margin-top: 100px; }

@media screen and (min-width: 769px) {
  input, textarea {
    transform: none; }
  #Contact {
    margin-top: 150px; }
    #Contact .title-en .svg.contact {
      width: 126px;
      left: 0; }
    #Contact .title-ja {
      margin-top: 30px;
      font-size: 13px; }
    #Contact .desc {
      margin-top: 93px;
      line-height: 1.95;
      text-align: center; }
    #Contact form {
      width: 720px;
      margin: 145px auto 0;
      font-size: 1.1em; }
      #Contact form h2 {
        letter-spacing: 0.15em; }
      #Contact form .question {
        margin-top: 50px; }
        #Contact form .question h2 {
          margin-bottom: 22px; }
        #Contact form .question.error .message {
          margin-top: 44px;
          font-size: 0.892em; }
        #Contact form .question.require h2:after {
          left: 18px;
          top: -5px;
          width: 6px;
          height: 6px; }
        #Contact form .question.type {
          margin-bottom: 98px; }
          #Contact form .question.type h2 {
            margin-bottom: 41px; }
        #Contact form .question .radio {
          margin-top: 20px;
          margin-left: 28px;
          font-size: 0.8em; }
          #Contact form .question .radio:hover {
            cursor: pointer; }
          #Contact form .question .radio .mark {
            width: 15px;
            height: 15px;
            left: -28px; }
        #Contact form .question input {
          width: 100%;
          height: 61px;
          padding-left: 30px;
          font-size: 0.85em; }
        #Contact form .question textarea {
          padding: 30px;
          font-size: 0.85em;
          width: 100%;
          height: 350px; }
        #Contact form .question.picture {
          margin-top: 50px; }
          #Contact form .question.picture .picBtn {
            cursor: pointer;
            transition: opacity .2s linear; }
            #Contact form .question.picture .picBtn:hover {
              opacity: .6;
              transition: none; }
      #Contact form .bkbtn#Send {
        margin-top: 98px;
        cursor: pointer; }
        #Contact form .bkbtn#Send p {
          top: 48%; }
          #Contact form .bkbtn#Send p:after {
            width: 9px;
            height: 9px;
            top: 4px;
            right: -34px; }
        #Contact form .bkbtn#Send .svg.send {
          width: 73.5px;
          height: 15.5px; }
  footer {
    margin-top: 200px; } }
