@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;
	}

	.header-area .btn-logout {
		position: absolute;
		display: block;
		top: 1.25rem;
		right: 3.5rem;
	}

	.header-area .btn-logout > img {
		display: block;
		width: 2.083rem;
	}

	.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.667rem;
		line-height: 2.167rem;
		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 */
	.sub-visual-wrapper {
		height: 9rem;
	}


	.sub-visual-wrapper > .pc {
		display: none;
	}

	.sub-visual-wrapper > .mobile {
		display: block;
		min-width: 100%;
	}

	.sub-visual-area {
		display: none;
	}

	.container {
		position: relative;
		/*
		padding: 12.5rem 0 0 0 ;
		*/
		padding: 2.5rem 0 0 0 ;
	}

	.contents-navigation-wrapper {
		display: none;
	}

	.container-wrapper {
		position: static;
		padding: 0;
		margin: 0;
	}

	.lnb-wrapper {
		position: absolute;
		top: -7.542rem;
		left: 1.458rem;
		width: calc(100% - 2.917rem);
		z-index: 10;
		margin-left: 0;
	}

	.lnb-title {
		width: 100%;
		height: 7.542rem;
		padding: 1.833rem 1.458rem 0 1.458rem;
	}

	.lnb-title > h2 {
		position: relative;
		padding-left: 6.25rem;
		padding-top: 0;
		text-align: left;
	}

	.lnb-title > h2 > img {
		position: absolute;
		top: 50%;
		left: 0;
		display: block;
		width: 5.25rem;
		margin: 0;
		transform: translate(0, -50%);
	}

	.lnb-title > h2 > strong {
		display: block;
		font-size: 2rem;
		line-height: 2.417rem;
		letter-spacing: -0.25px;
	}

	.lnb-title > h2 > span {
		font-size: 1.25rem;
		line-height: 1.5rem;
	}

	.lnb-area01 {
		margin-bottom: 0;
		/*
		padding: 1.792rem 1.458rem 1.917rem 1.458rem;
		*/
		padding: 1.792rem 1.458rem 0 1.458rem;
		background-size: 19.58rem 0.08333rem;
		background: none;

	}

	.lnb-area01 > .contract {
		margin-bottom: 0;
	}

	.lnb-area01 > .contract > dt {
		font-size: 1.75rem;
		line-height: 2.208rem;
		margin-bottom: .9167rem;
	}

	.lnb-area01 > .contract > dd > a {
		width: 50%;
		height: 3.833rem;
		color: #fff;
		margin: 0 -0.1667rem;
		padding-top: 1rem;
		font-size: 1.417rem;
		line-height: 2.125rem;
		background-size: cover;
		background-position: 0 0;
		-webkit-box-shadow: 0px 0.4167rem 0.4167rem 0px rgba(0,0,0,0.1);
		-moz-box-shadow: 0px 0.4167rem 0.4167rem 0px rgba(0,0,0,0.1);
		box-shadow: 0px 0.4167rem 0.4167rem 0px rgba(0,0,0,0.1);
	}

	.lnb-area01 > .public-menu {
		display: none;
	}

	.lnb-area02 {
		position: fixed;
		top: 8.708rem;
		left: 0;
		display: none;
		width: 100%;
		height: 100%;
		background: none;
		background-color: rgba(0, 0, 0, 0.6);
		z-index: 20;
	}

	.lnb-area02 > ul {
		background-image: url(../img/bg/bg_lnb01.jpg);
		background-size: cover;
		background-repeat: no-repeat;
		background-position: left bottom;
		background-color: #3c64b1
	}

	.lnb-area02 > ul > li > a {
		position: relative;
		display: block;
		height: 5.083rem;
	}

	.lnb-area02 > ul > li > a > strong {
		font-size: 1.25rem;
		line-height: 1.75rem;
		padding: 0 5.125rem 0 2.5rem;
	}


	.lnb-area02 > ul > li > a > .arrow {
		right: 2.208rem;
		width: 0.5rem;
		height: 0.9583rem;
		background-size: 0.5rem 0.9583rem;
		margin-top: -0.25rem;
	}

	.contents {
		position: relative;
		margin: 0;
		min-height: 23.08rem;
		padding: 6.958rem 1.458rem 4.167rem 1.458rem;
		display: block;
	}

	.contents-title {
		position: absolute;
		top: 1.25rem;
		left: 1.458rem;
		display: block;
		width: calc(100% - 2.917rem);
		height: 4.167rem;
		line-height: 4.167rem;
		margin-bottom: 0;
		text-align: center;
		color: #ffffff;
		font-weight: 700;
		font-size: 1.5rem;
		background: #4362b0;
		padding: 0 2.917rem;
	}

	.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;
		left: 0;
		width: 100%;
		box-shadow: 0px 1px 1px 0px rgba(0,0,0,0.05);
		z-index: 10;
	}

	.contents-title.active .arrow {
		transform: rotate(180deg);
	}

	.contents-title:after {
		display: none;
	}

	/* footer */
	.footer {
		padding: 2.292rem 0;
		z-index: 0;
	}

	.footer-wrapper {
		max-width: 100%;
		padding: 0 1.458rem;
		margin: 0;
	}

	.footer-menu-wrapper {
		margin-bottom: 1.542rem;
	}

	.footer-menu-wrapper > ul > li {
		padding-right: 0.625rem;
		margin-right: 0.5417rem;
		background-size: 0.04167rem 0.8333rem;
	}

	.footer-menu-wrapper > ul > li:last-child {
		margin-right: 0;
		padding-right: 0;
		background: none;
	}

	.footer-menu-wrapper > ul > li > a {
		font-size: 0.9167rem;
		line-height: 1.167rem;
	}

	.footer-information-wrapper {
		display: block;
		margin-bottom: 0;
	}


	.footer-information-wrapper01 {
		float: none;
		width: 100%;
		margin-right: 0;
	}

	.footer-information-wrapper01 .word-slogan,
	.footer-information-wrapper01 address {
		font-size: 0.9167rem;
		line-height: 1.333rem;
	}

	.footer-information-wrapper01 .word-slogan > span {
		display: inline;
	}

	.footer-information-wrapper01 > .sns-list {
		margin-top: 0.4583rem;
	}

	.footer-information-wrapper01 > .sns-list:after {

	}

	.footer-information-wrapper01 > .sns-list > li {
		margin-right: 1.167rem;
	}

	.footer-information-wrapper02 {
		float: none;
		width: 100%;
		margin-right: 0;
		margin-top: 1.167rem;
	}

	.footer-information-wrapper02.type02 {
		width: 100%;
		margin-right: 0;
	}

	.footer-information-wrapper02 > h2 {
		font-size: 1rem;
		line-height: 1.583rem;
		margin-bottom: 0.25rem;
	}

	.footer-information-wrapper02 dl {
		padding-left: 3.792rem;
		font-size: 0.9167rem;
		line-height: 1.333rem;
	}

	.footer-information-wrapper02 .account-box {
		display: block;
	}

	.footer-information-wrapper02 .account-box:after {
		content: "";
		clear: both;
		display: block;
	}

	.footer-information-wrapper02 .account-box > dl {
		float: left;
		width: 50%;
	}

	.footer-wrapper > .copyright {
		padding-top: 1.333rem;
		font-size: 0.9167rem;
		line-height: 1.333rem;
		color: #fff;
	}

	.btn-top-go,
	.btn-mobile-back  {
		display: none;
		top: auto;
		top: initial;

		bottom: 5rem;
		right: 0;
		width: 2.692rem;
		height: 2.692rem;
		line-height: 2.692rem;
		font-size:  0.7692rem;
	}

	.btn-top-go {
		margin-top: auto;
		margin-bottom: -3rem;
	}

	.btn-top-go:hover,
	.btn-mobile-back:hover {
		opacity: 1;
		background: #000;
	}

	.lnb-area01 > .contract > dd a.type01.active {
		position: fixed;
		bottom: 2rem;
		left: 1.458rem;
		display: block;
		width: 5rem;
		height: 5rem;
		padding: 1.25rem;
		border-radius: 50%;
		font-size: 1.083rem;
		line-height: 1.333rem;
		background-size: contain;
	}


	.form .container {
      padding: 0.2083rem 0 0 0;
      background-size: 19.58rem 0.08333rem;
      background-image: url(../img/icon/icon_lnb_top_line01.gif);
      background-repeat: no-repeat;
      background-position: center top;
   }

   .form .lnb-area01 {
      display: none;
   }
}


