.richesse-sub {
    padding-top: 155px
}

.richesse-sub .m {
    display: none
}

@media(max-width: 768px) {
    .richesse-sub .m {
        display:block
    }
}

.richesse-sub .tablet {
    display: none
}

@media(max-width: 1024px) {
    .richesse-sub .tablet {
        display:block
    }
}

@media(max-width: 1280px) {
    .richesse-sub {
        padding-top:100px
    }
}

@media(max-width: 768px) {
    .richesse-sub {
        padding-top:80px
    }
}

.richesse-sub .program-main {
    position: relative
}

.richesse-sub .program-main br.m {
    display: none
}

@media(max-width: 768px) {
    .richesse-sub .program-main br.m {
        display:block
    }
}

.richesse-sub .program-main .bg {
    max-height: 618.75px;
    width: 60%;
    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
}

@media(max-width: 768px) {
    .richesse-sub .program-main .bg {
        aspect-ratio:960 / 533;
        width: 100%
    }
}

.richesse-sub .program-main .program-desc {
    text-align: center;
    margin-bottom: 73px
}

@media(max-width: 1280px) {
    .richesse-sub .program-main .program-desc {
        margin-bottom:45px
    }
}

@media(max-width: 768px) {
    .richesse-sub .program-main .program-desc {
        margin-bottom:40px
    }
}

.richesse-sub .program-main .program-desc img {
    width: 37%;
    max-width: 262px
}

.richesse-sub .program-main .program-desc>strong {
    display: block;
    font-size: 47px;
    letter-spacing: -0.05em;
    line-height: 1.31em;
    font-weight: 700;
    color: #00154d;
    margin-top: 1.17em
}

@media(max-width: 1280px) {
    .richesse-sub .program-main .program-desc>strong {
        font-size:38px
    }
}

@media(max-width: 768px) {
    .richesse-sub .program-main .program-desc>strong {
        font-size:22px
    }
}

.richesse-sub .program-main .program-desc p {
    font-size: 34px;
    letter-spacing: -0.05em;
    line-height: 1.47em;
    color: #0e0e0e;
    margin-top: .85em
}

@media(max-width: 1280px) {
    .richesse-sub .program-main .program-desc p {
        font-size:26px
    }
}

@media(max-width: 768px) {
    .richesse-sub .program-main .program-desc p {
        font-size:15px
    }
}

.richesse-sub .program-main .program-desc p strong {
    font-weight: 700
}

.richesse-sub .info {
    padding: 110px 0 150px
}

@media(max-width: 1280px) {
    .richesse-sub .info {
        padding:80px 0 110px
    }
}

@media(max-width: 768px) {
    .richesse-sub .info {
        padding:50px 0 80px
    }
}

.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: 700;
    font-size: 38px;
    line-height: 1.47em
}

@media(max-width: 1280px) {
    .richesse-sub .info .text strong {
        font-size:30px
    }
}

@media(max-width: 768px) {
    .richesse-sub .info .text strong {
        font-size:22px
    }
}

.richesse-sub .info .text .point-list {
    margin-top: 80px;
    display: flex;
    align-items: stretch;
    justify-content: center
}

@media(max-width: 1280px) {
    .richesse-sub .info .text .point-list {
        margin-top:60px;
        flex-wrap: wrap;
        position: relative;
        justify-content: flex-start
    }
}

.richesse-sub .info .text .point-list li {
    width: 25%;
    box-sizing: border-box;
    position: relative;
    height: 320px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center
}

@media(max-width: 1280px) {
    .richesse-sub .info .text .point-list li {
        width:50%;
        height: 280px;
        border-right: 1px solid #a28160;
        border-bottom: 1px solid #a28160
    }
}

@media(max-width: 768px) {
    .richesse-sub .info .text .point-list li {
        height:180px
    }
}

.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%
}

@media(max-width: 1280px) {
    .richesse-sub .info .text .point-list li + li::after {
        display:none
    }
}

@media(max-width: 1280px) {
    .richesse-sub .info .text .point-list li:nth-child(2n) {
        border-right:0
    }
}

@media(max-width: 1280px) {
    .richesse-sub .info .text .point-list li:last-child,.richesse-sub .info .text .point-list li:nth-last-child(2):nth-child(odd) {
        border-bottom:0
    }
}

