@charset "utf-8";

#visual {
	position: relative;
	margin-bottom: 8rem;
}

.main-visual {
	position: relative;
}

.visual-slide-bg,
.visual-slide-bg .slogan-img,
.visual-slide-bg .slogan-img img {
	height: 60rem;
	object-fit: cover;
}

.visual-slide-bg {
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(-50%);
	width: 172rem;
	max-width: calc(100% - 24px - 24px);
	margin: 0 auto;
	border-radius: 32px;
	line-height: 0;
	font-size: 0;
	overflow: hidden;
	z-index: -1;
}

.visual-slide-bg .icon-img {
	position: absolute;
	/* right: calc(44rem + 16rem + 5.5rem); */
	right: 38%;
	bottom: 0;
}

.visual-slide {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	height: 60rem;
	width: 140rem;
	max-width: calc(100% - 24px - 24px - 10rem);
	margin: 0 auto;
	padding: 4rem 44rem 4rem 0;
}

.visual-slide-txt {
	width: 100%;
}

.slogan-txt .slogan-sm {
	display: block;
	margin-bottom: 0.8rem;
	color: #00754A;
	font-weight: 700;
	font-size: 1.8rem;
}

.slogan-txt .slogan-tit {
	display: block;
	color: #222;
	font-weight: 700;
	font-size: 5.2rem;
	margin-bottom: 2.4rem;
	line-height: 125%;
}

.slogan-txt .slogan-txt {
	color: #333;
	font-family: Pretendard;
	font-size: 18px;
	font-style: normal;
	font-weight: 500;
	line-height: 150%;
}

.slogan-txt .slogan-txt .point-color01 {
	color:#00754A; 
}

.slogan-txt .more {
	border-radius: 22.2rem;
	background: #FFF;
	box-shadow: 0 0 2rem 0 rgba(0, 0, 0, 0.05);
	display: inline-flex;
	height: 4.8rem;
	padding: 0 2rem;
	align-items: center;
	gap: .8rem;
	margin-top: 5rem;
}

.slogan-txt .more:hvoer {
	text-decoration: none;
}

.slogan-txt .more span {
	color: #333;
	text-align: center;
	font-family: Pretendard;
	font-size: 1.6rem;
	font-style: normal;
	font-weight: 500;
	line-height: normal;
}

.slogan-txt .more i {
	font-size: 1.8rem;
}

.slogan-txt .slogan-tit .point-color01 {
	color: #00754A;
}

.visual-slide .slider-btn-wrap {
	width: 100%;
}

.visual-slide .slider-btn-wrap .controller {
	display: flex;
	align-items: center;
	color: #424242;
}

.visual-slide .slider-btn-wrap .current_slide,
.visual-slide .slider-btn-wrap .total_slides {
	display: inline-block;
	width: 2rem;
	margin-top: 1px;
	line-height: 1.6;
	color: #757575;
	font-size: 1.6rem;
}

.visual-slide .slider-btn-wrap .current_slide {
	color: #424242;
	font-weight: 600;
}

.main-visual .slider-timer {
	display: flex;
	align-items: center;
	width: 10rem;
	margin: 0 1.2rem;
}

.main-visual .slider-timer .slider-timer-bar {
	position: relative;
	width: 100%;
	height: 0.3rem;
	background-color: #fff;
}

.main-visual .slider-timer .slider-timer-bar::after {
	content: "";
	position: absolute;
	top: 0;
	width: 0;
	height: 4px;
	background-color: #00754A;
}

.main-visual .slider-timer .slider-timer-bar.on::after {
	animation: playBar 10s ease-out;
	width: 100%;
}

.main-visual .slider-timer .slider-timer-bar.pause::after {
	animation-play-state: paused;
}

.main-visual .slider-timer .slider-timer-bar.play::after {
	animation-play-state: running;
}

@keyframes playBar {
	0% {
		width: 0;
	}

	100% {
		width: 100%;
	}
}

.main-visual .slider-btn {
	margin-left: 2.4rem;
	line-height: 1;
}

.main-visual .slider-btn button {
	display: inline-block;
	width: 1.8rem;
	height: 1.8rem;
	line-height: 1;
	border: 0;
	color: #424242;
	font-size: 1.8rem;
}

.main-visual .slider-btn button + button {
	margin-left: 0.6rem;
}

.current-status {
	position: absolute;
	right: 0;
	width: 44rem;
}

.current-status h2 {
	display: block;
	margin-bottom: 1.4rem;
	color: #222;
	font-weight: 700;
	font-size: 2.4rem;
}

.current-status > ul {
	margin-bottom: 1.2rem;
}

.current-status > ul > li + li {
	margin-top: 1.4rem;
}

.current-status .status-box {
	display: flex;
	align-items: center;
	min-height: 10rem;
	padding: 0 3.2rem;
	background-color: #00754A;
	border-radius: 8px;
	color: #fff;
}

.current-status .status-box .tit {
	display: inline-block;
	width: 12rem;
	font-size: 1.8rem;
	font-weight: 700;
}

