@charset 'utf-8';
* {
	margin: 0px;
	padding: 0px;
	box-sizing: border-box;
}
ul,
ol {
	list-style: none;
}
a {
	text-decoration: none;
}

/* header */
header {
	width: 100%;
	border-bottom: 1px solid #ddd;
}
header .inner {
	width: 1180px;
	height: 120px;
	margin: 0px auto;
	position: relative; /*자식 absolute 요소의 기준점 설정*/
}
header .inner h1 {
	position: absolute;
	left: 0px;
	bottom: 15px;
}
header .inner h1 a {
	font: bold 24px/1 "arial";
	color: #444;
}
header .inner .util {
	position: absolute;
	top: 20px;
	right: 30px;
}
header .inner .util li {
	float: left;
}
header .inner .util li a {
	display: block;
	font: 12px/1 "arial";
	color: #999;
	padding: 0px 10px;
}
header .inner #gnb {
	position: absolute;
	bottom: 0px;
	right: 0px;
}
header .inner #gnb li {
	float: left;
}
header .inner #gnb li a {
	display: block; /*인라인 요소는 block설정하여 크기를 조절가능*/
	font: bold 15px/1 "arial";
	color: #555;
	padding: 20px 40px;
	transition: all 0.5s;
}
header .inner #gnb li a:hover {
	background: #555;
	color: #fff;
}
figure {
	width: 100%;
	height: calc(100vh - 120px); /*전체 브라우저 높이에서 120px만큼 빼줌*/
	background: #000;
	position: relative;
	overflow: hidden;
	padding-top: 250px;
}
figure video {
	object-fit: cover; /*영상을 figure안쪽에 꽉 차도록 설정*/
	width: 100%;
	height: 100%;
	opacity: 0.3;
	position: absolute;
	top: 0px;
	left: 0px;
}
figure .inner {
	width: 1180px;
	margin: 0px auto;
	position: relative;
}
figure .inner h1 {
	font: normal 60px/1 "arial";
	color: #ff966d;
	margin-bottom: 20px;
}
figure .inner p {
	font: 40px/1.4 "arial";
	color: #888;
	margin-bottom: 60px;
}
figure .inner a {
	display: block;
	width: 400px;
	height: 30px;
	border: 1px solid #bbb;
	font: bold 11px/30px "arial";
	color: #fff;
	text-align: center;
	letter-spacing: 1px;
	transition: all 0.5s;
}
figure .inner a:hover {
	background: #ffffff;
	color: #555;
}
.video-overlay {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 800px;
  height: auto;
  z-index: 1;
  pointer-events: none;
}
/* news */
section {
	width: 100%;
	padding: 200px 0px;
}
section .inner {
	width: 1180px;
	margin: 0px auto;
}
section .inner h1 {
	font: bold 24px/1 "arial";
	color: #555;
	text-align: center;
	margin-bottom: 50px;
}
section .inner .wrap {
	width: 100%;
}
section .inner .wrap::after {
	/*자식 요소인 article의 float해제*/
	content: "";
	display: block;
	clear: both;
}
section .inner .wrap article {
	width: 280px;
	float: left;
	margin-right: 20px;
}
section .inner .wrap article:last-child {
	/*제일 오른쪽 마지막 요소만 여백제거*/
	margin-right: 0px;
}
section .inner .wrap article h2 {
	margin-bottom: 10px;
}
section .inner .wrap article h2 a {
	font: bold 16px/1 "arial";
	color: #555;
}
section .inner .wrap article p {
	font: 14px/1.4 "arial";
	color: #777;
}
section .inner .wrap article .pic {
	width: 100%;
	height: 120px;
	background: #333;
	margin-bottom: 15px;
	position: relative;
	overflow: hidden;
}
section .inner .wrap article .pic img {
	object-fit: cover; /*pic프레임안에 이미지 꽉 채움*/
	width: 100%;
	height: 100%;
}
/* footer */
footer {
	width: 100%;
	background: #333;
	padding: 100px 0px;
	border-top: 1px solid #888;
}
footer .inner {
	width: 1180px;
	margin: 0px auto;
}
footer .inner .upper {
	width: 100%;
	border-bottom: 1px solid #777;
	padding-bottom: 20px;
}
footer .inner .upper::after {
	/*상단 영역 float해제*/
	content: "";
	display: block;
	clear: both;
}
footer .inner .upper h1 {
	float: left;
	font: bold 24px/1 "arial";
	color: #666;
}
footer .inner .upper ul {
	float: right;
}
footer .inner .upper ul li {
	float: left;
	margin-left: 20px;
}
footer .inner .upper ul li a {
	font: bold 14px/1 "arial";
	color: #666;
}
footer .inner .lower {
	width: 100%;
	padding-top: 20px;
}
footer .inner .lower address {
	width: 100%;
	font: 12px/1.3 "arial";
	color: #777;
	margin-bottom: 20px;
}
footer .inner .lower p {
	width: 100%;
	font: 12px/1 "arial";
	color: #777;
}
.swiper-container {
  width: 100%;
  padding: 30px 0;
  overflow: hidden;
}
.swiper-slide {
  display: flex;
  justify-content: center;
}
.main-gallery {
  margin-top: 0;
  padding-top: 0;
}
body {
  background-color: #ffffff;
}
.grid-gallery {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  padding: 40px;
  justify-items: center;
  background-color: #ffffff;
}
.grid-gallery img {
  width: 100%;
  max-width: 600px;
  height: auto;
  display: block;
  background: white;
  padding: 10px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}