@charset "UTF-8";

/**
 * Salon de Mirror - Facial Treatment Page Styles
 * ÃƒÂ£Ã†â€™Ã¢â‚¬Â¢ÃƒÂ£Ã¢â‚¬Å¡Ã‚Â§ÃƒÂ£Ã¢â‚¬Å¡Ã‚Â¤ÃƒÂ£Ã¢â‚¬Å¡Ã‚Â·ÃƒÂ£Ã†â€™Ã‚Â£ÃƒÂ£Ã†â€™Ã‚Â«ÃƒÂ£Ã†â€™Ã‚Â»ÃƒÂ£Ã†â€™Ã…â€œÃƒÂ£Ã†â€™Ã¢â‚¬Â¡ÃƒÂ£Ã¢â‚¬Å¡Ã‚Â£ÃƒÂ£Ã†â€™Ã‹â€ ÃƒÂ£Ã†â€™Ã‚ÂªÃƒÂ£Ã†â€™Ã‚Â¼ÃƒÂ£Ã†â€™Ã‹â€ ÃƒÂ£Ã†â€™Ã‚Â¡ÃƒÂ£Ã†â€™Ã‚Â³ÃƒÂ£Ã†â€™Ã‹â€ ÃƒÂ£Ã†â€™Ã…Â¡ÃƒÂ£Ã†â€™Ã‚Â¼ÃƒÂ£Ã¢â‚¬Å¡Ã‚Â¸ÃƒÂ¥Ã‚Â°Ã¢â‚¬Å¡ÃƒÂ§Ã¢â‚¬ÂÃ‚Â¨ÃƒÂ£Ã¢â‚¬Å¡Ã‚Â¹ÃƒÂ£Ã¢â‚¬Å¡Ã‚Â¿ÃƒÂ£Ã¢â‚¬Å¡Ã‚Â¤ÃƒÂ£Ã†â€™Ã‚Â«
 */
/**
 * Salon de Mirror - facial Treatment Page Styles
 */

/* ========================================
   facial Hero Section
   ======================================== */

h2.border {
    font-size: 27px;
    text-align: center;
    padding: 11px 33px;
    background-color: #f2eef6;
    border-left: 2px solid #b297c2;
    border-right: 2px solid #b297c2;
    font-weight: 500;
    color: #7c6788;
    display: inline-block;
    margin: auto;
    margin-bottom: 6rem;
}

.page h1.title {
    font-family: "Zen Old Mincho", serif !important;
    text-align: center;
    font: normal normal normal 32px/44px ZenOldMincho-Bold;
    letter-spacing: 0px;
    color: #7C6788;
    opacity: 1;
    margin-bottom: 0;
    font-size: 30px;
}


p.subtitle {
    margin-top: 0;
    position: relative;
    color: #7c6788;
}

.hero-inner {
    display: flex;
}



p.subtitle:before {
    content: "";
    display: block;
    position: absolute;
    width: 90px;
    height: 2px;
    background: #7c6788;
    bottom: 0;
    right: 50%;
    transform: translate(50%, 0px);
}


.facial-hero {padding-top: 70px;}

.facial-hero .wrap {
}

.facial-hero-left {
    text-align: center;
    width: 50%;
    padding: 5%;
}

.facial-title {
}

.facial-subtitle {
    font-size: 16px;
    color: #999;
    margin-bottom: 30px;
    padding-bottom: 15px;
    /* border-bottom: 2px solid #7c6788; */
    display: inline-block;
    color: var(---unnamed-color-7c6788);
}

.hero-product {
    margin-top: 13rem;
    text-align: left;
    width: 80%;
    max-width: 260px;
    left: -3rem;
    position: relative;
}

.facial-hero-product img {
    max-width: 100%;
    height: auto;
}

.facial-hero-right {
    background-color: #f2eef6;
    padding: 7%;
    /* border-radius: 8px; */
    width: 50%;
}

.hero-box h2 {
    font-family: "Zen Old Mincho", serif !important;
    font-size: 24px;
    color: #333;
    margin-bottom: 20px;
    line-height: 1.6;
    text-align: center;
    font: var(--unnamed-font-style-normal) normal var(--unnamed-font-weight-normal) 20px/33px var(--unnamed-font-family-zenoldmincho-bold);
    letter-spacing: var(--unnamed-character-spacing-0);
    color: var(--unnamed-color-1b533b);
    text-align: center;
    font: normal normal normal 20px/33px ZenOldMincho-Bold;
    letter-spacing: 0px;
    color: #7c6788;
    opacity: 1;
}

.hero-image {
    padding: 20px 0;
}

.facial-hero-image img {
    width: 100%;
    height: auto;
    /* border-radius: 4px; */
}

.facial-hero-description {
    margin-top: 20px;
}

.facial-hero-description p {
    font-size: 14px;
    line-height: 1.8;
    color: #555;
    margin-bottom: 15px;
}

/* ========================================
   Recommended Section
   ======================================== */
.facial-recommended {
    padding: 60px 0;
    background-color: #ffffff;
}

.facial-recommended h2 {
    font-size: 32px !IMPORTANT;
    color: #7c6788;
    margin-bottom: 40px;
    text-align: center;
    font: normal normal normal 24px / 33px ZenOldMincho-Bold;
    letter-spacing: 0px;
    opacity: 1;
}

.recommended-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin: auto;
    max-width: 800px;
}

.recommended-item {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 15px;
    /* background-color: #fafafa; */
    border-radius: 4px;
}

.recommended-item img {
    width: 24px;
    height: 20px;
    flex-shrink: 0;
}

.recommended-item span {
    font-size: 18px;
    color: #333;
    font-weight: 600;
}

.schedule-right {width: 45%;align-items: center;display: flex;}

/* ========================================
   Schedule Section
   ======================================== */
.facial-schedule {
    padding: 60px 0;
    /* background-color: #f5f5f5; */
}



.schedule-inner {
    display: flex;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    margin-bottom: 60px;
    flex-wrap: wrap;
}

.schedule-left {
    width: 45%;
}

.schedule-left p {
    font-size: 16px;
    line-height: 1.8;
    color: #555;
    margin-bottom: 20px;
}

.schedule-note {
    background-color: #B397C2;
    padding: 20px;
    border-radius: 4px;
    margin-top: 20px;
}

.schedule-note p {
    font-size: 14px;
    line-height: 1.8;
    color: #555;
}

.schedule-flow {
    position: relative;
}

.flow-label {
    display: block;
    text-align: center;
    margin-bottom: 20px;
    padding: 8px 16px;
    background-color: #B397C2;
    border-left: 4px solid #7c6788;
    font-weight: bold;
    color: #333;
}

.flow-steps {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 15px;
    margin-bottom: 20px;
}

