@charset "utf-8";
@import url('default.css');
@import url('fonts.css');
@import url('slick.css');
@import url('aos.css');
@import url('swiper.min.css');

/**************************************************************************************************************
	공통
**************************************************************************************************************/
.m0 { margin:0  !important }
.mb0 { margin-bottom:0 !important }
.mb2 { margin-bottom:2px !important }
.mb4 { margin-bottom:4px !important }
.mb5 { margin-bottom:5px !important }
.mb6 { margin-bottom:6px !important }
.mb10 { margin-bottom:10px !important }
.mb15 { margin-bottom:15px !important }
.mb20 { margin-bottom:20px !important }
.mb25 { margin-bottom:25px !important }
.mb30 { margin-bottom:30px !important }
.mb35 { margin-bottom:35px !important }
.mb40 { margin-bottom:40px !important }
.mb45 { margin-bottom:45px !important }
.mb50 { margin-bottom:50px !important }
.mb55 { margin-bottom:55px !important }
.mb60 { margin-bottom:60px !important }
.mb70 { margin-bottom:70px !important }
.mb80 { margin-bottom:80px !important }
.mb90 { margin-bottom:90px !important }
.mb100 { margin-bottom:100px !important }
.mb110 { margin-bottom:110px !important }
.mb130 { margin-bottom:130px !important }
.pd0 { padding:0 !important }
.mbr10 { margin-right:10px }
.pdl50 { padding-left:50px !important }
.pdtop90 { padding-top:90px }
.none-bor { border:0 !important }
.text-center { text-align:center !important }
.text-left { text-align:left !important }
.text-right { text-align:right !important }
.f12 { font-size:12px !important; line-height: 1.4em; }
.f16 { font-size:16px !important; line-height: 1.4em; }
.f17 { font-size:17px !important; line-height: 1.4em; }
.f18 { font-size:18px !important; line-height: 1.4em; }
.f19 { font-size:19px !important; line-height: 1.4em; }
.f20 { font-size:20px !important; line-height: 1.4em; }
.f24 { font-size:24px !important; line-height: 1.4em; }
.f25 { font-size:25px !important; line-height: 1.4em; }
.f29 { font-size:29px !important; line-height: 1.4em; }
.f31 { font-size:31px !important; line-height: 1.4em; }
.f34 { font-size:34px !important; line-height: 1.4em; }

.lh34 { line-height: 34px !important; }
.lh44 { line-height: 44px !important; }
.clear:after { display: block; content: ''; clear: both; }
.fl { float:left; }
.fr { float:right; }

/***********************************************************************************
	Common
************************************************************************************/

html,body,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,address,big,cite,code,del,dfn,em,font,img,ins,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,ul,ol,li,dl,dt,dd,table,caption,tbody,tfoot,thead,tr,th,td,fieldset,fo7m,label,legend,input,button,textarea,select{margin:0;padding:0}
header,footer,section,article,aside,nav,hgroup,details,menu,figure,figcaption{display:block;margin:0;padding:0}
legend{display:block;overflow:hidden;position:absolute;width:1px;height:1px;font-size:1px;line-height:0;text-indent:-999em;white-space:nowrap; }
fieldset,img,table,caption,tbody,tfoot,thead,tr,th,td,button,hr{border:0 none}
img{vertical-align:middle}
body li{*vertical-align:top}
ul li{list-style:none; padding:0; margin:0;}
table{border-collapse:collapse}
caption{visibility:hidden;overflow:hidden;width:0;height:0;font-size:0;line-height:0;}
button{overflow:visible;border:0 none;cursor:pointer}
button::-moz-focus-inner,input[type="button"]::-moz-focus-inner,input[type="submit"]::-moz-focus-inner,input[type="reset"]::-moz-focus-inner {padding: 0;border: 0 none}
a { text-decoration:none; color:var(--color-tone-700);  }
address,
em { font-style:normal }
body,input,select,textarea,button { font-family:var(--font-text); font-size:18px; line-height: 1.6; color:var(--color-tone-700); text-decoration: none; }
h1,h2,h3,h4,h5,h6 { font-family:var(--font-title); line-height: 1.6; color:var(--color-tone-900); text-decoration: none; }
textarea,.inp,select { border:0; outline:none; border-radius:0; resize:none; box-shadow:none; -webkit-appearance:none; appearance:none; font-weight: normal;}
button:focus, a:focus, select:focus {outline: 0;} /*포커스 시 아웃라인 없애기*/
a:hover { text-decoration: none;}
body { -webkit-text-size-adjust: none; background:none; }
form { padding: 0; margin: 0; }
* {box-sizing: border-box; -webkit-box-sizing:border-box;}
/*ul:after { display: block; content: ''; clear: both; }*/
::-ms-clear { display: none;}
select::-ms-expand { display:none; }

