@charset "utf-8";
@import url('default.css');
@import url('fonts.css');
@import url('open-color.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 }
.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
*********************************************************************************************************************************************************************/

:root {
	--color-navy :		#1B1464;
	--color-blue-ch :	#4b6584;
	--color-blue-gr :	#a5b1c2;
	--color-navy-rgb :		27, 20, 100;
	--color-blue-ch-rgb :	75, 101, 132;
	--color-blue-gr-rgb :	165, 177, 194;

	--color-trans-wh : rgba(255,255,255,0.8);
	--color-trans-bk : rgba(0,0,0,0.5);

	--font-title :	'Montserrat', 'Spoqa Han Sans Neo', 'Pretendard', 'Noto Sans KR', 'AppleGothic', '맑은 고딕', 'Malgun Gothic', 돋움, Dotum, sans-serif;
	--font-text :	'Roboto', 'Pretendard', 'Noto Sans KR', 'AppleGothic', '맑은 고딕', 'Malgun Gothic', 돋움, Dotum, sans-serif;  
	--font-icon :	'Font Awesome 6 Free', 'xeicon', 'Pretendard', 'Noto Sans KR', 'AppleGothic', '맑은 고딕', 'Malgun Gothic', 돋움, Dotum, sans-serif;

	--transition-slow : all .3s ease-in-out;
	--transition-fast : all .1s ease-in-out;
}

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(--oc-gray-8);  }
address,
em { font-style:normal }
body,input,select,textarea,button { font-family:var(--font-text); font-size:16px; line-height: 1.6; color: var(--oc-gray-7); text-decoration: none; font-weight: normal; }
h1,h2,h3,h4,h5,h6 { font-family:var(--font-title); line-height: 1.4; color: var(--oc-gray-7); letter-spacing:-0.01em; }
textarea,.inp,select { border:0; outline:none; resize:none; box-shadow:none; -webkit-appearance:none; appearance:none; font-weight: normal; border-radius:0.75rem; }
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; }

/* Form */
/*.select { height: 39px; border: 1px solid var(--oc-gray-3); padding:0 30px 0 10px; font-size:17px; background: #fff url(../img/common/bu_select.png) no-repeat 90% 50%;}*/
.select option { color: var(--oc-gray-8); }

