@charset "UTF-8";

/* #region 共通 */
/* .layer__container {
    display: flex;
    gap: 20px;
}
.layer__logo,
.layer__logo--another {
    position: relative;
    top: 30px;
    left: 20px;
    width: 30%;
    height: auto;
    z-index: 10;
} */
.layer__logo {
    position: relative;
    display: flex;
    /* justify-content: space-between; */
    align-items: center;
    top: 30px;
    left: 20px;
    width: 67%;
    height: auto;
    z-index: 10;
}
.layer__logo img {
    width: 100%;
    height: auto;
}
.layer__logo--sns {
    display: flex;
    gap: 20px;
}
.layer__logo:nth-child(n+2) {
    gap: 30px;
}
.layer__logo--another {
    width: 17%;
}
/* #endregion */

/* #region --CONCEPT */
.layer__concept--bg {
    margin-top: -70px;
    padding-top: 160px;
    /* bg */
    background-position: top 520px left 0;
}
.layer__concept--mv {
    position: relative;
    display: block;
    margin: 80px auto;
    text-align: center;
    /* js フェードイン */
    transform: translateY(20px);
    opacity: 0;
    transition: .6s;
}
.layer__concept--mv.show {
    /* js フェードイン */
    transform: translateY(0);
    opacity: 1;
}
.layer__concept--mv::before {
    /* 背景色 擬似要素 */
    position: absolute;
    top: -28px;
    left: -20px;
    right: -20px;
    bottom: -26px;
    content: '';
    background-color: #fff;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    z-index: -10;
}
.layer__concept--mv img {
    width: 80%;
}
.layer__concept--lead {
    font-size: 2rem;
    font-weight: 500;
    color: #424242;
    text-align: left;
}
.layer__concept--lead span {
    color: #E4007D;
}
.layer__concept--lead .common__text--palt {
    font-weight: 500;
    color: #424242;
    font-feature-settings: "palt";
}
.layer__concept--text p {
    margin-top: 50px;
    font-size: 1.6rem;
    line-height: 2.2;
}
.layer__concept--text p {
    /* js フェードイン */
    transform: translateY(20px);
    opacity: 0;
    transition: .6s;
}
.layer__concept--text p.show {
    /* js フェードイン */
    transform: translateY(0);
    opacity: 1;
}
.layer__concept--text span {
    font-weight: 700;
}
/* #endregion */

/* #region --PROFESSOR */
.layer__professor--bg {
    margin-top: -70px;
    background-color: #FFEBF6;
    padding-top: 160px;
}
.layer__professor--qAndA {
    margin-left: 8px;
}
.layer__professor--border {
    border-bottom: 1px dashed #E4007D;
    padding-bottom: 40px;
}
.layer__professor--bold {
    font-weight: 600;
    background-color: #FFEB71;
}
.layer__professor--bold:last-child {
    background-color: transparent;
}
/* #endregion */

/* #region --FEATURE */
.layer__feature--bg {
    margin-top: -70px;
    padding-top: 160px;
    /* bg */
    background-position: 50% 104px;
}
.layer__feature--lead p span {
    font-weight: 700;
    background-image: none;
}
.layer__feature--message {
    margin-top: 80px;
}
/* #endregion */

/* #region Privacy Policy / Terms / Law */
.legal__container {
    padding-top: 100px;
}
.legal__title strong {
    display: block;
    width: 100%;
    height: auto;
    font-size: 2.6rem;
    color: #424242;
    text-align: center;
}
.legal__lead {
    margin-top: 60px;
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 1.7;
}
.legal__box {
    margin-top: 60px;
    margin-bottom: 120px;
}
.legal__title {
    font-size: 1.5rem;
    font-weight: 600;
    color: #E4007D;
}
.legal__title:nth-child(n+2) {
    padding-top: 40px;
}
.legal__text {
    font-size: 1.4rem;
    line-height: 1.7;
    padding-top: 20px;
}
.legal__text--law {
    padding-bottom: 30px;
}
.legal__url {
    margin-top: 40px;
    color: #E4007D;
    font-feature-settings: "palt";
}
.legal__copyright {
    color: #E4007D;
    padding-top: 10px;
}
.legal__annotation {
    margin-top: -10px;
    font-size: 1.2rem;
    line-height: 1.7;
    color: #818181;
    border-bottom: 1px solid #CACACA;
    padding-bottom: 30px;
}
.legal__border {
    border-top: 1px solid #CACACA;
    padding-top: 30px;
}
/* #endregion */

/* #region デバイス幅 400px〜430px */
@media (min-width: 400px) and (max-width: 430px) {
    /* --PROFESSOR */
    .layer__professor--qAndA {
        margin-left: 16px;
    }
}
/* #endregion */

/* #region デバイス幅 768px〜 */
@media (min-width: 768px) {
    /* 共通 */
    .layer__container {
        display: flex;
        gap: 20px;
    }
    .layer__logo,
    .layer__logo--another {
        position: relative;
        top: 20px;
        left: 20px;
        z-index: 10;
    }
    .layer__logo--another {
        width: 17%;
    }
}
/* #endregion */