.richesse-sub {
    padding-top: 125px;
}
.richesse-sub .m {
    display: none
}
.richesse-sub .tablet {
    display: none
}

/* Program Main */
.richesse-sub .program-main {
    position: relative
}
.richesse-sub .program-main br.m {
    display: none
}
.richesse-sub .program-main .bg {
    width: 70%;
    aspect-ratio: 56 / 31;
    background-position: center top;
    background-size: cover;
    background-repeat: no-repeat;
    overflow: hidden;
    border-radius: 20px;
    box-shadow: 5px 5px 10px rgba(0,0,0,0.1);
    margin: 0 auto
}
.richesse-sub .program-main .program-desc {
    text-align: center;
    margin-bottom: 73px
}
.richesse-sub .program-main .program-desc img {
    width: 37%;
    max-width: 230px;
}
.richesse-sub .program-main .program-desc>strong {
    display: block;
    font-size: 30px;
    letter-spacing: -0.05em;
    line-height: 1.31em;
    font-weight: 500;
    color: #00154d;
    margin-top: 1.17em
}
.richesse-sub .program-main .program-desc>strong em{
    font-weight:700;
}
.richesse-sub .program-main .program-desc p {
    font-size: 22px;
    letter-spacing: -0.05em;
    line-height: 1.47em;
    color: #0e0e0e;
    margin-top: .85em
}
.richesse-sub .program-main .program-desc p strong {
    font-weight: 700
}

/* Info */
.richesse-sub .info {
    padding: 80px 0 120px;
}
.richesse-sub .info .text strong {
    display: block;
    text-align: center;
    background: linear-gradient(138deg,#0e0d01 0,#38271f 20%,#2f0006 50%,#3f0205 70%,#2c1501 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    word-break: keep-all;
    font-weight: 500;
    font-size: 30px;
    line-height: 1.47em
}
.richesse-sub .info .text strong em{
    font-weight:700;
}
.richesse-sub .info .text .point-list {
    margin-top: 80px;
    display: flex;
    align-items: stretch;
    justify-content: center
}
.richesse-sub .info .text .point-list li{
    width: 25%;
    box-sizing: border-box;
    position: relative;
    height: 230px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center
}
.richesse-sub .info .text .point-list li + li::after {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translate(-50%,-50%);
    background-color: #a28160;
    width: 1px;
    height: 100%
}
.richesse-sub .info .text .point-list li .thumb {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 75px;
    transition: all .3s ease
}
.richesse-sub .info .text .point-list li .thumb img {
    max-width: 100%;
    max-height: 100%
}
.richesse-sub .info .text .point-list li:hover .thumb {
    transform: translateY(-15px)
}
.richesse-sub .info .text .point-list li p {
    text-align: center;
    font-size: 20px;
    line-height: 1.4em;
    letter-spacing: -0.05em;
    color: #0e0e0e;
    margin-top: .98em;
    height: 4.2em
}
.richesse-sub .info .text .point-list li p em {
    font-style: normal;
    font-weight: 700
}

/* Curation */
.richesse-sub .curation {
    padding-bottom: 180px
}
.richesse-sub .curation .sec-header {
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center
}
.richesse-sub .curation .sec-header img {
    max-width: 200px;
}
.richesse-sub .curation .sec-header h3 {
    display: block;
    font-size: 30px;
    letter-spacing: -0.05em;
    line-height: 1.31em;
    font-weight: 700;
    color: #00154d;
    margin-top: 1em;
}
.richesse-sub .curation .sec-header p {
    font-size: 20px;
    letter-spacing: -0.05em;
    line-height: 1.55em;
    color: #0e0e0e;
    margin-top: .45em
}
.richesse-sub .curation .sec-header p em {
    font-weight: 700
}
.richesse-sub .curation .curation-list {
    margin-top: 40px;
    display: flex;
    align-items: stretch;
    justify-content: center;
    flex-wrap: wrap;
    gap: 6%
}
.richesse-sub .curation .curation-list .swiper-slide {
    padding: 0 2.15vw;
    box-sizing: border-box
}
.richesse-sub .curation .curation-list .curation-item {
    width: 100%;
    position: relative;
    aspect-ratio: 797 / 733;
    background-color: #f0eaea;
    border-radius: 20px;
    overflow: hidden
}
.richesse-sub .curation .curation-list .curation-item .bg {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    transition: opacity .3s ease-in-out;
    max-width: unset;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover
}
.richesse-sub .curation .curation-list .curation-item .text {
    position: absolute;
    z-index: 2;
    width: 100%;
    left: 0;
    top: 0;
    height: 100%;
    padding: 50px 30px;
    box-sizing: border-box
}
.richesse-sub .curation .curation-list .curation-item .text strong {
    font-weight: 700;
    font-size: 22px;
    color: #00154d;
    letter-spacing: -0.1em
}
.richesse-sub .curation .curation-list .curation-item .text p {
    color: #0e0e0e;
    font-size: 18px;
    line-height: 1.23em;
    letter-spacing: -0.02em;
    margin-top: 1em;
    opacity: 0;
    transition: opacity .3s ease-in-out
}
.richesse-sub .curation .curation-list .curation-item:hover .bg {
    opacity: 0
}
.richesse-sub .curation .curation-list .curation-item:hover .text p {
    opacity: 1
}

/* Insight */
.richesse-sub .insight {
    margin: 150px auto;
    position: relative;
    height: 750px;
    box-sizing: border-box;
    overflow: hidden;
    display: flex;
    align-items: center;
    border-radius: 20px
}
.richesse-sub .insight .bg {
    position: absolute;
    left: 0;
    top: 0;
    background: transparent url(/img_up/shop_pds/richesse/images/sub/insight_bg.png) no-repeat right top/cover;
    width: 100%;
    height: 100%
}
.richesse-sub .insight .bg::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background-color: rgba(0,0,0,0.45);
    display: none
}
.richesse-sub .insight .text {
    text-align: center;
    padding: 0 60px
}
.richesse-sub .insight .text strong {
    position: relative;
    color: #361400;
    font-size: 37px;
    font-weight: 700;
    line-height: 1.3em
}
.richesse-sub .insight .text strong em {
    display: block;
    font-size: 50px;
    font-weight: 500;
    font-family: 'Adobe Garamond Pro',sans-serif !important
}
.richesse-sub .insight .text p {
    font-size: 25px;
    line-height: 1.44em;
    font-weight: 500;
    color: #361400;
    letter-spacing: -0.02em;
    margin-top: 1.2em
}