.richesse-sub .info .text .point-list li .thumb {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 112px;
    transition: all .3s ease
}

@media(max-width: 768px) {
    .richesse-sub .info .text .point-list li .thumb {
        height:63px
    }
}

.richesse-sub .info .text .point-list li .thumb img {
    max-width: 100%;
    max-height: 100%
}

@media(max-width: 768px) {
    .richesse-sub .info .text .point-list li .thumb img {
        max-width:70%
    }
}

.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: 22px;
    line-height: 1.4em;
    letter-spacing: -0.05em;
    color: #0e0e0e;
    margin-top: .98em;
    height: 4.2em
}

@media(max-width: 1280px) {
    .richesse-sub .info .text .point-list li p {
        font-size:20px;
        height: auto
    }
}

@media(max-width: 768px) {
    .richesse-sub .info .text .point-list li p {
        font-size:14px;
        margin-top: 1.42em
    }
}

.richesse-sub .info .text .point-list li p em {
    font-style: normal;
    font-weight: 700
}

.richesse-sub .curation {
    padding-bottom: 180px
}

@media(max-width: 1280px) {
    .richesse-sub .curation {
        padding-bottom:120px
    }
}

@media(max-width: 768px) {
    .richesse-sub .curation {
        padding-bottom:80px;
        overflow: hidden
    }
}

.richesse-sub .curation .sec-header {
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center
}

.richesse-sub .curation .sec-header img {
    width: 37%;
    max-width: 262px
}

@media(max-width: 1280px) {
    .richesse-sub .curation .sec-header img {
        max-width:180px
    }
}

@media(max-width: 768px) {
    .richesse-sub .curation .sec-header img {
        max-width:122px
    }
}

.richesse-sub .curation .sec-header h3 {
    display: block;
    font-size: 38px;
    letter-spacing: -0.05em;
    line-height: 1.31em;
    font-weight: 700;
    color: #00154d;
    margin-top: 1.47em
}

@media(max-width: 1280px) {
    .richesse-sub .curation .sec-header h3 {
        font-size:30px
    }
}

@media(max-width: 768px) {
    .richesse-sub .curation .sec-header h3 {
        font-size:22px
    }
}

.richesse-sub .curation .sec-header p {
    font-size: 27px;
    letter-spacing: -0.05em;
    line-height: 1.55em;
    color: #0e0e0e;
    margin-top: .45em
}

@media(max-width: 1280px) {
    .richesse-sub .curation .sec-header p {
        font-size:20px
    }
}

@media(max-width: 768px) {
    .richesse-sub .curation .sec-header p {
        font-size:15px
    }
}

.richesse-sub .curation .sec-header p em {
    font-weight: 700
}

@media(max-width: 768px) {
    .richesse-sub .curation .curation-slide {
        width:264px;
        margin: 0 auto;
        overflow: visible
    }
}

.richesse-sub .curation .curation-list {
    margin-top: 80px;
    display: flex;
    align-items: stretch;
    justify-content: center;
    flex-wrap: wrap;
    gap: 6%
}

@media(max-width: 768px) {
    .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 2.15vw;
    box-sizing: border-box
}

@media(max-width: 768px) {
    .richesse-sub .curation .curation-list .swiper-slide {
        padding:0
    }
}

.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
}

@media(max-width: 1280px) {
    .richesse-sub .curation .curation-list .curation-item .text {
        padding:30px 20px
    }
}

.richesse-sub .curation .curation-list .curation-item .text strong {
    font-weight: 700;
    font-size: 27px;
    color: #00154d;
    letter-spacing: -0.1em
}

@media(max-width: 1280px) {
    .richesse-sub .curation .curation-list .curation-item .text strong {
        font-size:20px
    }
}

@media(max-width: 768px) {
    .richesse-sub .curation .curation-list .curation-item .text strong {
        font-size:20px
    }
}

.richesse-sub .curation .curation-list .curation-item .text p {
    color: #0e0e0e;
    font-size: 23px;
    line-height: 1.23em;
    letter-spacing: -0.02em;
    margin-top: 1em;
    opacity: 0;
    transition: opacity .3s ease-in-out
}