.current-status .status-box .tit i {
	display: inline-block;
	margin-right: 0.8rem;
	font-weight: normal;
	opacity: 0.4;
}

.current-status .status-box .num-count {
	width: calc(100% - 12rem);
	text-align: right;
	line-height: 1.5;
	font-size: 1.6rem;
	font-weight: 400;
}

.current-status .status-box .num-count .num {
	display: inline-block;
	margin-right: 0.8rem;
	line-height: 1;
	font-size: 4rem;
	font-weight: 700;
}

.current-status .status-add {
	display: block;
	text-align: right;
	color: #757575;
	font-size: 1.6rem;
}

.current-status .more {
	position: absolute;
	right: 0;
	top: 0;
	display: inline-block;
	width: 2.4rem;
	height: 2.4rem;
	color: #222;
	font-size: 2.4rem;
}

.current-status .more:hover,
.current-status .more:focus {
	text-decoration: none;
}


#section01 {
	margin-top: 8rem;
}

#section01 > .container {
	display: flex;
	flex-flow: wrap;
}

#section01 > .container:has(.bannerEmpty) .main-board { 
	width:100%; 
	margin-right:0;  
} 

#section01 h2 {
	display: inline-block;
	margin-bottom: 2.4rem;
	font-size: 3.2rem;
	font-weight: 700;
}

.main-board {
	width: calc(100% - 44rem - 4rem);
	margin-right: 4rem;
}

.board-container {
	position: relative;
}

.main-board .board-tab {
	position: relative;
	display: flex;
	gap: 3px;
	margin-bottom: 1.6rem;
	padding-right: 5.5rem;
}

.main-board .board-tab:before {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	display: block;
	width: 100%; 
	height: 2px;
	background-color: #333;
}

.main-board .board-tab > li a {
	position: relative;
	display: inline-block;
	padding: 1.4rem 2.4rem;
	border-radius: 5px 5px 0 0;
	background: #F8F8F8;  
	line-height: 1.5;
	color: #555;    
	font-weight: 500;   
	font-size: 1.8rem;  
}

.main-board .board-tab > li a:hover,
.main-board .board-tab > li a:focus {
	text-decoration: none;
}

.main-board .board-tab > li.active a {
	background-color: #fff;
	border: 2px #333 solid;
	border-bottom: 0;
	font-weight: 700;  
	color:#333;
}

.main-board .board-cont-box .board-cont {
	display: none;
}

.main-board .board-cont-box .board-cont > ul {
	min-height: 34.6rem;
}

