@charset "utf-8";

:root {
	--sp-safe: 149px;
	--sp-y: 0px;

	--sp-title-h: 590px;
	--sp-title-text-fs: 62px;

	--sp-submenu-item-fs: 20px;
	--sp-submenu-item-h: 90px;
	--sp-submenu-item-gap: 100px;

	--sp-kicker-fs: 32px;

	--sp-grid-left: 460px;
	--sp-grid-left-intro-aboutus: 580px;
	--sp-grid-left-intro-basicinfo: 180px;

	--sp-grid-gap: 64px;
	--sp-grid-text-fs: 22px;
	--sp-grid-text-lh: 37px;

	/* HISTORY */
	--sp-grid-history-left: 135px;
	--sp-grid-history-pair-left: 60px;

	--sp-grid-location-left: 160px;
}

.subpage {
	color: rgba(255, 255, 255, .92);
	height: var(--sp-title-h);
}
.subpage .section__bg.pr {
	background: url('../img/pr/bg-title-pr.png') center top / cover no-repeat;
}
.subpage__inner {
	display: flex;
	height: 100%;
	align-items: center;
}
.subpage__content {
	display: flex;
	position: relative;
	width: 100%;
	max-width: none;
	height: 100%;
	padding-top: 0;
	padding-left: 0;
	padding-right: 0;
	box-sizing: border-box;
	transform: translateY(var(--sp-y));
	margin-left: 0;
	justify-content: center;
}
.subpage__title {
	display: inline-flex;
	font-family: Poppins, sans-serif;
	font-size: var(--sp-title-text-fs);
	font-weight: 800;
	line-height: 1.05;
	letter-spacing: -0.02em;
	text-align: center;
	align-items: center;
	justify-content: center;
}
.subpage__submenu {
	display: flex;
	position: absolute;
	width: 100vw;
	left: 50%;
	right: 50%;
	bottom: 0;
	margin-left: -50vw;
	margin-right: -50vw;
	background-color: rgba(0, 0, 0, .6);
	flex-shrink: 0;
	gap: var(--sp-submenu-item-gap);
	align-items: center;
	justify-content: center;
}
.subpage__submenuItem {
	display: inline-flex;
	font-size: var(--sp-submenu-item-fs);
	font-weight: 300;
	height: var(--sp-submenu-item-h);
	align-items: center;
	justify-content: center;
	cursor: pointer;
}
.subpage__submenuItem.selected {
	color: #b38dff;
}

.subpageBody {
	color: rgba(0, 0, 0, 1);
	margin: 100px 0;
}
.subpageBody.phase {
	background-color: #f4f6f8;
}

.section.subpageBody .section__inner {
	display: block;
	position: relative;
    width: 100%;
    max-width: 1700px;
    box-sizing: border-box;
    margin-left: auto;
    margin-right: auto;
    padding-left: 149px;
    padding-right: 149px;
	align-items: center;
}
.section.subpageBody .container {
	margin-left: auto !important;
    margin-right: auto !important;
}
.section.subpageBody .secHead {
    margin-left: 0 !important;
    margin-right: 0 !important;
    transform: none !important;

    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
    width: 100%;
    position: relative;

	padding-top: 0;
    padding-bottom: 0;
	margin-bottom: 0;
}
.subpageBody .kicker {
	font-size: var(--sp-kicker-fs);
    font-family: Poppins, sans-serif;
    font-weight: 600;
    letter-spacing: -0.04em;
    color: #503191;
}
.subpageBody .subpage__grid {
	display: grid;
	position: relative;
	height: 100%;
	grid-template-columns: var(--sp-grid-left) 1fr;
	gap: var(--sp-grid-gap);
	align-items: stretch;
	margin-top: 30px;
}

