@charset "UTF-8";

@import url("common_pc.css");

@media only all and (max-width: 1023px) {
	html {
		font-size: 1.5rem; /* 기본베이스 폰트사이즈 24px */
		line-height: 1.5rem; /* 기본베이스 line-height 사이즈 24px */
	}

	body {
		min-width: 320px;
		list-style: none;
		outline: 0;
		font-size: 1rem;
		line-height: 1rem;
		-webkit-text-size-adjust: none;
	}

	body.fixed {
		overflow: hidden;
	}

	.wrapper {
		position: relative;
		margin: 0;
		padding-top: 4.583rem;
		clear: both;
		overflow: hidden;
	}

	.wrapper:after {
		content: "";
		clear: both;
		display: block;
	}

	.gnb-wrapper {
		display: none;
	}

	/* header */
	.header {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 4.583rem;
	}

	.header-wrapper {
		position: static;
		width: 100%;
		height: 4.583rem;
	}

	.header-area {
		position: relative;
		max-width: 100%;
		height: 100%;
		padding: 0 1.458rem;
		margin: 0;
	}


	.header-area > h1 {
		position: static;
		margin-top: 0.9583rem;
	}

	.header-area h1 > a > img {
		width: 11.79rem;
		margin-right: 0.8333rem;
	}

	.header-area h1 > a > strong {
		margin-top: 0.5417rem;
		font-size: 1.333rem;
		line-height: 1.583rem;
	}
	.top-menu-wrapper {
		display: none;
	}

	.btn-totalmenu {
		position: absolute;
		top: 1.667rem;
		right: 1.25rem;
		display: block;
		width: 1.417rem;
		margin: 0;
	}


	.btn-totalmenu .menu {
		display: block;
	}

	.btn-totalmenu .menu > span {
		display: block;
		width: 100%;
		height: 0.2083rem;
		background-color: #000000;
		border-radius: 0.1667rem;
	}

	.btn-totalmenu .menu > span:nth-child(2) {
		width: 1.042rem;
		margin: 0.3333rem 0;
	}


	.mask-totalmenu {
		display: none;
		top: 0;
		width: 100%;
		height: 100%;
		background: #000;
		opacity: 0.5;
		z-index: 100;
	}

	.totalmenu-wrapper {
		display: block;
		position: fixed;
		top: 0;
		width: 26.25rem;
		right: -26.25rem;
		height: 100%;
		border-top: 0;
		background: #ffffff;
		-webkit-transition: all 0.3s ease-in-out;
		transition: all 0.3s ease-in-out;
		z-index: 10000;
	}

	.totalmenu-wrapper.active {
		right: 0;
		box-shadow: -0.2083rem 0px 0.625rem 0px rgba(0,0,0,0.3);
	}

	.wrapper.fixed .totalmenu-wrapper {
		top: 0;
	}

	.mobile-gnb-wrapper {
		height: 11.54rem;
		padding: 4.542rem 1.958rem 0 1.958rem;
		/* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#7053b9+0,665ebb+50,5b69be+100 */
		background: #7053b9; /* Old browsers */
		background: -moz-linear-gradient(top,  #7053b9 0%, #665ebb 50%, #5b69be 100%); /* FF3.6-15 */
		background: -webkit-linear-gradient(top,  #7053b9 0%,#665ebb 50%,#5b69be 100%); /* Chrome10-25,Safari5.1-6 */
		background: linear-gradient(to bottom,  #7053b9 0%,#665ebb 50%,#5b69be 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
		filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#7053b9', endColorstr='#5b69be',GradientType=0 ); /* IE6-9 */

	}

	.mobile-gnb-wrapper > ul {
		display: block;
	}

	.mobile-gnb-wrapper > ul:after {
		content: "";
		clear: both;
		display: block;
	}

	.mobile-gnb-wrapper > ul > li {
		float: left;
		margin-left: 2%;
		width: 32%;
	}

	.mobile-gnb-wrapper > ul > li:first-child {
		margin-left: 0;
	}

	.mobile-gnb-wrapper > ul > li > a {
		position: relative;
		display: block;
		width: 100%;
		text-align: center;
		vertical-align: middle;
	}

	.mobile-gnb-wrapper > ul > li > a > img {
		display: block;
		width: 3.75rem;
		margin: 0 auto 0.4167rem auto
	}

	.mobile-gnb-wrapper > ul > li > a > strong {
		display: block;
		width: 100%;
		color: #ffffff;
		font-size: 1.167rem;
		line-height: 1.5rem;
	}

	.totalmenu-area {
		position: relative;
		width: 100%;
		height: calc(100% - 11.54rem);
		padding: 0 0 0 10rem;
		margin: 0;
	}

	.totalmenu-depth1 {
		position: absolute;
		top: 0;
		left: 0;
		width: 8.333rem;
		height: 100%;
		background: #f6f6f9;
	}

	.totalmenu-depth1 > ul {
		height: 100%;
		overflow-x: hidden;
		overflow-y: auto;
	}

	.totalmenu-depth1 > ul > li {
		display: block;
	}

	.totalmenu-depth1 > ul > li > button {
		position: relative;
		display: block;
		width: 100%;
		height: 7.5rem;
		text-align: center;
		border-bottom: 1px solid #d2d2d2;
	}

	.totalmenu-depth1 > ul > li:last-child > button {
		border-bottom: 0;
	}

	.totalmenu-depth1 > ul > li > button > span {
		position: absolute;
		top: 50%;
		left: 0;
		width: 100%;
		font-size: 1.333rem;
		line-height: 1.5rem;
		color: #828282;
		letter-spacing: -0.25px;
		font-weight: 500;
		word-break: keep-all;
		text-align: center;
		transform: translate(0, -50%);
	}

	.totalmenu-depth1 > ul > li > button.active {
		background: #f48918;
		border-bottom: 1px solid #f48918
	}

	.totalmenu-depth1 > ul > li > button.point {
		background: #5b69be;
		border-bottom: 1px solid #5b69be
	}

	.totalmenu-depth1 > ul > li > button.active > span,
	.totalmenu-depth1 > ul > li > button.point > span {
		color: #fff;
	}

	.totalmenu-depth2-wrapper {
		display: block;
		width: 100%;
		height: 100%;
		overflow: hidden;
	}

	.totalmenu-depth2-area {
		position: relative;
		width: 32.5rem;
		height: 100%;
		transition: all 0.2s ease-in-out;
	}


	.totalmenu-depth2-area.active,
	.totalmenu-depth2-area.dpeth3-moving {
		left: -16.25rem !important;
		transition: all 0.2s ease-in-out;
	}

	.totalmenu-depth2-area.dpeth2-moving {
		left: 0 !important;
		transition: all 0.2s ease-in-out;
	}

	.totalmenu-depth2-area:after {
		content: "";
		clear: both;
		display: block;
	}

	.totalmenu-depth2-box {
		position: relative;
		float: left;
		width:  16.25rem;
		height: 100%;
	}

	.totalmenu-depth2-group {
		position: absolute;
		display: block;
		width: 100%;
		height: 100%;
		background-color: #fff;
		overflow-x: hidden;
		overflow-y: auto;
		display: none;
	}

	.totalmenu-depth2-group.active {
		display: block;
		z-index: 10;
	}

	.totalmenu-depth2-group.point {
		display: block;
		z-index: 20;
	}

	.totalmenu-depth2-group > h2 {
		display: block;
		color: #212121;
		font-size: 1.917rem;
		line-height: 2.625rem;
		padding-top: 2.25rem;
		padding-bottom: 1.042rem;
	}

	.totalmenu-depth2-group > ul {
		display: block;
	}

	.totalmenu-depth2-group > ul > li {
		display: block;
		border-bottom: 1px solid #e7e7e7
	}

	.totalmenu-depth2-group > ul > li > a {
		position: relative;
		display: block;
		padding: 1.208rem 0.5rem;
		color: #424242;
		font-size: 1.333rem;
		line-height: 1.917rem;
		font-weight: 500;
	}

	.totalmenu-depth2-group > ul > li > a > .arrow {
		position: absolute;
		top: 50%;
		right: 2rem;
		display: block;
		width: 0.4583rem;
		height: 0.75rem;
		background: url(../img/icon/icon_arrow_right04.png) no-repeat 0 0;
		background-size: 0.4583rem 0.75rem;
		transform: translate(0, -50%);
	}

	.totalmenu-depth2-group > ul > li > a.active {
		color: #743393
	}

	.totalmenu-depth3-group {
		position: absolute;
		display: block;
		width: 100%;
		height: 100%;
		background-color: #fff;
		overflow-x: hidden;
		overflow-y: auto;
		display: none;
	}

	.totalmenu-depth3-group.active {
		display: block;
		z-index: 10;
	}

	.totalmenu-depth3-group.point {
		display: block;
		z-index: 20;
	}

	.totalmenu-depth3-group > h3 {
		display: block;
		padding-top: 2.25rem;
		padding-bottom: 1.042rem;
	}

	.totalmenu-depth3-group > h3 > button {
		display: block;
		width: 100%;
		padding-left: 1.769rem;
		font-size: 1.917rem;
		line-height: 2.625rem;
		color: #212121;
		font-weight: 500;
		text-align: left;
		background-image: url(../img/icon/icon_back02.png);
		background-position: left 45%;
		background-size: 0.8462rem 1.462rem;
		background-repeat: no-repeat;
	}

	.totalmenu-depth3-group > ul {
		display: block;
	}

	.totalmenu-depth3-group > ul > li {
		display: block;
		border-bottom: 1px solid #e7e7e7
	}

	.totalmenu-depth3-group > ul > li > a {
		position: relative;
		display: block;
		padding: 1.208rem 0.5rem;
		color: #424242;
		font-size: 1.333rem;
		line-height: 1.917rem;
		font-weight: 500;
	}

	.totalmenu-depth3-group > ul > li > a.active {
		color: #743393
	}


	.totalmenu-wrapper .btn-mobile-close {
		position: absolute;
		top: 1.5rem;
		right: 1.25rem;
		display: block;
		width: 1.5rem;
		height: 1.5rem;
	}

	.totalmenu-wrapper .btn-mobile-close > img {
		display: inline-block;
		vertical-align: middle;
		width: 1.308rem;
	}

	.sub-visual {
		max-width: 100%;
		height: auto;
		padding: 0;
		margin: 0;
	}

	.sub-visual > img {
		position: static;
		width: 100%;
		transform: none;f
	}

	.sub-visual > .pc {
		display: none;
	}

	.sub-visual > .mobile {
		display: block;
	}

	.sub-visual > p {
		font-size: 2.083rem;
		line-height: 2.5rem
	}


	.sub-visual .contents-navigation-wrapper {
		display: none;
	}

	.container {
		position: relative;
		padding: 4.583rem 0 0 0 ;
	}

	.contents-navigation-wrapper {
		display: none;
	}

	.container-wrapper {
		position: static;
		padding: 0;
		margin: 0;
	}

	.lnb-wrapper {
		position: fixed;
		top: 8.708rem;
		left: 0;
		display: none;
		float: none;
		margin: 0;
		width: 100%;
		height: calc(100% - 8.077rem);
		overflow-x: hidden;
		overflow-y: auto;
		background: rgba(0, 0, 0, 0.5);
		z-index: 100;
	}

	.lnb-wrapper .lnb-title {
		display: none;
	}

	.lnb-area {
		display: block;
	}

	.lnb-area > h2 {
		display: none;
	}

	.lnb-area > ul > li > a {
		font-size: 1.083rem;
		line-height: 1.5rem;
		font-weight: 400;
		padding: 1rem 4.462rem 0.9167rem 1.538rem;
		background-size: 0.4167rem 0.75rem;
	}

	.lnb-area > ul > li > a.active,
	.lnb-area > ul > li > a.point,
	.lnb-area > ul > li > a:hover {
		background-color: #38465f;
		border-top: 1px solid #38465f;
		border-bottom: 1px solid #38465f;
	}

	.lnb-area > ul > li > a + ul {
		padding: 1.154rem;
		border-left: 0;
		border-right: 0;
	}

	.lnb-area > ul > li > ul > li {
		margin-bottom: 0.7692rem;
	}

	.lnb-area > ul > li > ul > li > a {
		padding-left: 1rem;
		font-size: 1rem;
		line-height: 1.154rem;
	}


	.lnb-area > ul > li > ul > li > a .bg {
		top: 0.3077rem;
		width: 0.3846rem;
		height: 0.3846rem;
		margin-left: 0.1923rem;
	}


	.lnb-area > ul > li > a .arrow {
		right: 1.25rem;
	}

	.lnb-area > ul > li > a.active .arrow {
		background-image: url(../img/icon/icon_arrow_right03_on.png);
	}

	.lnb-area > ul > li > a .arrow.depth2 {
		right: 1.167rem;
	}

	.contents {
		margin: 0;
		min-height: 23.08rem;
		padding: 1.458rem;
		display: block;
	}

	.contents-title {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 4.125rem;
		line-height: 4.125rem;
		margin-bottom: 0;
		text-align: center;
		color: #ffffff;
		font-weight: 700;
		font-size: 1.5rem;
		background: #8f50a4;
		padding: 0 4.462rem;
	}

	.contents-title .arrow {
		position: absolute;
		top: 50%;
		right: 1.538rem;
		display: block;
		width: 1.385rem;
		height: 0.6923rem;
		margin-top: -0.3462rem;
		background: url(../img/icon/icon_arrow_down02.png) no-repeat 0 0;
		background-size: 1.385rem 0.6923rem;
		transition: all 0.2s ease-in-out;
	}

	.contents-title.active {
		position: fixed;
		top: 4.583rem;
		box-shadow: 0px 5px 5px 0px rgba(0,0,0,0.5);
		z-index: 10;
	}

	.contents-title.active .arrow {
		transform: rotate(180deg);
	}

	/* footer */
	.footer {
		position: relative;
		padding: 2.167rem 0;
		z-index: 10;
		background: #fff;
		text-align: center;
	}

	.footer-wrapper {
		max-width: 100%;
		padding: 0 1.458rem;
		margin: 0;
	}

	.footer-wrapper > address,
	.footer-wrapper > .footer-contact {
		font-size: 0.9167rem;
		line-height: 1.333rem;
		font-weight: 500;
		word-break: keep-all;
	}

	.footer-wrapper > .copyright {
		margin-top: 0.3333rem;
		font-size: 0.9167rem;
		line-height: 1.333rem;
		letter-spacing: 0;

	}


	.btn-top-go,
	.btn-mobile-back  {
		display: none;
		top: auto;
		top: initial;
		bottom: 5rem;
		right: auto;
		right: initial;
		width: 2.692rem;
		height: 2.692rem;
		line-height: 2.692rem;
		font-size:  0.7692rem;
	}

	.btn-top-go {
		right: 0;
	}

	.btn-mobile-back {
		left: 0;
		margin-top: 0;
	}

	.btn-top-go:hover,
	.btn-mobile-back:hover {
		opacity: 1;
		background: #000;
	}
}


@media only all and (max-width: 767px) {
	html {
		font-size: 1.25rem; /* 기본베이스 폰트사이즈 18px */
		line-height: 1.25rem; /* 기본베이스 line-height 사이즈 18px */
	}

	.totalmenu-wrapper {
		width: 25rem;
		right: -25rem;
	}
}


@media only all and (max-width: 600px) {
	html {
		font-size: 1rem; /* 기본베이스 폰트사이즈 16px */
		line-height: 1rem; /* 기본베이스 line-height 사이즈 16px */
	}
}

@media only all and (max-width: 475px) {
	html {
		font-size: 0.875rem; /* 기본베이스 폰트사이즈 14px */
		line-height:  0.875rem; /* 기본베이스 line-height 사이즈 14px */
	}
}

@media only all and (max-width: 359px) {
	html {
		font-size: 0.8125rem; /* 기본베이스 폰트사이즈 13px */
		line-height:  0.8125rem; /* 기본베이스 line-height 사이즈 13px */
	}
}