/* Button */
.btn { display: inline-block; vertical-align: middle; padding:0 50px; height: 50px; line-height: 48px; text-align: center; border: 1px solid #3f7ad2; font-size:20px; color: #3f7ad2; border-radius:3px; }
.btn.btn-blue { background: #3f7ad2; color: #fff; }

.select { vertical-align:middle; padding:0 35px 0 10px; height:40px; font-size:14px; color:var(--oc-gray-8);
	border: 1px solid var(--oc-gray-3); background:#fff url(../img/common/bu_select.png) no-repeat 100% 50%; background-position: right 12px center; transition: background-color .3s ease-in-out; }
.inp { vertical-align:middle; padding:8px 15px; height:40px; background:#fff; border:1px solid var(--oc-gray-4); font-size:14px; transition: var(--transition-slow); color:var(--oc-gray-8) !important; }
.inp:required,
.select:required { border: 1px solid var(--oc-indigo-3); }
.inp::placeholder,
.select::placeholder{ color:var(--oc-gray-4); }
textarea.inp,
#wr_content { padding:10px 15px; height:150px; background:#fff; border-radius:0.75rem; box-shadow:none; color:var(--oc-gray-8); }
input[type=file].inp { padding:4px 15px; }
input[type=file].inp::file-selector-button { width: 5.5em; height: 30px; line-height:1; background:var(--oc-gray-5); border: 1px solid var(--oc-gray-5); border-radius:3px; color:#fff; font-size:0.9em; cursor: pointer; transition: var(--transition-slow); }
input[type=file].inp:required::file-selector-button { background:var(--oc-indigo-3); border-color: var(--oc-indigo-3); }
input[type=file].inp::file-selector-button:hover { background: var(--color-navy); border-color:var(--color-navy); }
.inp:focus,
.select:focus,
#wr_content:focus,
textarea.inp:focus { border-color:var(--oc-gray-5) !important; background-color:var(--oc-gray-0); }
.inp:required:focus,
.select:required:focus,
#wr_content:required:focus,
textarea.inp:required:focus { border-color:var(--oc-indigo-5) !important; background-color:var(--oc-indigo-0); }

::-webkit-input-placeholder { color: var(--oc-gray-5);}
:-moz-placeholder { color: var(--oc-gray-5);}
:-ms-input-placeholder {  color: var(--oc-gray-5);}
:-moz-placeholder {  color: var(--oc-gray-5);}

a,a:active,a:visited { text-decoration:none !important; }
p,div { word-break:keep-all; }
img { max-width:100%; }
b { font-weight: 600;}
strong { font-weight: 800;}

.inner { width: 100%; max-width:1310px; margin: 0 auto; padding:0 15px; position: relative; }
.hidden { overflow: hidden; }  /* AOS 스크롤 이슈 제거 */

/*********************************************************************************************************************************************************************
	Component
*********************************************************************************************************************************************************************/

body { padding-top:90px; }

/* === button === */
.btn_custom,
a.btn_custom { display: inline-flex; justify-content: center; align-items: center; gap: 0.4em;
	background-color:transparent; border-radius:3px; font-family: var(--font-titlele); color:var(--oc-gray-6);
	-webkit-transition: var(--transition-fast); transition: var(--transition-fast); }
.btn_custom i,
a.btn_custom i { font-size:1.2em; }
.btn_custom:hover,
a.btn_custom:hover { background-color:transparent; color:var(--oc-gray-9); }
.btn_custom.btn_admin,
a.btn_custom.btn_admin { color:var(--oc-grape-6); }
.btn_custom.btn_admin:hover,
a.btn_custom.btn_admin:hover { color:var(--oc-grape-9); }
.btn-box { margin-top:30px; text-align:center; }
@media all and (max-width:770px) {
	.btn-box { margin-top:20px; }
}

/* === color mode === */
.mode-dark { color:#fff; }

/* === slider === */
.swiper-container .btn-box { position:absolute; right:50%; bottom: 20px; transform:translateX(50%);
	height:auto; z-index:10; display: flex; align-items: center; justify-content:center; }
.swiper-container .btn-box button { display: flex; align-items: center; border:none; outline:none; background:none; cursor:pointer; color:var(--oc-gray-9);
	-webkit-transition: var(--transition-fast); transition: var(--transition-fast); -webkit-appearance:none; -moz-appearance:none; appearance:none; }
.swiper-container .btn-box .swiper-pagination { position:static; width:auto; font-family:var(--font-titlele);
	display: flex; align-items: center; justify-content:space-between; gap:0.5em; margin:0 0.5em; }
.swiper-container .btn-box .swiper-pagination .swiper-pagination-current { font-weight:700; }
.swiper-container .btn-box .swiper-pagination .swiper-pagination-bullet { background:transparent; border:1px solid var(--oc-gray-9); border-radius:8px;
	margin:0; opacity:1; -webkit-transition: var(--transition-fast); transition: var(--transition-fast); }
.swiper-container .btn-box .swiper-pagination .swiper-pagination-bullet-active { background:var(--oc-gray-9); width:1em;
	-webkit-transition: var(--transition-fast); transition: var(--transition-fast); }
.swiper-container .btn-box .swiper-button-next,
.swiper-container .btn-box .swiper-button-prev { position:static; background:none; width:auto; height:auto; margin-top:0; color:var(--oc-gray-9); }
.swiper-container .btn-box .swiper-button-next:after,
.swiper-container .btn-box .swiper-button-prev:after { display:none; }
.swiper-container.mode-dark .btn-box button { color:#fff; }
.swiper-container.mode-dark .btn-box .swiper-pagination .swiper-pagination-bullet { border-color:#fff; }
.swiper-container.mode-dark .btn-box .swiper-pagination .swiper-pagination-bullet-active { background:#fff; }
.swiper-container.mode-dark .btn-box .swiper-button-next,
.swiper-container.mode-dark .btn-box .swiper-button-prev { color:#fff; }
.swiper-container .btn-box button:hover,
.swiper-container.mode-dark .btn-box button:hover { color:var(--oc-indigo-7); }
.swiper-container .btn-box .swiper-pagination .swiper-pagination-bullet:hover { border-color:var(--oc-indigo-7); }
.swiper-container .btn-box .swiper-pagination .swiper-pagination-bullet-active:hover { background:var(--oc-indigo-7); }
@media all and (max-width:770px) {
	.swiper-container .btn-box { bottom: 1rem; }
}

/* === flex grid === */
.flex-wrap { display:flex; flex-wrap:wrap; justify-content:center; gap:20px; width:100%; }
.flex-wrap.col1 { flex-direction:column; }
.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); }
.flex-wrap::after,
.grid-wrap::after { display:none; }
@media all and (max-width:1000px) {
	.flex-wrap { gap:15px; }
	.flex-wrap.col2 .flex-box { width: calc( (100% - 15px) / 2); }
	.flex-wrap.col3 .flex-box { width: calc( (100% - 30px) / 3); }
	.flex-wrap.col4 .flex-box { width: calc( (100% - 15px) / 2); }
	.flex-wrap.col5 .flex-box { width: calc( (100% - 30px) / 3); }
	.flex-wrap.col6 .flex-box { width: calc( (100% - 30px) / 3); }
}
@media all and (max-width:770px) {
	.flex-wrap.col2,
	.flex-wrap.col3 { flex-direction:column; }
	.flex-wrap.col2 .flex-box,
	.flex-wrap.col3 .flex-box { width:100%; }
	.flex-wrap.col5 .flex-box { width: calc( (100% - 15px) / 2); }	
	.flex-wrap.col6 .flex-box { width: calc( (100% - 15px) / 2); }
}
@media all and (max-width:560px) {
	.flex-wrap.col4,
	.flex-wrap.col5,
	.flex-wrap.col6 { flex-direction:column; }	
	.flex-wrap.col4 .flex-box,
	.flex-wrap.col5 .flex-box,
	.flex-wrap.col6 .flex-box { width:100%; }
}

/* === list === */
.list_ul li { position:relative; text-align:left; word-break:keep-all; margin-left:1em; line-height:1.5; }
.list_ul li + li { margin-top:0.5em; }
.list_ul li:before { content:''; position:absolute; left:-1em; top:0.65em; width:0.5em; height:1px; background:var(--color-blue-gr); }
.list_ul li strong { color: var(--color-navy); font-weight:600; }
.list_ul.check li { margin-left:1em; }
.list_ul.check li:before { content:'\2714'; color:var(--color-blue-gr); top:0; left:-1em; width:1em; height:1em; background:none; }
.list_ul.custom li { margin-left:1.1em; }
.list_ul.custom li:before { content: attr(data-label); color:var(--color-blue-gr); top:0; left:-1.1em; width:1.1em; height:1em; background:none; }

/* === step box === */
.step-box { text-align:center; display: flex; align-items: center; justify-content:center; flex-wrap:wrap; margin:0 auto 80px; max-width:890px;}
.step-box .article { margin:-10px 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: '\e913'; 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.process .article + .article:before { content: '\e90b'; }
.step-box .article > div { flex: 1; display: flex; flex-direction:column; align-items: center; justify-content:center; gap:0.5em;
	width:100%; height:auto; aspect-ratio:1 / 1; border-radius:100%; background:var(--color-gray-5); padding:10px; }
.step-box .article strong { display: block; font-family:var(--font-title); letter-spacing:-0.01em; font-size:2em; font-weight: 700; color: #fff; font-style: italic; line-height: 1; }
.step-box .article .ico { font-size:4em; line-height:1.2; color:#fff; }
.step-box .article .ico img { max-width: 6em; }
.step-box .article .tit { color: #fff; font-size:1.75em; line-height:1.2; font-weight:600; }
.step-box .article p { color:#fff; font-weight:500; }
.step-box .article:nth-child(1) > div { background-color:var(--color-navy); }
.step-box .article:nth-child(2) > div { background-color:var(--color-blue-ch); }
.step-box .article:nth-child(3) > div { background-color:var(--color-blue-gr); }
.step-box.process .article:nth-child(1) > div { background-color:var(--color-blue-gr); }
.step-box.process .article:nth-child(2) > div { background-color:var(--color-blue-gr); }
.step-box.process .article:nth-child(3) > div { background-color:var(--color-blue-ch); }
.step-box.process .article:nth-child(4) > div { background-color:var(--color-blue-ch); }
.step-box.process .article:nth-child(5) > div { background-color:var(--color-blue-ch); }
.step-box.process .article:nth-child(6) > div { background-color:var(--color-navy); }
.step-box.process .article:nth-child(7) > div { background-color:var(--color-navy); }
@media all and (max-width: 1200px) {
	.step-box { margin:0 auto 20px; }
	.step-box .article { margin:-5px 5px; }
	.step-box.col3 .article { width:calc(33.3333% - 10px); }
	.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 .ico { font-size:3em; }
	.step-box .article .ico img { max-width: 4em; }
}
@media all and (max-width: 1000px) {
	.step-box .article .tit { font-size:1.5em; } 
}
@media all and (max-width: 770px) {
	.step-box { margin:-5px 0 10px; flex-direction: column; align-items: center; }
	.step-box .article { margin:5px 0; width:100% !important; max-width:16em; }
	.step-box .article + .article:before { content: '\e913'; left:calc(50% + 5px); top:-5px; margin:-22.5 0 0 -18px; }
	.step-box.process .article + .article:before { content: '\e90a'; }
	.step-box .article .ico img { max-width: 6em; }
}

/* === media === */
.max_wide, .max_pc, .max_ta, .max_mo { display:none !important; }
@media all and (max-width:1200px) {
	.min_wide { display:none !important; }
	.max_wide { display:block !important; }
}
@media all and (max-width:1000px) {
	.min_pc { display:none !important; }
	.max_pc { display:block !important; }
}
@media all and (max-width:770px) {
	.min_ta { display:none !important; }
	.max_ta { display:block !important; }
}
@media all and (max-width:560px) {
	.min_mo { display:none !important; }
	.max_mo { display:block !important; }
}

/*********************************************************************************************************************************************************************
	Layout
*********************************************************************************************************************************************************************/

#s-header2 { height: 90px; position: relative; z-index:100;
	position: fixed; left: 0; right:0; top:0; border-bottom: 1px solid var(--oc-gray-3); background: #fff; }
#s-header2 .inner { position: relative;}
#s-header2 h1 { position: absolute; left: 30px; top:0; height: 90px; z-index:2; }
#s-header2 h1 a {display: table; width:100%; height: 100%;}
#s-header2 h1 a span { display: table-cell; vertical-align: middle; }
#s-header2 h1 a span img { vertical-align: middle; }
#s-header2 .menu { position: absolute; right:0; top:0; z-index:2; display:flex; align-items:center; height: 90px; }
#s-header2 .menu .btn1 { display:inline-block; height: 90px; line-height: 88px; padding:0 20px; background:var(--color-navy); font-size:16px; color: #fff; }
#s-header2 .menu .btn2 { display:inline-block; height: 90px; line-height: 88px; padding:0 20px; background:var(--color-blue-ch); font-size:16px; color: #fff; }
#s-header2 .lang { position: relative; margin-right:15px; padding-top:8px; }
#s-header2 .lang .btn-lang { display: inline-block; vertical-align: top; font-size:13px; color: var(--oc-gray-8); padding-right:16px; position: relative; }
#s-header2 .lang .btn-lang:after { content: ''; position: absolute; right:0; top:4px; width:8px; height: 8px; border-left: 1px solid var(--oc-gray-8); border-bottom: 1px solid var(--oc-gray-8); transform: rotate(-45deg);}
#s-header2 .lang div { display: none; position: absolute; width:40px; left: 50%; margin-left: -20px; top:100%; background: #fff; border: 1px solid var(--oc-gray-3); border-top:2px solid var(--oc-gray-8); }
#s-header2 .lang div ul li a { display: block; font-size:16px; color: var(--oc-gray-6); padding:5px 0; text-align: center; transition: var(--transition-slow); }
#s-header2 .lang div ul li a:hover { background: var(--oc-gray-0); color: var(--oc-gray-9); }
#s-header2 .btn-all { width:40px; height:44px; padding-top:10px; text-align: right; margin-right:15px;}
#s-header2 .btn-all span { display:block; height:2px; background: var(--oc-gray-8); width:60%; }
#s-header2 .btn-all span:nth-child(2) {  margin:5px 0; }
#s-header2 .cert { display:flex; align-items:center; gap:0.5rem; padding:0 0.5rem; margin-right:1.25rem; }
#s-header2 .cert img { max-height:34px; }
#s-header2 .cert .txt { font-size:14px; line-height:1.2; }
#s-header2 .cert .txt span { color:#c40e3e; }
#s-header2 .bg-menu { position: absolute; left: 0; right:0; top:0; height:200px; display:none; background: #fff; }
#s-header2.active:before { content: ''; position: absolute;left: 0; right:0; top:90px; height: 1px; background: var(--oc-gray-2); z-index:100; }

#s-gnb2 { /*margin:0 310px 0 210px;*/ margin:0 250px 0 230px; position: relative; z-index:120; } 
#s-gnb2 > ul { max-width:720px; margin: 0 auto; display:flex; }
#s-gnb2 > ul > li { flex:1; position: relative; padding:0 20px; transition: var(--transition-slow); }
#s-gnb2 .btn-dep1 { display: block; height:90px; line-height: 90px; font-size:18px; color: var(--oc-gray-6); font-family:var(--font-title); letter-spacing:-0.01em; padding: 0 8px; position: relative; font-weight: 500; text-align:center; transition: var(--transition-slow); }
#s-gnb2 > ul > li:before { content: ''; position: absolute; left: 0; bottom:-1px; height: 3px; background: var(--color-navy); transition: var(--transition-slow); width:0; opacity:0;}
#s-gnb2 > ul > li:hover:before { opacity:1; width:100%;}
#s-gnb2 > ul > li:hover .btn-dep1 { color:var(--color-navy); }
#s-gnb2 .dep2 { display: none; position: absolute; left: 0; right:0; top:90px; height: 225px; z-index:10; padding: 15px 20px 0; }
#s-gnb2 .btn-dep2 { display: block; font-size:15px; line-height: 26px; color: var(--oc-gray-6); font-family:var(--font-text); text-align:center; white-space: nowrap; transition:var(--transition-fast); -webkit-transition:var(--transition-fast);}
#s-gnb2 .btn-dep2:hover { color:var(--color-navy); }

.all-menu { opacity:0; position:fixed; right:-100%;  bottom:0; top:0; background:#fff; z-index:1100; background-size:cover;  padding-top:120px; transition:var(--transition-slow); } 
.all-menu.active { opacity:1; right:0; width:100%; }
.all-menu .logo { position: absolute;left: 30px; top:30px; }
.all-menu .lang { position: absolute;right: 90px; top:35px; }
.all-menu .lang a { display: inline-block; vertical-align: middle; font-size:16px; color: var(--oc-gray-8); margin-left: 10px;}
.all-menu .btn-close { position:absolute; right:30px; top:30px;  width:34px; height:34px; }
.all-menu .btn-close:before { content: ''; position: absolute;left: 0; top:50%; width:34px; height: 2px; background: #000; transform: rotate(45deg);}
.all-menu .btn-close:after { content: ''; position: absolute;left: 0; top:50%; width:34px; height: 2px; background: #000; transform: rotate(-45deg);}
.all-menu .body { }
.all-menu .body .menu { max-width:1200px; padding:30px 15px; margin:0 auto; }
.all-menu .body .menu dl:after { display: block; content: ''; clear: both; }
.all-menu .body .menu dl { margin-bottom: 14px; padding-bottom: 15px; border-bottom: 1px solid var(--oc-gray-3);}
.all-menu .body .menu dl dt { float:left; width:140px; margin-right:70px; }
.all-menu .body .menu dl dt a { display: block; font-size:2rem; line-height:2rem; color: var(--color-navy) !important; font-weight: 600; padding-bottom: 15px; font-family:var(--font-title); letter-spacing:-0.01em; }
.all-menu .body .menu dl dd { overflow: hidden; }
.all-menu .body .menu dl dd ul:after { display: block; content: ''; clear: both; }
.all-menu .body .menu dl dd ul li { float:left; width:20%; padding:0 20px 20px; ; }
.all-menu .body .menu dl dd ul li a { display: inline-block; padding-bottom: 15px; font-size:1.5rem; line-height:2rem; letter-spacing:-0.01em; white-space: nowrap; transition: var(--transition-fast); position: relative;}
.all-menu .body .menu dl dd ul li a:before { content: ''; position: absolute;left: 0; width:0; opacity:0; bottom:0; height: 2px; background: var(--color-navy);  transition: var(--transition-fast); }
.all-menu .body .menu dl dd ul li a:hover { color: var(--color-navy);  }
.all-menu .body .menu dl dd ul li a:hover:before { width:100%; opacity:1;}

.main-visual4 {/*  background: url(../img/main/bg_visual.jpg) no-repeat 50% 50%; */background:no-repeat bottom center; /* background-image: url(../img/main/bg_visual.jpg); */ background-size:cover; height: 770px; position: relative; }
.main-visual4:before { content: ''; position: absolute;left: 0; right:0; bottom:0; height: 200px; background: rgba(0,0,0,0.4);}
.main-visual4 .inner { position: relative;}
.main-visual4 .slider-box { overflow: hidden;}
.main-visual4 .slider-box .article { padding-top:30px; display: flex; align-items:flex-end; gap:30px; }
.main-visual4 .slider-box .article .text { flex:1; align-self: center;}
.main-visual4 .slider-box .article .text > div { padding-left:45px; padding-bottom: 70px; }
.main-visual4 .slider-box .article .text h2 { font-size:67px; color: var(--oc-gray-7); font-weight:500; line-height: 1.1; text-transform: uppercase; }
.main-visual4 .slider-box .article .text h2 strong { color: var(--color-navy); }
.main-visual4 .slider-box .article .text .txt { font-size:15px; color: var(--oc-gray-8); margin:15px 0 30px;  }
.main-visual4 .slider-box .article .text .btn-view { display: inline-block; vertical-align: middle; padding:0.6em 30px 0.5em; border: 1px solid var(--oc-gray-7); font-size:18px; font-family:var(--font-title); color: var(--oc-gray-8); transition: var(--transition-slow); }
.main-visual4 .slider-box .article .text .btn-view:hover { background: var(--color-navy); border-color:var(--color-navy); color: #fff; }
.main-visual4 .slider-box .article .img { flex:1; align-self: flex-end; text-align: right; }
.main-visual4 .btn-wrap { position: absolute;left: 45px; bottom:70px; z-index:100; white-space: nowrap; }
.main-visual4 .swiper-pagination-bullet { width:10px; height: 10px; border-radius:100%; background: rgba(63, 56, 46, 0.25);  position: relative; transition: var(--transition-slow); opacity:1; margin:0 4px; display: inline-block; vertical-align: middle; }
.main-visual4 .swiper-pagination-bullet-active { background-color:var(--color-navy);  }
.main-visual4 .biz-list { position: relative; z-index:2; }
.main-visual4 .biz-list ul { display: flex; }
.main-visual4 .biz-list ul li { flex:1; background-repeat: no-repeat; background-position: right bottom; background-color:var(--color-navy); /*background-size:auto 80%;*/ background-size:128px; position:relative; }
/*.main-visual4 .biz-list ul li:before { content:''; position:absolute; display:block; width:100%; height:100%; z-index:-1; opacity:0; transition: all .3s ease-in-out;  transition-delay:0.2s }*/
.main-visual4 .biz-list ul li:hover:before { opacity:0.6; }
.main-visual4 .biz-list ul li a { display: block; height: 100%; padding:35px 45px 55px; /* background: var(--color-navy); */ transition: all 1s ease-in-out; position: relative; }
.main-visual4 .biz-list ul li a:hover h3 { transform: translateY(10px);}
.main-visual4 .biz-list ul li a:hover .txt { transform: translateY(10px);}
.main-visual4 .biz-list ul li a:hover .more { transform: translateY(10px);}
.main-visual4 .biz-list ul li a h3 { font-size:20px; color:#fff; line-height: 1.3; transition: var(--transition-slow); }
.main-visual4 .biz-list ul li a h3 span { display: block; color:#fff; font-size:28px; }
.main-visual4 .biz-list ul li a .txt { font-size:14px; color:var(--color-trans-wh); line-height: 1.4; margin:14px 0 20px; transition: all 0.4s ease-in-out;  transition-delay: 0.1s}
.main-visual4 .biz-list ul li a .more { display: inline-block; width:40px; height: 40px; background:var(--color-trans-wh); position: relative; text-indent: -9999px; transition: all 0.3s ease-in-out;  transition-delay:0.2s; }
.main-visual4 .biz-list ul li a .more:before { content: ''; position: absolute; left:10px; right:10px; top:50%; margin-top:-1px; height: 3px; }
.main-visual4 .biz-list ul li a .more:after { content: ''; position: absolute; left:50%; top:10px; bottom:10px; width:3px; margin-left: -1px; }
.main-visual4 .biz-list ul li.b1 { background-color:var(--color-navy); }
.main-visual4 .biz-list ul li.b2 { background-color:var(--color-blue-gr); }
.main-visual4 .biz-list ul li.b3 { background-color:var(--color-blue-ch); }
.main-visual4 .biz-list ul li.b1:before { background-color:var(--color-navy); }
.main-visual4 .biz-list ul li.b2:before { background-color:var(--color-blue-gr); }
.main-visual4 .biz-list ul li.b3:before { background-color:var(--color-blue-ch); }
.main-visual4 .biz-list ul li.b1 a h3 { color:var(--color-blue-gr); }
.main-visual4 .biz-list ul li.b2 a h3 { color:var(--color-blue-ch); }
.main-visual4 .biz-list ul li.b3 a h3 { color:var(--color-navy); }
.main-visual4 .biz-list ul li.b1 a .more:before,
.main-visual4 .biz-list ul li.b1 a .more:after { background:var(--color-navy); }
.main-visual4 .biz-list ul li.b2 a .more:before,
.main-visual4 .biz-list ul li.b2 a .more:after { background:var(--color-blue-gr); }
.main-visual4 .biz-list ul li.b3 a .more:before,
.main-visual4 .biz-list ul li.b3 a .more:after { background:var(--color-blue-ch); }
.main-visual4 .news-latest { background: rgba(255,255,255,0.5); }
.main-visual4 .news-latest dl { display: flex; align-items: center; height: 65px;}
.main-visual4 .news-latest dl dt { width:150px; margin-right:30px; line-height: 30px; text-align: center; top:0; font-size:19px; color: var(--oc-gray-8); font-family:var(--font-title); letter-spacing:-0.01em; font-weight: 600; border-right:1px solid var(--oc-gray-3); }
.main-visual4 .news-latest dl dd {flex:1; }
.main-visual4 .news-latest dl dd a { display: block;font-size:15px; color: var(--oc-gray-8); position: relative; line-height: 27px; padding-right:140px;  }
.main-visual4 .news-latest dl dd a p { max-width:930px;white-space: nowrap; overflow: hidden; font-weight: normal; text-overflow: ellipsis;  }
.main-visual4 .news-latest dl dd a span { position: absolute; right:65px; top:0; }
.main-visual4 .news-latest dl dd a em { position: absolute; right:20px; top:0; width:27px; height: 27px; background: var(--oc-gray-7);}
.main-visual4 .news-latest dl dd a em:before { content: ''; position: absolute; left: 7px; right:7px; top:50%; height: 1px; margin-top:-1px; background: #fff; }
.main-visual4 .news-latest dl dd a em:after { content: ''; position: absolute; left: 50%; top:7px; bottom:7px;  width: 1px; margin-left:-0.5px; background: #fff; }

.news-list { padding:90px 0; overflow: hidden;}
.news-list h2 { text-align: center; position: relative;}
.news-list h2 b { display: inline-block; vertical-align: middle; font-size:42px; color: var(--oc-gray-7); font-weight: 700; line-height: 40px; padding:0 60px; background: #fff; position: relative; z-index:2; text-transform: uppercase;}
.news-list h2 strong { color:var(--color-navy);}
.news-list h2:before { content: ''; position: absolute;left: 0; right:0; top:50%; height: 1px; background: var(--oc-gray-5); }
.news-list .desc { text-align: center; padding-top:10px; font-size:15px; color: var(--oc-gray-6); margin-bottom:70px; }
.news-list ul:after { display: block; content: ''; clear: both; }
.news-list ul { margin:0 -23px; }
.news-list ul li { float:left; width:25%; padding:0 23px 15px; }
.news-list ul li a { display: block; }
.news-list ul li a .img { overflow: hidden; }
.news-list ul li a .img img { transition:var(--transition-slow);}
.news-list ul li a .info { padding-top:25px; transition: var(--transition-slow); }
.news-list ul li a .info dl dt { font-size:21px; font-weight: 600; color: var(--oc-gray-9); margin-bottom: 8px; letter-spacing:-0.01em; }
.news-list ul li a .info dl dd { font-size:15px;  color: #555; margin-bottom: 8px;  }
.news-list ul li a .info span { font-size:14px; color: var(--oc-gray-7);}
.news-list ul li a:hover .img img { transform:scale(1.2); }
.news-list ul li a:hover .info { opacity:0.4 }

.main-biz { /* background:var(--color-navy) url(../img/main/bg_biz.jpg) no-repeat 50% 0; */background: no-repeat 50% 0; height: 420px;
	background-color: var(--color-blue-gr);
	background-image: linear-gradient(to bottom, rgba(255,255,255,0.6) 0%, rgba(0,0,0,0.3) 100%), radial-gradient(at 50% 0%, rgba(255,255,255,0.3) 0%, rgba(0,0,0,0.3) 50%);
	background-blend-mode: soft-light,screen; }
.main-biz .inner { display: flex; height: 420px; align-items: center; justify-content: center; }
.main-biz .img { align-self: flex-end; } 
.main-biz .text{ text-align: center; } 
.main-biz .text h3  { font-size:47px; color:#fff; font-weight: 700; margin-bottom: 10px;  }
.main-biz .text .t1  { font-size:26px; color: var(--color-trans-wh); font-weight: 600; margin-bottom: 20px;  }
.main-biz .text .t2 { font-size:14px; line-height: 1.5; color: var(--color-trans-wh); }

.main-about { background:var(--oc-gray-1); padding:90px 0 110px; }
.main-about h2 { text-align: center; position: relative; }
.main-about h2 b { display: inline-block; vertical-align: middle; font-size:42px; color: var(--oc-gray-7); font-weight: 700; line-height: 40px; padding:0 60px; background: var(--oc-gray-1); position: relative; z-index:2; text-transform: uppercase;}
.main-about h2 strong { color:var(--color-navy);}
.main-about h2:before { content: ''; position: absolute;left: 0; right:0; top:50%; height: 1px; background: var(--oc-gray-5); }
.main-about .desc { text-align: center; padding-top:10px; font-size:15px; color: var(--oc-gray-6); margin-bottom:70px; }
/*.main-about ul { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; }*/
.main-about ul:after { display: block; content: ''; clear: both; }
.main-about ul li { /*float:left; width:33.33333%; text-align: center;*/ display:flex; justify-content:center; align-items:center; gap:45px; }
.main-about ul li:not(:first-child) { margin-top:50px; }
.main-about ul li:nth-child(odd) { flex-flow:row-reverse; }
.main-about ul li dl { padding-top:20px; min-width:400px; }
.main-about ul li dl dt { font-size:18px; font-weight: 600; margin-bottom:10px; }
.main-about ul li dl dd { font-size:24px; font-weight: normal; letter-spacing:-0.01em; }
.main-about #calc_result { display:none; margin-top:50px; }
.main-about h3 { text-align:center; font-size: 24px; color: var(--oc-gray-9); font-weight: 600; margin-bottom:1em; }
.main-about .order-table { background:#fff; max-width:600px; margin:0 auto; padding: 5px 20px; }
.main-about .style-table { background:#fff; max-width:600px; margin:0 auto; padding: 20px; }
.main-about .style-table tfoot { background:var(--oc-indigo-0); }
.main-about .style-table tfoot th { color:var(--oc-indigo-6); }
.main-about .style-table tfoot td span.num { color:var(--oc-indigo-6); font-weight:700; font-size:1.2em; }
.main-about .box { text-align:center; }
.main-about .box a.btn-view { display: inline-block; vertical-align: middle; padding:0.6em 30px 0.5em; border: 1px solid var(--oc-gray-7); font-size:18px; font-family:var(--font-title); color: var(--oc-gray-8); transition: var(--transition-slow); }
.main-about .box a.btn-view:hover { background: var(--color-navy); border-color:var(--color-navy); color: #fff; }
.main-about .box button.btn-view { display: inline-block; margin:3px 4px; vertical-align: middle; padding:0.6em 30px 0.5em; background: var(--oc-gray-8); border: 1px solid var(--oc-gray-8); font-size:18px; font-family:var(--font-title); color: #fff; transition: var(--transition-slow); }
.main-about .box button.btn-view:hover { background: var(--color-navy); border-color:var(--color-navy); color: #fff; }
@media all and (max-width:770px) {
	.main-about h3 { font-size:20px; }
}
@media all and (max-width:770px) {
	.main-about .order-table { padding: 1em 1em 0; }
	.main-about .style-table { padding: 1em; }
}

.main-company { padding:90px 0; }
.main-company h2 { text-align: center; position: relative;}
.main-company h2 b { display: inline-block; vertical-align: middle; font-size:42px; color: var(--oc-gray-7); font-weight: 700; line-height: 40px; padding:0 60px; background: #fff; position: relative; z-index:2; text-transform: uppercase;}
.main-company h2 strong { color:var(--color-navy);}
.main-company h2:before { content: ''; position: absolute;left: 0; right:0; top:50%; height: 1px; background: var(--oc-gray-5); }
.main-company .desc { text-align: center; padding-top:10px; font-size:15px; color: var(--oc-gray-6); margin-bottom:70px; }
.main-company .list_box { display: flex; position: relative; }
.main-company .list_box > li { flex: 1; height: 360px; background-color:var(--oc-gray-1); background-size:128px; background-position: right bottom; }
.main-company .list_box > li .box { height: 100%; }
.main-company .list_box > li .box > a { display: block; height: 100%; padding:30px 40px; text-align: left; transition: var(--transition-fast); }
.main-company .list_box > li .box > a h3 { font-size:25px; font-weight: 600; color:#fff; padding-bottom: 10px; margin-bottom: 15px; position: relative;}
.main-company .list_box > li .box > a h3:before { content: ''; position: absolute;left: 0 ;bottom:0; width:30px; height: 2px; background:var(--color-trans-wh); }
.main-company .list_box > li .box > a .txt { font-size:14px; line-height: 1.4; color:var(--color-trans-wh); }
.main-company .list_box > li:last-child { position: absolute;left: 25%; right:25%; bottom:0; top:50%; height: auto; }
.main-company .list_box > li:nth-child(1) { /* background-image:url(../img/main/img_etc1.png); */ background-color:var(--color-navy); background-repeat: no-repeat; /*background-position: 100% 100%; background-size:contain;*/ }
.main-company .list_box > li:nth-child(2) { /* background-image:url(../img/main/img_etc2.jpg); */ background-color:var(--oc-indigo-9); background-repeat: no-repeat; /*background-position: 100% 100%; background-size:55%;*/ height: 179px; }
.main-company .list_box > li:nth-child(3) { /* background-image:url(../img/main/img_etc3.jpg); */ background-color:var(--color-blue-gr); background-repeat: no-repeat; /*background-position: 100% 100%; background-size:55%;*/ height: 179px; }
.main-company .list_box > li:nth-child(4) { /* background-image:url(../img/main/img_etc4.jpg); */ background-color:var(--color-blue-ch); background-repeat: no-repeat; /*background-position: 100% 100%; background-size:100%;*/ }
.main-company .list_box > li:last-child { position: absolute;left: 25%; right:25%; bottom:0; top:50%; height: auto; }																										  
.main-company .list_box > li:last-child .box > a h3 { display: inline-block; color:var(--oc-gray-7); }
.main-company .list_box > li:last-child .box > a h3:before { background:var(--oc-gray-7); }
.main-company .list_box > li:nth-child(5) .box > a { position: relative;}
.main-company .list_box > li:nth-child(5) .box > a .txt { display: inline-block; color: var(--oc-gray-7); margin-left: 15px; }
.main-company .list_box > li:nth-child(5) .box > a .status { overflow: hidden; }
.main-company .list_box > li:nth-child(5) .box > a .status em { float:left; width:60%;  font-size:45px; color: var(--oc-gray-7); letter-spacing:-0.01em; /*text-align: center;*/ }
.main-company .list_box > li:nth-child(5) .box > a .status em strong { color:var(--oc-gray-8); letter-spacing:0; }
.main-company .list_box > li:nth-child(5) .box > a .status .info { float:left; width:40%; }
.main-company .list_box > li:nth-child(5) .box > a .status .info dl { overflow: hidden; padding:3px 0; font-size:14px; color: #999;  }
.main-company .list_box > li:nth-child(5) .box > a .status .info dl + dl { border-top:1px solid var(--oc-gray-3); }
.main-company .list_box > li:nth-child(5) .box > a .status .info dl dt { float:left; width:40%; color: var(--oc-gray-9);  }
.main-company .list_box > li:nth-child(5) .box > a .status .info dl dd { float:left; width:60%; text-align: right; }
.main-company .list_box .contact { display: flex; height:100%; }
.main-company .list_box .contact > li { flex:1; }
.main-company .list_box .contact > li + li { border-left:1px solid #fff; }
.main-company .list_box .contact > li a { display:inline-block; width:100%; height:100%; padding: 25px 20px; transition: var(--transition-fast); }
.main-company .list_box .contact h4 { font-size:1.2em; margin-bottom:5px; color:var(--oc-gray-6); font-weight:500; }
.main-company .list_box .contact .txt { font-size:14px; line-height: 1.4; }
.main-company .list_box .contact .txt strong { font-size:1.5em; display:inline-block; margin-bottom:5px; line-height: 1.2; }
.main-company .list_box .contact > li.kakao a:hover	{ background-color:#FFDE00; color: #231916; }
.main-company .list_box .contact > li.kakao a:hover > * { color: #231916; }
.main-company .list_box .contact > li.tel a:hover { background-color:var(--oc-gray-9); color: #fff; }
.main-company .list_box .contact > li.tel a:hover > * { color: #fff; }
.main-company .list_box .contact > li.bank a { pointer-events: none; cursor: default; }
.main-company.edit { background:no-repeat bottom center; background-size:cover; }
.main-company.edit .title { font-size:64px; color: var(--oc-gray-7); font-weight:500; line-height: 1.1; text-transform: uppercase; word-break:keep-all; }
.main-company.edit .title:before { display:none; }
.main-company.edit .title strong { color: var(--color-navy); }
.main-company.edit .desc { font-size:18px; color: var(--oc-gray-8); margin:15px 0 25px; }
.main-company.edit .btn-wrap { display:flex; justify-content:center; margin-bottom:50px; }
.main-company.edit .btn-view { display: inline-block; vertical-align: middle; padding:0.6em 30px 0.5em; border: 1px solid var(--oc-gray-7); font-size:18px; font-family:var(--font-title); color: var(--oc-gray-8); transition: var(--transition-slow); }
.main-company.edit .btn-view:hover { background: var(--color-navy); border-color:var(--color-navy); color: #fff; }
@media all and (max-width:1200px) {
	.main-company .list_box .contact > li a { padding: 15px 20px; }
}
@media all and (max-width:1000px) {
	.main-company .list_box .contact h4 { font-size:1.1em; }
	.main-company .list_box .contact .txt { font-size:13px; }
	.main-company.edit .title { font-size:40px; line-height: 1.2; letter-spacing:-0.01em; }
	.main-company.edit .desc { font-size:14px; }
	.main-company.edit .btn-view { font-size:16px; }
}
@media all and (max-width:560px) {
	.main-company .list_box .contact { flex-direction:column; }
	.main-company .list_box .contact > li + li { border-left:none; border-top:1px solid #fff; }
}

/* === main section === */
.main-section { padding-top:90px; }
.main-section:last-of-type { padding-bottom:90px; }
.main-section.visual { padding:0; }
.main-section.visual .swiper-slide { background: no-repeat 50% 90% / cover; display:flex; align-items:center; border-bottom:1px solid var(--oc-gray-1); }
.main-section.visual .swiper-slide .inner { padding-top:120px; padding-bottom:calc(120px + 40px); }
.main-section.visual .title { font-size:5em; font-weight:500; color:var(--oc-gray-9); line-height: 1.2; text-transform: uppercase; word-break:keep-all; text-align: center; }
.main-section.visual .title strong { color: var(--color-navy); font-weight:800; }
.main-section.visual .title img { max-height:3em; vertical-align:-0.15em; margin:0 0.1em; }
.main-section.visual .desc { font-size:1.25em; color:var(--oc-gray-8); font-weight:600; text-align: center; margin:25px 0 50px; }
.main-section.visual .btn-wrap { display:flex; justify-content:center; }
.main-section.visual .btn-view { display: inline-block; vertical-align: middle; padding:0.6em 30px 0.5em; background:var(--oc-indigo-9); border: 1px solid var(--oc-indigo-9);
	font-size:1.25em; font-family:var(--font-title); color: #fff; transition: var(--transition-slow); }
.main-section.visual .btn-view:hover { background: var(--color-navy); border-color:var(--color-navy); color: #fff; }
.main-section .list_box { display:grid; gap:20px; }
.main-section .list_box::after { display:none; }
.main-section .list_box li > a { display: block; height: 100%; padding: 25px 40px 30px; transition: var(--transition-fast); }
.main-section .list_box .tit { position: relative; padding-bottom: 10px; margin-bottom: 15px; font-size:1.7em; font-weight: 600; }
.main-section .list_box .tit:before { content: ''; position: absolute; left: 0; bottom:0; width:30px; height: 2px; background:var(--color-blue-gr); }
.main-section .list_box .txt { line-height: 1.4; }
.main-section .list_box .txt strong { font-size: 1.5em; display: inline-block; margin-bottom: 5px; line-height: 1.2; }
.main-section .list_box .dark .tit,
.main-section .list_box .dark .txt { color:#fff; }
.main-section .list_box .dark .tit:before { background:rgba(255,255,255,0.5); }
.main-section.biz .list_box { grid-template-columns: repeat(4, 1fr); }
.main-section.biz .list_box li > a { min-height:10rem; background-repeat: no-repeat; background-size: auto 60%; background-position: 95% 85%; transition: var(--transition-slow); }
.main-section.biz .list_box li > a:hover { background-position: 95% 75%; }
.main-section.biz .list_box li:nth-child(1) a { background-color:var(--color-navy); }
.main-section.biz .list_box li:nth-child(2) a { background-color:var(--oc-indigo-9); }
.main-section.biz .list_box li:nth-child(3) a { background-color:var(--color-blue-gr); }
.main-section.biz .list_box li:nth-child(4) a { background-color:var(--color-blue-ch); }
.main-section.biz .news-latest { grid-column: 1 / 5; grid-row: 2 / 3; background-color:var(--oc-gray-1); padding: 0 40px; }
.main-section.biz .news-latest dl { display: flex; align-items: center; height: 65px; }
.main-section.biz .news-latest dl dt { padding-right:30px; margin-right:30px; line-height:30px;
	font-size:1.1em; color: var(--oc-gray-8); font-family:var(--font-title); letter-spacing:-0.01em; font-weight: 600; border-right:1px solid var(--oc-gray-3); }
.main-section.biz .news-latest dl dd { flex:1; }
.main-section.biz .news-latest dl dd a { display:flex; align-items:center; gap:1rem; color: var(--oc-gray-8); font-size:1.1em; line-height:30px; }
.main-section.biz .news-latest dl dd a p { width:calc(100% - 5rem); white-space: nowrap; overflow: hidden; font-weight: normal; text-overflow: ellipsis; transition: var(--transition-fast); }
.main-section.biz .news-latest dl dd a span { margin-left:auto; font-size:0.9em; color:var(--oc-gray-6); }
.main-section.biz .news-latest dl dd a i { font-size:30px; color: var(--color-blue-gr); transition: var(--transition-fast); }
.main-section.biz .news-latest dl dd a:hover p { color:var(--oc-gray-9); font-weight:500; }
.main-section.biz .news-latest dl dd a:hover i { color:var(--color-navy); }
.main-section.contact .list_box { grid-template-columns: repeat(2, 1fr); }
.main-section.contact .list_box li:nth-child(2) { grid-column: 1 / 2; grid-row: 2 / 3; }
.main-section.contact .list_box li:nth-child(3) { grid-column: 2 / 3; grid-row: 1 / 2; }
.main-section.contact .list_box .tit { display:flex; }
.main-section.contact .list_box .tit i { margin-left:auto; font-size:1.5em; color:var(--color-blue-gr); }
.main-section.contact .list_box li a { background-color:var(--oc-gray-1); }
.main-section.contact .list_box li a:hover { background-color:var(--oc-gray-9); }
.main-section.contact .list_box li a:hover > * { color:#fff; }
.main-section.contact .list_box li a.kakao { background-color:#FFDE00; }
.main-section.contact .list_box li a.kakao > *,
.main-section.contact .list_box li a.kakao .tit i { color: #231916; }
.main-section.contact .list_box li a.bank { pointer-events: none; cursor: default; }
@media all and (max-width:1200px) {
	.main-section.visual .title { font-size:4em; }
	.main-section.visual .title img { max-height:1em; }
	.main-section.visual .swiper-slide .inner { padding-top:90px; padding-bottom:calc(90px + 40px); }
}
@media all and (max-width:1000px) {
	.main-section { padding-top:50px; }
	.main-section:last-of-type { padding-bottom:50px; }
	.main-section.visual { padding:0; }
	.main-section.visual .swiper-slide .inner { padding-top:70px; padding-bottom:calc(70px + 40px); }
	.main-section.visual .title { font-size:3em; }
	.main-section.visual .title img { max-height:0.9em; }
	.main-section.visual .desc { font-size:1em; margin:25px 0; }
	.main-section.visual .btn-view { font-size:1.1em; }
	.main-section .list_box { gap:15px; }
	.main-section .list_box li > a { padding: 15px 20px; }
	.main-section .list_box .tit { font-size:1.4em; }
	.main-section .list_box .txt strong { font-size:1.2em; }	
	.main-section .list_box .txt { font-size:14px; }
	.main-section.biz .news-latest { padding:0 20px; }
	.main-section.biz .news-latest dl dt { padding-right:20px; margin-right:20px; }
	.main-section.biz .news-latest dl dd a { font-size:1em; }
}
@media all and (max-width:770px) {
	.main-section.visual .swiper-slide .inner { padding-top:50px; padding-bottom:calc(50px + 40px); }
	.main-section.biz .list_box { grid-template-columns: repeat(2, 1fr); }
	.main-section.biz .list_box li > a { min-height:7rem; }
	.main-section.biz .news-latest { grid-column: 1 / 3; grid-row: 3 / 4; padding: 15px 20px; }
	.main-section.biz .news-latest dl { display:block; height:auto; }
	.main-section.biz .news-latest dl dt { line-height: 1.6; padding:0; margin-right:0; border:none; }
	.main-section.biz .news-latest dl dd a { line-height: 1.6; }
}
@media all and (max-width:560px) {
	.main-section.contact .list_box { display:flex; flex-direction:column; }
	.main-section.biz .news-latest dl dd a { font-size:14px; }
	.main-section.biz .news-latest dl dd a p { width:calc(100% - 64px - 1rem); }
	.main-section.biz .news-latest dl dd a span { right:0; }
	.main-section.biz .news-latest dl dd a i { display:none; }
}

.main-map { position:relative; padding:90px 0 30px; min-height:480px; }
.main-map #main_map { position:absolute; top:0; left:0; right:0; bottom:0; width:100%; height:100%; border: 1px solid var(--oc-gray-3); }
.main-map .inner { padding-left:60px; padding-right:60px; display:flex; align-items:flex-end; justify-content:center; height:100%; min-height:480px; z-index:1; }
.main-map .text-box { background: rgba(255,255,255,0.25); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); padding: 30px 40px; }
.main-map .text-box ul li { display:flex; font-size:15px; }
.main-map .text-box ul li strong { display:inline-block; width:4em; }
.main-map .text-box ul li span { display:inline-block; width:calc(100% - 4em); }
/* HTML marker styles */
.map-tag { background-color: white; border-radius: 8px; box-shadow: 0 2px 6px rgba(0,0,0,0.3); padding: 10px 15px; position: relative; transform: translateY(-8px); }
.map-tag .marker-title { color: var(--color-navy); font-family:var(--font-title); font-weight: 600; font-size: 16px; margin-bottom: 4px; }
.map-tag .marker-desc { color: var(--oc-gray-6); }
.map-tag::after { content: ""; position: absolute; left: 50%; top: 100%; transform: translate(-50%, 0); width: 0; height: 0; border-left: 8px solid transparent; border-right: 8px solid transparent; border-top: 8px solid #fff; }
@media all and (max-width:1000px) {
	.main-map .text-box { padding: 15px 20px; }
	.main-map .text-box ul li { font-size:14px; }
}

.bottom-box { display: flex; }
.bottom-box > div { flex: 1; text-align: center; padding:90px 80px; }
.bottom-box > div h3 { font-size:36px; font-weight: 600; padding-bottom: 20px; margin-bottom: 30px; border-bottom: 1px solid rgba(255,255,255,0.4); position:relative; }
.bottom-box > div h3 .info-txt {font-size:13px; font-weight: normal; color:var(--oc-gray-5); position:absolute; bottom:5px; right:0;}
.bottom-box .real-box { background:var(--color-navy); }
.bottom-box .real-box h3 { color: #fff; }
.bottom-box .real-box .style-table { margin-bottom:30px; }
.bottom-box .real-box .style-table table th,
.bottom-box .real-box .style-table table td	{ text-align:center; }
.bottom-box .real-box .style-table table tbody th { color:var(--oc-gray-1); }
.bottom-box .real-box .style-table table tbody td { color:var(--oc-gray-3); }
.bottom-box .real-box .style-table table tbody th,
.bottom-box .real-box .style-table table tbody td { border-color:rgba(255,255,255,0.4); padding:0.45rem 0.5rem; }
.bottom-box .calc-box { background:var(--oc-gray-1); }
.bottom-box .calc-box h3 { border-bottom: 1px solid #fff; }
.bottom-box .calc-box .order-table { background:#fff; max-width:600px; margin:0 auto 30px; padding: 5px 20px; }
.bottom-box .calc-box .order-table .select { width:100%; }
.bottom-box .calc-box #calc_result { margin-top:30px; }
.bottom-box .calc-box .style-table { background:#fff; max-width:600px; margin:0 auto 30px; padding: 20px; }
.bottom-box .calc-box .style-table tfoot { background:var(--oc-indigo-0); }
.bottom-box .calc-box .style-table tfoot th { color:var(--oc-indigo-6); }
.bottom-box .calc-box .style-table tfoot td span.num { color:var(--oc-indigo-6); font-weight:700; font-size:1.2em; }
.bottom-box .calc-box .style-table table tbody th,
.bottom-box .calc-box .style-table table tbody td,
.bottom-box .calc-box .style-table table tfoot th,
.bottom-box .calc-box .style-table table tfoot td { padding:0.35rem 0.5rem; }
.bottom-box a.btn-view { display: inline-block; vertical-align: middle; padding:0.6em 30px 0.5em; border: 1px solid; font-size:18px; font-family:var(--font-title); transition: var(--transition-slow); }
.bottom-box .real-box a.btn-view { border-color: var(--oc-gray-3); color: var(--oc-gray-1); }
.bottom-box .real-box a.btn-view:hover { background: #fff; border-color:#fff; color:var(--color-navy); }
.bottom-box .calc-box a.btn-view { border-color:var(--oc-gray-7); color: var(--oc-gray-8); }
.bottom-box .calc-box a.btn-view:hover { background: var(--color-navy); border-color:var(--color-navy); color: #fff; }
.bottom-box button.btn-view { display: inline-block; margin:3px 4px; vertical-align: middle; padding:0.6em 30px 0.5em; background: var(--oc-gray-8); border: 1px solid var(--oc-gray-8); font-size:18px; font-family:var(--font-title); color: #fff; transition: var(--transition-slow); }
.bottom-box button.btn-view:hover { background: var(--color-navy); border-color:var(--color-navy); color: #fff; }
@media all and (max-width:1400px) {
	.bottom-box > div { padding:90px 30px; }
}
@media all and (max-width:1000px) {
	.bottom-box { flex-direction: column; }
	.bottom-box > div { padding:50px 15px; }
	.bottom-box > div h3 { font-size:1.5em; padding-bottom: 20px; margin-bottom: 20px; }
	.bottom-box .real-box .style-table { padding: 0; }
	.bottom-box .real-box .style-table,
	.bottom-box .calc-box .order-table,
	.bottom-box .calc-box .style-table { margin-bottom:20px; }
	.bottom-box .calc-box #calc_result { margin-top:20px; }
	.bottom-box a.btn-view,
	.bottom-box button.btn-view { font-size:16px; }
}

#s-footer2 { padding:30px 0; background: var(--oc-gray-9); }
#s-footer2 .inner { position: relative; text-align: center; }
#s-footer2 .lnb { margin-bottom: 10px; }
#s-footer2 .lnb a { margin-right:10px; font-size:14px; color: var(--oc-gray-1); }
#s-footer2 .addr { font-size:14px; color: var(--oc-gray-5); line-height: 1.4; }
#s-footer2 .addr a { color: var(--oc-gray-4); }
#s-footer2 .copy { color: var(--oc-gray-6); }

.sub-visual { height:150px; display: flex; align-items: center; /* background: url(../img/sub/bg_subhead.jpg) no-repeat 50% 50%; */ border-bottom: 1px solid var(--oc-gray-3); }
.sub-visual .inner { /*padding-left: 150px;*/ flex: 1; text-align:center;  }
.sub-visual h2 { font-size:48px; padding-bottom: 10px; }
/* .sub-visual h2 span { color:[[CSS_a11]]; } */
.sub-visual .desc { font-size:14px; color:var(--oc-gray-8); }

.location { margin-bottom: 70px; background: #fbfbfb; border-bottom: 1px solid var(--oc-gray-3); }
.location .inner { display:flex; align-items:center; justify-content:flex-end; }
.location .inner span { display: inline-block; vertical-align: middle; line-height: 45px; font-size:14px; color: var(--oc-gray-9); font-weight: normal;
	/*padding-left:14px; margin-left: 10px; background: url(../data/hih_images/last/bu_location.png) no-repeat 0 50%;*/ }
.location .inner span:before { content:'\f0da'; font-family:var(--font-icon); color: var(--color-blue-ch); display: inline-block; font-weight:600; padding:0 10px; }
/*.location .inner span:first-child { background: none; }*/
.location .inner span:first-child:before { display:none; }
.location .inner span:last-child { font-weight: 600; }

.container { max-width:1310px; margin: 0 auto; padding:0 15px; margin-top:70px; }
.container.full { max-width:calc(100% - 30px); }
.container:after { display: block; content: ''; clear: both; }
.container .aside { float:left; width:260px; }
.container .aside h3 { font-size:26px; padding-bottom: 20px; font-size:26px; font-weight: 500; border-bottom: 1px solid var(--oc-gray-3); }
.container .aside nav ul li  { border-bottom: 1px solid var(--oc-gray-3); }
.container .aside nav ul li a { display: block; font-size:16px; font-weight: normal; color: var(--oc-gray-9); padding:14px 20px; position: relative; transition:var(--transition-slow);}
.container .aside nav ul li.active a,
.container .aside nav ul li a:hover{ font-weight: 600; color:var(--color-navy); }
.container .aside nav ul li a:before { content: ''; position: absolute;left: 0;right:0; top:0; bottom:-1px; border:2px solid var(--color-navy); box-shadow:4px 4px 5px rgba(0,0,0,0.05); transform: translateX(-5px); opacity:0; transition:var(--transition-slow); }
.container .aside nav ul li.active a:before,
.container .aside nav ul li a:hover:before{ transform: translateX(0); opacity:1;} 

.content { float:right; width:calc(100% - 260px - 30px); padding-bottom: 100px; }
.content h4 { font-size:30px; color:var(--oc-gray-9); border-bottom: 1px solid var(--oc-gray-3);  margin-bottom: 40px;  font-weight: 600;}
.content h4 p { display: inline-block; position: relative; padding-bottom: 15px;}
.content h4 p:before { content: ''; position: absolute;left: 0; bottom:-1px; height: 2px; right:0; background:var(--color-blue-ch);}
.content h4 small { font-size:13px; color: #999; margin-left: 15px; font-weight: normal;}

/* === table === */
.order-table table { width:100%; border-collapse: collapse; }
.order-table table th { font-family:var(--font-title); letter-spacing:-0.01em; font-size:15px; font-weight: 500; color: var(--oc-gray-8); text-align: left; white-space: nowrap; }
.order-table table th span:before { content: ''; display: inline-block; vertical-align: middle; width:2px; height: 2px; background: var(--oc-gray-8); margin:-2px 5px 0 0;}
.order-table table th span.required { background:none !important; }
.order-table table th span.required:after { content: ' *'; color: var(--oc-indigo-6); font-weight:700; }
.order-table table td { text-align: left; padding:5px 0; }
.order-table table td .box { display: flex; justify-content: center; }
.order-table table td .box .inp { flex: 1; }
.order-table table td .box span { flex: 0.2; text-align: center; line-height: 40px; color: var(--oc-gray-8); }
.order-table table td input[type=radio],
.order-table table td input[type=checkbox] { vertical-align: middle; height: 40px; }
.order-table table td label { vertical-align: middle; padding: 0 16px 0 4px; height: 40px; font-size: 15px; color: #282828; }
.order-table table td label.disabled { color: var(--oc-gray-5); font-weight:100; }
.order-table table td a { display:inline-block; padding-bottom:0; color:#cb3074; border-bottom:1px solid transparent; }
.order-table table td a:hover { border-bottom:1px solid #cb3074; }
.order-table table td.right { text-align:right; }
.order-table table thead th,
.order-table table tfoot th { height: 37px; font-weight: 500; font-size:15px; font-family:var(--font-title); letter-spacing:-0.01em; }
.order-table table tbody td,
.order-table table tfoot td { font-size:14px; padding:0.75em 0.5rem; padding-right:3px; }
.order-table table tbody td .txt { color:var(--oc-gray-6); }
.order-table table tbody td .inp + .txt { margin-top:3px; }
.order-table table tbody tr.receipt { display: none; }
table:has(#cash:checked) tr.receipt.cash,
table:has(#tax:checked) tr.receipt.tax { display: table-row; }

.style-table table { width:100%; border-collapse: collapse; border-top:1px solid var(--color-blue-ch); }
.style-table table th.t-center {text-align:center;}
.style-table table thead th { letter-spacing:-0.01em; background-color:var(--oc-gray-0); border-bottom: 1px solid var(--oc-gray-3); padding:0.5rem 1rem; color:var(--color-blue-ch); text-align:left; font-weight: 600; }
.style-table table tbody th,
.style-table table tfoot th { letter-spacing:-0.01em; border-bottom: 1px solid var(--oc-gray-3); padding:0.5rem 1rem; color:var(--oc-gray-9); font-weight: 500; text-align:left; }
.style-table table tbody td,
.style-table table tfoot td { border-bottom: 1px solid var(--oc-gray-3); padding:0.5rem 1rem; }
.style-table table tbody td.right,
.style-table table tfoot td.right { text-align:right; }
/* Max width before this PARTICULAR table gets nasty This query will take effect for any screen smaller than 760px and also iPads specifically. */
.style-table.b-center {position:relative;}
.style-table.b-center:after { display: block; content: ""; background: var(--oc-gray-3); width: 1px; height: calc(100% - 1px); position: absolute; top: 1px; left: 50%;}
@media only screen and (max-width: 760px), (min-device-width: 768px) and (max-device-width: 1024px) {
	.style-table table tbody th,
	.style-table table tfoot th,
	.style-table table tbody td,
	.style-table table tfoot td { font-size:14px; }

	.respon-table table thead th,
	.respon-table table tbody th,
	.respon-table table tfoot th { display:none; }
	.respon-table table thead th,
	.respon-table table tbody th,
	.respon-table table tbody td,
	.respon-table table tfoot th,
	.respon-table table tfoot td { padding:10px 6px; }

	/* Force table to not be like tables anymore */
	.respon-table table, .respon-table thead, .respon-table tbody, .respon-table tfoot, .respon-table th, .respon-table td, .respon-table tr { display: block; }
	
	/* Hide table headers (but not display: none;, for accessibility) */
	.respon-table table tbody td,
	.respon-table table tfoot td { position: relative; padding: 10px 6px 10px calc(6rem + 12px); border: none; border-bottom: 1px solid var(--oc-gray-3); font-size:14px; }
	.respon-table table tbody td:before,
	.respon-table table tfoot td:before { content: attr(data-label); /* Label the data */
		position: absolute; top: 10px; left:6px; width:6rem; margin-right:6px; white-space: nowrap; font-weight:500; font-size:14px; font-family:var(--font-title); letter-spacing:-0.01em; color:var(--oc-gray-9); text-align:left; }	
}

.subpage1 .text .t1 { font-family:var(--font-title); font-size:16px; color: var(--color-blue-ch); font-weight: 600; margin-bottom: 10px;  }
.subpage1 .text .t2 { font-size:30px; color: var(--oc-gray-9); font-weight: normal; line-height: 1.3; margin-bottom: 15px;  }
.subpage1 .text .t2 strong { color:var(--color-navy); font-weight: 700; letter-spacing:-0.01em; }
.subpage1 .text .t3 { font-size:16px; color: var(--oc-gray-8); margin-bottom: 10px; }
.subpage1 .box1 { padding:30px; background-color:rgba(var(--color-blue-gr-rgb), 0.15); display:flex; align-items:center; }
.subpage1 .box1 .text div:last-child { margin-bottom:0; }
.subpage1 .box1 .img { text-align:center; }
.subpage1 h5 { font-size:26px; color: var(--oc-gray-9); font-weight: 600; padding-left: 23px; position: relative; line-height: 25px; margin-bottom: 40px;  }
.subpage1 h5 span { font-size:16px; color:var(--color-blue-ch); margin-left: 15px; font-weight:600; }
.subpage1 h5 small { font-size:14px; color: #999; margin-left: 15px; font-weight: normal; }
.subpage1 h5:before { content: ''; position: absolute;left: 0; top:0; bottom:0; width:6px; background: var(--color-blue-ch); }
.subpage1 .list:after { display: block; content: ''; clear: both; }
.subpage1 .list {}
.subpage1 .list li { float:left; padding: 0 18px 20px; }
.subpage1 .list.col2 li {width:50%; }
.subpage1 .list.col3 li {width:33.3333%; }
.subpage1 .list.flex li {display:flex; flex-flow:column wrap; justify-content:center; align-items:flex-start; align-content:space-between; }
.subpage1 .list li .t1 { font-size:26px; color: var(--oc-gray-9); font-weight: normal; margin-bottom: 10px;  }
.subpage1 .list li .t2 { font-size:14px; color: #999; line-height: 20px; overflow: hidden; margin-bottom: 20px; }
.subpage1 .list.col2 li .t2 { height: calc(20px *3); }
.subpage1 .list.col3 li .t2 { height: calc(20px *4); }
.subpage1 .list.flex.col3 li .t2 { height: calc(20px *3); }
.subpage1 .list li .img { margin-bottom: 12px; }
.subpage1 .list li dl:after { display: block; content: ''; clear: both; }
.subpage1 .list li dl { font-size:14px; color: var(--color-blue-ch); padding:8px 0; }
.subpage1 .list li dl + dl { border-top:1px solid var(--oc-gray-3); }
.subpage1 .list li dl dt { float:left; width:90px; font-weight: 500;}
.subpage1 .list li dl dd { color: var(--oc-gray-9); }
.subpage1 .box { display:flex; flex-flow:row wrap; justify-content:center; align-items:center; align-content:center; }
.subpage1 .box a.btn-view { display: inline-block; margin:3px 4px; vertical-align: middle; padding:0.6em 30px 0.5em; border: 1px solid var(--oc-gray-7); font-size:18px; font-family:var(--font-title); color: var(--oc-gray-8); transition: var(--transition-slow); }
.subpage1 .box a.btn-view:hover { background: var(--color-navy); border-color:var(--color-navy); color: #fff; }
.subpage1 .box button.btn-view { display: inline-block; margin:3px 4px; vertical-align: middle; padding:0.6em 30px 0.5em; background: var(--oc-gray-8); border: 1px solid var(--oc-gray-8); font-size:18px; font-family:var(--font-title); color: #fff; transition: var(--transition-slow); }
.subpage1 .box button.btn-view:hover { background: var(--color-navy); border-color:var(--color-navy); color: #fff; }
.subpage1 .slogan { font-size:1.5em; font-family:var(--font-title); font-weight:500; letter-spacing:-0.01em; }
.subpage1 .slogan:before { content:'“ '; }
.subpage1 .slogan:after { content:' ”'; }
@media all and (max-width:1000px) {

}
@media all and (max-width:770px) {
	.subpage1 .slogan { font-size:20px; }
}

.subpage1 .swiper-container { width: 100%; margin-left:auto; margin-right:auto; }
.subpage1 .swiper-slide { background-repeat:no-repeat; background-size: cover; background-position: 50% 50%; }
.gallery-top { height: 560px; width: 100%; }
.gallery-thumbs { height: 150px; box-sizing: border-box; padding: 10px 0; margin-bottom:60px; }
.gallery-thumbs .swiper-slide { width: 20%; height: 100%; opacity: 0.4; }
.gallery-thumbs .swiper-slide-thumb-active { opacity: 1; }
@media all and (max-width:1000px) {
	.gallery-top { height: 400px; }
	.gallery-thumbs { height: 100px; }
}
@media all and (max-width:560px) {
	.gallery-top { height: 300px; }
	.gallery-thumbs { height: 80px; }
}

/*********************************************************************************************************************************************************************
	Mediaquery
*********************************************************************************************************************************************************************/

@media all and (max-width:1400px) {
	/* #s-gnb2 { margin: 0 140px 0 240px; }*/
	#s-gnb2 > ul > li { padding:0 10px; }
	#s-gnb2 .dep2 { padding: 15px 10px 0; }
	#s-header2 .menu .btn1,
	#s-header2 .menu .btn2 { display: none; }
	.all-menu .body .menu dl dd ul li a { font-size: 1.2rem; }
	.main-visual4 { height: auto; padding-bottom: 30px; }
	.main-visual4 .slider-box .article .text > div { padding-left: 0; }
	.main-visual4 .btn-wrap { left: 0px; bottom: 50px; }
	/*.main-visual4 .biz-list ul li { background-size:auto 70%; }*/
	.main-biz .text h3 {font-size:40px;}
	/*.main-company .list_box > li, .main-company .list_box > li:nth-child(4) { background-size:100%; }*/
	.main-company .list_box > li:nth-child(5) .box > a .status em { width:55%; font-size:30px;}
	.main-company .list_box > li:nth-child(5) .box > a .status .info { width:45%; }
	.main-company .list_box > li:nth-child(5) .box > a .status .info dl dt { width:4em; }
	.main-company .list_box > li:nth-child(5) .box > a .status .info dl dd { width:calc(100% - 4em); }
	.container.full { max-width:100%; }
	.container .aside { display: none; }
	.content { float:none; width:auto; padding-bottom: 50px;  }
	.subpage1 .list li .img img { width:100%; }
}
@media all and (max-width:1000px) {
	body { padding-top:45px; }
	br.pc { display:none; }
	#s-gnb2 { display:none; }
	#s-header2 { height:45px; position: fixed; left: 0; right:0; top:0; border-bottom: 1px solid var(--oc-gray-3); background: #fff; z-index:100; }
	#s-header2 h1 { position:static; text-align:center; height:45px; width:110px; }
	#s-header2 h1 span img { max-height:35px;  }
	#s-header2 .btn-all { display:block; padding-top:12px; height:43px; margin-right:0; }
	#s-header2 .menu { height: 45px; }	
	#s-header2 .lang { display: none; }
	#s-header2 .btn-all { }
	#s-header2 .cert { margin-right:0.5rem; }
	#s-header2 .cert img { max-height:29px; }
	#s-header2 .cert .txt { font-size:12px; }

	.all-menu { display:none; }
	.all-menu { display: block; left:inherit; width:100%; right:-100%; transition: var(--transition-fast); -webkit-transition: var(--transition-fast); }	
	.all-menu .logo {  position: absolute;left: 15px; top:15px; height:37px; }
	.all-menu .logo img { max-height:37px; }
	.all-menu .btn-close { right:15px; top:20px; width:27px; height: 27px; }
	body.mobile { overflow: hidden !important;  }
	body.mobile .all-menu .head .btn-close { transform: rotate(180deg)}
	.all-menu .lang { right:70px; top:17px; }
	.all-menu .body { position: absolute; left: 0; right:0; top:70px; bottom:0; overflow: auto; background: none; }
	.all-menu .body .menu { position: static; transform: translateY(0); -webkit-transform: translateY(0); padding:0;border: 0;}
	.all-menu .body .menu dl { margin-bottom: 0; border-bottom: 0;  }
	.all-menu .body .menu dl dt { float: none; width:auto; margin: 0; }
	.all-menu .body .menu dl dt a { line-height: 1.4; padding:5px 0 0 15px; font-size:28px;  }
	.all-menu .body .menu dl dt.active a { }
	.all-menu .body .menu dl dd { display: none; background: #fff; padding:10px 0; }
	.all-menu .body .menu dl dd ul li { float:none; width:auto; padding:0; }
	.all-menu .body .menu dl dd ul li a { padding:5px 0 5px 15px; font-size:1.2rem; line-height: 1.4; border: 0;}
	
	body.mobile .all-menu { right:0; opacity:1;}
	body.mobile .bg-allmenu { content: ''; position: fixed; left: 0; right:0; top:0; bottom:0; background: rgba(0,0,0,0.7); z-index:1050;}
	
	.main-visual4:before { height: 150px; }
	.main-visual4 .btn-wrap { left: 0; right:0; bottom:15px; text-align: center; }
	.main-visual4 .btn-wrap .swiper-pagination { position: static; display: inline-block; }
	.main-visual4 .slider-box { height: auto; }
	.main-visual4 .slider-box .article { padding:30px 0 50px; flex-direction: column; text-align: center; }
	.main-visual4 .slider-box .article .text > div { padding: 0; }
	.main-visual4 .slider-box .article .text h2 { font-size:40px; line-height: 1.2; letter-spacing:-0.01em; }
	.main-visual4 .slider-box .article .text .txt { font-size:14px; }
	/* .main-visual4 .slider-box .article .text .txt br { display: none; } */
	.main-visual4 .slider-box .article .img { width:100%; text-align: center; }
	.main-visual4 .slider-box .article .img img { max-height: 180px; }
	.main-visual4 .slider-box .article .text .btn-view,
	.main-about .box .btn-view,
	.subpage1 .box a.btn-view,
	.subpage1 .box button.btn-view { font-size:16px; }
	.main-visual4 .biz-list ul { width:100%; display: block; }
	.main-visual4 .biz-list ul li { float:left; width:33.3333%; }
	.main-visual4 .biz-list ul li a { height: 180px; padding:20px; background-size:auto 150px;  }
	.main-visual4 .biz-list ul li a h3 { font-size:16px; }
	.main-visual4 .biz-list ul li a h3 span { font-size:20px; }
	.main-visual4 .biz-list ul li a .txt { font-size:13px; margin:10px 0 15px;}	
	
	.main-visual4 .news-latest dl { height: 40px; }
	.main-visual4 .news-latest dl dt { width:90px; margin-right:10px; font-size:14px; line-height: 14px;  }
	.main-visual4 .news-latest dl dd { width:calc(100% - 100px); }
	.main-visual4 .news-latest dl dd a { font-size:13px; padding-right:10px; }
	.main-visual4 .news-latest dl dd a p { max-width:100%; }
	.main-visual4 .news-latest dl dd a span { display: none; }
	.main-visual4 .news-latest dl dd a em { display: none; }
	
	.news-list { padding:40px 0; }
	.news-list h2 b { font-size:22px; padding:0 20px; }
	.news-list .desc { font-size:14px; margin-bottom: 30px; }
	.news-list ul { margin:0 -5px; }
	.news-list ul li { width:50%; padding:0 5px 20px; }
	.news-list ul li a img { width:100%; }
	.news-list ul li a .info { padding-top:15px; }
	.news-list ul li a .info dl dt { font-size:16px; }
	.news-list ul li a .info dl dd { font-size:13px; }
	.news-list ul li:nth-child(odd) { clear: both; }
	
	.main-biz { height: auto; background-image:none;}
	.main-biz .inner { height: auto; }
	.main-biz .img { display: none; }
	.main-biz .text { padding:20px 0; }
	.main-biz .text h3 { font-size:25px; }
	.main-biz .text .t1 { font-size:20px; }
	.main-biz .text .t2 { font-size:14px; }
	
	.main-about { padding:40px 0; }
	.main-about h2 b { font-size:22px; padding:0 20px; }
	.main-about .desc { font-size:14px; margin-bottom: 30px; }
	.main-about ul li { display:block; float:none; width:auto; margin-bottom: 25px; text-align:center; }
	.main-about ul li img { /*height: 130px;*/ }
	.main-about ul li dl { padding-top:10px; }
	.main-about ul li dl dt { /*font-size:20px;*/ font-size:16px; margin-bottom:0; }
	.main-about ul li dl dd { font-size:13px; }
	
	.main-company { padding:40px 0;}
	.main-company h2 b { font-size:22px; padding:0 20px; }
	.main-company .desc { font-size:14px; margin-bottom: 30px; }
	.main-company .list_box { flex-direction:row; flex-wrap:wrap; }
	.main-company .list_box > li { flex:1 1 50%; height: 140px !important; }
	.main-company .list_box > li:last-child { flex:1 1 100%; position: static; }
	.main-company .list_box > li .box { position: relative; height: 140px; }
	.main-company .list_box > li .box > a { padding:15px 20px; position: relative; }
	.main-company .list_box > li .box > a h3 { font-size:20px; }
	.main-company .list_box > li .box > a .txt { font-size:13px; }
	/*
	.main-company .list_box > li:nth-child(1), .main-company .list_box > li:nth-child(2),
	.main-company .list_box > li:nth-child(3), .main-company .list_box > li:nth-child(4) { background-size:auto 100%; }
	.main-company .list_box > li:nth-child(4) .box:before { content: ''; position: absolute;left: 0; right:0; top:0; bottom:0; background: rgba(0,0,0,0.5); } */
	.main-company .list_box > li:nth-child(4) .box > a { position: relative; z-index:2; }
	/* .main-company .list_box > li:nth-child(4) .box > a h3 ,
	.main-company .list_box > li:nth-child(4) .box > a .txt { color: #fff; }
	.main-company .list_box > li:nth-child(4) .box > a h3:before { background: #fff;} */
	.main-company .list_box > li:nth-child(5) .box > a .txt { margin-left: 5px; }
	.main-company .list_box > li:nth-child(5) .box > a .status strong { font-size:30px; line-height: 80px;  }
	.main-company .list_box > li:nth-child(5) .box > a .status .info dl { font-size:13px; }
	
	.content h4 { margin-bottom: 15px; font-size:20px; }
	.content h4 small { display: block; font-size:13px; margin: 0; }
	.subpage1 .box1 { padding:15px; }
	.subpage1 .text .t1 { font-size:14px; }
	.subpage1 .text .t2 { font-size:24px; }
	.subpage1 .text .t3 { font-size:15px; }
	.subpage1 h5 { font-size:20px; margin-bottom: 20px; }
	.subpage1 h5 small { display: block; font-size:13px; margin: 0; line-height:1.5; padding-top:5px; }
	.subpage1 .list { margin:0 -10px; display: flex; flex-flow: wrap; align-items: flex-end; }
	.subpage1 .list li { padding:0 10px 20px;}
	.subpage1 .list li .t1 { font-size:18px; }
	.subpage1 .list li .t2 { font-size:14px; }
	.subpage1 .list li dl { font-size:13px; }
	.subpage1 .list li dl dt { width:50px; }
	.subpage1 .list li dl dd { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

	.sub-visual { height: 100px;  position: relative; margin-bottom: 30px;}
	.sub-visual:before { content: ''; position: absolute;left: 0; right:0; top:0;bottom:0; background: #f9f9f9; }
	.sub-visual .inner { padding-left:0; text-align: center; position: relative; z-index:2; }
	.sub-visual h2 { font-size:20px; padding-bottom: 5px; }
	.sub-visual .desc { font-size:14px; }
	.sub-visual.sub_10 h2, .sub-visual.sub_20 h2, .sub-visual.sub_30 h2, .sub-visual.sub_40 h2 { color: var(--oc-gray-7); }
	.sub-visual.sub_10 h2 span, .sub-visual.sub_20 h2 span, .sub-visual.sub_30 h2 span, .sub-visual.sub_40 h2 span { color:var(--color-navy);}
	.sub-visual.sub_10 .desc, .sub-visual.sub_20 .desc, .sub-visual.sub_30 .desc, .sub-visual.sub_40 .desc { color: var(--oc-gray-7); }
	.location { display: none; }
	
	#s-footer2 { text-align:center; }
	#s-footer2 .inner { padding: 0 15px; }
	#s-footer2 .lnb a { font-size:12px; }
	#s-footer2 .addr { font-size:12px; margin-bottom: 15px;  }
	#s-footer2 .copy { font-size:11px; }
	
	#s-footer2 .menu a { margin-bottom: 15px;}
	#s-footer2 .menu a p { width:80px; height: 80px; }
	#s-footer2 .menu a p span img { max-width:50px; max-height: 40px; }
	#s-footer2 .menu a strong { font-size:13px; padding-top:10px; }
	#s-footer2 .inner + .inner { margin-top:10px;}
	
	.main-visual4 .biz-list ul li,
	.main-company .list_box > li { background-size:108px; }

}
@media all and (max-width:770px) {
	br.ta { display:none; }
	.main-visual4 .biz-list ul li { float:none; width:100%; }
	.gall_row .col-gn-3,
	.gall_row .col-gn-4 {width:50%;}
	.main-company .list_box { flex-direction:column; }
	.main-company .list_box > li { flex:auto !important; min-height:100px; height:auto !important; }
	.main-company .list_box > li .box { height:100%; min-height:100px; }
	.main-company .list_box > li .box > a { height:100%; }
	
	.main-visual4 .biz-list ul li,
	.main-company .list_box > li { background-size:96px; }

	.subpage1 .list.col2 li,
	.subpage1 .list.col3 li { width:100%; }
	.subpage1 .list li .t2 { overflow:visible; }
	.subpage1 .list.col2 li .t2,
	.subpage1 .list.col3 li .t2 { height: auto; }
	.subpage1 .list.flex li {padding:0 10px 10px; align-items:center;}
	.subpage1 .list.flex li:nth-child(odd) {flex-flow:row wrap; }
	.subpage1 .list.flex li:nth-child(even) {flex-flow:row-reverse wrap; }
	.subpage1 .list.flex li .txt {flex:1;}
	.subpage1 .list.flex li:nth-child(odd) .txt {padding-right:15px;}
	.subpage1 .list.flex li:nth-child(even) .txt {padding-left:15px;}
	.subpage1 .list.flex li .img {flex:1; }

	.order-table table { display: block; }
	.order-table table tbody,
	.order-table table tfoot,
	.order-table table th,
	.order-table table tr,
	.order-table table td { display: block; }
	.order-table table th {padding-left:3px;}
	.order-table table td .box .inp { width:30%; }
	.order-table table tbody td,
	.order-table table tfoot td { padding: 3px 3px 1em; }
	table:has(#cash:checked) tr.receipt.cash,
	table:has(#tax:checked) tr.receipt.tax { display: block; }
}

.w100p { width:100% !important; }
#map1 { width:100%; height:600px; border: 1px solid var(--oc-gray-3); margin-bottom: 45px; }