.step {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.step-circle {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background-color: #c8e6c9;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    font-size: 20px;
    color: #fff;
}

.step-circle.active {
    background-color: #7c6788;
}

.step-label {
    font-size: 12px;
    color: #fff;
}

.step-time {
    font-size: 12px;
    color: #999;
    margin-top: 8px;
}

.step-arrow {
    font-size: 24px;
    color: #999;
}

.course-label {
    text-align: center;
    font-size: 14px;
    color: #666;
    border-top: 2px solid #7c6788;
    padding-top: 15px;
}

.before-after {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin-top: 40px;
}

.before-after img {
    width: 100%;
    height: auto;
    border-radius: 4px;
}

/* ========================================
   Comparison Table
   ======================================== */
.facial-comparison {
    padding: 60px 0;
    background-color: #ffffff;
}

.facial-comparison h2 {
    font-size: 32px;
    text-align: center;
    margin-bottom: 40px;
    /* color: #333; */
    /* padding-left: 4px; */
    /* border-left: 4px solid #7c6788; */
}

.comparison-table {
    overflow-x: auto;
    max-width: 800px;
    width: 90%;
    margin: auto;
}

.comparison-table table {
    width: 100%;
    border-collapse: collapse;
    border-collapse: separate; /* ÃƒÂ¦Ã…Â¾Ã‚Â ÃƒÂ§Ã‚Â·Ã…Â¡ÃƒÂ£Ã¢â‚¬Å¡Ã¢â‚¬â„¢ÃƒÂ£Ã‚ÂÃ‚ÂÃƒÂ£Ã‚ÂÃ‚Â£ÃƒÂ£Ã‚ÂÃ‚Â¤ÃƒÂ£Ã‚ÂÃ¢â‚¬ËœÃƒÂ£Ã‚ÂÃ…Â¡ÃƒÂ£Ã‚ÂÃ‚Â«ÃƒÂ¥Ã‹â€ Ã¢â‚¬Â ÃƒÂ©Ã¢â‚¬ÂºÃ‚Â¢ÃƒÂ£Ã‚ÂÃ¢â‚¬Â¢ÃƒÂ£Ã‚ÂÃ¢â‚¬ÂºÃƒÂ£Ã¢â‚¬Å¡Ã¢â‚¬Â¹ÃƒÂ¯Ã‚Â¼Ã‹â€ ÃƒÂ¥Ã‚Â¿Ã¢â‚¬Â¦ÃƒÂ©Ã‚Â Ã‹â€ ÃƒÂ¯Ã‚Â¼Ã¢â‚¬Â° */
    border-spacing: 11px;       /* ÃƒÂ£Ã‚ÂÃ¢â‚¬Å“ÃƒÂ£Ã¢â‚¬Å¡Ã…â€™ÃƒÂ£Ã‚ÂÃ…â€™ÃƒÂ©Ã…Â¡Ã¢â€žÂ¢ÃƒÂ©Ã¢â‚¬â€œÃ¢â‚¬Å“ÃƒÂ£Ã‚ÂÃ‚Â®ÃƒÂ¥Ã‚Â¹Ã¢â‚¬Â¦ÃƒÂ¯Ã‚Â¼Ã‹â€ ÃƒÂ§Ã‚Â¸Ã‚Â¦ÃƒÂ¦Ã‚Â¨Ã‚ÂªÃƒÂ¯Ã‚Â¼Ã¢â‚¬Â° */
}

.comparison-table thead {
    background-color: #f5f5f5;
}

.comparison-table th {
    padding: 18px 15px;
    text-align: center;
    font-weight: bold;
    /* border: 1px solid #ddd; */
    font-size: 14px;
    background: white;
}

.comparison-table th.procell {
    /* background-color: #c8e6c9; */
    color: #333;
}

.comparison-table td {
    padding:  18px 15px;
    /* border: 1px solid #ddd; */
    font-size: 14px;
    text-align: center;
    background: #eff6ed;
}

.comparison-table td.label {
    background-color: #b3b3b5;
    font-weight: bold;
    text-align: center;
    width: 35%;
    color: white;
}

.comparison-table td.procell {
    background-color: #7C6788;
    font-weight: bold;
}

/* ========================================
   Precautions Section
   ======================================== */
.facial-precautions {
    padding: 60px 0;
}

.facial-precautions h2 {
    font-size: 32px;
    text-align: center;
    margin-bottom: 40px;
    /* color: #4f7b66; */
    /* padding-left: 4px; */
    /* border-left: 4px solid #7c6788; */
    text-align: center;
}

.precautions-box {
    max-width: 800px;
    margin: 0 auto;
    background-color: #ffffff;
    border: 2px solid #7C6788;
    border-radius: 4px;
    padding: 40px;
}

.precautions-box ul {
    padding: 0;
    list-style: disc;
}

.precautions-box li {
    font-size: 20px;
    color: #7e698a;
    line-height: 1.8;
    margin-bottom: 20px;
    padding-left: 10px;
    position: relative;
    font-weight: 500;
}

.precautions-box li::before {
    /* content: 'ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢'; */
    position: absolute;
    left: 0;
    color: #7c6788;
    font-weight: bold;
}

.precautions-box li span {
    display: block;
    font-size: 14px;
    /* color: #999; */
    margin-top: 5px;
}

/* ========================================
   Pricing Section
   ======================================== */
.facial-pricing {
    padding: 60px 0;
    background-color: #ffffff;
}

.facial-pricing h2 {
    font-size: 32px;
    text-align: center;
    margin-bottom: 40px;
}

.pricing-content {
    max-width: 540px;
    margin: 0 auto 40px;
    font-weight: bold;
}

.pricing-item {
    margin-bottom: 30px;
    text-align: center;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 1rem;
}

.pricing-label {
    font-size: 20px;
    color: #555;
    margin-bottom: 10px;
}

.pricing-original {
    font-size: 21px;
    /* color: #999; */
    text-decoration: line-through;
    margin-bottom: 10px;
}

.pricing-discount {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
    margin-bottom: 20px;
    width: 100%;
}

.campaign {
    background-color: #b297c2;
    color: #fff;
    padding: 6px 20px;
    /* border-radius: 4px; */
    font-size: 20px;
    font-weight: bold;
    margin-top: 5px;
}

.price {
    font-size: 32px;
    color: #b297c2;
    text-decoration: underline;
    font-weight: 500;
}

.pricing-discount:after {
    content: "↓";
    display: block;
    position: absolute;
    right: 50%;
    top: 50%;
    color: black;
    font-size: 30px;
    transform: translate(0px, -70%);
    font-weight: 100;
}

.pricing-price {
    font-size: 21px;
    color: #333;
    /* font-weight: bold; */
    margin-bottom: 20px;
    text-align: right;
}

.monitor {
    font-size: 12px;
    font-weight: normal;
}

.per-session {
    display: block;
    font-size: 14px;
    color: #999;
    margin-top: 5px;
    right: -0.8em;
    position: relative;
}

.cta-button {
    display: block;
    max-width: 600px;
    margin: 0 auto;
    padding: 20px;
    background-color: #0088b4;
    color: #fff;
    text-align: center;
    text-decoration: none;
    border-radius: 4px;
    font-size: 18px;
    font-weight: bold;
    transition: background-color 0.3s ease;
}

.cta-button:hover {
    background-color: #006688;
}

@media (max-width: 768px) {
    .facial-hero .wrap {
        grid-template-columns: 1fr;
        gap: 30px;
    }

        .recommended-grid {
        grid-template-columns: 1fr;
    }

        .schedule-inner {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .schedule-left {
    width: 100%;
}

    
.schedule-right {
    width: 100%;
}

    .schedule-flow {
    width: 100%;
}


        .comparison-table th.procell img {
    width: auto;
    height: auto;
}
    
    .facial-recommended h2 {
    font-size: 6.3vw !important;
}

    .recommended-grid {
        grid-template-columns: 1fr;
    }

    .schedule-inner {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .before-after {
        grid-template-columns: repeat(2, 1fr);
    }

    .facial-title {
        font-size: 36px;
    }

    .facial-schedule h2, .facial-comparison h2, .facial-precautions h2, .facial-pricing h2 {
        font-size: 24px;
    }

        .facial-recommended h2 {
    font-size: 6.1vw !important;
}

    .comparison-table th,
    .comparison-table td {
        font-size: 12px;
        padding: 10px;
    }

      .precautions-box {
        padding: 20px;
        width: 100%;
    }

    .precautions-box li {
        font-size: 14px;
    }

    .flow-steps {
        gap: 10px;
    }

    .step-circle {
        width: 50px;
        height: 50px;
        font-size: 16px;
    }

    .step-arrow {
        font-size: 16px;
    }
}

@media (max-width: 480px) {
    .before-after {
        grid-template-columns: 1fr;
    }

    .facial-title {
        font-size: 28px;
    }

    .facial-hero .wrap {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .facial-hero-right {
        padding: 20px;
    }


        .facial-hero-description p {
        font-size: 13px;
        line-height: 1.7;
    }

        .recommended-grid {
        grid-template-columns: 1fr;
        gap: 15px;
    }


    
    .recommended-item {
        padding: 12px;
    }

    .facial-subtitle {
    color: #7c6788 !important;
}

.facial-subtitle::after {
    background: #7c6787 !important;
}

.hero-inner {
    display: block;
}

.facial-hero-left {
    width: 100%;
    text-align: center;
    padding: 0;
}

.facial-hero-product {
    width: max-content;
    text-align: center;
    margin: auto;
    display: block;
    left: inherit;
    width: 100% !important;
    max-width: inherit !important;
}

.precautions-box ul {
    margin-left: 1rem;
}

    .facial-hero-box h2 {
        font-size: 20px;
    }

    .facial-hero-description p {
        font-size: 4.4vw;
        line-height: 1.7;
    }

    .recommended-grid {
        grid-template-columns: 1fr;
        gap: 0px;
    }

    .recommended-item {
        padding: 12px 0;
        font-weight: normal !important;
    }

    .recommended-item span {
        font-size: 5vw;
        font-weight: normal;
    }

    .precautions-box {
        padding: 15px;
        border: 2px solid #7c6788;
        border-radius: inherit;
    }

    .precautions-box li {
        font-size: 4.4vw;
        margin-bottom: 15px;
        line-height: 1.6;
    }

    .precautions-box li span {
        font-size: 12px;
    }

    .cta-button {
        font-size: 16px;
        padding: 16px;
    }

    .comparison-table {
        font-size: 11px;
    }

    .comparison-table th,
    .comparison-table td {
        font-size: 11px;
        padding: 8px 4px;
    }

    .flow-steps {
        gap: 8px;
        flex-wrap: wrap;
    }

    .step-circle {
        width: 45px;
        height: 45px;
        font-size: 14px;
    }

    .step-arrow {
        font-size: 14px;
    }

    .step-time {
        font-size: 11px;
    }

    .schedule-inner {
        grid-template-columns: 1fr;
        gap: 20px;
        display: block;
    }

    .schedule-left p {
    font-size: 4vw;
    }

    .schedule-note p {
        font-size: 12px;
    }

    .facial-schedule h2, .facial-comparison h2, .facial-precautions h2, .facial-pricing h2 {
        font-size: 22px;
        margin-bottom: 30px;
    }

    .pricing-item {
        margin-bottom: 25px;
        flex-wrap: wrap;
        gap: 0;
        justify-content: center;
        margin-bottom: 0;
        /* width: 86%; */
        margin: auto;
        margin-bottom: 1.1em;
    }

    .pricing-label {
        font-size: 4vw;
        font-weight: normal;
        width: 100%;
        margin: 0;
    }

    .pricing-original {
    margin: 0;
    line-height: 1.8em;
    font-weight: normal;
}


    .recommended-grid {
        gap: 0px;
    }

.pricing-discount {
    margin: 0;
    gap: 0;
}

p.pricing-original:after {
    content: "↓";
    display: block;
}

#main > section.pricing.facial-pricing > div > div.pricing-content > div:nth-child(2),section.pricing.facial-pricing > div > div.pricing-content > div:nth-child(3) {
    flex-wrap: inherit;
    justify-content: space-between;
    align-items: center;
    margin-right: 3vw;
}

#main > section.pricing.facial-pricing > div > div.pricing-content > div:nth-child(2) > p.pricing-label {
        width: 56%;
        text-align: center;
}

#main > section.pricing.facial-pricing > div > div.pricing-content > div:nth-child(3) {
    flex-wrap: inherit;
    justify-content: space-between;
    align-items: center;
}

#main > section.pricing.facial-pricing > div > div.pricing-content > div:nth-child(3) > p.pricing-label {
    width: inherit;
    text-align: center;
    width: 56%;
}

    .pricing-price {
        font-size: 4.5vw;
        font-weight: normal;
        width: 45%;
        margin: 0;
        line-height: 1.6em;
        text-align: center;
    }

    .price {
        font-size: 26px;
        margin-right: 5vw;
        /* margin: auto; */
    
    }

    .campaign {
        font-size: 13px;
        padding: 2px 19px;
        margin-right: 1em;
    }

    .per-session {
        font-size: 12px;
    }

    .flow-label {
        font-size: 13px;
        margin-bottom: 15px;
    }

    .facial-hero-product {
        margin-top: 20px;
    }

    .facial-hero-image {
        margin: 15px 0;
    }

    .facial-subtitle {/**
 * Salon de Mirror - facial Treatment Page Styles
 */

/* ========================================
   facial Hero Section
   ======================================== */

.page h1.title {
    /* width: 244px; */
    font: var(--unnamed-font-style-normal) normal var(--unnamed-font-weight-normal) var(--unnamed-font-size-32)/var(--unnamed-line-spacing-44) var(--unnamed-font-family-zenoldmincho-bold);
    letter-spacing: var(--unnamed-character-spacing-0);
    color: var(---unnamed-color-7c6788);
    text-align: center;
    font: normal normal normal 32px/44px ZenOldMincho-Bold;
    letter-spacing: 0px;
    color: #7C6788;
    opacity: 1;
}
p.subtitle {
    margin-top: 0;
    position: relative;
}

.hero-inner {
    display: flex;
}



p.subtitle:before {
    content: "";
    display: block;
    position: absolute;
    width: 90px;
    height: 3px;
    background: #7c6788;
    bottom: 0;
    right: 50%;
    transform: translate(50%, 0px);
}


.facial-hero {
    /* background-color: #f5f5f5; */
    /* padding: 60px 0; */
}

.facial-hero .wrap {
    /* display: grid; */
    /* grid-template-columns: 1fr 1fr; */
    /* gap: 60px; */
    /* align-items: center; */
}

.facial-hero-left {
    text-align: center;
    width: 50%;
    padding: 5%;
}

.facial-title {
    font-size: 48px;
    color: #7c6788;
    font-weight: bold;
    margin-bottom: 10px;
}

.facial-subtitle {
    font-size: 16px;
    color: #999;
    margin-bottom: 30px;
    padding-bottom: 15px;
    /* border-bottom: 2px solid #7c6788; */
    display: inline-block;
}

.hero-product {
    margin-top: 13rem;
    text-align: left;
    width: 80%;
}

.facial-hero-product img {
    max-width: 100%;
    height: auto;
}

.facial-hero-right {
    background-color: #B397C2;
    padding: 5%;
    border-radius: 8px;
    width: 50%;
}

.hero-box h2 {
    font-size: 24px;
    color: #333;
    margin-bottom: 20px;
    line-height: 1.6;
    text-align: center;
    font: var(--unnamed-font-style-normal) normal var(--unnamed-font-weight-normal) 20px/33px var(--unnamed-font-family-zenoldmincho-bold);
    letter-spacing: var(--unnamed-character-spacing-0);
    color: var(--unnamed-color-1b533b);
    text-align: center;
    font: normal normal normal 20px/33px ZenOldMincho-Bold;
    letter-spacing: 0px;
    color: #1B533B;
    opacity: 1;
}

.hero-image {
    padding: 20px 0;
}

.facial-hero-image img {
    width: 100%;
    height: auto;
    border-radius: 4px;
}

.facial-hero-description {
    margin-top: 20px;
}

.facial-hero-description p {
    font-size: 14px;
    line-height: 1.8;
    color: #555;
    margin-bottom: 15px;
}

/* ========================================
   Recommended Section
   ======================================== */
.facial-recommended {
    padding: 60px 0;
    background-color: #ffffff;
}

.facial-recommended h2 {
    font-size: 32px;
    text-align: center;
    margin-bottom: 40px;
    color: #333;
    text-align: center;
    font: normal normal normal 24px / 33px ZenOldMincho-Bold;
    letter-spacing: 0px;
    color: #1B533B;
    opacity: 1;
}

.recommended-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
}

.recommended-item {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 15px;
    background-color: #fafafa;
    border-radius: 4px;
}

.recommended-item img {
    width: 24px;
    height: 24px;
    flex-shrink: 0;
}

.recommended-item span {
    font-size: 16px;
    color: #333;
    font-weight: 600;
}

/* ========================================
   Schedule Section
   ======================================== */
.facial-schedule {
    padding: 60px 0;
    background-color: #f5f5f5;
}

.facial-schedule h2 {
    font-size: 27px;
    text-align: center;
    padding: 11px 33px;
    background-color: #B397C2;
    border-left: 2px solid #7c6788;
    border-right: 2px solid #7c6788;
    font-weight: 500;
    color: #1a533b;
    display: inline-block;
    margin: auto;
    margin-bottom: 3rem;
}

.schedule-inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    margin-bottom: 60px;
}