/* ----- CERTIFICATION ----- */
.subpageBody.certification .certifications {
	display: grid;
	/* 기본 데스크톱: 가로 4개 */
	grid-template-columns: repeat(4, 1fr);
	gap: 30px 50px; /* 세로 간격 30px, 가로 간격 20px */
	margin-top: 50px;
}
/* 개별 아이템 박스 */
.certItem {
	display: flex;
	flex-direction: column;
	align-items: center; /* 가로 중앙 정렬 */
}
.certImg {
	width: 100%;
	aspect-ratio: 1 / 1.414; /* A4 용지 비율 (루트2) */
	background: #f8f9fa;
	border: 1px solid #eee;
	border-radius: 4px;
	overflow: hidden;
	margin-bottom: 12px;
	box-shadow: 0 4px 10px rgba(0,0,0,0.05); /* 세련된 그림자 */
}
.certImg img {
	width: 100%;
	height: 100%;
	object-fit: contain; /* 이미지가 잘리지 않고 전체가 보이도록 함 */
	display: block;
}
.certTitle {
	text-align: center;
	font-size: 21px;
	font-weight: 600;
	line-height: 26px;
	word-break: keep-all; /* 단어 단위 줄바꿈으로 깔끔하게 */
	color: #333;
}
.certExtra {
	text-align: center;
	font-size: 17px;
	font-weight: 400;
	line-height: 22px;
	word-break: keep-all; /* 단어 단위 줄바꿈으로 깔끔하게 */
	color: #6c6e79;
	margin-top: 10px;
}

/* --- 반응형 분기점 (Media Queries) --- */

/* 데스크톱 화면: 가로 4개 */
@media (max-width: 1024px) {
    .subpageBody.certification .certifications {
        grid-template-columns: repeat(3, 1fr);
    }
	.certTitle {
		font-size: 17px;
		line-height: 22px;
	}
	.certExtra {
		font-size: 14px;
		line-height: 18px;
		margin-top: 7px;
	}
}

@media (max-width: 768px) {
    .subpageBody.certification .certifications {
        grid-template-columns: repeat(2, 1fr);
    }
}

.buttons {
	display: flex;
	gap: 20px;
	align-items: center;
	justify-content: center;
	margin-top: 56px;
}
.buttons .btn {
	color: #503191;
	border: 1px solid #503191;
	font-size: 24px;
    font-weight: 600;
	padding: 10px 46px;
	border-radius: 10px;
	cursor: pointer;
}

/* --- NOTICE --- */

.noticeWrap {
	margin-top: 50px;
}
.notice-header {
	display: block;
	width: 100%;
	box-sizing: border-box;
	border-top: 2px solid rgb(170, 170, 170);
	border-bottom: 2px solid rgb(170, 170, 170);
	padding: 15px 20px;
	text-align: left;
}
.notice-header .header-no {
	display: inline-flex;
	width: 90px;
	font-size: 18px;
	box-sizing: border-box;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}
.notice-header .header-title {
	display: inline-flex;
	width: calc(100% - 90px - 90px - 7px);
	max-width: calc(100% - 90px - 90px - 7px);
	font-size: 18px;
	box-sizing: border-box;
}
.notice-header .header-regdate {
	display: inline-flex;
    width: 90px;
	font-size: 18px;
    box-sizing: border-box;
    flex-direction: column;
	align-items: center;
	justify-content: center;
}
.notice-list {
	display: block;
	position: relative;
	width: 100%;
	box-sizing: border-box;
}
.notice-list .list-empty {
	display: flex;
	width: 100%;
	min-height: 380px;
	color: #7d7d7d;
	font-size: 17px;
	font-weight: 300;
	box-sizing: border-box;
	border-bottom: 1px solid rgb(214,214,214);
	flex-direction: column;
	align-items: center;
	justify-content: center;
}
.notice-list .list-loading {
	display: flex;
	width: 100%;
	min-height: 380px;
	color: #7d7d7d;
	font-size: 17px;
	font-weight: 300;
	box-sizing: border-box;
	border-bottom: 1px solid rgb(214,214,214);
	flex-direction: column;
	align-items: center;
	justify-content: center;
}
.notice-list .list-loading img {
	width: 41px;
	height: 41px;
}
.notice-list .list-loading .loading-text {
	color: #7f7f7f;
	font-size: 17px;
	font-weight: 300;
}
.notice-list .list-item {
	display: block;
	position: relative;
	width: 100%;
	box-sizing: border-box;
	border-bottom: 1px solid rgb(214,214,214);
	padding: 25px 20px;
	text-align: left;
	cursor: pointer;
}
.notice-list .list-item:hover {
	background-color: #f5f5f7;
}
.notice-list .list-item .no {
	display: inline-flex;
    width: 90px;
    color: #7d7d7d;
    font-size: 16px;
    font-weight: 300;
    box-sizing: border-box;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}