@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 */
	}

	.container {
		position: relative;
		/*
		padding: 10.96rem 0 0 0 ;
		*/
	}

	.lnb-wrapper {
		top: -5.042rem;
	}

	.lnb-title > h2 {
		padding-left: 5.357rem;
	}

	.lnb-title > h2 > img {
		width: 4.5rem;
	}

	.lnb-title > h2 > strong {
		font-size: 1.714rem;
		line-height: 2.071rem;
		letter-spacing: -1px;
	}

	.lnb-title > h2 > span {
		font-size: 1.071rem;
		line-height: 1.786rem;
	}

	.lnb-area01 {
		/*
		height: 10.83rem;
		*/
		padding: 0;
	}

	.lnb-area01 > .contract {
		margin-bottom: 0;
	}

	.lnb-area01 > .contract > dt {
		font-size: 1.5rem;
		line-height: 1.857rem;
		height: 3.714rem;
		margin-bottom: 0.7857rem;
		word-break: keep-all;
	}

	.lnb-area01 > .contract > dd > a {
		height: 3.286rem;
		margin: 0 -0.2857rem;
		padding-top: 0.8571rem;
		font-size: 1.214rem;
		line-height:1.786rem;
		-webkit-box-shadow: 0px 0.3571rem 0.3571rem 0px rgba(0,0,0,0.1);
		-moz-box-shadow: 0px 0.3571rem 0.3571rem 0px rgba(0,0,0,0.1);
		box-shadow: 0px 0.3571rem 0.3571rem 0px rgba(0,0,0,0.1);
	}


}

@media only all and (max-width: 359px) {
	html {
		font-size: 0.8125rem; /* 기본베이스 폰트사이즈 13px */
		line-height:  0.8125rem; /* 기본베이스 line-height 사이즈 13px */
	}

	.footer-information-wrapper02 .account-box > dl {
		letter-spacing: -1px;
	}

	.lnb-title > h2 > strong {
		font-size: 1.571rem;
	}
}
