#tayorin {
    max-width: 720px;
    margin: 0 auto;
    padding: 20px;
}

#tayorin input,
#tayorin textarea,
#tayorin select,
#tayorin a {
    user-select: inherit;
    outline: none;
}

#tayorin table {
    border: none;
}

#tayorin table td,
#tayorin table th {
    display: block;
    width: 100%;
    text-align: left;
    border: none;
}

#tayorin table th {
    white-space: nowrap;
}

#tayorin table th i {
    font-size: 0.8em;
    font-style: normal;
}

#tayorin table th i.required::after {
    content: " ＊";
    color: red;
}

#tayorin table th i.optional::after {
    content: "";
    color: gray;
}

#tayorin table td.combined {
    text-align: center;
}

#tayorin table td input:not([type=file]),
#tayorin table td textarea,
#tayorin table td select {
    vertical-align: middle;
}

#tayorin table td input[type=file] {
    height: 0.1px;
    width:0.1px; opacity:0;
    overflow: hidden;
    position:absolute;
    z-index:-1;
}

#tayorin #agreement {
    vertical-align: middle;
}

#tayorin table td img#selectedImg {
    display: none;
    height: 100px;
}

#tayorin table td .error {
    color: red;
}

#tayorin table td .note {
    font-size: 0.8em;
    margin-top: 0.3em;
}

#tayorin #agreement-container {
    width: 100%;
    margin-top: 1em;
    text-align: center;
}
#tayorin #agreement-container #agreement-content {
    font-size: 0.8em;
    margin-bottom: 1em;
}

#tayorin #button-container {
    width: 100%;
    margin-top: 1em;
    text-align: center;
}

#tayorin #button-container #confirmButton:disabled {
    cursor: default;
}

#tayorin #load-container {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 1000;
}

#tayorin #load-container .modal {
    display: inline-block;
    text-align: center;
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 50%;
    max-width: 80%;
    max-height: 90%;
    overflow-y: auto;
    padding: 40px;
    transform: translate(-50%,-50%);
    background-color: #fff;
    border-radius: 1rem;
    font-size: 1rem;
    z-index: 1001;
}

#tayorin #load-container .modal #confirm #confirm_title {
    font-size: 1.5em;
}

#tayorin #load-container .modal #confirm #confirm_note {
    margin: 20px auto;
}

#tayorin #load-container .modal #confirm table th,
#tayorin #load-container .modal #confirm table td {
    word-break:break-all;
    word-wrap: break-word;
}

@media screen and (min-width: 481px) {
    #tayorin #load-container .modal #confirm table {
        width: fit-content;
        max-width: 70%;
        margin: 0 auto;
    }

    #tayorin #load-container .modal #confirm table td img {
        max-height: 200px;
        border: solid 1px gray;
    }

    #tayorin #load-container .modal #confirm #cancelButton {
        margin-right: 30px;
    }
}

#tayorin #load-container .loader,
#tayorin #load-container .loader:after {
  border-radius: 50%;
  width: 7em;
  height: 7em;
}

#tayorin #load-container .loader {
  position: absolute;
  margin: auto;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  font-size: 10px;
  text-indent: -9999em;
  border-top: 1.1em solid rgba(255, 255, 255, 0.2);
  border-right: 1.1em solid rgba(255, 255, 255, 0.2);
  border-bottom: 1.1em solid rgba(255, 255, 255, 0.2);
  border-left: 1.1em solid #ffffff;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-animation: load8 1.1s infinite linear;
  animation: load8 1.1s infinite linear;
}
@-webkit-keyframes load8 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes load8 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@media screen and (max-width: 480px) {
    #tayorin table td input[type=text],
    #tayorin table td input[type=tel],
    #tayorin table td input[type=email],
    #tayorin table td input[type=number],
    #tayorin table td select,
    #tayorin table td textarea {
        width: 100%;
    }

    #tayorin table td img#selectedImg {
        height: auto;
        width: 100%;
    }

    #tayorin #load-container .modal {
        width: 90%;
        max-width: none;
        padding: 20px;
    }

    #tayorin button {
        width: 100%;
    }

    #tayorin #load-container .modal #confirm #cancelButton {
        margin-right: 0px;
        margin-bottom: 10px;
    }
}