/* Program Desc 2 */
.richesse-sub .program-desc-2 {
    display: flex;
    align-items: center
}
.richesse-sub .program-desc-2>* {
    width: 60%
}
.richesse-sub .program-desc-2 .img{
    width: 40%;
}
.richesse-sub .program-desc-2 .text {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    box-sizing: border-box;
    padding: 0 60px
}
.richesse-sub .program-desc-2 .text img {
    display: block;
    width: 37%;
    max-width: 200px;
}
.richesse-sub .program-desc-2 .text strong {
    display: block;
    font-weight: 500;
    color: #00154d;
    letter-spacing: -0.05em;
    line-height: 1.28em;
    font-size: 30px;
    margin-top: 1em;
}
.richesse-sub .program-desc-2 .text strong em{
    font-weight:700;
}
.richesse-sub .program-desc-2 .text div {
    font-size: 20px;
    font-weight: 400;
    color: #0e0e0e;
    letter-spacing: -0.02em;
    margin-top: 1.37em;
    line-height: 1.55em;
    word-break: keep-all
}
.richesse-sub .program-desc-2 .text div span {
    font-weight: 700
}
.richesse-sub .program-desc-2 .img img {
    display: block;
    width: 100%
}

/* Other Program */
.richesse-sub .other-program {
    background-color: rgba(255,255,255,0.5);
    margin: 150px auto 0;
    padding: 80px 0;
    text-align: center
}
.richesse-sub .other-program .sec-header {
    margin-bottom: 35px
}
.richesse-sub .other-program .sec-header h3 {
    display: block;
    color: #0e0e0e;
    font-size: 28px;
    font-weight: 700
}
.richesse-sub .other-program .program-list {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    flex-wrap: wrap
}
.richesse-sub .other-program .program-list .swiper-slide {
    padding: 0 2.15vw;
    box-sizing: border-box
}
.richesse-sub .other-program .program-list .swiper-slide a {
    display: block
}
.richesse-sub .other-program .program-list .swiper-slide .thumb {
    position: relative;
    aspect-ratio: 1 / 1;
    margin: 0 auto;
    overflow: hidden;
    border-radius: 100%;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    width: 190px;
    max-width: 100%
}
.richesse-sub .other-program .program-list .swiper-slide .text p {
    text-align: center;
    margin-top: .94em;
    font-size: 22px;
    line-height: 1.33em;
    font-weight: 500;
    color: #2c1501;
    letter-spacing: -0.075em
}

