
/* ========================================
LICENSE HERO
======================================== */

.license-hero{

    position:relative;

    height:75vh;

    min-height:650px;

    display:flex;

    align-items:center;

    overflow:hidden;
}

.license-hero-video{

    position:absolute;

    inset:0;

    width:100%;

    height:100%;

    object-fit:cover;
}

.license-hero-overlay{

    position:absolute;

    inset:0;

    background:
    linear-gradient(
        90deg,
        rgba(0,0,0,.55),
        rgba(0,0,0,.25)
    );
}

.license-hero-content{

    position:relative;

    z-index:2;

    max-width:700px;

    color:#fff;
}

.license-hero-en{

    display:block;

    margin-bottom:20px;

    letter-spacing:.35em;

    font-size:13px;

    font-weight:700;
}

.license-hero h1{

    font-family:'Shippori Mincho',serif;

    font-size:clamp(40px,4vw,55px);

    line-height:1.6;

    margin-bottom:25px;
}

.license-hero p{

    line-height:2.2;

    margin-bottom:40px;
}

.license-hero-btn{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:18px 42px;

    border-radius:999px;

    background:#D8A88C;

    color:#fff;

    text-decoration:none;

    transition:.4s;
}

.license-hero-btn:hover{

    transform:translateY(-3px);

    background:#C89477;
}


/* ========================================
SECTION COMMON
======================================== */

.license-feature{

    background:#fff;
}

.license-worry{

    background:#FDF8F4;
}

.license-flow{

    background:#FAF7F2;
}


/* ========================================
WORRY
======================================== */

.worry-grid{

    display:grid;

    grid-template-columns:
    repeat(3,1fr);

    gap:25px;

    margin-top:70px;
}

.worry-card{

    background:#fff;

    padding:35px;

    border-radius:28px;

    text-align:center;

    line-height:1.9;

    color:#555;

    box-shadow:
    0 15px 40px rgba(0,0,0,.04);

    transition:.4s;
}

.worry-card:hover{

    transform:translateY(-6px);
}

/* ========================================
FUTURE
======================================== */

.license-future{

    background:#fff;
}

.future-grid{

    display:grid;

    grid-template-columns:
    repeat(3,1fr);

    gap:30px;

    margin-top:70px;
}

.future-card{

    background:#fff;

    border-radius:30px;

    overflow:hidden;

    box-shadow:
    0 15px 50px rgba(0,0,0,.05);

    transition:.4s;
}

.future-card:hover{

    transform:translateY(-8px);
}

.future-card img{

    width:100%;

    height:260px;

    object-fit:cover;

    display:block;
}

.future-content{

    padding:30px;
}

.future-content h3{

    font-family:'Shippori Mincho',serif;

    color:#4A433F;

    font-size:24px;

    margin-bottom:15px;
}

.future-content p{

    color:#666;

    line-height:2;
}
@media(max-width:768px){

    .future-grid{

        grid-template-columns:1fr;
    }

    .gallery-grid{

        grid-template-columns:
        repeat(2,1fr);
    }

    .gallery-grid img{

        height:180px;
    }

    .future-card img{

        height:220px;
    }

    .instructor-wrap{

        grid-template-columns:1fr;

        gap:40px;
    }

    .instructor-image img{

        max-width:100%;

        height:400px;
    }
}

/* ========================================
FLOW
======================================== */

.flow-wrap{

    max-width:900px;

    margin:70px auto 0;
}

.flow-item{

    position:relative;

    background:#fff;

    padding:35px 40px;

    border-radius:24px;

    margin-bottom:25px;

    box-shadow:
    0 10px 30px rgba(0,0,0,.04);
}

.flow-item span{

    display:block;

    color:#D5A28A;

    font-size:13px;

    letter-spacing:.2em;

    margin-bottom:10px;
}

.flow-item h3{

    font-family:'Shippori Mincho',serif;

    color:#4A433F;

    font-size:24px;
}

