@charset "utf-8";

.page-hero {position: relative;z-index: 7;display: flex;align-items: center;justify-content: center;height: clamp(300rem, calc(400 / var(--container) * 100vw), 400rem);contain: content;color: #fff;isolation: isolate;
	&::before { position: absolute; inset: 0; z-index: -1; background: var(--black) no-repeat 50% / cover; content: ""; background-image: url("/assets/images/pages/img-page-hero-01.webp"); }
	&.nav-about::before { background-image: url("/assets/images/pages/img-page-hero-01.webp"); }
	&.nav-contact::before { background-image: url("/assets/images/pages/page-hero-1.webp"); }
	&.nav-board::before { background-image: url("/assets/images/pages/page-hero-1.webp"); }
	&.nav-legal::before { background-image: url("/assets/images/pages/page-hero-11.webp"); }
	/* TODO: after 삭제 */
	&::after {position: absolute;inset: 0;z-index: -1;align-content: center;margin: auto;font: 200 var(--font-size-32) var(--font-sans);text-align: center;color: #fff;background: #000;content: "";opacity: .5;}
	.page-hero-container {display: flex;align-items: center;margin-top: var(--header-height);flex-direction: column;flex-direction: column;gap: 20rem;}
	.heading {font: 800 var(--font-size-45) var(--font-sans);}
	@media (prefers-reduced-motion: no-preference) {
		&::before { animation: page-hero-bg 1.8s both; }
		.heading { opacity: 0; animation: slide-up 0.6s 0.2s both; }
	}

	.breadcrumb { display: flex; }
	.breadcrumb li { position: relative; padding-right: 18rem; margin-right: 18rem; display: flex; align-items: center; }
	.breadcrumb li:last-child { padding: 0; margin: 0; }
	.breadcrumb li a { }
	.breadcrumb li:first-child a { font-size: 0; background: url(/assets/images/pages/icon-home.svg) no-repeat center / contain; display: block; width: 18rem; height: 18rem; }
	.breadcrumb li::after { content: '>'; font-family: fantasy; position: absolute; right: -4px; top: 50%; transform: translateY(-50%); }
	.breadcrumb li:last-child::after { display: none; }

}
@keyframes page-hero-bg {
	0% { scale: 1.05; }
	100% { scale: 1; }
}
@keyframes slide-up {
	0% { translate: 0 40rem; opacity: 0; }
	100% { translate: 0; opacity: 1; }
}
@keyframes slide-right {
	0% { translate: -40rem; opacity: 0; }
	100% { translate: 0; opacity: 1; }
}

.local-nav {position: relative;z-index: 7;font: var(--font-size-18-to-14) var(--font-sans);border-bottom: 1rem solid #ddd;
	.container {display: flex;}
	.home { display: grid; place-items: center; width: auto; height: 100%; aspect-ratio: 1; background: var(--black); }
	.home-icon { display: block; width: 1.05555556em; height: auto; fill: white; }
	details { position: relative; }
	summary { position: relative; display: block; align-content: center; height: 100%; padding-inline: 1.66666667em 3.83333333em; text-align: left; color: var(--black); background: lightgray; }
	summary::after { position: absolute; inset: 0; width: 0.55555556em; aspect-ratio: 1; margin: auto 29rem auto auto; border: solid currentColor; border-width: 0 1px 1px 0; translate: 0 -25%; rotate: 45deg; content: ""; }
	[open] summary::after { translate: 0 25%; scale: -1; }
	.nav-menu {position: relative;color: var(--black);background: #fff;width: 100%;display: flex;justify-content: center;}
	.details-level-1 .nav-menu-level-2 { display: none; }
	.details-level-2 .nav-menu-level-3 { display: none; }
	.nav-link {display: block;padding: 20rem clamp(20rem, calc(40 / var(--container) * 100vw), 40rem);box-sizing: border-box; font-size:20rem; color: #777;border-bottom: 1rem solid #f2f2f2;}
	@media (any-hover) {
		.nav-link:hover, .nav-item.active .nav-link {border-bottom: 1rem solid #a40000;font-weight: 800;color: #a40000;}
	}

	.local-nav-toggle { display:none; }

	@media (max-width:767px) {
		.local-nav-toggle {display:flex;align-items:center;padding: 20rem;gap: 20rem;border-inline: 1rem solid #ddd;font-size: 16rem;min-width: 200rem;width: 100%;justify-content: space-between;}
		.nav-menu { display:none; }
		&.open .nav-menu {display:block;position: absolute;top: 60rem;box-shadow: 0px 10px 20px 0px rgba(0,0,0,0.1);border: 1rem solid #ddd;border-top: 0;}
	}

	
}

.layout-inner { min-height: 300px; padding-block: clamp(60rem, calc(90 / var(--container) * 100vw), 90rem); padding-bottom: clamp(75rem, calc(150 / var(--container) * 100vw), 150rem);
	.legal-document .page-heading, .page-heading-block { margin-bottom: calc(var(--font-size-35) * 2); text-align: center; }
	.page-heading { font-size: var(--font-size-42); }
	.page-subheading { margin-top: 0.125em; font-weight: 700; font-size: var(--font-size-16); color: #999; }
	/* 멤버 페이지는 각 페이지가 타이틀을 가진 경우가 많아서 공통 서브 타이틀 숨기기 */
	#main:has(.join_area) .sub_title { display: none; }
}


/* CEO Message */
.ceo-message { 
	position: relative; 

	.introduction { display: flex; align-items:flex-start; gap: clamp(60rem, calc(100 / var(--container) * 100vw), 100rem); }
	.introduction .img { position: relative; display: block; max-width:300rem; aspect-ratio: 3/4; }
	.introduction .img figcaption { display: flex; gap: 5rem; position: absolute; bottom: -10rem; right: -10rem; flex-direction: column; background: #fff; padding: 20rem; box-shadow: 0px 0px 30px 0px rgba(0,0,0,0.1); align-items: center; }
	.introduction .img figcaption b { font-size: var(--font-size-30); font-family: 'Noto Serif KR'; }
	.introduction .img img { width: 100%; height: 100%; object-fit: cover; object-position: center 20%; border-radius: 40rem 0 40rem 0; }
	.introduction .text { display: flex; flex-direction: column; gap: 20rem; line-height: 1.8; font-size:var(--font-size-20);}

	@media(max-width: 767px){
		.introduction{flex-direction: column;}
        .introduction .img{margin:auto; max-width:200rem;}
        .introduction .img figcaption{bottom:-30rem;}
	}
}

/* History */
.association-history { 
	position: relative; 

	.content-tab { display: flex; gap: 10rem; justify-content: center; margin-bottom: clamp(40rem, calc(80 / var(--container) * 100vw), 80rem); }
	.content-tab button {display: flex;padding: 10rem 20rem;border: 1rem solid;width: 100%;max-width: 200rem;align-items: center;justify-content: center;font-size: var(--font-size-18);opacity: 50%;border-radius: 5rem;}
	.content-tab button.active { background: #a40000; opacity: 1; color: #fff; border: 0; }
	.content.active { display: block; opacity: 1; visibility: visible; }
	.content { display: none; opacity: 0; }
	.intro { display: flex; flex-direction: column; }
	.intro img {width: 100%;max-height: 400rem;object-fit: cover;border-radius: 10rem;}
	.intro ul { display: flex; flex-direction: column; gap: 10rem; line-height: 1.8; max-width: 90%; margin: 0 auto; background: #fff; margin-top: -80rem; padding: 40rem 60rem; line-height: 2;}
	.intro ul li { display: flex; flex-direction: column; gap: 25rem;  font-size:var(--font-size-20);}
	.intro ul strong { font-size: var(--font-size-24); }
	.history { position: relative; }
	.history > h4 { font-size: var(--font-size-24); }
	.history .list-history { position: relative; margin-top: 30rem; padding-top: 30rem; border-top: 1rem solid #ddd; display: flex; flex-direction: column; }
	.history .list-history li { display: flex; gap: 30rem; flex-wrap: wrap; }
	.history .list-history li>span { font-size: var(--font-size-24); font-weight: 800; color: #a40000; display: flex; height: fit-content; position: relative; padding-right: 100rem; }
	.history .list-history li>span::after { content: ''''; width: 70rem; position: absolute; height: 1rem; background: #a40000; right: 0; top: 50%; }
	.history .list-history li .items { display: flex; flex-direction: column; gap: 15rem; }
	.history .list-history li .items p { display: flex; }
	.history .list-history li .items p b { min-width: 80rem; }

	.rules { position: relative; display: flex; padding: 10rem; border: 1rem solid #ddd; justify-content: space-between; align-items: center; border-radius: 5rem; }
	.rules .thumb { display: flex; gap: 40rem; align-items: center; }
	.rules .thumb figure { display: flex; aspect-ratio: 6/3; justify-content: center; align-items: center; background: #fafafa; max-width: 350rem; }
	.rules .thumb figure img { width: 60%; }
	.rules .thumb hgroup { display: flex; flex-direction: column; gap: 5rem; }
	.rules .thumb hgroup h4 { font-size: var(--font-size-25); }
	.rules .cta { display: flex; gap: 10rem; padding-right: 50rem; }
	.rules .cta a { display: flex; background: #333; color: #fff; padding: 10rem; min-width: 150rem; align-items: center; justify-content: center; gap: 10rem; }
	.rules .cta a svg { width: 24rem; }
	.rules .cta a.view { background: #fff; color: #333; border: 1rem solid #333; }
	.rules .cta a.view svg path { fill: #333; }

	@media(max-width: 767px){
		.intro ul { margin: 0; max-width: unset; padding: 30rem 20rem; }
	}
}

/* BOD */
.bod { 
	position: relative; 

	.bod-content { position: relative; display: flex; flex-direction: column; padding-top: 50rem; margin-bottom: 50rem; border-top: 1rem solid #ddd; }
	.bod-content h4 { font-size: var(--font-size-30); margin-bottom: 20rem; }
	.bod-content .list {display:grid; grid-template-columns:repeat(5, 1fr); gap:clamp(20rem, calc(40 / var(--container) * 100vw), 40rem);}
	.bod-content .list li figure {display: flex;aspect-ratio: 3/4; padding:clamp(10rem, calc(50 / var(--container) * 100vw), 50rem); background:#f5f5f5; overflow: hidden;border-radius: 10rem;}
	.bod-content .list li figure img {position: relative;width: 100%;height: 100%;object-fit: cover;display: block;object-position: top center;background: #f8f8f8;border-radius: 5rem;}
	.bod-content .list li figure img::after { content: ''''; position: absolute; width: 100%; height: 100%; background: url(/assets/brand/logo-text-black.svg) no-repeat center / contain; top: 0; background-color: #f9f9f9; background-size: 80%; filter: grayscale(1); }
	.bod-content .list li hgroup { display: flex; flex-direction: column; margin-top: 20rem; gap:5rem;}
	.bod-content .list li hgroup strong {font-size: var(--font-size-22);}
    .bod-content .list2{display:grid; grid-template-columns:repeat(5, 1fr); gap:clamp(20rem, calc(40 / var(--container) * 100vw), 40rem);}
    .bod-content .list2 li hgroup {display:flex; flex-direction:column; padding:clamp(15rem, calc(30 / var(--container) * 100vw), 30rem); gap:5rem; background:#f5f5f5; border-radius:10rem; height: 100%;}
	.bod-content .list2 li hgroup strong {font-size: var(--font-size-22);}
	.bod-content li hgroup p {font-size: var(--font-size-18);}

    @media(max-width: 1024px){
		.bod-content .list {grid-template-columns: repeat(4, 1fr);}
		.bod-content .list2 {grid-template-columns: repeat(4, 1fr);}
	}
	@media(max-width: 767px){
		.bod-content .list {grid-template-columns: repeat(3, 1fr);}
		.bod-content .list2 {grid-template-columns: repeat(3, 1fr);}
	}
    @media(max-width: 580px){
		.bod-content .list {grid-template-columns: repeat(2, 1fr);}
		.bod-content .list2 {grid-template-columns: repeat(2, 1fr);}
	}
}

/* Direction */
.direction {
    position: relative;

	.map-wrap { position: relative; }
	.map-wrap .root_daum_roughmap_landing {width: 100%;border-radius: 10rem 10rem 0 0;}
	.map-wrap .root_daum_roughmap_landing .cont, .map-wrap .root_daum_roughmap_landing .hide { display: none; }
	.map-wrap .root_daum_roughmap_landing .wrap_map { height: 450rem; }
	.map-wrap .info { display: flex; flex-direction: column; }
	.map-wrap .info > span { display: flex; padding: 6rem; text-align: center; justify-content: center; text-transform: uppercase; font-size: var(--font-size-20); font-family: 'Play'; font-weight: 600; border: 1rem solid #ddd; background: #365ec3; color: #fff; }
	.map-wrap .info ul {display: flex;border-left: 1rem solid #ddd;border-radius: 0 0 10rem 10rem;overflow: hidden;border: 1rem solid #ddd;}
	.map-wrap .info ul li {display: flex;width: 100%;justify-content: center;padding: 20rem 0;align-items: center;gap: 10rem;background: #ffffff;border-right: 1rem solid #ddd;font-weight: 600;border-left: 0;color: #616161; font-size: var(--font-size-18);}
    .map-wrap .info ul li svg{flex:0 0 auto;}
	.map-wrap .info ul li svg path {fill: #a40000;}
    .map-wrap .info2{display:grid; grid-template-columns:1fr 1fr 1fr; margin-top:clamp(40rem, calc(120 / var(--container) * 100vw), 120rem); padding-top:clamp(30rem, calc(50 / var(--container) * 100vw), 50rem); border-top:2rem solid #222;}
    .map-wrap .info2 li{padding:0 clamp(20rem, calc(40 / var(--container) * 100vw), 40rem) 0; text-align:center;}
    .map-wrap .info2 li:nth-child(2){border-left:1px dashed #ddd; border-right:1px dashed #ddd;}
    .map-wrap .info2 li span{display:flex; align-items:center; justify-content:center; margin:auto; width:150rem; height:150rem; border-radius:50%; background:#f5f5f5;}
    .map-wrap .info2 li span svg{height:40rem;}
    .map-wrap .info2 li span path{fill:#a40000;}
    .map-wrap .info2 li em{display:block; margin:30rem 0 20rem; font-size:22rem; font-weight:bold; color:#111;}
    .map-wrap .info2 li p{font-size:var(--font-size-18); color:#555;}

	@media(max-width: 1023px){
		.map-wrap .info ul { flex-wrap: wrap; }
		.map-wrap .info ul li { justify-content: flex-start; padding: 15rem;}
	}
    @media(max-width: 767px){
        .map-wrap .info2{grid-template-columns:1fr; padding-top:0;}
        .map-wrap .info2 li{display:flex; gap:20rem; padding:20rem; text-align:left;}
        .map-wrap .info2 li:nth-child(2){border-top:1px dashed #ddd; border-bottom:1px dashed #ddd; border-left:none; border-right:none;}
        .map-wrap .info2 li span{flex:0 0 auto; margin:0; width:100rem; height:100rem;}
        .map-wrap .info2 li span svg{height:30rem;}
        .map-wrap .info2 li em{margin:8rem 0 12rem; font-size:18rem;}
    }
    @media(max-width: 580px){
        .map-wrap .info2 li{padding:20rem 0 30rem;}
        .map-wrap .info2 li span{width:80rem; height:80rem;}
    }

}

/* Educational Seminar */
.education-seminar { 
	position: relative; 

	.edu-card { position: relative; display: grid; grid-template-columns: repeat(3, 1fr); gap: 20rem; }
	.edu-card .card { display: flex; flex-direction: column; border: 1rem solid #ddd; border-radius: 10rem; overflow: hidden; }
	.edu-card .card > img { width: 100%; aspect-ratio: 6/3; object-fit: cover; display: block; }
	.edu-card .card i {aspect-ratio: 1;width: 80rem;background: #a40000;display: flex;padding: 16rem;border-radius: 100rem;margin: 0 auto;margin-top: -30rem;border: 4rem solid #fff;}
	.edu-card .card hgroup { display: flex; flex-direction: column; padding: 30rem 40rem; text-align: center; }
	.edu-card .card hgroup h4 { font-size: var(--font-size-24); }
	.edu-card .card hgroup span { display: block; padding-block: 5rem 10rem; margin-bottom: 20rem; border-bottom: 1rem solid #ddd; color: #a40000; }

	@media(max-width: 1023px){
		.edu-card {grid-template-columns: repeat(2, 1fr);}
	}
	@media(max-width: 767px){
		.edu-card {grid-template-columns: repeat(1, 1fr);}
	}
    
	.business-content { position: relative; }
	.business-content .business-intro { margin-bottom: 80rem; text-align: center; }
	.business-content .business-intro .sub-title { display: block; margin-bottom: 18rem; font-size: 18rem; font-weight: 600; color: var(--color-point, #8b704e); }
	.business-content .business-intro h3 { font-size: 42rem; font-weight: 600; line-height: 1.4; color: #222; word-break: keep-all; }
	.business-content .business-intro p { margin-top: 25rem; font-size: 18rem; font-weight: 400; line-height: 1.8; color: #777; word-break: keep-all; }
    .business-content .info-block { display: flex; flex-direction: column;  }
    .business-content .info-block+.info-block{padding-top: 40rem; margin-top: 40rem; border-top: 1rem solid #ddd;}
	.business-content .info-block > h2 { color: #a40000; margin-bottom: 20rem; }
	.business-content .info-block em { position: relative; display: flex; gap: 10rem; padding: 6rem 20rem; background: #fff2f2; width: fit-content; font-weight: 600; color: #a40000; border-radius: 50rem; border: 1rem solid; margin-top: 20rem; align-items: center; }
	.business-content .info-block em::before { content: ''; position: relative; background: url(/assets/images/home/icon-feature-03.svg) no-repeat center / contain; width: 20rem; height: 20rem; }
	.business-content .info-block ul {display: flex;gap: 10rem;}
	.business-content .info-block ul li { padding: 30rem; border: 1rem solid #ddd; border-radius: 10rem; }
	.business-content .info-block ul li strong { font-size: var(--font-size-18); margin-bottom: 10rem; display: block; }
	.business-content .info-box {display: flex;padding: clamp(30rem, calc(60 / var(--container) * 100vw), 60rem);background: #fafafa;flex-direction: column;gap: 20rem;border-radius: 10rem;}
	.business-content .info-box .type {display: flex;margin-top: 30rem;gap: 30rem;}
	.business-content .info-box .type li { display: flex; flex-direction: column; gap: 10rem; border-left: 1rem solid #a40000; padding-left: 30rem; }
	.business-content .info-box .type li > span { font-size: var(--font-size-18); font-weight: 700; color: #a40000; }
	.business-content .business-list { border-top: 2rem solid #222; }
	.business-content .business-list > li { display: grid; grid-template-columns: 140rem 1fr; padding: 55rem 30rem; border-bottom: 1rem solid #ddd; }
	.business-content .business-list .num { font-size: 20rem; font-weight: 600; color: #aaa; letter-spacing: -0.02em; }
	.business-content .business-list .content { padding-right: 30rem; }
	.business-content .business-list .content h4 { margin-bottom: 20rem; font-size: 26rem; font-weight: 600; line-height: 1.45; color: #222; word-break: keep-all; }
	.business-content .business-list .content > p { font-size: 17rem; font-weight: 400; line-height: 1.8; color: #666; word-break: keep-all; }
	.business-content .detail-list { display: flex; flex-direction: column; gap: 10rem; margin-top: 25rem; padding: 22rem 25rem; background: #f7f7f7; border-radius: 10rem; }
	.business-content .detail-list li { position: relative; padding-left: 15rem; font-size: 16rem; font-weight: 400; line-height: 1.7; color: #666; word-break: keep-all; }
	.business-content .detail-list li::before { content: ""; position: absolute; left: 0; top: 0.75em; width: 4rem; height: 4rem; background: #999; border-radius: 50%; }
	
	@media (max-width: 1024px) {
		.business-content .business-intro { margin-bottom: 60rem; }
		.business-content .business-intro h3 { font-size: 34rem; }
        .business-content .info-block ul { flex-wrap: wrap; }
		.business-content .info-box .type { flex-wrap: wrap; }
		.business-content .business-list > li { grid-template-columns: 100rem 1fr; padding: 45rem 20rem; }
		.business-content .business-list .content h4 { font-size: 23rem; }
	}
	@media (max-width: 767px) {
		.business-content .business-intro { margin-bottom: 40rem; text-align: left; }
		.business-content .business-intro .sub-title { margin-bottom: 12rem; font-size: 15rem; }
		.business-content .business-intro h3 { font-size: 26rem; line-height: 1.45; }
		.business-content .business-intro h3 br,
			.business-content .business-intro p br { display: none; }
		.business-content .business-intro p { margin-top: 18rem; font-size: 15rem; line-height: 1.7; }
		.business-content .business-list > li { display: block; padding: 32rem 0; }
		.business-content .business-list .num { margin-bottom: 13rem; font-size: 15rem; }
		.business-content .business-list .content { padding-right: 0; }
		.business-content .business-list .content h4 { margin-bottom: 14rem; font-size: 20rem; line-height: 1.5; }
		.business-content .business-list .content > p { font-size: 15rem; line-height: 1.7; }
		.business-content .detail-list { gap: 8rem; margin-top: 20rem; padding: 18rem; border-radius: 8rem; }
		.business-content .detail-list li { padding-left: 12rem; font-size: 14rem; line-height: 1.7; }
	}

}

/* Choir */
.choir { 
	position: relative; 

	.choir-content { position: relative; }
    .choir-content .schedule { display: flex; flex-direction: column; gap: 10rem; }
	.choir-content .schedule li {display: flex;flex-direction: column; padding: clamp(20rem, calc(40 / var(--container) * 100vw), 40rem); border-radius: 10rem; background: #fafafa; gap: 10rem;}
	.choir-content .schedule li h4 {display:flex; gap:15rem; align-items:center; color: #a40000; font-size: var(--font-size-20); }
	.choir-content .schedule li h4 .register-member{display: flex; align-items:center; justify-content:center; gap:6rem; padding:5rem 10rem; background:#a40000; color:#fff; border-radius:4rem; font-size: var(--font-size-18);}
	.choir-content .schedule li .name { font-weight: 700; }
	.choir-content .schedule li .address { display: flex; gap: 10rem; margin-top: 20rem; padding-top: 30rem; border-top: 1rem solid #ddd; flex-wrap: wrap; }
	.choir-content .schedule li .address em { display: flex; align-items: center; gap: 10rem; background: #ffeeee; border-radius: 100rem; padding: 8rem 20rem; color: #a40000; }
	.choir-content .schedule li .address svg path { fill: #a40000; }
	.choir-content .schedule li .address svg { width: clamp(15rem, calc(25 / var(--container) * 100vw), 25rem); }
    
    .choir-content .schedule li.st01{flex-direction:row; flex-wrap:wrap; align-items:flex-start; gap:10rem 0;}
    .choir-content .schedule li.st01 .text{display: flex; flex-direction: column; gap:10rem; padding-right:40rem; width:calc(100% - 400rem);}
    .choir-content .schedule li.st01 .img{width:400rem; border-radius:10rem; overflow:hidden;}
    .choir-content .schedule li.st01 .img img{display:block; width:100%; height:100%; object-fit:cover;}
    
    @media(max-width:1023px){
        .choir-content .schedule li.st01 .text{width:calc(100% - 300rem);}
        .choir-content .schedule li.st01 .img{width:300rem;}
    }
    @media(max-width:767px){
        .choir-content .schedule li.st01{flex-direction:column; gap:10rem;}
        .choir-content .schedule li.st01 .text{padding-right:0; width:100%;}
        .choir-content .schedule li.st01 .img{margin-top:20rem; width:100%;}
    }
	
}

/* Choir Project */
.church-project { 
	position: relative; 

	.items { position: relative;  display: flex; flex-direction: column; gap: 30rem; }
    .items+.items{margin-top: 40rem; padding-top: 40rem; border-top: 1rem solid #ddd;}
	.items .text { display: flex; flex-direction: column; gap: 10rem; }
    .items .text h2{margin-bottom:5rem;display: flex;gap: 15rem;align-items: center;}
	.items .text h2 .register-member {        display: flex;
        align-items: center;
        justify-content: center;
        gap: 6rem;
        padding: 5rem 10rem;
        background: #a40000;
        color: #fff;
        border-radius: 4rem;
        font-size: var(--font-size-18);}
    .items .text .contact { display: flex; gap: 10rem; margin-top:20rem; flex-wrap: wrap; }
	.items .text .contact em { display: flex; align-items: center; gap: 10rem; background: #ffeeee; border-radius: 100rem; padding: 8rem 20rem; color: #a40000; }
	.items .text .contact svg path { fill: #a40000; }
	.items .text .contact svg { width: clamp(15rem, calc(20 / var(--container) * 100vw), 20rem); }

}

/* Membership Information */
.membership-information { 
	position: relative; .membership-intro { display: flex; flex-direction: column; gap: 20rem; padding-bottom: 50rem; margin-bottom: 50rem; border-bottom: 1rem solid #ddd; }

	.membership-intro .section-title { display: flex; flex-direction: column; gap: 5rem; }
	.membership-intro .section-title span { color: #a40000; font-size: var(--font-size-14); font-weight: 600; }
	.membership-intro .section-title h3 { font-size: var(--font-size-28); }
	.membership-intro .intro-text { display: flex; flex-direction: column; gap: 10rem; line-height: 1.8; }
	.membership-section { display: flex; flex-direction: column; margin-bottom: 60rem; }
	.membership-section .section-heading { display: flex; align-items: center; gap: 15rem; margin-bottom: 25rem; }
	.membership-section .section-heading > span { color: #a40000; font-size: var(--font-size-14); font-weight: 700; }
	.membership-section .section-heading h4 { font-size: var(--font-size-24); }
	.condition-list { display: flex; gap: 10rem; }
	.condition-list li { flex: 1; padding: 25rem 30rem; border: 1rem solid #ddd; border-radius: 10rem; }
	.condition-list li strong { display: block; margin-bottom: 10rem; color: #a40000; font-size: var(--font-size-14); }
	.condition-list li p { font-weight: 600; font-size: var(--font-size-20); }
	.contact-list { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1rem solid #222; border-left: 1rem solid #ddd; }
	.contact-list li { display: flex; align-items: center; justify-content: space-between; gap: 20rem; padding: 20rem 25rem; border-right: 1rem solid #ddd; border-bottom: 1rem solid #ddd; }
	.contact-list li > span:first-child { color: #888; }
	.contact-list a { font-weight: bold; }
	.contact-list a:hover { color: #a40000; }
	.fee-content { display: flex; gap: 10rem; }
	.fee-group { flex: 1; padding: 30rem; border: 1rem solid #ddd; border-radius: 10rem; }
	.fee-group h5 { padding-bottom: 20rem; margin-bottom: 20rem; border-bottom: 1rem solid #ddd; font-size: var(--font-size-20); color: #a40000; }
    .fee-group h5 i{display:block; margin-top:10rem; color:#555; font-weight:normal; font-style: normal; font-size: var(--font-size-18); }
	.fee-group ul { display: flex; flex-direction: column; gap: 12rem; }
	.fee-group li { display: flex; justify-content: space-between; gap: 20rem; }
	.fee-group li span { color: #666; }
	.fee-group li strong { font-weight: 700; }
	.fee-group .btn-regist { display: flex; padding: 10rem 30rem; background: var(--primary); color: #fff; width: fit-content; border: 1rem solid; margin-top: 30rem; margin-inline: auto; border-radius: 5rem; transition: all .3s; }
	.fee-group .btn-regist:hover { background: #222; }
	.fee-notice { margin-top: 15rem; color: #666; font-size: var(--font-size-14); }
	.account { display: flex; align-items: center; gap: 40rem; margin-top: 30rem; padding-top: 25rem; border-top: 1rem solid #222; }
	.account-title { display: flex; align-items: center; gap: 15rem; min-width: 100rem; }
	.account-title span { color: #a40000; font-size: var(--font-size-13); font-weight: 700; }
	.account-title h5 { font-size: var(--font-size-18); }
	.account-info { display: flex; align-items: center; gap: 20rem; }
	.account-info > div span {display:flex; gap:20rem; align-items: center; font-size: var(--font-size-20); font-weight: 700; }
    .account-info > div strong {flex: 0 0 auto; font-size: var(--font-size-16);}
	.account-info small { color: #777; }
	.affiliated-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20rem; }
	.affiliated-list li { border-radius: 10rem; overflow: hidden; }
	.affiliated-list figure { aspect-ratio: 16 / 8; background: #f5f5f5; overflow: hidden; }
	.affiliated-list figure img { width: 100%; height: 100%; display: block; object-fit: cover; }
	.affiliated-info { display: flex; align-items: center; gap: 15rem; padding: 20rem; background: #fafafa; }
	.affiliated-info > span { color: #a40000; font-size: var(--font-size-14); font-weight: 700; }
	.affiliated-info strong { font-size: var(--font-size-20); }
	
	@media(max-width: 1023px) {
		.account { flex-wrap: wrap; }
		.account-info { flex-wrap: wrap; }
	}
	@media(max-width: 767px) {
		.membership-intro { padding-bottom: 40rem; margin-bottom: 40rem; }
		.membership-section { margin-bottom: 45rem; }
		.condition-list,
		.fee-content, .affiliated-list { flex-direction: column; grid-template-columns: 1fr; }
		.contact-list { grid-template-columns: 1fr; }
		.contact-list li { align-items: flex-start; flex-direction: column; gap: 5rem; }
		.account { align-items: flex-start; flex-direction: column; gap: 15rem; }
		.account-info { align-items: flex-start; flex-direction: column; gap: 8rem; }
	}
}

/* Sponsorship Information */
.sponsorship-information {
	position: relative;

	.sponsor-section { position: relative; margin-bottom: 60rem; padding-bottom: 60rem; border-bottom: 1rem solid #ddd; }
	.sponsor-section:last-child { margin-bottom: 0; border-bottom: 0; }
	.section-heading { display: flex; align-items: center; gap: 15rem; margin-bottom: 30rem; }
	.section-heading > span { color: #a40000; font-size: var(--font-size-14); font-weight: 700; }
	.section-heading h3 { font-size: var(--font-size-24); }
	.need-list { display: flex; flex-direction: column; }
	.need-list li { display: flex; gap: 25rem; padding: 30rem 0; border-bottom: 1rem solid #ddd; }
	.need-list li:first-child { padding-top: 0; }
	.need-list li > strong { flex: 0 0 30rem; color: #a40000; font-size: var(--font-size-18); }
	.need-list li > div { display: flex; flex-direction: column; gap: 10rem; }
	.need-list li h4 { font-size: var(--font-size-18); }
	.need-list li p { line-height: 1.7; color: #555; }
	.benefit-content { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20rem; }
	.benefit-block { padding: 35rem 40rem; border-radius: 10rem; background: #fafafa; }
	.benefit-block h4 { margin-bottom: 20rem; padding-bottom: 15rem; border-bottom: 1rem solid #ddd; color: #a40000; font-size: var(--font-size-22); }
	.benefit-block ul { display: flex; flex-direction: column; gap: 12rem; }
	.benefit-block li { position: relative; padding-left: 15rem; line-height: 1.6; }
	.benefit-block li::before { content: ''; position: absolute; top: .7em; left: 0; width: 5rem; height: 5rem; border-radius: 100%; background: #a40000; }
	.sponsor-account { display: flex; align-items: center; justify-content: space-between; gap: 40rem; padding-bottom: 0; }
	.sponsor-account .section-heading { margin-bottom: 0; }
	.account-info { display: flex; align-items: center; gap: 20rem; }
    .account-info strong {display:flex; gap:20rem; align-items:center; font-size: var(--font-size-24); }
	.account-info span {flex:0 0 auto; color: #a40000; font-weight: 700; font-size:var(--font-size-16);}
	.account-info em { color: #666; font-style: normal; }
	
	@media(max-width: 1023px) {
		.sponsor-account { align-items: flex-start; flex-direction: column; gap: 20rem; }
	}
	@media(max-width: 767px) {
		.sponsor-section { margin-bottom: 45rem; padding-bottom: 45rem; }
		.benefit-content { grid-template-columns: 1fr; }
		.need-list li { gap: 15rem; padding: 25rem 0; }
		.benefit-block { padding: 25rem 20rem; }
		.account-info { align-items: flex-start; flex-direction: column; gap: 8rem; }
		.account-info strong { font-size: var(--font-size-20); }
	}
}

/* Network */
.network {
	position: relative;

	.network-section { position: relative; margin-bottom: 70rem; }
	.section-heading {display: flex;align-items: center;gap: 15rem;margin-bottom: 40rem;justify-content: center;position: relative;}
	.section-heading > span { color: #a40000; font-size: var(--font-size-14); font-weight: 700; }
	.section-heading h3 {font-size: var(--font-size-24);position: absolute;left: 0;}
	.partner-list { display: grid; grid-template-columns: repeat(4, 1fr); gap: 15rem; }
	.partner-list li { position: relative; display: flex; align-items: center; gap: 20rem; min-height: 150rem; padding: 25rem; border: 1rem solid #ddd; border-radius: 10rem; overflow: hidden; transition: .3s ease; }
	.partner-list li::after { content: ''; position: absolute; right: -30rem; bottom: -30rem; width: 90rem; height: 90rem; border-radius: 100%; background: #fff2f2; }
	.partner-list li:hover { border-color: #a40000; }
	.partner-list li > i { position: relative; z-index: 1; display: flex; align-items: center; justify-content: center; width: 50rem; height: 50rem; flex: 0 0 50rem; border-radius: 100%; background: #a40000; color: #fff; font-size: 22rem; }
	.partner-list li > div { position: relative; z-index: 1; display: flex; flex-direction: column; gap: 7rem; }
	.partner-list li em { color: #a40000; font-size: var(--font-size-12); font-style: normal; font-weight: 700; }
	.partner-list li strong { font-size: var(--font-size-16); line-height: 1.4; }
	.affiliated-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 15rem; }
	.affiliated-list li { position: relative; display: flex; align-items: center; gap: 20rem; padding: 25rem 30rem; border-bottom: 1rem solid #ddd; transition: .3s ease; }
	.affiliated-list li:hover { border-bottom-color: #a40000; }
	.affiliated-list .icon { display: flex; align-items: center; justify-content: center; width: 55rem; height: 55rem; flex: 0 0 55rem; border-radius: 100%; background: #fff2f2; color: #a40000; font-size: 24rem; }
	.affiliated-list .info { display: flex; flex-direction: column; gap: 6rem; }
	.affiliated-list .info strong { font-size: var(--font-size-18); }
	.affiliated-list .info span { color: #777; font-size: var(--font-size-14); }
	.affiliated-list .number { margin-left: auto; color: #ccc; font-size: var(--font-size-14); font-weight: 700; }
	
	@media(max-width: 1023px) {
		.partner-list { grid-template-columns: repeat(2, 1fr); }
		.affiliated-list { grid-template-columns: 1fr; }
	}
	@media(max-width: 767px) {
		.network-section { margin-bottom: 45rem; }
		.section-heading { text-align: center; flex-direction: column; }
		.section-heading h3 { position: relative; inset: unset; }
		.partner-list { grid-template-columns: 1fr; }
		.partner-list li { min-height: auto; padding: 20rem; }
		.affiliated-list li { padding: 20rem; }
		.affiliated-list .icon { width: 45rem; height: 45rem; flex-basis: 45rem; font-size: 20rem; }
	}
}

/* Association News */
.association-news {

	.board-gallery-list {
		@media (min-width: 1280px) {
			& {
				grid-template-columns: repeat(4, 1fr);
    			gap: 30rem;
			}
		}
		.img-group {
			aspect-ratio: 3 / 4;
		}
	}

}