:root {
	--gnb-height: 35px; 

	--header-height: 60px; 
	--header-padding: 0px; 
	--header-height-minus: 0px; 
	
	--max-width: 1520px; 

	--gradient-color: linear-gradient(to right,  rgb(var(--basic-color-50)) 0%, rgb(var(--basic-color-60)) 100%);
	--gradient-color-90: linear-gradient(to bottom,  rgb(var(--basic-color-50))  0%, rgb(var(--basic-color-60)) 100%);
	--gradient-color-opacity: linear-gradient(to right,  rgba(var(--basic-color-50),1) 0%, rgba(var(--basic-color-60),0.8) 100%);

	--swiper-pagination-bullet-size: clamp(7px, 1vw, 8px); 
	--swiper-pagination-bullet-inactive-color: #fff; 
	--swiper-pagination-bullet-inactive-opacity: .5; 
}

@media (min-width: 1024px){
	:root {
		--header-height: 80px; 
		--header-padding: 0px; 
		--header-height-minus: 0px; 
	}
}

@media (min-width: 1400px){
	:root {
		--header-height: 80px; 
		--header-padding: 0px; 
		--header-height-minus: 0px; 
	}
}



html { color: #333; }
body { background-color: #fff; }

article, .fullArea { padding-left: 2rem; padding-right: 2rem; }
@media (min-width: 768px){ article, .fullArea { padding-left: 3rem; padding-right: 3rem; } }
@media (min-width: 980px){ article, .fullArea { padding-left: 4rem; padding-right: 4rem; } }


.singleNav-style { border-color: rgba(255,255,255,0.2); }

.headerNav-wrap { position: relative; }
.headerNav-wrap .logo { position: absolute; top: 0; left: 0; height: 100%; }
.headerNav-wrap .navRight-wrap { position: absolute; top: 0; right: 0; height: 100%; }
.headerNav-wrap #headerNav { max-width: clamp(40rem, 40vw, 60rem); }
.headerNav-wrap #headerNav > ul > .navItem > a > span { font-size: 1.6rem; font-family: var(--special-font); }
.singleNav-style nav .multiNav > .multiNav-inner ul a span { white-space: nowrap; }

.navRight-wrap { display: flex; justify-content: flex-end; margin-left: auto; }

.navRight-wrap .gnbNav { display: flex; align-items: center; margin-right: 2rem; padding-left: 2.5rem; }
.navRight-wrap .gnbNav > li { position: relative; }
.navRight-wrap .gnbNav > li + li { padding-left: 1rem; margin-left: 1rem; }
.navRight-wrap .gnbNav > li a { color: #555; font-size: 1.4rem; display: block; padding-top: 0.2rem; }
.navRight-wrap .gnbNav > li + li:before { content:''; display: block; width: 1px; height: 50%; background-color: rgba(0,0,0,0.2); position: absolute; left: 0; top: 50%; transform: translateY(-50%); } 

.burgerBtn-wrap { position: relative; }
.burgerBtn-wrap > a { position: absolute; top: 0; right: 0; 
	display: flex; align-items: center; justify-content: center; height: var(--header-height); }
.burgerBtn span { background-color: rgb(var(--basic-color-50)); height: 2px; border-radius: 2px; }

.scrollOn .multiNav > a { color: #333; } 
.scrollOn .navRight-wrap .gnbNav > li a { color: #555; }
.scrollOn .navRight-wrap .gnbNav > li + li:before { background-color: #ccc; }

@media (min-width: 1400px){
	.navRight-wrap .gnbNav > li a { font-size: 1.5rem; }
}

#wrap footer { background-color: #323841; border-top: 1px solid #cfd6db; /* padding-top: 0.8rem; */ }
#wrap footer .footerNav-wrap { background-color: #292e35; padding: 0 3rem; }
#wrap footer .footerNav-wrap ul li { display: inline-block; vertical-align: middle; }
#wrap footer .footerNav-wrap ul li + li { margin-left: 3rem; }
#wrap footer .footerNav-wrap ul li a { display: block; color: #d4d4d4; font-size: 1.5rem; padding: 1.8rem 0; }


#wrap footer .footer-wrap { background-color: #fff; /* border-top: 1px solid #cfd6db; */ padding: 3rem 3rem; }
#wrap footer .footer-wrap .footer { display: flex; flex-direction: column; }

#wrap footer .footer-wrap .footer-logo { width: 14rem; margin-bottom: 1rem; padding-top: 0.2em; }

#wrap footer .footer-wrap .footer-text .footerNav ul { display: flex; align-items: center; font-size: 1.4rem; gap: 2rem; }
#wrap footer .footer-wrap .footer-text .footerNav ul li { position: relative; }
#wrap footer .footer-wrap .footer-text .footerNav ul li + li:before { content: ''; display: block; width: 1px; height: 50%; background-color: rgba(0,0,0,0.5); position: absolute; left: -1rem; top: 50%; transform: translateY(-50%); }
#wrap footer .footer-wrap .footer-text .footerNav ul li a { color: #888; }

#wrap footer .footer-wrap .footer-text dl { display: block; margin-bottom: 2rem; font-size: 1.5rem; }
#wrap footer .footer-wrap .footer-text dl dt { font-weight: 700; font-size: 1.5rem; color: #555555; margin-bottom: 1rem; }
#wrap footer .footer-wrap .footer-text dl dd { color: #888; line-height: 1.5; }
#wrap footer .footer-wrap .footer-text dl dd span { display: block; line-height: 1.5; }
#wrap footer .footer-wrap .footer-text dl dd span font { display: block; margin-top: 0.3rem; }
#wrap footer .footer-wrap .footer-text .copyText { font-size: 1.4rem; line-height: 1.5; color: #aaa; }


#wrap footer .footer-wrap .footerLink { margin: 1rem 0 2rem; }
#wrap footer .footer-wrap .footerLink * { color: #999; }
#wrap footer .footer-wrap .footerLink .customSelect { border-color: #cdcdcd; display: inline-block; font-size: 1.4rem; }
#wrap footer .footer-wrap .footerLink button { border: 1px solid #cdcdcd; display: inline-block; padding: 1rem 1.5rem; border-radius: 0.3rem; color: #999; }


.footerSlider-wrap { background-color: #fff; padding: 2rem 3rem; font-size: 0; position: relative; }
.footerSlider-wrap > .inner { display: flex; overflow: hidden; align-items: center; }
.footerSlider-wrap > .inner:after { content: ''; display: block; width: 4rem; height: 100%; position: absolute; right: 0; top:0;  background: linear-gradient(to right,  rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%); }
.footerSlider-title { display: none; font-family: var(--special-font); color: #555; font-size: 2rem; line-height: 2.5rem; height: 2.5rem; }

.footerSlider-wrap .sliderControl-wrap { display: none; font-size: 0; position: relative; padding: 0; }
.footerSlider-wrap .sliderControl-wrap > .inner { width: 8rem; text-align: center; }
.footerSlider-wrap .sliderControl-wrap > .inner > * { display: inline-block; vertical-align: top; width: 1.8rem; }
.footerSlider-wrap .sliderControl-wrap *:before { font-size: 1.8rem; display: block; position: relative; top: 0; line-height: 2.5rem; height: 2.5rem; color: #555a54; }

.footerSlider-content { flex: 1; }
.footerSlider a { display: block; color: #d4d4d4; font-size: 1.4rem; padding: 0rem; width: 20rem; max-width: 30vw; }
.footerSlider a:hover { text-decoration: underline; }
.footerSlider a .imgContainer-fit { padding-bottom: 30%; }


@media (min-width: 1024px){
	#wrap footer .footer-wrap { padding-top: 4rem; padding-bottom: 4rem; }
	
	#wrap footer .footer-wrap .footer { flex-direction: row; gap: 0 5rem; }
	
	#wrap footer .footer-wrap .footer-logo { width: 20rem; }
	#wrap footer .footer-wrap .footer-text {  }
	#wrap footer .footer-wrap .footer-text dl { display: block; margin-bottom: 2rem; }
	#wrap footer .footer-wrap .footer-text dl dt { font-weight: 700; font-size: 1.5rem; color: #555555; margin-bottom: 1rem; }
	#wrap footer .footer-wrap .footer-text dl dd { color: #888; line-height: 1.5; }
	#wrap footer .footer-wrap .footer-text dl dd span { display: block; line-height: 1.5; }
	#wrap footer .footer-wrap .footer-text dl dd span + span { margin-top: 0.3rem; }
	#wrap footer .footer-wrap .footer-text dl dd span font { display: inline-block; }
	
	#wrap footer .footer-wrap .footerLink { position: absolute; right: 0; top: 0; margin: 0; }
	
	.footerSlider-title, .footerSlider-wrap .sliderControl-wrap { display: block; }
	
}



/** mainBasic **/

.mainContent-wrap > .maxWidth { border-left: 1px solid #e4e4e4; }
.mainContent-wrap section { position: relative; padding-top: clamp(2.5rem, 3vw, 5rem); }

.mainContent-title { font-size: clamp(2rem, 2vw, 2.5rem); margin-bottom: 0rem; padding-left: 0.3rem; position: relative; text-align: center; }
.mainContent-title > * { display: block; }
.mainContent-title h3 { font-size: 1em; display: flex; gap: 0 1rem; align-items: flex-end; }
.mainContent-title h3 * { font-family: var(--special-font); color: #fff; }
.mainContent-title h3 strong { font-weight: 900;  line-height: 1.2; }
.mainContent-title h3 span { font-size: 0.7em; margin-right: 0.3em; font-weight: normal; opacity: 0.8; }
.mainContent-title p { text-align: center; font-size: 0.6em; padding: 0 2rem; margin-top: 2rem; line-height: 1.5; }





.mainContent-title .sliderControl-custom { position: absolute; right: 3rem; top: 50%; transform: translateY(-50%); }

.sliderControl-custom, .sliderControl-custom * { font-size: 0; }
.sliderControl-custom > * { display: inline-block; vertical-align: middle; }

.sliderControl-custom .prev { margin-left: 1rem; }
.sliderControl-custom .prev i:before, .sliderControl-custom .next i:before { display: block; line-height: 1.8rem; height: 1.8rem; font-size: 1.8rem; font-weight: 900; }
.sliderControl-custom .prev i:before, .sliderControl-custom .next i:before,
.sliderControl-wrap .play i:before, .sliderControl-wrap .pause i:before { color: #a1b1c2; }
.slick-dots-wrap { display: none !important; }
.slick-dots li button { border-color: #a1b1c2; }
.slick-dots li.slick-active button { background-color: #a1b1c2; }

.sliderControl-custom img { height: 1.8rem; }
.sliderControl-custom .prev { margin-right: 0.3rem; }
.sliderControl-custom .next { margin-left: 0.3rem; }
.sliderControl-custom .play, .sliderControl-custom .pause { padding: 0; width: 2rem; }

.sliderControl-custom .slick-arrow.slick-hidden { display: inline-block !important; opacity: 0.2; }

.mainMore { position: absolute; top: 0.6rem; right: 0; display: block; font-size: 0; }
.mainMore * { display: inline-block; vertical-align: bottom; }
.mainMore span { font-size: 1.4rem; transform: translateY(0.18em); margin-right: 0.8rem; font-family: var(--special-font); }
.mainMore i { font-size: 0; position: relative; top: 0; right: 0; transition: all 0.3s ease; width: 1.8rem; height: 1.8rem; }
.mainMore i:before, .mainMore i:after { content: ''; display: block; position: absolute; background-color: rgb(var(--gray-color-70)); }
.mainMore i:before { width: 100%; height: 0.2rem; left: 0; top: 50%; margin-top: -0.1rem; }
.mainMore i:after { width: 0.2rem; height: 100%; left: 50%; margin-left: -0.1rem; top: 0; }
.mainMore:hover i {transform: rotate(-180deg); -webkit-transform: rotate(-180deg); }

 @media (min-width: 768px){
 	.mainMore { top: 0.6rem; }
}

@media (min-width: 1024px){
	.mainMore { top: 0.6rem; }
}

@media (min-width: 1360px){
	.mainMore { top: 0.6rem; }
}


/** mainTop **/

.mainTop-wrap { padding-left: 0; padding-right: 0; position: relative; background-color: #ebfafa; }

@media (min-width: 1360px){
	.mainTop-wrap { background-size: auto 100%; }
	.mainTop-wrap > .maxWidth { display: flex; padding-top: 6rem; padding-bottom: 9rem; }
}

.mainSlider { font-size: 0; }
.mainSlider-content { position: relative; }

.mainSlider-bg { 
	animation: mainBg_out 2s 3s ease-out normal 1 forwards; 
	background-size: cover; background-position: center; 
	position: absolute; top: 0; right: 0; bottom: 0; left: 0; transform: scale(1.1); 
}
.mainSlider-bg:before { content: ''; display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0,0,0,0.35); z-index: 1; }
.mainSlider-bg video { display: block; position: absolute; top: 50%; left: 50%; width: 100%; height: 100%; transform: translate(-50%, -50%); object-fit: cover; object-position: center; }
.mainSlider .swiper-slide-active .mainSlider-bg { animation: mainBg 6s 0s ease-out normal 1 forwards; }
@keyframes mainBg { from { transform: scale(1); } to { transform: scale(1.1); } }
@keyframes mainBg_out { from { transform: scale(1.1); } to { transform: scale(1); } }


.mainSlider .mainSlider-text { padding: var(--header-padding) 0 0; position: relative; }

.mainSlider .mainSlider-text > .inner { display: flex; flex-direction: column; align-items: center; gap: clamp(1.2rem, 1.5vw, 2rem); position: relative; z-index: 100; width: 100%; padding: clamp(8rem, 10vw, 16rem) 3rem clamp(8rem, 10vw, 16rem); }
.mainSlider .mainSlider-text > .inner * { font-family: var(--special-font); color: #fff; text-shadow: 2rem 2rem 5rem rgba(0,0,0,0.4); text-align: center; }
.mainSlider .mainSlider-text > .inner > * { opacity: 1; display: block; }
.mainSlider .mainSlider-text > .inner em { display: block; width: clamp(12rem, 15vw, 22rem); opacity: 0.7; }
.mainSlider .mainSlider-text > .inner em img { width: 100%; display: block; }
.mainSlider .mainSlider-text > .inner .mainSlider-title {
	font-size: clamp(5rem, 5vw, 8.5rem); font-weight: 800; line-height: 1; 
	display: flex; flex-wrap: wrap; gap: 0.2rem 1rem; text-transform: uppercase; color: rgba(255,255,255,0.7); 
}
.mainSlider .mainSlider-text > .inner .mainSlider-copy { font-size: clamp(1.4rem, 2vw, 1.7rem); color: #DADCD8; }

/*.mainSlider .swiper-slide-active .mainSlider-text > .inner > * { animation: mainText 1.5s 0s ease-out normal 1 forwards; opacity: 1; }*/
/*@keyframes mainText { from { opacity: 0; } to { transform: opacity: 1; } }*/


.mainSlider-wrap .sliderControl-wrap { position: absolute; left: 50%; bottom: clamp(1.5rem, 2vw, 2.5rem); transform: translateX(-50%); width: 100%;  display: flex; z-index: 1000; }
.mainSlider-wrap .sliderControl-wrap button { font-size: 0; display: block; }
.mainSlider-wrap .sliderControl-wrap button i:before { display: block; font-size: 1.6rem; color: #fff; text-shadow: 0rem 0rem 1rem rgba(0,0,0,0.4); }


.mainSlider-wrap .sliderControl-wrap button i { transition: transform 0.3s; }
.mainSlider-wrap .sliderControl-wrap button:hover i { transform: scale(1.5); }

.mainSlider-wrap .swiper-pagination-bullet-active { background: rgb(var(--basic-color-50)); width: calc(var(--swiper-pagination-bullet-size) * 2); border-radius: 9999px; }

.mainSlider-wrap .sliderControl { width: 100%; justify-content: center; }
.mainSlider-wrap .sliderControl > .inner { display: flex; flex-wrap: wrap; align-items: center; width: max-content; gap: 0.5rem; }
.mainSlider-wrap .sliderControl > .inner .slider-dots { display: flex; width: max-content; }
.mainSlider-wrap .sliderControl > .inner .prev,
.mainSlider-wrap .sliderControl > .inner .next { display: none !important; }

.grayBg-wrap { background-color: rgb(var(--gray-color-5)); }


/** mainSection (notice + gallery) **/

.mainSection ~ .mainSection { margin-top: 2.5rem; }

.mainSection-title { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1.5rem; text-align: left; }
.mainSection-title h3 { position: relative; padding: 0.3em clamp(1.5rem, 2vw, 2.8rem); display: flex; align-items: center; gap: 0 1.2rem; font-size: clamp(2rem, 2vw, 2.8rem); font-weight: 500; color: #222; font-family: var(--special-font); }
.mainSection-title h3 * { display: block; }
.mainSection-bar { position: absolute; left: 0; top: 0; width: clamp(0.4rem, 0.5vw, 0.5rem); height: 100%; background-color: rgb(var(--basic-color-50)); }
.mainSection-more {
	display: flex; align-items: center; justify-content: center; width: clamp(3.2rem, 3vw, 3.6rem); height: clamp(3.2rem, 3vw, 3.6rem); border: 1px solid #000; 
	flex-shrink: 0; transition: all 0.2s ease; 
}
.mainSection-more i { font-size: clamp(1.6rem, 2vw, 2rem); color: #555; }
.mainSection-more:hover { background-color: rgb(var(--basic-color-50)); border-color: rgb(var(--basic-color-50)); }
.mainSection-more:hover i { color: #fff; }

/* mainNotice-list */
.mainNotice-list { border-top: 1px solid #e4e4e4; }
.mainNotice-list li { border-bottom: 1px solid #e4e4e4; }
.mainNotice-list li a {display: flex; align-items: start; flex-direction: column; gap: 0.2rem 2rem; padding: clamp(1.2rem, 2vw, 2rem) 0.5rem; max-width: 1360px; margin: auto; padding-left: 1.5rem; }
.mainNotice-cate {flex-shrink: 0; width: 8rem; font-weight: 400; font-size: clamp(1.4rem, 2vw, 1.6rem); color: rgb(var(--basic-color-50)); text-align: left; }
.mainNotice-list strong {flex: 1; min-width: 0; font-weight: 400; font-size: clamp(1.5rem, 2vw, 1.7rem); color: #333; }
.mainNotice-date {flex-shrink: 0; font-size: clamp(1.5rem, 2vw, 1.6rem); color: #999; display: none; }
.mainNotice-list li a:hover strong { text-decoration: underline; }

@media (min-width: 768px){
	.mainNotice-cate { width: 11rem; text-align: center; }
	.mainNotice-list li a { flex-direction: row; align-items: center; padding-left: 0.5rem; }
	.mainNotice-list strong { padding-left: clamp(0.5rem, 2vw, 2rem); }
	.mainNotice-date { display: block; }
}

/* mainGallery */

.mainGallery-container { border-top: 1px solid #e4e4e4; padding: clamp(1.2rem, 2vw, 2rem); padding-right: 0; padding-bottom: clamp(4rem, 7vw, 8rem); }
.mainGallery { overflow: hidden;  }
.mainGallery .swiper-wrapper { cursor: grab; }
.galleryCard { display: block; position: relative; padding-bottom: clamp(5rem, 5vw, 6rem); }
.galleryCard-img { display: block; position: relative; padding-bottom: 68%; overflow: hidden; background-color: #f0f0f0; border: 1px solid rgba(0, 0, 0, 0.05); }
.galleryCard-img img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 0.4s ease; }
.galleryCard:hover .galleryCard-img img { transform: scale(1.06); }
.galleryCard-title { position: absolute; left: 0; bottom: 0.5rem; padding: clamp(1.2rem, 2vw, 1.8rem); width: 90%; background-color: #fff; box-shadow: 2px 1px 4px rgba(0, 0, 0, 0.1); display: block; font-size: clamp(1.5rem, 2vw, 1.7rem); color: #333; }
.galleryCard:hover .galleryCard-title { color: rgb(var(--basic-color-50)); }

/* galleryCard-grid : static listing (photo_gallery) reuse of the main-page gallery card */
.galleryCard-grid { display: grid; grid-template-columns: repeat(1, minmax(0, 1fr)); gap: 4rem 2rem; }
@media (min-width: 600px){ .galleryCard-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 900px){ .galleryCard-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 5rem 2.5rem; } }
@media (min-width: 1180px){ .galleryCard-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

/** mainSection end **/





/** mainCustomer-end **/



/** ************************************************** **/

/** subPage-wrap **/

.subHero-wrap { background-color: transparent;  position: relative; background-size: cover; background-position: center; }
.subHero-bg { background-color: rgb(var(--basic-color-70)); position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: -1; background-size: cover; background-position: center center; animation-duration: 70s; animation-name: bounceAni; animation-iteration-count: infinite; }
.subHero { padding-top: 1rem; }
.subHero-wrap:after { opacity: 0; }
.subHero-wrap:before { opacity: 0.5; }
.subHero-text { position: relative; width: 100%; text-align: center; padding: clamp(5rem, 7vw, 8rem) 1rem; }
.subHero-text h1 { font-size: clamp(3rem, 3vw, 4rem); }
.subHero-text * { font-family: var(--special-font); color: #fff; display: block; }
.subHero-text strong { font-size: 1em; font-weight: 600; letter-spacing: 0.05em; }
.subHero-text span { font-size: 0.45em; font-weight: 400; opacity: 0.8; margin-bottom: 0.4em; background: rgba(var(--basic-color-50),1); background-clip: text; color: transparent; }


.subPage-leftNav .subNav-wrap { width: 26rem; top: 6rem; }
.subPage-leftNav .subNav-wrap * { font-family: var(--special-font); }
.subPage-leftNav .subNav-wrap #subTitle { text-align: center; padding: 3rem 0 2.8rem; }
.subPage-leftNav .subNav-wrap #subTitle strong { color: #fff; font-weight: 600; }
.subPage-leftNav .subNav-wrap #subTitle:before { display: none; }

.subPage-leftNav .subNav-wrap .subNav { background: var(--gradient-color); border-radius: var(--radius-m) var(--radius-m) var(--radius-l) var(--radius-l); overflow: visible; }
.subPage-leftNav #subNav-list { background-color: #fff; padding: 1rem 1.5rem; overflow: visible; border-color: rgba(0, 0, 0, 0.05); box-shadow: 0 0 1.5rem rgba(0, 0, 0, 0.1); }
.subPage-leftNav #subNav-list a { position: relative; }
.subPage-leftNav #subNav-list a span { position: relative; z-index: 10; }
.subPage-leftNav #subNav-list li.current a { background-color: #fff; }
.subPage-leftNav #subNav-list li.current a span, .subPage-leftNav #subNav-list li.current a:hover span { color: #fff;  }
.subPage-leftNav #subNav-list li.current a:before {
	content: ""; display: block; position: absolute; top: 0; left: -2.5rem; 
	width: calc(100% + 3rem); height: 100%; background-color: rgb(var(--basic-color-50)); border-radius: var(--radius-m); 
}
.subPage-leftNav #subNav-list a:hover * { color: rgba(var(--basic-color-50),1) }
.subPage-leftNav #subNav-list a:after { content: "\ea6e"; font-family: 'remixicon' !important; position: absolute; right: 1rem; top: 50%; transform: translateY(-50%); }

@media (min-width: 1360px){
	.subPage-wrap.subPage-leftNav { padding-left: 34rem; }
	.subPage-wrap article { padding-left: 0; padding-right: 0; }
}


.subPage { margin-left: auto; margin-right: auto; position: relative; padding-top: 1rem; padding-bottom: 6rem; }




.subPage-wrap { position: relative; z-index: 1; }
.path-wrap { background: rgb(var(--basic-color-50)); }

.path > ul > li:first-child a { width: 5.5rem; height: 5.5rem; line-height: 5.5rem; background-color: transparent; }
.path > ul > li:first-child a, .path .scriptSelect-wrap { border-color: rgba(255,255,255,0.3) !important; }
.path .scriptSelect-trigger { line-height: 5.5rem; color: #fff; }
.path .scriptSelect-trigger:after { border-color: #fff; }
.path > ul > li:first-child a:hover, .path .scriptSelect-trigger:hover { color: #fff; background: rgb(var(--basic-color-60)); }

.pageTitle-wrap { padding-top: 1rem; margin-bottom: 0; }
.pageTitle { padding-bottom: clamp(1.5rem, 2vw, 2.5rem); display: none; align-items: flex-end; border-bottom: 1px solid #dedede; }

#pageTitle { display: none; }
.pageLocation ul { padding-top: 0; padding-bottom: 0; }

.pageTitle-right { text-align: right; flex: 1; }
.pageLocation-wrap span { font-family: var(--special-font); }
.pageLocation-wrap,
.pageBtn-wrap { display: inline-block; vertical-align: middle; }
	
.pageBtn-wrap ul li + li { margin-left: 0.8rem; }
.pageBtn-wrap ul li > * { background-color: #ebeded; border-radius: 1.5rem; color: #7f8893; width: 40px; height: 40px; text-align: center; display: block; font-size: 0; }
.pageBtn-wrap ul li > *:hover { background-color: rgb(var(--basic-color-50)); color: #fff; }
.pageBtn-wrap ul li > * i:before { font-size: 1.6rem; line-height: 40px; }

.searchContainer-wrap { padding-top: 1.5rem; padding-bottom: 2rem; }
.searchContainer > .inner { border-radius: var(--radius-s); }



@media (min-width: 1024px){
	.subPage { padding-top: 2rem; padding-bottom: 8rem; }


	.searchContainer-wrap { padding-top: 2rem; padding-bottom: 3.5rem; }
}

@media (max-width: 1359.9px){
	.subPage-customNav #subNav-list li a { line-height: 5.3rem; }
}

@media (min-width: 1360px){
	.subPage { padding-bottom: 10rem; }

	.pageTitle { display: flex; }
	.pageTitle-wrap { padding-top: 8.5rem; }

	.path-wrap { visibility: hidden; height: 0; overflow: hidden; }
}


.subContent { font-size: 1.6rem; margin-top: 1.5rem; }
.subContent-wrap { margin-top: clamp(1rem, 2vw, 2rem); }
.subContent-wrap ~ .subContent-wrap { margin-top: 4rem; }
.subContent-wrap > section { max-width: var(--max-width); margin-left: auto; margin-right: auto; }
@media (min-width: 1024px) {
	.subContent-wrap ~ .subContent-wrap { margin-top: 5rem; }	
}
@media (min-width: 1360px){
	.subContent-wrap ~ .subContent-wrap { margin-top: 6rem; }	
}

.subContent-title { font-size: clamp(2rem, 2.2vw, 2.6rem); position: relative; }
.subContent-title h3 { display: block; padding-left: 1.6em; position: relative; font-size: 1em; padding-bottom: 1.7rem; }
.subContent-title h3 * { font-family: var(--special-font); display: inline-block; vertical-align: middle; }
.subContent-title h3 span { font-weight: normal; padding-right: 0.5em; display: none; }
.subContent-title h3 strong { color: #252525; font-weight: 500;  }
.subContent-title h3:before { 
	content: ''; display: block; width: 0.95em; height:  0.95em; position: absolute; left: 0; top: 0.35em;
	background: url("/style_www/img/common/icon/title_dot.png") no-repeat center; background-size: contain; 
}
.subContent-title h3 strong span { font-weight: normal; font-size: 0.8em; }

.subContent-title h4 { font-size: 0.85em; display: block; padding-left: 2em; position: relative; padding-bottom: 1.3rem;  }
.subContent-title h4 * { font-family: var(--special-font); display: inline-block; vertical-align: middle; font-weight: 500; }
.subContent-title h4:before { content: ''; display: block; width: 0.8em; height: 0.8em; position: absolute; top: 0.36em; left: 0.65em; border-radius: 0.3rem; border: 0.2rem solid rgb(var(--special-color-50)); }

.subContent-title ~ .subContent-title ~ .subContent-title { margin-top: 3rem; }
.subContent-title .initialBtn { font-size: 1.6rem; width: 8rem; position: absolute; right: 0; bottom: 2rem; padding: 0.7rem 0.8rem; }

@media (min-width: 768px){ .subContent-title h3 { padding-bottom: 2rem; } }

.subContent-text { font-size: 1.8rem; }
.subContent-text > p { line-height: 1.5; }
.subContent-text > p ~ p { margin-top: 2rem; }

.subText { font-size: 1.5rem; }
.subText > p { line-height: 1.5; color: #555; }
.subText > p ~ p { margin-top: 1em; }

@media (min-width: 1360px){
	.subText { font-size: 1.6rem; }
}

.colorBg-wrap { background-color: rgb(var(--gray-color-5)); }
.colorBg-box { background-color: rgb(var(--gray-color-5)); padding: 2rem 3rem; border-radius: 1.5rem; display: flex; align-items: center; }
.colorBg-box img { width: 7rem; }
.colorBg-box dl { flex: 1; font-size: 2rem; padding-left: 1.5rem; }
.colorBg-box dl dt { font-weight: 900; text-transform: uppercase; } 
.colorBg-box dl dd { color: #555; font-size: 0.7em; margin-top: 0.7em; line-height: 1.5; }

@media (min-width: 1024px){
	.colorBg-box { padding: 2.5rem 3rem; }
	.colorBg-box img { width: 12rem; }
	.colorBg-box dl { font-size: 2.4rem; padding-left: 3rem; padding-top: 1rem; padding-bottom: 1rem; } 
	.colorBg-box dl dd { font-size: 0.65em; }
}

@media (max-width: 640px){
	.colorBg-box img { display: none; }
	.colorBg-box dl { padding-left: 0.5rem; }
}



.simpleText-box { background-color: rgb(var(--gray-color-10)); padding: 3rem 3rem; border-radius: 1.5rem; }
.simpleText-box dl { font-size: 2rem; }
.simpleText-box dl dt { font-weight: 900; text-transform: uppercase; } 
.simpleText-box dl dt span { display: none; }
.simpleText-box dl dd { color: #555; font-size: 0.8em; margin-top: 0.7em; line-height: 1.5; }
.simpleText-box dl dd > * { line-height: 1.6; }

@media (min-width: 1024px){
	.simpleText-box dl { display: table; font-size: 2.4rem; }
	.simpleText-box dl > * { display: table-cell; vertical-align: top; }
	.simpleText-box dl dt { min-width: 160px; }
	.simpleText-box dl dt span { display: inline; }
	.simpleText-box dl dd { font-size: 0.65em; margin-top: 0; }
}


.borderTop-box { margin-bottom: 1.5rem; padding: 2rem; border: 1px solid #cecece; border-top: 0.3rem solid rgb(var(--basic-color-50)); line-height: 1.7; border-radius: 3px; }
@media (min-width: 768px){
	.borderTop-box { padding: 3rem; }
}
.customCheckbox label span { font-size: 1.5rem; }

.borderTop-box-agree { font-size: 1.5rem; line-height: 1.5; }
.borderTop-box-agree .thinTable { table-layout: fixed; width: 100%; margin: 1rem 0; }
.borderTop-box-agree .thinTable th, .thinTable td { border: 1px solid #dedede; padding: 0.5rem 0.2rem; text-align: center; }
.borderTop-box-agree .thinTable th { border-top-color: #252525; }

.basicTable-wrap table.alignCenter-all *,
.basicTable-wrap table.alignCenter-all tbody td:nth-child(2) { text-align: center; }
.basicTable-wrap table.alignCenter-all tbody td.alignLeft { padding-left: 1.5rem; }

.subImg-box  { border: 1px solid #ddd; background: #fff; padding: 1rem 1rem; border-radius: var(--radius-m); overflow: hidden; }
.subImg-box-double { display: flex; flex-wrap: wrap; border: 1px solid #ddd; background: #fff; padding: 1rem 1rem; border-radius: 0.6rem;  }
.subImg-box-double > * { padding: 1rem; }
.subImg-box img { margin: auto; }

.subImg-double { border: 1px solid #ddd; border-radius: 0.6rem; overflow: hidden; }
.subImg-double:after { content: ''; display: block; clear: both; }
.subImg-double img { display: block; width: 50%; float: left; }

.subImg-triple { display: flex; flex-wrap: wrap; font-size: 0; border-radius: 0.6rem; overflow: hidden; border: 1px solid #ddd; }
.subImg-triple > div:nth-child(1) { width: 50%; }
.subImg-triple > div:nth-child(2) { width: 50%; }
.subImg-triple > div:nth-child(3) { width: 100%; }
.subImg-triple > div .imgContainer-fit { padding: 0; height: 20rem; }

.subVideo-box { border-radius: 0.6rem; overflow: hidden; border: 1px solid #ddd; background-color: rgb(var(--gray-color-10)); font-size: 0; }
.subVideo-box .inner { max-width: 80rem; margin: auto; }

.pcImg { display: none; }
@media (min-width: 720px){
	.subImg-box  { padding: 2rem; }
	.mobileImg { display: none; }
	.pcImg { display: block; }
	
	.subImg-triple > div:nth-child(1) { width: 25%; }
	.subImg-triple > div:nth-child(2) { width: 25%; }
	.subImg-triple > div:nth-child(3) { width: 50%; }
	.subImg-triple > div .imgContainer-fit { height: 100%; }
}
@media (min-width: 950px){
	.subImg-box  { padding: 5rem 8rem; }
	.subImg-box-double > * { width: 50%; padding: 2rem; }
}
/* @media (min-width: 1024px){
	.subImg-box  { padding: 5rem 15rem; }
} */


.subContent-lineBox { background-image: url("/style_www/img/common/pattern/diagonal.gif"); padding: 2rem; border: 1px solid #ddd; border-radius: 0.5rem; font-size: 1.7rem; }
.subContent-lineBox > * { display: block; line-height: 1.5; }
.subContent-lineBox strong { font-size: 1.1em; }
.subContent-lineBox p { margin-top: 1rem; }
.subContent-lineBox .dotList li { font-size: 1.7rem }
.subContent-lineBox .dotList li:before { top: 0.6em; }

@media (min-width: 950px){
	.subContent-lineBox { padding: 3rem; }
}

/**-- subContent-wrap custom --**/

.fileDown-list a { color: #555; }
.fileDown-list a * { display: inline-block; vertical-align: middle; }
.fileDown-list a i { background-color: #4179c6; color: #fff; font-size: 0; padding: 0.2rem 1rem; border-radius: 2rem; margin-left: 0.2rem; }
.fileDown-list a i:before { font-size: 1.3rem; }
.fileDown-list a:hover span { text-decoration: underline; }
.fileDown-list a:hover i { background-color: #013e6c; }


.dotList-s li + li { margin-top: 0.8rem; }
.dotList-s li:before { top: 0.65em; }

.dotList strong { display: block; }
.dotList .dotList-s { margin-top: 1rem; }
.dotList .dotList-s li { font-size: 0.9em; }
.dotList .dotList-s li + li { margin-top: 0.5rem; }
.dotList sub { transform: translateY(-25%); display: inline-block; color: #555; }

.dotList-num > li + li { margin-top: 0.9em; }

/**-- subContent-wrap custom end --**/






/** subContent-wrap end **/




/** pageTab-wrap **/

.pageTab-wrap { padding: 1rem 0 3rem; }
.pageTab { border-bottom: 2px solid rgb(var(--special-color-50)); }
.pageTab.maxWidth { padding: 0; }
.pageTab > ul:after { content: ''; display: block; clear: both; }
.pageTab > ul { margin-left: 0; transform: translateY(2px); }
.pageTab > ul > li { float: left; padding-left: 0; }
.pageTab > ul > li a { display: block; font-size: 3.2vw; padding: 1.5rem 1.5rem; text-align: center; position: relative; background-color: #fff; color: #aaa; font-weight: 500; border-radius: 0.2rem; } 
.pageTab > ul > li a:before {
	position: absolute; top: 0; left: 0; content: ""; display: block; width: 0; 
	height: 100%; background-color: rgba(0,0,0, 0);  transition: all 0.2s ease-in-out; 
}
.pageTab > ul > li a:hover:before { width: 100%; background-color: rgba(0,0,0, 0.1); }
.pageTab > ul > li.active a { border: 2px solid rgb(var(--special-color-50)); border-bottom: 0;  color: #333; border-radius: 0.5rem 0.5rem 0 0; }

.pageTab > ul > li a span { font-size: 0.95em; }
.pageTab > ul > li.active a span { font-size: 1em; }

.pageTab_2 > ul > li { width: 50%; }
.pageTab_3 > ul > li { width: 33.333333%; }


@media (min-width: 600px){
	.pageTab > ul > li a { font-size: 1.7rem; }
}

@media (min-width: 750px){
	.pageTab > ul > li { width: inherit; }
	.pageTab > ul > li a { font-size: 1.8rem; padding: 1.7rem 2.5rem; }
	.pageTab-wrap { padding: 1rem 0 5rem; }
}

@media (max-width: 749.9px){
	.pageTab_4 { border-bottom: 0; }
	.pageTab_4 > ul { margin-left: -0.3rem; margin-top: -0.5rem; display: flex; flex-wrap: wrap; }
	.pageTab_4 > ul > li { width: 50%; padding-left: 0.3rem; padding-top: 0.5rem; }
	.pageTab_4 > ul > li a { border: 2px solid var(--gray-color); border-radius: 0.5rem; }
	.pageTab_4 > ul > li.active a { border-bottom: 2px solid rgb(var(--special-color-50)); border-radius: 0.5rem; }
	
	.pageTab_5 { border-bottom: 0; }
	.pageTab_5 > ul { margin-left: -0.3rem; margin-top: -0.5rem; display: flex; flex-wrap: wrap; }
	.pageTab_5 > ul > li { width: 50%; padding-left: 0.3rem; padding-top: 0.5rem; }
	.pageTab_5 > ul > li:nth-child(n + 3) { width: 33.33333333333%; }
	.pageTab_5 > ul > li a { border: 2px solid var(--gray-color); border-radius: 0.5rem; }
	.pageTab_5 > ul > li.active a { border-bottom: 2px solid rgb(var(--special-color-50)); border-radius: 0.5rem; }
}

/** pageTab-wrap end **/



/** boxTitle **/

.boxTitle { position: relative; font-family: var(--special-font); text-align: center; font-size: 2rem; padding: 4rem 2rem; border: 0.7rem solid #ededed; word-break: keep-all; }
.boxTitle:before {  content: ''; position: absolute; top: -0.7rem; left: -0.7rem; width: 3rem; height: 3rem; border-top: 0.7rem solid rgb(var(--special-color-50)); border-left: 0.7rem solid rgb(var(--special-color-50)); }
.boxTitle:after {  content: ''; position: absolute; bottom: -0.7rem; right: -0.7rem; width: 3rem; height: 3rem; border-bottom: 0.7rem solid rgb(var(--basic-color-50)); border-right: 0.7rem solid rgb(var(--basic-color-50)); }
.boxTitle strong { font-family: var(--special-font); }

/** boxTitle end **/



/** taskTab-wrap **/

.taskTab { margin-bottom: 1.5rem; }
.taskTab ul { font-size: 0; }
.taskTab ul > li { display: inline-block; vertical-align: middle; width: 50%; position: relative; border: 1px solid #dedede; border-top: 0; } 
.taskTab ul > li:first-child { border-top: 1px solid #dedede; border-radius: 1rem 0 0 0; overflow: hidden; }
.taskTab ul > li:nth-child(2) { border-top: 1px solid #dedede; border-radius: 0 1rem 0 0; }
.taskTab ul > li:last-child { border-radius: 0 0 1rem 0; }
.taskTab ul > li:nth-last-child(2) { border-radius: 0 0 0 1rem; }
.taskTab ul > li:nth-child(2n) { border-left: 0; }

.taskTab ul > li > .inner { display: block; position: relative; width: 100%; padding: 1.3rem 1.5rem; text-align: left; color: #555; }
.taskTab ul > li > .inner > * { display: inline-block; vertical-align: middle; letter-spacing: -0.05px; word-spacing: -0.1px; }  
.taskTab ul > li > .inner > em { font-size: 3vw; }
.taskTab ul > li > .inner > span { font-size: 1.4rem; color: #01306c; }
.taskTab ul > li.active { border-color: rgb(var(--special-color-50)) !important; }
.taskTab ul > li.active > .inner *,
.taskTab ul > li > .inner:hover * { color: rgb(var(--special-color-50)); font-weight: 500; }
.taskTab ul > li.active:before { 
	content: ''; display: block; 
	position: absolute; left: 0; top: 0; 
	width: 0; height: 0; 
	border-bottom: 0.8rem solid transparent; 
	border-top: 0.8rem solid rgb(var(--special-color-50)); 
	border-left: 0.8rem solid rgb(var(--special-color-50)); 
	border-right: 0.8rem solid transparent; 
}
.taskTab ul > li + li.active:after { content: ''; display: block; width: calc(100% + 2px); height: calc(100% + 2px); position: absolute; left: -1px; top: -1px; border: 1px solid rgb(var(--special-color-50)); border-width: 1px 0 0 1px; }
.taskTab ul > li:nth-child(2).active:after { border-top: 0; }
.taskTab ul > li:nth-last-child(2).active:after { border-radius: 0 0 0 1rem; }

@media (min-width: 500px){
	.taskTab ul > li > .inner > em { font-size: 1.5rem; }
}

@media (min-width: 950px){
	.taskTab { display: table; table-layout: fixed; width: 100%; margin-bottom: 3rem; }
	.taskTab ul { display: table-row; margin: 0; }
	.taskTab ul > li { display: table-cell; vertical-align: middle; border: 1px solid #dedede; border-left: 0; }
	.taskTab ul > li:first-child { border-left: 1px solid #dedede; border-radius: 1rem 0 0 1rem; }
	.taskTab ul > li:nth-child(2) { border-radius: 0; }
	.taskTab ul > li:last-child { border-radius: 0 1rem 1rem 0; }
	.taskTab ul > li:nth-last-child(2) { border-radius: 0; }
	.taskTab ul > li > .inner { font-size: 1.4rem; border-radius: 0; padding: 1.2rem 1.5rem; }
	.taskTab ul > li > .inner > *  { display: block; }
	.taskTab ul > li > .inner > em { font-size: 1.5rem; }
	.taskTab ul > li > .inner > span { padding-top: 0.5rem; }
	.taskTab ul > li:last-child.active:after { border-top: 0; }
}
@media (min-width: 1024px){
	.taskTab ul > li > .inner { font-size: 1.5rem; }
}

@media (min-width: 1360px){ 
	.taskTab ul > li > .inner > * { display: inline-block; }
	.taskTab ul > li > .inner > span { padding-top: 0; }
}


.task-wrap .boardSearch { padding: 2rem 0 1rem; }

.task-wrap .filter-wrap { margin-bottom: 1rem; }
.task-wrap .filter-wrap:after { content: ''; display: block; clear: both; }
.task-wrap .filter { float: right;  }

.task-wrap .filter i,
.task-wrap .filter .customSelect  { display: inline-block; vertical-align: middle; }
.task-wrap .filter i { color: #cecece; }
.task-wrap .filter .customSelect { width: 10rem; border: 0; }

/** taskTab-wrap end **/


.reactiveList dl ~ dl { margin-top: 1.3rem; }
.reactiveList dl dt { background-color: #f3f6fa; padding: 0.8rem; font-weight: 500; border-radius: 0.5rem; color: rgb(var(--basic-color-70)); }
.reactiveList dl dd { padding: 0.8rem 0.8rem 0; }

@media print, (min-width: 768px){
	.reactiveList { display: table; table-layout: fixed; width: 100%; border-top: 2px solid #555; }
	.reactiveList dl { display: table-row; }
	.reactiveList dl > * { display: table-cell; padding: 1.5rem 2rem !important; }
	
	.reactiveList dl dt { border-radius: 0; width: 25rem; border: 1px solid #dedede; border-left: 0; border-top: 0; }
	.reactiveList dl dd { border-bottom: 1px solid #dedede; }
}



.reactiveTable { table-layout: fixed; width: 100%; border-top: 2px solid #555; }
.reactiveTable th { background-color: #f3f6fa;  font-weight: 500; color: rgb(var(--basic-color-70)); }
.reactiveTable tr > * { border-bottom: 1px solid #dedede; padding: 1.5rem 2rem; }
.reactiveTable tr > * + * { border-left: 1px solid #dedede; }

@media print, (max-width: 768px){
	.reactiveTable { border-top: 0; }
	.reactiveTable colspan { display: none; }
	.reactiveTable, .reactiveTable tbody, .reactiveTable tr, .reactiveTable th, .reactiveTable td { display: block; border-radius: 0.5rem; }
	.reactiveTable tr > * { border-bottom: 0; }
	.reactiveTable tr > * + * { border-left: 0; }
	.reactiveTable tr > th { border: 1px solid rgb(var(--basic-color-40)); padding: 0.8rem; }
	.reactiveTable tr > td { padding: 0.8rem 0.8rem 1.3rem; }
	.reactiveTable tr:last-child > *:last-child { padding-bottom: 0; }
}


/** greeting **/

.greeting-header img { border-radius: var(--radius-l) var(--radius-l) 8rem var(--radius-l); }
.greeting-title {
	padding: clamp(2rem, 4vw, 4rem) clamp(2.5rem, 4vw, 5rem); color: #fff; font-size: clamp(2rem, 2.6vw, 2.6rem);
	background-color: rgb(var(--basic-color-50)); width: max-content; max-width: 80%; border-radius: var(--radius-m);
	position: relative; z-index: 1; margin-top: clamp(-14rem, -14vw, -6rem); margin-left: clamp(-2rem, -2vw, -1rem);
}
.greeting-title * { font-family: var(--special-font); display: block; }

.greeting-body { margin-top: clamp(2.5rem, 4vw, 4rem); }
.greeting-body p { color: #555; line-height: 1.7; font-size: clamp(1.5rem, 2vw, 1.7rem); }
.greeting-body p + p { margin-top: 1.5rem; }


/** professor-wrap **/

.professor-list > li { display: flex; align-items: center; padding: 1.5rem; gap: 1.5rem; border: 1px solid rgb(var(--gray-color-40)); border-radius: var(--radius-s); }
.professor-list > li .professor-img { width: 40%; max-width: 13rem; min-width: 1px; flex-shrink: 0; border: 1px solid rgb(var(--gray-color-40)); }
.professor-list dl { flex: 1; min-width: 1px; }
.professor-list dl dt { display: flex; gap: 0.5rem; align-items: center; font-size: clamp(1.6rem, 2vw, 2rem); border-bottom: 1px solid rgb(var(--gray-color-30)); padding-bottom: 0.7rem; margin-bottom: 0.7rem; }
.professor-list dl dt * { font-family: var(--special-font); }
.professor-list dl dt span { font-size: 0.8em; color: rgb(var(--basic-color-50)); }

.professor-contact {  }
.professor-contact ul li { display: flex; gap: 0.8rem; align-items: center; }
.professor-contact ul li + li { margin-top: 0.5rem; }
.professor-contact ul li + li span { letter-spacing: -0.03em; }
.professor-contact ul li i { color: rgb(var(--gray-color-60)); }
.professor-contact ul li span { font-size: 1.5rem; }

.professor-affiliation { padding-top: 0.7rem; margin-top: 0.7rem; border-top: 1px dashed rgb(var(--gray-color-30)); }
.professor-affiliation ul li { display: flex; gap: 0.8rem; align-items: center; }
.professor-affiliation ul li + li { margin-top: 0.5rem; }
.professor-affiliation ul li strong { font-family: var(--special-font); font-size: 1.5rem; font-weight: 600; color: rgb(var(--gray-color-60)); }
.professor-affiliation ul li span { font-size: 1.5rem; }
@media (max-width: 1519.9px) {
	.professor-list.gridItem-wrap {
		grid-template-columns: repeat(var(--cols, 2), minmax(0, 1fr));
	}
}
@media (max-width: 1519.9px) { .professor-list.gridItem-wrap { --cols: 2; } }
@media (max-width: 1359.9px) { .professor-list.gridItem-wrap { --cols: 3; } }
@media (max-width: 1279.9px) { .professor-list.gridItem-wrap { --cols: 2; } }
@media (max-width: 919.9px)  { .professor-list.gridItem-wrap { --cols: 1; } }




/** visionGoal **/

.visionGoal-summary { display: flex; flex-direction: column; gap: 1rem; }
.visionGoal-row { display: grid; grid-template-columns: 9rem 1fr; gap: 1rem; align-items: stretch; background-color: rgba(var(--gray-color-20), 0.6); border-radius: 3rem var(--radius-m) var(--radius-m) 3rem; }
.visionGoal-row dt { font-family: var(--special-font); display: flex; align-items: center; justify-content: center; font-size: clamp(1.6rem, 2vw, 1.7rem); font-weight: 500; border-radius: 9999px; padding: 1rem; border: 2px solid #ccc; background-color: #fff; }
.visionGoal-row dd { display: flex; align-items: center; font-size: clamp(1.6rem, 2vw, 1.7rem); font-weight: 400; border-radius: var(--radius-xs); padding: 1.5rem 1.8rem 1.5rem clamp(0.8rem, 1.5vw, 1.5rem); }
.visionGoal-row.row-vision dt { border-color: rgb(var(--basic-color-50)); color: rgb(var(--basic-color-50)); }
.visionGoal-row.row-goal dt { border-color: #0060a9; color: #0060a9; }
.visionGoal-row.row-talent dt { border-color: rgb(var(--special-color-50)); color: rgb(var(--special-color-50)); }

.visionGoal-arrow {position: relative; display: grid; height: 45px; margin: 2rem 0; }
.visionGoal-arrow:after {
	content: ''; display: block; position: absolute; bottom: 20px; left: 50%; transform: translateX(-50%); 
	border: 80px solid transparent; border-bottom: 25px solid #e2eaf4; z-index: 1; 
}
.visionGoal-arrow:before {
	content: ''; position: absolute; display: block; bottom: 0; left: 50%; transform: translateX(-50%); 
	width: 90px; height: 20px; background: linear-gradient(to top, #fff, #e2eaf4); 
}


.visionGoal-courses { display: grid; grid-template-columns: 1fr; gap: 1.6rem; margin-bottom: 2rem; }
.courseCard {display: flex; flex-direction: column; border-radius: var(--radius-m); overflow: hidden; box-shadow: 0 1px 7px rgba(0,0,0,0.1); }
.courseCard-title { font-family: var(--special-font); display: block; color: #fff; text-align: center; font-weight: 700; padding: var(--padding-m); font-size: 1.6rem; }
.courseCard-level { display: block; text-align: center; font-weight: 500; padding: var(--padding-s); font-size: clamp(1.5rem, 2vw, 1.6rem); max-width: calc(100% - 2rem); width: 100%; margin: 1rem auto 0; border-radius: 9999px; }
.courseCard-list { display: flex; flex-direction: column; gap: 0.3rem; padding: 0.2rem 1rem 1rem; flex: 1;  }
.courseCard-list li { border-radius: 0.4rem; padding: var(--padding-s); text-align: center; font-size: clamp(1.4rem, 2vw, 1.5rem); }
.courseCard-list li.cate {font-weight: 500; color: #fff; margin-top: 0.8rem; background-color: #fff; }
.courseCard-list li:not(.cate) { background-color: rgba(var(--gray-color-20), 0.6); color: #333; }

.courseCard.course-green .courseCard-title { background-color: rgb(var(--basic-color-50)); color: #fff; }
.courseCard.course-green .courseCard-level { background-color: rgba(var(--basic-color-20),0.5); }
.courseCard.course-green .courseCard-list li.cate { border: 2px solid rgb(var(--basic-color-50)); color: rgb(var(--basic-color-50)); }

.courseCard.course-blue .courseCard-title { background-color: #0060a9; }
.courseCard.course-blue .courseCard-level { background-color: #E0F2FF; }
.courseCard.course-blue .courseCard-list li.cate { border: 2px solid #0060a9; color: #0060a9; }

.courseCard.course-mint .courseCard-title { background-color: rgb(var(--special-color-50)); color: #fff; }
.courseCard.course-mint .courseCard-level { background-color: rgba(var(--special-color-20),0.5); }
.courseCard.course-mint .courseCard-list li.cate { border: 2px solid rgb(var(--special-color-50)); color: rgb(var(--special-color-50)); }

.visionGoal-info { display: grid; grid-template-columns: 1fr; gap: 1.6rem; }
.infoCard { border-radius: var(--radius-m); overflow: hidden; box-shadow: 0 1px 4px rgba(0,0,0,0.08); /* border-radius: var(--radius-m); */}
.infoCard-title { font-family: var(--special-font); display: flex; background-color: rgb(var(--blue-color-80)); color: #fff; text-align: center; font-weight: 600; padding: var(--padding-m); font-size: 1.6rem; height: 4.5rem; display: flex; justify-content: space-evenly; align-items: center; }
.infoCard-list { background-color: rgb(var(--gray-color-10)); padding: 1.2rem; display: flex; flex-direction: column; gap: 0.8rem; font-size: clamp(1.4rem, 2vw, 1.5rem); color: #333; height: calc(100% - 4.5rem); justify-content: space-around; text-align: center; }
.infoCard-list.twoCol { display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem 1.4rem; /* font-size: 1.3rem; */}
.infoCard-list.tagList { gap: 1rem; font-weight: 700; }
.infoCard-list.tagList li {padding: 0.8rem; text-align: center; letter-spacing: 0.05em; }
.infoCard-list.tagList li img { display: block; width: 80%; margin: auto; max-width: 20rem; }


@media (min-width: 768px){
	.visionGoal-row { grid-template-columns: 15rem 1fr; }
	.visionGoal-courses { grid-template-columns: repeat(3, 1fr); }
	.visionGoal-info { grid-template-columns: repeat(3, 1fr); }
}


/** orgChart : custom tree built to match sample.png (standalone, not reusing .organization) **/
.orgChart-panel { background-color: rgb(var(--gray-color-10)); border-radius: var(--radius-l); padding: clamp(2rem, 4vw, 4rem) clamp(1.5rem, 3vw, 3rem); }

.orgChart-head { max-width: 44rem; margin: 0 auto; text-align: center; border-radius: var(--radius-m); overflow: hidden; box-shadow: 0 1px 7px rgba(0,0,0,0.1); position: relative; }
.orgChart-head-label { font-family: var(--special-font); display: block; padding: 1rem 1.5rem; font-size: clamp(1.3rem, 2vw, 1.5rem); font-weight: 500; color: #fff; background-color: rgb(var(--basic-color-50)); }
.orgChart-head-name { display: block; padding: 1.3rem 1.5rem; font-size: clamp(1.7rem, 2.4vw, 2rem); font-weight: 500; color: rgb(var(--basic-color-60)); background-color: #fff; }
.orgChart-head-name em { color: #333; font-style: normal; padding: 0 0.2rem; font-weight: 700; }

.orgChart-branch { display: flex; flex-direction: column; gap: 1.6rem; margin-top: 2rem; }
.orgChart-branchItem { flex: 1; display: flex; flex-direction: column; min-width: 0; }
.orgChart-centers { display: grid; grid-template-columns: repeat(1, 1fr); gap: 1.6rem; margin-top: 2rem; }

.orgChart-node { display: flex; flex-direction: column; text-align: center; background-color: #fff; border-radius: var(--radius-m); box-shadow: 0 1px 4px rgba(0,0,0,0.06); padding: 1.2rem 1.4rem; }
.orgChart-node-title { font-family: var(--special-font); display: block; font-weight: 700; font-size: clamp(1.5rem, 2vw, 1.6rem); }
.orgChart-node-desc { display: block; padding: var(--padding-s); margin-top: 0.6rem; font-size: clamp(1.4rem, 1.6vw, 1.5rem); color: #555; line-height: 1.6; font-weight: 400; opacity: 1; background-color: #fff; border-radius: var(--radius-s); flex: 1; }

.orgChart-node.org-blue { background-color: #0060a9; color: #fff; }
.orgChart-node.org-mint { background-color: rgb(var(--special-color-50)); color: #fff; }
.orgChart-node.org-sub { background-color: rgb(var(--gray-color-90)); color: rgb(var(--yellow-color-50)); font-size: 1.3rem; padding: 1rem; margin-top: 0; }

.orgChart-tree { position: relative; }
.orgChart-tree > * { position: relative; z-index: 1; }
.orgChart-branchItem { position: relative; z-index: 1; }

.orgChart-subLine { display: block; position: relative; height: 1.6rem; }
.orgChart-subLine:before {
	content: ''; position: absolute; top: 0; left: 50%; width: 2px; height: 100%;
	background-color: rgb(var(--gray-color-60)); transform: translateX(-50%);
}

@media (max-width: 767px){
	.orgChart-tree { padding-left: 1.6rem; }
	.orgChart-tree:before {
		content: ''; position: absolute; top: 4.4rem; height: calc(100% - 11.2rem); left: 0; width: 2px;
		background-color: rgb(var(--gray-color-60));
	}
	.orgChart-head { max-width: 100%; overflow: visible; }
	.orgChart-head-label { border-radius: var(--radius-m) var(--radius-m) 0 0; }
	.orgChart-head-name { border-radius: 0 0 var(--radius-m) var(--radius-m); }

	.orgChart-head,
	.orgChart-branchItem > .orgChart-node:first-child,
	.orgChart-node.org-sub,
	.orgChart-centers .orgChart-node {
		position: relative;
	}
	.orgChart-head:before,
	.orgChart-branchItem > .orgChart-node:first-child:before,
	.orgChart-node.org-sub:before,
	.orgChart-centers .orgChart-node:before {
		content: ''; position: absolute; top: 50%; left: -1.6rem; width: 1.6rem; height: 2px;
		background-color: rgb(var(--gray-color-60));
	}

	/* 교과과정 실무위원회 nests one step further in, off its own short drop line rather than the left rail */
	.orgChart-node.org-sub { margin-left: 1.6rem; }
	.orgChart-node.org-sub:before { display: none; }
}

/* desktop : trunk recentres and runs behind the boxes, branching sideways/down at each tier */
@media (min-width: 768px){
	.orgChart-branch { flex-direction: row; align-items: flex-start; max-width: 80rem; margin-left: auto; margin-right: auto; gap: 10rem; }
	.orgChart-centers { grid-template-columns: repeat(2, 1fr); }

	.orgChart-tree:before {
		content: ''; position: absolute; top: 0; height: calc(30.5rem + clamp(0.5rem, 0.8vw, 1.5rem)); left: 50%; width: 2px;
		background-color: rgb(var(--gray-color-60)); transform: translateX(-50%); z-index: 0;
	}

	.orgChart-branch, .orgChart-centers { margin-top: 3rem; position: relative; }

	/* branch: connects to the trunk from the side, at the mid-height of the two committee boxes */
	.orgChart-branchItem > .orgChart-node:first-child { position: relative; }
	.orgChart-branchItem:first-child > .orgChart-node:first-child:before {
		content: ''; position: absolute; top: 50%; left: 100%; width: 5rem; height: 2px;
		background-color: rgb(var(--gray-color-60)); transform: translateY(-50%); z-index: 1;
	}
	.orgChart-branchItem:last-child > .orgChart-node:first-child:before {
		content: ''; position: absolute; top: 50%; right: 100%; width: 5rem; height: 2px;
		background-color: rgb(var(--gray-color-60)); transform: translateY(-50%); z-index: 1;
	}

	.orgChart-centers:before {
		content: ''; position: absolute; top: -1.6rem; left: 24.5%; right: 24.5%; height: 2px;
		background-color: rgb(var(--gray-color-60)); z-index: 1;
	}

	.orgChart-centers .orgChart-node { position: relative; }
	.orgChart-centers .orgChart-node:before {
		content: ''; position: absolute; top: -1.6rem; left: 50%; width: 2px; height: 1.6rem;
		background-color: rgb(var(--gray-color-60)); transform: translateX(-50%); z-index: 1;
	}
}

@media (min-width: 1024px){
	.orgChart-centers { grid-template-columns: repeat(4, 1fr); }
	.orgChart-centers:before { left: 12%; right: 12%; }
}

.orgChart-partner { position: relative; z-index: 1; margin-top: 1rem; }
.orgChart-partner-label {
	position: relative; display: block; max-width: 50rem; margin: 0 auto; text-align: center; font-weight: 700;
	font-family: var(--special-font); font-size: clamp(1.5rem, 2vw, 1.7rem); color: #333; background-color: #c8d6e8; background: linear-gradient(to top, #fff, #c8d6e8);
	padding: 4rem 2rem 2rem; clip-path: polygon(50% 0%, 100% 50%, 88% 50%, 88% 100%, 12% 100%, 12% 50%, 0% 50%);
}
.orgChart-partner-label em { font-style: normal; font-weight: 400; font-size: 0.9em; opacity: 0.85; padding-left: 0.4em; }
.orgChart-partner-box { border: 3px solid rgb(var(--gray-color-80)); border-radius: var(--radius-m); padding: clamp(1.6rem, 3vw, 2.4rem) clamp(1.2rem, 2vw, 1.6rem) clamp(1.2rem, 2vw, 1.6rem); }
.orgChart-partner-list { display: grid; grid-template-columns: repeat(1, 1fr); gap: 1.6rem; }
.orgChart-partner-list .infoCard-list { text-align: center; }

.orgChart-staff { margin-top: clamp(3rem, 4vw, 4rem); }
.orgChart-staff-note { text-align: right; font-size: 1.3rem; color: #888; margin-bottom: 0.8rem; }

@media (min-width: 768px){
	.orgChart-partner-list { grid-template-columns: repeat(3, 1fr); }
}


/** strategy (4대 중점 추진 전략) **/
.strategy-goal { display: flex; align-items: center; gap: 1rem 1.2rem; flex-wrap: wrap; background-color: rgb(var(--gray-color-90)); color: #fff; border-radius: var(--radius-m); padding: 1.4rem clamp(1.6rem, 3vw, 2.4rem); margin-bottom: clamp(2rem, 3vw, 3rem); }
.strategy-goal * { font-family: var(--special-font); }
.strategy-goal-tag { flex-shrink: 0; font-weight: 700; font-size: 1.4rem; padding: 0.6rem 1.2rem; border: 1px solid rgba(255,255,255,0.5); border-radius: 9999px; }
.strategy-goal-text { font-weight: 500; font-size: clamp(1.4rem, 2vw, 1.6rem); }
.strategy-goal-text em { font-style: normal; color: rgb(var(--yellow-color-50)); font-weight: 700; }

.strategy-list { display: grid; grid-template-columns: repeat(1, 1fr); gap: 1.6rem; }

.strategyCard { border: 1px solid #e4e4e4; border-radius: var(--radius-m); overflow: hidden; background-color: #fff; }
.strategyCard-title { font-family: var(--special-font); display: block; text-align: center; font-weight: 700; font-size: clamp(1.5rem, 2vw, 1.7rem); padding: 1.4rem 1rem; color: #222; }
.strategyCard-img { position: relative; margin: 0 1.4rem;  border: 1px dashed #ccc; border-radius: var(--radius-s); background-color: rgb(var(--gray-color-10)); display: flex; align-items: center; justify-content: center; overflow: hidden; }
.strategyCard-img img { display: block; width: 100%; }
.strategyCard-num { display: block; width: fit-content; margin: 1.4rem auto 0; padding: 0.5rem 2rem; border-radius: 9999px; color: #fff; font-weight: 700; font-size: 1.4rem; }
.strategyCard-list { padding: 1.4rem; display: flex; flex-direction: column; gap: 0.8rem; }
.strategyCard-list li { text-align: center; padding: 1rem; border-radius: var(--radius-xs); background-color: rgba(var(--gray-color-20),0.6); font-size: clamp(1.3rem, 1.8vw, 1.4rem); color: #444; }
.strategyCard-list li.on { color: rgb(var(--blue-color-60)); font-weight: 600; background-color: rgb(var(--blue-color-5)); }

.strategy-gray .strategyCard-num { background-color: rgb(var(--gray-color-70)); }
.strategy-green .strategyCard-num { background-color: rgb(var(--basic-color-60)); }
.strategy-teal .strategyCard-num { background-color: rgb(var(--special-color-60)); }
.strategy-blue .strategyCard-num { background-color: rgb(var(--blue-color-60)); }

@media (min-width: 640px){
	.strategy-list { grid-template-columns: repeat(2, 1fr); }
}

@media (min-width: 1024px){
	.strategy-list { grid-template-columns: repeat(4, 1fr); }
}


/** processVision (introduction/process) : same layout as the design mockup, restyled with the site's own tokens **/
.processVision-banner {
	position: relative; text-align: center; color: #333; font-weight: 600; font-family: var(--special-font); font-size: clamp(1.8rem, 2.4vw, 2.2rem); line-height: 1.4;
	padding: clamp(1.5rem, 2vw, 1.6rem) clamp(3rem, 6vw, 6rem); border-radius: 999px; border: 3px solid rgba(var(--gray-color-50), 0.6);
	margin-top: clamp(0.5rem, 1vw, 1rem); margin-bottom: clamp(2rem, 2vw, 3rem);
}
.processVision-banner span { font-family: var(--special-font); color: transparent;  background: var(--gradient-color); -webkit-background-clip: text;}

/* single bordered panel holding both columns, matching the mockup's shared frame */
.processVision-panel { background-color: rgba(var(--gray-color-20), 0.6); border-radius: var(--radius-l); padding: clamp(1.4rem, 2.5vw, 2.4rem); }
.processVision-columns { display: flex; flex-direction: column; gap: clamp(1.6rem, 2.5vw, 3rem); }
.processVision-col { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2rem; }
.processVision-col:has(.subContent-title) { gap: 0; }

.processVision-flow { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: clamp(0.8rem, 1.2vw, 1.6rem); }
.processVision-flow p {
	flex: 1; display: grid; grid-template-columns: clamp(3.5rem, 3vw, 4.5rem) auto;
	box-shadow: 0 0 15px 1px rgba(0, 0, 0, .05); align-items: Center;
	padding: clamp(1rem, 1.5vw, 1.5rem); border-radius: 50px; background-color: #fff;
}
.processVision-flow p i {
	display: flex; align-items: center; justify-content: center; line-height: 1;
	background: var(--gradient-color); color: #fff; width: clamp(3.5rem, 3vw, 4.5rem); height: clamp(3.5rem, 3vw, 4.5rem); border-radius: 100%;
}
.processVision-flow p span { font-family: var(--special-font); font-weight: 500;  text-align: center; padding: 0 1rem; }
.processVision-flow .op { color: rgb(var(--basic-color-50)); font-size: 2rem; font-weight: 700; }
.processVision-statement-note {
	margin-top: clamp(1.5rem, 2vw, 1.8rem); font-family: var(--special-font); text-align: center; font-weight: 700; padding: var(--padding-m) var(--padding-s); border-radius: var(--radius-m);
	border: 2px solid rgba(var(--green-color-80),0.5); background-color: rgb(var(--green-color-5)); color: rgb(var(--green-color-80)); font-size: clamp(1.5rem, 1.8vw, 1.7rem);
}

@media (max-width: 767.9px){
	.processVision-flow { flex-direction: column; }
	.processVision-flow p { width: 100%; }
	.processVision-flow .op:has(.ri-arrow-right-line) {transform: rotate(90deg);}
}


.processVision-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(40rem, 1fr)); gap: 1.4rem; padding-top: 2rem; border-top: 1px dashed rgb(var(--gray-color-50)); }

.processCard { display: flex; flex-direction: column; background-color: #fff; border: 1px solid rgb(var(--gray-color-30)); border-radius: var(--radius-m); overflow: hidden; }
.processCard-title { font-family: var(--special-font); display: flex; align-items: center; gap: 1rem; padding: 1.2rem 1.4rem; background: rgb(var(--special-color-50)); color: #fff; font-weight: 700; font-size: clamp(1.5rem, 1.8vw, 1.7rem); }
.processCard-title .tag { font-family: var(--special-font); flex-shrink: 0; background-color: #fff; color: rgb(var(--special-color-50)); border-radius: var(--radius-xs); padding: 0.3rem 0.8rem; font-size: 0.85em; }
.processCard-body { padding: 1.4rem; }

@media (max-width: 479.9px){
	.processVision-cards { grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr));}
	.processEdu-cards { grid-template-columns: repeat(3, 1fr); }
}

.processDiagram { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 0.8rem; }
.processDiagram-inner { height: 100%; border-radius: var(--radius-s); padding: 1rem; text-align: center; }
.processDiagram-inner strong { font-family: var(--special-font); display: block; font-weight: 700; font-size: clamp(1.5rem, 1.8vw, 1.7rem); margin-bottom: 0.8rem; }
.processDiagram-inner div { display: flex; flex-direction: column; gap: 1.2rem; height: calc(100% - 3.2rem); border-radius: var(--radius-s); background: #fff; padding: var(--padding-m) 0; }
.processDiagram-inner div i img { width: 80%; margin: auto; }
.processDiagram-inner p { font-family: var(--special-font); font-size: clamp(1.5rem, 1.6vw, 1.7rem); flex: 1; display: flex; align-items: center; justify-content: center; padding: 0 1rem; line-height: 1.3; }
.processDiagram-before { background-color: rgba(var(--gray-color-20),1); }
.processDiagram-before strong { ; color: #555;  }
.processDiagram-after { background-color: rgba(var(--special-color-20),1); }
.processDiagram-after strong { }

.processTrack-list { display: flex; flex: 1; flex-direction: column; }
.processTrack-list li { display: flex; flex: 1; align-items: center; gap: 1.5rem; padding: 1.2rem 2rem 1.2rem clamp(2rem, 3vw, 4rem); }
.processTrack-list li + li { border-top: 1px solid rgb(var(--gray-color-20)); }
.processTrack-list li > i { flex-shrink: 0; width: clamp(4rem, 4vw, 5rem); height: clamp(4rem, 4vw, 5rem); border-radius: 50%; background-color: rgb(var(--special-color-5)); color: rgb(var(--special-color-60)); display: flex; align-items: center; justify-content: center; font-size: 1.8rem; }
.processTrack-name { min-width: 0; width: 30%; padding-left: clamp(0.5rem, 1vw, 1.5rem); }
.processTrack-name * { font-family: var(--special-font);  }
.processTrack-name em { display: block; font-style: normal; font-size: clamp(1.1rem, 2vw, 1.3rem); color: #999; font-weight: 600; }
.processTrack-name strong { display: block; font-weight: 700; color: rgb(var(--blue-color-80)); font-size: clamp(1.4rem, 2vw, 1.6rem); margin-top: 0.3em; }
.processTrack-desc { font-size: clamp(1.4rem, 2vw, 1.5rem); color: #555; line-height: 1.5; flex-shrink: 0; }

.processEdu-cards { display: grid; grid-template-columns: 1fr; gap: 1.2rem; align-items: stretch; }

@media (min-width: 768px){
	.processEdu-cards { grid-template-columns: repeat(3, 1fr); }
}

.processEdu-card { background-color: #fff; border: 1px solid rgb(var(--gray-color-30)); border-radius: var(--radius-m); overflow: hidden; display: flex; flex-direction: column; }
.processEdu-title { font-family: var(--special-font);  padding: 1.2rem 1.4rem; background-color: #0060a9; color: #fff; font-weight: 700; font-size: clamp(1.5rem, 1.8vw, 1.7rem); }
.processEdu-title .tag { font-family: var(--special-font); color: rgb(var(--blue-color-20)); margin-right: 0.5em; }
.processEdu-list { padding: 1.4rem; display: flex; flex-direction: column; gap: 1.2rem; flex: 1; }
.processEdu-list li + li { padding-top: 1.2rem; border-top: 1px solid rgb(var(--gray-color-20)); }
.processEdu-list li > strong { display: flex; align-items: center; gap: 0.6rem; font-weight: 700; font-size: clamp(1.3rem, 1.6vw, 1.4rem); color: #222; margin-bottom: 0.6rem; }
.processEdu-list li > strong i { color: rgb(var(--blue-color-60)); font-size: clamp(1.4rem, 1.6vw, 1.6rem); }
.processEdu-list li > span { display: flex; gap: 0.5rem; padding-left: 1.8rem; font-size: clamp(1.3rem, 2vw, 1.4rem);; color: #666; line-height: 1.6; }
.processEdu-list li > span:before { content: '↳'; color: rgb(var(--gray-color-50)); flex-shrink: 0; }
.processEdu-list li > span + span { margin-top: 0.5rem; }

.processDown-arrow {
	position: relative; display: block; max-width: 50rem; margin: 0 auto; text-align: center; font-weight: 700;
	font-family: var(--special-font); font-size: clamp(1.5rem, 2vw, 1.7rem); color: #333; background-color: #c8d6e8; background: linear-gradient(to top, #c8d6e8, #fff);
	padding: 4rem 2rem 2rem; clip-path: polygon(50% 100%, 100% 50%, 88% 50%, 88% 0%, 12% 0%, 12% 50%, 0% 50%); margin-bottom: 0.5rem;
}
.processSummary { background-color: #fff; border: 1px solid rgb(var(--gray-color-30)); border: 0.3rem solid rgb(var(--basic-color-50)); border-radius: var(--radius-m); padding: clamp(1.6rem, 3vw, 2.4rem) clamp(2rem, 3vw, 3rem); text-align: center; }
.processSummary * { font-family: var(--special-font); }
.processSummary p { font-weight: 600; font-size: clamp(1.4rem, 2vw, 1.8rem); line-height: 1.6; color: #1a1a2e; }
.processSummary p + p { margin-top: 0.8rem; }
.processSummary p em { font-weight: 500; color: rgb(var(--basic-color-50)); }

@media (max-width: 479.9px){
	.processDiagram { grid-template-columns: 1fr; }
	.processDiagram > i { transform: rotate(90deg); justify-self: center; }

	.processTrack-list li { flex-wrap: wrap; }
	.processTrack-desc { margin-left: 0; text-align: left; width: 100%; padding-left: 5.2rem; }
}


/** yearBoard-wrap **/

.yearBoard-wrap .xScroll-outer { --xScroll-fade-color: 240,240,240; }
.yearBoard-search-wrap { display: flex; justify-content: end; margin-bottom: clamp(1.5rem, 2vw, 1.8rem); }
.yearBoard-search { display: flex; gap: 0.5rem; }
.yearBoard-search .customSelect { width: 8rem; font-size: clamp(1.4rem, 1.5vw, 1.5rem); display: flex; align-items: center; }
.yearBoard-search .customSelect > label { padding: 0 1rem; }
.yearBoard-search .yearBoard-search-insert { display: flex; gap: 0.5rem; }
.yearBoard-search .yearBoard-search-insert > input { font-size: 1.5rem; padding: 0.9rem 1rem; }
.yearBoard-search .yearBoard-search-insert > button { position: relative; padding: 1rem 1.1rem; }
.yearBoard-search .yearBoard-search-insert > button span { position: absolute; top: 0; left: 0; visibility: hidden; }

.yearBoard-tab { background-color: rgb(240,240,240); }
.yearBoard-tab ul { display: flex; padding: var(--padding-m); }
.yearBoard-tab ul li { position: relative; }
.yearBoard-tab ul li + li:before { content: ''; display: block; width: 1px; height: 50%; position: absolute; left: 0; top: calc(50% + 0.1em); transform: translateY(-50%);  background-color: rgb(var(--gray-color-50)); }
.yearBoard-tab ul li button { padding: 0 1.5rem; }
.yearBoard-tab ul li button span { opacity: 0.4;  font-size: clamp(1.4rem, 2vw, 1.5rem);  font-family: var(--special-font); }
.yearBoard-tab ul li button:hover span { opacity: 0.7;  }
.yearBoard-tab ul li.current button span { opacity: 1; color: rgb(var(--basic-color-50)); font-weight: 500; }

.yearBoard-wrap .xScroll-on { padding-bottom: 0; }
.yearBoard-wrap .xScroll-on i { width: 4.5rem; height: 4.5rem; padding: 1rem; }

.yearBoard-content-wrap { border-top: 1px solid rgb(var(--gray-color-90)); border-bottom: 1px solid rgb(var(--gray-color-50)); margin-top: clamp(1.5rem, 2vw, 1.8rem); }
.yearBoard-content dl { display: block; padding: clamp(2rem, 3vw, 3rem) 0; }
.yearBoard-content dl + dl { border-top: 1px solid rgb(var(--gray-color-30)); }
.yearBoard-content dl dt, .yearBoard-content dl dt > * { display: block; }
.yearBoard-content dl dt span { font-size: clamp(1.4rem, 2vw, 1.6rem); color: rgb(var(--basic-color-50)); }
.yearBoard-content dl dt strong { font-size: clamp(1.8rem, 2.4vw, 2.3rem); font-weight: 500; margin-top: clamp(0.5rem, 1vw, 1rem); }
.yearBoard-content dl dt:after { content: ''; display: block; width: 3rem; height: 2px; border-radius: 99px; background-color: rgb(var(--gray-color-50)); margin: clamp(1rem, 2vw, 1.5rem) 0; }
.yearBoard-content dl dd { padding-top: 0.5rem; font-size: 1.5rem; }

@media (min-width: 500px){
	.yearBoard-content dl { display: block; padding: clamp(2rem, 3vw, 3rem) clamp(3rem, 4vw, 4rem); }
}


/** ecosystem-wrap (introduce/companies) : same layout as the design mockup, restyled with the site's own tokens **/

.ecosystem-lead {
	text-align: center; border-radius: 9999px; border: 6px solid transparent;
	background-image: linear-gradient(#fff, #fff), var(--gradient-color);
	background-origin: border-box;
	background-clip: content-box, border-box;
}
.ecosystem-lead strong { display: block; font-family: var(--special-font); font-weight: 600; font-size: clamp(2rem, 3vw, 2.6rem); color: #1a1a2e; padding: clamp(1.5rem, 2vw, 1.5rem) 1.5rem; }
.ecosystem-highlight { background-color: rgb(var(--gray-color-10)); border-radius: var(--radius-l); padding: clamp(2rem, 4vw, 3.2rem); margin: clamp(2rem, 3vw, 3.5rem) 0; display: flex; flex-direction: column; gap: clamp(2rem, 3vw, 2.8rem); }

.ecosystem-highlight-text { padding: 0.5rem clamp(1.5rem, 2vw, 3rem) 0; }
.ecosystem-highlight-text h4 { font-family: var(--special-font); font-size: clamp(2rem, 2.2vw, 2.4rem); font-weight: 500; color: #1a1a2e; }
.ecosystem-highlight-text h4 em { font-family: var(--special-font); font-weight: 700; color: rgb(var(--basic-color-50)); }
.ecosystem-highlight-note { display: block; font-size: 1.5rem; color: rgb(var(--gray-color-70)); font-weight: 400; margin-top: 0.4rem; }
.ecosystem-highlight-text .dotList { margin-top: clamp(1rem, 2vw, 2rem); font-size: 1.5rem; }
.ecosystem-highlight-text .dotList em { color: rgb(var(--basic-color-50)); }

.ecosystem-highlight-side { display: flex; flex-wrap: wrap; gap: 1.4rem; }
.ecosystem-factory { flex: 1 1 15rem; background-color: #fff; border-radius: var(--radius-m); box-shadow: 0 1px 4px rgba(0,0,0,0.06); padding: 1.8rem 1.6rem; text-align: center; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0.5rem; }
.ecosystem-factory i { display: block; width: 20rem; max-width: 80%; }
.ecosystem-factory strong { padding-top: 1rem; font-family: var(--special-font); font-size: clamp(1.5rem, 2vw, 1.8rem); font-weight: 700; color: rgb(var(--special-color-60)); line-height: 1.4; }
.ecosystem-factory strong em { font-family: var(--special-font); color: #1a1a2e;  }
.ecosystem-factory span { font-size: 1.3rem; color: rgb(var(--gray-color-60)); font-weight: 600; }

.ecosystem-figures { text-align: center; flex: 1 1 15rem; background-color: #fff; border-radius: var(--radius-m); box-shadow: 0 1px 4px rgba(0,0,0,0.06); padding: 1.6rem; display: flex; flex-direction: column; justify-content: center; gap: 1rem; }
.ecosystem-figures > div { flex: 1; display: flex; align-items: center;   justify-content: center; }
.ecosystem-figures > div + div { padding-top: 1rem; border-top: 1px dashed rgb(var(--gray-color-30)); }
.ecosystem-figures dt { display: block;  font-size: clamp(1.4rem, 2vw, 1.6rem); color: rgb(var(--gray-color-60)); font-weight: 500; }
.ecosystem-figures dd { font-family: var(--special-font); font-size: clamp(2rem, 2.5vw, 2.6rem); font-weight: 800; color: rgb(var(--blue-color-60)); margin-top: 0.5rem; }
.ecosystem-figures dd em { font-style: normal; font-size: 0.7em; font-weight: 500; color: rgb(var(--gray-color-60)); margin-left: 0.2em; }

.ecosystem-body { display: grid; grid-template-columns: 1fr; gap: clamp(2rem, 3vw, 3.5rem); align-items: stretch; }

.ecosystem-infoGrid { display: grid; grid-template-columns: 1fr; gap: 1.6rem; margin-bottom: 1.6rem; }
.ecosystem-infoGrid > div { border-radius: var(--radius-m); overflow: hidden; box-shadow: 0 1px 4px rgba(0,0,0,0.06); }
.ecosystem-infoGrid > div img { display: block; width: 100%; }

.ecosystem-tierGrid { display: grid; grid-template-columns: 1fr; gap: 1.6rem; }

.ecosystem-logos { list-style: none; display: grid; gap: 0.8rem; padding: 1.4rem; }
.ecosystem-logos > li { aspect-ratio: 4 / 1; border: 1px solid rgb(var(--gray-color-30)); border-radius: var(--radius-xs); background-color: #fff; display: flex; align-items: center; justify-content: center; padding: 0; }
.ecosystem-logos > li img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; }

.tier-oem .infoCard-title { background-color: rgb(var(--gray-color-90)); }
.tier-oem .ecosystem-logos { grid-template-columns: repeat(2, 1fr); }

.tier-1 .infoCard-title { background-color: rgb(var(--basic-color-50)); }
.tier-1 .ecosystem-logos { grid-template-columns: repeat(3, 1fr); }

.tier-2 .infoCard-title { background-color: #fff; color: rgb(var(--basic-color-60)); border-bottom: 2px solid rgb(var(--basic-color-50)); height: calc(4.5rem - 2px); }
.tier-2 .ecosystem-logos { grid-template-columns: repeat(4, 1fr); }

.ecosystem-infra { display: flex; flex-direction: column; gap: 1.6rem; }
.ecosystem-infra .infoCard { display: flex; flex-direction: column; flex: 1; }
.ecosystem-infra .infoCard-title { flex-shrink: 0; justify-content: center; }
.ecosystem-infra .infoCard-title em { font-style: normal; font-size: 0.8em; opacity: 0.8; margin-left: 0.4em; }
.ecosystem-photo { position: relative; aspect-ratio: 16 / 9; flex: 1 0 auto; overflow: hidden; background-color: rgb(var(--gray-color-10)); }
.ecosystem-photo img { display: block; width: 100%; height: 100%; object-fit: cover; }

@media (min-width: 640px){
	.ecosystem-infoGrid { grid-template-columns: repeat(2, 1fr); }
	.tier-1 .ecosystem-logos { grid-template-columns: repeat(4, 1fr); }
	.tier-2 .ecosystem-logos { grid-template-columns: repeat(5, 1fr); }
}

@media (min-width: 920px){
	.ecosystem-highlight { flex-direction: row; align-items: center; }
	.ecosystem-highlight-text { padding-top: 0; }
	.ecosystem-highlight-side { flex: 1; flex-shrink: 0; }
	.ecosystem-figures { flex: 0.7 1 15rem; }
}

@media (min-width: 1024px){
	.tier-2 .ecosystem-logos { grid-template-columns: repeat(6, 1fr); }
}

@media (min-width: 1024px){
	.ecosystem-body { grid-template-columns: 2.8fr 1fr; }
}