.schedule-left p {
    font-size: 16px;
    line-height: 1.8;
    color: #555;
    margin-bottom: 20px;
}

.schedule-note {
    background-color: #B397C2;
    padding: 20px;
    border-radius: 4px;
    margin-top: 20px;
}

.schedule-note p {
    font-size: 14px;
    line-height: 1.8;
    color: #555;
}

.schedule-flow {
    position: relative;
}

.flow-label {
    display: block;
    text-align: center;
    margin-bottom: 20px;
    padding: 8px 16px;
    background-color: #B397C2;
    border-left: 4px solid #7c6788;
    font-weight: bold;
    color: #333;
}

.flow-steps {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 15px;
    margin-bottom: 20px;
}

.step {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.step-circle {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background-color: #c8e6c9;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    font-size: 20px;
    color: #fff;
}

.step-circle.active {
    background-color: #7c6788;
}

.step-label {
    font-size: 12px;
    color: #fff;
}

.step-time {
    font-size: 12px;
    color: #999;
    margin-top: 8px;
}

.step-arrow {
    font-size: 24px;
    color: #999;
}

.course-label {
    text-align: center;
    font-size: 14px;
    color: #666;
    border-top: 2px solid #7c6788;
    padding-top: 15px;
}

.before-after {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    margin-top: 40px;
}

.before-after img {
    width: 100%;
    height: auto;
    border-radius: 4px;
}

/* ========================================
   Comparison Table
   ======================================== */
.facial-comparison {
    padding: 60px 0;
    background-color: #ffffff;
}

.facial-comparison h2 {
    font-size: 32px;
    text-align: center;
    margin-bottom: 40px;
    color: #333;
    padding-left: 4px;
    border-left: 4px solid #7c6788;
}

.comparison-table {
    overflow-x: auto;
}

.comparison-table table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 10px;
}

