@charset 'utf-8';

/* ���� */
:root{
    --baseFont: 'Pretendard', 'Noto Sans KR', 'Malgun Gothic', 'verdana', sans-serif;
	--mainColor: #FF8672;
	--grayBg: #808080;
	--aosPlus: 100px;
	--aosMinus: -100px;
	--headerH: 100px;
	--vh: 100%;
	--resizeVh: 100%;
}

*{  box-sizing: border-box; word-break: keep-all; line-height: 1.3; }
body.lock{ overflow-y: hidden; }
.w1860{ max-width: 1860px; width: 100%; margin: 0 auto; }
.w1840{ max-width: 1840px; width: 100%; margin: 0 auto; }
.w1800{ max-width: 1800px; width: 100%; margin: 0 auto; }
.w1700{ max-width: 1700px; width: 100%; margin: 0 auto; }
.w1600{ max-width: 1600px; width: 100%; margin: 0 auto; }
.w1200{ max-width: 1200px; width: 100%; margin: 0 auto; }

@media screen and (max-width: 1900px){
	.w1860{ padding: 0 20px; }
}

@media screen and (max-width: 1880px){
	.w1840{ padding: 0 20px; }
}

@media screen and (max-width: 1840px){
	.w1800{ padding: 0 20px; }
}

@media screen and (max-width: 1740px){
	.w1700{ padding: 0 20px; }
}

@media screen and (max-width: 1640px){
	.w1600{ padding: 0 20px; }
}

@media screen and (max-width: 1280px){
	:root{
		--aosPlus: 50px;
		--aosMinus: -50px;
	}
}

@media screen and (max-width: 1240px){
	.w1200{ padding: 0 20px; }
}

/* privacy */
.privacy * { font-size: 1.6rem; line-height: 1.625; }
.privacy h3 { font-weight: 700; }
.privacy h4{ font-weight: 700; margin-bottom: 10px; }
.privacy .textBox,
.privacy .pBox,
.privacy .dlBox,
.privacy .subTextBox { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; }
.privacy .pl15{ padding-left: 15px; }
.privacy dl dt { font-size: 1.8rem; font-weight: 500; margin-bottom: 5px; }
.privacy dl dd p { margin: 5px 0; }
.privacy dl dd ul:only-child{ margin-top: 5px; }

.privacy .textBox > *:not(:last-of-type){ padding-bottom: 100px; }
.privacy .textBox h3{ font-size: 2.2rem; margin-bottom: 5px; }

.privacy .pBox { margin: 40px 0; }
.privacy .pBox > *:not(:last-of-type){ padding-bottom: 30px; }

.privacy .dlBox > *:not(:last-of-type){ padding-bottom: 50px; }