.flow-item:not(:last-child)::after{

    content:"";

    position:absolute;

    left:50%;

    bottom:-25px;

    width:2px;

    height:25px;

    background:#E8D5C9;
}


/* ========================================
CTA
======================================== */

.license-cta{

    background:#FDF8F4;
}

.license-cta-box{

    position:relative;

    overflow:hidden;

    background:#fff;

    border-radius:40px;

    padding:90px 60px;

    text-align:center;

    box-shadow:
    0 25px 80px rgba(0,0,0,.06);
}

.license-cta-box::before{

    content:"";

    position:absolute;

    width:300px;

    height:300px;

    border-radius:50%;

    background:
    rgba(216,168,140,.08);

    top:-150px;

    right:-100px;
}

.license-cta-box span{

    display:block;

    letter-spacing:.3em;

    color:#D5A28A;

    font-size:13px;

    margin-bottom:20px;
}

.license-cta-box h2{

    font-family:'Shippori Mincho',serif;

    font-size:clamp(28px,3vw,48px);

    line-height:1.8;

    color:#4A433F;

    margin-bottom:25px;
}

.license-cta-box p{

    color:#666;

    line-height:2;

    margin-bottom:40px;
}

.license-cta-box a{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    min-width:280px;

    height:60px;

    border-radius:999px;

    background:#D8A88C;

    color:#fff;

    text-decoration:none;

    transition:.4s;
}

.license-cta-box a:hover{

    background:#C89477;

    transform:translateY(-3px);
}


/* ========================================
SP
======================================== */

@media(max-width:768px){

    .license-hero{

        min-height:550px;
    }

    .license-hero h1{

        font-size:30px;
    }

    .license-worry,
    .license-feature,
    .license-flow,
    .license-cta{

        padding:90px 0;
    }

    .worry-grid,
    .feature-grid{

        grid-template-columns:1fr;

        gap:20px;
    }

    .feature-card{

        padding:35px 25px;
    }

    .flow-item{

        padding:30px 25px;
    }

    .license-cta-box{

        padding:60px 25px;
    }

    .license-cta-box h2{

        font-size:28px;
    }

    .license-cta-box a{

        width:100%;
    }
}
/* ========================================
COURSE PRICE
======================================== */

.course-price-section{

    background:#fff;
}

.course-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:30px;

    margin-top:70px;
}

.course-card{

    background:#fff;

    border-radius:36px;

    padding:50px 40px;

    position:relative;

    text-align:center;

    box-shadow:
    0 20px 60px rgba(0,0,0,.06);

    transition:.4s;
}

.course-card:hover{

    transform:translateY(-10px);
}

.course-step{

    display:inline-block;

    font-size:12px;

    letter-spacing:.2em;

    color:#D5A28A;

    margin-bottom:25px;
}

.course-card h3{

    font-family:'Shippori Mincho',serif;

    font-size:28px;

    line-height:1.7;

    color:#4A433F;

    margin-bottom:25px;
}

.course-desc{

    color:#666;

    line-height:2;

    min-height:140px;
}

.course-price{

    font-size:42px;

    font-weight:700;

    color:#4A433F;

    margin:30px 0 15px;
}

.course-note{

    color:#888;

    line-height:1.9;
}

.course-exam{

    margin-top:20px;

    padding-top:20px;

    border-top:1px solid #eee;

    font-size:14px;

    color:#777;
}
.featured{

    border:2px solid #D5A28A;

    transform:scale(1.03);
}

.course-badge{

    position:absolute;

    top:-12px;

    right:25px;

    background:#D5A28A;

    color:#fff;

    padding:8px 18px;

    border-radius:30px;

    font-size:12px;

    letter-spacing:.15em;
}
@media(max-width:768px){

    .course-grid{

        grid-template-columns:1fr;

    }

    .course-card{

        padding:35px 25px;
    }

    .course-price{

        font-size:34px;
    }

}