.comparison-table thead {
    background-color: #f5f5f5;
}

.comparison-table th {
    padding: 15px;
    text-align: center;
    font-weight: bold;
    border: 1px solid #ddd;
    font-size: 14px;
}

.comparison-table th.procell {
    background-color: #c8e6c9;
    color: #333;
}

.comparison-table td {
    padding: 15px;
    /* border: 1px solid #ddd; */
    font-size: 14px;
    text-align: center;
}

.comparison-table td.label {
    background-color: #b2b2b4;
    font-weight: 500;
    text-align: center;
    color: white;
}

.comparison-table td.procell {
    background-color: #B397C2;
    font-weight: bold;
}

/* ==============================================
   ÃƒÆ’Ã‚Â¦Ãƒâ€šÃ‚Â¯ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÆ’Ã‚Â¨Ãƒâ€šÃ‚Â¼Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã‚Â¨Ãƒâ€šÃ‚Â¡Ãƒâ€šÃ‚Â¨ÃƒÆ’Ã‚Â£Ãƒâ€šÃ‚ÂÃƒâ€šÃ‚Â®ÃƒÆ’Ã‚Â£Ãƒâ€ Ã¢â‚¬â„¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â¡ÃƒÆ’Ã‚Â£ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¶ÃƒÆ’Ã‚Â£ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¤ÃƒÆ’Ã‚Â£Ãƒâ€ Ã¢â‚¬â„¢Ãƒâ€šÃ‚Â³ (ProCell Table)
   ============================================== */

/* ÃƒÆ’Ã‚Â£Ãƒâ€ Ã¢â‚¬â„¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â ÃƒÆ’Ã‚Â£Ãƒâ€ Ã¢â‚¬â„¢Ãƒâ€šÃ‚Â¼ÃƒÆ’Ã‚Â£Ãƒâ€ Ã¢â‚¬â„¢ÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬Å“ÃƒÆ’Ã‚Â£Ãƒâ€ Ã¢â‚¬â„¢Ãƒâ€šÃ‚Â«ÃƒÆ’Ã‚Â¥ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â¦Ãƒâ€šÃ‚Â¨ÃƒÆ’Ã‚Â¤Ãƒâ€šÃ‚Â½ÃƒÂ¢Ã¢â€šÂ¬Ã…â€œÃƒÆ’Ã‚Â£Ãƒâ€šÃ‚ÂÃƒâ€šÃ‚Â®ÃƒÆ’Ã‚Â£Ãƒâ€ Ã¢â‚¬â„¢Ãƒâ€šÃ‚Â©ÃƒÆ’Ã‚Â£Ãƒâ€ Ã¢â‚¬â„¢Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã‚Â£Ãƒâ€ Ã¢â‚¬â„¢ÃƒÂ¢Ã¢â€šÂ¬Ã‹Å“ÃƒÆ’Ã‚Â£Ãƒâ€ Ã¢â‚¬â„¢Ãƒâ€šÃ‚Â¼ÃƒÆ’Ã‚Â¯Ãƒâ€šÃ‚Â¼Ãƒâ€¹Ã¢â‚¬Â ÃƒÆ’Ã‚Â£ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¹ÃƒÆ’Ã‚Â£Ãƒâ€ Ã¢â‚¬â„¢Ãƒâ€¦Ã‚Â¾ÃƒÆ’Ã‚Â£Ãƒâ€ Ã¢â‚¬â„¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂºÃƒÆ’Ã‚Â£Ãƒâ€šÃ‚ÂÃƒâ€šÃ‚Â§ÃƒÆ’Ã‚Â¦Ãƒâ€šÃ‚Â¨Ãƒâ€šÃ‚ÂªÃƒÆ’Ã‚Â£ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¹ÃƒÆ’Ã‚Â£ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¯ÃƒÆ’Ã‚Â£Ãƒâ€ Ã¢â‚¬â„¢Ãƒâ€šÃ‚Â­ÃƒÆ’Ã‚Â£Ãƒâ€ Ã¢â‚¬â„¢Ãƒâ€šÃ‚Â¼ÃƒÆ’Ã‚Â£Ãƒâ€ Ã¢â‚¬â„¢Ãƒâ€šÃ‚Â«ÃƒÆ’Ã‚Â£Ãƒâ€šÃ‚ÂÃƒÂ¢Ã¢â€šÂ¬Ã‚Â¢ÃƒÆ’Ã‚Â£Ãƒâ€šÃ‚ÂÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂºÃƒÆ’Ã‚Â£ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â¹ÃƒÆ’Ã‚Â§ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒâ€šÃ‚Â¨ÃƒÆ’Ã‚Â¯Ãƒâ€šÃ‚Â¼ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â° */
.comparison-table-wrapper {
    width: 100%;
    overflow-x: auto; /* ÃƒÆ’Ã‚Â£ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¹ÃƒÆ’Ã‚Â£Ãƒâ€ Ã¢â‚¬â„¢Ãƒâ€¦Ã‚Â¾ÃƒÆ’Ã‚Â£Ãƒâ€ Ã¢â‚¬â„¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂºÃƒÆ’Ã‚Â£Ãƒâ€šÃ‚ÂÃƒâ€šÃ‚Â§ÃƒÆ’Ã‚Â£Ãƒâ€šÃ‚ÂÃƒâ€šÃ‚Â¯ÃƒÆ’Ã‚Â£Ãƒâ€šÃ‚ÂÃƒâ€šÃ‚Â¿ÃƒÆ’Ã‚Â¥ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â¡Ãƒâ€šÃ‚ÂºÃƒÆ’Ã‚Â£Ãƒâ€šÃ‚ÂÃƒâ€¦Ã‚Â¸ÃƒÆ’Ã‚Â£ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â°ÃƒÆ’Ã‚Â£ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¹ÃƒÆ’Ã‚Â£ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¯ÃƒÆ’Ã‚Â£Ãƒâ€ Ã¢â‚¬â„¢Ãƒâ€šÃ‚Â­ÃƒÆ’Ã‚Â£Ãƒâ€ Ã¢â‚¬â„¢Ãƒâ€šÃ‚Â¼ÃƒÆ’Ã‚Â£Ãƒâ€ Ã¢â‚¬â„¢Ãƒâ€šÃ‚Â« */
    margin-bottom: 60px;
}