@media(max-width: 1280px) {
    .richesse-sub .curation .curation-list .curation-item .text p {
        font-size:18px
    }
}

@media(max-width: 768px) {
    .richesse-sub .curation .curation-list .curation-item .text p {
        font-size:14px
    }
}

.richesse-sub .curation .curation-list .curation-item:hover .bg {
    opacity: 0
}

.richesse-sub .curation .curation-list .curation-item:hover .text p {
    opacity: 1
}

.richesse-sub .insight {
    margin: 150px auto;
    position: relative;
    height: 750px;
    box-sizing: border-box;
    overflow: hidden;
    display: flex;
    align-items: center;
    border-radius: 20px
}

@media(max-width: 1280px) {
    .richesse-sub .insight {
        margin:180px auto;
        height: 580px
    }
}

@media(max-width: 768px) {
    .richesse-sub .insight {
        margin:90px auto
    }
}

.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
}

@media(max-width: 768px) {
    .richesse-sub .insight .bg::after {
        display:block
    }
}

.richesse-sub .insight .text {
    text-align: center;
    padding: 0 60px
}

@media(max-width: 768px) {
    .richesse-sub .insight .text {
        padding:0 20px
    }
}

.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
}

@media(max-width: 1280px) {
    .richesse-sub .insight .text strong em {
        font-size:36px
    }
}

@media(max-width: 768px) {
    .richesse-sub .insight .text strong em {
        font-size:27px
    }
}

@media(max-width: 1280px) {
    .richesse-sub .insight .text strong {
        font-size:30px
    }
}

@media(max-width: 768px) {
    .richesse-sub .insight .text strong {
        font-size:22px;
        color: #fff
    }
}

.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
}

@media(max-width: 1280px) {
    .richesse-sub .insight .text p {
        font-size:20px
    }
}

@media(max-width: 768px) {
    .richesse-sub .insight .text p {
        font-size:15px;
        color: #fff
    }
}

.richesse-sub .program-desc-2 {
    display: flex;
    align-items: center
}

@media(max-width: 1280px) {
    .richesse-sub .program-desc-2 {
        display:flex;
        align-items: center;
        flex-direction: column;
        justify-content: center;
        gap: 50px
    }
}

.richesse-sub .program-desc-2>* {
    width: 50%
}

@media(max-width: 1280px) {
    .richesse-sub .program-desc-2>* {
        width:100%;
        padding: 0
    }
}

.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
}

@media(max-width: 1280px) {
    .richesse-sub .program-desc-2 .text {
        padding:0 !important
    }
}

.richesse-sub .program-desc-2 .text img {
    display: block;
    width: 37%;
    max-width: 262px
}

@media(max-width: 768px) {
    .richesse-sub .program-desc-2 .text img {
        width:122px;
        max-width: unset
    }
}

.richesse-sub .program-desc-2 .text strong {
    display: block;
    font-weight: 700;
    color: #00154d;
    letter-spacing: -0.05em;
    line-height: 1.28em;
    font-size: 38px;
    margin-top: 1.47em
}

@media(max-width: 1280px) {
    .richesse-sub .program-desc-2 .text strong {
        font-size:30px
    }
}

@media(max-width: 768px) {
    .richesse-sub .program-desc-2 .text strong {
        font-size:22px
    }
}

.richesse-sub .program-desc-2 .text div {
    font-size: 21px;
    font-weight: 400;
    color: #0e0e0e;
    letter-spacing: -0.02em;
    margin-top: 1.37em;
    line-height: 1.55em;
    word-break: keep-all
}

@media(max-width: 1280px) {
    .richesse-sub .program-desc-2 .text div {
        font-size:17px
    }
}

@media(max-width: 768px) {
    .richesse-sub .program-desc-2 .text div {
        font-size:15px
    }
}

.richesse-sub .program-desc-2 .text div span {
    font-weight: 700
}

.richesse-sub .program-desc-2 .img img {
    display: block;
    width: 100%
}

@media(max-width: 1280px) {
    .richesse-sub .program-desc-2 .img img {
        max-width:700px;
        margin: 0 auto;
        width: 100%
    }
}

@media(max-width: 768px) {
    .richesse-sub .program-desc-2 .img img {
        max-width:700px;
        margin: 0 auto;
        width: 100%
    }
}