.main-board .board-cont-box .board-cont .more {
	position: absolute;
	right: 0;
	top: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 5.5rem;
	height: 5.5rem;
	color: #222;
	font-size: 2.2rem;
}
.main-board .board-cont-box .board-cont .more i { font-size:2.4rem;color:#222; }   

.main-board .board-cont-box .board-cont .more:hover,
.main-board .board-cont-box .board-cont .more:focus {
	text-decoration: none;
}

.main-board .board-cont-box .board-cont .board-list01 > li {
	display: flex;
	align-items: center;
	padding: 2rem 2.4rem;
}

.main-board .board-cont-box .board-cont .board-list01 > li + li {
	border-top: 1px #ddd solid;
}

.main-board .board-cont-box .board-cont .board-list02 {
	display: flex;
	gap: 3.1rem;
	padding: 1.4rem 2.4rem 2.4rem;
	border-bottom: 1px #ddd solid;
}

.main-board .board-cont-box .board-cont .board-list02 > li {
	flex: 1;
	overflow: hidden;
}

.main-board .board-cont-box .board-cont .tit {
	/* display: -webkit-box; */
	position: relative;
	display: inline-block;
	text-overflow: ellipsis;
	white-space: nowrap;
	line-height: 1.5;
	color: #424242;
	font-weight: 500;
	font-size: 1.8rem;
	overflow: hidden;
}

.main-board .board-cont-box .board-cont .tit .new {
	display: inline-block;
	width: 2rem;
	height: 2rem;
	background-color: #EB7500;
	border-radius: 50rem;
	vertical-align: text-top;  
	color: #fff;
}

.main-board .board-cont-box .board-cont .tit .new:before {
	content: 'N';
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	line-height: 1;
	font-size: 1.2rem;
	font-weight: 700;
	font-style: normal;
}

.main-board .board-cont-box .board-cont .date {
	display: inline-block;
	color: #757575;
	font-size: 1.6rem;
}

.main-board .board-cont-box .board-cont .board-list01 .tit {
	width: calc(100% - 9rem);
	padding-right: 2.6rem;
}

.main-board .board-cont-box .board-cont .board-list01 .date {
	width: 9rem;
	text-align: right;
	line-height: 1;
}

.main-board .board-cont-box .board-cont .board-list02 .thumb {
	display: block;
	width: 100%;
	max-width: 27rem;
	height: 18.5rem;
	margin-bottom: 1.6rem;
	border-radius: 4px;
	background-color: #fafafa;
	overflow: hidden;
}

.main-board .board-cont-box .board-cont .board-list02 .thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.main-board .board-cont-box .board-cont .board-list02 .tit {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	white-space: normal;
	margin-bottom: 2.2rem;
}

.no-board {
	width: 100%;
	padding: 10rem 0;
	text-align: center;
	font-size: 1.8rem;
}

.main-popup-zone {
	position: relative;
	width: 44rem;
	padding-top:5.7rem;
}

.main-popup-zone .main-popup-slide {
	width: 44rem;
	height: 41.8rem;
	border-radius: 16px;
	line-height: 0;
	font-size: 0;
	overflow: hidden;
}

.main-popup-zone .main-popup-slide a {
	display: block;
	width: 44rem;
	height: 41.8rem;
	outline-offset: -3px;
	border-radius: .8rem; 
}

.main-popup-zone .main-popup-slide img {
	width: 100%;
	height: 100%;
}

.main-popup-zone .slider-btn-wrap {
	position: absolute;
	top: 1rem;
	right: 0;  
} 

.main-popup-zone.bannerEmpty {
	display:none;
}
.main-popup-zone.bannerEmpty .slider-btn-wrap {
	display:none;
}

.main-popup-zone .controller {
	display: flex;
	align-items: center;
}

.main-popup-zone .controller .slider-num {
	display: inline-block;
	margin-right: 1.6rem;
	color: #454545;
	font-size: 1.6rem;
}

.main-popup-zone .controller .slider-num .current_slide,
.main-popup-zone .controller .slider-num .total_slides {
	display: inline-block;
	color:#757575; 
}
.main-popup-zone .controller .slider-num .current_slide {
	color:#424242;
	font-weight:700;
}

.main-popup-zone .controller .slider-num .current_slide {
	position: relative;
	padding-right: 1.8rem;
	margin-right: 0.8rem;
}

.main-popup-zone .controller .slider-num .current_slide:after {
	content: "";
	position: absolute;
	top: 50%;
	right: 0;
	display: block;
	width: 1rem;
	height: 1px;
	background-color: #757575;
}

.main-popup-zone .slider-btn button {
	display: inline-block;
	width: 2rem;
	height: 2rem;
	line-height: 1;
	border: 0;
	color: #424242;
	font-size: 2rem;
}

.main-popup-zone .slider-btn button + button {
	margin-left: 2px;
}

.business-perform {
	display: flex;
	justify-content: space-between;
	width: 100%;
	margin: 10rem 0 0;
}

#section01 h2.perform-title {
	margin: 0;
	padding-right: 2rem;
	color: #222;
	font-size: 3.2rem;
	font-weight: 400;
}

.perform-title strong {
	font-weight: 700;
}

.perform-list {
	display: flex;
	gap: 5rem;  
}
   
.perform-list .perform-box {
	display: flex;
	align-items: center;
	gap:2.4rem;
}

.perform-list .perform-box .icon {
	width: 9rem;
	height: 9rem;
	overflow: hidden;
}

.perform-list .perform-box .icon + div {
	width: calc(100% - 9rem - 2.4rem);
}

.perform-list .perform-box .tit {
	display: block;
	color: #424242;
	font-size: 2.4rem;
	font-weight: 700;  
}

.perform-list .perform-box:hover .tit {
	text-decoration: underline;  
}

.perform-list .perform-box .tit i {
	font-weight: normal;
	opacity: 0;
	transition: all 0.5s;
}

.perform-list .perform-box .txt {
	display: block;
	color: #757575;
	font-size: 1.8rem;
}

.perform-list a:hover,
.perform-list a:focus {
	text-decoration: none;
}

.perform-list a:hover .tit i,
.perform-list a:focus .tit i {
	opacity: 1;
	transition: all 0.5s;
}

#section02 {
	position: relative;
	margin: 10rem 0 0;
}

#section02.bannerEmpty {
	margin: 10rem 0 8rem 0;
}

#section02:before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	display: block;
	max-width: 1720px;
	width: 100%;
	height: 100%;
	background: linear-gradient(90deg, #F4F8FB 0%, #F3FAF9 100%);     
	border-radius: 32px;
	z-index: -1;   
}

.intro-link {
	position: relative;
	padding: 10rem 0; 
}

.intro-link .biko { content:"";
display:block;
width: 60rem;
 position:absolute;
 top:50%;   
 right:0;
 transform:translateY(-50%); }
    
.intro-link .title {    
	display: block;  
	margin-bottom: 2.4rem;
	color: #222;
	font-size: 3.6rem;
	font-weight: 400;  
} 
 
.intro-link .title .point-color01 {
	color: #00754A;
	font-weight:700;
}

.intro-link .link-more {
	display: inline-flex;
	height: 4.8rem;
	padding: 0 2.4rem;
	align-items: center;
	gap: .8rem;
	background: #00754A;
	border-radius: 22.2rem;
	text-decoration: none !important; 
}

.intro-link .link-more span {
	color: #fff;
	font-size: 1.6rem;
	font-weight: 500;
}

.intro-link .link-more i {
	color: #fff;
	font-size: 1.8rem;
}
