@charset "utf-8";

.fade-in {
  opacity: 0;
  transform: translateY(40px) scale(0.98);
  transition: opacity 1s ease, transform 1s cubic-bezier(0.25, 1, 0.5, 1);
}

.fade-in.show {
  opacity: 1;
  transform: translateY(0) scale(1);
}

/*===========================
article header
===========================*/

.article__header {
    background-image: url(../images/page-backPC.webp);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    /* background-size: 100%; */
    margin-top: -118px;
    padding: 18%;
    position: relative;
    z-index: -100;
}

.page__title {
    top: 50%;
    left: 17%;
    font-size: 4rem;
    font-weight: 500;
    line-height: 150%;
    position: absolute;
    z-index: 10;
}

.page__title::before {
    content: '';
    display: inline-block;
    width: 117px;
    height: 107px;
    background-image: url(../images/decorationPC.webp);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    left: -45px;
    top: 50%;
    transform: translateY(-50%);
    z-index: -1;
}

@media screen and (max-width: 1024px) {
    .page__title {
        font-size: 3rem;
    }

    .page__title::before {
        width: 80px;
        height: 77px;
        left: -32px;
    }
}

/* .article header sp */
@media screen and (max-width: 767px) {
    .article__header {
        background-image: url(../images/page-backSP.webp);
        background-size: cover;
        margin-top: -62px;
        padding: 32% 0;
    }

    .page__title {
        top: 50%;
        left: 15%;
        font-size: 2rem;
    }

    .page__title::before {
        width: 50px;
        height: 45.7px;
        background-image: url(../images/decorationSP.webp);
        background-size: contain;
        background-position: center;
        left: -18px;
    }
}

/*===========================
trial
===========================*/
.section__trial {
    margin: 100px auto 150px;
    width: 82%;
    display: flex;
    flex-direction: column;
    gap: 80px;
}

.introduction__pc {
    margin: 0 auto;
    max-width: 1160px;
    display: flex;
    gap: 80px;
    align-items: center;
}

