*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{

    font-family: "Noto Sans KR", sans-serif;

    background:#fff;

    overflow-x:hidden;

}

/* 메인 */

.hero{

    position:relative;

    width:100%;

    height:100vh;

    background:#f3aecc;

    overflow:hidden;

}


/* 건물 */

.school{

    position:absolute;

    bottom:0;

    left:50%;

    transform:translateX(-50%);

    width:850px;

    z-index:1;

}


/* 타이틀 */

.hero-text{

    position:absolute;

    top:110px;

    width:100%;

    text-align:center;

    z-index:5;

}

.hero h1{

    font-size:95px;

    color:white;

    letter-spacing:3px;

    margin-bottom:20px;

}

.hero p{

    color:white;

    font-size:22px;

    line-height:38px;

    margin-bottom:40px;

}

.btn{

    display:inline-block;

    padding:18px 55px;

    border-radius:60px;

    text-decoration:none;

    background:white;

    color:#ea81b0;

    font-weight:bold;

    transition:.4s;

}

.btn:hover{

    background:#fce6ef;

    transform:translateY(-5px);

}


/* 키홀 */

.key{

    position:absolute;

    right:120px;

    top:140px;

    width:280px;

    opacity:.18;

}


/* Scroll */

.scroll{

    position:absolute;

    bottom:40px;

    left:50%;

    transform:translateX(-50%);

    color:white;

    letter-spacing:8px;

    font-size:14px;

    animation:updown 1.5s infinite;

    z-index:5;

}

@keyframes updown{

    0%{

        transform:translate(-50%,0);

    }

    50%{

        transform:translate(-50%,12px);

    }

    100%{

        transform:translate(-50%,0);

    }

}

/* ===========================
   Emotion Friends
=========================== */

#friends{

    padding:120px 8%;
    background:#ffffff;
    text-align:center;

}

.small-title{

    color:#f3aecc;
    font-size:18px;
    letter-spacing:4px;
    margin-bottom:10px;

}

#friends h2{

    font-size:55px;
    color:#444;
    margin-bottom:20px;

}

.sub-title{

    color:#777;
    line-height:30px;
    margin-bottom:70px;

}

.friend-wrap{

    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:35px;

}

.friend-card{

    background:white;
    border-radius:25px;
    padding:30px;

    box-shadow:0 10px 30px rgba(243,174,204,.2);

    transition:.4s;

}

.friend-card:hover{

    transform:translateY(-15px);

    box-shadow:0 20px 40px rgba(243,174,204,.35);

}

.friend-card img{

    width:180px;
    height:180px;
    object-fit:contain;
    margin-bottom:20px;

}

.friend-card h3{

    color:#e684b3;
    margin-bottom:8px;

}

.friend-card p{

    color:#666;

}

/* ===========================
   Character Detail
=========================== */

.character-detail{

    display:flex;

    justify-content:center;

    align-items:center;

    gap:120px;

    padding:150px 10%;

    background:#fff;

}

.character-img img{

    width:420px;

    transition:.5s;

}

.character-img img:hover{

    transform:scale(1.05);

}

.character-info{

    max-width:500px;

    text-align:left;

}

.emotion-name{

    color:#f3aecc;

    letter-spacing:5px;

    margin-bottom:10px;

    font-size:16px;

}

.character-info h2{

    font-size:70px;

    color:#e684b3;

    margin-bottom:10px;

}

.character-info h3{

    font-size:32px;

    color:#444;

    margin-bottom:30px;

}

.description{

    font-size:18px;

    line-height:36px;

    color:#666;

}