*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{
    
	background:#F7F5F0;
    min-height:100vh;

    display:flex;
    justify-content:center;
    align-items:center;

    padding:24px;

    font-family:"Montserrat",sans-serif;
	
	-webkit-text-size-adjust:100%;
}

main{

    width:100%;

    max-width:720px;

    display:flex;

    flex-direction:column;

    align-items:center;

}

.logo{

    width:clamp(240px,38vw,520px);

    height:auto;

    margin-bottom:clamp(18px,2vw,28px);

}

.logo_title{

    width:clamp(260px,70vw,720px);

    height:auto;

    margin-bottom:24px;

}

.sns{
	
    display:flex;
    
	justify-content:center;
    
	align-items:center;
    
	gap:48px;
}

.sns a{
    
	display:flex;
    
	justify-content:center;
    
	align-items:center;
	
	transition:.25s ease, opacity .25s ease;
    
	width:clamp(48px,5vw,92px);
    
	height:clamp(48px,5vw,92px);
}

.sns a:hover{

    transform:translateY(-4px) scale(1.08);

    opacity:.8;

}

.sns img{

    width:clamp(54px,5.5vw,92px);

    height:auto;

}

.youtube{
    transform:scale(1.30);
}

.instagram{
    transform:scale(0.88);
}

.x{
    transform:scale(0.80);
}

/* ==========================
   Privacy Policy
========================== */

main.policy{

    width:100%;

    max-width:900px;

    margin:auto;

    padding:60px 24px;

    align-items:flex-start;

    text-align:left;

}

.policy{

    width:100%;

    max-width:720px;

    margin:auto;

    padding:60px 24px;

    align-items:flex-start;

}

.policy h1{

    font-size:clamp(2rem,4vw,2.5rem);

    font-weight:700;

    margin-bottom:8px;

    color:#2E2E2E;

}

.policy h2{

    font-size:clamp(1.2rem,2.5vw,1.5rem);

    font-weight:700;

    margin-top:40px;

    margin-bottom:8px;

    color:#2E2E2E;
}

.policy p{

    font-size:1rem;

    line-height:1.9;

    margin-bottom:18px;

    color:#444;

}

/* ==========================
   Footer
========================== */

.wrapper{

    display:flex;

    flex-direction:column;

    align-items:center;

}

footer{

    width:100%;

    text-align:center;

    margin-top:18px;

    padding-bottom:24px;

}

footer p{

    font-size:0.82rem;

    color:#777;

    letter-spacing:0.02em;

    line-height:1.8;

}

footer a{

    color:#777;

    text-decoration:none;

}

footer a:visited{

    color:#777;

}

footer a:hover{

    color:#555;

}

footer a:active{

    color:#555;

}

footer a:hover{

    color:#2B2B2B;

}

.divider{

    margin:0 8px;

    color:#999;

}

@media (max-width:768px){

body{
    padding:16px;
}

main{
    width:100%;
}

.logo{

    width:min(72vw,300px);

}

.logo_title{

    width:min(90vw,420px);

    margin-bottom:18px;

}

.sns img{

    width:60px;
    height:auto;

}
	
.youtube{
    transform:scale(1.30);
}

.instagram{
    transform:scale(0.88);
}

.x{
    transform:scale(0.80) translateY(2px);
}
	
.policy{

    padding:40px 20px;

}

.policy h1{

    margin-bottom:16px;

}

.policy h2{

    margin-top:16px;

}

.policy p{

    font-size:0.95rem;
    line-height:1.8;

}

footer{


	margin-top:20px;

}

footer p{

    font-size:0.6rem;

}

footer a{

    font-size:0.58rem;

}

}