@charset "utf-8";

@import url("https://fonts.googleapis.com/css2?family=Cormorant+Infant:ital,wght@0,300..700;1,300..700&family=Noto+Sans+JP:wght@100..900&family=Roboto:ital,wght@0,100..900;1,100..900&display=swap");

:root {
    --color-gray: #989898;
    --color-text: #3c3c3c;
    --color-main: #00798f;
    --grad-main: linear-gradient(to rigth, #00798f, #008ca3 60%, #008ca3 100%);
    --grad-orange: linear-gradient(to rigth, #ff8c3e, #f76a0c);
    --width-ratio-968: 1px / 1;
}

@media (max-width: 968px) {
    :root {
        --width-ratio-968: 100vw / 968;
    }
}
@media (max-width: 768px) {
    :root {
        --width-ratio-968: 100vw / 375;
    }
}

a {
    transition: opacity 0.3s;
}

img {
    width: 100%;
    height: auto;
    display: block;
    vertical-align: bottom;
}

.c-breadcrumbs {
    width: fit-content;
}
.c-breadcrumbs__list {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 5px;
}
.c-breadcrumbs__list li {
    display: flex;
    align-items: center;
    gap: 5px;
}
.c-breadcrumbs__list li a,
.c-breadcrumbs__list li span {
    color: #484848;
    font-size: 11px;
    font-family: var(--font-sans);
    font-weight: 400;
    line-height: 1.5;
}
.c-breadcrumbs__list li a {
    color: var(--color-main);
}
.c-breadcrumbs__list li:not(:has(span))::after {
    content: ">";
    color: #484848;
    font-size: 11px;
    font-family: var(--font-sans);
    font-weight: 400;
    line-height: 1.5;
}

.p-contact {
    font-family: var(--font-sans);
    background-image: url(../img/contact/contact_bg.svg);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    padding: 0 calc(24 * var(--width-ratio-968));
}
.p-contact__inner {
    max-width: 920px;
    padding: calc(202 * var(--width-ratio-968)) 0
        calc(161 * var(--width-ratio-968));
    margin: 0 auto;
}
.p-contact__top {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}
.p-contact__title {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: calc(10 * var(--width-ratio-968));
}
.p-contact__title .en {
    font-size: calc(100 * var(--width-ratio-968));
    font-family: var(--font-Cormorant);
    font-weight: 400;
    line-height: 1;
    color: var(--color-gray);
}
.p-contact__title .ja {
    font-size: calc(14 * var(--width-ratio-968));
    font-family: var(--font-sans);
    font-weight: 400;
    line-height: 1.5;
    color: var(--color-text);
}
.p-contact__content {
    margin-top: calc(63 * var(--width-ratio-968));
}

/* プログレストラッカー */
.smf-progress-tracker {
    max-width: 675px;
    width: 100%;
    margin: 0 auto;
    margin-bottom: calc(54 * var(--width-ratio-968));
}
.smf-progress-tracker__item__number {
    width: calc(44 * var(--width-ratio-968));
    height: calc(44 * var(--width-ratio-968));
    background-color: #fff;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    color: var(--color-text);
    font-family: var(--font-Roboto);
    font-size: calc(15 * var(--width-ratio-968));
    font-weight: 500;
    border: solid 1px #cccccc;
}
.smf-progress-tracker__item[aria-current="true"]
    .smf-progress-tracker__item__number {
    background-color: var(--color-main);
    color: #fff;
    border: solid 1px var(--color-main);
}
.smf-progress-tracker__item:after,
.smf-progress-tracker__item:before {
    background-color: #cccccc;
    position: absolute;
    top: calc(22.5 * var(--width-ratio-968));
}
.smf-progress-tracker__item__text {
    font-size: calc(13 * var(--width-ratio-968));
    font-weight: 500;
    letter-spacing: 0;
    line-height: 1.54;
    color: var(--color-text);
    margin-top: 0.62em;
}
.smf-progress-tracker__item[aria-current="true"]
    .smf-progress-tracker__item__text {
    color: var(--color-main);
}

.p-contact__content_wrapper {
    max-width: 920px;
    width: 100%;
    background-color: #fff;
    border-radius: 10px;
    box-shadow: 0px 0 64px 0 rgba(0, 0, 0, 0.05);
    padding: calc(69 * var(--width-ratio-968)) calc(24 * var(--width-ratio-968))
        calc(80 * var(--width-ratio-968));
    margin: 0 auto;
}
.p-contact__content_inner {
    max-width: 480px;
    width: 100%;
    margin: 0 auto;
}
.p-contact__content_inner .smf-form {
    margin-bottom: calc(50 * var(--width-ratio-968));
}
.p-contact__content_inner .smf-item {
    margin-bottom: calc(26 * var(--width-ratio-968));
}
.p-contact__content_inner .smf-item__label {
    display: flex;
    align-items: flex-start;
    gap: calc(2 * var(--width-ratio-968));
    margin-bottom: calc(9.5 * var(--width-ratio-968));
    position: relative;
}
.p-contact__content_inner .smf-item__label__text {
    font-size: calc(13 * var(--width-ratio-968));
    font-weight: 700;
    line-height: 1;
    color: var(--color-text);
    letter-spacing: 0;
}
.p-contact__content_inner
    .smf-item:has([data-validations="required"])
    .smf-item__label:after,
.p-contact__content_inner
    .smf-item:has(input[type="email"])
    .smf-item__label:after {
    content: "";
    display: block;
    width: calc(4.9 * var(--width-ratio-968));
    height: calc(4.7 * var(--width-ratio-968));
    background-image: url(../img/contact/mark_reqired.png);
    background-size: 100% 100%;
}
.p-contact__content_inner .smf-form .smf-text-control__control,
.p-contact__content_inner .smf-form .smf-email-control__control,
.p-contact__content_inner .smf-form .smf-textarea-control__control {
    width: 100%;
    height: calc(55 * var(--width-ratio-968));
    border: solid 1px #cccccc;
    border-radius: 3px;
    padding: calc(15 * var(--width-ratio-968));
    font-size: calc(14 * var(--width-ratio-968));
    font-weight: 400;
    line-height: 1.285;
    color: var(--color-text);
    letter-spacing: 0;
}
.p-contact__content_inner .smf-form .smf-textarea-control__control {
    height: calc(125 * var(--width-ratio-968));
}
.p-contact__content_inner .smf-form input::placeholder,
.p-contact__content_inner .smf-form textarea::placeholder {
    color: #c5c5c5;
}
.p-contact__content_inner .smf-form .smf-placeholder:has(.smf-file-control) {
    width: 100%;
    border: #ccc 1px solid;
    border-radius: 3px;
}
.p-contact__content_inner .smf-form .smf-file-control__label {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f0f0f0;
    border: none;
    border-radius: 3px 0 0 3px;
    border-right: 1px solid #ccc;
}
.p-contact__content_inner .smf-file-control,
.p-contact__content_inner .smf-form .smf-file-control__label,
.p-contact__content_inner .smf-form .smf-file-control__filename--no-file {
    font-size: calc(14 * var(--width-ratio-968));
    font-weight: 400;
    color: #888888;
    letter-spacing: 0;
}
.p-contact__content_inner .smf-file-control__clear {
    margin-right: 0.5em;
}
.p-contact__privacy {
    border: none;
    padding: 0;
}
.p-contact__privacy .smb-box__background {
    display: none;
}
.p-contact__privacy .smb-box__body {
    display: flex;
    align-items: center;
    justify-content: center;
    column-gap: calc(8 * var(--width-ratio-968));
}
.p-contact__privacy .smf-checkbox-control__label {
    display: none;
}
.p-contact__privacy p,
.p-contact__privacy a {
    font-size: calc(14 * var(--width-ratio-968));
    font-weight: 400;
    line-height: 1.5;
    color: var(--color-text);
    letter-spacing: 0;
}
.p-contact__privacy a {
    color: #23a3ff;
    text-decoration: underline;
}
.p-contact__privacy .smf-form .smf-checkbox-control__control {
    width: calc(18 * var(--width-ratio-968));
    height: calc(18 * var(--width-ratio-968));
    border: solid 1px #cccccc;
    border-radius: 2px;
}
.p-contact .smf-action {
    display: flex;
    justify-content: center;
}
.p-contact .smf-action .smf-button-control__control {
    width: calc(280 * var(--width-ratio-968));
    height: calc(50 * var(--width-ratio-968));
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(to bottom, #ff8c3e, #f76a0c);
    border: none;
    border-radius: 3px;
    color: #fff;
    font-size: calc(14 * var(--width-ratio-968));
    font-weight: 500;
    letter-spacing: 0.06em;
    box-shadow: 0px 2px 3px 0px rgba(215, 89, 4, 0.3);
}

/* 確認画面 */
.snow-monkey-form[data-screen="confirm"] .smf-placeholder {
    width: 100%;
    height: calc(55 * var(--width-ratio-968));
    border: solid 1px #cccccc;
    border-radius: 3px;
    padding: calc(18 * var(--width-ratio-968));
    font-size: calc(15 * var(--width-ratio-968));
    font-weight: 400;
    color: var(--color-text);
    letter-spacing: 0;
    background-color: #f8f8f8;
}
.snow-monkey-form[data-screen="confirm"] .smf-placeholder[data-name="message"] {
    min-height: 125px;
    height: auto;
}
.snow-monkey-form[data-screen="confirm"] .p-contact__privacy {
    display: none;
}
.snow-monkey-form[data-screen="confirm"] button[data-action="back"] {
    width: calc(140 * var(--width-ratio-968));
    height: calc(50 * var(--width-ratio-968));
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(to bottom, #5b5a5a, #3c3c3c);
    border: none;
    border-radius: 3px;
    color: #fff;
    font-size: calc(14 * var(--width-ratio-968));
    font-weight: 500;
    line-height: 1.285;
    letter-spacing: 0;
}

/* 送信完了画面 */
.snow-monkey-form[data-screen="complete"] .p-contact__content_inner {
    max-width: 100%;
}
.p-contact__thanks_ttl {
    font-family: var(--font-serif);
    font-size: calc(28 * var(--width-ratio-968));
    font-weight: 500;
    line-height: 1.5;
    color: var(--color-main);
    letter-spacing: 0.05em;
    text-align: center;
    margin-bottom: calc(32 * var(--width-ratio-968));
}
.p-contact__thanks_text {
    font-size: calc(14 * var(--width-ratio-968));
    font-weight: 400;
    line-height: 1.6;
    color: var(--color-text);
    letter-spacing: 0;
    text-align: center;
    margin-bottom: 1.6em;
}
.p-contact__thanks_btn {
    width: calc(380 * var(--width-ratio-968));
    height: calc(50 * var(--width-ratio-968));
    border: #d4dbe5 1px solid;
    border-radius: 3px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: var(--color-main);
    font-size: calc(13 * var(--width-ratio-968));
    font-weight: 400;
    letter-spacing: 0.06em;
    position: relative;
    margin: calc(37 * var(--width-ratio-968)) auto 0;
}
.p-contact__thanks_btn::before {
    content: "";
    display: block;
    background-image: url(../img/arrow-btn.svg);
    background-size: 100% 100%;
    width: 4px;
    height: 9px;
    position: absolute;
    top: 50%;
    left: 20.37px;
    transform: translateY(-50%) rotate(180deg);
    -webkit-transform: translateY(-50%) rotate(180deg);
    -ms-transform: translateY(-50%) rotate(180deg);
}

@media (max-width: 768px) {
    .p-contact {
        background-image: url(../img/contact/contact_bg_sp.svg);
        padding: 0 min(1.8rem,calc(13 * var(--width-ratio-968)));
    }
    .p-contact__inner {
        padding: calc(90 * var(--width-ratio-968)) 0 calc(101 * var(--width-ratio-968));
    }
    .p-contact__top {
        flex-direction: column-reverse;
        align-items: flex-start;
        row-gap: calc(40 * var(--width-ratio-968));
    }
    .p-contact__title {
        padding: 0 calc(17 * var(--width-ratio-968));
    }
    .p-contact__title .en {
        font-size: min(6.7rem,calc(48 * var(--width-ratio-968)));
    }
    .p-contact__title .ja {
        font-size: min(1.8rem,calc(13 * var(--width-ratio-968)));
    }
    .smf-progress-tracker {
        margin-bottom: calc(40 * var(--width-ratio-968));
    }
    .p-contact__content_wrapper {
        padding: calc(40 * var(--width-ratio-968)) calc(25 * var(--width-ratio-968));
    }
    .p-contact__content_inner .smf-item__label__text {
        font-size: min(1.8rem,calc(13 * var(--width-ratio-968)));
    }
    .p-contact .smf-action .smf-button-control__control {
        height: min(6.3rem,calc(45 * var(--width-ratio-968)));
        font-size: min(1.9rem,calc(14 * var(--width-ratio-968)));
    }
    .snow-monkey-form[data-screen="confirm"] button[data-action="complete"] {
        width: min(26.7rem,calc(190 * var(--width-ratio-968)));
    }
    .snow-monkey-form[data-screen="confirm"] button[data-action="back"] {
        height: min(6.3rem,calc(45 * var(--width-ratio-968)));
        width: min(13.3rem,calc(95 * var(--width-ratio-968)));
        font-size: min(1.9rem,calc(14 * var(--width-ratio-968)));
    }
    .p-contact__content_inner .smf-form .smf-text-control__control, .p-contact__content_inner .smf-form .smf-email-control__control, .p-contact__content_inner .smf-form .smf-textarea-control__control {
        height: min(7.7rem,calc(55 * var(--width-ratio-968)));
        font-size: min(1.9rem,calc(14 * var(--width-ratio-968)));
    }
    .p-contact__content_inner .smf-form .smf-textarea-control__control {
        height: min(17.3rem,calc(125 * var(--width-ratio-968)));
        font-size: min(1.9rem,calc(14 * var(--width-ratio-968)));
    }
    .p-contact__content_inner .smf-file-control, .p-contact__content_inner .smf-form .smf-file-control__label, .p-contact__content_inner .smf-form .smf-file-control__filename--no-file {
        font-size: min(1.9rem,calc(14 * var(--width-ratio-968)));
    }
    .p-contact__privacy p, .p-contact__privacy a {
        font-size: min(1.9rem,calc(14 * var(--width-ratio-968)));
    }
    .p-contact__privacy .smf-form .smf-checkbox-control__control {
        width: min(2.5rem,calc(18 * var(--width-ratio-968)));
        height: min(2.5rem,calc(18 * var(--width-ratio-968)));
    }
    .snow-monkey-form[data-screen="confirm"] .smf-placeholder {
        width: 100%;
        height: min(7.7rem,calc(55 * var(--width-ratio-968)));
        padding: min(2.4rem,calc(18 * var(--width-ratio-968)));
        font-size: min(2rem,calc(15 * var(--width-ratio-968)));
    }
    .snow-monkey-form[data-screen="confirm"] .smf-placeholder[data-name="message"] {
        height: min(17.3rem,calc(125 * var(--width-ratio-968)));
        font-size: min(2rem,calc(15 * var(--width-ratio-968)));
    }
    .p-contact__thanks_ttl {
        font-size: min(3.1rem,calc(22 * var(--width-ratio-968)));
        line-height: 1.6;
        margin-bottom: calc(22 * var(--width-ratio-968));
    }
    .p-contact__thanks_text {
        font-size: min(1.9rem,calc(14 * var(--width-ratio-968)));
        line-height: 2;
        text-align: left;
        margin-bottom: calc(6 * var(--width-ratio-968));
    }
    .p-contact__thanks_btn {
        width: min(42rem,calc(300 * var(--width-ratio-968)));
        height: min(6.3rem,calc(45 * var(--width-ratio-968)));
        font-size: min(1.8rem,calc(13 * var(--width-ratio-968)));
        margin: calc(29 * var(--width-ratio-968)) auto 0;
    }
    .p-contact__thanks_btn::before {
        top: 50%;
        left: 10px;
        transform: translateY(-50%) rotate(180deg);
        -webkit-transform: translateY(-50%) rotate(180deg);
        -ms-transform: translateY(-50%) rotate(180deg);
    }
    .c-breadcrumbs__list li a,
    .c-breadcrumbs__list li span {
        font-size: min(1.5rem,calc(11 * var(--width-ratio-968)));
    }
}