.comparison-table {
    width: 100%;
    min-width: 600px; /* ÃƒÆ’Ã‚Â£ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¹ÃƒÆ’Ã‚Â£Ãƒâ€ Ã¢â‚¬â„¢Ãƒâ€¦Ã‚Â¾ÃƒÆ’Ã‚Â£Ãƒâ€ Ã¢â‚¬â„¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂºÃƒÆ’Ã‚Â£Ãƒâ€šÃ‚ÂÃƒâ€šÃ‚Â§ÃƒÆ’Ã‚Â£ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã‚Â£Ãƒâ€šÃ‚ÂÃƒÂ¢Ã¢â€šÂ¬Ã…â€œÃƒÆ’Ã‚Â£ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€¦Ã¢â‚¬â„¢ÃƒÆ’Ã‚Â¤Ãƒâ€šÃ‚Â»Ãƒâ€šÃ‚Â¥ÃƒÆ’Ã‚Â¤Ãƒâ€šÃ‚Â¸Ãƒâ€¦Ã‚Â ÃƒÆ’Ã‚Â£Ãƒâ€šÃ‚ÂÃƒâ€šÃ‚Â¯ÃƒÆ’Ã‚Â§Ãƒâ€šÃ‚Â¸Ãƒâ€šÃ‚Â®ÃƒÆ’Ã‚Â£ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚ÂÃƒÆ’Ã‚Â£Ãƒâ€šÃ‚ÂÃƒâ€šÃ‚ÂªÃƒÆ’Ã‚Â£Ãƒâ€šÃ‚ÂÃƒÂ¢Ã¢â€šÂ¬Ã…Â¾ */
    border-collapse: separate; /* ÃƒÆ’Ã‚Â£ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â»ÃƒÆ’Ã‚Â£Ãƒâ€ Ã¢â‚¬â„¢Ãƒâ€šÃ‚Â«ÃƒÆ’Ã‚Â£Ãƒâ€šÃ‚ÂÃƒâ€šÃ‚Â®ÃƒÆ’Ã‚Â©Ãƒâ€¦Ã‚Â¡ÃƒÂ¢Ã¢â‚¬Å¾Ã‚Â¢ÃƒÆ’Ã‚Â©ÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬Å“ÃƒÂ¢Ã¢â€šÂ¬Ã…â€œÃƒÆ’Ã‚Â£ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã‚Â¤Ãƒâ€šÃ‚Â½Ãƒâ€¦Ã¢â‚¬Å“ÃƒÆ’Ã‚Â£ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â¹ÃƒÆ’Ã‚Â£Ãƒâ€šÃ‚ÂÃƒâ€¦Ã‚Â¸ÃƒÆ’Ã‚Â£ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â */
    border-spacing: 4px; /* ÃƒÆ’Ã‚Â§ÃƒÂ¢Ã¢â‚¬Å¾Ã‚Â¢Ãƒâ€šÃ‚Â½ÃƒÆ’Ã‚Â£Ãƒâ€šÃ‚ÂÃƒÂ¢Ã¢â€šÂ¬Ã…Â¾ÃƒÆ’Ã‚Â©Ãƒâ€¦Ã‚Â¡ÃƒÂ¢Ã¢â‚¬Å¾Ã‚Â¢ÃƒÆ’Ã‚Â©ÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬Å“ÃƒÂ¢Ã¢â€šÂ¬Ã…â€œÃƒÆ’Ã‚Â£Ãƒâ€šÃ‚ÂÃƒâ€šÃ‚Â®ÃƒÆ’Ã‚Â¥Ãƒâ€šÃ‚Â¤Ãƒâ€šÃ‚ÂªÃƒÆ’Ã‚Â£Ãƒâ€šÃ‚ÂÃƒÂ¢Ã¢â€šÂ¬Ã‚Â¢ */
    margin: 0 auto;
    font-size: 14px;
    text-align: center;
    line-height: 1.5;
}

/* --- ÃƒÆ’Ã‚Â£Ãƒâ€ Ã¢â‚¬â„¢Ãƒâ€¹Ã…â€œÃƒÆ’Ã‚Â£Ãƒâ€ Ã¢â‚¬â„¢Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã‚Â£Ãƒâ€ Ã¢â‚¬â„¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â£Ãƒâ€ Ã¢â‚¬â„¢Ãƒâ€šÃ‚Â¼ÃƒÆ’Ã‚Â¯Ãƒâ€šÃ‚Â¼Ãƒâ€¹Ã¢â‚¬Â 1ÃƒÆ’Ã‚Â¨Ãƒâ€šÃ‚Â¡Ãƒâ€¦Ã¢â‚¬â„¢ÃƒÆ’Ã‚Â§ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂºÃƒâ€šÃ‚Â®ÃƒÆ’Ã‚Â¯Ãƒâ€šÃ‚Â¼ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â°ÃƒÆ’Ã‚Â£Ãƒâ€šÃ‚ÂÃƒâ€šÃ‚Â®ÃƒÆ’Ã‚Â¨Ãƒâ€šÃ‚Â¨Ãƒâ€šÃ‚Â­ÃƒÆ’Ã‚Â¥Ãƒâ€šÃ‚Â®Ãƒâ€¦Ã‚Â¡ --- */
.comparison-table th {
    background-color: #fff; /* ÃƒÆ’Ã‚Â¨Ãƒâ€ Ã¢â‚¬â„¢Ãƒâ€¦Ã¢â‚¬â„¢ÃƒÆ’Ã‚Â¦ÃƒÂ¢Ã¢â‚¬Å¾Ã‚Â¢Ãƒâ€šÃ‚Â¯ÃƒÆ’Ã‚Â§ÃƒÂ¢Ã¢â‚¬Å¾Ã‚Â¢Ãƒâ€šÃ‚Â½ */
    color: #333;
    padding: 20px 10px;
    font-weight: bold;
    vertical-align: middle;
    border: none;
}

.comparison-table .th-label {
    background-color: transparent; /* ÃƒÆ’Ã‚Â¥Ãƒâ€šÃ‚Â·Ãƒâ€šÃ‚Â¦ÃƒÆ’Ã‚Â¤Ãƒâ€šÃ‚Â¸Ãƒâ€¦Ã‚Â ÃƒÆ’Ã‚Â£Ãƒâ€šÃ‚ÂÃƒâ€šÃ‚Â¯ÃƒÆ’Ã‚Â§Ãƒâ€šÃ‚Â©Ãƒâ€šÃ‚ÂºÃƒÆ’Ã‚Â¦Ãƒâ€šÃ‚Â¬ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¾ */
}

/* ÃƒÆ’Ã‚Â£Ãƒâ€ Ã¢â‚¬â„¢Ãƒâ€šÃ‚Â­ÃƒÆ’Ã‚Â£ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â´ÃƒÆ’Ã‚Â©Ãƒâ€šÃ‚Â¢Ãƒâ€šÃ‚Â¨ÃƒÆ’Ã‚Â£Ãƒâ€šÃ‚ÂÃƒâ€šÃ‚Â®ÃƒÆ’Ã‚Â£Ãƒâ€ Ã¢â‚¬â„¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â ÃƒÆ’Ã‚Â£ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â­ÃƒÆ’Ã‚Â£ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¹ÃƒÆ’Ã‚Â£Ãƒâ€ Ã¢â‚¬â„¢Ãƒâ€¹Ã¢â‚¬Â ÃƒÆ’Ã‚Â¨Ãƒâ€šÃ‚Â£ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â¦ÃƒÆ’Ã‚Â©Ãƒâ€šÃ‚Â£Ãƒâ€šÃ‚Â¾ÃƒÆ’Ã‚Â¯Ãƒâ€šÃ‚Â¼Ãƒâ€¹Ã¢â‚¬Â ÃƒÆ’Ã‚Â§ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒâ€šÃ‚Â»ÃƒÆ’Ã‚Â¥Ãƒâ€ Ã¢â‚¬â„¢Ãƒâ€šÃ‚ÂÃƒÆ’Ã‚Â£Ãƒâ€šÃ‚ÂÃƒâ€¦Ã¢â‚¬â„¢ÃƒÆ’Ã‚Â£Ãƒâ€šÃ‚ÂÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã‚Â£ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€¦Ã¢â‚¬â„¢ÃƒÆ’Ã‚Â£Ãƒâ€šÃ‚ÂÃƒâ€šÃ‚Â°imgÃƒÆ’Ã‚Â£ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¿ÃƒÆ’Ã‚Â£ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â°ÃƒÆ’Ã‚Â£Ãƒâ€šÃ‚ÂÃƒâ€šÃ‚Â ÃƒÆ’Ã‚Â£Ãƒâ€šÃ‚ÂÃƒÂ¢Ã¢â€šÂ¬Ã‹Å“ÃƒÆ’Ã‚Â£Ãƒâ€šÃ‚ÂÃƒâ€šÃ‚Â§OKÃƒÆ’Ã‚Â¯Ãƒâ€šÃ‚Â¼ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â° */
.logo-text {
    font-size: 24px;
    color: #555;
    line-height: 1;
    display: inline-block;
}
.logo-text small {
    display: block;
    font-size: 10px;
    letter-spacing: 2px;
    text-transform: uppercase;
}


