/* BASIC css start */
#institute{
    display: flex;
    gap: 104px;
    margin-top: 96px;}
   
.pointG{color:#A6A6A6}

.intro-section {
    padding: 0; 
}

.intro-content-wrapper {}

.intro-image-container {
    flex: 1;
}

.intro-text-container {
    flex: 1;
    padding: 64px 0 120px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.section-title {
    font-size: 72px;
    font-weight: 700;
    margin-bottom: 20px;
    line-height: 1;
}

.subtitle-2 {
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 40px;
    }

.description {
    font-size: 22px;
    line-height: 40px;
    color: #000000;
}


/* ÀüÃ¼ ¼½¼Ç ½ºÅ¸ÀÏ */
.tea-leisure-section-full {
    padding: 0;
    max-width: 1200px;
    margin: 0 auto;
}

.leisure-content-wrapper {
    display: flex;
    min-height: 800px; /* ÀüÃ¼ ¼½¼Ç ³ôÀÌ ÁöÁ¤ (ÀÌ¹ÌÁö Å©±â¿¡ ¸ÂÃã) */
}


.tea-leisure-section-full .leisure-content-wrapper{margin-bottom: 64px;}


.leisure-text-block:before{
    content: "-";
    height: 3px;
    width: 24px;
    background: #000;
    display: block;
    margin-bottom: 28px;
    font-size:0;}

/* ¿ÞÂÊ: ÀÌ¹ÌÁö ÄÁÅ×ÀÌ³Ê */
.leisure-image-container-split {
    flex: 1; /* ¿ÞÂÊ Àý¹Ý */
    /* ÀÌ¹ÌÁö¿Í ÅØ½ºÆ® »çÀÌÀÇ ¿©¹éÀ» ¸ÂÃß±â À§ÇØ ³Êºñ Á¶Á¤ °¡´É */
}

.split-tea-cup {
    height: 100%;
    /* ÀÌ¹ÌÁö ºñÀ²À» ¸ÂÃß±â À§ÇÑ ½ºÅ¸ÀÏ */
    background-color: #f0f0f0;
    background-image: url('image_737c29.png'); /* ½ÇÁ¦ ÀÌ¹ÌÁö ÆÄÀÏ¸í */
    background-size: cover;
    background-position: center;
}

.leisure-text-content-split {
    flex: 1;
}

/* ¸ÞÀÎ Á¦¸ñ/ºÎÁ¦¸ñ ½ºÅ¸ÀÏ */
.leisure-title-main {
    color: #000;
    font-size: 34px;
    font-weight: 700;
    margin-bottom: 5px;
}

.leisure-subtitle-main {
    font-size: 56px;
    font-weight: 700;
    color: #000;
    margin-bottom: 5px;
    line-height: 72px;
}

.leisure-title-main-2 {
    font-size: 56px;
    font-weight: 700;
    color: #000;
    margin-bottom: 100px;
}

/* ÅØ½ºÆ® ºí·Ï ±¸ºÐ¼± */
.leisure-divider {
    border: 0;
    border-top: 1px solid #ccc;
    width: 30px; /* ÂªÀº ¼±À¸·Î ÀÌ¹ÌÁö¿Í ºñ½ÁÇÏ°Ô Ç¥Çö */
    margin: 40px 0;
    text-align: left;
}

/* ¼ÒÁ¦¸ñ ½ºÅ¸ÀÏ */
.leisure-subtitle {
    font-size: 32px;
    font-weight: 800;
    color: #999;
    line-height: 44px;
}

.leisure-subtitle-2 {
    font-size: 32px;
    font-weight: 800;
    color: #000;
    margin-bottom: 5px;
}

/* º»¹® ½ºÅ¸ÀÏ */
.leisure-description {
    font-size: 16px;
    line-height: 28px;
    color: #000;
    white-space: pre-line;
    margin-bottom: 56px;
}

/* --- 4. Curriculum Section Styles --- */
.curriculum-section {
    background-color: #FAFAFA;
    text-align: center;
    padding: 80px 56px;
}

.curriculum-korean {
    font-size: 20px;
    color: #999;
    font-weight: 400;
    margin-bottom: 8px;
    line-height: 1;
}

.curriculum-title {
    font-size: 2.5rem;
    font-weight: 700;
    margin-bottom: 30px;
}


.curriculum-title img{
    margin-right: 8px;
    margin-top: -6px;}

.curriculum-info {
    display: flex;
    justify-content: center;
    gap: 40px;
    flex-direction: column;
    align-items: center;
}

.curriculum-info .type{
    font-size: 20px;
    margin-bottom: 64px;
    line-height: 1;
    font-weight: 500;
    color: #000;}

.duration {
    font-weight: 700;
    color: #AD0F0A;
    margin-bottom: 5px;
    font-size: 24px;
    line-height: 1;
}

.class-module {
    display: flex;
    flex-direction: column;
    padding: 56px 79.5px;
    border: 1px solid #ddd;
    background-color: #fff;
}

.module-header {
    margin-bottom: 64px;
    text-align: center;
}

.module-number {
    color: #fff;
    display: block;
    width: 117px;
    height: 32px;
    background: #000000;
    margin: 0 auto 26px;
    line-height: 32px;
    font-size: 13px;
    font-weight: 700;
    border-radius: 32px;
}

.module-title {
    font-size: 28px;
    font-weight: 800;
    color: #000;
    display: inline-block;
}

.module-content {
    display: flex;
    gap: 96px;
    align-items: flex-start; /* ÀÌ¹ÌÁö¸¦ »ó´Ü Á¤·Ä */
}

.module-details-container {
    flex: 3;
    display: flex;
    gap: 40px;
    padding: 20px 0;
    height: calc(100% - 40px);
}

.detail-box {flex: 1;
    background-color: #fff;
    text-align: left;
    width: 200px;
    box-sizing: border-box;
    height: 280px;
}

.detail-box h4 {
    font-size: 14px;
    font-weight: 700;
    color: #000;
    margin-bottom: 16px;
    background: #EEEEEE;
    width: 57px;
    height: 32px;
    line-height: 32px;
    text-align: center;
    border-radius: 24px;
}

.detail-box h5 {
    font-size: 22px;
    font-weight: 800;
    color: #000;
    margin-bottom: 32px;
    line-height: 28px;
    border-bottom: 1px solid #eee;
    padding-bottom: 32px;
}

.detail-box li {
    font-size: 16px;
    color: #000;
    position: relative;
    padding-left: 15px;
    line-height: 24px;
}

.detail-box li::before {
    content: '-';
    color: #000;
    font-weight: 400;
    display: inline-block;
    width: 1em;
    margin-left: -1em;
}

.note {    font-size: 14px;
    color: #000;
    margin-top: 24px;
    text-align: left;
    font-weight: 400;
    line-height: 24px;
}

/* --- 5. Contact Section Styles --- */
.contact-section {
    padding-top: 64px;
}

.section-divider-title {
    text-align: center;
    font-size: 24px;
    color: #000;
    margin-bottom: 40px;
    font-weight: 500;
    line-height: 1;
}

.grid-item.application{width: 260px;}

.contact-grid {
    display: flex;
    justify-content: center;
    margin: 0 auto;
    background: #fff;
    padding: 56px 24px;
}

.grid-item.inquiry{
    position: relative;}
    
.grid-item {
    width: 216px;
    flex: 1;
    margin: 0 40px;
    text-align: center;
    background-color: #fff;
    height: 218px;
}

.grid-item.inquiry:before {
    content: "-";
    position: absolute;
    left: -41px;
    top: 0;
    width: 1px;
    height: 218px;
    background: #ddd;
    display: block;
    font-size: 0;
}

.grid-item.inquiry:after {
    content: "-";
    position: absolute;
    right: -41px;
    top: 0;
    width: 1px;
    height: 218px;
    background: #ddd;
    display: block;
    font-size: 0;
}

.grid-item h3 {
    font-size: 32px;
    font-weight: 800;
    margin-bottom: 32px;
    color: #000;
    text-align: left;
}

.item-divider {
    width: 24px;
    height: 3px;
    background-color: #000;
    margin: 32px 0;
}

.inquiry p, .account p {
    margin-bottom: 2px;
    text-align: left;
    font-size: 15px;
    line-height: 27px;
    font-weight: 700;
    color: #000;
}
.inquiry p img, .account p img{margin-right:6px}

.inquiry p:last-of-type,
.inquiry p:nth-last-of-type(2) {
}


/* --- 6. Space Guide Section Styles --- */
.naver-link {
    display: block;
    text-align: left;
}

.space-guide-section {
    padding: 120px 0;
    padding-bottom: 50px;
}

.space-main-title {
    font-size: 48px;
    font-weight: 700;
    margin-bottom: 64px;
    padding-bottom: 20px;
    color: #000;
    line-height: 64px;
    border-bottom: 3px solid #000;
}

.space-guide-grid-text {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    margin-bottom: 16px;
}


.space-item {padding-bottom: 48px;}

.space-item-title {
    font-size: 30px;
    font-weight: 700;
    margin-bottom: 20px;
    color: #000;
    vertical-align: middle;
    line-height: 1;
}

.space-item-title .icon {
    margin-right: 6px;
}

.space-item-title .icon img{
    vertical-align: top;
    margin-top: 3px;}
    

.space-item ul {
    list-style: none;
    padding-left: 0;
}

.space-item li {
    font-size: 16px;
    color: #000;
    position: relative;
    padding-left: 15px;
    font-weight: 400;
    line-height: 26px;
}

.space-item li::before {
    content: '-';
    color: #7b4b39;
    font-weight: bold;
    display: inline-block;
    width: 1em;
    margin-left: -1em;
}

/* °ø°£ ÄÁÅØ½ºÆ® »çÁø (´Ù¸ñÀû °ø°£ ¹× ±³À° »çÁø) */
.space-context-photos {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    margin-bottom: 40px;
}


.space-guide-final-note {
    padding: 64px 0 120px;
    font-size: 18px;
    color: #000;
    line-height: 32px;
    text-align: left;
}

/* --- 7. Event Photos Section Styles --- */
.event-photos-section {
    padding-top: 50px;
    padding-bottom: 80px;
    max-width: 1200px;
    margin: 0 auto;
}

.event-photos-section h2 {
    font-size: 47px;
    font-weight: 700;
    color: #000;
    line-height: 64px;
    padding-bottom: 20px;
    margin-bottom: 64px;
    border-bottom: 3px solid #000;
}

.event-photo-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, 1fr);
    gap: 10px;
}

.event-photo-grid .image-placeholder {}

.event_btn{
    margin: 80px auto -24px;
    text-align: center;
    display: block;}
/* BASIC css end */

