/* **************************************** *
 * CUSTOM
 * **************************************** */
/*** section title box */
.main-section-title-box {
	display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.main-section-title-box .main-section-number {
    margin-bottom: 5px;
	font-weight: 600;
    font-size: 18px;
    color: #007AFF;
    line-height: 1.5em;
}

.main-section-title-box .main-section-sub-title {
    margin-bottom: 10px;
	font-weight: 500;
    font-size: 18px;
    color: #535353;
    line-height: 1.25em;
}

.main-section-title-box .main-section-title {
    margin-bottom: 20px;
	font-weight: 600;
    font-size: clamp(30px, 1.8229vw, 35px);
    color: #000;
    line-height: 1.29em;
}

.main-section-title-box .main-section-description {
	font-weight: 400;
    font-size: 19px;
    color: #626262;
    line-height: 30px;
}

@media screen and (max-width:768px) {
	.main-section-title-box .main-section-number {
        margin-bottom: 2px;
        font-size: 15.5px;
        line-height: 2.188em;
        letter-spacing: -0.05em;
    }

    .main-section-title-box .main-section-sub-title {
        margin-bottom: 4px;
        font-size: clamp(16px, 4.1026vw, 18px);
        line-height: 1.563em;
    }

    .main-section-title-box .main-section-title {
        margin-bottom: 10px;
        font-size: 25px;
        line-height: 1.32em;
        letter-spacing: -0.03em !important;
    }

    .main-section-title-box .main-section-description {
        font-size: clamp(16px, 4.1026vw, 18px);
        line-height: 1.625em;
    }

}
/* section title box ***/

/* ìê·¸ëì² ì¼ì´ì¤ */
.default-container { padding: 150px 20px 150px; }

@media all and (max-width:1024px) {
    .default-container { padding: 120px 20px 120px; }
}

@media all and (max-width:767px) {
    .default-container { padding: 70px 20px 70px; }
}

.main-contents-inner { display: flex; width: 100%; max-width: 1200px; margin: 0 auto; }
.main-contents-inner.column { flex-direction: column; }
#contact-section .contact-container { gap: 40px; }

.main__title { width: 100%; max-width: 1200px; margin: 0 auto 60px; }
.main__title.center > span,
.main__title.center > h2 { text-align: center; }
@media all and (max-width:1239px) {
 .main__title { padding: 0 20px; }
}

.main__title > span { display: block; margin-bottom: 16px; font-weight:600; font-size: 24px; color: #2589F3; text-align: left; }
.main__title > h2,
.default-content-title > h2 {
	font-weight: 700;
	font-size: 46px;
	color: #231F20;
	line-height: 1.26em;
	letter-spacing: -0.016em;
	text-align: left;
}



@media screen and (max-width:767px) {
    #wrap .contact-box .main__title > span {
        margin-bottom: 3px;
        font-weight: 600;
        font-size: 15.5px;
        line-height: 2.1em;
        letter-spacing: -0.07em !important;
    }
    
    #wrap .contact-box .main__title > h2 {
        font-weight: 600;
        font-size: 25px;
        line-height: 1.32em;
        letter-spacing: -0.03em;
    }
    
    #wrap .contact-container .contact-box .main__title p {
        margin-top: 5px;
    	font-weight: 400;
        font-size: 16px;
        letter-spacing: -0.03em;
    }
}


/* fadeup ëª¨ì */
.fade-up {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
  will-change: opacity, transform;
}

.fade-up.active {
  opacity: 1;
  transform: translateY(0);
}

/* ìë¸ ê³µíµ */
.subpage-top { display: flex; align-items: flex-end; justify-content: space-between; padding-bottom: 100px; }
.subpage-top-title-area { display: flex; flex-direction: column; gap: 20px; }
.subpage-top-text { font-weight: 600; font-size: clamp(18px, 1.25vw ,24px); color: #2589F3; line-height: 1.2em; text-align: left; }
.subpage-top-title { margin: 0; font-weight: 700; font-size: clamp(46px, 2.916vw, 56px); color: #111; line-height: 1.26em; letter-spacing: -0.016em; text-align: left; }
.subpage-tab-area { display: flex; height: 52px; gap: clamp(20px, 1.25vw, 24px); }
.subpage-tab-link { display: flex; height: 100%; flex: 1; align-items: center; border-bottom: 3px solid transparent; font-weight: 600; font-size: clamp(16px, 0.937vw ,18px); color: #A6A6A6; letter-spacing: -0.01em; white-space: nowrap; }
.subpage-tab-link.on { border-color: #231F20; color: #231F20;  }

.title-description { margin-top: 16px; font-weight: 400; font-size: 18px; color: #444; line-height: 1.6em; letter-spacing: -0.06em; text-align: left; }

.default-content-title { flex: 1; }
.default-content-box { flex: 2; }

@media screen and (max-width: 1023px) {
	.subpage-top { flex-direction:column; align-items: flex-start; gap: 30px; padding-bottom: 80px; }
    .subpage-top-title-area { gap: 16px; }

    .default-content-title > h2,
    .main__title > h2 { font-size: 42px; }
    .title-description { font-size: 16px; letter-spacing: -0.04em; }
    .default-content-box { flex: 1; max-width: 100%; padding: 0 20px; }
}

@media screen and (max-width: 767px) {
    .subpage-top { padding-bottom: 60px; gap: 24px; }
    .subpage-top-title-area { gap: 0; }
	.subpage-top-text {
    	font-weight: 600;
        font-size: 15.5px;
        line-height: 2.1em;
    }
    .subpage-top-title {
    	font-weight: 600;
        font-size: 25px;
        line-height: 1.32em;
        letter-spacing: -0.03em !important;
    }
    .subpage-tab-area { overflow-x: auto; width: 100%; }
    
    .default-content-title > h2,
    .main__title > h2 { font-size: 22px; letter-spacing: -0.03em; }
    .title-description { letter-spacing: -0.02em; }
}

@media screen and (max-width: 660px) {
    .default-content-box { padding: 0; }
}

/* ìë£ì¤ - ê²ìí ìì­ */

.path + .titleArea { text-align: left; }
.path + .titleArea::after { display: none; }
.path + .titleArea h2::before { content: 'ë²ë¬´ë²ì¸ ì´ì ì±ë²ì£ ì¼í°'; display: block; margin-bottom: 20px; font-weight: 600; font-size: 18px; color: #2589F3; line-height: 2.1em; letter-spacing: -0.07em; }
.path + .titleArea h2 { font-weight: 700; font-size: 40px; letter-spacing: -0.03em; }
.path + .titleArea p { display:none; }

@media screen and (max-width: 660px) {
	.path + .titleArea h2::before { margin-bottom: 0; font-size: 14px; }
	.path + .titleArea h2 { font-size: 25px; }
    .xans-board-listpackage tbody tr td.number { display: none; }
}
