
@charset "utf-8";

/*
* File       : site-custom.css
* Author     : B-WORKER
*      
 * SUMMARY:
 * 0) ROOT
 * 1) WRAP
 * 2) SITE CUSTOM 
    - 사이트 전반적으로 함께 쓰이는 속성
	- 메인, 서브 함께 쓰이는 속성
*/

/* **************************************** *
 * font set
 * **************************************** */
body{font-size:17rem; color:#444;}
body,input,textarea,button,select{font-family:'Outfit',"Pretendard", '맑은 고딕', '돋움', Dotum, '굴림', Gulim, Sans-serif;}

@media (max-width:860px){
	body{font-size:16rem;}
	/*
	body,
	p,
	li,
	a{font-family:-apple-system, BlinkMacSystemFont, Sans-serif;}
	*/
}

@media (max-width:540px){
	body{letter-spacing: -0.1rem; font-size:15rem;}
	p {line-height: 1.6;}
}

/* **************************************** *
 * global root
 * **************************************** */
 :root {
	--c-01: #AF212D;
	--c-02: #2848a6;

	--b-01: #222;
	--b-02: #eee;
	--b-03: #aaa;

	--g-01: #e9e9e9;

	--f-01: #fff;

	--bg-01: #bcbcbc;
	--bg-02: #666;

	--br-01: #ddd;

	--br-30: 30rem;

	/* 게시판용 root */
	--border-01: #eee;

	--trans-01:all 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
	--trans-02:all 1s cubic-bezier(0.215, 0.61, 0.355, 1);
	--trans-03:all 1s cubic-bezier(0.215, 0.61, 0.355, 1);
	--trans-04:all 0.5s ease;

	--lang-en:'Outfit';
	--lang-ko:"Pretendard";

	--font-70:70rem;
	--font-65:65rem;
	--font-55:55rem;
	--font-50:50rem;
	--font-48:48rem;
	--font-45:45rem;
	--font-43:43rem;
	--font-34:34rem;
	--font-30:30rem;
	--font-22:22rem;
	--font-20:20rem;
	--font-19:19rem;
	--font-17:17rem;
	--font-16:16rem;
	--font-15:15rem;
	--font-14:14rem;
	--en-font-52:52rem;
}

.font-h1{font-size:var(--font-50);}
.font-h2{font-size:var(--font-30);}
.font-h3{font-size:var(--font-20);}
.font-h4{font-size:var(--font-16);}

 /* 컬러 기본 셋 */
 [data-color="c1"]{color:var(--c-01) !important;}
 [data-color="c2"]{color:var(--c-02) !important;}
 [data-color="b1"]{color:var(--b-01) !important;}
 [data-color="b2"]{color:var(--b-02) !important;}

 [data-color="w"],
 [data-color="w"] *{color: var(--f-01);} /* 영역만 글자 흰색 */
 [data-color="b"] *{color: var(--b-01);} 

 [data-bg="1"]{background-color: var(--bg-01) !important;}
 [data-bg="2"]{background-color: var(--bg-02) !important;}
 
 /* boarder 값 기본 셋 */
 [data-border]{border:1px solid;}
 [data-radius]{overflow:hidden;}
 [data-radius="10"]{border-radius:max(0.5208vw, 5rem);}
 [data-radius="20"]{border-radius:max(1.0417vw, 10rem);}

@media all and (max-width:1200px){
	:root {
		
	}
}

@media all and (max-width:1023px){
	:root {
		--font-65:55rem;
		--font-55:50rem;
		--font-48:40rem;
		--font-43:35rem;
		--font-20:18rem;
		--font-19:17rem;
	}
}

@media (max-width:860px){
	:root {
		--lang-ko:-apple-system, BlinkMacSystemFont, Sans-serif;
		--font-65:50rem;
		--font-55:45rem;
		--font-48:35rem;
		--font-43:30rem;
		--font-20:17rem;
		--font-19:16rem;
		--font-17:16rem;
		--font-18:15rem;
	}
}

@media (max-width: 540px){
	:root {
		--font-65:27rem;
		--font-55:22rem;
		--font-48:30rem;
		--font-45:35rem;
		--font-43:27rem;
		--font-34:25rem;
		--font-22:18rem;
		--font-20:14rem;
		--font-19:14rem;
		--font-18:13rem;
		--font-17:12rem;
		--font-16:12rem;
		--font-15:12rem;
		--br-30: 15rem;
	}
}

/* **************************************** *
 * wrapper
 * **************************************** */
 *[class^="wrap"]{position:relative;margin:0 auto;}

 .wrap{max-width:1520rem;}
 .wrap-wide{max-width:1800rem;}
 .wrap-narrow{max-width:1400rem;}
 
 @media all and (max-width:1919px){
	 .wrap-wide{margin: 0 60rem;	 max-width: none;}
 }
 
 @media all and (max-width:1680px){
	 .wrap{margin:0 60rem;max-width:none;}
 }
 
 @media all and (max-width:1500px){
	 .wrap-narrow{margin: 0 60rem;	 max-width: none;} 
 }
 @media all and (max-width:1023px){
	 *[class^="wrap"]{margin:0 40rem;max-width:none;width: auto;}
 }
 
 @media all and (max-width:540px){
	 *[class^="wrap"]{margin:0 20rem;}
 }

 /* **************************************** *
 * swiper set
 * 
 * 사이트 기본 슬라이드 스타일에 맞게 마음껏 수정하면 됩니다.
 * 특정 페이지에서만 다른 스타일 슬라이드를 사용한다면 부모 클레스 상쇄하여 사용 
 * **************************************** */
 .swiper-controls .wrap *{cursor:pointer;}
 .swiper-container img{width:100%;}
 .swiper-controls > div{cursor: pointer;}
 .button-next.swiper-button-disabled,
 .button-prev.swiper-button-disabled{opacity:0.5;}
 
 .swiper-controls{display:flex; justify-content:center; align-items:center;}
 .swiper-controls *[class^="swiper-btn--"]{position:relative;width:30rem;height:30rem;cursor:pointer;display: flex;align-items: center;margin: 0 25rem;font-size: 16rem; font-weight: 600;}
 .swiper-controls *[class^="swiper-btn--"]::after{content:"";display:block;min-width: 30rem;height: 30rem;background:url(/theme/basic/img/common/arrow-basic.svg) no-repeat 50% 50%;background-size: 8rem;}
 .swiper-controls .swiper-btn--prev{flex-direction: row-reverse;}
 
 .swiper-controls .swiper-btn--next::after{/* transform:rotate(-90deg); */}
 .swiper-controls .swiper-btn--prev::after{transform: rotate(180deg);}
 .swiper-controls .swiper-button-disabled{opacity: 0.5;}
 
 .swiper-pagination-bullet{width:10rem; height:10rem; background:#fff; border-radius:100%;}
 .swiper-pagination{display:flex; gap:15rem;}


/* **************************************** *
 * site custom
 * **************************************** */
/* tag common */
p{line-height:1.6; font-weight:300;}

/* button common 
*.btn-basic{display:inline-flex;justify-content:space-between;align-items:center;position:relative;box-sizing:border-box;padding: 23rem 30rem;background:var(--c-01);border:1px solid var(--c-01);font-weight:600;font-size:15rem;color:var(--f-01);min-width:190rem;transition: var(--trans-01);border-radius: 100rem;}
*.btn-basic::after{content:"";display:block;height:11rem;margin-left:20rem;background-position:50% 50%;min-width:11rem;background-image:url(../img/common/arrow-basic_w.svg);background-repeat:no-repeat;}

@media (hover: hover) and (pointer: fine){
	*.btn-basic:hover{background: #422694;color:#fff !important;border-color: #422694;}
}

@media all and (max-width:1023px){
	
}

@media (max-width: 540px){
	*.btn-basic{padding:19rem 20rem;font-size:14rem;min-width:160rem;display: flex;}
}
*/

/* button common */
*.btn-basic {display: inline-flex; justify-content: space-between; align-items: center;
	
	position: relative;
	box-sizing: border-box;
	min-width: 154rem;
	height:55rem;

	color: var(--c-01);
	/*transition: var(--trans-01);*/

	cursor:pointer;
}
*.btn-basic a{overflow: hidden; position:relative; display: inline-flex; justify-content: space-between; align-items: center; width:100%; height:100%; padding: 8rem 22rem; background: var(--c-01); border: 1px solid var(--c-01); box-sizing: border-box; border-radius: 100rem; transition: var(--trans-01);}
*.btn-basic span {
	z-index: 1;
	position: relative;
	font-weight: 600;
	font-size: 15rem;
	color: #fff;
	transition: all 0.3s ease;
}

*.btn-basic a::after {
	z-index: 1;
	content: "";
	display: block;
	width: 25rem;
	height: 25rem;
	background-position: 50% 50%;
	background-color:#fff;
	background-image: url(../img/common/ic-plus-red.svg);
	background-repeat: no-repeat;
	background-size: 13rem auto;
	border-radius: 100%;
	transition: .3s;
}

*.btn-basic a::before {
	opacity: 0;
	visibility: hidden;
	position: absolute;
	right: 8rem;
	top: 8rem;
	content: '';
	width: 40rem;
	height: 40rem;
	border-radius: 100%;
	background-color: var(--color-white);
}

*.btn-basic.white a{
	border-color:rgba(255,255,255,0.1);
	background:rgba(255,255,255,0.1);
}

*.btn-basic.white span {
	color:#fff;
}

*.btn-basic.white a::after {
	background-color:#fff;
	background-image: url(../img/common/ic-plus-green.svg);
}

*.btn-basic.white a::before {
	background-color:var(--c-01);
}

*.btn-basic.line {
	background-color: transparent;
}

*.btn-basic.line span {
	color: var(--c-01);
}

*.btn-basic.line::after {
	background-color: var(--c-01);
	background-image: url(../img/common/ic-barr-wt.svg);
}

*.btn-arrow {
	display: block;
	width: 60rem;
	height: 60rem;
	border-radius: 100%;
	background-color: #ddd;
	background-image: url(../img/layout/arrow-basic_w.svg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 12rem;
	transition: var(--trans-01);
}

@media (hover: hover) and (pointer: fine) {
	*.btn-basic a:hover{background:#fff;}
	*.btn-basic a:hover::before {
		opacity: 1;
		visibility: visible;
		transform: scale(10);
		transition: .6s ease-in-out;
	}
	*.btn-basic a:hover::after{background-color:var(--c-01);
	background-image: url(../img/common/ic-plus-wt.svg);
	background-repeat: no-repeat;
	background-size: 13rem auto;
	transform:rotate(180deg);}
	

	*.btn-basic a:hover span {
		color: var(--c-01);
	}

	*.btn-basic.white a:hover {
		border-color: var(--c-01);
		background: var(--c-01);
	}
	*.btn-basic.white a:hover span {
		color:#fff;
	}

	*.btn-basic.white a:hover::after{background-color:#fff; background-image: url(../img/common/ic-plus-red.svg);
	background-repeat: no-repeat;
	background-size: 13rem auto;}


	*.btn-basic.line a:hover span {
		color: #fff;
	}

	*.btn-basic.line a:hover::before {
		background-color: var(--c-01);
	}

	*.btn-arrow:hover {
		background-color: var(--color-wt);
		background-image: url(../img/layout/arrow-basic_w.svg);
	}
}

@media all and (max-width:1023px) {
	*.btn-arrow {
		width: 55rem;
		height: 55rem;
	}
}

@media all and (max-width:860px) {
	*.btn-basic{min-width:130rem; height:50rem;}
	*.btn-basic a{padding:8rem 13rem;}

	
	*.btn-basic span {
		font-size: 14rem;
	}
}

@media all and (max-width:540px) {
	*.btn-basic{min-width: 100rem; height:35rem;}
	*.btn-basic a{padding: 4rem 6rem 4rem 10rem;}

	*.btn-basic a::after,
	*.btn-basic a::before {
		width: 20rem;
		height: 20rem;
	}

	*.btn-basic span {
		position:relative; top:-0.5px;
		font-size: 11rem;
	}

	*.btn-basic a::after,
	*.btn-basic a:hover::after,
	*.btn-basic.white a:hover::after{
		background-size: 8rem auto;
	}
}