.privacy .square{ position: relative; padding-left: 12px; }
.privacy .square::before { content: "-"; position: absolute; top: 0; left: 0; }
.privacy .dot{ position: relative; padding-left: 10px; }
.privacy .dot::before { content: ""; width: 3px; height: 3px; background: #333; border-radius: 50%; position: absolute; top: calc(1.625em / 2); left: 0; transform: translateY(-50%); }

.privacy .subTextBox { gap: 24px 0; }
.privacy .subTextBox h6 { font-weight: 500; margin: 0 0 4px; }
.privacy .subTextBox p{ margin: 5px 0; }
.privacy .subText { margin: 4px 0; }
.privacy .subText dd { padding: 0 0 0 11px; }

.privacy .contact { margin: 60px 0 0; }
.privacy .contact ol { margin: 30px 0 0; }

@media screen and (max-width: 1280px){
	.privacy .textBox > *:not(:last-of-type){ padding-bottom: 60px; }
	.privacy .textBox h3{ font-size: 2rem; }

	.privacy .pBox{ margin: 20px 0; }
	.privacy .textBox > *:not(:last-of-type){ padding-bottom: 15px; }

	.privacy .dlBox > *:not(:last-of-type){ padding-bottom: 30px; }
}

@media screen and (max-width: 900px){
	.privacy dl dt{ font-size: 1.6rem; }
	.privacy * { font-size: 1.5rem; }
}


/* intro */
#intro{ width: 100%; height: calc(100% +  100px); position: fixed; top: 0; left: 0; z-index: 1000; overflow: hidden; pointer-events: none; }
#intro .intro-box{ height: 100%; background: #000; clip-path: polygon(0 0, 100% 0, 100% calc(100% - 100px), 0% 100%); -webkit-clip-path: polygon(0 0, 100% 0, 100% calc(100% - 100px), 0% 100%); animation: intro-height 1s 1.5s both; pointer-events: auto; }
#intro .wide{ position: relative; top: calc(50% - 100px); transform: translateY(-50%); text-align: center; animation: intro-opacity 1s 0.3s both; }
#intro .wide .img{ position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }

@keyframes intro-opacity{
	0%{ opacity: 0; }
	100%{ opacity: 1; }
}

@keyframes intro-height{
	0%{ height: 100%; }
	100%{ height: 0; }
}

@media screen and (max-width: 1280px){
	#intro img{ height: 80px; }
}


/* header */
#header{ width: 100%; background: transparent; border-bottom: 1px solid transparent; position: absolute; top: 0; left: 0; z-index: 999; transition: background 0.5s, border 0.5s; }
#header .flex-box{ height: var(--headerH); display: flex; justify-content: space-between; align-items: center; position: relative; }
#header .logo{ display: inline-block; }
#header .logo a{ display: inline-block; position: relative; }
#header .logo a::after{ content: ""; background: url("/img/common/ninano_logo_color.svg"); position: absolute; top: 0; right: 0; bottom: 0; left: 0; opacity: 0; transition: opacity 0.5s; }
#header .logo img{ opacity: 1; transition: opacity 0.5s; }

#header nav{ position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }
#header .depth01{ display: flex; }
#header .depth01 > li{ position: relative; }
#header .depth01 a{ display: inline-block; }
#header .depth01 > li > a{ display: flex; justify-content: center; align-items: center; height: var(--headerH); font-size: 1.8rem; font-weight: 500; color: #fff; padding: 0 30px; transition: color 0.5s; }

#header .depth02{ width: max-content; background: #F9F9F9; text-align: center; padding: 23px 0 33px; position: absolute; top: 100%; left: 50%; transform: translateX(-50%); display: none; }
#header .depth02 > li{ overflow: hidden; }
#header .depth02 > li > a{ width: 100%; font-size: 1.6rem; font-weight: 400; color: #555; padding: 7px 30px; line-height: 1.3; }
#header .depth02 > li > a span{ position: relative; }
#header .depth02 > li > a span::after{ content: ""; width: 100%; height: 1px; background: #555; position: absolute; bottom: 0; left: 0; transform: scaleX(0); transform-origin: left; transition: transform 0.5s; }

#header .right{ display: flex; align-items: center; margin-right: -10px; }
#header .right button{ background: none; border: none; outline: none; color: #fff; padding: 10px; transition: color 0.5s; }
#header .right button img{ filter: invert(0); -webkit-filter: invert(0); transition: filter 0.5s; }

#header .lang{ position: relative; }
#header .lang button span{ display: inline-block; font-size: 1.6rem; font-weight: 500; vertical-align: bottom; padding-left: 5px; padding-right: 20px; position: relative; }
#header .lang button span::after{ content: url("/img/common/lang_arrow.svg"); position: absolute; top: 40%; right: 0; transform: translateY(-50%) scaleY(1); filter: invert(0); -webkit-filter: invert(0); transition: filter 0.5s, transform 0.5s, top 0.5s; }
#header .lang ul{ width: calc(100% - 20px); background: #F9F9F9; position: absolute; top: 100%; left: 50%; transform: translateX(-50%); padding: 15px 0; display: none; }
#header .lang ul li a{ display: block; font-size: 1.6rem; font-weight: 500; color: #AAA; text-align: center; line-height: 1.3; padding: 5px 10px; }
#header .lang ul li.on a{ color: #111; }

#header .lang.on button span::after{ transform: translateY(-50%) scaleY(-1); }

#header .menu{ height: 50px; overflow: hidden; display: none; }
#header .menu span{ display: inline-block; width: 30px; height: 2px; background: #fff; transition: background 0.5s, left 0.5s, transform 0.5s; vertical-align: middle; position: relative; top: -1px; }
#header .menu span::before, #header .menu span::after{ content: ""; width: 100%; height: 100%; background: #fff; position: absolute; left: 0; transition: background 0.5s, top 0.5s, left 0.5s, transform 0.5s; }
#header .menu span::before{ top: -7px; }
#header .menu span::after{ top: 7px; }

/* header - scroll */
#header.scroll .logo a::after{ opacity: 1; }
#header.scroll .logo img{ opacity: 0; }

#header.scroll .depth01 > li > a{ color: #111; }

#header.scroll .right button{ color: #111; }  
#header.scroll .right button img{ filter: invert(1); -webkit-filter: invert(1); }
#header.scroll .lang button span::after{ filter: invert(1); -webkit-filter: invert(1); }
#header.scroll .menu span{ background: #111; }
#header.scroll .menu span::before, #header.scroll .menu span::after{ background: #111; }

/* header - bg */
#header.bg{ background: #fff; }

/* header - hover */
#header.hover{ background: #fff; border-bottom: 1px solid #EEE; }
#header.hover .logo a::after{ opacity: 1; }
#header.hover .logo img{ opacity: 0; }

#header.hover .depth01 > li > a{ color: #111; }

#header.hover .right button{ color: #111; overflow: hidden; }  
#header.hover .right button img{ filter: invert(1); -webkit-filter: invert(1); }
#header.hover .lang button span::after{ filter: invert(1); -webkit-filter: invert(1); }
#header.hover .menu span{ background: #111; }
#header.hover .menu span::before, #header.hover .menu span::after{ background: #111; }

@media screen and (hover: hover){
	#header .depth01 > li:hover > a{ color: var(--mainColor); }
	#header .depth02 > li:hover > a span::after{ transform: scaleX(1); }
}

@media screen and (max-width: 1300px){
	:root{
		--headerH: 80px;
	}

	#header nav{ display: none; }

	#header .menu{ display: block; }
}


/* menu */
#menu{ width: 100%; height: 100%; position: fixed; top: 0; left: 0; z-index: 900; background: rgba(0, 0, 0, 0.5); display: none; }
#menu .blank{ width: 100%; height: 100%; }
#menu .inner{ max-width: 500px; width: 100%; height: 100%; background: #fff; padding: 30px 20px; position: absolute; top: 0; right: 0; transform: translateX(100%); transition: transform 0.7s 0.5s; transition-timing-function: cubic-bezier(0.86, 0, 0.07, 1); }
#menu .pt{ padding-top: var(--headerH); }
#menu .mobile{ display: none; }

#menu .depth01{ border-top: 1px solid #111; }
#menu .depth01 a{ display: block; line-height: 1.3; }
#menu .depth01 > li > a{ font-size: 3rem; font-weight: 700; color: #111; padding: 10px; border-bottom: 1px solid #111; }

#menu .depth02{ padding: 10px 0; border-bottom: 1px solid #111; display: none; }
#menu .depth02 > li > a{ font-size: 1.8rem; font-weight: 500; color: var(--grayBg); padding: 5px 10px; transition: color 0.5s; }

/* body - open */
body.open #header{ background: #fff; }
body.open #header .logo a::after{ opacity: 1; }
body.open #header .logo img{ opacity: 0; }

body.open #header .depth01 > li > a{ color: #111; }

body.open #header .right button{ color: #111; }  
body.open #header .right button img{ filter: invert(1); -webkit-filter: invert(1); }
body.open #header .lang button span::after{ filter: invert(1); -webkit-filter: invert(1); }
body.open #header .menu span{ background: #111; }
body.open #header .menu span::before, body.open #header .menu span::after{ background: #111; }
body.open #header .menu span{ transform: translateX(100px); }
body.open #header .menu span::before{ top: 0; left: -100px; transform: rotate(45deg); }
body.open #header .menu span::after{ top: 0; left: -100px; transform: rotate(-45deg); }

body.open #menu .inner{ transform: translateX(0); }

@media screen and (hover: hover){
	#menu .depth02 > li:hover > a{ color: var(--mainColor); }
}

@media screen and (max-width: 1300px){
	#menu .pc{ display: none; }
	#menu .mobile{ display: block; }
}


/* footer */
#footer{ background: #171717; padding: 100px 0 60px; position: relative; }
#footer *{ color: #fff; }

#footer .top{ position: absolute; top: 0; left: 0; right: 0; transform: translateY(-100%); text-align: right; padding-bottom: 30px; pointer-events: none; }

#footer .line01{ padding-bottom: 60px; }
#footer .line01 dl dt{ font-size: 2.2rem; font-weight: 700; margin-bottom: 20px; }
#footer .line01 dl dd{ font-size: 1.8rem; font-weight: 200; opacity: 0.6; }
#footer .line01 dl dd:not(:last-of-type){ margin-bottom: 10px; }
#footer .line01 dl dd .flex{ display: flex; flex-wrap: wrap; margin: -5px -15px; }
#footer .line01 dl dd span{ display: inline-block; margin: 5px 15px; }

#footer .line02{ display: flex; justify-content: space-between; align-items: center; padding: 10px 0; border-top: 1px solid rgba(255, 255, 255, 0.08); border-bottom: 1px solid rgba(255, 255, 255, 0.08); }
#footer .line02 ul{ display: flex; margin-left: -7px; }
#footer .line02 ul li a{ display: inline-block; font-size: 1.6rem; font-weight: 200; opacity: 0.6; padding: 7px; }

#footer .line02 ul.sns{ margin-left: 0; margin-right: -10px; }
#footer .line02 ul.sns li a{ opacity: 0.2; padding: 10px; }

#footer .line03{ display: flex; justify-content: space-between; align-items: center; padding-top: 30px; }
#footer .line03 .logo{ display: inline-block; }
#footer .line03 p{ font-size: 1.6rem; font-weight: 200; opacity: 0.3; }


#top{ width: 60px; height: 60px; background: transparent; border: 1px solid #000; font-size: 1.6rem; font-weight: 600; color: #000; text-align: center; vertical-align: center; position: relative; z-index: 10; padding: 0; transition: color 0.5s; pointer-events: auto; }
#top::before{ content: ""; width: 100%; height: 100%; background: #000; position: absolute; top: 0; left: 0; z-index: -5; transform: scaleY(0); transform-origin: bottom; transition: transform 0.5s; }

@media screen and (hover: hover){
	#top:hover{ color: #fff; }
	#top:hover::before{ transform: scaleY(1); }
}

@media screen and (max-width: 1700px){
	#footer .line01 dl dd{ font-size: 1.7rem; }
}

@media screen and (max-width: 1280px){
	#footer{ padding: 60px 0 30px; }

	#footer .line01{ padding-bottom: 20px; }
	#footer .line01 dl dt{ font-size: 2rem; }
	#footer .line01 dl dd{ font-size: 1.6rem; }

	#footer .top{ padding-bottom: 20px; }
	#top{ width: 55px; height: 55px; }
}

@media screen and (max-width: 900px){
	#footer{ padding: 30px 0 20px; }

	#footer .line02{ padding: 5px 0; }

	#footer .line03{ padding-top: 20px; }
}