@charset 'utf-8';
.grecaptcha-badge { 
    visibility: visible;
}
/* contact
------------------------------------------------ */
.page-headline{ background-image: url(img/visual.jpg); }
.contact-container{ padding-top: 48px; }
.contact--note{ max-width: 698px; margin: 0 auto; }
.contact--note p{ font-size: 1.3rem; font-weight: 400; letter-spacing: 0.06em; line-height: calc(24 / 13); }
.contact--note p+p{ margin-top: 26px; }
.contact-form{ margin-top: 36px; overflow: hidden; }
.contact-form input{ -webkit-appearance: none; -moz-appearance: none; appearance: none; }
.contact-form input[type=text],
.contact-form input[type=email],
.contact-form input[type=number]{ padding: 0 14px; height: 42px; width: 100%; max-width:430px; font-size: 1.4rem; font-weight: 400; border:1px solid #202020; border-radius:4px; background-color: #fff; }
.contact-form textarea{ padding: 8px 12px; width: 100%; height: 260px; font-size: 1.4rem; font-weight: 400; font-family: 'Noto Sans', 'Noto Sans JP', sans-serif; border:1px solid #202020; border-radius:4px; background-color: #fff; resize: none; -webkit-box-shadow: none; -moz-box-shadow: none; box-shadow: none; }
.form-table{ position: relative; width: 100%; max-width: 948px; margin: 0 auto; border-collapse: collapse; }
.form-table th{ padding: 14px 0 14px 8%; font-size: 1.5rem; font-weight: bold; letter-spacing: 0.05em; line-height: calc(24 / 15); color:#fff; background-color: #1F85CF; text-align: left; vertical-align: middle; }
.form-table td{ padding: 14px 0 14px 18px; font-size: 1.4rem; font-weight: 400; letter-spacing: 0.05em; line-height: calc(22 / 14); vertical-align: middle; }
.form-table tr:not(:last-child) td{ border-bottom: 1px dashed #707070; }
.form--block{ padding-top: 36px; width: 90%; max-width: 948px; margin: 40px auto 0; border-top: 1px solid #707070; }
.form--agree{ display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: center; }
.form--agree-txt{ padding-left: 16px; font-size: 1.5rem; font-weight: 400; letter-spacing: 0.06em; line-height: calc(24 / 15); }
.form--agree-txt a{ color:#1F85CF; text-decoration: underline; }
.form--agree-txt a:hover{ text-decoration: none; }
.form--checkbox{ background-color: #fff; }
.form--checkbox input[type=checkbox]{ position: relative; width: 24px; height: 24px; border:1px solid #202020; border-radius: 0; }
.form--checkbox input[type=checkbox]:before{ transition: .2s ease; opacity: 0; content: ''; position: absolute; left: 3px; top: 3px; width: 16px; height: 16px; background-color: #202020; }
.form--checkbox input[type=checkbox]:checked:before{ opacity: 1;}
.form--submit,
.form--back{ width: 420px; margin: 24px auto 0; }
.form--submit input,
.form--submit a,
.form--back input{ display: block; width: 100%; font-weight: bold; font-size: 1.9rem; letter-spacing: 0.08em; line-height: calc(30 / 20); line-height: 72px; text-align: center; color:#fff; background: rgb(50,160,239); background: url(../img/share/arrow2.png) no-repeat calc(100% - 38px) center / 48px auto, linear-gradient(270deg, rgba(50,160,239,1) 0%, rgba(30,132,206,1) 100%); border: 0; border-radius: 0; cursor: pointer; }
.form--back input{ display: block; width: 100%; font-weight: bold; font-size: 1.9rem; letter-spacing: 0.08em; line-height: calc(30 / 20); line-height: 72px; text-align: center; color:#fff; background: rgb(50,160,239); background: url(../img/share/arrow2.png) no-repeat calc(100% - 38px) center / 48px auto, linear-gradient(270deg, rgba(50,160,239,1) 0%, rgba(30,132,206,1) 100%); border: 0; border-radius: 0; cursor: pointer; }
.form--back input { background: url(../img/share/arrow2.png) no-repeat calc(100% - 38px) center / 48px auto, #999; }
.contact--info{ margin: 106px auto 0; padding: 40px 10px ; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; flex-direction: column; width: 100%; border: 1px dashed #707070; background-color: #fff; }
.contact--info-txt{ font-size: 1.8rem; font-weight: 400; line-height: calc(28 / 18); text-align: center; color:#1F85CF; }
.contact--num{ margin-top: 18px; padding-left: 56px; background: url(../img/share/tel.png) no-repeat 0 0 / 35px 36px; }
.contact--num .num{ display: block; font-size: 4rem; font-weight: bold; letter-spacing: 0.072em; line-height: 1; }
.contact--num .time{ margin-top: 12px; font-size: 1.5rem; font-weight: 400; letter-spacing: 0.072em; line-height: calc(27 / 15); }
.contact--num a:hover{ text-decoration: none; }
.form--checkbox .checkbox-item-label{ display: none; }
.form--checkbox .form-not-valid-tip{ position: absolute; left: 12px; bottom: -20px; width: 220px; }
.form--input .form-not-valid-tip{ position: absolute; left: 0; bottom: -46px; width: 100%; padding-left: 20px; }
.form-not-valid-tip{ font-size: 1.6rem; }
.form-spinner{ position: absolute !important; margin: 0 !important; left: 50%; transform: translateX(-50%);  }

[data-lang="en"] .form-table th{ text-transform: capitalize; }
[data-lang="en"] .form--submit input,
[data-lang="en"] .form--submit a,
[data-lang="en"] .form--back input{ font-size: 1.6rem; background: url(../img/share/arrow2.png) no-repeat calc(100% - 15px) center / 48px auto, linear-gradient(270deg, rgba(50,160,239,1) 0%, rgba(30,132,206,1) 100%); }

@media only screen and (min-width: 769px) {
    .form-table{ width: 90%; }
    .form-table:before{ display: none; }
    .form-table th{ width: 280px; }
    .form-table td{ width: calc(100% - 280px); }
    .form-table tr:not(:last-child) th{ border-bottom: 1px dashed #85C2F7; }
    .form--group{ display: flex; flex-wrap: wrap; align-items: center; }
    .form--group .form--input{ width: calc(100% - 105px); }
    .form--group p{ padding-left: 20px; width: 105px; }
    .contact--info{ width: 90%; max-width: 948px; }

    [data-lang="en"] .form--group p{ font-size: 1rem; }
}

@media only screen and (max-width: 1024px) and (min-width: 769px) {
    .form-table th{ padding: 14px 0 14px 4%; width: 230px; }
    .form-table td{ width: calc(100% - 230px); }
}

@media only screen and (max-width: 768px) {
    .page-headline{ background-image: url(img/visual-sp.jpg); }
    .contact-form{ margin-top: 56px; }
    .contact-form input[type=text], 
    .contact-form input[type=email], 
    .contact-form input[type=number]{ padding: 0 10px; font-size: 1.3rem; height: 38px; }
    .contact-form textarea{ padding: 6px 10px; height: 240px; font-size: 1.3rem; }
    .contact--note p{ line-height: calc(34 / 24); }
    .form-table th{ display: block; padding: 0; font-size: 1.3rem; background-color: unset; color:#1F85CF; }
    .form-table td{ margin-top: 12px; display: block; padding: 0; width: 100%; }
    .form-table tr:not(:last-child) td{ margin-bottom: 12px; padding-bottom: 12px; border-bottom: 1px dashed #707070; }
    .form--group p{ margin-top: 10px; font-size: 1.4rem; line-height: calc(50 / 28); }
    .form--block{ margin-top: 28px; width: 100%; padding-top: 22px; }
    .form--submit,
    .form--back{ margin-top: 24px; width: 100%; }
    .form--submit input,
    .form--submit a,
    .form--back input{ font-size: 1.5rem; line-height: 60px; background: url(../img/share/arrow2.png) no-repeat calc(100% - 25px) center / 33px auto, linear-gradient(270deg, rgba(50,160,239,1) 0%, rgba(30,132,206,1) 100%) }
    .contact--info{ padding: 27px 10px; margin-top: 60px; }
    .form--agree-txt{ padding-left: 10px; font-size: 1.3rem; }
    .contact--info-txt{ font-size: 1.3rem; line-height: calc(37 / 26); }
    .contact--num{ margin-top: 14px; padding-left: 40px; background-size: 28px 28px; }
    .contact--num .num{ font-size: 2.8rem; }
    .contact--num .time{ margin-top: 5px; font-size: 1.1rem; }

    .form--checkbox .form-not-valid-tip{  }
    .form--input .form-not-valid-tip{ bottom: -40px; padding-left: 0; }
    .form--group .form--input .form-not-valid-tip{ bottom: -71px; }
    .form-not-valid-tip{ font-size: 1.4rem; }

    [data-lang="en"] .form--submit input,
    [data-lang="en"] .form--submit a,
    [data-lang="en"] .form--back input{ font-size: 1.2rem; background: url(../img/share/arrow2.png) no-repeat calc(100% - 5px) center / 25px auto, linear-gradient(270deg, rgba(50,160,239,1) 0%, rgba(30,132,206,1) 100%); }
    [data-lang="en"] .form--group p{ font-size: 1.2rem; }
}