.notice-list .list-item .title {
	display: inline-flex;
	width: calc(100% - 90px - 90px - 7px);
	max-width: calc(100% - 90px - 90px - 7px);
	box-sizing: border-box;
	overflow: hidden;
}
.notice-list .list-item:hover .title {
	color: #337ab7;
}
.notice-list .list-item .title p {
	display: -webkit-box;
    height: 24px;
    font-size: 18px;
    font-weight: 300;
    line-height: 24px;
    margin: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    word-break: break-all;
	line-clamp: 1;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
}
.notice-list .list-item .title img {
	width: auto;
	height: 15px;
	margin: 5.5px 0 0 5px;
}
.notice-list .list-item .regdate {
	display: inline-flex;
    width: 90px;
    color: #7d7d7d;
    font-size: 16px;
    font-weight: 300;
    box-sizing: border-box;
    flex-direction: column;
	align-items: center;
	justify-content: center;
}

.notice-view {
	display: block;
	width: 100%;
	box-sizing: border-box;
}
.notice-view .view-header {
	display: block;
	width: 100%;
	box-sizing: border-box;
	border-top: 2px solid rgb(170,170,170);
	border-bottom: 1px solid rgb(170,170,170);
	padding: 25px 20px;
}
.notice-view .view-header .view-title {
	display: block;
	width: 100%;
    font-size: 24px;
    font-weight: 500;
    line-height: 32px;
	box-sizing: border-box;
	text-align: left;
	/* 2026.02.20_arumizz */
	word-break: keep-all;
	overflow-wrap: anywhere;
}
.notice-view .view-header .view-summary {
	display: block;
	width: 100%;
	margin-top: 15px;
	text-align: left;
}
.notice-view .view-header .view-summary > dl {
	display: block;
	margin: 0;
	padding: 0;
}
.notice-view .view-header .view-summary > dl > dd {
	display: inline-block;
    color: #7f7f7f;
    font-size: 16px;
    box-sizing: border-box;
    margin: 0 25px 0 0;
    padding: 0;
    text-align: left;
    vertical-align: middle;
}
.notice-view .view-header .view-summary > dl > dd > i {
	margin-right: 5px;
}
.notice-view .view-header .view-summary > dl > dd > span {
	color: #7f7f7f;
    font-size: 16px;
}
.notice-view .view-header .view-summary > dl > dd:last-child {
	margin: 0;
}
.notice-view .view-body {
	display: block;
	position: relative;
	width: 100%;
	font-weight: 300;
	box-sizing: border-box;
	border-bottom: 1px solid rgb(170,170,170);
	padding: 40px 20px 60px 20px;
	text-align: left;
}
.notice-view .view-body p {
	font-size: 19px;
	line-height: 32px;
	margin: 0;
	/* 2026.02.20_arumizz */
	word-break: keep-all !important;
	overflow-wrap: anywhere !important;
}
.notice-view .view-body p img {
	display: inline-block;
}
.notice-view .view-body ul li,
.notice-view .view-body ol li {
	font-size: 19px;
	line-height: 32px;
}
.notice-view .view-footer {
	display: block;
	width: 100%;
	box-sizing: border-box;
	padding: 25px 20px;
	text-align: center;
}
.notice-view .view-footer .button1 {
	background-color: #fff;
	font-size: 18px;
	font-weight: 600;
	border: 1px solid #bfbfbf;
	border-radius: 8px;
	padding: 12px 34px;
	text-shadow: none;
	cursor: pointer;
	transition: 0.2s ease all;
	-moz-transition: 0.2s ease all;
	-webkit-transition: 0.2s ease all;
}
.notice-view .view-footer .button1:hover {
	background-color: #f8f9fa;
}

