@charset "UTF-8";
.main .box .label { -webkit-flex-shrink: 0; flex-shrink: 0; }
.main .box input, .main .box textarea, .main .box .selectbox { -moz-appearance: none; -webkit-appearance: none; background-color: #fff; border: 1px solid #b5bfbf; }
.main .box input { line-height: 1; }
.main .box input[type="text"], .main .box input[type="password"], .main .box textarea, .main .box .selectbox { width: 100%; border-radius: 5px; }
.main .box input[type="text"], .main .box input[type="password"], .main .box textarea { padding: 1em; }
.main .box input[type="checkbox"], .main .box input[type="radio"] { position: relative; margin-right: 0.5em; width: 20px; height: 20px; vertical-align: sub; border-radius: 4px; }
.main .box input[type="checkbox"]:checked::after, .main .box input[type="radio"]:checked::after { position: absolute; display: block; font-family: "Font Awesome 5 Free"; content: "\f00c"; font-weight: 900; top: 50%; width: 20px; margin-top: -0.5em; text-align: center; color: #018c7d; font-size: 15px; }
.main .box label { cursor: pointer; margin: 0; }
.main .box select { -moz-appearance: none; -webkit-appearance: none; border: none; width: 100%; line-height: 1; padding: 1em; cursor: pointer; outline: none; background: transparent; }
.main .box select::-ms-expand { display: none; }
.main .box .selectbox { position: relative; }
.main .box .selectbox::before { position: absolute; top: 50%; right: 1em; margin-top: -3px; width: 0; height: 0; padding: 0; content: ''; border-left: 6px solid transparent; border-right: 6px solid transparent; border-top: 6px solid #666666; pointer-events: none; }
.main .box .bt a { font-weight: normal; }
.main .box .bt a.back { background-color: #6a7474; }
.main .box .title { margin-bottom: 1.5em; padding: 1em; line-height: 1; background-color: #00b5a2; color: #fff; text-align: center; }
.main .box p.top { margin-bottom: 1.5em; }
.main .box p.top b { border-bottom: 1px solid #ffca00; }
@media (max-width: 767.98px) { .main .box .input { margin: 10px 0; }
  .main .box .bt { margin: 0 auto; }
  .main .box .title { font-size: 16px; } }
@media (min-width: 768px) { .main .box .input { padding: 0 15px; }
  .main .box .bt a { padding: 1em; font-size: 18px; }
  .main .box .title { font-size: 20px; }
  .main .box p.top { margin-bottom: 50px; } }
@media (max-width: 991.98px) { .main .box .bt div + div { margin-top: 15px; } }
@media (min-width: 992px) { .main .box .label { width: 8em; }
  .main .box p.top { text-align: center; } }

.box.mail .inner { margin: 10px auto; max-width: 690px; }
.box.mail .inner li { padding-left: 1em; }
.box.mail .inner li::before { content: "※"; margin-left: -1em; }
.box.mail .inner li + li { margin-top: 0.8em; }
@media (max-width: 767.98px) { .box.mail .inner a { padding: 1em 2em; } }
@media (min-width: 768px) { .box.mail .inner { margin: 30px auto; } }

.box.sent .inner div, .box.error .inner div { margin-top: 1em; margin-bottom: 1em; font-size: 150%; font-weight: bold; text-align: center; }

.box.sent { padding: 30px 20px; }
.box.sent .inner div { margin-bottom: 2em; }
@media (max-width: 767.98px) { .box.sent .inner div { letter-spacing: 0; } }
@media (min-width: 992px) { .box.sent { padding: 80px 20px; }
  .box.sent p { text-align: center; } }

.box.error { padding: 20px; }
.box.error .bt a { display: inline-block; padding: 1em 3em; }
.box.error .bt a.address { background-color: #6a7474; }
.box.error .bt a.address:hover { background-color: #018c7d !important; }
@media (min-width: 992px) { .box.error { padding: 50px; }
  .box.error .inner div { margin-top: 0; }
  .box.error p { text-align: center; } }

/* apply.index
-----------------------------------------------------------------------------*/
#applyform { padding-top: 20px; padding-bottom: 20px; }
@media (min-width: 768px) { #applyform { padding-top: 50px; padding-bottom: 50px; }
  #applyform .input { width: 100%; }
  #applyform .bt a { margin: 20px auto 0; width: 15em; } }

/* input
-----------------------------------------------------------------------------*/
.inputform .row { -webkit-align-items: center; align-items: center; }
.inputform .row:not(:last-child) { margin-bottom: 1em; }
.inputform .t span { display: inline-block; }
.inputform .t span.need, .inputform .t span.op { -webkit-flex-shrink: 0; flex-shrink: 0; padding: 0 0.5em; margin-right: 0.8em; background-color: #fb1010; color: #fff; font-size: 95%; border-radius: 3px; }
.inputform .t span.need { background-color: #fb1010; }
.inputform .t span.op { background-color: #b9b9b9; }
.inputform .bt { margin-top: 30px !important; text-align: center; }
.inputform .bt a { display: inline-block; font-size: 18px !important; padding: 1em 1.5em !important; min-width: 150px; max-width: 330px; word-break: keep-all; }
.inputform .bt a.back { padding: 1em 2em !important; }
.inputform .plan small { display: block; line-height: 1; }
@media (max-width: 991.98px) { .inputform .t { margin-bottom: 0.5em; }
  .inputform .plan small { padding-top: 0.5em; } }
@media (min-width: 992px) { .inputform { margin: 0 30px; }
  .inputform textarea { max-width: 90%; }
  .inputform .bt { margin-top: 40px !important; }
  .inputform .bt a { padding: 1em 3em !important; max-width: none; }
  .inputform .bt .order-lg-first { text-align: right; }
  .inputform .bt .order-lg-last { text-align: left; }
  .inputform input[type="text"], .inputform input[type="password"] { max-width: 330px; }
  .inputform .selectbox { max-width: 260px; }
  .inputform span.space { margin-right: 0.8em; width: 3em; }
  .inputform .plan div.select { width: 260px; -webkit-flex-shrink: 0; flex-shrink: 0; }
  .inputform .plan small { padding-left: 1em; } }

.claim { margin-top: 30px; padding: 10px; background-color: #f0f3f3; }
.claim label { margin-left: 1em !important; }
.claim label input { -webkit-flex-shrink: 0; flex-shrink: 0; }
.claim #claimbox { margin-top: 1em; }
@media (min-width: 992px) { .claim { margin: 0 -30px; padding: 30px; } }

.input1 .number input { width: 5em !important; text-align: center; padding: 1em 0 !important; }
.input1 .post input { width: 4em !important; text-align: center; }
.input1 .post input + input { width: 5em !important; }
.input1 .tel input { width: 5em !important; text-align: center; }
.input1 .code input[type="text"] { width: 5em !important; text-align: center; }
@media (max-width: 575.98px) { .input1 .number input { margin-bottom: 5px; } }
@media (min-width: 992px) and (max-width: 1199.98px) { .input1 .number input { width: 4em !important; } }

.input2 .cardym .selectbox { display: inline-block; width: 7em !important; }
.input2 .cardym div:not(.t) span { margin: 0 0.5em; }
.input2 .security input { width: 6em !important; }
.input2 .security .d-flex small { margin-top: 0; padding-left: 1em; line-height: 1; }
.input2 small { display: block; margin-top: 0.5em; }
@media (min-width: 992px) { .input2 .t { padding-bottom: 1.5em; } }

.confirm .row:not(:last-child) { margin-bottom: 2em; }
.confirm .tit { font-weight: bold; font-size: 120%; }
@media (max-width: 991.98px) { .confirm .tit { margin-bottom: 1em !important; } }

/* sent
-----------------------------------------------------------------------------*/
.thanks { text-align: center; font-weight: bold; font-size: 150%; margin-bottom: 1em; }

/* flow
-----------------------------------------------------------------------------*/
.flow { margin-bottom: 20px; }
.flow .col-3 { position: relative; text-align: center; }
.flow .col-3:not(:last-child)::after { content: ""; display: block; position: absolute; right: -15px; top: 20px; margin-top: -15px; width: 30px; height: 30px; background: url("../img/common/arrow.png") no-repeat; background-size: cover; }
.flow .num { text-align: center; }
.flow .num span { background-color: #6a7474; border-radius: 50%; color: #fff; line-height: 1; width: 40px; height: 40px; display: -webkit-flex; display: flex; -webkit-justify-content: center; justify-content: center; -webkit-align-items: center; align-items: center; margin: 0 auto; font-size: 18px; font-weight: bold; }
.flow .txt { margin-top: 1em; text-align: center; font-weight: bold; line-height: 1; }
.flow .active .num span { background-color: #018c7d; }
.flow .active .txt { color: #018c7d; }
@media (max-width: 767.98px) { .flow .txt { font-size: 11px; } }
@media (min-width: 768px) { .flow { margin-bottom: 50px; }
  .flow .col-3:not(:last-child)::after { right: -30px; top: 30px; margin-top: -30px; width: 60px; height: 60px; }
  .flow .num span { width: 60px; height: 60px; font-size: 24px; } }

/* contact
-----------------------------------------------------------------------------*/
#contact .top b { border-bottom: 2px solid #ffca00; }
#contact .top .bt { margin: 20px auto 40px; }
#contact .top .bt a { padding: 0; font-weight: bold; }
#contact .top .bt a > span:first-child { padding: 30px 60px; background-repeat: no-repeat; background-size: 55px 50px; background-image: url("../img/common/btn-faq.png"); background-position: 5px center; }
#contact .title { text-align: left; }
#contact .warning { color: #eb0300; font-weight: bold; }
#contact .file { margin-bottom: 1em; }
#contact .file .btn { padding: 0 0 0 1em; -webkit-flex-shrink: 0; flex-shrink: 0; border: none; outline: none; }
#contact .file .btn label { display: -webkit-flex; display: flex; -webkit-justify-content: center; justify-content: center; -webkit-align-items: center; align-items: center; height: 100%; padding: 1em 0.5em; color: #fff !important; background-color: #00b5a2; border-radius: 6px; line-height: 1; text-align: center; -webkit-transition: 0.2s ease-in-out; -moz-transition: 0.2s ease-in-out; -o-transition: 0.2s ease-in-out; transition: 0.2s ease-in-out; }
#contact .file .btn label:hover { background-color: #018c7d !important; color: #fff !important; }
@media (max-width: 767.98px) { #contact .file .btn label { font-size: 90%; } }
#contact #addfile + small b { border-bottom: 2px solid #ffca00; }
#contact .policy { padding-top: 2em; padding-bottom: 2em; }
#contact .policy a { color: #00b5a2 !important; }
#contact .policy a:hover { color: #018c7d !important; }
#contact .agree { margin-bottom: 2em; }
#contact .agree label { -webkit-transition: 0.2s ease-in-out; -moz-transition: 0.2s ease-in-out; -o-transition: 0.2s ease-in-out; transition: 0.2s ease-in-out; }
#contact .agree label:hover { color: #00b5a2; }
#contact .agree + .bt { margin-bottom: 15px; }
@media (min-width: 768px) { #contact .box .top { text-align: center; }
  #contact .box .top .bt a { display: inline-block; }
  #contact .file .btn label { padding: 1em; }
  #contact .policy { text-align: center; }
  #contact .agree { text-align: center; }
  #contact .agree + .bt { margin-bottom: 10px; } }
@media (min-width: 992px) { #contact .selectbox { max-width: 20em; } }

/*# sourceMappingURL=apply.css.map */