/* Inquiry */
.richesse-sub .inquiry {
    margin: 50px 0;
}
.richesse-sub .inquiry .row {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 25px
}
.richesse-sub .inquiry .row p {
    font-weight: 500;
    color: #0e0e0e;
    font-size: 25px;
    letter-spacing: -0.02em
}
.richesse-sub .inquiry .row a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: #c0b7ad;
    height: 48px;
    border-radius: 30px;
    padding: 0 27px 0 35px;
    gap: 14px
}
.richesse-sub .inquiry .row a span {
    font-size: 19px;
    color: #fff;
    font-weight: 700
}
.richesse-sub .inquiry .row a img {
    width: 21px;
    height: auto
}


/* ===== 1400px ===== */
@media(max-width: 1400px) {
    .richesse-sub {
        padding-top: 100px
    }

    /* Program Main */
    .richesse-sub .program-main .program-desc {
        margin-bottom: 45px
    }
    .richesse-sub .program-main .program-desc>strong {
        font-size: 28px;
    }
    .richesse-sub .program-main .program-desc p {
        font-size: 22px;
    }

    /* Info */
    .richesse-sub .info {
        padding: 80px 0 110px
    }
    .richesse-sub .info .text strong {
        font-size: 25px;
    }
    .richesse-sub .info .text .point-list {
        margin-top: 50px;
        flex-wrap: wrap;
        position: relative;
    }
    .richesse-sub .info .text .point-list li {
        width: 25%;
        max-width:230px;
        padding: 25px 0;
        box-sizing: border-box;
    }
    .richesse-sub .info .text .point-list li p {
        font-size: 20px;
    }

    /* Curation */
    .richesse-sub .curation {
        padding-bottom: 120px
    }
    .richesse-sub .curation .sec-header img {
        max-width: 180px
    }
    .richesse-sub .curation .sec-header h3 {
        font-size: 30px
    }
    .richesse-sub .curation .sec-header p {
        font-size: 20px
    }
    .richesse-sub .curation .curation-list .curation-item .text {
        padding: 30px 20px
    }
    .richesse-sub .curation .curation-list .curation-item .text strong {
        font-size: 20px
    }
    .richesse-sub .curation .curation-list .curation-item .text p {
        font-size: 18px
    }

    /* Insight */
    .richesse-sub .insight {
        margin: 180px auto;
        height: 580px
    }
    .richesse-sub .insight .text strong em {
        font-size: 36px
    }
    .richesse-sub .insight .text strong {
        font-size: 30px
    }
    .richesse-sub .insight .text p {
        font-size: 20px
    }

    /* Program Desc 2 */
    
    .richesse-sub .program-desc-2 .text strong {
        font-size: 30px
    }
    .richesse-sub .program-desc-2 .text div {
        font-size: 17px
    }
 
    /* Other Program */
    .richesse-sub .other-program {
        margin: 90px auto 0;
        padding: 50px 0;
    }
    .richesse-sub .other-program .sec-header h3 {
        font-size: 22px;
    }
    .richesse-sub .other-program .sec-header {
        margin-bottom: 27px
    }
    .richesse-sub .other-program .program-list .swiper-slide .thumb {
    }
    .richesse-sub .other-program .program-list .swiper-slide .text p {
        font-size: 18px;
    }

    /* Inquiry */
    .richesse-sub .inquiry .row p {
        font-size: 22px;
    }
    .richesse-sub .inquiry .row a {
        height: 42px;
    }
    .richesse-sub .inquiry .row a span {
        font-size: 18px;
    }
    .richesse-sub .inquiry .row a img {
        width: 19px;
    }
}

/* ===== 1024px ===== */
@media(max-width: 1024px) {
    .richesse-sub .tablet {
        display: block
    }
    .richesse-sub .program-main .program-desc img{
        max-width: 200px;
    }
    .richesse-sub .program-main .program-desc>strong{
        font-size: 22px;
    }
    .richesse-sub .program-main .program-desc p{
        font-size: 18px;
    }
    .richesse-sub .info{
        padding-bottom: 60px;
    }
    .richesse-sub .info .text strong{
        font-size: 22px;
    }
    .richesse-sub .info .text .point-list li p{
        font-size: 18px;
    }
    .richesse-sub .curation .sec-header h3{
        font-size: 22px;
    }
    .richesse-sub .curation .sec-header p{
        font-size: 18px;
    }
    .richesse-sub .program-desc-2 .text div{
        font-size: 18px;
    }
    .richesse-sub .curation .curation-list .curation-item .text p{
        font-size: 16px;
    }
    .richesse-sub .curation .curation-list .curation-item .text strong{
        font-size: 18px;
    }
    .richesse-sub .curation .curation-list .curation-item{
        aspect-ratio:  1 / 1;
    }
}