.pagination {
	display: block;
	position: relative;
	box-sizing: border-box;
	text-align: center;
}
.pagination {
	margin-top: 30px;
}
.pagination button {
	display: inline-block;
	min-width: 40px;
	height: 40px;
	background-color: #fff;
	font-size: 17px;
	font-weight: 500;
	letter-spacing: -1px;
	line-height: 20px;
	box-sizing: border-box;
	border: 1px solid #bfbfbf;
	border-radius: 5px;
	margin-left: 10px;
	cursor: pointer;
}
.pagination button:first-child {
	margin-left: 0;
}
.pagination button:hover {
	background-color: #f8f9fa;
}
.pagination button.left i {
	margin-left: -2px;
}
.pagination button.right i {
	margin-right: -2px;
}
.pagination button.select {
	color: #fff;
	background-color: #404040;
	border: 1px solid #404040;
	pointer-events: none;
}
.pagination.brand button.select {
	background-color: #503191;
	border: 1px solid #503191;
}
.pagination.darkblue button.select {
	background-color: #337ab7;
	border: 1px solid #337ab7;
}
.pagination button.disable {
	opacity: .3;
	pointer-events: none;
}
@media all and (min-width: 1401px) { /* 데스크톱(1401px ~) */
}
@media all and (min-width: 1126px) and (max-width: 1400px) { /* 태블릿(1126px ~ 1400px) */
	.notice-view .view-header .view-title {
		font-size: 23px;
		font-weight: 500;
		line-height: 26px;
	}
	.notice-view .view-header .view-regdate {
		font-size: 15px;
	}
	.notice-view .view-body p,
	.notice-view .view-body ul li,
	.notice-view .view-body ol li {
		font-size: 17px;
		line-height: 30px;
	}

}
@media all and (max-width: 1125px) { /* 스마트폰(~ 1125px) */
	.notice-header {
		display: none;
	}
	.notice-list .list-empty {
		min-height: 281px;
		font-size: 15px;
		border-top: 1px solid rgb(214,214,214);
		border-bottom: 1px solid rgb(214,214,214);
	}
	.notice-list .list-loading {
		min-height: 281px;
		border-top: 1px solid rgb(214,214,214);
		border-bottom: 1px solid rgb(214,214,214);
	}
	.notice-list .list-loading .loading-text {
		font-size: 15px;
	}
	.notice-list .list-item {
		padding: 15px 5px;
	}
	.notice-list .list-item:first-child {
		border-top: 1px solid rgb(214,214,214);
	}
	.notice-list .list-item .no {
		display: none;
	}
	.notice-list .list-item .title {
		width: calc(100% - 90px - 4px);
		max-width: calc(100% - 90px - 4px);
	}
	.notice-list .list-item .title p {
		font-size: 15px;
	}
	.notice-list .list-item .regdate {
		font-size: 13px;
	}
	.notice-view .view-header {
		padding: 20px 10px;
	}
	.notice-view .view-header .view-title {
		display: block;
		width: 100%;
		font-size: 22px;
		font-weight: 500;
		line-height: 30px;
	}
	.notice-view .view-header .view-summary dl dd {
		font-size: 14px;
		margin: 0 20px 0 0;
	}
	.notice-view .view-body {
		padding: 40px 0 60px 0;
	}
	.notice-view .view-body p,
	.notice-view .view-body ul li,
	.notice-view .view-body ol li {
		font-size: 17px;
		line-height: 30px;
	}
	.notice-view .view-footer .button1 {
		font-size: 15px;
	}
}

/* -------------------------------------------------------------------------- */

@media (max-width: 1400px) {
	:root {
		--sp-grid-text-fs: 18px;
	}
}

@media (max-width: 1280px) {
	:root {
		--sp-title-h: 430px;
	}
	.subpage .section__inner {
		height: 100%;
		padding: 0;
	}
}
@media (max-width: 1200px) {
	:root {
		--sp-safe: 0px;
		--sp-title-h: 390px;
		--sp-title-text-fs: 42px;
		--sp-submenu-item-fs: 16px;
		--sp-submenu-item-h: 60px;
		--sp-submenu-item-gap: 60px;

		--sp-grid-text-lh: 34px;
		--sp-grid-left-intro-aboutus: 350px;
	}
	.subpage__content {
		margin-right: auto;
	}
}

@media (max-width: 1024px) {
	.subpageBody.product .subpage__grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 900px) {
	:root {
		--sp-grid-gap: 13px;
	}
}
@media (max-width: 768px) {
	:root {
		--sp-title-h: 270px;
		--sp-title-text-fs: 32px;
		--sp-submenu-item-fs: 14px;
		--sp-submenu-item-h: 50px;
		--sp-submenu-item-gap: 30px;
	}
	.subpageBody {
		margin: 0 0 45px 0;
	}
	.section.subpageBody .section__inner {
		padding: 64px 10px;
	}
	.buttons {
		display: grid;
		grid-template-columns: 1fr;
	}
	.buttons .btn {
		font-size: 18px;
		text-align: center;
		padding: 10px 5px;
	}
	.notice-view .view-body p img {
		display: block;
		position: relative;
		width: 100vw;
		left: 50%;
		right: 50%;
		margin-left: -50vw;
		margin-right: -50vw;
		height: auto;
		max-width: none !important;
		margin-bottom: 10px;
	}
}