.richesse-sub .other-program {
    background-color: rgba(255,255,255,0.5);
    margin: 150px auto 0;
    padding: 90px 0;
    text-align: center
}

@media(max-width: 1280px) {
    .richesse-sub .other-program {
        margin:110px auto 0
    }
}

@media(max-width: 768px) {
    .richesse-sub .other-program {
        margin:85px auto 0;
        padding: 40px 0
    }
}

.richesse-sub .other-program .sec-header {
    margin-bottom: 35px
}

.richesse-sub .other-program .sec-header h3 {
    display: block;
    color: #0e0e0e;
    font-size: 33px;
    font-weight: 700
}

@media(max-width: 1280px) {
    .richesse-sub .other-program .sec-header h3 {
        font-size:25px
    }
}

@media(max-width: 1280px) {
    .richesse-sub .other-program .sec-header {
        margin-bottom:27px
    }
}

@media(max-width: 768px) {
    .richesse-sub .other-program .sec-header {
        margin-top:20px
    }
}

@media(max-width: 768px) {
    .richesse-sub .other-program .program-slide {
        width:264px;
        margin: 0 auto;
        overflow: visible
    }
}

.richesse-sub .other-program .program-list {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    flex-wrap: wrap
}

@media(max-width: 768px) {
    .richesse-sub .other-program .program-list {
        flex-direction:column;
        align-items: center
    }
}

.richesse-sub .other-program .program-list .swiper-slide {
    padding: 0 2.15vw;
    box-sizing: border-box
}

@media(max-width: 768px) {
    .richesse-sub .other-program .program-list .swiper-slide {
        padding:0
    }
}

.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: 250px;
    max-width: 100%
}

@media(max-width: 1280px) {
    .richesse-sub .other-program .program-list .swiper-slide .thumb {
        width:220px
    }
}

@media(max-width: 768px) {
    .richesse-sub .other-program .program-list .swiper-slide .thumb {
        width:85%
    }
}

.richesse-sub .other-program .program-list .swiper-slide .text p {
    text-align: center;
    margin-top: .94em;
    font-size: 25px;
    line-height: 1.33em;
    font-weight: 500;
    color: #2c1501;
    letter-spacing: -0.075em
}

@media(max-width: 1280px) {
    .richesse-sub .other-program .program-list .swiper-slide .text p {
        font-size:20px
    }
}

.richesse-sub .inquiry {
    margin: 80px 0
}

@media(max-width: 768px) {
    .richesse-sub .inquiry {
        margin:45px 0
    }
}

.richesse-sub .inquiry .row {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 25px
}

@media(max-width: 768px) {
    .richesse-sub .inquiry .row {
        gap:20px;
        flex-direction: column
    }
}

.richesse-sub .inquiry .row p {
    font-weight: 500;
    color: #0e0e0e;
    font-size: 33px;
    letter-spacing: -0.02em
}

@media(max-width: 1280px) {
    .richesse-sub .inquiry .row p {
        font-size:27px
    }
}

@media(max-width: 768px) {
    .richesse-sub .inquiry .row p {
        font-size:22px
    }
}

.richesse-sub .inquiry .row a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: #c0b7ad;
    height: 60px;
    border-radius: 30px;
    padding: 0 27px 0 35px;
    gap: 14px
}

@media(max-width: 1280px) {
    .richesse-sub .inquiry .row a {
        height:50px
    }
}

@media(max-width: 768px) {
    .richesse-sub .inquiry .row a {
        height:45px;
        gap: 10px;
        padding: 0 22px 0 30px
    }
}

.richesse-sub .inquiry .row a span {
    font-size: 27px;
    color: #fff;
    font-weight: 700
}

@media(max-width: 1280px) {
    .richesse-sub .inquiry .row a span {
        font-size:22px
    }
}

@media(max-width: 768px) {
    .richesse-sub .inquiry .row a span {
        font-size:20px
    }
}

.richesse-sub .inquiry .row a img {
    width: 30px;
    height: auto
}

@media(max-width: 1280px) {
    .richesse-sub .inquiry .row a img {
        width:25px
    }
}

@media(max-width: 768px) {
    .richesse-sub .inquiry .row a img {
        width:20px
    }
}