/* ===== 768px ===== */
@media(max-width: 768px) {
    .richesse-sub {
        padding-top: 80px
    }
    .richesse-sub .m {
        display: block
    }

    /* Program Main */
    .richesse-sub .program-main br.m {
        display: block
    }
    .richesse-sub .program-main .bg {
        aspect-ratio: 960 / 533;
        width: 100%
    }
    .richesse-sub .program-main .program-desc {
        margin-bottom: 40px
    }
    .richesse-sub .program-main .program-desc>strong {
        font-size: 22px
    }
    .richesse-sub .program-main .program-desc p {
        font-size: 15px
    }

    .richesse-sub .program-desc-2 {
        display: flex;
        align-items: center;
        flex-direction: column;
        justify-content: center;
        gap: 50px
    }
    .richesse-sub .program-desc-2>* {
        width: 100%;
        padding: 0
    }
    .richesse-sub .program-desc-2 .text {
        padding: 0 !important
    }
    .richesse-sub .program-desc-2 .text strong {
        font-size: 30px
    }
    .richesse-sub .program-desc-2 .text div {
        font-size: 17px
    }
    .richesse-sub .program-desc-2 .img img {
        max-width: 700px;
        margin: 0 auto;
        width: 100%
    }

    /* Info */
    .richesse-sub .info {
        padding: 50px 0;
    }
    .richesse-sub .info .text strong {
        font-size: 19px;
    }
    .richesse-sub .info .text .point-list li {
        width: calc(100% / 3);
        height: auto;
        position: relative;
        padding: 20px 10px;
        word-break: keep-all;
    }
    .richesse-sub .info .text .point-list li .thumb {
        height: 63px
    }
    .richesse-sub .info .text .point-list li .thumb img {
        max-width: 70%
    }
    .richesse-sub .info .text .point-list li p {
        font-size: 14px;
        margin-top: 1.42em
    }

    /* Curation */
    .richesse-sub .curation {
        padding-bottom: 60px;
        overflow: hidden
    }
    .richesse-sub .curation .sec-header img {
        max-width: 122px
    }
    .richesse-sub .curation .sec-header h3 {
        font-size: 22px
    }
    .richesse-sub .curation .sec-header p {
        font-size: 15px
    }
    .richesse-sub .curation .curation-slide {
        width: 264px;
        margin: 0 auto;
        overflow: visible
    }
    .richesse-sub .curation .curation-list {
        margin-top: 50px;
        flex-direction: column;
        align-items: center;
        gap: 35px
    }
    .richesse-sub .curation .curation-list .swiper-slide {
        padding: 0
    }
    .richesse-sub .curation .curation-list .curation-item .text strong {
        font-size: 20px
    }
    .richesse-sub .curation .curation-list .curation-item .text p {
        font-size: 14px
    }

    /* Insight */
    .richesse-sub .insight {
        margin: 90px auto
    }
    .richesse-sub .insight .bg::after {
        display: block
    }
    .richesse-sub .insight .text {
        padding: 0 20px
    }
    .richesse-sub .insight .text strong em {
        font-size: 27px
    }
    .richesse-sub .insight .text strong {
        font-size: 22px;
        color: #fff
    }
    .richesse-sub .insight .text p {
        font-size: 15px;
        color: #fff
    }

    /* Program Desc 2 */
    .richesse-sub .program-desc-2 .text img {
        width: 122px;
        max-width: unset
    }
    .richesse-sub .program-desc-2 .text strong {
        font-size: 22px
    }
    .richesse-sub .program-desc-2 .text div {
        font-size: 15px
    }
    .richesse-sub .program-desc-2 .img img {
        max-width: 700px;
        margin: 0 auto;
        width: 100%
    }

    /* Other Program */
    .richesse-sub .other-program {
        margin: 85px auto 0;
        padding: 40px 0
    }
    .richesse-sub .other-program .sec-header {
        margin-top: 20px
    }
    .richesse-sub .other-program .program-slide {
        width: 264px;
        margin: 0 auto;
        overflow: visible
    }
    .richesse-sub .other-program .program-list {
        flex-direction: column;
        align-items: center
    }
    .richesse-sub .other-program .program-list .swiper-slide {
        padding: 0
    }
    .richesse-sub .other-program .program-list .swiper-slide .thumb {
        width: 85%
    }

    /* Inquiry */
    .richesse-sub .inquiry {
        margin: 45px 0
    }
    .richesse-sub .inquiry .row {
        gap: 20px;
        flex-direction: column
    }
    .richesse-sub .inquiry .row p {
        font-size: 20px;
    }
    .richesse-sub .inquiry .row a {
        /* height: 45px; */
        gap: 10px;
        padding: 0 22px 0 30px
    }
    .richesse-sub .inquiry .row a span {
        /* font-size: 20px; */
    }
    .richesse-sub .inquiry .row a img {
        /* width: 20px; */
    }
}