/* --- ÃƒÆ’Ã‚Â£Ãƒâ€ Ã¢â‚¬â„¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â¡ÃƒÆ’Ã‚Â£Ãƒâ€ Ã¢â‚¬â„¢Ãƒâ€šÃ‚Â¼ÃƒÆ’Ã‚Â£ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¿ÃƒÆ’Ã‚Â£ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â»ÃƒÆ’Ã‚Â£Ãƒâ€ Ã¢â‚¬â„¢Ãƒâ€šÃ‚Â«ÃƒÆ’Ã‚Â¯Ãƒâ€šÃ‚Â¼Ãƒâ€¹Ã¢â‚¬Â tdÃƒÆ’Ã‚Â¯Ãƒâ€šÃ‚Â¼ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â°ÃƒÆ’Ã‚Â£Ãƒâ€šÃ‚ÂÃƒâ€šÃ‚Â®ÃƒÆ’Ã‚Â¥ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â¦Ãƒâ€šÃ‚Â±ÃƒÆ’Ã‚Â©ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã‚Â¨Ãƒâ€šÃ‚Â¨Ãƒâ€šÃ‚Â­ÃƒÆ’Ã‚Â¥Ãƒâ€šÃ‚Â®Ãƒâ€¦Ã‚Â¡ --- */
.comparison-table td {
    padding: 20px 10px;
    vertical-align: middle;
}

/* 1ÃƒÆ’Ã‚Â¥Ãƒâ€¹Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬ÂÃƒÆ’Ã‚Â§ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂºÃƒâ€šÃ‚Â®ÃƒÆ’Ã‚Â¯Ãƒâ€šÃ‚Â¼Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã‚Â©Ãƒâ€šÃ‚Â ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â¦ÃƒÆ’Ã‚Â§ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂºÃƒâ€šÃ‚Â®ÃƒÆ’Ã‚Â£Ãƒâ€ Ã¢â‚¬â„¢Ãƒâ€šÃ‚Â©ÃƒÆ’Ã‚Â£Ãƒâ€ Ã¢â‚¬â„¢ÃƒÂ¢Ã¢â‚¬Å¾Ã‚Â¢ÃƒÆ’Ã‚Â£Ãƒâ€ Ã¢â‚¬â„¢Ãƒâ€šÃ‚Â«ÃƒÆ’Ã‚Â¯Ãƒâ€šÃ‚Â¼Ãƒâ€¹Ã¢â‚¬Â ÃƒÆ’Ã‚Â£ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â°ÃƒÆ’Ã‚Â£Ãƒâ€ Ã¢â‚¬â„¢Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã‚Â£Ãƒâ€ Ã¢â‚¬â„¢Ãƒâ€šÃ‚Â¼ÃƒÆ’Ã‚Â¨Ãƒâ€ Ã¢â‚¬â„¢Ãƒâ€¦Ã¢â‚¬â„¢ÃƒÆ’Ã‚Â¦ÃƒÂ¢Ã¢â‚¬Å¾Ã‚Â¢Ãƒâ€šÃ‚Â¯ÃƒÆ’Ã‚Â£Ãƒâ€ Ã¢â‚¬â„¢Ãƒâ€šÃ‚Â»ÃƒÆ’Ã‚Â§ÃƒÂ¢Ã¢â‚¬Å¾Ã‚Â¢Ãƒâ€šÃ‚Â½ÃƒÆ’Ã‚Â¦ÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬Å“ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â¡ÃƒÆ’Ã‚Â¥Ãƒâ€šÃ‚Â­ÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬ÂÃƒÆ’Ã‚Â¯Ãƒâ€šÃ‚Â¼ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â° */
.comparison-table .td-label {
    background-color: #b0b0b0;
    color: #fff;
    width: 18%; /* ÃƒÆ’Ã‚Â¥Ãƒâ€šÃ‚Â¹ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â¦ÃƒÆ’Ã‚Â£Ãƒâ€šÃ‚ÂÃƒâ€šÃ‚Â®ÃƒÆ’Ã‚Â¨Ãƒâ€šÃ‚ÂªÃƒâ€šÃ‚Â¿ÃƒÆ’Ã‚Â¦ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â¢Ãƒâ€šÃ‚Â´ */
    white-space: nowrap;
}

/* 2ÃƒÆ’Ã‚Â¥Ãƒâ€¹Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬ÂÃƒÆ’Ã‚Â§ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂºÃƒâ€šÃ‚Â®ÃƒÆ’Ã‚Â£Ãƒâ€ Ã¢â‚¬â„¢Ãƒâ€šÃ‚Â»4ÃƒÆ’Ã‚Â¥Ãƒâ€¹Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬ÂÃƒÆ’Ã‚Â§ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂºÃƒâ€šÃ‚Â®ÃƒÆ’Ã‚Â¯Ãƒâ€šÃ‚Â¼Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã‚Â©ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã‚Â¥Ãƒâ€šÃ‚Â¸Ãƒâ€šÃ‚Â¸ÃƒÆ’Ã‚Â£Ãƒâ€šÃ‚ÂÃƒâ€šÃ‚Â®ÃƒÆ’Ã‚Â©Ãƒâ€šÃ‚Â ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â¦ÃƒÆ’Ã‚Â§ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂºÃƒâ€šÃ‚Â®ÃƒÆ’Ã‚Â¯Ãƒâ€šÃ‚Â¼Ãƒâ€¹Ã¢â‚¬Â ÃƒÆ’Ã‚Â¨ÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬Å“ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¾ÃƒÆ’Ã‚Â£Ãƒâ€šÃ‚ÂÃƒÂ¢Ã¢â€šÂ¬Ã…Â¾ÃƒÆ’Ã‚Â£Ãƒâ€ Ã¢â‚¬â„¢ÃƒÂ¢Ã¢â‚¬Å¾Ã‚Â¢ÃƒÆ’Ã‚Â£Ãƒâ€ Ã¢â‚¬â„¢Ãƒâ€šÃ‚Â¼ÃƒÆ’Ã‚Â£ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¸ÃƒÆ’Ã‚Â£Ãƒâ€ Ã¢â‚¬â„¢Ãƒâ€šÃ‚Â¥/ÃƒÆ’Ã‚Â§Ãƒâ€šÃ‚Â·ÃƒÂ¢Ã¢â€šÂ¬Ã‹Å“ÃƒÆ’Ã‚Â¨Ãƒâ€ Ã¢â‚¬â„¢Ãƒâ€¦Ã¢â‚¬â„¢ÃƒÆ’Ã‚Â¦ÃƒÂ¢Ã¢â‚¬Å¾Ã‚Â¢Ãƒâ€šÃ‚Â¯ÃƒÆ’Ã‚Â¯Ãƒâ€šÃ‚Â¼ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â° */
.comparison-table td {
    background-color: #f2f6f0; /* ÃƒÆ’Ã‚Â¨ÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬Å“ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¾ÃƒÆ’Ã‚Â£Ãƒâ€šÃ‚ÂÃƒÂ¢Ã¢â€šÂ¬Ã…Â¾ÃƒÆ’Ã‚Â¨ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â°Ãƒâ€šÃ‚Â² */
    color: #333;
    width: 27%;
}

/* 3ÃƒÆ’Ã‚Â¥Ãƒâ€¹Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬ÂÃƒÆ’Ã‚Â§ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂºÃƒâ€šÃ‚Â®ÃƒÆ’Ã‚Â¯Ãƒâ€šÃ‚Â¼Ãƒâ€¦Ã‚Â¡ProCellÃƒÆ’Ã‚Â¯Ãƒâ€šÃ‚Â¼Ãƒâ€¹Ã¢â‚¬Â ÃƒÆ’Ã‚Â¥Ãƒâ€šÃ‚Â¼Ãƒâ€šÃ‚Â·ÃƒÆ’Ã‚Â¨Ãƒâ€šÃ‚ÂªÃƒâ€šÃ‚Â¿ÃƒÆ’Ã‚Â£Ãƒâ€ Ã¢â‚¬â„¢Ãƒâ€šÃ‚Â»ÃƒÆ’Ã‚Â§Ãƒâ€šÃ‚Â·ÃƒÂ¢Ã¢â€šÂ¬Ã‹Å“ÃƒÆ’Ã‚Â¨Ãƒâ€ Ã¢â‚¬â„¢Ãƒâ€¦Ã¢â‚¬â„¢ÃƒÆ’Ã‚Â¦ÃƒÂ¢Ã¢â‚¬Å¾Ã‚Â¢Ãƒâ€šÃ‚Â¯ÃƒÆ’Ã‚Â¯Ãƒâ€šÃ‚Â¼ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â° */
.comparison-table .td-procell {
    background-color: #92bd68; /* ÃƒÆ’Ã‚Â§ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒâ€šÃ‚Â»ÃƒÆ’Ã‚Â¥Ãƒâ€ Ã¢â‚¬â„¢Ãƒâ€šÃ‚ÂÃƒÆ’Ã‚Â£Ãƒâ€šÃ‚ÂÃƒâ€šÃ‚Â«ÃƒÆ’Ã‚Â¨Ãƒâ€šÃ‚Â¿ÃƒÂ¢Ã¢â€šÂ¬Ã‹Å“ÃƒÆ’Ã‚Â£Ãƒâ€šÃ‚ÂÃƒÂ¢Ã¢â€šÂ¬Ã…Â¾ÃƒÆ’Ã‚Â§Ãƒâ€šÃ‚Â·ÃƒÂ¢Ã¢â€šÂ¬Ã‹Å“ÃƒÆ’Ã‚Â¨ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â°Ãƒâ€šÃ‚Â² */
    color: #000; /* ÃƒÆ’Ã‚Â¦ÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬Å“ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â¡ÃƒÆ’Ã‚Â¥Ãƒâ€šÃ‚Â­ÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬ÂÃƒÆ’Ã‚Â¨ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â°Ãƒâ€šÃ‚Â²ÃƒÆ’Ã‚Â£Ãƒâ€šÃ‚ÂÃƒâ€šÃ‚Â¯ÃƒÆ’Ã‚Â©Ãƒâ€šÃ‚Â»ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ */
    font-weight: bold;
    width: 27%;
}