:root {
	--color-orange :	#ed821b;
	--color-pink :		#da5682;
	--color-mint :		#55bfc6;
	--color-tone-100 :	#f8f8f8; 
	--color-tone-200 :	#e9e9e9;
	--color-tone-300 :	#dedede;
	--color-tone-400 :	#cecece; 
	--color-tone-500 :	#adadad; 
	--color-tone-600 :	#6c6c6c;
	--color-tone-700 :	#494949;
	--color-tone-800 :	#343434;
	--color-tone-900 :	#212121;
	--back-gradient :	linear-gradient(-120deg, #55bfc6 0%, #55bfc6 10%, #da5682 60%, #da5682 70%, #ed821b 90%, #ed821b 100%);

	--font-title :	'Montserrat', 'Spoqa Han Sans Neo', 'SUIT', 'Pretendard', 'Noto Sans KR', sans-serif;
	--font-text :	'Roboto', 'Pretendard', 'Noto Sans KR', 'AppleGothic', '맑은 고딕', 'Malgun Gothic', 돋움, Dotum, sans-serif;
	--font-icon : 'Font Awesome 6 free', 'xeicon', 'Spoqa Han Sans Neo', 'Noto Sans KR', sans-serif;

	--transition-slow : all .3s ease-in-out;
	--transition-fast : all .1s ease-in-out;
}

/* Form */
.select { height: 39px; border: 1px solid var(--color-tone-300); padding:0 30px 0 10px; font-size:17px; background: #fff url(../img/common/bu_select.png) no-repeat 90% 50%;}

/* Button */
/*
.btn { display: inline-block; vertical-align: middle; padding:0 50px; height: 50px; line-height: 48px; text-align: center; border: 1px solid var(--color-tone-900); font-size:20px; color: var(--color-tone-900); border-radius:3px; }
.btn.btn-blue { background: var(--color-orange); color: #fff; border: 1px solid transparent; }
*/
.select { vertical-align:middle; padding:0 35px 0 15px; height:48px; background:#f8f8f8 url(../img/common/bu_select.png) no-repeat 100% 50%; border:1px solid var(--color-tone-300); font-size:17px; color:#444; }
.inp { vertical-align:middle; padding:0 0 0 15px; height:48px; background:#f8f8f8; border:1px solid var(--color-tone-300); font-size:17px; color:#444; }
#wr_content { padding:15px 10px; height:300px; background:#f8f8f8; border:1px solid var(--color-tone-300); font-size:17px; line-height:1.6; color:#444; border-radius:0;box-shadow:none; }
.w100 { width:100%; }
.btn-type0 { display:inline-block; vertical-align:middle; border:0; width:211px; height:60px; line-height:59px; background:var(--color-tone-700);  font-size:20px; color:#fff; }
.btn-type2 { display:inline-block; vertical-align:middle; border:0; width:211px; height:60px; line-height:59px; background:var(--color-tone-500); font-size:20px; color:#fff; }
.btn-type1 { display:inline-block; vertical-align:middle; border:0; padding:0 40px; height:48px; line-height:48px; background:var(--color-tone-700);  font-size:17px; color:#fff; }

::-webkit-input-placeholder { color: var(--color-tone-500);}
:-moz-placeholder { color: var(--color-tone-500);}
:-ms-input-placeholder {  color: var(--color-tone-500);}
:-moz-placeholder {  color: var(--color-tone-500);}

a,a:active,a:visited { text-decoration:none !important; }
p,div { word-break:keep-all; }
img { max-width:100%; }
strong { font-weight: 600;}
b { font-weight: 700;}

.inner { max-width:1230px; margin: 0 auto; padding:0 15px; }
.hidden { overflow: hidden; }  /* AOS 스크롤 이슈 제거 */

@media all and (max-width:1000px) {
	body,input,select,textarea,button { font-size:16px; }
}
@media all and (max-width:770px) {
	body,input,select,textarea,button { font-size:14px; }
}

/* flex_box */
.flex_wrap { display:flex; flex-wrap:wrap; gap:20px 20px; padding:0; }
.flex_wrap > .flex_box.full { width:100% !important; }
.flex_wrap.col2 > .flex_box { width: calc( (100% - 20px) / 2); }
.flex_wrap.col3 > .flex_box { width: calc( (100% - 40px) / 3); }
.flex_wrap.col4 > .flex_box { width: calc( (100% - 60px) / 4); }
.flex_wrap.col5 > .flex_box { width: calc( (100% - 80px) / 5); }
.flex_wrap.col6 > .flex_box { width: calc( (100% - 40px) / 3); }
.sub_wrap { display:flex; flex-wrap:wrap; gap:30px 20px; padding:0; }
.sub_wrap.col2 > .sub_box { width: calc( (100% - 20px) / 2); }
.sub_wrap.col3 > .sub_box { width: calc( (100% - 40px) / 3); }
@media all and (max-width:770px) {
	.sub_wrap.col2,
	.sub_wrap.col3 { flex-direction:column; }
	.sub_wrap.col2 > .sub_box,
	.sub_wrap.col3 > .sub_box { width:100%; }
	.flex_wrap.col2 > .flex_box,
	.flex_wrap.col3 > .flex_box,
	.flex_wrap.col4 > .flex_box,
	.flex_wrap.col5 > .flex_box,
	.flex_wrap.col6 > .flex_box { width: calc( (100% - 20px) / 2); }
	.gall_row .col-gn-4 { width:50%; }
	.gall_row .col-gn-3 { width:50% }
}
@media all and (max-width:540px) {
	.flex_wrap.col2,
	.flex_wrap.col3 { flex-direction:column; }
	.flex_wrap.col2 > .flex_box,
	.flex_wrap.col3 > .flex_box { width:100%; }
}

/*********************************************************************************************************************************************************************
	Common
*********************************************************************************************************************************************************************/

#s-header1 { height: 90px; border-bottom: 1px solid var(--color-tone-300); position: relative; z-index:20; }
#s-header1 .inner { position: relative;}
#s-header1 h1 { position: absolute; left: 10px; top:0; height: 90px;  }
#s-header1 h1 span {height: 90px; display: table; width:100%; height: 100%;}
#s-header1 h1 span a{ display: table-cell; vertical-align: middle; }
#s-header1 h1 span a img { vertical-align: top; }
#s-header1 .btn-all { display:none; position: absolute; right:0; top:0; font-size:0; width:40px; height:45px; padding-top:6px; margin-top:5px;text-align: right;}
#s-header1 .btn-all span { display:block; height:2px; background: #444; width:28px; }
#s-header1 .btn-all span:nth-child(2) { width:23px; margin:7px 0 7px 5px; }
#s-header1 .etc { position: absolute; right:0; top:26px; }
#s-header1 .etc a { display:inline-block; padding: 1px 10px 2px; margin:0 2px; border:1px solid var(--color-tone-500); border-radius:13px; font-family:var(--font-text); font-size:13px; letter-spacing:-0.01em; }
#s-header1 .lang { position: absolute; right:15px; top:30px; border-radius:30px; border: 1px solid var(--color-tone-300); padding:0 7px; transition: var(--transition-slow); }
#s-header1 .lang a { float:left; padding:0 7px; font-size:12px; color: var(--color-tone-500); line-height: 30px; position: relative; transition: var(--transition-slow); }
#s-header1 .lang a + a:before { content: ''; position: absolute;left: 0; top:9px; bottom:7px; width:1px; background: var(--color-tone-300); }
#s-header1 .lang a.active { font-weight:600; }
#s-header1 .lang:hover { border-color:var(--color-tone-500); }
#s-header1 .lang:hover a { color: var(--color-tone-700); }
#s-header1 .bg-menu { position: absolute; left: 0; right:0; top:90px; height:190px; display:none; background: rgba(0,0,0,0.75);
	-webkit-backdrop-filter: blur(5px); backdrop-filter: blur(5px); }

#s-gnb1{  margin:0 170px 0 190px; } 
#s-gnb1 > ul { display:flex; justify-content:center; }
#s-gnb1 > ul > li { position: relative; padding:0 30px; }
#s-gnb1 .btn-dep1 { display: block; height:90px; line-height: 90px; font-family:var(--font-title); font-weight:500; font-size:18px; color:var(--color-tone-800); padding: 0 7px; position: relative;}
#s-gnb1 .btn-dep1:before { content:''; position: absolute; left: 0; right:0; bottom:0; height:0; background: var(--color-orange); opacity:0; transition: var(--transition-slow); -webkit-transition: var(--transition-slow); }
#s-gnb1 > ul > li:hover .btn-dep1:before {  height:5px; opacity:1; }
#s-gnb1 .dep2 { display: none; position: absolute; left: 0; right:0; top:90px; height: 100px; padding-top:15px; z-index:10; padding-left: 37px; }
#s-gnb1 .btn-dep2 { display: block; font-size:15px; line-height: 26px; color: #fff; font-family:var(--font-text); white-space: nowrap; transition:var(--transition-slow); -webkit-transition:var(--transition-slow);}
#s-gnb1 .btn-dep2:hover { color: var(--color-mint); }

.main-visual1  { position: relative; overflow:hidden;}
.main-visual1 .visual { height: 800px; padding-top: 260px; text-align: center; background-repeat: no-repeat; background-size:cover; background-position: 50% 0; font-family:var(--font-title); }
.main-visual1 .visual .title { font-size:3.5em; color:#ffffff; font-family:var(--font-title); font-weight: 600; line-height: 1.2; margin-bottom: 30px; letter-spacing:-0.025em; }
.main-visual1 .visual .desc { font-size:20px; color:#ffffff; line-height: 1.5; font-family:var(--font-text); font-weight:500; }
.main-visual1 .visual .btns { text-align:center; }
.main-visual1 .visual .btns a { display:inline-block; margin-top:30px; padding:8px 30px; font-size: 18px; background-color:transparent; border:2px solid #fff; color:#fff; transition:var(--transition-slow); -webkit-transition:var(--transition-slow); }
.main-visual1 .visual .btns a:hover { background:var(--color-mint); border:2px solid transparent; color:#fff; }
.main-visual1 .slick-prev { position: absolute; left: 10%; top:50%; width:60px; height: 60px; border-left: 2px solid #fff; border-bottom: 2px solid #fff; z-index:10; background: transparent; font-size:0; transform: rotate(45deg); margin-top:-60px; outline:none;}
.main-visual1 .slick-next { position: absolute; right: 10%; top:50%; width:60px; height: 60px; border-left: 2px solid #fff; border-bottom: 2px solid #fff; z-index:10; background: transparent; font-size:0; transform: rotate(-135deg); margin-top:-60px;outline:none;}
.main-visual1 .slick-dots { position: absolute;left: 0; right:0; bottom:50px; text-align: center; font-size:0;  }
.main-visual1 .slick-dots li  {display: inline-block; vertical-align: middle; margin:0 3px; }
.main-visual1 .slick-dots li button { width:14px; height: 14px; border-radius:7px; background: #fff; text-indent: -9999px; text-align: left; transition: var(--transition-slow); }
.main-visual1 .slick-dots li.slick-active button { width:40px; background: var(--color-mint); }

.main-btns { padding: 45px 15px; overflow: hidden; background:var(--color-tone-100); }
.main-btns ul { display: flex; }
.main-btns ul li { width:25%; }
.main-btns a { width:100%; display: flex; align-content: stretch; align-items: stretch; }
.main-btns a .ico { width:80px; height: 80px; margin-right: 15px; overflow:hidden; }
.main-btns a .text { width:calc(100% - 120px); }
.main-btns a .text .title { font-size:17px; color: var(--color-tone-900); font-family:var(--font-title); font-weight: 600; }
.main-btns a .text .desc { font-size:15px; color: var(--color-tone-600); }

/*
.main-about { padding:80px 0;}
.main-about .inner { display: flex; align-content: space-between; align-items: center; }
.main-about .info { flex:1 1 auto; }
.main-about .info .t1 { font-family:var(--font-title); font-size:18px; color: var(--color-orange); font-weight:bold; margin-bottom: 15px; }
.main-about .info .t2 { font-family:var(--font-title); font-size:48px; color: var(--color-tone-900); margin-bottom: 15px; line-height: 1.2; letter-spacing:-0.04em;}
.main-about .info .t3 { font-size:17px; color: var(--color-tone-600); margin-bottom:35px; line-height: 1.4; }
.main-about .info .btn-more { display: inline-block; padding: 8px 20px 10px; border: 1px solid var(--color-tone-900); background: none; font-size:17px; color: var(--color-tone-900); transition: var(--transition-slow); }
.main-about .info .btn-more em { display: inline-block; vertical-align: middle; width:15px; height: 15px; position: relative; margin-left: 30px;}
.main-about .info .btn-more em:before { content: ''; position: absolute;left: 0; right:0; top:50%; height: 1px; background: var(--color-tone-900); transition: var(--transition-slow); }
.main-about .info .btn-more em:after { content: ''; position: absolute;left: calc(50% - 1px); top:0; bottom:0;width: 1px; background: var(--color-tone-900); transition: var(--transition-slow); }
.main-about .info .btn-more:hover { border:1px solid transparent; background:var(--color-orange); color:#fff; }
.main-about .info .btn-more:hover em:before, .main-about .info .btn-more:hover em:after { background: #fff; }
.main-about .img-box { position: relative; }
.main-about .img-box .img { margin:0 auto; }
.main-about .img-box .logo { position: absolute;left:0;  bottom:80px; transform: translateX(-50%); }
*/

.main-about { padding:80px 0;}
.main-about .inner { display: flex; align-items: center; }
.main-about .info { flex:1 1 50%; }
.main-about .info hgroup { text-align:left; margin-bottom:30px; }
.main-about .info hgroup .title { font-family:var(--font-title); font-size:18px; color: var(--color-pink); margin-bottom:5px; }
.main-about .info hgroup .desc { font-family:var(--font-title); font-size:3em; color: var(--color-tone-900); line-height:1.2; letter-spacing:-0.04em; margin-bottom: 15px; }
.main-about .info .btn-more { margin-top:30px; display: inline-block; padding: 8px 20px 10px; border: 1px solid var(--color-tone-700); background:#fff;
	font-family:var(--font-title); font-size:18px; font-weight:500; color: var(--color-tone-700); transition: var(--transition-slow); }
.main-about .info .btn-more i { display: inline-block; vertical-align: middle; position: relative; margin-left: 30px; }
.main-about .info .btn-more:hover { border-color:var(--color-pink); background-color:var(--color-pink); color:#fff; }
.main-about .img-box { flex:1 1 50%; position: relative; }
.main-about .img-box .logo { position: absolute; left:0; top:85px; transform: translateX(-50%); background:var(--color-tone-900);}
@media all and (max-width: 1000px) {
	.main-about .inner { display:block; }
	.main-about .info hgroup { text-align:center; }
	.main-about .info hgroup .desc { font-size:32px; }
	.main-about .info .txt { font-size:14px; }
	.main-about .img-box { margin-top:30px; }
	.main-about .img-box .logo { display:none; }
}

.main-sec hgroup { margin-bottom: 40px; }
.main-sec .h2 { position: relative; padding-bottom: 20px; text-align: center; color: var(--color-tone-900); }
.main-sec .h2:before { content: ''; position: absolute; left:50%; bottom:0; width:30px; margin-left: -15px; height: 2px; background: var(--color-mint); }
.main-sec .h2 small { font-size:18px; color:var(--color-mint); }
.main-sec .h2 strong { font-size:32px; display: block; line-height: 1; padding-top:5px; font-family:var(--font-title); letter-spacing:-0.01em; }
.main-sec .h2 + .desc { font-size:18px; margin-top:20px; text-align: center; }

.main-product { text-align: center; background-position:center center; background-repeat:no-repeat; background-size:cover; padding:70px 0; }
.main-product .h2 { color: #fff; }
.main-product .h2:before { background: var(--color-mint); }
.main-product .h2 small { color:var(--color-mint); }
.main-product .desc { color:var(--color-tone-200); }
.main-product .slider-box { overflow: hidden;}
.main-product .slider-box .article { width:720px; height: 480px; position: relative; margin:0 15px; }
.main-product .slider-box .article a { display: block; width:100%; height:100%; }
.main-product .slider-box .article img { width:100%; }
.main-product .slider-box .article .text { width:100%; height:100%; opacity:0; position: absolute; left: 0; top:0; background:#55bfc6E6; z-index:2; display: flex; align-items: center; justify-content:center; color: #fff; transition: var(--transition-slow); }
.main-product .slider-box .article .text strong { display: block; font-size:24px; color: #fff; font-weight: 400; margin-bottom: 10px; font-family:var(--font-title); }
.main-product .slider-box .article .text p {font-size:16px; padding:0 20px; }
.main-product .slider-box .article a:hover .text { opacity:1; }
.main-product .slider-box .slick-dots { text-align: center; font-size:0; padding-top:25px; }
.main-product .slider-box .slick-dots li  {display: inline-block; vertical-align: middle; margin:0 3px; }
.main-product .slider-box .slick-dots li button { width:14px; height: 14px; border-radius:7px; background: #fff; text-indent: -9999px; text-align: left; transition: var(--transition-slow); }
.main-product .slider-box .slick-dots li.slick-active button { width:40px; background: var(--color-mint); }
.main-product .slider-box .slick-prev { position: absolute; left: 5%; top:50%; width:60px; height: 60px; border-left: 2px solid #fff; border-bottom: 2px solid #fff; z-index:10; background: none; font-size:0; transform: rotate(45deg); margin-top:-60px; outline:none;}
.main-product .slider-box .slick-next { position: absolute; right: 5%; top:50%; width:60px; height: 60px; border-left: 2px solid #fff; border-bottom: 2px solid #fff; z-index:10; background: none; font-size:0; transform: rotate(-135deg); margin-top:-60px;outline:none;}

.main-news { padding:70px 0;  }
.main-news .h2:before { background: var(--color-pink); }
.main-news .h2 small { color:var(--color-pink); }
.main-news ul { margin:0 -10px; display:grid; grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap:40px; }
.main-news ul li { padding:0 10px; }
.main-news ul li a { display: block; }
.main-news ul li a .img { overflow: hidden; }
.main-news ul li a h3 { font-size:22px; font-family:var(--font-title); margin:20px 0 12px; font-weight: 600; letter-spacing:-0.01em; /* white-space: nowrap; overflow: hidden; text-overflow: ellipsis; */ }
.main-news ul li a .text { font-size:15px; color: var(--color-tone-600); line-height: 1.5; }

.main-banner { background-size:cover; text-align: center; position:relative; width:100%; overflow:hidden; border-top:1px solid var(--color-tone-300); border-bottom:1px solid var(--color-tone-300); }
.main-banner .banner-tit { display:inline-block; position:absolute; z-index:10; width:200px; height:200px; bottom:0; left:50%; margin-left:-600px; }

.main-favorite { padding:70px 0; background:var(--color-tone-100); }
.main-favorite .h2:before { background: var(--color-orange); }
.main-favorite .h2 small { color:var(--color-orange); }
.main-favorite ul { display: flex; align-content: space-between; margin:0 -10px; }
.main-favorite ul li { margin:10px; border: 1px solid var(--color-tone-300); background:#fff; width:33.3333%; position: relative;  }
.main-favorite ul li a { display: block; padding: 35px 35px 65px; position: relative;} 
/*.main-favorite ul li:before { content: ''; position: absolute; right:15px; bottom:15px; width:40px; height: 40px; border-radius:100%; background: var(--color-orange) url(../img/main/btn_visual_slider_next.png) no-repeat  50% 50%;  transition: var(--transition-slow); }*/
.main-favorite ul li:before { content: ''; position: absolute; right:15px; bottom:15px; width:40px; height: 40px; border-radius:100%; background: var(--color-tone-200) url(../img/main/btn_visual_slider_next.png) no-repeat  50% 50%;  transition: var(--transition-slow); }
.main-favorite ul li a strong { display: block; font-size:20px; font-family:var(--font-title); font-weight: 600; padding:20px 0 10px; }
.main-favorite ul li a .text { font-size:15px; line-height: 1.5; color: var(--color-tone-600); }
.main-favorite ul li:hover:before{ transform: translateY(-15px); background-color:var(--color-orange); }

#s-footer { padding:30px 0; background: #ededed; }
#s-footer .lnb { margin-bottom: 10px; }
#s-footer .lnb a { margin-right:10px; font-size:14px; color: var(--color-tone-900); }
#s-footer .addr { font-size:14px; color: #999; line-height: 1.4; }




.all-menu { display: none; z-index:200;  position:fixed; top:0; bottom:0; background:var(--color-tone-900); width:300px; right:-300px; transition: var(--transition-slow); -webkit-transition: var(--transition-slow); background-image:url(../img/common/bg_menu_all_mobile.jpg); }	
.all-menu .btn-close { position:absolute; right:15px; top:15px ;  width:27px; height: 27px; background: url(../img/common/btn_all_close.png) no-repeat 50% 50%;  background-size:27px auto; transition: var(--transition-slow); -webkit-transition: var(--transition-slow); transition-delay: 0.3s; -webkit-transition-delay: 0.3s; border: 0; }
body.mobile .all-menu .head .btn-close { transform: rotate(180deg)}
.all-menu .body { position: absolute; left: 0; right:0; top:45px; bottom:0; overflow: auto; padding-top:10px; }
.all-menu .body .lang { position: static; display: flex; border-radius:30px; border: 1px solid rgba(255,255,255,0.5); padding:0 15px; margin: 0 15px 5px; transition: var(--transition-slow); }
.all-menu .body .lang a { flex: 1; padding: 2px 10px 0; font-size: 14px; color: #fff; line-height: 36px; text-align: center; position: relative; }
.all-menu .body .lang a + a:before { content: ''; position: absolute; left: 0; top: 7px; bottom: 7px; width: 1px; background: rgba(255,255,255,0.5); }
.all-menu .body .lang a.active { font-weight: 600; }
.all-menu .body .lang:hover { border-color:#fff; }
.all-menu .body .menu { position: static; transform: translateY(0); -webkit-transform: translateY(0)}
.all-menu .body .menu > ul { display: block; }
.all-menu .body .menu > ul > li { display: block; width:auto; }
.all-menu .body .menu .btn-dep1:before {  }
.all-menu .body .menu .dep2 .btn-dep2 { display:block; font-size:16px; line-height:2.2; color:#fff; transition:var(--transition-slow); -webkit-transition:var(--transition-slow);  white-space:nowrap; }
.all-menu .body .menu .dep2 .btn-dep2:hover { color:var(--color-mint); }
.all-menu .body .menu .dep2 { display: none;  padding:0 15px; background:rgba(255,255,255,0.1); }
.all-menu .body .menu .btn-dep1 { display:block; font-size:20px; color:#fff; margin-bottom: 0; padding:15px 15px; position:relative; }
.all-menu .body .menu .btn-dep1:before { content:''; position:absolute; left:15px;  height:1px; background:#fff; width:40px; bottom:10px; }
.all-menu .body .menu .dep2 .btn-dep2 { font-size:14px; }
.all-menu .body .etc { width:100%; position: absolute; bottom:15px; text-align:center; }
.all-menu .body .etc a { display:inline-block; padding: 1px 10px 2px; margin:0 2px; border:1px solid var(--color-tone-500); border-radius:13px; font-family:var(--font-text); font-size:13px; color:#fff; letter-spacing:-0.01em; }


body.mobile .all-menu { right:0; opacity:1;}
body.mobile:before { content: ''; position: fixed; left: 0; right:0; top:0; bottom:0; background: rgba(0,0,0,0.75); z-index:100;}
body.mobile .all-menu .btn-close { transform: rotate(180deg)}

.location { }
.location span { display: inline-block; vertical-align: middle; line-height: 50px; font-size:16px; color: var(--color-tone-600); padding-left: 20px; margin-left: 16px; background: url(../data/hih_images/last/ico_location_o.png) no-repeat 0 50%; }
.location span:last-child { color: var(--color-tone-900); font-weight: 500; }

.sub-visual { margin-bottom: 60px; /*background-repeat: no-repeat, no-repeat; background-position:95% 50%, center center; background-size:contain, cover;*/ }
.sub-visual .inner { height: 320px; position: relative; }
.sub-visual .h2 { position: absolute; left: 0; bottom:0; width:250px; height: 250px; background:var(--color-tone-900); text-align: center; display: flex; align-items: center; color: #fff;  }
.sub-visual .h2 p { flex: 1; }
.sub-visual .h2 strong { display: block; font-size:32px; font-family:var(--font-title); }
.sub-visual .h2 span { font-size:17px; opacity:0.5;}

.sub-cont h3.tit { font-size:3em; font-weight:700; letter-spacing:-0.025em; line-height: 1.3; margin-bottom:60px; text-align: center; position: relative; padding-bottom: 15px; }
.sub-cont h3.tit:before { content: ''; position: absolute; left:50%; bottom:0; width:30px; margin-left: -15px; height: 2px; background: var(--color-orange); }
.sub-cont h3.tit small { font-size:22px; font-weight:600; color: var(--color-orange); letter-spacing:0em; }
.sub-cont h4.tit { font-size:2em; font-weight:600; letter-spacing:-0.01em; line-height: 1.4; margin-bottom:40px; position: relative; padding-left:0.5em; }
.sub-cont h4.tit.num { padding-left:0; }
.sub-cont h4.tit:before { content: ''; position: absolute; left: 0; top:50%; transform:translateY(-50%); width: 0.2em; height:0.2em; background: var(--color-orange); }
.sub-cont h4.tit.num:before { content: attr(data-label); /* Label the data */ position: static; transform:translateY(0); display:block; width:auto; height:auto; background:transparent;
	font-size:22px; font-weight: 600; color: var(--color-orange); letter-spacing:0em; }
.sub-cont h5.tit { font-size:1.5em; font-weight:500; letter-spacing:-0.01em; line-height: 1.4; margin-bottom:20px; }
.sub-cont .img + h5.tit { margin:15px 0 10px; }
.sub-cont .img.border { border:1px solid var(--color-tone-300); }
.sub-cont .img.circle { aspect-ratio: 1 / 1 ; border-radius:50%; border:5px solid var(--color-tone-300); overflow:hidden; }
.sub-cont .img.circle img { min-width: 100%; min-height:100%; object-fit: cover; }
.sub-cont .img.circle.border { border-width:5px; }
.sub-cont hr.line { display:block; border-top:1px solid var(--color-tone-300); margin:60px 0; }
.sub-cont .mb { margin-bottom:60px; }
@media all and (max-width:1000px) {
	.sub-cont h3.tit { font-size:32px; margin-bottom:30px; padding-bottom: 10px; }
	.sub-cont h3.tit small,
	.sub-cont h4.tit.num:before { font-size:18px; }
	.sub-cont h4.tit { font-size:24px; margin-bottom:20px; }	
	.sub-cont h5.tit { font-size:20px; margin-bottom:10px; }
	.sub-cont .img + h5.tit { margin:10px 0 5px; }
	.sub-cont .txt { font-size:14px; }
	.sub-cont hr.line { margin:30px 0; }
	.sub-cont .mb { margin-bottom:30px; }
}

/*.ceo .message { background: #3997d2 url(../img/sub/bg_ceo.jpg) no-repeat 0 0; margin-bottom: 70px; }*/
.message .photo { overflow: hidden; text-align: center; }
.message .photo img { width: 100%; max-width:none; height: 100%; object-fit: cover; }
.message .text .tit { font-size:64px; color: var(--color-tone-900); line-height: 1.1; letter-spacing:-0.04em; font-weight:normal; margin-bottom: 20px; }
.message .text .txt1 { font-size:32px; margin-bottom: 20px; }
.message .text .txt2 { margin-bottom: 20px; }
.message .text .txt3 { font-size:24px; }
.message .text .txt3 img { margin-left: 30px; }
@media all and (max-width:1000px) {
	.message .sub_wrap { margin-bottom:20px; }
	.message .text .tit { font-size:28px; }
	.message .text .txt1 { font-size:20px; margin-bottom: 10px; }
	.message .text .txt2 { font-size:14px; margin-bottom: 10px; }
	.message .text .txt3 { font-size:18px; }
}
@media all and (max-width:770px) {
	.message .sub_wrap { flex-direction: column-reverse; }
	.message .photo { width:100%; }
}

/* step-box */
.step-box { text-align:center; display: flex; align-items: center; justify-content:center; margin:0 -10px; }
.step-box .article { margin:0 10px; position: relative; }
.step-box.col3 .article { width:calc(33.3333% - 20px); }
.step-box.col4 .article { width:calc(25% - 20px); }
.step-box.col5 .article { width:calc(20% - 20px); }
.step-box .article + .article:before { content: '\e90b'; font-family:xeicon; position: absolute; left: 0; top:50%;
	width:48px; height: 48px; margin: -24px 0 0 -34px; background:#fff; border-radius:50%; line-height:48px; font-size:1.5rem; font-weight:100; }
.step-box .article > div { flex: 1; display: flex; flex-direction:column; align-items: center; justify-content:center;
	width:100%; aspect-ratio:1 / 1; border-radius:100%; background:var(--color-tone-500); }
.step-box .article strong { display: block; font-family:var(--font-title); font-size:2em; font-weight: 700; color: #fff; font-style: italic; line-height: 1; margin-bottom:5px; }
.step-box .article .img { margin:10px 0; }
.step-box .article .tit { color: #fff; font-weight:600; }
.step-box .article .txt { color:#fff; font-weight:500; }
.step-box .article:nth-child(1) > div,
.step-box .article:nth-child(4) > div { background: var(--color-orange); }
.step-box .article:nth-child(2) > div,
.step-box .article:nth-child(5) > div { background: var(--color-pink); }
.step-box .article:nth-child(3) > div,
.step-box .article:nth-child(6) > div { background: var(--color-mint); }
@media only screen and (max-width: 1200px) {
	.step-box { margin:0 -5px; }
	.step-box .article { margin:0 5px; }
	.step-box.col4 .article { width:calc(25% - 10px); }
	.step-box.col5 .article { width:calc(20% - 10px); }
	.step-box .article + .article:before { width:36px; height: 36px; line-height:36px; font-size:1.25rem; margin: -18px 0 0 -22.5px; }
	.step-box .article .img { margin:5px 0; }
}
@media only screen and (max-width: 770px) {
	.step-box { margin:-5px 0; flex-direction: column; align-items: center; }
	.step-box .article { margin:5px 0; width:100% !important; max-width:400px; }
	.step-box .article + .article:before { content: '\e90a'; left:calc(50% + 5px); top:-5px; margin:-22.5 0 0 -18px; }
}

.list_ul li { position:relative; text-align:left; word-break:keep-all; margin-left:1em; }
.list_ul li:before { content:''; position:absolute; left:-1em; top:0.75em; width:0.4em; height:1px; background:var(--color-tone-700); }
.list_ul li em { color: var(--color-pink); font-style: normal; }
.list_ul.check li { margin-left:1em; }
.list_ul.check li:before { content:'\2714'; color:var(--color-tone-700); top:0; left:-1em; width:1em; height:1em; background:none; }
@media all and (max-width:1000px) {
	.list_ul li { font-size:14px; }
}

.bg_box { background-color:var(--color-tone-100); padding:40px; }
.bg_box hr.line { margin:40px 0; }
.list_box > li { display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center;
	padding:40px; border:1px solid var(--color-tone-300); }
.sub-cont h5.tit { margin-bottom:10px; }
.list_team > li { aspect-ratio:2 / 3; }
.list_team > li .tit { color:#fff; }
.list_process { text-align:center; justify-content:center; }
.list_process > li { position:relative; padding:40px; background:var(--color-tone-100); border:1px solid var(--color-tone-200); }
.list_process .img.circle { max-width:400px; margin:0 auto; } 
.list_process > li + li:before { content: '\e90b'; font-family:xeicon; position: absolute; left: 0; /*top:calc(50% - 4rem);*/ top:50%;
	width:48px; height: 48px; margin: -24px 0 0 -34px; background:#fff; border-radius:50%; line-height:48px; font-size:1.5rem; font-weight:100; }
.list_as > li:nth-child(1) { background-color:#320b18; }
.list_as > li:nth-child(2) { background-color:#0e292a; }
.list_as > li { color:#fff; font-weight:500; }
.list_as > li .tit { color:#fff; }
.list_biz.step-box .article + .article:before { content:'\e913' !important; }
@media all and (max-width:1000px) {
	.list_process > li + li:before { width:36px; height: 36px; line-height:36px; font-size:1.25rem; /*top:calc(50% - 2.5rem);*/ margin: -18px 0 0 -28px; }	
}
@media all and (max-width:770px) {
	.bg_box { padding:20px; }
	.bg_box hr.line { margin:20px 0; }
	.list_process > li { padding:20px; }
	.list_box > li { padding:20px; }
	.list_team > li { aspect-ratio:1 / 1; }
}
@media only screen and (max-width: 540px) {
	.list_process { flex-direction: column; }
	.list_process > li { width:100% !important; }
	.list_process > li + li:before { content: '\e90a'; left:calc(50% - 18px); /*top:-5px;*/ top:-15px; margin:-12px 0 0 0; }
}

.prd_wrap {}
.prd_wrap .prd_head {}
.prd_wrap .prd_body {}
.prd_wrap .prd_foot {}

.t2 ul>li { line-height:1.5; text-align:left; margin-bottom:8px; padding-left: 0.8em; }
.t2 ul>li:before { content:'＊'; margin-left: -1em; padding-right: 0.2em; }
.t2 ol>li { line-height:1.5; text-align:left; margin-bottom:16px; margin-left: 1em; }
.t2 ul>li>strong { display:inline-block; color:var(--color-tone-900); font-weight: 500; border-bottom:1px dashed var(--color-orange); }
.t2 ol>li>strong { display:inline-block; color:var(--color-tone-900); font-weight: 500; border-bottom:1px dashed var(--color-orange); margin-bottom:8px; }
.t2 ul>li>p, .t2 ol>li>p { line-height: 1.4; text-align:left; }
.t2 ul.cs li:nth-child(1), .t2 ul.cs li:nth-child(3), .t2 ul.cs li:nth-child(4),
.t2 ul.cs li:nth-child(5), .t2 ul.cs li:nth-child(6) { float:left; margin-right: 1.5rem; }
.t2 ul.cs li:nth-child(1):after, .t2 ul.cs li:nth-child(3):after, .t2 ul.cs li:nth-child(4):after,
.t2 ul.cs li:nth-child(5):after { content:"|"; margin-left:1.5rem; }

.table1 table,
.table2 table { width:100%; border-collapse: collapse; color:var(--color-tone-600);  border-top:2px solid var(--color-orange); }
.table1 table thead th,
.table2 table thead th { color:#fff; font-weight: 600; background-color:var(--color-orange); text-align: center; padding:10px; }
.table1 table tbody th,
.table2 table tbody th { color:var(--color-tone-900); font-weight: 500; border-bottom: 1px solid var(--color-tone-300); text-align: left; padding:10px; }
.table1 table tbody td,
.table2 table tbody td { border-bottom: 1px solid var(--color-tone-300); padding:10px; }

.maps { width:100%; border: 1px solid var(--color-tone-300); height: 400px; }
/*.maps + .sub_wrap { align-items:center; }*/
.maps + .sub_wrap .img { max-width:400px; margin:0 auto; }

.img_pc {display:block;}
.img_mo {display:none;}

@media all and (max-width:1160px) {
	#s-gnb1 > ul > li { padding:0 20px; }
	#s-gnb1 .dep2 { padding-left: 27px; }
	.main-visual1 .baby1 .title { padding: 300px 0 50px; margin-right:0px; }
	.main-visual1 .baby2 .title { padding: 300px 0 50px; margin-left:0px; }
	.main-visual1 .baby3 .title { padding: 300px 0 50px; margin-right:0px; }
	.main-visual1 .baby1 .desc a { margin-right:0px; }
	.main-visual1 .baby2 .desc a { margin-left:0px; }
	.main-visual1 .baby3 .desc a { margin-right:0px; }
	.main-banner .banner-tit { left:10%; margin-left:0px; }
}

@media all and (max-width:1000px) {
	#s-header1 { height:45px; }
	#s-header1 h1 { position:static; text-align:center; height:45px;  }
	#s-header1 h1 span img { max-height:35px;  }
	#s-gnb1 { display:none; }
	#s-header1 .etc,
	#s-header1 .lang { display:none; }
	#s-header1 .btn-all { display:block; }
	.all-menu { display:block; }
	br.pc { display: none; }

	.main-visual1 .visual { height:400px; padding: 70px 15px; }
	.main-visual1 .visual .title { font-size:1.75em; /*padding-top:100px; padding-bottom:30px;*/ }
	.main-visual1 .visual .desc { font-size:14px; }
	.main-visual1 .visual .btns a { font-size:14px; }
	.main-visual1 .slick-prev,
	.main-visual1 .slick-next { display:none !important; }
	.main-visual1 .slick-dots { bottom:15px; }

	.main-btns { padding:20px 0 10px; }
	.main-btns ul { flex-wrap:wrap; }
	.main-btns ul li { width:50%; }
	.main-btns a { width:100%; margin-bottom:15px; align-items:center; }
	.main-btns a .ico { width:60px; height:60px; margin-right: 10px; }
	.main-btns a .text { width:calc(100% - 80px); }
	.main-btns a .text .title { font-size:14px; line-height:1.4; }
	.main-btns a .text .desc { font-size:14px; }
	
	/*
	.main-about { padding:25px 0; }
	.main-about .inner{ flex-direction: column; align-items: flex-start;}
	.main-about .img-box .logo { display:none; }
	.main-about .info { padding-bottom:16px; }
	.main-about .info .t2 { font-size:25px; }
	.main-about .info .t3 { font-size:14px; }
	*/

	.main-sec .h2 small { font-size:16px; }
	.main-sec .h2 strong { font-size:28px; }
	.main-sec .h2 + .desc { font-size:14px; }

	.main-product { padding:60px 0; }
	.main-product .slider-box .slick-prev,
	.main-product .slider-box .slick-next { display:none !important; }
	.main-product .slider-box .article { width:360px; height:240px; }
	
	.main-news { padding:25px 0 ; }
	.main-news ul { grid-template-columns: repeat(2, 1fr); row-gap:20px; }
	.main-news ul li a h3 { font-size:16px; margin:10px 0 7px; }
	.main-news ul li a .text { display: -webkit-box; font-size:14px; line-height:1.4; overflow:hidden; text-overflow: ellipsis; -webkit-line-clamp: 4; -webkit-box-orient: vertical; }

	.main-banner .banner-tit { width:100px; height:100px; }

	.main-favorite { padding:25px 0; }
	.main-favorite ul { flex-wrap:wrap; margin:0 -5px; }
	.main-favorite ul li { /*width:calc(50% - 10px);*/ width:calc(33.3333% - 10px); margin: 5px; }

	#s-footer { text-align:center; }
	#s-footer .lnb a { font-size:13px; }
	#s-footer .addr { font-size:13px; }
	
	.location span { line-height: 30px; font-size:14px; }
	.sub-visual { margin-bottom: 40px; }
	.sub-visual .inner { height:auto; }
	.sub-visual .h2 { position: static; width:auto; height: auto; padding:20px 0 15px; margin:0 -15px;}
	.sub-visual .h2 strong { font-size:20px; line-height: 1;}
	.sub-visual .h2 span { font-size:14px;}
	
	.t2 ul.cs li { clear:left; margin-right:0; }
	.t2 ul.cs li:nth-child(1):after, .t2 ul.cs li:nth-child(3):after, .t2 ul.cs li:nth-child(4):after, .t2 ul.cs li:nth-child(5):after { content:""; margin-left:0; }
	
	.table1 { overflow: auto; }
	.table1 table,
	.table2 table { width:100%; font-size:14px; }

	.maps { height: 400px; }
}

/* Max width before this PARTICULAR table gets nasty This query will take effect for any screen smaller than 760px and also iPads specifically. */
@media only screen and (max-width: 760px), (min-device-width: 768px) and (max-device-width: 1024px) {

	.img_pc {display:none;}
	.img_mo {display:block;}

	.table2 table tbody th { display:none; }
	.table1 table thead th,
	.table2 table thead th,
	.table1 table tbody th,
	.table2 table tbody th,
	.table1 table tbody td,
	.table2 table tbody td { padding:10px 6px; }

	.main-btns a .text .desc { display:none; } 

	.main-favorite ul { display:block; margin:0; }
	.main-favorite ul li { float:none; width:100%; margin:5px 0; }

	/* Force table to not be like tables anymore */
	.table2 table, .table2 thead, .table2 tbody, .table2 th, .table2 td, .table2 tr { display: block; }
	
	/* Hide table headers (but not display: none;, for accessibility) */
	.table2 table tbody td { position: relative; padding: 10px 1rem 10px calc(5rem + 12px); border: none; border-bottom: 1px solid var(--color-tone-300); font-size:14px; }
	.table2 table tbody td:before { content: attr(data-label); /* Label the data */
		position: absolute; top: 10px; left:6px; width:5rem; margin-right:6px; white-space: nowrap; font-weight:600; font-size:14px; color:var(--color-tone-900); }
}


#bo_v_title .bo_v_tit{font-size:1.5em !important;}
#bo_v_info .profile_info_ct{line-height:22px !important; font-size:16px;}
#bo_v_share{text-align:right !important;}
#bo_v_share .btn{width:100px;}

.bo_cate_link { font-size:16px; height:auto; padding:7px 8px 6px; background: var(--color-orange) !important; color: #fff !important; }
#bo_cate a { border: 1px solid var(--color-orange) !important; color: var(--color-orange) !important; }
#bo_cate a:hover { background: var(--color-orange) !important; color: #fff !important; }
#bo_cate #bo_cate_on { background: var(--color-orange) !important; color:#fff !important; border: 1px solid var(--color-orange) !important; box-shadow: inset 0 2px 5px rgba(191,155,222,0.5) !important; }
#bo_gall .gall_img { max-height:400px !important; }
#faq_wrap li h3.faq_li_open a { color:var(--color-orange) !important; }
#faq_con .con_inner .closer_btn { color:var(--color-orange) !important; }

@media all and (max-width:1024px) {
	.bo_cate_link { font-size:14px; height:auto; padding:6px 8px 5px; }
}