.introduction__contentPc {
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.introduction__copy {
    font-size: 3.2rem;
    font-weight: 500;
    line-height: 150%;
}

.pink {
    color: var(--primary-pink);
}

.introduction__detail {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.introduction__txt {
    font-family: "BIZ UDPGothic";
    font-size: 1.8rem;
    font-weight: 400;
    line-height: 180%;
}

.fee {
    position: relative;
    margin-left: 30px;
    font-size: 2rem;
    font-weight: 500;
}

.fee::before {
    content: '';
    display: inline-block;
    width: 50px;
    height: 45.7px;
    background-image: url(../images/deco_pink.webp);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    left: -18px;
    top: 50%;
    transform: translateY(-50%);
    z-index: -1;
}

.studio__exterior {
    display: block;
    width: 300px;
    height: auto;
}

.introduction__sp {
    display: none;
}

.belongings {
    margin: 0 auto;
    max-width: 1160px;
    display: flex;
    gap: 55px;
    align-items: center;
}

.studio__interior {
    display: block;
    width: 400px;
    height: auto;
}

.belongings__content {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.belongings__title {
    position: relative;
    margin-left: 30px;
    font-size: 2rem;
    font-weight: 500;
}

.belongings__title::before {
    content: '';
    display: inline-block;
    width: 50px;
    height: 45.7px;
    background-image: url(../images/deco_pink.webp);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    left: -18px;
    top: 50%;
    transform: translateY(-50%);
    z-index: -1;
}

.belongings__list {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.belongings__dress,
.belongings__detail {
    display: flex;
    gap: 20px;
    align-items: center;
}

.icon__dress {
    width: 18px;
    height: auto;
}

.belongings__txt {
    font-family: "BIZ UDPGothic";
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 150%;
}

.icon__socks {
    height: 20px;
    width: auto;
}

.icon__towel {
    width: 18px;
    height: auto;
}

.icon__bottle {
    height: 22px;
    width: auto;
}

.belongings__cardigan {
    display: flex;
    gap: 12px;
    align-items: flex-start;
}

.icon__cardigan {
    width: 20px;
    height: auto;
}

@media screen and (max-width: 767px) {
    .section__trial {
        margin: 60px auto 70px;
        padding: 0 10%;
        width: 100%;
        gap: 50px;
    }

    .introduction__pc {
        display: none;
    }

    .introduction__sp {
        display: flex;
        flex-direction: column;
        gap: 35px;
    }

    .introduction__contentSp {
        display: flex;
        flex-direction: column;
        gap: 24px;
    }

    .introduction__copy {
        text-align: center;
        font-size: 2rem;
        font-weight: 500;
        line-height: 150%;
    }

    .pink {
        color: var(--primary-pink);
    }

    .studio__exterior {
        display: block;
        margin: 0 auto;
        width: 280px;
        height: auto;
    }

    .introduction__txt {
        margin: 0 auto;
        font-family: "BIZ UDPGothic";
        font-size: 1.4rem;
        font-weight: 400;
        line-height: 150%;
    }

    .fee {
        position: relative;
        margin: 0 auto;
        font-size: 1.8rem;
        font-weight: 500;
    }

    .fee::before {
        content: '';
        display: inline-block;
        width: 50px;
        height: 45.7px;
        background-image: url(../images/deco_pink.webp);
        background-size: contain;
        background-position: center;
        background-repeat: no-repeat;
        position: absolute;
        left: -18px;
        top: 50%;
        transform: translateY(-50%);
        z-index: -1;
    }

    .belongings {
        flex-direction: column;
        gap: 50px;
    }

    .studio__interior {
        width: 300px;
    }

    .belongings__title {
        margin: 0 auto;
        font-size: 1.8rem;
    }

    .belongings__dress,
    .belongings__detail {
        gap: 15px;
    }

    .belongings__dress {
        align-items: flex-start;
    }

    .icon__dress {
        width: 16px;
    }

    .belongings__txt {
        font-size: 1.4rem;
    }

    .icon__socks {
        height: 18px;
    }

    .icon__towel {
        width: 16px;
    }

    .icon__bottle {
        height: 20px;
    }

    .icon__cardigan {
        width: 18px;
    }
}

/*===========================
application
===========================*/
.application {
    padding: 100px 0;
    background: rgba(191, 162, 219, 0.50);
}

.application__title {
    text-align: center;
    font-size: 2rem;
    font-weight: 500;
    line-height: 100%;
}

.application__txt {
    margin-top: 40px;
    text-align: center;
    font-family: "BIZ UDPGothic";
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 150%;
}

.tel {
    text-decoration-line: underline;
    text-decoration-style: solid;
}

.form {
    margin: 50px auto;
    max-width: 570px;
}

.form__parts {
    margin-top: 35px;
    display: flex;
    align-items: center;
    gap: 20px;
}

.form__parts:nth-of-type(5),
.form__parts:nth-of-type(9) {
    align-items: flex-start;
}

.form__category,
.form__categoryRequired {
    width: 177px;
    flex-shrink: 0;
    font-family: "BIZ UDPGothic";
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 150%;
}

.form__categoryRequired::after {
    display: inline-block;
    content: '必須';
    width: 34px;
    height: 18px;
    text-align: center;
    background-color: #F77;
    color: #FDFDFD;
    font-family: "BIZ UDPGothic";
    font-size: 1.2rem;
    font-weight: 500;
    border-radius: 2px;
    margin-left: 4px;
}

.group {
    width: 100%;
}

input[type="text"],
input[type="tel"],
input[type="email"],
.group__textArea {
    display: block;
    width: 100%;
    padding: 8px 16px;
    border-radius: 2px;
    border: 1px solid #C8D1D1;
    background: #FDFDFD;
    font-size: 1.4rem;
}

.group--radio label {
    font-size: 1.4rem;
}

.group--radio label:last-of-type {
    margin-left: 30px;
}

input[type="radio"] {
    width: 16px;
    height: 16px;
    outline: solid 1px #C8D1D1;
    background-color: #FDFDFD;
    border-radius: 50%;
    margin-right: 4px;
    vertical-align: -2px;
}

input[type="radio"]:checked {
    position: relative;
}

input[type="radio"]:checked::after {
    display: block;
    content: '';
    width: 12px;
    height: 12px;
    background-color: #241D14;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.group--checkbox {
    display: flex;
    flex-wrap: wrap;
    font-size: 1.4rem;
    gap: 8px 20px;
}

input[type="checkbox"] {
    width: 16px;
    height: 16px;
    border: 1px solid #C8D1D1;
    background: #FDFDFD;
    margin-right: 4px;
}

input[type="checkbox"]:checked {
    position: relative;
}

input[type="checkbox"]:checked::after {
    display: inline-block;
    content: '';
    width: 10px;
    height: 5px;
    border-left: 2px solid #241D14;
    border-bottom: 2px solid #241D14;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(-45deg);
}

.group__textArea {
    min-height: 148px;
}

.form__parts--policy {
    margin: 35px auto 0;
    width: fit-content;
    font-size: 1.4rem;
}

.form__parts--policy span {
    text-decoration-line: underline;
    cursor: pointer;
}

@media screen and (max-width: 767px) {
    .application {
        padding: 65px 3%;
    }

    .application__title {
        font-size: 1.8rem;
    }

    .application__txt {
        margin-top: 20px;
        font-size: 1.4rem;
    }

    .form {
        margin: 30px auto;
    }

    .form__parts {
        margin-top: 30px;
        flex-direction: column;
        text-align: left;
        gap: 8px;
    }

    .form__category,
    .form__categoryRequired {
        width: 100%;
    }

    .group--radio label:last-of-type {
        margin-left: 35px;
    }

    .form__parts--policy {
        margin-top: 30px;
    }
}