/* ÃƒÆ’Ã‚Â£Ãƒâ€ Ã¢â‚¬â„¢Ãƒâ€¹Ã…â€œÃƒÆ’Ã‚Â£Ãƒâ€ Ã¢â‚¬â„¢Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã‚Â£Ãƒâ€ Ã¢â‚¬â„¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â£Ãƒâ€ Ã¢â‚¬â„¢Ãƒâ€šÃ‚Â¼ÃƒÆ’Ã‚Â£Ãƒâ€šÃ‚ÂÃƒâ€šÃ‚Â®ProCellÃƒÆ’Ã‚Â©Ãƒâ€ Ã¢â‚¬â„¢Ãƒâ€šÃ‚Â¨ÃƒÆ’Ã‚Â¥Ãƒâ€¹Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â ÃƒÆ’Ã‚Â£ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã‚Â¥Ãƒâ€šÃ‚Â¹ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â¦ÃƒÆ’Ã‚Â£ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã‚Â¥Ãƒâ€šÃ‚ÂÃƒâ€¹Ã¢â‚¬Â ÃƒÆ’Ã‚Â£ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚ÂÃƒÆ’Ã‚Â£Ãƒâ€šÃ‚ÂÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂºÃƒÆ’Ã‚Â£ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â¹ */
.comparison-table .th-procell {
    width: 27%;
}


/* --- ÃƒÆ’Ã‚Â£ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¹ÃƒÆ’Ã‚Â£Ãƒâ€ Ã¢â‚¬â„¢Ãƒâ€¦Ã‚Â¾ÃƒÆ’Ã‚Â£Ãƒâ€ Ã¢â‚¬â„¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂºÃƒÆ’Ã‚Â¨Ãƒâ€šÃ‚Â¡Ãƒâ€šÃ‚Â¨ÃƒÆ’Ã‚Â§Ãƒâ€šÃ‚Â¤Ãƒâ€šÃ‚ÂºÃƒÆ’Ã‚Â£Ãƒâ€šÃ‚ÂÃƒâ€šÃ‚Â®ÃƒÆ’Ã‚Â¨Ãƒâ€šÃ‚ÂªÃƒâ€šÃ‚Â¿ÃƒÆ’Ã‚Â¦ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â¢Ãƒâ€šÃ‚Â´ --- */
@media (max-width: 768px) {

    
    .facial-recommended h2 {
    font-size: 5.5vw !important;
}
    
    .comparison-table {
        min-width: 500px; /* ÃƒÆ’Ã‚Â¥Ãƒâ€šÃ‚Â°ÃƒÂ¢Ã¢â€šÂ¬Ã‹Å“ÃƒÆ’Ã‚Â£Ãƒâ€šÃ‚ÂÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬ÂÃƒÆ’Ã‚Â§ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â¹Ãƒâ€šÃ‚Â­ÃƒÆ’Ã‚Â£ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚ÂÃƒÆ’Ã‚Â£ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â¹ */
        font-size: 12px;
    }
    
    .comparison-table td, 
    .comparison-table th {
        padding: 10px 5px;
    }
    
    .logo-text {
        font-size: 18px;
    }
}

/* ========================================
   Precautions Section
   ======================================== */
.facial-precautions {
    padding: 60px 0;
    background-color: #f5f5f5;
}

.facial-precautions h2 {
    font-size: 32px;
    text-align: center;
    margin-bottom: 40px;
    color: #333;
    padding-left: 4px;
    border-left: 4px solid #7c6788;
}

.precautions-box {
    max-width: 800px;
    margin: 0 auto;
    background-color: #ffffff;
    border: 2px solid #7c6788;
    border-radius: 4px;
    padding: 40px;
}

.precautions-box ul {
    list-style: none;
    padding: 0;
}

.precautions-box li {
    font-size: 16px;
    color: #333;
    line-height: 1.8;
    margin-bottom: 20px;
    padding-left: 20px;
    position: relative;
}

.precautions-box li::before {
    content: 'ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢';
    position: absolute;
    left: 0;
    color: #7c6788;
    font-weight: bold;
}

.precautions-box li span {
    display: block;
    font-size: 14px;
    color: #999;
    margin-top: 5px;
}

/* ========================================
   Pricing Section
   ======================================== */
.facial-pricing {
    padding: 60px 0;
    background-color: #ffffff;
}

.facial-pricing h2 {
    font-size: 32px;
    text-align: center;
    margin-bottom: 40px;
    color: #333;
    padding-left: 4px;
    border-left: 4px solid #7c6788;
}

.pricing-content {
    max-width: 800px;
    margin: 0 auto 40px;
}

.pricing-item {
    margin-bottom: 30px;
    text-align: center;
}

.pricing-label {
    font-size: 16px;
    color: #555;
    margin-bottom: 10px;
}

.pricing-original {
    font-size: 18px;
    color: #999;
    text-decoration: line-through;
    margin-bottom: 10px;
}

.pricing-discount {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
    margin-bottom: 20px;
}

.campaign {
    background-color: #7c6788;
    color: #fff;
    padding: 6px 12px;
    border-radius: 4px;
    font-size: 14px;
    font-weight: bold;
}

.price {
    font-size: 32px;
    color: #333;
    font-weight: bold;
}

.pricing-price {
    font-size: 28px;
    color: #333;
    font-weight: bold;
    margin-bottom: 20px;
}

.monitor {
    font-size: 12px;
    color: #999;
}

.per-session {
    display: block;
    font-size: 14px;
    color: #999;
    margin-top: 5px;
}

.cta-button {
    display: block;
    max-width: 600px;
    margin: 0 auto;
    padding: 20px;
    background-color: #0088b4;
    color: #fff;
    text-align: center;
    text-decoration: none;
    border-radius: 4px;
    font-size: 18px;
    font-weight: bold;
    transition: background-color 0.3s ease;
}

.cta-button:hover {
    background-color: #006688;
}

/* ========================================
   Responsive Design
   ======================================== */
@media (max-width: 768px) {
    .facial-hero .wrap {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .recommended-grid {
        grid-template-columns: 1fr;
    }

    .schedule-inner {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .before-after {
        grid-template-columns: repeat(2, 1fr);
    }

    .facial-title {
        font-size: 36px;
    }

    .facial-recommended h2,
    .facial-schedule h2,
    .facial-comparison h2,
    .facial-precautions h2,
    .facial-pricing h2 {
        font-size: 24px;
    }

    .comparison-table th,
    .comparison-table td {
        font-size: 12px;
        padding: 10px;
    }

    .precautions-box {
        padding: 20px;
    }

    .precautions-box li {
        font-size: 14px;
    }

    .flow-steps {
        gap: 10px;
    }

    .step-circle {
        width: 50px;
        height: 50px;
        font-size: 16px;
    }

    .step-arrow {
        font-size: 16px;
    }
}

@media (max-width: 480px) {
    .before-after {
        grid-template-columns: 1fr;
    }

    .facial-title {
        font-size: 28px;
    }

    .facial-hero .wrap {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .facial-hero-right {
        padding: 20px;
    }

    .facial-hero-box h2 {
        font-size: 20px;
    }

    .facial-hero-description p {
        font-size: 13px;
        line-height: 1.7;
    }

    .recommended-grid {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    .recommended-item {
        padding: 12px;
    }

    .recommended-item span {
        font-size: 14px;
    }

    .precautions-box {
        padding: 15px;
        border: 2px solid #7c6788;
    }

    .precautions-box li {
        font-size: 13px;
        margin-bottom: 15px;
        line-height: 1.6;
    }

    .precautions-box li span {
        font-size: 12px;
    }

    .cta-button {
        font-size: 16px;
        padding: 16px;
    }

    .comparison-table {
        font-size: 11px;
    }

    .comparison-table th,
    .comparison-table td {
        font-size: 11px;
        padding: 8px 4px;
    }

    .flow-steps {
        gap: 8px;
        flex-wrap: wrap;
    }

    .step-circle {
        width: 45px;
        height: 45px;
        font-size: 14px;
    }

    .step-arrow {
        font-size: 14px;
    }

    .step-time {
        font-size: 11px;
    }

    .schedule-inner {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .schedule-left p {
        font-size: 14px;
    }

    .schedule-note p {
        font-size: 12px;
    }

    .facial-recommended h2,
    .facial-schedule h2,
    .facial-comparison h2,
    .facial-precautions h2,
    .facial-pricing h2 {
        font-size: 22px;
        margin-bottom: 30px;
    }

    .pricing-item {
        margin-bottom: 25px;
    }

    .pricing-label {
        font-size: 15px;
    }

    .pricing-price {
        font-size: 24px;
    }

    .price {
        font-size: 26px;
    }

    .campaign {
        font-size: 13px;
        padding: 5px 10px;
    }

    .per-session {
        font-size: 12px;
    }

    .flow-label {
        font-size: 13px;
        margin-bottom: 15px;
    }

    .facial-hero-product {
        margin-top: 20px;
    }

    .facial-hero-image {
        margin: 15px 0;
    }

    .facial-subtitle {
        font-size: 14px;
        margin-bottom: 20px;
    }
}

        font-size: 14px;
        margin-bottom: 20px;
    }
}




/* ========================================
   Common Elements (Recommended, etc.)
   ======================================== */

/* Recommendedのレイアウト調整 */
.facial-recommended h2 {
    font-family: "Zen Old Mincho", serif;
    font-size: 32px;
    line-height: 1.6em !important;
}

.recommended-grid {
    max-width: 1000px; /* 800pxから変更 */
    padding-top: 50px; /* 追加 */
}

.recommended-item span {
    font-size: 21px; /* 18pxから変更 */
}

/* ========================================
   Schedule Section (Layout Fixes)
   ======================================== */

/* PC版での左右カラム幅と配置の調整 */
.schedule-inner {
    justify-content: space-between;
    align-items: center; /* 追加 */
}

.schedule-left {
    width: 35%; /* 45%から変更 */
}

.schedule-right {
    width: 60%; /* 追加（以前は未指定） */
    align-items: center;
    display: flex;
}

.schedule-flow {
    width: 640px; /* 追加（固定幅で安定させる） */
}

/* ========================================
   Comparison Table
   ======================================== */

.comparison-table {
    max-width: 870px; /* 800pxから変更 */
}

.comparison-table table {
    border-spacing: 7px; /* 11pxから変更 */
}

.comparison-table td {
    width: 18%; /* 幅指定を追加 */
}

.comparison-table td.label {
    width: 26%; /* 35%から変更 */
}

/* 画像がある場合の調整 */
.comparison-table th.procell img {
    margin: auto;
    height: 50px;
}

/* ========================================
   Precautions Section
   ======================================== */

.precautions-box {
    max-width: 900px !important; /* 800pxから変更 */
}

/* ========================================
   Pricing Section (Font sizes & Layout)
   ======================================== */

.pricing-content {
    max-width: 540px; /* 450pxから変更 */
}

.pricing-item {
    position: relative; /* 追加 */
     /* space-betweenから変更 */
}

/* 文字サイズを全体的に大きく */
.pricing-label {
    font-size: 22px; /* 20pxから変更 */
}

.pricing-original {
    font-size: 21px; /* 18pxから変更 */
}

.pricing-price {
    font-size: 21px; /* 18pxから変更 */
}

/* 割引の矢印（↓）を追加 */
.pricing-discount:after {
    content: "↓";
    display: block;
    position: absolute;
    right: 50%;
    top: 45%;
    color: black;
    font-size: 30px;
    transform: translate(50%, -70%);
    font-weight: 100;
}

/* ========================================
   Responsive Design (SP: max-width 480px)
   Facial専用のSP調整
   ======================================== */

@media (max-width: 480px) {
    /* Hero Section Block Layout */
    .hero-inner {
        display: block;
    }

    .facial-hero-left {
        width: 100%;
        text-align: center;
        padding: 0;
    }

    .facial-hero-product {
        width: max-content;
        text-align: center;
        margin: 20px auto 0;
        display: block;
        left: inherit;
        width: 100% !important;
        max-width: inherit !important;
    }

    .facial-hero-right {
        width: 100%;
        padding: 20px;
        /* border-radius: 0; */
    }

    .facial-hero-description p {
        font-size: 4.4vw;
        line-height: 1.7;
    }

    /* Recommended */
    .recommended-grid {
        gap: 0px;
        padding-top: 10px;
    }

    .recommended-item span {
        font-size: 4.7vw;
    }

    /* Precautions */
    .precautions-box {
        border-radius: inherit;
    }
    
    .precautions-box li {
        font-size: 4.4vw;
    }

    .precautions-box li span {
        font-size: 3.3vw;
        margin-top: 0;
    }

    /* Schedule */
    .schedule-inner {
        display: block;
    }

    .schedule-inner p {
    line-height: 1.9em !important;
}
    
    .schedule-left {
        width: 100%;
    }
    
    .schedule-right {
        width: 100%;
    }
    
    .schedule-flow {
        width: 100%;
        padding: 7vw 0;
        line-height: 1.3em;
    }

    .schedule-left p {
        font-size: 4vw;
    }

    /* Comparison Table SP */
    .comparison-table {
        max-width: inherit;
        width: 102%;
        left: -2%;
        position: relative;
    }

    /* Pricing Layout Fix for SP (複雑なレイアウトの移植) */
    .pricing-item {
    position: relative;
    margin-bottom: 30px;
    text-align: center;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1rem;
    }

    .pricing-label {
        width: 100%;
        text-align: center;
        margin: 0;
        font-size: 4vw;
        font-weight: normal;
    }

    .pricing-original {
        margin: 0;
        line-height: 1.8em;
        font-weight: normal;
    }

    .pricing-discount {
        margin: 0;
        gap: 0;
        width: 100%;
        justify-content: space-between;
        position: relative;
    }

    .pricing-discount:after {
        right: 50%;
        top: 50%;
        transform: translate(50%, -50%);
        display: none;
    }

    .pricing-price {
        font-size: 4.5vw;
        font-weight: normal;
        width: 45%;
        margin: 0;
        line-height: 1.6em;
        text-align: center;
    }

    /* 2行目・3行目の特殊レイアウト対応 (Facialクラス版) */
    section.pricing.facial-pricing > div > div.pricing-content > div:nth-child(2),
    section.pricing.facial-pricing > div > div.pricing-content > div:nth-child(3) {
        flex-wrap: inherit;
        justify-content: space-between;
        align-items: center;
        margin-right: 3vw;
        gap: 4rem; /* Scalpに合わせて調整 */
    }

    section.pricing.facial-pricing > div > div.pricing-content > div:nth-child(2) > p.pricing-label,
    section.pricing.facial-pricing > div > div.pricing-content > div:nth-child(3) > p.pricing-label {
        width: 56%;
        text-align: center;
    }
}



/* ========================================
   Responsive Design
   ======================================== */
@media (max-width: 1024px) and (min-width: 769px) {
    .facial-hero .wrap {
        grid-template-columns: 1fr 1fr;
        gap: 40px;
    }

    .facial-hero h1 {
        font-size: 40px;
    }

    .recommended-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 25px;
    }

    .schedule-inner {
        grid-template-columns: 1fr 1fr;
        gap: 40px;
        flex-wrap: wrap;
    }

    .schedule-left {
        width: 45%;
    }

    .schedule-right {
        width: 49%;
    }

    .schedule-flow {
        width: 100%;
    }

    .facial-title {
        font-size: 40px;
    }

    .recommended-item span {
    font-size: 1.1rem;
}

    .facial-recommended h2,
    .facial-schedule h2,
    .facial-comparison h2,
    .facial-precautions h2 {
        font-size: 28px;
    }

    .treatment-card {
        padding: 25px;
    }

    .treatment-title {
        font-size: 16px;
    }

    .treatment-description {
        font-size: 13px;
    }
}
